С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не нужно ничего сочинять из воздуха, есть же реверс всех кристаллов вроде как. Просто этот реверс ты в FPGA не запихаешь без дополнительной работы.
Читай УКНЦ отсутствие микросхемы. Камрад ZPilot делал замену на основе МК - пообщайся с ним.
УКНЦ, ДВК-3, Ленинград-1 (48 кб)
electroscat(07.06.2022)
Даже не знаю где спросить. Поэтому тут возможно даже подходящая тема.
Почитав документацию на процессор 1801ВМ2 - обнаружил что команда MTPS байтовая. То-есть якобы бесполезно писать что-то навроде mtps #600 мол она не "скушает" старший байт.
Но в дизассемблерном ПЗУ от УКНЦ именно такое и есть!
(код с http://www.emuverse.ru/wiki/%D0%A3%D...6_ROM_disasm_6)
Это как? Ошибка разработчика или что-то другое? Командой mtps можно перевести процессор в HALT-режим?Код:; Обработка выхода из пультового отладчика (УПР-C) 161206$:TST R4 ; Пультовый монитор работает под упр. ПП ? BMI 161034$ ; Нет CLR @#22550 MTPS #600 MOV @#7144,SP ; Восстановить стек режима УСТАНОВКА CLR R0 $MTPS$ ; PS = 0 $MTPC$ ; PC = 0
Шедевр портирования на УКНЦ - игра Highway Encounter
Эмуляторы: UKNCBTL, EmuStudio (респект авторам)
Да, команда MTPS действительно только байтовая, как и MFPS. Потому перевести процессор с помощью неё в HALT-режим невозможно, так же как и узнать с помощью MFPS, работает ли процессор в HALT-режиме.
Так что эту команду в системном ПЗУ можно считать ошибкой разработчика. А может так специально сделали для наглядности, ведь пультовый отладчик всегда работает в HALT-режиме.
BlaireCas(10.09.2022)
Шедевр портирования на УКНЦ - игра Highway Encounter
Эмуляторы: UKNCBTL, EmuStudio (респект авторам)
Ну это сделали для совместимости с другими процессорами. Так как адаптер локальной сети сделан на 1801ВП1-065, то загрузчик и тест могли взять с других мест. А эти общие места могли работать и на 1801ВМ3, там только MTPS #340. К тому же биты 5 и 6 реально присутствуют в PSW, только они ни на что не влияют.
Так же MTPS #340 есть и подпрограмме печати экрана, но она написана на Си.
КМК, с ВП1-65 это не связано
Просто принято писать именно MTPS #340, чтобы заведомо работало везде, да.
Еще момент заметил. Если в периферийном процессоре при обработке прерывания от клавиатуры не считать каким-либо образом регистр (tst @#177702 хотя-бы) - то почему-то потом контроллер клавиатуры (возможно это одна из этих микросхем) "портится".
Сделал свое прерывание на клавиатуру, пытался поначалу просто определять факт того что оно сработало (что-то нажали). Ничего не читая из регистра и выходя в RT-11. Получилось как-то "не очень", кнопки "зависли". (а в EmuStudio кстати пофиг, там не зависли, зависли на реале и unkcbtl)
Шедевр портирования на УКНЦ - игра Highway Encounter
Эмуляторы: UKNCBTL, EmuStudio (респект авторам)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)