Извините, что встреваю, но обсуждение прерываний и обращений к портам для меня выглядит странно.
Для прерываний по минимуму
1. Надо сгенерировать INT
2. В цикле INTERRUPT_M1 (идентифицируем по слову состояния) "чипсет" должен выдать процу FF (не обязательно, но это самое простое).
3. Гасим INT
Детали желающие могут обсуждать, но принципиальных проблем нет.
Что касается обращений к портам по out (можно и z80 приплести).
Если анализировать слово состояния для выявления например INTERRUPT_M1, то никто не заставляет еще выявлять и обращения к портам по IN/OUT и как-то их менять. Тут все может остаться как раньше.
И для z80 при большом желании можно сделать эмуляцию обращений к памяти по адресу (старший байт=номер порта, младший байт=номер порта). Для этого надо выявлять обращения к портам и в этих циклах дублировать (через мультиплексор) в старший байт ША младший байт ША.
Надо ли это? Зависит от целей, но в принципе все возможно, хотя и потребует изменений/доработок схемы, в некоторых случаях значительных.
[свернуть]