Я могу предложить две вещи:
1) прогнать на своем процессоре 8080 Exerciser https://github.com/begoon/8080ex1 -- тест брутальный и выявляет любые неточности
2) сравнить свой код с кодом Begoon https://github.com/begoon/i8080-core...r/i8080.c#L172
Я могу предложить две вещи:
1) прогнать на своем процессоре 8080 Exerciser https://github.com/begoon/8080ex1 -- тест брутальный и выявляет любые неточности
2) сравнить свой код с кодом Begoon https://github.com/begoon/i8080-core...r/i8080.c#L172
Больше игр нет
parallelno(10.09.2024), rst(09.09.2024)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Спасибо! Если иначе найти не получится - буду пробовать.
Ещё такой вопрос:
При выполнении "теста CPU" из "Теста устройств" базового набора программ своим эмулятором я вижу значения измеренной производительности:
624тыс.оп и 749тыс.оп. Но вроде как память подсказывает, что на реальном Векторе результаты были: 623тыс.оп и 748тыс.оп.
Т.е. получается - что-то у меня выполняется слишком быстро? По идее - команды не должны, тогда бы разница была гораздо существеннее. Есть подозрение, что у меня установлена неверная длительность входа в прерывание. Я её задал равной длительности команды "RST 7". Но, возможно, нужно больше тактов добавить.
Может кто подсказать по длительности входа в прерывание на реальном "Вектор-06Ц"? (который без доработок, оригинальный Кишинёвский).
Или всё-таки мне память изменяет, и тест на реальном Векторе тоже мог показывать 624/749?
- - - Добавлено - - -
У меня свой. Я его ещё только пишу. Ему всего только месяц от роду.
Пока он ещё очень сырой. Ещё не приступал к эмуляции ВИ53 и вообще звука. Также пока плохо проработано маппированние клавиатуры. Займусь ими когда полностью выгребу все вопроосы по корректной эмуляции команд и работе разных программ.
Осталась одна pillars. Других неработающих больше не нашёл.
Но зато в моём эмуляторе уже более навороченный и удобный (на мой взгляд!) встроенный отладчик, чем в VV. Да простит меня автор VV. Тысяча извинений! Его эмулятор реально крут!.... за исключением встроенного отладчика.
Как более-менее допилю - поделюсь. Если конечно кому интересно.
Последний раз редактировалось rst; 09.09.2024 в 19:03.
ZEman(09.09.2024)
Не зная других деталей трудно подсказать. Вход в прерывание такая же инструкция, как и все остальные. Может быть дело в торможении процессора? У Вектора время каждого машинного цикла округляется вверх до чиста тактов, кратного четырем. За одно прерывание исполняется 59904 такта, 312 строк по 192 такта.
Больше игр нет
rst(09.09.2024)
Оп! А здесь можно подробнее? Почему 59904, а не 3e6/50=60000 ? Процессор останавливается сигналом прерывания на 96 тактов?
Наверное это можно почерпнуть из схемы, но.... долго разбираться. Поэтому буду благодарен за пояснения.
PS: Если так, то всё понятно: (96/6e4+1)*748 = ~749тыс.оп; и (96/6e4+1)*623 = ~624 тыс.оп
Как раз получаются мои показания. Спасибо!
Последний раз редактировалось rst; 09.09.2024 в 19:55.
rst, Pilars использует особенность реализации команды вычитания через сложение, т.е. i8080 на самом деле выполняет не вычитание, а сложение с числом в дополнительном коде и флаг дополнительного переноса при этом получается инвертированый, если сравнивать его с этой же командой SUB на i8086, там этот баг уже пофиксили.
Здесь можно скачать актуальные версии Virtual Vector (VV)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)