Да уж, мощно я стормозил. Можно еще так сказать - команды в первой строке требуют 2 доступа к памяти, а во второй - 1, хотя может это не так важно, как то что они на 2 такта медленнее.
Вид для печати
Фишка в том, что в случае 5-ти тактовой команды три такта ожидания достаются следующей за ней команде, а в случае 7-ми тактовой - один такт самой команде (при выборке операнда).
Если продолжить сдвигать фазу начала теста, то там период 8 тактов:
spdtest - есть разница 5 и 7 тактовых
spdtest2 - нет разницы 5 и 7 тактовых
добавим еще nop - есть разница 5 и 7 тактовых
добавим еще nop - нет разницы 5 и 7 тактовых
...
Зависит от того, на какой байт 7-ми тактовой команды выпадает момент возникновения прерывания.
Я могу сделать у себя 100% как на реале в обоих случаях, но тогда видео неминуемо съезжает как было до улиточных исправлений.
После переделки системы прерываний я наблюдаю у себя какие-то глюки, связанные с тем, что необработанный запрос на прерывание так и висит, и срабатывает после разрешения прерываний. Однако запрос на прерывание через какое-то количество тактов снимается, и если за это время разрешения прерываний не было, то оно и не должно возникнуть. Никто не задавался вопросом, как долго активен сигнал INT?
---------- Post added at 01:58 ---------- Previous post was at 01:45 ----------
Разобрался, вроде. Запрос снимается запрещением прерываний, т.е. либо когда процессор начал обработку, либо по команде DI. О как.
Я в свое время пришел к такому же выводу. Запрос сбрасывается сигналом INTE.Цитата:
Разобрался, вроде. Запрос снимается запрещением прерываний, т.е. либо когда процессор начал обработку, либо по команде DI. О как.
Блин, с комбинацией Вектор+Z80 конфуз вышел, прерывания вообще пропали, пришлось сегодня опять обновить эмулятор на сайте.
Прогнал тесты скорости на своем векторе. Выложил в картотеку очередную версию Vector Speed Test от ivagor-а