Тема: 6502 - эмуляция эмуляции эмуляции
Привет всем.
Решил посмотреть, как микроконтроллер ATmega128 справится с эмуляцией 8-битных процессоров. Паять пока что лень, поэтому воспользовался схемным симулятором Proteus. Модель контроллера работает на 16МГц, скорость виртуального порта терминала 19200, память используется внешняя, обращение к ней организовано программно. Использовано софтядро процессора M6502, взятое отсюда: https://fms.komkon.org/EMUL8/ Компилятор - GCC в составе WinAVR. Бейсик - Enhanced 6502 BASIC (https://github.com/Klaus2m5/6502_EhBASIC_V2.22), очень удобно сделан в плане исходников, легко адаптируется. Код Бейсика загружается в память с SD-карты. Конструкция получилась довольно тяжеловесной для используемого контроллера, однако, всё это как-то ворочается и функционирует.
Видео работы симулятора: https://yadi.sk/i/j9b0CaOo3R8WHG
Схемный симулятор Proteus симулирует работу контроллера ATmega128, который в свою очередь симулирует процессор 6502, в котором работает Бейсик, в котором выполняется программа... так и хочется добавить: "...в доме, который построил Джек" :)
В дальнейших планах запустить это дело на реальном железе. Возможно, опробую на контроллерах PIC32 и STM32. Также планирую запустить софтядро Z80 (взятое с того же ресурса, что и М6502) и на нём завести CP/M. Если, конечно, позволит время и не пропадёт интерес к таким экспериментам.
Возможно, это будет кому-нибудь интересно.
Алексей.