Cramming A DS Inside A Gameboy

Many holiday recipes and console hacks share a common theme: cramming a thing inside another thing. Whether it’s turducken or a Nintendo DS inside a Gameboy, the result is always unexpected. The chassis for this mod is a humble Gameboy color with a Gameboy SP screen tackled on the top to serve as the secondary display. Unfortunately, this mod lost touch screen functionality, limiting some of the games you can play.

[TheRetroFuture] received the custom handheld from [GameboyCustom], which was somewhat damaged in shipping. The original screw mounts had to be removed and the case glued back together to fit the DS motherboard. So for [TheRetroFuture] to get inside to start troubleshooting involved a razor blade and patience. Testing various points and swapping components got [TheRetroFuture] closer to the root problems. The fix ended up being a few wires that came loose during shipping. Finally, after reseating a display connection and some careful soldering, it booted and started playing games.

Overall, it’s pretty impressive to see Mario Kart DS running on both screens on the tiny handheld. But you might be asking, why? Why shove one handheld inside another handheld? Sometimes it’s to gain new functionality like this Raspberry Pi inside a PSP body. Sometimes, it’s just because we can. Video after the break.

Continue reading “Cramming A DS Inside A Gameboy”

A robot that uses CV to detect villagers in Stardew Valley and display their gift preferences on a screen.

Stardew Valley Preferences Bot Is A Gift To The Player

It seems like most narrative games have some kind of drudgery built in. You know, some tedious and repetitious task that you absolutely must do if you want to succeed. In Stardew Valley, that thing is gift giving, which earns you friendship points just like in real life. More important than the giving itself is that each villager has preferences — things they love, like, and hate to receive as gifts. It’s a lot to remember, and most people don’t bother trying and just look it up in the wiki. Well, except for Abigail, who seems to like certain gemstones so much that she must be eating them. She’s hard to forget.

[kutluhan_aktar]’s villager gift preferences bot is a fun and fantastic use of OpenCV. This bot uses a LattePanda Alpha 864s, which is a single-board computer with an Arduino Leonardo built in. It works using template matching, which is basically a game of Where’s Waldo? for computers.

Given a screenshot of each villager in various positions, the LattePanda recognizes them among a given game scene, then does a lookup of their birthday and preferences which the Leonardo prints on a 3.5″ LCD screen. At the same time, it alerts the player with a buzz and big green LED. Be sure to check it out in action after the break.

In Animal Crossing, the drudgery amounts to pressing the A button while catching shooting stars. That’s not a huge problem for a Teensy.

Continue reading Stardew Valley Preferences Bot Is A Gift To The Player”

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”