If you’ve ever wanted to sit at the console of the machine that started the revolution in interactive computing, your options are extremely limited. Of the 53 PDP-1 machines that Digital Equipment Corporation made, only three are known to still exist, and just one machine is still in working order at the Computer History Museum. So a rousing game of Spacewar! on the original hardware is probably not something to put on your bucket list.
But thanks to [Hrvoje], there’s now an FPGA emulation of the PDP-1 that lets you play the granddaddy of all video games without breaking into the CHM. The project was started simply to give [Hrvoje] a sandbox for learning FPGAs and Verilog, but apparently went much further than that. The emulation features the complete PDP-1 instruction set, 4kB of core memory, and representations of the original paper tape reader, teletype, operator’s console, and the classic Type 30 CRT. All the hardware is displayed on a standard HDMI monitor, but it’s the CRT implementation that really sells this. The original Type 30 monitor used a CRT from a radar set, and had long-persistence phosphors that gave the display a very distinctive look. [Hrvoje] replicated that by storing each pixel as three values (X, Y, and brightness) in a circle of four chained shift registers. As the pixels move through the shift registers, the brightness value is decreased so it slowly fades. [Hrvoje] thinks it doesn’t look quite right, but we’ll respectfully disagree on that point.
We’ve argued before that the PDP-1 is the machine that started hacker culture, and we think this project is a fitting tribute to the machine as we enter the year in which it will turn sixty. Having the chance to play with it through this emulation is just icing on its birthday cake.
Games like Pong are legendary, not only in the sense that they are classic hours fun but also that they have a great potential for makers in stretching their learning legs. In an attempt at recreating the original paddle games like Pong and Tennis etc, [Grant Searle] has gone into the depths of emulating the AY-2-8500 chip using an Arduino.
For the uninitiated, the AY-3-8500 chip was the original game silicon that powered Ball & Paddle that could be played on the domestic television. Running at 2 MHz, it presented a 500 ns pixel width and operated to a maximum of 12 Volts. The equivalent of the AY-3-8500 is the TMS1965NLA manufactured by Texas Instruments for those who would be interested.
[Grant Searle] does a brilliant job of going into the details of the original chip as well as the PAL and NTSC versions of the device. This analysis will come in handy should anyone choose to make a better version. He talks about the intricacies of redrawing the screen for the static elements as well as the ball that bounces around the screen. The author presents details on ball traversal, resolution, 2K memory limit and its workarounds.
Then there are details on the sound and the breadboard version of the prototype that makes the whole write-up worth one’s time. If you don’t fancy the analog paddles and would rather use a wireless modern-day touch, check out Playing Pong with Micro:bits
Would you play a game of Pong where each set lasts exactly one minute and the right player is guaranteed to win 60 times more than the left player? Of course not, but if you were designing a clock that displays the time using a Pong motif, then perhaps it would make sense.
There are some neat design tips in [oliverb]’s Pong Clock that are worth taking a look at. Foremost is the case, which is a retasked jewelry box with a glass lid, procured on the cheap from eBay. It’s a good size for a clock meant to be seen from across the room, and already finished to fit into modern decor. The case holds all the goodies, from the 24×16 green LED matrix display to the Uno that runs the show, as well as an RTC module, a sound chip, a temperature sensor, and a PIR module to turn the display off when the room is unoccupied. To prevent disrupting the sleek lines of the case, all the controls are mounted in a remote panel, itself a clean and modern-looking device thanks to the chrome-plated duplex outlet cover used to house it. The clock has several display modes, from normal time and temperature to a word clock, as well as the Pong mode, where the machine plays itself and the score shows the time. It’s fascinating to watch, and we like everything about it, although we think the tick-tock would drive us nuts pretty quickly.
We recently covered the life and times of [Ted Dabney], one of Pong’s fathers and co-founder of Atari. We tend to think he’d like the design of this clock, both as a nod to his game and for its simple but functional design.
What makes a game a game? Like, how do we know that we’re looking at a variation of PONG when confronted with one? And how do we know how to play it? [Bertho] sought to answer this question as he designed what is probably the smallest-ever 1-D PONG game. His answer involves charlieplexing LEDs, using a voltage divider to save I/O pins, and a couple of AAAs that should last for a long, long time.
[Bertho]’s Minimum 1-D PONG, or m1dp for short, puts an ATTiny85 through its paces as gameplay quickly progresses from ‘I got this’ to ‘no one could possibly keep this up’. This state machine sleeps until one of the two buttons is pressed, at which time a wait animation starts. The action begins with the next button press.
Game play across only five LEDs makes for some pretty intense action, too. Fortunately, the buzzer is a big part of the experience. It sounds one tone for each LED when the ball is in play, and a different tone to confirm button presses. [Bertho] saved so many I/O pins with charlieplexing that he added a green LED that lights up when it’s OK to return the ball. If we were playing, we’d keep our eye on this LED instead of trying to watch the ball. We’re serving the demo after the break point, so don’t let it get past you.
For a study in minimalism, there sure is a lot going on here with all the different tones and animations. If you’d prefer maximalist 1-D PONG, there’s always LED strips. If dungeon crawlers with satisfying hardware are more your thing, you really need to check out Twang.
It may be hard for those raised on cinematic video games to conceive of the wonder of watching a plain white dot tracing across a black screen, reflecting off walls and bounced by a little paddle that responded instantly to the twist of a wrist. But there was a time when Pong was all we had, and it was fascinating. People lined up for hours for the privilege of exchanging a quarter for a few minutes of monochrome distraction. In an arcade stuffed with noisy pinball machines with garish artwork and flashing lights, Pong seemed like a calm oasis, and you could almost feel your brain doing the geometry to figure out where to place the paddle so as not to miss the shot.
As primitive as it now seems, Pong was at the forefront of the video game revolution, and that little game spawned an industry that raked in $108 billion last year alone. It also spawned one of the early success stories of the industry, Atari, a company founded in 1972. Just last week, Ted Dabney, one of the co-founders of Atari, died at the age of 81. It’s sad that we’re getting to the point where we’re losing some of the pioneers of the industry, but it’s the way of things. All we can do is reflect on Dabney’s life and legacy, and examine the improbable path that led him to be one of the fathers of the video game industry.
What’s a hacker to do to profess his love for his dearest beloved? [Nitesh Kadyan] built his lady-love this awesome LED pendant – the LED BLE Hearty Necklace Badge.
The hardware is pretty vanilla by today’s hacker standards. An ATMega328p does most of the heavy lifting. An HM-11 BLE module provides connection to an Android mobile app. Two 74HC595 shift registers drive 16 columns of red LEDs and a ULN2803 sinks current from the 8 rows. The power section consists of a charger for the 320mAh LiPo and an LDO for the BLE module. All the parts are SMD with the passives mostly being 0603, including the 128 LEDs.
[Nitesh] didn’t get a stencil made for his first batch of boards, so all the parts were painstakingly soldered manually and not in a reflow oven. And on his first board, he ended up soldering all of the LED’s the wrong way around. Kudos to him for his doggedness and patience.
The Arduino code on the ATmega is also quite straightforward. All characters are stored as eight bytes each in program memory and occupy 8×8 pixels on the matrix. The bytes to be displayed are stored in a buffer and the columns are left shifted fast enough for the marquee text effect. The Android app is built by modifying a demo BLE app provided by Google. The firmware, Android app, and the KiCAD design files are all hosted on his Github repository.
[Nitesh] is now building a larger batch of these badges to bring them to hillhacks – the annual hacker-con for making and hacking in the Himalayas. Scheduled for later this month, you’ll have to sign up on the mailing list for details and if you’d like to snag one of these badges. To make it more interesting, [Nitesh] has added two games to the code – Tetris and Snakes. Hopefully, this will spur others to create more games for the badge, such as Pong.
Where would the world be today without Pong, perhaps a lot less fun? For people like [Linker3000] the game is an inspiration toward teaching the next generation of hackers to build and play their own version using Micro:bits as controllers!
Aiming for doing all manner of diligence, [Linker3000] says the code can simply be uploaded to an Arduino — foregoing throwing together a circuit of your own — if you want to jump right into things. For the workshop environment, this setup uses composite video outputs — but this shouldn’t be an issue as most TVs still retain these inputs.
Once built — or sketch uploaded — the Micro:bit paddles can be connected to the ATmega328p and played like an old-school controller, but [Linker3000] has enabled Bluetooth control of the paddles’ A and B buttons via the Bitty app. Additionally — if wires really aren’t your thing and Bluetooth is too new-school for such an old game — a second Micro:bit can control the wired paddle using their built-in radio, provided they’re configured accordingly.
On top of Pong, there are also squash and soccer game modes! Check out the demo after the break.