In the past month I’ve worked on a little project I came up with in December: I wanted to build a game-cartridge for the Atari 2600 which is based on a SRAM and where the ROM-data is read from a SD-card.
Stuff that is working:
- Browsing the SD-card by four buttons and selecting a ROM image on a 1.8″ SainSmart LCD.
- Running the image after loading.
- Updating the Arduino-software by removing the Arduino-board and plugging it into a FTDI adapter.
Stuff that is not working:
- No bankswitching, this means no images >4KiB.
- The LCD backlight is flickers when loading stuff from the SD-card. As this only happens when plugged into the Atari I think it’s a power issue.
- Random crashes from time to time. I assume a not-so-good soldering spot and/or mechanical instabilities because of the form factor.
- Does not work on an unmodified Atari 2600. That’s because I did not find a way to reset the Atari CPU from the module slot and the data and address-lines are not usable during upload. I did a small mod which enables me to reset the Atari JR by switching it to TV-channel 3 and back to channel 2 again.
How does it work:
- The Arduino uses SPI for the SD-card and the display.
- The address and data lines are separated from the Atari with three 74LS244.
- The ROM data is uploaded by using a MCP23017 I2C IO-expander and some of the IO-lines from the Arduino.
- After upload and validation of the SRAM contents the data and address lines are reconnected and the lines from MCP and Arduino enter tristate.
- A 47LS00 NAND handles the R/W, CE and other control lines of the 6264 SRAM
I have no idea! I just had the idea back in December and all the parts already laying around…
I won’t use it to play games as I own a proper number of modules and I’m certainly to lazy to learn stuff like batari basic
Take a look at the schematic if you like: