С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Замакетил часть схемы из этой темы . Та схема ,что на рассыпухе , без SRAM . Т.е. замену ВК28/38 . Эксперементирую на Сябре с модулем ЦПУ i8080 , прошивка ПЗУ от Алексея Морозова с поддержкой его SD контроллера. Но сделал немного по своему . Сигналы управления шинами сделал в формате Z80 (/MREQ,/IORQ,/RD,/WR). Сигналы INTA\ и INT по схеме Mick .
Запускал схему по этапно . Сначала запустил работу с портами , потом занялся прерываниями .
С портами по IN/OUT работает без нареканий .
А вот с прерываниями засада . Когда подключил сигнал INT к процессору , компьютер перестал стартовать . В процессе выяснил , в прошивке по адресу #C006 код FB т.е. команда EI . Это в самом начале инициализации разрешаются прерывания , проц плучает запрос на прерывание , прыгает на #0038 , а там случайный код и привет нирвана .
Разомкнул сигнал INT (подтянут резистором к 0) . Подал питание комп стартует .Через Монитор по адресу #0038 прописываю F3 (DI - запретить прерывания ) и C9 . Замыкаю INT . Компьютер работает , жму RESET также работает . Значит прерывание отрабатывает .
Так как после сброса прерывания запрещены , исправил в ПЗУ код FB на 00 . Стартует штатно . Но оболочка SD контроллера теперь ч\б . Плохо помню , но кажется где то упоминалось про детект цвета на Специалисте по по команде EI . Видимо это тот случай .
Делаю вывод : надо либо аппаратно отключать прерывания , либо править существующий софт . Мне попалась первая программа и самая важная . Сколько ещё таких программ будет ?
Когда запускали и прокачивали Эрика я делал управление прерываниями ВКЛ\ВЫКЛ через прорт #FB .
Что скажите ?
Чтобы INT работал совместно с восьмицветом, необходимо делать защелку на систему начального пуска, как, например, сделано в Экспрессе. EI появилась в ПЗУ вместе с восьмицветом, когда систему НП пересадили на INTE.
С уважением, Станислав.
В Сябре НП сделан именно через защёлку . И вывод INTE процессора не задействован . Прогонял другие программы , 8 цветов работают как и раньше . Проблема на данный момент с шелом SD контроллера .
Ах, вот оно что. Ну тогда проблема явно чисто софтовая.
Тогда уж логичнее не патчить патченое, а вернуть оригинальное журнальное ПЗУ, в котором изначально не было EI.
Да, это ivagor писал, что так определяет наличие восьмицвета. И если дело только в этом, то проблем пропатчить оболочку нет.
Полез в исходники оболочки, и конечно же нашёл вот это:
Код:setColorAutoDisable: lxi h, 49152 shld memchr8_1 mvi a, 251 sta memchr8_2 mvi a, 16 call memchr8 ; Сложение с константой 0 mov a, l ora h jnz l287 ; 5 asm { MVI A, 0C9h STA setColor l287: ret memchr8: sta memchr8_3 ; 2 asm { ; lda memchr8_3 mov d, a lda memchr8_2 lhld memchr8_1 memchr8_l1: ; *dest = *src cmp m rz inx h dcr d jnz memchr8_l1 xra a mov h, a mov l, a ret
Последний раз редактировалось CityAceE; 18.09.2025 в 21:28.
С уважением, Станислав.
Для протокола. Я использовал сравнение сигнатуры из пзу для определения варианта цвета в одной версии одной игрушки в качестве proof of concept. Я понимал и понимаю, что в качестве регулярного средства это порочный подход и больше я его не использовал, делал отдельные версии.
- - - Добавлено - - -
И я сейчас посмотрел, как делал детект в той игрушке. Там сильно отличается от того, что сделал Алексей Морозов и с большой вероятностью на современных клонах, у которых начальный пуск без бита ВВ55 и без INTE и даже без EI в пзу игрушка должна переключаться в 8-цветный режим.
CityAceE(19.09.2025)
Что то непонятное творится с нашей сортировочной. 23 числа в приложении пожаловался на непонятные задержки. 24 сентября сменили на Сортировку и опять зависон.
Вот не пойму что так - такое в первый раз происходит. Блин досада, вроде как платы и пришли в город, а получить не могу. Сразу вспоминается мультик про Печкина, посылка есть, а не отдам.![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)