При абстрактной эмуляции выставления запроса IRQ на шину Q-Bus (без отдельной эмуляции запроса вектора) я учитываю (и всем рекомендую учитывать) следующие аппаратные параметры:
Код:
bool SetIRQ(
word uVector,
word uBR_Line,
word uBR_LinePosition,
bool bClearedByInit = true
)
Если за то время, пока прерывания в процессоре были запрещены, успело поступить несколько запросов прерываний от разных устройств, то после разрешения обработки прерываний - первым обсуживается тот запрос, который пришёл по линии BR с большим номером и от того устройства, которое расположено на этой линии BR ближе к процессору.
Это уже вопросы к самой организации эмулятора, они выходят за рамки вопроса поправки C2