blog
Atari VCS Programming in TextMate
An easier way to make Atari games on your Mac
July 18, 2011
Several years ago I was really getting heavily into Atari VCS programming—for teaching, for art, and for research on Racing the Beam. VCS programming is notoriously hard at first, but like anything once you get the hang of it, it feels natural.

What never felt natural, however, was the process of running command-line build tools and editing code in plain text editors. Obviously, we have things much, much easier today than the original Atari programmers did. We've been spoiled by sophisticated IDEs and debuggers. Despite my penchant for traditionalism, I was happy to use modern tools to make Atari games.

So, back in 2007 I made a toolkit for doing Atari VCS programming with Apple's Xcode IDE. It had a project template, language definition for syntax coloring, and instructions for how to configure build settings to build-and-run in the Stella emulator. Pretty cool. I've been using it ever since.

That is, until a month ago when I upgraded to Xcode 4. It's a complete rewrite of the IDE, and it totally broke my VCS development stuff. Apple had changed the template structure before, but I'd always been able to make adjustments to my package. This time, Apple hasn't even yet published documentation on how to make project and language templates. Even though it does offer external build support, Xcode is now effectively purpose-built for Cocoa development only, which is a shame because it's a pretty nice IDE.

So, I decided to abandon Xcode entirely (for VCS dev, anyway), and move to TextMate, an excellent customizable plain text editor. I was familiar with TextMate from earlier writing—Nick and I wrote all of Racing the Beam in markdown format in TextMate—but I hadn't yet used it for development. Turns out it's great!

I've packaged the TextMate bundle and VCS prerequisites in an installer, which you can download at the top of this page. Some of the features I baked in:

  • Syntax coloring for Atari VCS assembly files, including 6502 assembly instructions and Atari register names.

  • A Template for Atari VCS games, giving developers a simple framework to start from--including initialization, vertical sync/blank, a simple kernel, and overscan.

  • Build and Run support using the Stella emulator. The scripts will automatically find and run your builds in Stella for easier iterative development, no per-project configuration required.

  • Scripts and related tools for simple testing tasks, such as ROM size and running Stella with paddle controllers pre-selected, as well as symbol shortcuts to labels.

Even though it seems like a downgrade from an IDE, I've managed to automate even more of the setup and build process in TextMate than was feasible in Xcode, so now it's even more streamlined than it was before.

Some may wonder why I'd spend time on such a strange task, so I'll repeat what I said back in 2007 when I first released the Xcode tools: Learning to program the Atari is difficult, but learning the hardware and assembly is only part of that challenge. 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 easily, the harder it is to motivate oneself to start. And for the more experienced programmer, it makes iterative development much easier.

Comments (12)
Want to comment on your site? The trackback URL is http://www.bogost.com/mt/mt-tb.cgi/2205 Want to comment on my site? Use the comment form below.

Minor bug report, I have TextMate installed in ~/Applications instead of /Applications, and the installer fails to find it.

Adam Vandenberg on July 18, 2011 11:08 PM

Thanks for that Adam. I removed the requirement check, since it seemed sort of superfluous, and since the OS X package builder doesn't make it easy to search in multiple places for an App prereq. Should work now.

Ian Bogost on July 19, 2011 1:17 PM

Hey there Ian,

I can't get this package to install under 10.7.1, using TextMate 1.5.10 (if this matters)

During the "installation" procedure, the thing stops and gives me a generic "The installation failed. - The Installer encountered an error that caused the installation to fail. COntact the software manufacturer for assistance." error message. However it seems to be half installed as I can select items in the "Assembly" bundle under TextMate, of course they do nothing.

If you want or need more information hit me up, pretty sure it's something with Lion... Hopefully you'll fix it! :)

Olivier Villeneuve on September 15, 2011 11:50 PM

Olivier, it's working for me on Lion, so it's probably something simple. In any case I've been meaning to publish an update, so I'll check into it and upload a new one.

Great, then it must be on my side, I'll look into it and provide details if I get it to work.

Thanks for your feedback.

Olivier Villeneuve on September 17, 2011 1:56 PM

Got it, the problem was that
/Library/Application\ Support/TextMate
didn't exist. I created it and now everything works as it should!

Olivier Villeneuve on September 17, 2011 2:22 PM

Glad to hear that. I'll post an updated build of the kit soon; it's got some new features.

The installer set the permissions on the ~/Library/Application\ Support/TextMate folder so that it was not readable by me (only by the "admin" account).

As a result, I couldn't see the "Assembly" option in the "New From Template" menu. Changing the permissions by hand fixed the problem.

Hey Ian - I am just starting to get into this (big fan of Atari and programming) I have heard a lot of good stuff about what you have done and have been so looking forward to starting to build my first 2600 program but when I went to install this package I just continued to get an install error. I'm not sure what to do at this point because there are not specific error message that will help. I'm using OS 10.7.5. Any help would be great -

Oh, I forgot, I am only running the 30 day trial of TextMate - could that be the problem? The only reason I would purchase TextMate is so I can learn to program for the Atari.

What's the error?

Ian Bogost on March 4, 2013 3:56 PM

I'm getting an error at installation with latest version of Textmate and 10.8.4, simply an "Installation Failed" at the end of package installation.

Post a Comment
Name:
Email:
URL:
  Remember me for next time?
Comments:
To prove you are a human, type the word (loading...) below.
blog
books
games
writing
photography
teaching
speaking
recent stuff
resources
popular
favorites