Здравствуйте!
Вот здесь описана схема WAIT для оригинальных Spectrum 48k и 128k/+2; судя по всему каждый не-M1 цикл доступа к памяти длиной более 3-х тактов (в т.ч. не-M1 цикл доступа к памяти с длиной 3 такта с последующим циклом внутренних операций) заставляет ULA рассматривать такты после 3-го по одному вплоть до следующего доступа к памяти (т.е. получается 3+1+1+...).
Где-то я видел схему WAIT для Spectrum +2A/+3 - там ULA (или что там вместо нее) уже рассматривает такие циклы или пары циклов полностью как один блок.
Но, например, как такие дела выглядят в Scorpion'е (в обычном режиме и в режиме turbo), и вообще в других клонах, например, в Ленинграде - я не знаю.
Просьба, если у кого есть информация по этой теме - делитесь
Если я не туда написал или тема уже была (не нашел, может не так искал), пожалуйста, ткните носом.
Спасибо
P.S. В приложении таблица с тактами и циклами для разных команд, в скобках указаны такты на данный цикл, затененные области - те, что ULA 48k рассматривает как блоки 3+1+1+...
За основу взята информация по ссылке выше, частично скорректирована в соответствии с информацией из книги "Микропроцессорный комплект Z80", а также в соответствии с вышеизложенным правилом (инструкция EX (SP), HL) и личным опытом.