Перебирая варианты загрузчика/сохранялки программ для ЮТа, решил разобраться с идеологией SD-модуля от Vinxru.
Но это пока оставлю в стороне, потому что при раскопках кода Монитора-Ф, в месте работы директивы R (чтение из ROM-диска, модуль Vinxru использует это) обнаружил ошибку в коде монитора. В результате из ромдиска мы можем прочитать не более 256 байт... Переход сделан с ошибкой.
Предлагаю исправить этот косяк, если мы ЮТ не забросим, то это наверняка пригодится. Нужно по адресу FA70 заменить байт 65 на 62. После этого мы сможем копировать из ромдиска любые массивы данных, в пределах 64 килобайт, конечно
Это может быть полезно для внешнего энергонезависимого ОЗУ, ROM-диска, SD-модуля "по мотивам Vinxru".
Вот что мне удалось накопать в дебрях ПЗУ, трассируя его в эмуляторе -
параметры самого порта - F8..FB,
регистр команд сидит в FB.
порт А (F8) - на чтение/запись данных,
порт В (F9) - младший байт адреса,
порт С (FА) - старший байт адреса.
Директива R соответствует такой же директиве в Радио-86РК, да там вообще почти весь Монитор тупо скопипастен, с поправками на железо.
R <from ROM addr>,<to ROM addr>,<from RAM addr>.
Исправленный Монитор-F можно взять отсюда, или самостоятельно поправить байт.



ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Ответить с цитированием


