После сброса (если конечно при включении питания сигнал сброса подаётся необходимое количество тактов) прерывания запрещены, т.е. процессор не должен реагировать на сигнал INT. Команду DI там поставили наверное для того, чтобы запуск с адреса ноль не отличался от сброса. Если вторая команда читается по адресу 38h, то процессор выполнил первую команду как RST 7, т.е. на шине данных процессора видимо оказалось FF, а не то, что надо.
Действительно, даже если первый переход к 38 попробовать объяснить прерыванием (чисто гипотетически), то при начале обработки прерывания процессор 100% его запретит. И второй переход к 38 без EI/jmp/pchl/call/ret можно объяснить только rst 7 (да и времени между двумя 38 прошло очень мало). Интересно, что оба перехода к 38 имеют одинаковый паттерн адресов: 38 3A FF FF, потом адрес на 1 меньше предшествующего 38, потом адрес совпадает с предыдущим содержимым ШД
(FB)C3 (38)C3 (3A)D9 (FF)24 (FF)F0 (FA)5C (5C)45
(EB)C3 (38)C3 (3A)DB (FF)24 (FF)F0 (EA)32 (32)3B
Последний раз редактировалось ivagor; 14.01.2019 в 13:10.
Да, похоже что именно так. Перерезала дорожку от D18.9 (INT) на разъем, вместо сигнала подала землю, которая идет на нижнюю плату.
То есть, избавилась от прерываний. И вот
Видимо, из-за таймаутов неверных, процессор глотает данные, когда на ШД ничего нет. Байт 0FFh, это пустая шина.Код:Start 0000: (00)A2 (00)F3 (FE)C3 (FC)C3 (FA)C3 (F8)C3 (F6)C3 (F4)C3 (F2)C3 (F0)C3 (38)C3 (3A)D9 (FD)24 (8A)82 (FD)E6 (00)82 0010: (FF)47 (AB)0E (03)01 (FD)E3 (EF)FF (EF)FF (FF)23 (FF)D3 (82)82 (EE)FF (EC)FF (EA)FF (E8)FF (E6)FF (E5)F3 (E3)C3
Первая команда DI не читается, начало вектора прерывания 7 "буксует" на первом байте команды JMP.
На девятую попытку, процессор получает сигнал READY вовремя (в момент нахождение байта из ПЗУ, а не пустой шины),
и читает следующие два байта команды JMP - D9, 24.
Похоже на правду?
wtf
Процессор запустился, светодиоды гаснут, до теста ОЗУ программа доходит. Плату (новодельную верхнюю) я не трогала. Причина - была вставлена оригинальная заводская РТ2 DD17 и процессор ожил.
Теперь, нужна еще нормальная DD16, чтобы ожили и мультиплексоры. Новость скорее хорошая, так как возможно новоделы верхних плат жизнеспособны.
Но без обоих верных РТ2 (DD16, DD17) шанса запустить их нет.
DD17 управляет синхронизацией с процессором (READY), а DD16 работой ОЗУ.
wtf
Итак, отписываюсь.
Верхняя плата новодела успешно запущена. Работает с заводской нижней платой от Хобби, и заводскими РТ2.
На новодельной плате не было никаких проблем, все отлично. Если изготовитель п/п не допустит ошибок, то все будет хорошо, так как герберы в порядке.
Для успешного запуска нужны две 556РТ2 (DD16, DD17) с правильной прошивкой!
Еще раз, скажем огромное спасибо людям, благодаря которым этот новодел появился.
P. S. По содержимому этого сообщения, должно быть понятно, что все предыдущие сообщения о поисках неисправностей на плате можно игнорировать.
После того, как я выпаяла и вторую заводскую ртшку (DD16), и вставила ее в панельку новодела, вопрос исчез сам собой.
wtf
Здорово. Значит нужно разбираться с прошивками РТ2.
Назревает вопрос, а как бы эти рт считать бы? А то чует мое сердце не пойдут те что у меня в комплекте к плате лежат...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)