NOTE: If you're not familiar with 6502 assembly language, take some time to check out the Easy 6502 tutorial.
For my Atari 2600 Homebrew presentation I've been giving a rundown of the challenges involved in writing an Atari game, namely the limited resources and capabilities of the hardware, as well as the tools (DASM, bB, Stella, Harmony, etc) and resources(AtariAge, Mini Dig, etc) that are available to help you.
I've been updating the presentation for each time I give it. On the most recent update, for the 2013 Houston Arcade Expo, I added code for a very simple 2600 program. You can see it here, starting with slide 51. You can also download the source and ROM from my website - colorful.zip.
The code addition went over very well so I've decided to expand upon it for my next presentation, which will be given the weekend of August 16th at the Classic Game Fest in Austin. I decided a very simple game would be the way to go and have worked up a mockup of what it might look like:
The game's going to be called Collect. It's a 1 player game and your objective is to collect as many boxes as you can before the timer runs out. My goals for code are to show:
- How to use TV Type, Select and Reset console switches
- How to use joystick to move player
- How to use the hardware collision detection
- How to use a 2 Line Kernel to draw a reflected playfield with 2 players and 2 missiles
- Sound Effects (timer tick, collected box, end-of-game)