Awesome! Now Do "Mappy".
April 26, 2012 11:35 AM   Subscribe

Porting a 30 year-old vector arcade game to an obsolete 33 year-old home game platform: "Star Castle 2600". In 1981 a young Howard Scott Warshaw, left his first programming job at HP for a more interesting job at Atari. His first assignment was to create an Atari 2600 conversion of the vector coin op game Star Castle... After evaluating the arcade game and the console hardware he came to the conclusion "that a decent version couldn’t be done". Thirty-one years later, former Atari employee D. Scott Williamson has finally ported Star Castle to the 2600. (via MAKE)
posted by 40 Watt (54 comments total) 34 users marked this as a favorite
 
I have a sudden urge to play Tempest.
posted by Trurl at 11:40 AM on April 26, 2012 [2 favorites]


See, there you're in luck: there's already a 2600 version of Tempest.
posted by 40 Watt at 11:41 AM on April 26, 2012


It's probably worth noting this is a kickstarter project as well. (Yes, he did design the game and get his copy working, but at the bottom third is about fundraising via kickstarter)
posted by k5.user at 11:45 AM on April 26, 2012


The prophecy is fulfilled! AWAKE THE KRAKKEN!

(the Krakken looks like one of the duck-dragons from 2600 Adventure, but flashing)

posted by RobotVoodooPower at 11:46 AM on April 26, 2012 [6 favorites]


If you don't know anything about coding for the Atari 2600 and you have an interest in the console and a (very, very general) grasp of how programming works, read this book. Due to the nature of the way the Atari outputs to the TV, coding a game for that console is insanely difficult. Especially if you want something more complicated than Combat.
posted by griphus at 11:49 AM on April 26, 2012 [3 favorites]


In other historical vector game news, GAMBIT Lab recently finished a conversion of the original PDP-1 Spacewar.
posted by zamboni at 11:49 AM on April 26, 2012 [1 favorite]


