skip navigation

There and Back Again: An Atari Odyssey

Description

From childhood wonder with the Atari 2600 to a winding path through music and beyond, this is my journey.

Released:
June 1, 2025

Original Link:
https://youtube.com/watch/KfaJTKX31wE

Transcription

Your support is greatly appreciated! https://www.patreon.com/8blit

On this channel, we explore the art and challenge of game programming for the ATARI 2600. For the past four years, I’ve been creating episodes that cover everything—from setting up your development tools to integrating light guns into your games. But this channel isn’t just about writing code. It’s about understanding the technology that shaped an era, uncovering the history behind the console, and reliving the nostalgia that makes the ATARI 2600 so special. And for those willing to take on the challenge, programming for this system is more than just a technical exercise—it’s a uniquely rewarding experience that pushes creativity to new heights. So, how did I end up here?

On Christmas day, 1981, my brothers and I received an ATARI VCS along with Asteroids, Space Invaders, and Superman. It was a very good day. We spent the next couple years begging for, and playing a good collection of cartridges. I was enamored by Pitfall, River Raid, Kaboom, Demon Attack, Raiders of the Lost Arc, and… E.T. Actually, I don’t remember disliking any games we had. Not even pac-man. At some point at our local mall, the computer store had an ATARI competition where the contestants competed to get the highest score in Enduro. A game that we didn’t have, but my brother had borrowed from a friend. Turns out he was very good at it, and won several prizes I believe, including another ATARI 2600, and an ATARI 800xl.

The 800xl opened up a whole new world of possibilities. With the keyboard, cartridge port, and tape drive, it seemed like we could do almost anything. Even the built in self diagnostic routines intrigued me, and I will forever have the audio test burned into my brain. The owners manual even included some sample basic programs you could type into the prompt. This would turn out to be the first code I ever wrote. At some point we picked up “Compute!’s First Book of Atari Games”. It had other program listings in it, but every page seemed like endless lines of numbers. You had no idea what you were doing. We would type in a line, check it on the screen, and then cross it out in the book. This went on for pages. When you were finally done, you’d run the program only to discover that it didn’t work. Back to the sea of numbers to figure out which one of them was not like the others. Luckily, we had a computer store just around the corner from us that carried magazines like Byte, Analog, and Antic. …and even more lucky for me, they would throw the remaining copies of the old issues into the trash. Every time I saw the garbage area left open, I’d crawl under the door and dig for treasure. One such treasure was the December 1984 issue of Antic containing the basic code listing for Biffdrop, written by J.D. Casten, a young prolific programmer that supplied many other well liked game listings for Antic for several years. The rooms within Biffdrop inspired me to make my own, but on paper. For some time, my school notebooks were filled with sketches of boobytrapped labyrinths that I imagined our hero making his way through.

Fast forwarding a few more years, we went from the 800xl, to the Atari 1040 ST, and then eventually switched over to the PC.

In my teenage years I started teaching myself C++ after picking up a copy of Borland’s Turbo C++ for cheap at a computer store in the mall. I became very comfortable with it while working through the examples in the manual, but when I got to the Borland Graphics Interface (or BGI Library), I thought it was terrible, and I wrongly attributed the capabilities of C++ based purely on this library. Not knowing that I could make my own. While looking in the local book store I found an interesting book on graphic programming with Turbo Pascal. It looked pretty awesome, so naturally I thought this is what PC games are made with. Downloading Turbo Pascal from a local BBS, I made my way through the pages trying each example along the way. I consumed several books and eventually learned the basics of x86 assembly language, which I used as inline statements within turbo pascal code for better speed. This allowed me to create my own super fast VGA pixel plotting functions. I used Mode X with its 4 pages of screen RAM to write a tile based engine with smooth scrolling in all directions. At the time I was going to create my own version of Sundog, a game I loved on the ATARI ST made by FTL Games in 1985.

Around this time discussions regarding emulators began to popup on BBS’s and Usenet groups. These introduced me to one called Stella 96 which could play Atari 2600 games. Unfortunately. My computer at the time, for whatever reason, was not able to run it. That would come a couple years later.

