Inside The Atari 2600

The Atari 2600 was an extremely popular yet very simple game console back in the 1970s. They sold, apparently, over 30 million of them, and, of course, these things broke. We’d get calls from friends and — remember, back then normal people weren’t computer savvy — nine times out of ten, we’d ask them to swap the controllers to show them it was a bad controller, and problem solved. But if you did have to open one up, it was surprising how little there was inside, as [Steve] notes in his recent teardown.

The bulk of the circuit board was switches, the power supply, and a TV modulator if you remember those. The circuit board was a tiny thing with a shrunk-down 6502, a 6532 RIOT chip, and a custom chip called a TIA. If you are familiar with those chips, you might wonder if the TIA had any memory in it. It didn’t. Nearly all the ROM and RAM for the game lived in the cartridge itself. Sure, the RIOT has 128 bytes of memory, but that’s not much.

Continue reading “Inside The Atari 2600”

Combat Gets A Computer Controlled Opponent

If you ever spent some time playing on the Atari 2600, there’s an excellent chance you went through a few rounds of Combat. The two-player warfare game not only came with the console but was actually one of the more technically impressive titles for the system, offering nearly 30 variations of the core head-to-head gameplay formula.

But unfortunately, none of those modes included single player. That is, until [Nick Bild] got on the case. While some concessions had to be made, he has succeeded where the original developers failed, and added a computer-controlled enemy to Combat. What’s more, the game still runs on the stock 2600 hardware — no emulator tricks required. The true aficionados can marvel at the snippets of source code he’s provided, but the rest of us can just watch the video below the break and marvel at the accomplishment.

If you’ve never worked on such a constrained system, this might not seem like a big deal. But [Nick] does a great job of explaining not just what he did, but why it was so hard to pull off in the first place. For example, the console has no video buffer, so everything needs to be done during the VBLANK period where the game doesn’t need to be drawing to the screen. Unfortunately that didn’t give him enough free cycles, so he had to split his code up to run across three frames instead of just one. That mean’s the original game logic is now only running 27 frames out of the 30 per second, but he says you can’t really tell in practice.

That said, some cuts had to be made. He needed to remove the surprisingly complex engine sounds to free up some resources, and had to bump the 2 KB cartridge up to 4 KB to hold the new code and data. Turns out the 2600 could handle far larger cartridges via bank switching though, so this wasn’t actually a problem.

Given its age and limited capabilities compared to more modern consoles, you might think the Atari 2600 would be little more than a footnote in gaming history. But there’s a devoted group of folks who enjoy squeezing everything they can out of the system’s 45-year-old hardware which leads to labors of love like this one.

Continue reading Combat Gets A Computer Controlled Opponent”

A PCB carrying several Atari 2600 chips

Hackaday Prize 2022: The Baffatari 2600 Adds Atari Compatibility To Retrocomputers

Like today’s Intel-AMD duopoly, the market for home computer CPUs in the 1970s and ’80s was dominated by two players: Zilog with their Z80, and MOS Technology with their 6502 processor. But unlike today, even if two computers had the same CPU, it didn’t mean the two were software compatible: differences in memory layout, video interfaces, and storage media meant that software developed for an Atari 2600 wouldn’t run on an Apple I, despite the two sharing the same basic CPU architecture.

[Augusto Baffa]’s latest modern retrocomputer design, the Baffatari 2600, cleverly demonstrates that the difference between those two computers really is only skin-deep. The Baffatari is a plug-in board that adds Atari 2600 functionality to [Augusto]’s earlier Baffa-6502 system, which was designed to be Apple I-compatible. Since both the Apple and the Atari are powered by 6502 CPUs, only a few peripherals need to be swapped to change one into the other.

Sitting on the Baffatari board are two chips essential to the Atari 2600’s architecture: the 6532 RAM I/O Timer (RIOT) that contains the RAM and joystick interface, and the Television Interface Adapter (TIA) that handles the graphics and audio. These chips connect to the Baffa-6502’s system bus, enabling the main CPU to communicate with them and run Atari 2600 software titles. In the video embedded below, you can see several classic games running on the Baffa system.

The basic idea is similar to this RC2014 plug-in board that enables a Z80-based retrocomputer to run MSX and Colecovision titles. In fact, [Augusto] also built such a board for his earlier Z80 project.

Continue reading “Hackaday Prize 2022: The Baffatari 2600 Adds Atari Compatibility To Retrocomputers”

Video Gaming Like It’s 1983: New Game Cartridges From Atari

If you remember anything from 1983, it’s likely to be some of the year’s popular culture highlights, maybe Return of the Jedi, or Michael Jackson’s Thriller. For anyone connected with the video gaming industry though, it’s likely that year will stick in the mind for a completely different reason, as the year of the infamous Great Video Games Crash. Overcapacity in the console market coupled with a slew of low quality titles caused sales to crash and a number of companies to go out of business, and the console gaming world would only recover later in the decade with the arrival of the Japanese 8-bit consoles from Nintendo and Sega. You might expect Atari to shy away from such a painful period of their history, but instead they are embracing it as part of their 50th anniversary and launching three never-released titles on cartridges for their 8-bit 2600 console.

