Arbitrary Code Execution is in Another Castle!

When one buys a computer, it should be expected that the owner can run any code on it that they want. Often this isn’t the case, though, as most modern devices are sold with locked bootloaders or worse. Older technology is a little bit easier to handle, however, but arbitrary code execution on something like an original Nintendo still involves quite a lot of legwork, as [Retro Game Mechanics Explained] shows with the inner workings of Super Mario Brothers 3.

While this hack doesn’t permanently modify the Nintendo itself, it does allow for arbitrary code execution within the game, which is used mostly by speedrunners to get to the end credits scene as fast as possible. To do this, values are written to memory by carefully manipulating on-screen objects. Once the correct values are entered, a glitch in the game involving a pipe is exploited to execute the manipulated memory as an instruction. The instruction planted is most often used to load the Princess’s chamber and complete the game, with the current record hovering around the three-minute mark.

If you feel like you’ve seen something like this before, you are likely thinking of the Super Mario World exploit for the SNES that allows for the same style of arbitrary code execution. The Mario 3 hack, however, is simpler to execute. It’s also worth checking out the video below, because [Retro Game Mechanics Explained] goes into great depth about which values are written to memory, how they are executed as an instruction, and all of the other inner workings of the game that allows for an exploit of this level.

Continue reading “Arbitrary Code Execution is in Another Castle!”

Giant Solderless LEGO NES Controller Gives Everyone Tiny Hands

If you were thinking “I should spend $130 on LEGO bricks and build a giant USB NES controller just to see what that would be like,” but you were afraid of spending that much money, [BrownDogGadgets] has you covered. He built a giant NES controller out of LEGO. The controller is designed in LEGO Digital Designer, which lets you create a virtual model, then get a full list of parts which can be ordered online.

The electronics are based on a Teensy LC programmed to appear as a USB keyboard, and the buttons are standard push buttons. The insides are wired together with nylon conductive tape. LEGO was an appropriate choice because the Teensy and switches are built on top of LEGO compatible PCBs, so components are just snapped in place. The system is called Crazy Circuits and is a pretty neat way to turn electronics into a universal and reusable system.

If that controller is too big, they’ve also used the same circuit with some laser cut parts for your own controller. If you do want to go even bigger, take a look at [Baron von Brunk’s] LEGO NES controller, which used the electronics from a real controller.

Continue reading “Giant Solderless LEGO NES Controller Gives Everyone Tiny Hands”

Discontinued Nintendo Consoles and Raspberry Pis

Nintendo has discontinued a Classic gaming console. It’s a pity, yes, but with the release of Nintendo’s new gaming console, they probably have bigger fish to fry. That doesn’t mean these discontinued Nintendo consoles will die a slow, miserable death locked away in a closet; at least one of them will live on with the heart of a Raspberry Pi.

This is a project [Liam] has been working on since 2012, just after he got the first edition of the Raspberry Pi. While some people were figuring out how to stuff the Pi inside a Nintendo Entertainment System or a Super Nintendo Entertainment System, [Liam] decided to embed the Pi inside a console of a more recent vintage: the Nintendo GameCube.

The first phase of this project was simply to get the Pi running inside the enclosure of the non-working GameCube he picked up. The power supply in this console was well designed, and after a quick perusal through some online documentation, [Liam] found a stable 5V with enough amps to power the Pi. After ripping out the internals of this console with the help of a quickly hacked together ‘Nintendo screwdriver’, [Liam] had a perfectly functional Pi enclosed in a Nintendo chassis.

Time marches on, and after a while, the Raspberry Pi 2 was released. By this time, retro emulation was hitting the big time, and [Liam] decided it was time for an upgrade. He disassembled this Nintendo console again, routed new wires and inputs to the original controller ports, and used a Dremel to route a few holes for the HDMI and SD card slot.

With the addition of a few SNES-inspired USB controllers, RetroPi, and a few ROMs, [Liam] has a wonderful console full of classic emulation goodness, packaged in an enclosure Nintendo isn’t making any more.

FPGA Emulates NES Cart; Prototype So Cyberpunk

By now, most of us have had some experience getting ROMs from classic video games to run on new hardware. Whether that’s just on a personal computer with the keyboard as a controller, or if it’s a more refined RetrioPie in a custom-built cabinet, it has become relatively mainstream. What isn’t mainstream, however, is building custom hardware that can run classic video games on the original console (translated). The finished project looks amazing, but the prototype blows us away with it’s beauty and complexity.