In the late 90’s I learned about Atari 2600 homebrew. The thought of making my own game for the Atari 2600 ignited a spark in me that never burnt out. At a time when video games like Final Fantasy 7, and WipeOut Xl for the playstation came out, I wanted to make an Atari 2600 game… but also a playstation game… and to make my Sundog clone on the PC. I spent a lot of time learning and programming bits and pieces for all those systems, but then, I needed a job, and soon left my game programming ambitions to write wap apps for phones, pixel perfect websites, and perl scripts. These days I design and engineer cutting-edge, scalable service architectures. My passion for Atari 2600 programming may have subdued, and sometimes fell into a long period of hibernation, but it was always there in the background. I knew the basics of Atari 2600 programming in 6502 assembly language, which I learned over several years of tinkering and making bits of games which were merely proofs of concept. I wanted to devote more time creating games, but ultimately something would popup and it would be sometime before I started back at it. Usually at square one, because I never took care of the code since it was merely a bit of tinkering.

One time I was distracted for about 7 years. I started a band with my friends, wrote some songs, and performed at a few local venues. It was pretty cool, and a lot of fun… until you start hearing a constant ringing sound in your ears. So I backed off from the band, and loud sounds. I still wanted to make music, so I started redoing some songs I wrote, or co-wrote, and figured out how to record and mix them in my basement under a solo banner. This gave me the creative outlet I needed, and the ability to send my work out into the world and see what it gives back. A couple songs have been played on some college radio stations around the country. One station on the other side of the country had an interesting indie show that played them several times, naming one the 4th top song of the year. On the other side of the planet, a prolific abstract artist was inspired by one of the songs and used the name, and some lyrics for her interpretation of the theme. These days some of the songs are up on the streaming services. Albeit, with very few listens. Turns out you need to market your music to get it into peoples ears, and that’s not really something I was interested in doing when it comes to music. I just have a need to create things, and put it out into the world. After feeling pretty good with my musical endeavors, it slowly faded away because it also turns out that things are more fun and motivating when you’re doing it with others… but I also wanted to get back into Atari 2600 programming. How does someone that wants to be creative, wants to share his creations with others, and more importantly needs to stay motivated. You create a youtube channel!

My plan was to create videos that would explain in great detail how something works, why it works that way, and what you can do with that knowledge… but I didn’t want to make the same boring programming videos that have flooded youtube. For me, playing and programming for the Atari 2600 is about feeling. The emotions that surface as you’re winning at a game you used to play while laying on your stomach in your family room or when you figure out the precise timing to write to the playfield registers when creating asymmetrical playfields. I wanted my channel to be welcoming of new potential game makers, those that want to know how the system works, and the many others that just want to take a trip down memory lane. In all honesty, the early episodes are very basic. I didn’t know how to make youtube videos, or how I wanted them to be presented. They’re awkward, and I made a ton of mistakes along the way, but, I choose to challenge myself and make them better with each episode, and I think anyone still watching at this point of the video will agree… you don’t want anymore of this guy back, throwing his hot dog fingers at you.

The episode’s title poses an essential question: why do I program for the Atari 2600? The answer lies in a mix of challenge, creativity, and nostalgia. Programming for the Atari 2600 is both technically and artistically demanding. The system’s tight constraints force you to treat your code like an intricate puzzle, where every byte matters. Debugging and problem-solving within these limitations is exceptionally rewarding, as every breakthrough feels like a personal triumph. Unlike later consoles, the 2600’s architecture is entirely unique—no other system operates quite like it. Modern consoles rely on extensive libraries that abstract developers from the underlying hardware, but the Atari 2600 demands a direct and intentional approach.

Every element, from graphics to timing to logic, is placed with precision, making each game a true reflection of the developer’s ingenuity. This level of control allows programmers to leave behind a distinct creative signature in their work. Perhaps the most gratifying aspect of developing for the 2600 is seeing your creation run on actual hardware… a tangible, playable artifact that exists beyond the digital space. Whether you’re making a game for personal enjoyment, as part of the homebrew community, or even for a physical cartridge release, there’s something deeply rewarding about breathing new life into an iconic console.

Thanks for taking this nostalgic journey with me! I hope you found something, something that inspires you… in your quest to create your own Atari 2600 games. If you enjoyed this video, drop a comment and let me know how you found your way here… and whether you have plans to develop a game of your own! That’s all for now. Thanks for watching, and I’ll catch you later!

Back to top of page