MA2601: Atari VCS 2600 for the MiST fpga … almost

Source: http://upload.wikimedia.org/wikipedia/commons/b/b9/Atari-2600-Wood-4Sw-Set.jpg

During my search for easy portable hdl sources for the MiST I recently stumbled upon the TCA2601 which is based on the Papilio Arcade port of the A2601 done by Retromaster. Since the Turbo Chameleon 64 and the MiST are similar devices I thought of giving it a try.
The port was more or less assigning the right pins and using the input methods for the MiST. The first launch already was a success because I saw Pitfall on the screen 🙂

Pitfall with wrong colors and osd test

Unfortunately the game didn’t looked like the screen shots found in the web. It had less colors and looked more like a dark yellow/white composition. I couldn’t find the reason and contacted Till about it and after a short time he found out that the Atari VCS had some external switches one of them for B/W or Color mode … dooh! 🙂
He found some other smaller issues which I committed to the repository as well.
Pitfall and other 2k/4k games were playable but had to be compiled into the core.

A2601 running Pitfall

California Games intro

California Games

The next step will be to implement a OSD to choose the games from the sd card and upload it to the fpga. Till is cooking something together already and hopefully we have an usable Atari 2600 port soon with some limitations:

  1. Bank switching: The originial source had the bank switching schemes of the games on flash hardcoded into the source. That won’t work when we want to choose dynamicly games from sd card. So the first step will be to decide the bss depending on the size of the catridge. This will only support the Atari bank switching schemes for now.
  2. The current cpu doesn’t support the so called illegal opcodes.

The source code can be found here: https://github.com/wsoltys/tca2601
The binaries will be here: http://code.google.com/p/mist-board/source/browse/trunk/bin/cores/a2600

Leave a Reply

Your email address will not be published. Required fields are marked *