a money shot of the hidden arcade

Arcade Machine Pack And Play

There’s something about the large imposing wooden box of an arcade machine that lends a confident presence to a room. The problem with a tall and heavy box is that it takes up quite a bit of space and readily draws the eye. So [Alexandre Chappel] set out to avoid that and build an arcade machine that could hide in plain sight.

Extra points awarded for neat wiring on the inside.

The idea is a wooden box hung on the wall that folds up when not in use. [Alex] starts with Baltic birch plywood cut into the panels. Next, he applies edge banding (a thin veneer with some glue on the backside) so that all the exposed edges look like natural wood. Next, a screen hole is routed into the face frame, allowing an LCD monitor to sit snuggly in. A combination of pocket holes and biscuits allows [Alex] to assemble everything with no visible screws or fasteners.

With the help of a 3D printer, he quickly fabricated a locking mechanism to keep the front panel attached when it folds up. The hinge is also 3D printed. The typical Raspberry Pi 4 powers this particular machine. Two french cleats hold the box onto the wall, and once the system is on the wall, we have to say it looks incredible.

If you’re looking for a smaller but more traditional arcade cabinet, why not take a look at this arcade cabinet for toddlers? Or, if you loved the solid wood look of the hidden arcade, this full-sized solid oak cabinet would be something you would enjoy. Video after the break.

Continue reading “Arcade Machine Pack And Play”

Children playing a zombie shooting game on a big screen

Halloween Game Lets You Shoot Zombies With A Laser-Powered Crossbow

Suppose you were looking for all the essential elements to make a great Halloween-themed shooting game. Zombies? Check. Giant “lasers”? Check. Crossbows shooting forks? We’ve got you covered. Check out “Fork The Zombies“, which was set up by [piles.of.spam] to entertain the neighborhood kids this Halloween.

The game is played on a big screen, which shows a horde of angry zombies marching toward the player, who has to shoot as many as possible before they reach the front of the screen. The weapon provided is a crossbow; when the trigger is pulled, a fork is launched and hopefully skewers one of the ghouls. The game was written using an open-source engine called Urho3D, which takes care of all the hard-core 3D and physics work, allowing the user to focus on designing the gameplay and visuals.

A wooden crossbow game controllerTo give the game a bit more of a physical feel, [piles.of.spam] made an actual crossbow for the player to wield. Its handle was cut from a scrap piece of wood, using a band saw for the general shape and a CNC machine for the delicate cut-outs that hold a laser pointer, an ESP32 and a microswitch-based trigger. The laser shines onto the game screen, while the ESP32 sends out a data packet over WiFi when the trigger is pulled.

The location of the shot is tracked using a clever trick: a webcam is pointed at the screen, with a red color filter in front. This way, it only sees the red laser dot moving across the screen. The resulting image is processed using the Python OpenCV library, which provides functions to convert the relative motion of the pointer on the screen to an absolute position along the playing field.

A webcam on top of a Jetson Nano, with a red color filter in frontThe computing hardware consists of a pair of Jetson Nano boards, which sport quad-core ARM A57 CPUs as well as powerful graphics hardware to generate the game’s visuals. The end result is impressive, especially given the fact that all of this was designed and built in just three weeks. It was apparently a great hit with its intended audience, as visitors queued to try their hand at shooting the hungry zombies.

Laser pointers are an obvious tool for creating shooting games: we’ve seen ones with a single round target, a set of shapes set up around you, and even metal cans that fall over and stand up again. But if you need to protect yourself in case of an actual zombie apocalypse, a slingshot that shoots knives might be more useful.

Continue reading “Halloween Game Lets You Shoot Zombies With A Laser-Powered Crossbow”

LEDBOY Is A Retro-Modern Handheld Game

Back in the 1970s, there were a few LED-based games on the market that were quickly superseded by the rise of LCDs and other fancier technologies. However, [grossofabian] wanted to recreate that classic style of game but with more modern hardware. The result is the LEDBOY, a colorful handheld game built in tribute to that era.

