Цитата Сообщение от Patron Посмотреть сообщение
Для реализации прерываний портов СА и С2 нужно модифицировать не только функцию void CFirstMemoryController::SetPortWord(WORD address, WORD word), но и void CFirstMemoryController::SetPortByte(WORD address, BYTE byte), которая в данный момент выглядит довольно бледно:

Код:
void CFirstMemoryController::SetPortByte(WORD address, BYTE byte)
{
    WORD word = (address&1)?((WORD)byte) << 8:(WORD)byte;
 ....................
}
Тут все значительно проще - 1801ВП1-065 сигнал WTBT не обрабатывает, при байтовой записи в 1801ВМ2 неиспользуемый байт устанавливается нулями, потому и есть такая строчка: WORD word = (address&1)?((WORD)byte) << 8:(WORD)byte;, которая делает целое слово, присутствующее на линиях адреса-данных. Достаточно вызвать SetPortWord с этим словом.