Сообщение от
syd
denisv, сделал свою прошивку трдос. дампы стали грузится, но все-равно не сохраняются.
подумав выловил еще один баг. в прошивке out (c), a по адресу 0x2a53 трогать не надо.
кстати моя версия работает медленнее, что и следовало ожидать.
По адресу 2a53 всё таки следует менять, но с проверкой, а менять потому, что прямой вывод в порт, люди могли использовать для получения прямого доступа к WD1772 (ВГ93).
Я, скорее всего, изменил т.к. о 128к даже и не задумывался. А под рукой была книга о дизассемблере ПЗУ TRDOS:
Код:
Адрес #2A41. Подпрограмма определения текущего ПЗУ. Устанавливает #5C01 и подключает ПЗУ 48-го бейсика. Для работы подпрограмма должна быть перемещена в любое место ОЗУ. Можно использовать также с адреса:
#2A53 для прямого вывода в любой порт.
#2A41 LD A,(#3B5) ;берем байт из ПЗУ
CP #F3 ;это #F3?
LD A,#10 ;если да, то это ПЗУ 48-го бейсика
JR Z,#2A4B
XOR A ;иначе это ПЗУ 128-го бейсика
#2A4B LD (#5C01),A ;установка номера ПЗУ
LD BC,#7FFD ;адрес порта конфигурации системы
LD A,#10 ;ПЗУ 48-го бейсика
#2A53 OUT (C),A ;установка ПЗУ
RET ;возврат