(There's, literally, two code samples in the book, each maybe six or seven and explained in great detail.)
posted by griphus at 11:50 AM on April 26, 2012


I remember Warshaw's easter egg in Yars Revenge. We used to refer to it as "getting hush-wushed" because we didn't know how to recreate it.
posted by bondcliff at 11:56 AM on April 26, 2012


I remember taking apart all my duplicate Atari cartridges and playing them as bare chips sticking out. This is inspiring as all hell. Thanks for posting!
posted by Busithoth at 12:08 PM on April 26, 2012


jcreigh, thanks for posting that. I was just going to come in an explain why it's so damned hard to do vector graphics without a special hardware component. Instead I'll just drop this link here to a company that makes a video card specifically for playing vector graphic games.
posted by Doleful Creature at 12:13 PM on April 26, 2012 [3 favorites]


This interview with Tim Skelly, designer of Star Castle (and others) is worth reading. I mean, 2600 programming is impressive, but try writing a game in machine code for a custom CPU that has no documentation and no programming tools.
posted by RobotVoodooPower at 12:18 PM on April 26, 2012 [3 favorites]


How much hardware is there in the cartrage itself? Is it really just an EEPROM or does he have an extra CPU in there?
posted by delmoi at 12:19 PM on April 26, 2012


Looks like he's using a modified 8K cartridge, but he doesn't say anything about another processor on there.
posted by griphus at 12:28 PM on April 26, 2012


$10 gets a ROM that works with Stella, so I think it's just a EEPROM.
posted by theclaw at 12:28 PM on April 26, 2012


Mod note: Folks we need to be crystal clear that making a post so you can somehow link to a Kickstarter thing is not at all okay. Ask us if you have questions, please don't post the Kickstarter link in here.
posted by jessamyn (staff) at 12:41 PM on April 26, 2012 [1 favorite]


Tim Skelly: "I still design games in my head, and I'd love to see them built, but only if the economics are right. "

Now's the time - the garage programmer is experiencing a resurgence thanks to the mobile app stores, and the PC indie scene.
posted by GallonOfAlan at 12:54 PM on April 26, 2012 [2 favorites]


As someone who grew up playing both 80's arcade games and 80's arcade ports on the horrendously limited Atari 2600, my jaw is on the floor. He not only made a game that is identifiable on sight as Star Castle, he NAILED it.

The logistics of that many independent rotating ring segments alone on the 2600 are unfathomable, much less with the other game elements and getting everything moving smoothly.

(Now to see if we can get him an Intellivision devkit...)
posted by delfin at 12:57 PM on April 26, 2012 [1 favorite]


Thank god for the framebuffer.
posted by Joe Chip at 1:14 PM on April 26, 2012 [1 favorite]


I've read the book griphus linked to above. There are some other interesting things about the VCS/2600 that are revealed in it:

The VCS was literally designed to run ports of two of Atari's arcade games: Pong and Tank. (Tank was supposedly by "Kee Games," which was a shell corporation Nolan Bushnell created to get around distribution problems.) At the time, dedicated home consoles that ran a single game were common; many of us have memories of dedicated Pong systems made by a range of manufacturers including Atari. Tank became Combat, and Pong became Video Olympics. Tank is one of a whole range of nearly forgotten Atari arcade games from the time; some other VCS games based off of early Atari arcade games are Indy 500 (Sprint), Breakout and Super Breakout.

The processor in a 2600 is a MOS 6507, which is much like the 6502 in many popular 8-bit home computers except it has fewer addressing lines. It can only address 4K of ROM without using bank switching. (Later on tricks like that allowed the 2600 to address more memory.)

The 2600 has hardware sprites, but only one byte of storage for each. And each sprite only has a horizontal position register; you define its vertical location by, simply, positioning the sprite on-screen during the scan line, then offscreen when you don't want to display its 8 pixels of data anymore. Because of this, sprites can be as large vertically as you want.

In fact, the Atari VCS is not unreasonably difficult to program, it just does radically less for the developer than other systems. All computer hardware that interfaces with a CRT does what an Atari VCS does, whether the chip is the Atari's TIA, the C64's VIC-II, the Amiga's special chips, early PC video cards like Hercules/CGA/EGA/VGA, or current 3D hardware. All these systems, ultimately, concern themselves with a strictly one-dimensional stream of data. As chips have increased in complexity, they have become able to insulate the developer from the requirements of the system behind more and more layers of abstraction.

The difference is that the Atari puts a lot more of the burden on the programmer, and the processor, than on special hardware, and it has little addressable memory. If you replaced the rest of the Atari's hardware with faster, more capable equivalents, its graphics ability would, to a degree, similarly improve. Some things on the platform are directly limited by how much the processor can do on a single scanline, hence the term "racing the beam."

Key to the design of the machine is the fact that the processor's clock speed is tied to the speed of the CRT. All of the instructions that a 6507 can execute take a defined number of system cycles, or "clocks." * An LDA takes from 2 to 5 cycles to execute depending on its addressing mode. Once you add up all the cycles for each of the instructions in your code, you know exactly where the beam is on the screen. Most graphics tricks on the system rely on this knowledge.

Note that nothing particularly prevents you from doing such things on other systems, but for one reason or another it's less useful. Many succeeding computer systems use timer interrupts to service the keyboard, for example, a useful tool for keeping the system responsive to a user, but that destroys the strictly deterministic working of the machine; we might not be able to reposition a sprite at this moment, because we might be polling the keyboard. (The Atari VCS doesn't even have interrupts.) On the C64 you can turn that interrupt off if you Know What You Are Doing, but the result is you can't type anything. (You can still get the system back with the ol' faithful Run/Stop Restore keypress; the Restore key is tied directly to the processor's NMI, or "Non-Maskable Interrupt" line, so it'll restore the machine even if other interrupts are turned off.) Demoscene coders used tricks like that to perform amazing feats of graphic magic.

Now's the time - the garage programmer is experiencing a resurgence thanks to the mobile app stores, and the PC indie scene.

Do not forget: the Arduino and, to an extent, the Raspberry Pi are bringing low-level hardware hacking to a legion of new enthusiasts. People have hacked their Arduinos into game consoles with better display characteristics than a Genesis/Mega Drive.