[phanick]’s project is a cartridge that is able to run games on the Polish Famicon clone called the Pegasus. The games are stored on an SD card but rather than run in an emulator, an FPGA loads the ROMs and presents the data through the normal edge-connector in the cartridge slot of the console. The game is played from the retro hardware itself. It takes a few seconds to load in each ROM, but after that the Pegasus can’t tell any difference between this and an original cartridge.

The original prototype shown here was built back in 2012. Since then it’s been through a few iterations that have reduced the size. PCBs were designed and built in-house, and the latest revision also includes a 3D-printed case that is closer to the size of the original Famicon cartridges.

Even if you don’t have an interest in classic video games or emulation, the video below is worth checking out. (Be sure to turn on the subtitles if you don’t speak Polish.) [phanick] has put in a huge amount of time getting all of the details exactly right, and the level of polish shows in the final product. In fact, we’ve featured him before for building his own Famicom clone.

Continue reading “FPGA Emulates NES Cart; Prototype So Cyberpunk”

Printing Nintendo Portables With SLA

Downing] is no stranger to building portable consoles, employing all manner of techniques in the process. However, when it came time to start on this commission, [Downing] decided to take a different tack – employing a Form 2 SLA printer in this Nintendo 64 portable build.

Modifying home consoles to become portables often involves tricks like Frankencasing – hacking together original factory parts such as controllers, cases, and accessories, and using body filler and a lot of sanding to create a template for vacuum moulding, which then results in a seamless final product. It’s possible to get some really impressive results, but it does limit the builder to relying on existing parts.

By using the Form 2, [Downing] was able to take advantage of the SLA printer’s ability to create parts with good surface finish that would normally require a lot of post-print finishing when 3D printed with more common FDM technology. This was particularly useful as it allowed the creation of custom buttons and small parts that “just fit” – normally such parts are made from stock pieces that are then modified.

The build also features a few other cool features – there’s a breakout box which allows the connection of extra controllers, as well as hosting AV out for hooking up to a television. The breakout box connects to the portable over an HDMI cable. It’s a tidy choice – it’s a standard cable that has an abundance of conductors available so you don’t have to be particularly tricky to get 3 controllers and a few analog signals talking over it.

In the end, [Downing] wouldn’t use SLA printing again for the case itself – the process was too slow and expensive. In this respect, FDM may require more work after printing but it still comes out ahead in terms of time and money. But for small custom parts like buttons and structural brackets, the Form 2 is the machine for the job.

Video after the break.

Continue reading “Printing Nintendo Portables With SLA”

The Power Glove Ultra Is The Power Glove We Finally Deserve

How do you make the most awesome gaming peripheral ever made even more bad? Give it a 21st-century upgrade! [Alessio Cosenza] calls this mod the Power Glove Ultra, and it works exactly as we imagined it should have all those years ago.

The most noticeable change is the 3D-printed attachment that hosts the Bluetooth module, a combination USB charger and voltage booster, and a Metro Mini(ATmega328) board. On top of a 20-hour battery life, a 9-axis accelerometer, gyroscope, and compass gives the Power Glove Ultra full 360-degree motion tracking and upgrades the functionality of the finger sensors with a custom board and five flex sensor strips with 256 possible positions for far more nuanced input. [Cosenza] has deliberately left the boards and wires exposed for that cyberpunk, retro-future look that is so, so bad.

Continue reading “The Power Glove Ultra Is The Power Glove We Finally Deserve”

How To Add More Games to the NES Classic

The hype around the NES Classic in 2016 was huge, and as expected, units are already selling for excessively high prices on eBay. The console shipped with 30 games pre-installed, primarily first-party releases from Nintendo. But worry not — there’s now a way to add more games to your NES Classic!

Like many a good hack, this one spawned from a forum community. [madmonkey] posted on GBX.ru about their attempts to load extra games into the console. The first step is using the FEL subroutine of the Allwinner SOC’s boot ROM to dump the unit’s flash memory. From there, it’s a matter of using custom tools to inject extra game ROMs before reburning the modified image to the console. The original tool used, named hakchi, requires a Super Mario savegame placed into a particular slot to work properly, though new versions have already surfaced eliminating this requirement.

While this is only a software modification, it does come with several risks. In addition to bricking your console, virus scanners are reporting the tools as potentially dangerous. There is confusion in the community as to whether these are false positives or not. As with anything you find lurking on a forum, your mileage may vary. But if you just have to beat Battletoads for the umpteenth time, load up a VM for the install process and have at it. This Reddit thread (an expansion from the original pastebin instructions) acts as a good starting point for the brave.

Only months after release, the NES Classic is already a fertile breeding ground for hacks — last year we reported on this controller mod and how to install Linux. Video of this ROM injection hack after the break.

Continue reading “How To Add More Games to the NES Classic”