Pi Pico Project Plays Pong Perfectly

Even as technology keeps progressing, we find ourselves coming back to the classics again and again. Pong is quite possibly the classic game, and the Raspberry Pi Pico is one of the latest microcontrollers. So [Nick Bild] combined them expertly in his Pico Pong project, which includes gesture controls and a custom VGA output.

Rolling your own VGA signal is no simple feat, and this project takes full advantage of the Pico’s features to pull it off. Display data is buffered in memory, while a Programmable I/O (PIO) program reads straight from the buffer via Direct Memory Access (DMA) and writes straight to the display. This allows for nanosecond-precision while leaving the CPU free to handle inputs and run the game. Even with the display work offloaded, the ARM processor had to be massively overclocked at 258 MHz, well over its 133 MHz specs, to make things run smoothly. And still [Nick] found himself limited to a 640×350 resolution and serendipitously-retro-accurate monochrome color scheme.

Gesture controls come from a pair of IR light beams hooked up to the GPIO. IR LEDs shine up toward reflectors, and the light bounces back down to detectors. Blocking one of the beams causes your paddle to move up or down, which looks pretty responsive in the video (embedded below).

We’ve seen [Nick] play Pong before, though at that time it was handheld and based on the venerable 6502. And just recently we wrote about the Raspberry Pi Pico powering another classic game: Snake.

Continue reading “Pi Pico Project Plays Pong Perfectly”

Framed PONG Is Picture Perfect

How cool would it have been if arcade cabinets had acrylic panels all along that let you gaze upon the field of TTL chips within? When [Jürgen Müller] scored the innards of an original 1972 PONG machine, that’s exactly what the plan was: build a suitable cabinet that re-imagines PONG as a sleek and stunning work of art.

Instead of trying to cram a CRT in that nice mahogany cabinet, [Jürgen] opted to use an 8″ TFT screen. But get this: [Jürgen] built a Spartan 6 FPGA-based upscaler to adds the scan lines, blur, and afterglow that make it look like the classic PONG experience.

[Jürgen] also built an interface board that amplifies the sound, splits the video out into sync and brightness for the upscaler, and provides 5 V to the PONG circuit board. [Jürgen] decided to circumvent the board’s native voltage regulator in the name of keeping things cool.

[Jürgen] says the project’s web page is in a preliminary stage right now with more information to come. We sure hope that includes a video of it in action. For now, you can check out the files for the interface PCB, the FPGA board, and a list of the fonts.

Should you ever get tired of classic PONG, try playing it in one dimension.

Thanks for the tip, [Anonymous].

Linear Pong Loses A Dimension But Remains Challenging

When Pong hit the scene in the early 70s, there was something about the simplicity of the 2D monochrome tennis game that made it engaging enough that enthusiastic proto-gamers shorted-out machines by stuffing their coin boxes to overflowing.  But even with the simplicity of Pong’s 2D gameplay, the question becomes: could it by made simpler and still be playable?

Surprisingly, if this one-dimensional Pong game is any indication, it actually seems like it can. Where the original Pong made you line up your paddle with the incoming ball, with the main variable being the angle of the carom from your opponent, [mircemk]’s version, limited to a linear game field, makes the ball’s speed the variable. Players take control of the game with a pair of buttons at the far ends of a 60-LED strip of WS2812s. The ball travels back and forth along the strip, bouncing off a player’s paddle only if they push their button at the exact moment the ball arrives. Each reflection back to the opponent occurs at a random speed, making it hard to get into a rhythm. To add some variety, each player has a “Boost” button to put a little spice on their shot, and score is kept by LEDs in the center of the play field. Video of the game play plus build info is below the break.

With just a Neopixel strip, an Arduino Nano, and a small handful of common parts, it should be easy enough to whip up your own copy of this surprisingly engaging game. But if the 2D-version is still more your speed, maybe you should check out the story of its inventor, [Ted Dabney]. Or, perhaps building a clock that plays Pong with itself to idle the days away is more your speed.

Continue reading “Linear Pong Loses A Dimension But Remains Challenging”

Handheld Pong On A 6502

Recreating the arcade smash hit Pong in a device small enough to plug into a home television was a considerable technical challenge back in 1975. Of course, a big part of that was the fact that it needed to be cheap enough that consumers would actually buy it. But had money been no object, the Vectron Handheld by [Nick Bild] shows what a dedicated Pong board based on the 6502 CPU and 7400-series logic could have looked like.

