Quote:
Как я понимаю, для того, чтобы нормально стартовать, на ПК-01 сделали так, что при включенном экране (т.к. в порте C2 при старте скорее всего 00) по адресам 0000-3FFF включено ПЗУ. Оттуда выполняется jmp в неотключаемую копию ПЗУ C000-FFFF, и фрагмент
E00D mvi a, 2
E00F out 0C2h
включает "стандартную" конфигурацию. Потом временное включение ВОЗУ (а заодно и ПЗУ) выполняется по необходимости. А в rom03 предполагается, что при включенном экране по адресам 0000-3FFF ОЗУ.
Неужели я сильно ошибаюсь и при включенном ВОЗУ по адресам 0000-3FFF в стандартном ПК-01 не ПЗУ? Думаю это уже давно проверено и где-нибудь описано.
P.S. Вобще-то модификация для запуска rom03 может быть и чуть другой - достаточно разрешить запись в основное ОЗУ по адресам 0000-3FFF при включенном экране. А читается пусть из ПЗУ. Возможно так сделано и на оригинальном ПК-01, тогда для rom03 даже и не нужно ничего модифицировать
Как я понимаю, все выглядело несколько иначе. Вот
реплика, где мы об этом упоминали. В стандартном ПК-01 при включенном ВОЗУ обращение к ячейке 0x000 приводило на самом деле к обращению к ячейке 0x8000. После включения ОЗУ забито нулями, так что после небольшой пробежки по NOP'ам ЦП благополучно добирался до ПЗУ. Более толково про этот процесс надо расспросить
sadfsdfsdaf, он такой, он все знает.
Quote:
А в rom03 предполагается, что при включенном экране по адресам 0000-3FFF ОЗУ.
Меня этот момент муляет ужасно. Как я уже где-то писал, на своем ПК-02, где была произведена соответствующая доработка, я адаптировал Mon90 под размещение в ПЗУ по адресам 0xC000-0xC7FF... Прошить ПЗУ тогда не получилось, а вот свои труды я мог отправить в Луцк одному товарищу. С другой стороны, rom03 мы получили из Польши... Да и директивы несколько разнятся. Какой-то подозрительный ребус!