Sources and Binaries
No time to loose, all you need is :
• 6502 Programming knowledge
Not so hard ;-)
All you need can be found at the 6502 Links.
• VCS 2600 technical references
A minimum is required to program the beast.
You'll find this in the concise Stella Programmer's Guide.
You can download it in the PDF format Here (Local Mirror).
or have a look at the HTHL version Here.
To learn more about how all this stuff works, my advice is to read :
Andrew Davie's Programming tutorial
Kirk Israel's tutorial too.
• A Text editor
To edit the source code of your programs.
• A 6502 assembler
One of the most used is DASM.
You can download Dasm V2.20.07 (Local Mirror).
and the essential VCS.H and MACRO.H V1.09 (Local Mirror).
Note : to compile a file named demo.asm and to get a valid VCS 2600
program file (named demo.bin) use the following DOS command :
dasm demo.asm -f3 -odemo.bin
• An Emulator
You'll need it to run your VCS 2600 programs.
My favorite emulator is z26. You can download :
The DOS version V1.58 (Local Mirror).
The Windows version V2.13 (Local Mirror).
A lot of good emulators exist :
• z26 -
In my opinion it's the best choice for testing VCS 2600 programs.
It's emulation level is near perfection : it's almost like using a real VCS 2600.
A lot of features are available.
DOS and Windows Exist. AFAIK It should be ported to linux soon.
• PC Atari Emulator
A debugger is included in the emulator, very useful !
The homepage is missing for now so I put the latest versions to download here :
The PCAE DOS V2.3a (Local Mirror).
The PCAE DOS V2.4 (Local Mirror).
The PCAE Windows V2.3a (Local Mirror).
The PCAE Windows V2.4 (Local Mirror).
Note : The Manual is included into the zip files.
• Stella -
Stella is a multi-platform Atari VCS 2600 emulator.
TIA Playfield Painter :
I wrote this utility to draw Playfields for the Atari VCS 2600 and to save the pictures as datas code ready to be included into VCS 2600 programs.
TIA Playfield Painter V1.03
- DOS Program :
if used under Windows, for better performances it must be run into a full screen
- TIA Playfield resolution emulation (WYSWYG) :
The picture displayed by the VCS using the code generated will have
the same resolution as the one displayed by the editor.
- Picture resolution : 2 playfields x 20 pixels x 192 lines (NTSC format).
NTSC has been chosen for best format compatibility. For PAL/SECAM programs,
empty scanlines may be added before and after the 192 scanlines of
the NTSC picture.
- NTSC / PAL / SECAM Palettes supported.
- Possibility to select the Background and the Playfield Colours.
- 3 Draw modes supported : Asymmetrical, Symmetrical and Mirrored.
- Switch from one mode to another keeping left playfield's datas.
- Load / Save picture including draw mode, palette and colours used.
(TIA Playfield Editor format)
- Mouse support (Left button to write / Right button to erase).
- 8 Drawing cursor resolution : 1x1 to 1x8 pixels size height.
- Negative Playfield function.
- Undo function : Erase last draw.
- Playfield Graphics Re-Positioning functions.
- Generation code options :
- Select start and end line of the picture to generate the code for.
- Normal or reverse code generation.
- Automatic playfield datas generation regarding the drawing mode :
PF0, PF1 & PF2 datas for Symmetrical and Mirrored modes.
PF0, PF1, PF2, PF3, PF4 & PF5 datas for Asymmetrical mode.
- Comment lines into the code generated :
- Palette used.
- Background and Playfield Colours index used (Hexa format).
- Draw mode used.
- Various infos about the data lines generated.
Click here to download TIA Playfield Painter v1.03
Click here to read the Manual.
Basic Background :
Click here to download the Basic Background demo.
Click here to download the Basic Background demo source code.
3 Bars Background :
Click here to download the 3 Bars Background demo.
Click here to download the 3 Bars Background demo source code.
Background Scrolling :
Click here to download Background Scrolling demo.
Click here to download Background Scrolling demo source code.
Asymmetrical Playfield :
Click here to download the Asymmetrical Playfield demo.
Click here to download the Asymmetrical Playfield demo source code.
Symmetrical Playfield :
Click here to download the Symmetrical Playfield demo.
Click here to download the Symmetrical Playfield demo source code.
Mirrored Playfield :
Click here to download the Mirrored Playfield demo.
Click here to download the Mirrored Playfield demo source code.
Heart with Colours Scrolling :
Click here to download the Heart demo.
Click here to download the Heart demo source code.
Asymmetrical Playfield with 2 Vertical Scrollings :
Click here to download the Asymmetrical Playfield 2 Scrolls demo.
Click here to download the Asymmetrical Playfield 2 Scrolls demo source code.
Symmetrical Playfield with Left / Right Scrollings :
Click here to download the Left Scrolling demo.
Click here to download the Left Scrolling demo source code.
Click here to download the Right Scrolling demo.
Click here to download the Right Scrolling demo source code.
AtariAge Programming Page
An excellent page full of resources links and infos.
Andrew Davie Programming tutorial (at AtariAge)
A wonderful step by step tutorial. IMO The best place to start to learn about VCS 2600 programming.
Kirk Israel Programming tutorial
Nice introduction to VCS 2600 programming.
Kirk Israel Cookbook
A clever collect of programming infos and tips.
Paul Slocum Minidig
Games disassemblies, technical infos and a lot of interesting things.
The Stella Mailing List
Suscribe to the Stella Biglist to get the last informations about homebrew development and general VCS 2600 programming.
And don't forget to dig into the archives : it's a gold mine for any 2600 programmer !
Assembly In One Step
A brief guide to programming the 6502 in assembly language.
6502 Opcodes Description
Absolutely necessary if you don't know the 6502 opcodes.
6502 Opcodes Summary
Don't miss this for CPU cycle counting.
Get the last version of the assembler here.
The Stella Programmer's Guide (HTML)
The - concise - VCS 2600 hardware bible.
Colour Palette Index with RGB values for NTSC, PAL and SECAM systems.
Last update : Saturday, June 5, 2004