* At this point I looked for my old C64 Programmer's Reference Guide, THE one necessary book for Commodore programming, to find out how many cycles it took, then realized it's gone missing over the years. This made me sad.
posted by JHarris at 1:38 PM on April 26, 2012 [16 favorites]




I have a sudden urge to play Tempest.

I love Tempest, and the original Star Wars arcade game, but they are not *true* vector games. I mean, they used vectorized graphics (i.e. lines), but they still relied on color CRT's made up of pixels, whereas true vector games were monochrome lines drawn on a solid screen. (Star Castle gives the appearance of being multicolored by the quaintly primitive technique of putting a colored applique' on the screen.)

Asteroids, Asteroids Deluxe, Lunar Lander, Battlezone, Star Castle. Those were true vector games.

posted by ShutterBun at 8:27 PM on April 26, 2012


Yes, they were "vector based," but again, they used color CRT's. It's different technology. It's got a different aesthetic, and it's absolutely unmistakable when you see them in person.

Here's a good database of all the vector (and vector-related) games. The ones that I would call "true" vector games are all strictly "black and white" or "black and white with overlays." It's a totally (well, not totally) different way of projecting the images on the screen. True vectors aren't "scanned" so much as they are "drawn."

Take a look at an Asteroids game where you see the "bullets" being shot, especially those coming from the flying saucers. They are not pixels, they are a single beam of electrons moving along an analog path. Granted, there is still a "refresh rate" involved, so it's not truly analog, but they have a look that no ordinary color monitor can replicate. They have this "glow" to them, something that a color CRT with a shadow mask (basically a metal screen which ensures that photons hitting a particular pixel will not "bleed" into adjacent pixels) cannot replicate.

A line on a true vector game is just that: an unbroken line drawn indivdually. A color game using vector graphics is still (as far as I know) scanned from top to bottom by the electron gun, and drawn from left to right, top to bottom.

I suppose it's a little like comparing vinyl to CD's, but the difference here is VERY noticeable.
posted by ShutterBun at 10:14 PM on April 26, 2012


Re: the "Color Quadrascan" system Atari mentions in reference to Tempest, it almost seems like they had THREE seperate vector guns shooting at the screen, but that by varying the intensity of the guns and sensitivity of the colored phosphors, were able to achieve multiple colors on a true vector screen.

I have a feeling that Atari probably introduced this monitor initially, and it became so burdensome that they replaced it with rastarized CRT's eventually.

Come to think of it, now I really AM in the mood to play some Tempest!
posted by ShutterBun at 10:25 PM on April 26, 2012


