Цитата Сообщение от nzeemin Посмотреть сообщение
Titus, а как вы заполняете HR0/HR1 при обращении к регистрам эмуляции 174000..177677 ?
Код прерывания в BIOS для чтения сначала смотрит в HR0 и потом в HR1, для записи сначала в HR1 потом HR0.
Но отлаживая эмулятор, я понял что всегда надо писать адрес в HR0.
По ПЛМ получается, что EF0 устанавливается при любом обращении к регистру эмуляции, а EF1 только при операции записи. Там ещё довольно приличная схема удержания этих сигналов, очень много условий.

- - - Добавлено - - -

Цитата Сообщение от nzeemin Посмотреть сообщение
Очень странно.
По словам @xolod, по схеме, перехват (эмуляция) регистров работает только в диапазоне от 174000 до 177677 (в отличие от того что написано в ТО).
Здесь на форуме уже обсуждалось что если самые верхние регистры ловить, то эмулятор не будет работать.
Но я вижу, что эмулятор @Titus реагирует на обращение к адресу $FFF0:
nzeemin, а чтобы решить этот вопрос, то надо посмотреть таблицу эмулируемых регистров в памяти, а также на реальной машине запустить IOSCAN. Да, я тоже видел в EmuStudio много разных регистров в конце памяти. Кстати IOSCAN лучше запустить на голой системе, чтобы лишние процессы не подгрузились, прервать исполнение STARTS.COM при загрузке двойным нажатием УПР+C.