Bill Kendrick's Atari Relics


What's This?

This website is an archive of some of the more interesting or amusing bits of software I wrote for the Atari 8-bit line of 8-bit home computers as a kid — between 1986 (when I was 11, and got my first 5.25" floppy disk drive) and 1997 (when I was 22, just before graduating from college). Much of the software is written in Atari BASIC, since that's what I had until 1991. Some is written in TurboBASIC XL, and a little is written in Action!. Since 1998, I've published a few more Atari games on my New Breed Software website; they've been online since I first wrote them, rather than left rotting on floppies, like the majority of what's found here.

In 2013, I browsed the contents of ~200 5.25" floppy disks that are in my possession. Many were disks from my childhood, that my father had in storage, and had given back to me a few years prior. I stuck Post-It notes on the disks with interesting content that I wanted to share. I also took hundreds of photos for the amusement of my friends on Facebook. (I took snaps of even more stuff than I thought was worth grabbing off of the floppies.)

Who Are You?

I'm Bill Kendrick, a software developer by profession & hobby. My day jobs have included lots of web application development, and some mobile game development. Since 2008, I've been CTO of Smashwords, Inc., an ebook publishing, sales and distribution platform.

As a hobby, I've developed a number of games and other applications as open source software for Linux (most have been ported to various other platforms.) Most popular has been Tux Paint, an educational drawing program for children. Much of my software is inspired by (or downright clones of) classic video games from my childhood. See them at my New Breed Software website.

When I had much more free time, I maintained the Atari 8-bit New User, Emulator Help FAQ and spent more time taking care of XL Search, an FTP site search engine. I even tried my hand at porting Stella (the Atari 2600 emulator) and Atari800 (the Atari 8-bit emulator) to the Sharp Zaurus Linux-based PDA.

Since 2009, I've also run a semi-annual "Atari Party" — a day-long hands-on exhibit of classic Atari computer and video game systems — in Davis, California.

What's your involvement with Atari?

Since I was just a kid in the mid-1980s, I'm not what you'd call a "published software developer" for the Atari. Don't expect Prince of Persia.

My first computer was a Timex Sinclair 1000 (the US version of the Sinclair ZX81), which I inherited from my brother when he got a Commodore 64. I cut my teeth on BASIC with that system. Shortly after, my parents gave me an Atari 1200XL, which was my main computer until 1991, when I received IBM PS/2 from a high school friend. (After a few years with it hidden amongst Bob Woolley's collection of 1200XLs, I once again have possesion of my childhood Atari. It works, and is hooked up on my desk in my home office!)

In 1986, I begged my parents to spend $150 on an Atari 1050 5.25" floppy disk drive, since I was tired of trying to use a cassette drive. In 1991, my drive started acting up, and I went to Best Electronics to have it repaired. At the same time, I bought a 1200bps MODEM, and thanks to CyberDen BBS, I soon discovered the comp.sys.atari.8bit USENET newsgroup and the Atari 8-bit section of the UMich Archive. (I even spent a short while maintaining it!) Around 1991 and 1992, I got an IBM PS/2, a 14.4Kbps modem, and an SIO2PC device, so I could use the PC's whopping 10MB of hard disk storage as a virtual floppy disk for my Atari. (Oh, and also some BBSing and QBASIC.)

Give me random trivia!

There's my high school senior portrait from 1992, as rendered on my Atari in ColorView 9 mode (80x192, 4096 colors).

The best game I wrote for the Atari was Gem Drop, a puzzle game I wrote in Action! in 1997. It uses a software-driven tile-based graphics mode that eeks about a dozen colors out of the Atari. Soon after, I ported it to C and Xlib for Solaris, then to C and libSDL for Linux and other platforms, as Gem Drop X.

A few years later, I received an unexpected package from Steve Tucker containing my game on a cartridge. This was my introduction to his (new, at the time) Maxflash flash cartridge system.

Today, Gem Drop X flies around the country every day! It's one of the games on Virgin America airline's "Red" in-flight entertainment system! (Not something I imagined while sitting in a darkened room hacking away on my Atari!)

Why should I care about your relics?

I'm not sure that you should! My main motivation is to archive what was on my old disks. ("Real men just upload their important stuff on ftp, and let the rest of the world mirror it" –Linus Torvalds).

On the other hand, it could be that archivists (hi, Jason!) or researchers might find it interesting to see into the mind of a computer nerd from the 1980s. (See also: Terrible Nerd by my Atarian buddy and archivist Kevin Savetz.) How many times can a kid try to write his own version of Tetris or The Legend of Zelda!?

Why is everything in random order?

A few reasons:

How do I use this stuff?

It depends! I've done my best to explain what each file is, since as a kid I named things erratically, and typically without following conventions. e.g., ".COL" is a tokenized BASIC program (normally named ".BAS", but it's for the stuff I thought was "cool". Sometimes I left filename extensions off, altogether, or I used them to extend the name of the file (e.g., "SUPERMAR.IO")

Atari BASIC, with a "Loader"

It's best to run these with standard Atari BASIC. Some things may be usable with TurboBASIC XL, but typically games will be unplayably fast.
  1. Run with BASIC enabled. (My development system during most of my programming childhood was a 64KB Atari 1200XL with a revision B (ugh!) Atari BASIC cartridge. Other XLs and XEs typically had built-in BASIC, which is enabled by default.)
  2. Boot into the disk image; they contain MyDOS 4.53/4. You'll land at the BASIC "READY" prompt.
  3. Load an run the file marked "Loader", e.g.:
    RUN "D:GAME"
    There may be an intro screen. Typically, it will load one or more fonts into memory, which the game will require. Often, this takes a while (using a "FOR" loop with "GET" from disk, and "POKE" into RAM).
  4. It will then automatically load and run the game. Usually, firebutton on the joystick, or Start on the Atari, will begin the game. Sometimes there are options. YMMV.

Atari BASIC, with a "Full Game" file

As above, use BASIC. Just load and run the program, and it will do any setup it needs to, and begin the game. e.g.:

TurboBASIC XL, with a "Loader"

These require TurboBASIC XL; they will not run in Atari BASIC, as they utilized the extra features (and, of course, speed) of TBXL. As above, load and run the file marked "Loader", e.g.:
Again, this will load fonts and any other data into RAM, and then load and run the main program. This should be much faster than the older BASIC games' loaders, as it uses TBXL's "BGET" to quickly load large chunks of data from disk.

TurboBASIC XL, with a "Full Game" file

As above, just load and run the program, e.g.:

Action!, using source

Often, my Action! programs get large, so I break them up into a main file (which gets compiled directly), and "included" files. Sometimes, having any data in Action!'s editor will leave too little space for compiling the program, so you may need to compile it from the Action! monitor, e.g., "C SOMEFILE.ACT"

Action!; compiled binary

Boot with BASIC disabled (e.g., hold Option during power-up). From MyDOS, [L]oad the binary file. (If it fails, maybe the particular executable requires Action! cartridge installed, as it was not compiled with a runtime package.)

Home | About | Email Bill