Here's a clip of a Tempest arcade game being played, and if you notice in the opening segments, the different colors seem to be behaving differently during the motion/frame blur. That's very telling. (note also that the graphics have the tell-tale "bright spots" at the endpoints of line segments, as well as where lines intersect each other; something that wouldn't happen on a standard rasterized CRT)

I think Tempest can safely go back onto the list of *true* vector games, its only distinction being that it used three independent guns of varying intensities to allow for multi-color graphics without overlays.

I suspect that I've been playing retro-fitted rasterized CRT's in my more recent memory, which made me suspect that they'd been that way all along.

Yep, looks like Tempest is a real-deal vector game. I stand corrected, and I approve.
posted by ShutterBun at 10:35 PM on April 26, 2012 [1 favorite]


I am not as much of an expert on classic arcade games as I might sometimes seem, but I find it odd that this is the first time I've heard of this. It seems like it would be substantially difficult for hardware of the era to do vector graphics in a raster style without a framebuffer, although I wouldn't go so far as to say it's impossible. Atari employed some very smart people at that time.
posted by JHarris at 12:18 AM on April 27, 2012


I find it odd that this is the first time I've heard of this

First time for me too. I figure we're just in the red universe again.
posted by obiwanwasabi at 2:20 AM on April 27, 2012 [1 favorite]


I should probably further apologize for the derail, because the more I look into it, the more I see that the original machines were indeed some kind of "multi-color vector displays" based on the Quadrascan, or similar technology. This screenshot of Star Wars exhibits the "glowing" effect I was talking about, and is indeed limited to red, green, blue, and white lines.

Once again, I think my memories have been tainted by retro-fits of Quadrascan monitors into regular CRT's. There's a company called "Vector VGA" who makes retrofit monitors specifically for most of these games, and I have a feeling this is what caused me to go off on this tangent.
posted by ShutterBun at 3:52 AM on April 27, 2012 [1 favorite]


I've seen a few of the original star wars arcade cabinets around that seemed to just really look "off" from how I remembered it... Now I know that it wasn't just my childhood memories making it more awesome than it was, it was just a true vector display. Neat!
posted by MysticMCJ at 8:13 AM on April 27, 2012


The minute that I read "vector game", my visceral, cerebellar memory returned to playing the Atari Star Wars arcade game -- unmistakably different in how the graphics were drawn, and I recall a ten-year-old me thinking, "THIS IS SO DAMN COOL."
posted by delfuego at 8:58 AM on April 27, 2012


I find it odd that this is the first time I've heard of this

First time for me too. I figure we're just in the red universe again.


Right? Not only that, but I'm not familiar with Star Castle at all. I spent as much time in arcades as any dorky extremely cool kid growing up in the 1980's, and I don't ever recall playing the game. The reason I mention that is because it looks exactly like the kind of game I would have stuffed full of quarters growing up (a top-down shooter). So when I see it, it seems a little off. I'll ... just go off and play some more 1955, the umpteenth sequel to 1942 that came out in 1988, where you have to fight Cold War Russians.
posted by jabberjaw at 9:10 AM on April 27, 2012 [1 favorite]


Aw man, Star Castle was my b---h! I guess I was lucky enough as a dorky extremely cool kid growing up in the 80's to be close to an arcade that had this game (Dream Machine, Holyoke MA). This is a great game and I am sorry for those in the red universe who missed out on it.

Speaking of beautiful vector games, in this same arcade was the rare Warrior vector game by a company called VectorBeam. (Sample video gameplay) I fell in love with this game, it had a weird dimensionality to it and the vector knight players used an early version of motion capture. I dumped many quarters into it until one fateful day when it just failed. I guess I was a vector type of kid.
posted by jeremias at 10:32 AM on April 27, 2012 [1 favorite]


I'm not familiar with Star Castle at all. I spent as much time in arcades as any dorky extremely cool kid growing up in the 1980's, and I don't ever recall playing the game. The reason I mention that is because it looks exactly like the kind of game I would have stuffed full of quarters growing up

Maybe Star Castle was more popular in certain regions than in others, but as a kid growing up in the Midwest I remember EVERY damn arcade I went to had a Star Castle in it. It was, in fact, exactly the kind of game I would have stuffed full of quarters growing up.
posted by 40 Watt at 10:33 AM on April 27, 2012


I loved Star Castle, Warrior, Tail Gunner and Rip-Off; all Tim Skelly games, apparently. (I bet my parents smirked when I asked for quarters to go play Rip-Off.)

Omega Race, though, that was the shit.
posted by fleacircus at 11:33 AM on April 27, 2012 [1 favorite]


I fell in love with this game, it had a weird dimensionality to it

Yeah, the CRT was tilted way back so that it was like looking into a box, and playing a game being displayed on the bottom of the box*. The background/map was on overlays and had stairs; as the fighters went up and down the stairs they scaled up or down in size, which is more apparent in a video of the actual game.
posted by fleacircus at 11:50 AM on April 27, 2012


I think there must be an issue of some arcade games being more popular in different markets. Kind of like how you can find Mr. Pibb in cans in other geographical regions of the U.S. For instance, I used to play Super Don Quix-ote quite a bit at one arcade, but I've never seen it since. If anyone here has seen the similar game "Adventures in Middle-Earth" by the same company, let me know. I grew up mostly in the state of Southern California.
posted by jabberjaw at 11:53 AM on April 27, 2012


jabberjaw: "If anyone here has seen the similar game "Adventures in Middle-Earth" by the same company"

According to that page, Adventures in Middle Earth was never released... along with the amazing-sounding SPACE DRACULA.
posted by 40 Watt at 12:44 PM on April 27, 2012


It's pretty easy to tell which games are true vector graphic games.

Look for reports of them being ported to laser projection systems, which by definition are vector-graphic based.

Tempest (sadly no video)
Asteroids

Apparently there is a whole community which uses LaserMAME to do old vector games on lasers. It's pretty cool overall.

I'd love to play Star Castle projected by lasers onto the side of a building.
posted by hippybear at 1:37 PM on April 27, 2012 [5 favorites]


What is meant by saying that Star Castle is a "vector" coin op game is that the CRT hardware was special: The game could direct the electron bream to go to ANY location on the screen, and draw in any direction.

CLICK! An unresolved mystery of my childhood solved. Thank you!

(When I was too young to understand how CRTs worked, but old enough to dabble in BASIC, I could still see that some monochrome arcade machines could draw very smooth diagonal lines (ie without pixel jaggies). I assumed they were very high resolution, but more advanced machines seemed to have lower resolution displays.

Since then I learned about CRTs (and non-scanline CRTs like oscilloscopes), but had forgotten about the arcade machines, so didn't make the connection.
Now everything is remembered and tied together. So that's how they did it! :)
posted by -harlequin- at 9:55 PM on April 27, 2012 [1 favorite]


hippybear: "Look for reports of them being ported to laser projection systems, which by definition are vector-graphic based.

Tempest (sadly no video)
Apparently there is a whole community which uses LaserMAME to do old vector games on lasers. It's pretty cool overall.

I'd love to play Star Castle projected by lasers onto the side of a building.
"

This just gave me an idea for a future Burning Man installation. Tempestish clone player sits in a platform (facing up or down, haven't decided yet) that rotates around around the laser projector to match the game avatar. Probably can't do it this year, but maybe next. Arg, working on too many things at the moment.
posted by the_artificer at 11:46 PM on April 27, 2012 [1 favorite]


Right? Not only that, but I'm not familiar with Star Castle at all.

I think that's what's thrown me. I was really, really into arcades as a kid. I have a MAME cab in my garage. But when I watched the YouTube vid of the original, I didn't get a 'oh, yeah, Star Castle, now I remember' feeling. It's a 'WHERE THE HELL HAS THIS GAME BEEN ALL MY LIFE MUST HAVE NOW' feeling. I mean, just look at it. Listen to it. It's fucking gorgeous. I've never seen or heard anything like it. They should have made The Last Starfighter about this.
posted by obiwanwasabi at 12:50 AM on April 28, 2012


I have a MAME cab in my garage. But when I watched the YouTube vid of the original, I didn't get a 'oh, yeah, Star Castle, now I remember' feeling.

I'm guessing this must be true for most vector arcade machines - they can't be emulated with mame, etc.

What do people these days if they want to run vector graphics using modern off-the-shelf hardware?
posted by -harlequin- at 1:18 AM on April 28, 2012


Tempestish clone player sits in a platform (facing up or down, haven't decided yet) that rotates around around the laser projector to match the game avatar.

Unfortunately that knob spins with a lot less inertia than would a guy in a chair whizzing around. You'd have to redesign the game to account for that. Not that it's not possible, and not that it *can't* work, but it would have to discard part of what makes Tempest awesome.
posted by JHarris at 1:23 AM on April 28, 2012


You'd have to redesign the game to account for that.

Or give power-assist to the chair...

...It's a tough shot... gotta turn quickly fo any hope of making it... So how important is that shot to you? Is it worth the small risk of blacking out?

Now there's a game! :)
posted by -harlequin- at 1:30 AM on April 28, 2012 [1 favorite]


I'm guessing this must be true for most vector arcade machines - they can't be emulated with mame, etc.

They can definitely be emultated, and high-res monitors, while not perfect, can at least come close to the smooth lines of a vector display. Asteroids, Tempest, Lunar Lander, Star Castle, and Star Wars (see the other thread about the mini-Star Wars emulator) are all available, along with pretty much every other vector game.

it would have to discard part of what makes Tempest awesome.

Yeah, Tempest had a "flywheel knob" similar to an old-school radio dial knob, where it has some weight and inertia to it. Spinning from one end to the other during the "bowling alley level" or doing a bunch of revolutions around the "cloverleaf level" with one good flick was a very satisfying part of the game.
posted by ShutterBun at 1:36 AM on April 28, 2012 [1 favorite]


Or give power-assist to the chair...

I would hate to think of what kind of G forces that would inflict on the poor pilot.
posted by JHarris at 1:49 AM on April 28, 2012


Battle Zone was the first computer game to ever win my heart. Space Invaders and Asteroids were really just images on a two dimensional plane. Nothing there that you couldn't play on any non-computer technology. But the idea that you could drive a tank through some virtual three dimensional space, bumping into pyramids and avoiding missiles while you tried to track and kill other tanks was utterly compelling to me.

Consequently, it was only the vector arcade games that really seized my imagination. Star Wars particularly, but I also loved the abstract zapping of Tempest.

I don't even remember Star Castle being any good though.
posted by PeterMcDermott at 5:44 AM on April 28, 2012


I dated a girl in the mid-to-late 80's who had a full-size "Battlezone" machine in her living room, complete with the "periscope" or goggles, or whatever you want to call it. Take a guess on what my biggest regret about our breaking up was.
posted by ShutterBun at 6:23 AM on April 28, 2012


I'm guessing this must be true for most vector arcade machines - they can't be emulated with mame, etc.

I also have a MAME cabinet. Most of the vector games look and play just fine. I don't know if there's some extra code to better simulate the vector graphics, but they even have the bright spots at the line junctions. The monitor I use is sufficiently high res (not by today's standards, but certainly by the standards of the 1980s) so as to render the vectors almost indistinguishable from the original. It's not "as good" as a true vector cabinet, but it's certainly good enough to enjoy the game fully. Most of the limitations are more due to not having the exact controls, such as the analog stick for Tailgunner, the big throttle for Lunar Lander, or the duel sticks and periscope for Battlezone.

I do have a weighted spinner, which I put there specifically so I could play Tempest.

Still though, there was something magical about the vector games back in the day. They all felt more like you were playing a simulation than just a game.
posted by bondcliff at 6:44 AM on April 28, 2012 [1 favorite]


I dated a girl in the mid-to-late 80's who had a full-size "Battlezone" machine in her living room, complete with the "periscope" or goggles, or whatever you want to call it. Take a guess on what my biggest regret about our breaking up was.
I'm assuming you weren't the one who initiated the breakup.

Unless it was a young, ummm, I can't think of an example of a woman so horrid that it would make me give up Battlezone.
Does that make me shallow?
posted by fullerine at 3:38 PM on April 28, 2012 [1 favorite]


Where can I get more info on LaserMAME? When I googled I found some videos, but no download or how to links. I'd love to have some old games played via lasers.
posted by caphector at 12:09 AM on April 29, 2012 [1 favorite]


Weren't arcade to 2600 ports full rewrites anyway? I mean, I get that vector games are different than raster games, but it seems like they had to start from scratch for any of these games.

Like in this case, the programmer said it couldn't be done. Well, I bet the other big arcade games couldn't be done well, but there was too much money to let that stand in the way.
posted by smackfu at 7:03 AM on April 30, 2012


To what extent would he have been assisted by modern dev tools?

As a non-programmer, I could see it going either way - modern tools designed for a level of abstraction that doesn't really scale well for a 2600. OTOH, the purpose of the abstraction is to enable more complex systems than from humans working in assembly.
posted by -harlequin- at 10:56 AM on April 30, 2012


Space Fury, suckaz!

I won an iron on transfer from a Sega arcade for high scoring on that one.
posted by Samizdata at 2:26 PM on April 30, 2012


Space Fury? I don't think I've ever seen that one either.

As with all of Sega's vector games, the Electrohome color vector monitor used for this game has a notorious tendency to catch fire. It is unknown what to do to prevent this.

Hmm. Maybe that's why.
posted by jabberjaw at 3:41 PM on April 30, 2012


« Older Research on happiness and profit   |   We need a better way to poop Newer »


This thread has been archived and is closed to new comments