ATMega644 MSX


This project is MSX1 computer emulation on ATMega644 microcontroller. Only part of MSX1 hardware is emulated, video and sound are produced using the same integrated circuits as in real MSX1, but there are also some features that real MSX1 don't have. Loading programs from SD card is one of them. Some AVR microcontrollers like for example ATMega162 have nice feature (XMEM) where you can easily connect external SRAM, but unfortunately they don't have enough FLASH memory for this project. Because of that, I made simple RAM board where memory is accessed using only 12 AVR pins, 8 address/data and 4 control lines. This approach is slower than previously mentioned XMEM interface, but still fast enough and much faster than serial SRAM which would be simplest to connect.

Electronic schematics


Main board


RAM card


Video card


Audio card

Finished electronic circuits

All cards together


Cards inserted in the motherboard

In operation

The picture is in grayscale, because I used TMS9129NL which generates YPbPr signal. To have picture in color with TMS9129NL I would need to use two converters to capture video: YPbPr to RGB, and RGB to Composite/S-Video. I could also use TMS9118NL which already have composite output, but for it I didn't have exact crystal oscillator which need to be 10.738635 MHz.

Downloads

atmega644_msx1.hex  HEX file to burn into ATMega644 microcontroller
   Fuses: H=0x99 L=0xE0



This page has been visited 119 times since 2020-11-06