The handheld is based around the ATtiny 1614 microcontroller, driving a 10×10 array of NeoPixel Nano 2427 LEDs, named for their small 2.4 mm x 2.7 mm form factor. They’re RGB, too, so there’s lots of wonderful colors to play with.

Wrapped up in a neat enclosure with a rechargeable 130 mAh lithium-ion battery and some simple tactile buttons, it’s a tidy little handheld game console. Add in the CH340C chip for USB to serial duties, and it’s easy to program with the Arduino IDE, too.

Code is available on Github for those keen to take a closer look. Amusingly, the project bears a striking resemblance to a similarly-named build we featured just under 12 years ago. Time is a flat circle, and the video, my friends, is after the break.

Continue reading “LEDBOY Is A Retro-Modern Handheld Game”

The Game Of Life Moves Pretty Fast, If You Don’t Use Stop Motion You Might Miss It

Munged Ferris Bueller quotes aside, Conway’s Game of Life is the classic cellular automata that we all reach for. The usual approach is to just iterate over every cell in the grid, computing the next state into a new grid buffer. [K155LA3] set out to turn that on its head by implementing Game Of Life in the hardware of an FPGA.

[K155LA3]’s version uses Chisel, a new HDL from the Berkley and RISCV communities. Under the hood, Chisel is Scala with some custom libraries that know how to map Scala concepts onto hardware. In broad strokes, Verilog and VHDL are focused on expressing hardware and then added abstraction on top of that over the year. Chisel and other newer HDL languages focus on expressing high-level general-purpose elements that get mapped onto hardware. FPGAs already map complex circuits and hardware onto LUTs and other slices, so what’s another layer of abstraction?

The FPGA chosen for this project is a Digilent Arty A7 with a VGA Pmod to turn the RGB444 into analog signals to actually display. What’s impressive about [K155LA3]’s implementation is just how fast it is. Even running at 60 frames per second it’s almost as fast as the monitor can handle. Of course, most computers lying around you could simulate a 60 x4 8 grid at 60 fps. Next, instead of connecting the grid logic to the 60 Hz VGA clock, he connects it to the 100 MHz board external oscillator. Now each pixel in each frame displayed contains over a million generations.

Unfortunately, even this small grid of 60×48 takes up 90% of the LUTs on the Artix-7. In the future, we’d love to see an even larger FPGA hardware implementation capable of handling grids that could hold whole computers in them. And naturally, this isn’t the first FPGA version of the Game Of Life here at Hackaday.

Hacked Punch-Out Controlled With Actual Punches

In a slightly safer departure away from jetpack roller-skating and flinging around bolts of lightning, [Ian Charnas] has been hacking retro video games. After a lot of hard work [Ian] has managed to add pose estimation to control the character in the NES boxing game “Punch-Out.” Surely he can’t get hurt doing that? No, but since it wasn’t fair to hurt the poor suffering characters, without taking any damage himself, he added electric-shock feedback to give the game a bit more, ahem, punch. See, you can get hurt playing video games!

By starting with Google MoveNet, which is a pre-baked skeletal tracking model which can run in a browser using TensorFlowJS, he defined some simple heuristics for the various boxing moves usually performed with the game controller. Next, he needed to get the game. Being a all-round good guy, [Ian] bought an original copy of the game cartridge to obtain the license, then using the USB CopyNES from RetroUSB, dumped out the game binary for the next step.

Emulation of the NES hardware was chosen, taken care of by FCEUX, in order to run the game and the posture model on the same machine. This simplified the control of the game, since it would be somewhat more work to have it run on the original NES. By using emscripten, FCEUX was cross-compiled to WebAssembly, and so both the game and control side are both in the land of JavaScript. To be honest, after playing the game a little, [Ian] found it far too fast to be playable with posture control, as opposed to much faster button pressing, so some game hacking was required. Emulation made this much easier.

