Got to show something new at VCF Midwest on August 29-30, so here is the PiDP-8 running spacewar, the world's first ever video game:
See halfway on the page here for spacewar history.
Note the homebrew controllers - clunky looks intended (see the originals here). The poor photography is not intentional though. It's just very late at night... preparation for a VCF always happens at ungodly hours.
The screen is a $20 HMDI TFT put in a matching case. Makes for a rack-mounted look. I still want to add some instrument features (A/D, D/A converters etc) so it becomes a proper lab peripheral, just like DEC offered back in the day.
Intellectual credits go to Kyle Owen,
who ported spacewar to SimH and also made a nice X/Y (oscilloscope)
display emulator using Processing. The phosphorous effect deserves a
video, really! I ported it to C on the Pi, as Processing has 'issues'
with the little machine. The Pi program runs on a stock PiDP, but the keyboard handling makes it not nice to play just yet (5 days to go to VCF MW). Kyle's Processing display emulator through a telnet link works beautifully though!
Oscar - in the interests of compatibility, could you lay down some rough rules about some of the external options?
One of them would be regarding connecting external spacewar controllers.
I was looking through the notes on the expansion connector. I assume that the "Spare IO" could be an additional row? That would mean the possibility of row2/6 switches and "row4"/12 switches making a total of 18 possible external switches.
Given the wide availability of classic Atari/C64 style joysticks, I would think that assigning 10 of those switches to two joysticks in a predictable manner would allow for things like a daughter board that would implement the few needed pieces in a standard manner.
I was wondering about paper tape interfacing, but after looking through some some articles on how the ASR-33 operated, it looks like paper tape simply appears to the PDP as a serial device. With simh 4.0 implementing USB serial connections, that seems like a better route for those considering paper tape options.
Err... the expansion connector contains all the 12 column lines and the 2 row pins (switch groups) that have a few column that are not used on the front panel. There's also the one single unused IO pin from the GPIO that can be freely used. Plus the ledrows. With the ledrows, you have to keep in mind they are coming straight out of the driver IC, meaning they carry more than 3.3V. That's fine if you put a led on it, the voltage drop of which will make it safe for use with the Pi.
One of them would be regarding connecting external spacewar controllers.The spacewar controllers I concocted are soldered straight on the solder pins of the switches (SR1-4 for player 1, SR9-12 for player 2). That's how it was done for the original, and it saves extra programming effort - this is how the spacewar code expects it to be. So, although it could be using the expansion connector, it actually does not.
It's simpler to solder the controllers (or joysticks) straight on the front panel switches though. That eliminates the need for a diode. What I did was to solder a DB-9 connector with wires to the back of the switches. There's no reason why you could not use normal Atari/Commodore style joysticks.I'll add details to the web site on this next week, that may be useful.
Hence, the following small chart. (Sorry for the graphic, but tables are really hard to get right in plain text.)
... Chris
You said you had used controllers but didn't go into much more detail than that. It seems likely that you would have encountered this problem. How did you handle it?
My mistaken inference, then. I had thought you were using original style control boxes, which had a push-pull stick ("big toggle switch") for thrust and hyperspace.
You actually had a completely different option - just duplicate the sense switches and use "press both". (Duh, I say at myself.)
I'm still looking to have a nice clean back panel, and I think there is some benefit to nailing down the wiring pattern.
I'm curious to know if any significant number of people actually want classic interfaces; I may be biased by the fact that there is a classic game shop about two minutes walk from work, where I can get a wide selection of old controllers, so I can avoid building those entirely. But your button only interface is a nice match for the overall feel of the PiDP-8!
Chris,
Has anyone reproduced the SpaceWar demo? I tried a while back, but couldn't get the display going.
Ideally, I'd like to be able to connect to the SpaceWar server over a remote connection. My goal is to have a "history of video games" exhibit for a local grade school in about a month, and this would be a great addition.
I also don't mind a bit of woodworking, but that's further down my list of concerns. :)
thanks,dylan