Write Atari 2600 Code.

Quick Links

Sample Code

Here is a selection of Atari 2600 programs with source code. Once you are up to speed on 6502 assembly language and are learning how to write code for the Atari 2600 specifically, these should be of great benefit to you.

Hello World

'Hello World' is the traditional first program on a new platform. It It's purpose is to allow one to work out the mechanics of software development without being distracted by the details of program logic. In the Atari 2600, there is quite a bit of code required just to be able to wrtie anything to the screen, and this is why I'm providing that code for you. Like any Hello World program, it outputs the message 'Hello World!' to the screen. Click the button above to see the code.

Here are some suggestions for experiments you may want to try with the Hello World code:

  • Change BACKGROUND_COLOR on line 31 to something other than blue (31).
  • Change MESSAGE_COLOR on line 33 to something other than white (255).
  • Change LETTER_SIZE on line 39. Try the alternate values suggested in the comments.
  • Change the ldx (load x register) instruction on line 85 to load something other than 35. Numbers less than 20 fail in a way that should be familiar to anyone that has used one of the old analog television sets.

Tiny Text

On most platforms, displaying a horizontal line of text is the most simple thing one can do, but on the Atari 2600, it turns out to be quite difficult. This program illustrates a way to do it.


Missiles is a pretty rudimentary program that illustrates the movement of objects across the screen.

See the SetHorizPos subroutine which illustrates what appears to be the normal way to set the horizontal position of objects on the Atari 2600 screen.


At almost 3000 lines of code, this is a full-blown Atari game and well worth study if you an aspiring Atari 2600 game author.


Yet another full-blown game. The heavily commented source should be a boon to anybody seeking to learn the in's and out's of Atari 2600 game development.