It took [Ian] around two months of disassembling the game binary, and figuring out the game logic around the characters in order to slow them down enough to make it playable, but he did manage it. You can be the judge, since he bought a bunch more cartridges to unlock more license copies, you can play it too. Just don’t add the electric-shock part, nobody needs to be administered electric shock therapy from a two inch high bright orange Mike Tyson!

Continue reading “Hacked Punch-Out Controlled With Actual Punches”

the conversion from hynix SRAM to FRAM on a Pokemon Yellow PCB

Pokemon Time Capsule

The precious Pokemon we spent hours capturing in the early nineties remain trapped, not just by pokeballs, but within a cartridge ravaged by time. Generally, Pokemon games before the GameBoy Advance era had SRAM and a small coin cell to save state as NVRAM (Non-volatile random access memory) was more expensive. These coin cells last 10-15 years, and many of the Pokemon games came out 20 years ago. [9943246367] decided to ditch the battery and swap the SRAM for a proper NVRAM on a Pokemon Yellow cartridge, 23 years later.

The magic that makes it work is a FRAM (ferroelectric random access memory) made by Cypress that is pin-compatible with the 256K SRAM (made by SK Hynix) on the original game cartridge PCB. While FRAM data will only last 10 years, it is a write-after-read process so as long as you load your save file every 10 years, you can keep your Pokemon going for decades. For stability, [9943246367] added a 10k pull-up on the inverted CE (chip enable) pin to make sure the FRAM is disabled when not in use. A quick test shows it works beautifully. Overall, a clever and easy to have to preserve your Pokemon properly.

Since you’re replacing the chip, you will lose the data if you haven’t already. Perhaps you can use [Selim’s] Pokemon Transporter to transport your pokemon safely from the SRAM to the FRAM.

Modded GBA SP Does Its Best Switch Impression

The whole idea behind the Nintendo Switch is that the system isn’t just a handheld, but can be converted into a more traditional home game console when placed into its dock. The wireless controllers even pop off the sides so you can kick back on the couch and enjoy your big-screen gaming from a distance. Judging by how many units Nintendo has sold of their latest system, it’s clearly a winning combination.

Which is probably why [Tito] of Macho Nacho and his friend [Kyle Brinkerhoff] decided to recreate some of the Switch’s core features using one of Nintendo’s older handhelds, the Game Boy Advance SP. There was already a video-out mod kit on the market for the GBA SP that would let them play games on the TV, but the team still had to figure out how to make a dock for the 18 year old handheld, plus get it working with the official Switch Joy-Cons.

Wiring the custom PCB into the GBA SP

Lucky, this crew is no stranger to developing impressive GBA SP add-ons. Last month they took the wraps off of an expanded 3D printed rear panel for the system that housed a number of upgrades, such as an expanded battery pack and support for Bluetooth audio.

This mod uses a similarly expanded “trunk” for the GBA, but this time it’s to hold the rails the Joy-Cons mount to, as well as the electronics required to get the modern controllers talking to the Game Boy. Namely, a Raspberry Pi Zero and a custom PCB designed by [Kyle] that uses a dozen transistors to pull the system’s control inputs low when the Pi’s GPIO pins go high.

[Tito] doesn’t seem to mention it in the video below, but we’re assuming the dock component of this project is just a 3D printed box with a connector sticking up for the GBA SP’s link cable port, since that’s where the TV-out modification outputs its video. Incidentally that means you don’t really need the dock itself, but it certainly looks cool.

At the end of the video [Tito] goes over a few of the rough edges of the current build, including the rather lengthy pairing process to get the Joy-Cons talking to the Raspberry Pi. But ultimately, he says that not only does the system feel good in his hands, but playing those classic games on the big screen has been a nice change of pace.

Continue reading “Modded GBA SP Does Its Best Switch Impression”