Не имеет совершенно никакого смысла. УКНЦ столько сделали, что легче найти донора или вообще машину на замену.
Если уж говорить про ПЛИС, то надо пихать туда всю машину целиком, как это уже сделали с ДВК. Так сказать, для будущих поколений.
Вид для печати
Не нужно ничего сочинять из воздуха, есть же реверс всех кристаллов вроде как. Просто этот реверс ты в FPGA не запихаешь без дополнительной работы.
Читай УКНЦ отсутствие микросхемы. Камрад ZPilot делал замену на основе МК - пообщайся с ним.
Даже не знаю где спросить. Поэтому тут возможно даже подходящая тема.
Почитав документацию на процессор 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
Да, команда MTPS действительно только байтовая, как и MFPS. Потому перевести процессор с помощью неё в HALT-режим невозможно, так же как и узнать с помощью MFPS, работает ли процессор в HALT-режиме.
Так что эту команду в системном ПЗУ можно считать ошибкой разработчика. А может так специально сделали для наглядности, ведь пультовый отладчик всегда работает в HALT-режиме.
Ну это сделали для совместимости с другими процессорами. Так как адаптер локальной сети сделан на 1801ВП1-065, то загрузчик и тест могли взять с других мест. А эти общие места могли работать и на 1801ВМ3, там только MTPS #340. К тому же биты 5 и 6 реально присутствуют в PSW, только они ни на что не влияют.
Так же MTPS #340 есть и подпрограмме печати экрана, но она написана на Си.
КМК, с ВП1-65 это не связано :)
Просто принято писать именно MTPS #340, чтобы заведомо работало везде, да.
Еще момент заметил. Если в периферийном процессоре при обработке прерывания от клавиатуры не считать каким-либо образом регистр (tst @#177702 хотя-бы) - то почему-то потом контроллер клавиатуры (возможно это одна из этих микросхем) "портится".
Сделал свое прерывание на клавиатуру, пытался поначалу просто определять факт того что оно сработало (что-то нажали). Ничего не читая из регистра и выходя в RT-11. Получилось как-то "не очень", кнопки "зависли". (а в EmuStudio кстати пофиг, там не зависли, зависли на реале и unkcbtl)