Atari 2600 in a Game Cartridge

[PJ Evans] had a ruined game cartridge lying around, just waiting for a project. As Activision’s F-14 Tomcat game for the Atari 2600 console, it seemed ripe for use as a project enclosure of some sort. When he came across a couple of 9-pin D-sub joystick ports, he had an idea. He realized his Rasperry Pi Zero could fit inside the cartridge. Add a power button, TV color selector, difficulty switch, as well as select and reset buttons, and you have an emulator.

[PJ]’s Pi Zero had more than enough GPIO pins to accommodate all of those buttons and switches plus a bunch more for the joysticks. Why not put the emulator inside a game cartridge? In terms of software [PJ] looked into Adafruit’s Retro Gaming with Raspberry Pi resource, which has tons of suggestions for setting up game emulators. He decided on the RetroPie operating system to help him map out all of the pins, with Stella doing the actual Atari 2600 emulation.

Thanks, @seb_ly]!

20 thoughts on “Atari 2600 in a Game Cartridge

    1. You spelt “Pi Zero Stock” wrong.

      It is a nice project. Although I would have been more impressed to see it done in FPGA. Using a Pi to emulate such a simple game console seem like total overkill.

      All the same it’s impressive in it’s own right.

      1. It’s actually a difficult console to emulate. It doesn’t say much in concrete terms, but my 486-100 wouldn’t run Stella at anything like full speed, more like quarter-speed.

        Maybe they’ve optimised it since then. But the fact that you have to emulate the video display, as well as getting perfect timing for every piece of hardware, means it needs MUCH more power than, say, a Spectrum or NES.

        It’s the same for some other very early machines. In terms of emulatability, the requirements start off high for the oldest machines, then go down with machines from the early 80s, then start to climb again.

        1. The Atari was probably less than one MIP and the Pi is probably a number of GIPs so you have a processor of over 1000 times the speed of the emulated system. The time granularity is being chewed up by the Pi’s Operating System rather than the emulation itself.

          That’s why I suggested FPGA as it’s would simple with FPGA but one big square chip in the middle of a board isn’t at all retro or visually impressive.

          The other advantage to FPGA would be that you can spit out VGA instead of PAL or NTSC. A lot of the software (games) for the Atari used a technique called something like “racing the beam” and that is hard on a software emulated solution but easy in a hardware emulation.

          I never had one of these and I just looked at the schematic. It’s actually a very simple machine with only !!! 128 Bytes of RAM.

          Your right though, that the style of video generation used is very expensive in terms of time granularity for software emulation.

          1. > A lot of the software (games) for the Atari used a technique called something like “racing the beam” and that is hard on a software emulated solution but easy in a hardware emulation.

            For the 2600, all software did this. The display hardware didn’t have any way to store any information like a sprite, map, or framebuffer.

            Have a good read of the problems in fixing ET for a lot of detail on how this worked, http://www.neocomputer.org/projects/et/#fixfall

  1. Curious if paddles function properly in Stella with his 9-pin connectors. I tried using my old Stelladapters with real paddles on a RetroPie and was not getting good response (though it’s possible this is due to the paddles not functioning properly on a real Atari, I don’t have one to test with)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s