Task: Play Atari 2600 Christmas Music
Needed: Atari 2600 or Stella emulator, A Very 2600 Christmas binary file
Time: 10-15 mins
The Atari 2600 had a 6502 series processor like the Atari 8-bit computer line but lacked additional hardware to make it a powerful game machine. For example, the 2600 lacked a graphics chip like the ANTIC and thus the CPU had to do a lot of the heaving lifting making it really hard to program for due to timing issues. Sound was no exception. Rudimentary sound capabilities where built into the Television Interface Adaptor (TIA) chip that generated the analog signal for display on a TV. According to Wikipedia, the TIA had two channels (AUD0 and AUD1) that generated a sound waveform controlled by a 5-bit frequency divider (i.e. pitch) and a 4-bit audio control (i.e. distortion) register. There was also a 4-bit volume control register with values of 0 (off) to 15 (loud). The sounds were not purposefully tied to musical notes and thus it can be difficult to produce accurate music. Think of the TIA as more of a noise than a music generator. As Hugg writes in his book about programming the 2600, the programmer must perform “gymnastics” to get the TIA to produce the sounds they want. Having programmed and released a game for the 2600, I have a decent understanding of the challenges of producing sound. In fact, I used sound code that Darrell Spice posted in a tutorial on Atari Age rather than try to code my own. That is why I was very impressed when I played and listened to Christmas music on the 2600. The following program was written by Ben Larson and posted on Atari Age.
Download the binary for A Very 2600 Christmas. You can play this in the Stella emulator or load it up into a Harmony Cartridge to play on original Atari 2600 hardware. You can also play it in your browser. Once loaded you can change the song that is played by moving the joystick left or right.
Here are the tracks that are included: 1 – Jingle Bells, 2 – Deck The Halls, 3 – Silent Night, 4 – We Three Kings, 5 – Carol of the Bells, 6 – Adeste Fideles, 7 – Good King Wenceslas, 8 – We Wish You A Merry Christmas
Getting the 2600 to do anything is an accomplishment. Kudos to Ben Larson for approximating this Christmas music on the 2600. I was able to play this on original hardware (see below). You can also see this on YouTube if you don’t have time to give it a try. Enjoy as you open presents Christmas morning!