Не, там был ньюанс именно в эмуляторе - нужно было эмулировать особенность работы UART по прерыванию (по наступлению нового прерывания выталкивать из буфера поступившим символом старый символ, полученный в регистр UART в предыдущем цикле прерывания от COM-порта, но не прочитанный кодом Z80). Я еще и буферизировал все это по приему от Ком-порта, ну и не предусмотрел сразу.
Обновил эмулятор на сайте, в архиве и утилита com0com - создает виртуальные COM-порты, соединенные попарно виртуальным же нуль-модемным соединением (удобно для работы с эмулятором по RS-232 при помощи стандартных терминалок).
---------- Post added at 17:30 ---------- Previous post was at 17:23 ----------
Я всегда за.
Подобие такого режима есть - отключение ПЗУ/ВУ битом порта 0FBh схемы Z80 CARD.
Но при этом большинство устройств работавших в памяти оказываются "в тени", и для их использования приходится этим режимом туда-сюда щелкать, что есть потеря времени. Можно было бы продублировать доступ к этим ВУ и по IN/OUT (совместимо с Орион-ПРО, новые устройства продолжить в адресации).
Еще предложение: можно в режиме "F400..FFFF=ВУ/ПЗУ" открыть ОЗУ в областях F404..F4FF, F504..F5FF, F604..F6FF. Т.к. в 99% случаев обращение к ППА 580ВВ55 идет по адресам F400..F403, F500..F503, F600..F603. Получим малой кровью 756 байт ОЗУ в дефицитной F-области под всякие обработчики, буфера и т.д.
Почему я про это: все же обращение к ВУ как к памяти дает выигрыш по скорости (не менее 20-30%) за счет более короткой (чем по IN/OUT) косвенной адресации.
Оба варианта доработки памяти\ВУ могут быть реализованны одновременно - они практически независимы.
Поехал я в Хабаровск на 10 дней. Буду иногда заглядывать к вам!