NEW YORK, 1:05 AM, WED JUL 9 | 66 POSTS IN THE LAST 24 HOURS | tips@gizmodo.com | RSS
UK | FR | NL | IT | DE | ES | JP | AU

Video of Classic Star Wars Arcade Running on a Oscilloscope


Here's an exclusive video of the classic Star Wars arcade running on an oscilloscope thanks to a sound card and a specially patched version of MAME. We talked with James Brown—the author of this hack, not the Godfather of Soul—about how he did it and the possibilities for his hack. Among them: connect it to a real laser cannon. Full interview and details after the jump.

Jesus Diaz: Stunning hack, James. First question: can you run Asteroids on this?
James Brown: It should run any of the vector games that MAME handles. I've only tried it with Star Wars and Asteroids though. I have a poor quality video of Asteroids running on it:

JD: Did it require patching the MAME source?
JB: It did involve patching MAME —in fact that's all it requires. I modified MAME's vector rendering code so that instead of rasterizing the image for display on a conventional monitor, it does pretty much what the original hardware was doing.

Since there's no input on the scope for varying the brightness of the beam, I vary the speed of it to produce the same effect. The scanning signal is output using the soundcard, and the scope connected to the left and right channels in XY mode.

JD: Amazing. So how much time did it take you to do this?
JB: It took a couple of hours to get it up and running.

JD: Is electronics related to your profession or just a hobby?
JB: I work for Lumen Digital creating interactive exhibits. It's mostly software, but I do a little hardware prototyping too. This hack didn't involve any electronics; I just happened to have a scope lying around and wanted to play with it.

Lumen Digital Show Reel

JD: It's hard to believe that no special electronics are needed for a dumbass like me.
JB: Well, there's not much to say on the project technically. It uses no special hardware—just an oscilloscope connected to the sound card line out.

Early '80s vector games don't have a huge amount of detail in them—in game, Star Wars is generally using fewer than 1,000 lines (including repositioning the beam and drawing the starfield). This is easily achievable within the audio bandwidth.

There's no direct control over beam intensity on my oscilloscope, so instead I vary the speed of the beam. If you turn the brightness right up on the scope, you can see the beam moving from one line to another. To play the game, you turn down the brightness so that only the slowly drawn lines are visible.

JD: So only a soundcard is needed...
JB: Soundcards output an AC signal—any DC component gets cancelled out. What this means when controlling a vector display is that if you have a lot of lines on the left side of the screen, the display will drift to the right to keep it centred. To get around this, the code tracks where the beam is spending its time during each frame, and then draws little dots at the corners of the display to make it balance. You can see these dots flickering on and off in the video as the action changes on screen.

JD: Are you planning to release the patched code back to the community?
JB: It's tempting to make the code available, but there's a big difference between a quick proof-of-concept hack, and clean code that can be rolled into MAME and that has a reasonable chance of running on anybody else's hardware. If there's enough interest I'll probably do it, but there's not too many people with access to an oscilloscope.

JD: Yeah, well, but I have a friend who has a friend with a laser cannon... imagine Star Wars on an entire building...
JB: Yeah, I too want to run it on a laser projector. I built an XY scanner using a couple of speakers with mirrors on them, but it didn't have the frequency response to display a game. I suspect it can't be done without closed-loop feedback.

JD: Well, hopefully someone will drop a package with one for you to play. Thank you very much for your time, James. And again, amazing work.
JB: Thank you!

[Star Wars disco-sci-fi theme by legendary group The Bordens]

10:37 AM on Fri Dec 7 2007
By Jesus Diaz
13,020 views
16 comments

Comments

  • Ok I have seen some pretty cool stuff done with an oscilloscope but nothing like this.....

    Could of done without the Disco version of the StarWars theme though...

  • thats pretty crazy i dont see how thats possible

  • Very cool. Wish I knew this hack back in electronics class.

  • makes me kinda wish i knew what they were talking about. i didn't know you could MAME things besides animals and people.

    just goes to show, you learn something new everyday!

  • @DSaddict: MAME stands for Multiple Arcade Machine Emulator. Its a program that emulates arcade machine hardware so you can run old (and new) arcade games on your computer.

  • @ILLUSTRIOUSCHIN

    Most O-scopes have the ability to directly control the X and Y axis of the CRT beam by inputting a analog signal into the two X-Y inputs. In this clever case, the inventor is using the left and right speaker outputs as the beam controllers.

    Pretty ingenious. This is pretty much how all vector graphics games work. Accept, they probably run a faster signal. Audio maxes at 22khz? Like the inventor said, just enough speed to get all the objects in the scene.

  • my eyes hurt from watching!

  • I'd like to see a how-to. I have an old o-scope collecting dust.

  • I don't think I speak for myself when I say that any self-respecting electrical engineer would love to see instructions for how to do this.

  • From: FEEDS.FEEDBURNER.COM: TRACKBACK at 12:32 PM on 12/07/07

    Watch these videos of the astonishing hardware hacking that got the original Star Wars and Asteroids arcade games running on an oscilloscope. They'll look even more impressive in-person: persistence of vision will smooth out the flickering and tearing that videocams pick up.

  • That's the first time I've ever lol'd at an RSS feed tag.

  • how to? did you guys read teh article? Apparently its a no bariner, once you get your head around teh software. Electrically it goes like this, 1/8th inch soundcard plug to bnc or bannana plug. Insert BNC or bannan plug into x and y connectors of o-scope. I am sure it takes some highly qualified techs to adjust the azimuth and range on the scope to bring the image in. I am gonna go look up Mame.
    more importantly, where did this joker get the rom for teh game? Or does he actually have one of these lying around!


  • no brainer, not 'bariner".
    Just got my laptop back from IBM/Lenovo and the replacement keyboard is a little stiff. BTW kudos to IBM/Lenovo for turning around this RMA in 3 days. I dropped it off at officemax DHL kiosk on wednesday. IT was at my door 10 minutes ago. That doesnt suck.
    Hey and Giz, how about an option to edit our posts. I know it opens a whole legal can of worms.
    "he totally called me a steampunk apple fanboy, then changed it to be about quartz watches from the 80's" but c'mon.




  • ...or, how about you reread what you've written before hitting 'submit'?

  • a late comment.. but seeing that many people don't really even know what a vector (aka: XY) display is, or why Atari used them in the golden age (hint: it was because RAM was expensive), It may come as a surprise that you can connect an oscilloscope directly to the real hardware in about 30 seconds and get the same result with no 'hacking' at all..

    and if this works with a scope, you might as well just buy an Electrohome GO5 XY monitor off ebay for $100 (the monitor Asteroids used) and hook it up.. it costs less than a good scope and has a 19" screen. actually, screw that.. just buy the entire game for $400 and stop screwing around with mame and destroying our society. (uh.. sorry)

  • That...is....cool! I can't believe it! He actually put a game thru an oscilloscope! I can't believe it!

Start a discussion:

Reply by Email

Login with your username and password below. Or comment on this post via email.