Prototyping the Vectron Handheld

Well, aside from the display anyway. While [Nick] made sure to use components that were contemporaries of the 6502 wherever possible, he did drop in a modern SPI LCD panel. After all, it’s supposed to be a portable game system.

Though as you can see in the video after the break, the massive 273 mm x 221 mm PCB only just meets that description. Incidentally, there’s no technical reason for the board to be this big; [Nick] was just playing it safe as he’s still learning KiCad.

Those with a keen eye towards 6502 projects likely saw the breadboard version of the Vectron that [Nick] put together last year. Compared to the original, the circuit for the handheld has been considerably simplified as it wasn’t designed to be a general purpose 6502 computer. Whether or not you think being able to play Pong on it makes up for those shortcomings is a matter of personal preference.

Continue reading “Handheld Pong On A 6502″

Fat Bottomed-Keebs, You Make The Clackin’ World Go Round

Depending on the circles you run in, it can seem like the mechanical keyboard community is all about reduced layouts, and keebs without ten-keys are about as big as it gets. But trust us, there’s plenty of love out there for the bigger ‘boards like [Ben]’s tasty fat-bottomed keyboard. Man oh man, what a delicious slab of throwback to the days when keyboards doubled as melee weapons.

More specifically, this is a 199-key modified Sun Type 5 layout. It runs on two Teensy 2.0s — one for the keyboard matrix, and one for everything else. [Ben] made the metal enclosure entirely by hand without a CNC or laser cutter. While I don’t personally care for linear switches, I have mad respect for these, which are vintage Cherry Blacks pulled from various 1980s AT/XT boards. That 10-key island on the left is dedicated to elementary macros like undo/redo, cut/copy/paste, and open/close/save.

We absolutely love the gigantic rotary encoders, which give it a bit of a boombox look. There’s even reuse involved here, because the encoder knobs are made from jam jar lids that are stuffed with homemade Sugru. [Ben] can use them to play PONG on the LCD and other games not yet implemented on the everything-else Teensy.

Here’s another Sun-inspired keeb, but this one has a reverse 10-key layout that matches the DTMF phone dial.

Boot Sector Pong As A Crash Course In Assembly

Have you ever wanted to develop a playable game small enough to fit into a disk’s 512 byte boot sector? How about watching somebody develop a program in assembly for nearly two hours? If you answered yes to either of those questions, or ideally both of them, you’re going to love this project from [Queso Fuego].

Whether you just want to check out the public domain source code or watch along as he literally starts from a blank file and codes every line for your viewing pleasure, chances are good that you’ll pick up a trick or two from this project. For example, he explains how all of the “graphics” in the game are done in 80 x 25 text mode simply by setting the background color of character cells without printing any text to them.

We really like the presentation in the video after the break, which was recorded over the course of multiple days, judging by the changing light levels in the background. As he types out each line of code, he explains what its function is and gives any background information necessary to explain how it will fit into the larger program. If you’ve ever wondered if you had what it takes to program in ASM, watching this video is a great way to decide.

[Queso Fuego] mentions that this project, and his research into this sort of low-level programming, came about due to the social distancing boredom that many of us are feeling. While we’re certainly not advocating for him to kept locked in his home permanently, with projects like this, you’ve got to admit it seems like a win for the rest of us.

Continue reading “Boot Sector Pong As A Crash Course In Assembly”

Retro Game Bow Tie

[Greg] loves hacking his bow ties. Back in high school, he added some bright RGB LEDs to the bow tie he wore to prom and even won the male best-dressed award. Recently he decided to try another bow tie hack, this time giving his tie some retro arcade game feels.

He decided to use an ATtiny85 and to experiment doing some more lower-level programming to refresh his skills. He wrote all his libraries from scratch which really helped him learn a lot about the ATtiny in the process. This also helped him make sure his code was as efficient as possible since he had quite a bit of memory constraints using the ATtiny85 (only 512 bytes of RAM).

He designed the body of the bow tie with wood. He fit all the electronics inside the body while allowing the ATtiny to protrude out of the body giving his bow tie some wanted hacker aesthetic. Of course, he needed to access the toggle switch to play the game, so he made a slot for that as well.

Nice addition to the electronics bow tie collection on Hackaday. Really aesthetic design if you ask us. And you know how much we love retro games.

Continue reading “Retro Game Bow Tie”