Здесь действительно верить FAQ на WOS. Соответственно, табличка с тактами работы ULA, которую я выписал выше тоже верна: задержки начинаются с такта #14335, первое чтение из видеопамяти на такте #14337. Такт, с которого видны чтения ULA через нечетный порт после 0x4000 и до 0x8000 -- это такт #14338 (разумеется), а не #14347, как говорит Ramsoft. (К слову, при такой реализации floatspy работает именно так, как сказано на страничке Ramsoft, т.е. просто ошиблись с подсчетом тактов.)
Насчет такта первого вывода на экран WOS определенно врет. У меня получилось, что ULA выводит первые точки из ячеек (0x4000)/(0x5800) на следующий такт после первых четырех тактов чтения ULA. Это уже похоже на какую-то логику.
Способ расчета величины задержки действительно один и тот же для памяти и портов. Условия и способы применения самих задержек разные. Причем задержки по памяти и портам расписаны раздельно, а задержки на дополнительных тактах M-циклов процессора смешаны с задержками по памяти. Хотя логика и причина у всех этих задержек одна и та же.





Ответить с цитированием