PDA

Просмотр полной версии : Программная модель Intel 8080/КР580ВМ80А



svofski
24.08.2012, 17:53
Репост с: http://www.nedopc.org/forum/viewtopic.php?t=9980



Выложил в виде проекта исходники эмулятора I8080, которые являются сердцем моих эмуляторов РК. Благодаря помощи Вячеслава Славинского были выловлены все глюки, и сейчас тест 8080/8085 CPU Exerciser полностью проходит. В сборку включены еще тесты три теста. Все тесты прогоняются автоматически при сборке.

https://github.com/begoon/i8080-core

Старался сделать так, чтобы модуль процессора был максимально независим. В тестах можно посмотреть, как его "подключать" к аппаратуре.

Исходники полного эмулятора, работающего на Maximite, выложу скоро. Пришлось с начала глюки в процессоре вылавливать.

В целом идея максимально изоливать процессор появилась в процессе работы над тестами Exerciser'а. Так как можно запустить на любой машине, не надо ждать два часа. Все тесты у меня проходят секунд за 10.

P.S. Может кто сделает репост на zx.pk.ru. Там почему-то закрыта регистрация.

begoon
07.10.2012, 14:57
Теперь еще есть версия на JavaScript. Проходит все те же тесты, полностью -- i8080-js (http://github.com/begoon/i8080-js)

ivagor
07.10.2012, 15:23
Вы пишете, что в Вашем эмуляторе правильно отрабатывают exercizerы и для 8080 и для 8085. Судя и по i8080.c и по i8080.js команда ANA реализована как в 8080. Не могу понять, как все же проходит exercizer для 8085?

zebest
07.10.2012, 17:34
https://github.com/begoon/i8080-core
в кредитсах:

Bashrikia-2M and Radio-86RK on Altera DE1

на скорость конечно не влияет, но прикольное название Башкирии:)

begoon
08.10.2012, 13:14
Вы пишете, что в Вашем эмуляторе правильно отрабатывают exercizerы и для 8080 и для 8085. Судя и по i8080.c и по i8080.js команда ANA реализована как в 8080. Не могу понять, как все же проходит exercizer для 8085?
Нет, версия exeecizer, что использую я, имеет контрольные суммы только для КР580ВM80А. 8085 у меня не поддерживается ни в каком виде.

---------- Post added at 12:14 ---------- Previous post was at 12:10 ----------


https://github.com/begoon/i8080-core
в кредитсах:

на скорость конечно не влияет, но прикольное название Башкирии:)
Да, до вас никто не заметил. ;-) Увы, этот хедер расползся на много файлов, но поправить надо будет.

Pyk
06.07.2016, 10:49
begoon, заметил ошибку в сишном варианте: POP B/D/H должна выполняться 10 тактов, а не 11.

nzeemin
18.08.2016, 00:24
begoon, svofski, спасибо за i8080-core, успешно заиспользовал его при разработке эмулятора Интеллект-02: http://zx-pk.ru/threads/26864-emulyator-shakhmatnogo-kompyutera-intellekt-02.html

Единственное, в использовании i8080_disasm() был неочевидный момент что нужно обязательно чтобы в параметре text подавалась пустая строка -- лучше было бы поставить нолик в начале строки прямо в начале этой функции.