Game footage from Aquaventure.
Game footage from Aquaventure.

The three games, Yars’ Return, Aquaventure, and Saboteur, are all unreleased titles from back in the day that never saw publication because of the crash, and are being released as limited edition specials through AtariXP, a new venture that the company says will offer “previously unreleased titles from Atari’s expansive library, rare-and-hard-to-find Atari IP physical media, and improved versions of classic games“. It’s fairly obviously an exercise in satisfying the collector’s market rather than one of video game publishing, but it will be interesting to see what emerges. In particular we hope someone will tear down one of these cartridges; will they find a set of old-school EPROMs inside or an EPROM emulator sporting a microcontroller and other 2020s trickery?

This is not of course the first time we’ve reported on collectable 2600 cartridges, but these ones haven’t spent 30 years in a landfill site.

Header image: Evan-Amos, Public domain.

Adding A Laser Blaster To Classic Atari 2600 Games With Machine Vision

Remember the pistol controller for the original Atari 2600? No? Perhaps that’s because it never existed. But now that we’re living in the future, adding a pistol to the classic games of the 2600 is actually possible.

Possible, but not exactly easy. [Nick Bild]’s approach to the problem is based on machine vision, using an NVIDIA Xavier NX to run an Atari 2600 emulator. The game is projected on a wall, while a camera watches the game field. A toy pistol with a laser pointer attached to it blasts away at targets, while OpenCV is used to find the spots that have been hit by the laser. A Python program matches up the coordinates of the laser blasts with coordinates within the game, and then fires off a sequence of keyboard commands to fire the blasters in the game. Basically, the game plays itself based on where it sees the laser shots. You can check out the system in the video below.

[Nick Bild] had a busy weekend of hacking. This was the third project write-up he sent us, after his big-screen Arduboy build and his C64 smartwatch.

Continue reading “Adding A Laser Blaster To Classic Atari 2600 Games With Machine Vision”

38 Years Later, The Atari 2600 Learns To Speak

Back in the early 1980s, there was a certain fad in making your computer produce something resembling human speech. There were several hardware solutions to this, adding voices to everything from automated telephone systems to video game consoles, all the way to Steve Jobs using the gimmick to introduce Macintosh to the world in 1984. In 1982, a software-based version of this synthesis was released for the Atari 8-bit line of computers, and ever since them [rossumur] has wondered whether or not it could run on the very constrained 2600.

Fast-forward 38 years and he found out that the answer was that yes, it was indeed possible to port a semblance of the original 1982 Software Automatic Mouth (or SAM) to run entirely on the Atari 2600, without any additional hardware. To be able to fit such a seemingly complicated piece of software into the paltry 128 bytes (yes, bytes) of RAM, [rossumur] actually uses an authoring tool in order to pre-calculate the allophones, and store only those in the ROM. This way, the 2600 alone can’t convert text to phonemes, but there’s enough space left for the allophones, which are converted into sound, that about two minutes of speech can fit into one cartridge. As for why he went through the trouble, we quote the author himself: “Because creating digital swears with 1982 speech synthesis technology on a 1977 game console is exactly what we need right now.”

For this project, [rossumur] has written an incredibly interesting article on speech synthesis in order to explain the SAM engine used here. And this isn’t his first time on the website either, always cramming software where it shouldn’t fit, such as a “Netflix”-like streaming service, or 8-bit console emulators, both on nothing but an ESP32 microcontroller. Check this one out in action after the break.

Continue reading “38 Years Later, The Atari 2600 Learns To Speak”

Machine Learning Algorithm Runs On A Breadboard 6502

When it comes to machine learning algorithms, one’s thoughts do not naturally flow to the 6502, the processor that powered some of the machines in the first wave of the PC revolution. And one definitely does not think of gesture recognition running on a homebrew breadboard version of a 6502 machine, and yet that’s exactly what [Nick Bild] has accomplished.

Before anyone gets too worked up in the comments, we realize that [Nick]’s Vectron breadboard computer is getting a lot of help from other, more modern machines. He’s got a pair of Raspberry Pi 3s in the mix, one to capture and downscale images from a Pi cam, and one that interfaces to an Atari 2600 emulator and sends keypresses to control games based on the gestures seen by the camera. But the logic to convert gesture to control signals is all Vectron, and uses a k-nearest neighbor algorithm executed in 6502 assembly. Fifty gesture images are stored in ROM and act as references for the four known gesture classes: up, down, left, and right. When a match between the camera image and a gesture class is found, the corresponding keypress is sent to the game. The video below shows that the whole thing is pretty responsive.

In our original article on [Nick]’s Vectron breadboard computer, [Tom Nardi] said that “You won’t be playing Prince of Persia on it.” That may be true, but a machine learning system running on the Vectron is not too shabby either.

Continue reading “Machine Learning Algorithm Runs On A Breadboard 6502”