Lavr wrote:В общем - игрушка рабочая, и поиграться можно.
Вот только удручало меня, что некоторые функции работают не совсем так, как написано в
Мануале пользователя MPF-I.
MPF-1_Users_Manual весьма приличного качества, кстати, можно скачать по адресу:
https://electrickery.hosting.philpem.me ... Manual.pdf
Причем отличия в результате работы были у функций, завязанных на
немаскируемое прерывание NMI.
И, несмотря на то, что
постом выше я подробно
аппаратный механизм формирования NMI рассмотрел, и признал, что
нет в нём каких-либо изъянов, тем не менее, вот такую надпись -
SYS-SP - как это написано в
Мануале пользователя,
я так ни разу и не увидел...
SYS_SP.PNG
Но зато неоднократно увидел, что после вызова
NMI ОЗУ этой игрушки заполняется кодом
00 66, а это - адрес обслуживания
NMI и адрес возврата, если
NMI многократно вызывается на адресе
0066H.
Получалось так, что
модель Z80 в
Proteus реагирует не на
срез сигнала на входе NMI, а на его
низкий уровень,
вследствие этого, попав в результате
NMI на подпрограмму обслуживания
NMI по адресу
0066H, модель продолжает
снова и снова отрабатывать прерывание
NMI, заполняя стек адресом
0066H.
Чтобы проверить это пришлось в схему формирования
NMI добавить схемный костылик, суть работы которого заключалась
в том, что в текущем цикле прерывание
NMI будет точно обнаружено, и произойдёт его обслуживание, а в следующем цикле
в начале процедуры обслуживания
NMI по адресу
0066H - сигнал
/М1 точно сбросит запрос
NMI аппаратно.
И с этим костыликом я долгожданную надпись -
SYS-SP наконец-то увидел!
BestMPF-I.PNG
Также совершенно правильно, как в
Мануале, заработали и остальные функции, завязанные на немаскируемое прерывание
NMI!
Пропатченную версию модели
MPF-I выкладываю. Вот теперь она действительно полностью работоспособна!
MPF-I_D.zip
В архиве также разбор принципа работы
NMI z80, и как работает придуманный мной аппаратный "патч".
Также я оцифровал из
Мануала пользователя MPF-I несколько программ, чтобы быть уверенным в работоспособности игрушки.
Эти программы как раз можно загрузить по
RS-232, а можно и набрать с клавиатуры по оцифрованному описанию.
Пропатченная игрушка
MPF-I стала более интересной, а то порой непонятно было, что она делает-то...

You do not have the required permissions to view the files attached to this post.