Решил дисассемблировать одну игру (Buzzaw+), глянуть как реализован мультиколор.
Там огромный состав вот такого кода:
LD sp,nnnn 10
POP 10
POP 10
POP 10
EXX 4
POP 10
POP 10
POP 10
POP 10
LD sp,nnnn 10 94
PUSH 11
PUSH 11
PUSH 11
PUSH 11
EXX 4
PUSH 11
PUSH 11
LD sp,nnnn 10
PUSH 11
LD A,(IX+-n) 19
OUT (0xFE),A 11 121
Цифирки - такты выполнения.
Получается, что на вывод тратится 121 такт.
Но время, которое тратится на бордюр и горизонтальную синхру - 96 тактов.
http://www.zxdesign.info/horiztiming.shtml
На остальное время проц блокирован ULA, при выводе в медленную память или порты.
Что я неправильно понимаю??? Или возможна запись в порт во время вывода изображения, в фирменном спеке?