Don’t you wish programming Atari VCS games on OS X was easier? I’m sure it’s a question that keeps you up at night. It sort of does for me. Or at least it used to, until I decided to do something about it.
This software facilitates Atari VCS development in Apple’s Xcode development environment. It installs syntax coloring for 6502 assembly instructions and VCS-specific memory mapped registers (TIA and RIOT), as well as an Xcode Project Template to make starting VCS projects easier. I’ve included a starter game file to help you get started too.
The Atari VCS (aka 2600) is known as a difficult computer to program. It has no frame buffer, requiring very precisely timed interfacing with every scanline of each screen. It has 128 bytes of RAM. And it is a hard platform to master. But in truth, the VCS is not that hard a platform to learn, it’s just really intimidating to get started with it. Admittedly, part of the problem is learning to program the thing in the first place. I taught a class at Georgia Tech on that topic last spring, and I think I learned a lot about the process. But these were graduate students, and one of my goals is to make VCS assembly programming something undergrads or casual hobbyists (not just hard-core homebrewers) can pick up easily. More on that topic later.
Another part of the problem is just getting code written, assembled, and running on an emulator. It may sound silly, but the more steps it takes to do this the first time, the harder it is to motivate oneself to start. And for the more experienced programmer, it makes iterative development sort of a pain. That’s what I’m hoping to (help) solve with this software, at least for Mac users like me. The Xcode Atari VCS Tools makes Atari VCS programming easy in Apple Xcode.
For experienced Atari developers, this toolkit makes the VCS development process more streamlined, allowing more rapid iterations between coding and debugging. For new Atari developers, this software makes getting started with VCS assembly development easier. All you need is Xcode, this toolkit, and the Stella emulator (see below).
For example, To create a new Atari VCS Game, open Xcode, select File > New Project…, and then choose Atari VCS Game from the list.
You also get syntax highlighting. To get it to work without selecting a file type via Xcode’s Format > Syntax Coloring menu, name your files with the extension .dasm. The project creator does this for you of course.
If you choose (and I recommend it), you can get Build and Run functionality directly from Xcode. To do so, you’ll need to download the free Stella emulator. Then follow the steps below.
STEP 1
Choose Project > New Custom Executable… from the menu. In the resulting window, enter Stella in Executable Name. Then enter or navigate to the location of your StellaOSX app in Executable Path. Choose Finish.
STEP 2
In the Info box that opens, under Set the working directory to:, check the radio button labeled Project directory.
STEP 3
Select the Arguments tab at the top of the window. Add an argument. Specify the text as “[Your Project Name]”.bin, where [Your Project Name] is the exact title of your project file, as you entered it when you created the proejct.
There you go, now just Build > Build and Run or touch Command-B. Xcode will run the external build tool to assemble your game and run it automatically in Stella.
Ok, off you go to make VCS games then. Find any bugs? Let me know.
Technorati Tags: Atari, Homebrew, Programming, Software, Xcode
Comments
Darrell Blake
I just tried installing this in Leopard and the Atari VCS project doesn’t appear in XCode.
Ian Bogost
Yeah, I haven’t tested it in Leopard yet. Who knows what they’ve changed about XCode. I’ll have to dig into that a bit. Damn apple.
Darrell Blake
I forgot to mention that I got this working in Leopard but I had to manually extract the “Archive.pax.gz” from the “Install Xcode VCX Tools” package and copy the files to /Developer/Library/Xcode.
Ian Bogost
Aha, that probably means I just need to rebuild a new package for Leopard. I can do that pretty easily. Thanks!
Ian Bogost
Ok! Now we have installers for both Leopard and Tiger. Huzzah.
Someday soon I’ll finally make one for Batari Basic too.
JoyfulCoder
This is great! Thank you very much.
Ian Bogost
And of course, Apple changed the language specifications again in Xcode 3. I’ve updated it already, just haven’t fixed the installer. I’ll do that in the coming days.
Ian Bogost
Updated now for Xcode 3.1 on OS 10.5
Neil
Hi Ian,
I was really excited when I found this post as I’ve always wanted to use Xcode for 6502 (NES) development.
However, the download links seem to be broken?
Thanks,
Neil
Ian Bogost
Neil, the server was temporarily misconfigured. It should be working again.
Neil
Brilliant! Thanks Ian, much appreciated.
oisee
Hi, Ian!
Thank you for your Syntax Coloring XCode Package! I’m just wrinting to inform you, that i modified your config files .xclangspec and .xcspec for z80 syntax for ZX Spectrum =)
Also i want to ask your permission: can i redistribute modified z80-version freely? i could rewrite’em from scretch, but hope you’ll grant me your permission =)
p.s. little bonus: http://www.youtube.com/watch?v=zRPV87rGg1I – our last spectrum demo =)
Ian Bogost
Great news on the z80 conversion! Feel free to distribute them, just let me know where you do so I can link to it.
KatieHUDSON19
If you are in a not good position and have got no cash to get out from that point, you would have to receive the credit loans. Because that will help you definitely. I take credit loan every time I need and feel great just because of that.