Цитата Сообщение от Raydac
Бит 4 ZXPoly R1 (стр 9) отключает поступления NMI на выбранный процессор
"Бит 4 – установленным блокирует аппаратно приход на процессор модуля сигнал NMI. Установка данного бита фактически отключает ножку процессора от поступающих сигналов. Данный бит не имеет действия, если был сделан программный RESET и действует система считывания команды из внутренних регистров."
Да, это я видел... Но по поступлении первого NMI-прерывания, процессор-обработчик потратит около 20 тактов (довыполнение команды, CALL #66 :PUSH AF...) прежде чем успеет изменить состояние "бита 4 регистра ZXPoly R1". Так что, на мой взгляд - толку от отключения NMI нету, все равно не успеть...
Пример: эмуляция HDD. Понадобится перехват записи в регистр данных. Запись выполняется весьма быстрыми цепочками OUT-ов. Каким образом сделать так, чтобы ни байтика не потерялось?

Цитата Сообщение от Raydac
Да, идея понятна, но к сожалению введение каких то диапазонов эмулируемых портов неадекватно усложнит платформу
Можно ввести отключаемую карту маппинга. Отъест она в памяти 16 Кб (64 К портов, на запись и на чтение = 128к, на каждый по битику). Хотя, безусловно, это тоже усложнит систему. Но без подобной карты (да хоть фиксированной или в быстром флеше) смысла в перенаправлении портов я всё таки я не вижу.
Ведь чтобы проэмулировать даже самую простую перифирию процессор обработчик должен "служить прослойкой между портами и CPU0." для всех осталных портов, а это очень тяжело, а часто и невозможно. Как минимум, все бордюрные эффекты сразу умрут, beeper-овский звук тоже, и т.д.

BTW, каким образом узнать адрес порта в случае возникновения в процессоре-обработчике NMI или INT?