Those of us old enough to remember blowing into cartridges will probably remember the Game Genie – a device that plugs in to an NES, SNES, Sega Genesis, or Game Boy that gives the player extra lives, items, changes the difficulty, or otherwise modifies the gameplay. To someone who doesn’t yet know where the 1-up is in the first level of Super Mario Bros., the Game Genie seems magical. There is, of course, a rhyme and reason behind the Genie and [The Mighty Mike Master] put together a great walkthrough of how the Game Genie works.
There are two varieties of Game Genie codes – 6-character codes and 8-character codes. Both these types of codes translate into a 15-bit address in the game ROM (from 0x8000 to 0xFFFF for the 6502-based NES) and a data byte. For the 6-character codes, whenever the address referenced by the Game Genie code is accessed, a specific data byte is returned. Thus, infinite lives become a reality with just a 6-character code.
Some games, especially ones made in the late years of their respective systems, use memory mapping to increase the code and data provided on the cartridges. Since areas of data are constantly being taken in and out of the CPU’s address space, merely returning a set value whenever a specific address is accessed would be disastrous. For this bank-switching setup, the Game Genie uses an 8-bit code; it’s just like the 6-bit code, only with the addition of a ‘compare’ byte. Using an 8-bit code, the Game Genie returns a specific byte if the compare bytes are equal. Otherwise, the Genie lets hands off the original data to the CPU.
Of course, all this information could be gleaned from the original patent for the Game Genie. As for the circuitry inside the Game Genie, there’s really not much aside from an un-Googleable GAL (general array logic) and a tiny epoxied microcontroller. It’s an amazingly simple device for all the amazement it imbued in our young impressionable minds.
Continue reading “How the Game Genie Works”
[David] has created his own live robot band to play live versions of the music and sound effects of NES games. Most of us who grew up in the 80’s and 90’s have the music of Nintendo games burned into our brains. While there have been some amazing remixes created over the years, [David] has managed to do something truly unique. Armed with an emulator, some software prowess, and a pair of Raspberry Pis, [Dave] created a system that plays game music and sound effects on analog instruments. A Yamaha Disklavier player piano handles most of the work through a connection to a Raspberry Pi. Percussion is handled by a second Pi. Snare drum, wood block, and tambourine are all actuated by a custom solenoid setup.
The conversion process all happens on the fly as the game is played. [Dave] says the process has about ½ second of lag when played live, but we’re sure that could be fixed with some software tweaks. Continue reading “Mario plays piano with a little help from Raspberry Pi”
Grab your favorite cartridge and violently blow into the end, because [Dave Nunez] is sending us on a nostalgia trip with his 3D printed portable NES. He takes the typical route of chopping up a Nintendo on a chip (NOAC) retro machine rather than sacrifice a real NES, and opts for a NiMH battery over lithium (which isn’t a bad idea; they can burst into flames if you charge them incorrectly). The battery life is, however, tolerable: 2.5 to 3 hours.
All the components are packed into a custom-made 3D printed PLA enclosure, which [Dave] kindly shares on thingiverse. He also decided to 3D print each of the buttons and their bezels/housings, which he then topped off by cutting acrylic sheets that seal up the front and back. As a final touch, [Dave] slips in some custom art under the acrylic and mounts a printed LED nameplate in the corner.
We’ve seen [Dave’s] work at Hackaday before, when he built a one-size-fits-all-consoles arcade controller.
We’ve seen marriage proposals via modified Nintendo games before, but most of these put the proposal just after the first level. It’s one thing to have the old man in Zelda present your SO with a ring, but it’s another thing entirely to beat the game before getting on one knee. That’s what [Quinn] forced [Amy] to do when he proposed by modifying the ROM for Contra to display a proposal right before the end credits.
By tearing open a few cartridges, [Quinn] found himself with a bunch of EPROMs and NES cartridge PCBs. After grabbing the Contra ROM off the Internet, [Quinn] edited the game’s end screen to his proposal. This was then burned onto a 1 Megabit EPROM, soldered onto a cartridge, and put into the NES for his now-fiance to play. Once [Amy] and [Quinn] finished the game (without cheating, by the way), [Amy] saw her proposal and [Quinn] pulled out the ring.
Wanting to repair his much-used NES controllers [Michael Moffitt] sourced a replacement for the rubber button pads. They didn’t work all that well but he fixed that by using angle clippers on the part that contacts the PCB traces.
Here’s a neat Claw Game project show-and-tell video. [Thanks David]
We already know that [Bunnie] is building a laptop. Here’s an update on the project.
Hackaday alum [Caleb Kraft] continues his helpful hacking by adding an alternative to clicking an Xbox 360 stick.
[Blackbird] added a camera to the entry door of his house. He didn’t want to forget to shut it off (wasting power) so he built an automatic shutoff.
We’re not really sure what this computational photography project is all about. It takes pictures with the subject illuminated in different colors then combines individual color channels with a MATLAB script.
Finally, [Dave Jones] tears down a Nintendo 64 console on a recent EEVblog episode.
Here a straight-forward guide for tapping into the buttons on most gaming controllers. Why do something like this? Well there’s always the goal of conquering Mario through machine learning. But we hope this will further motivate hackers to donate their time and expertise developing specialized controllers for the disabled.
In this example a generic NES knock-off controller gets a breakout header for all of the controls. Upon close inspection of the PCB inside it’s clear that the buttons simply short out a trace to ground. By soldering a jumper between the active trace for each button and a female header the controller can still be used as normal, or can have button presses injected by a microcontroller.
The Arduino seen above simulates button presses by driving a pin low. From here you can develop larger buttons, foot pedals, or maybe even some software commands based on head movement or another adaptive technology.
Continue reading “No nonsense guide for patching into a gaming controller”
Released 25 years ago, the Nintendo Power Pad, a plastic mat that plugged into an NES, saw very limited success despite its prevalence in basements and attics. In total, only six games for the Power Pad were released in North America, and only 13 worldwide. The guys over at cyborgDino thought they should celebrate the sliver anniversary of the Power Pad by creating its 14th game, using an Arduino and a bit of playing around in Unity 3D.
The first order of business was to read the button inputs on the Power Pad. Like all NES peripherals, the Power Pad stores the state of its buttons in a shift register that can be easily read out with an Arduino. With a bit of help from the UnoJoy library, it was a relatively simple matter to make the Power Pad work as intended.
The video game cyborgDino created is called Axis. It’s a bit like a cross between Pong and a tower defense game; plant your feet on the right buttons, and a shield pops up, protecting your square in the middle of the screen from bouncing balls. It’s the 14th game ever created for the Power Pad, so that’s got to count for something.
Video of the game below.
Continue reading “The 14th game for the Nintendo Power Pad”