1 Отредактировано AlexBel (31-12-2017 17:20)

Тема: 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. Если, конечно, позволит время и не пропадёт интерес к таким экспериментам.

Возможно, это будет кому-нибудь интересно.

Алексей.

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=319&download=1

Post's attachments

Attachment icon 6502_emu_128.png 62.23 kb, 54 downloads since 2017-12-31