ivagor, мы с DDp уже тестировали выполнение некоторых команд, я делал на скорую руку несколько тестов, тоже с выводом на магнитофон.
В принципе, результаты похожи:
NOP; XRA A - 6,42
MOV R,R - 7,13
XTHL - 32,08
IN; OUT - 16,04
MOV A,M (RAM) - 11,45
MOV M,A (RAM) - 12,47
MOV A,M; MOV M,A (ROM) - 8,91
Если DDp не против, можно выложить ссылку на тесты.
Результаты, в принципе, совпадают, я только брал меньше команд, зато дополнительно тестировал MOV A,M и M,A с операндом в ПЗУ.
- - - Добавлено - - -
Сейчас в эмуляторе алгоритм такой: на каждый цикл обращения к ОЗУ добавляется 2,5 такта, к портам - 1 такт.
- - - Добавлено - - -
И еще: я пытался теоретически обосновать задержки при обращении к ОЗУ, учитывая циклы обращения видеоконтроллера к ОЗУ в 400 нс через каждые 800 нс и предполагая, что цикл обращения процессора может начаться в произвольный момент времени, а также минимальную длительность цикла процессора в 9/8 от цикла видеоадаптера. У меня получилось в среднем 2,25. Для более точного соответствия реалу цифру пришлось увеличить до 2,5 - видимо, сказываются влияния циклов друг на друга, а может быть и просто напутал в своих прикидках либо опирался на неверные исходные данные...




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