function BuildTitleString()
{
return "2600 101 - Introduction";
}
?>
A tutorial by Kirk Israel
Introduction
So you want to be an Atari Programmer, make that 2600 sing, dance, do tricks for you?
What are you, some kind of masochist?
In case you haven't heard, programming a VCS is not easy. It's a very quirky beast,
it has very little memory or other resources to work with, and your programs has to
hold the hand of the TIA television interface chip for (almost) every damn scanline...
demanding a fairly detailed knowledge of what the TV's electron beam is doing as it
draws the screen...and what it's doing (or at least for how long) when it's not
drawing the screen. Not afraid? "You will be...you will be."
So why do it? There are a number of reasons:
- To connect in a fundamental way with the grandmaster of our misspent childhoods.
- The challenge of it all. Like writing haiku while drunk and on the back of a
charging rhino.
- Actually, I hate challenges, but there's something cool about making a game out of such simple
little pieces, kind of like Legos when they were all square, with maybe a few wheel pieces
thrown in.
- To interact with something you made on a real live TV.
- The chicks.
- Ok, I'm kidding about the chicks.
- Why not program for other, more modern consoles?
Despite (or because of) the difficulty of the 2600, there is a community and set of resources
for it that I haven't seen for other systems you could potentially homebrew for. (YMMV)
- Why not just make games for Windows, in VB? Or online, in Shockwave or Flash or Java? Yeah,
go on, cry to mama you little wuss! But seriously:
(successful) modern games are mulitmillion dollar productions done by large teams of people.
Your program is likely to languish in shareware/freeware hell, ignored by millions, and competing
for attention with thousands and thousands of other little games. Make a decent classic game,
and you will get a lot of attention from the classic game collectors and their friends. You can
even sell copies at shows like CVGE and PhillyClassic, and be duly admired
in cash form. (If you work out the hourly
rate for your programming efforts, you'd probably be better off flipping burgers, but that's not the point.)
But, "I am but a learner" myself right now. I'm writing this tutorial as I go
along, with huge amounts of help from the fine friendly folk on
the Stella mailing list-
more on them later. I'll try not to make too many assumptions about
what you know, but I'll probably be assuming a certain level of programming
knowledge in my audience...if you've never written a single program in
any computer language ever, the Atari probably isn't the best place to start.
Information Resources
These resources are your friends. Theoretically, if you went through all of the following, you might not
need this tutorial! (I hope to make it worth your while anyway.)
- The Stella mailing list. If you're serious
about Atari programming, you should join this. This site has an archive going all the way
back to October of 1996. More to the point, the people on the list seem pretty friendly
to well meaning newbies. (Me being the case in point.) Check out
the group's introduction for more details.
- Garon Grainger's The Dig is an attempt to
dig through the coal of the Stella list archive and bring out the diamonds. It has tons of resource
links and code examples. (And has some way cool Atari Force graphics scattered about.) I can honestly say that I would probably not have had the gumption
to tackle Atari projects without this site.
BE WARNED, however: some of the code examples are
known to be flakey, and not worthy rolemodels. Be sure to read the associated "msg" threads (links into
the Stella Archive), and see what
the follow up conversation says about the code.
- If you're not familiar with 6502 Assembly Language (though it seems that many people who
get into this hobby are, I'm not one of them) you should check out
Assembly In One Step.
(local mirror)
- The infamous Stella Programmer's Guide. This is the closest thing
we have to a bible. All about the TIA chip and the special ways to coax her magic from her.
Here I have a local link to an excellent HTML conversion by B. Watson, the
dig docs page has the original
PDF, along with .txt and Word.
- AtariAge has become a huge supporter
of homebrew efforts. From putting up In Development
pages, to running message board forums, to working
with authors to get their games into hardware and working on real-live Ataris,
to a great storefront, the site is a huge resource and
I consider it THE online resource for Atari...heck, for almost all of classic
gaming.
Next: The Development Environment