А ты в лог можеш добавить по каким адресам в момент обмена вертиться Z80 ?
Так гораздо проще было бы найти где затыкается, и что тырдос ожидала от ВГшки.
Процедедуры занимающиеся обменом находятся в файле wd93cmd.cpp
в частности
unsigned char WD1793::in(unsigned char port)
void WD1793:ut(unsigned char port, unsigned char val)
В какой состоянии у тебя флажек TR-DOS Traps ??
Добавлено через 3 минуты
И еще для верности отруби NoDelay




ut(unsigned char port, unsigned char val)
Ответить с цитированием