The Nintendo PlayStation: Finally Working

The Nintendo PlayStation is not a misnomer. Before the PS1, Sony teamed up with Nintendo to produce a video game console that used CD-ROMs as a distribution platform. These plans fell through, Sony went on to design the PS1, Nintendo the N64, but a few prototype ‘Nintendo PlayStations’ made it out into the wild. One of these unbelievably rare consoles was shipped to a company that eventually went into bankruptcy. The console was found when the contents of an office building were put up for auction, and last year, [Ben Heck] tore it apart.

It’s taken a year, but now this Nintendo PlayStation is finally working. This console now plays audio CDs and games written by homebrewers. The hardware lives, and a console once forgotten lives once more.

The last time [Ben Heck] took a look at the Nintendo PlayStation, the CD-ROM portion of the console was non-functional. The Super Nintendo was still functional, but for this prototype, the CD-ROM was completely self-contained and required a ‘boot cartridge’ of sorts to access anything on a CD. Somehow or another — [Ben] thinks it was a wonky cable or a dead cap — The CD-ROM came to life. Yes, jiggling a cable was the extent of the repair, after spending an inordinate amount of time reverse engineering the console.

With the CD-ROM working, [Ben] got audio playing and tried out of the few homebrew games for this PlayStation prototype. Super Boss Gaiden didn’t quite work because this game was designed to load in chunks. Another game written for this console, Magic Floor, was small enough to fit in the entirety of the CD-ROM’s buffer and loaded correctly. That doesn’t mean the game worked; there are some slight differences between the Nintendo PlayStation emulator and the actual hardware that now exists. [Ben] emailed the author of Magic Floor, and now, after a quarter-century, the Nintendo PlayStation works.

What’s next for the Nintendo PlayStation? Well, now the emulator for this system can correctly reflect the actual hardware, and hopefully the homebrewers can figure out how to write a game for this system.

Continue reading “The Nintendo PlayStation: Finally Working”

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!”

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”

There’s A Mew Underneath The Truck Next To The SS Anne

Before we dig into this, I need to spend a paragraph or two conveying the knowledge of a twelve-year-old in 1996. Of course, most Hackaday readers were twelve at least once, but we’re just going to do this anyway. The payoff? This is an arbitrary-code-execution virus for Pokemon, and maybe the most amazing Game Boy hack of all time.

In the first generation of Pokemon games, there is a spectacularly rare Pokemon. Mew, the 151st Pokemon, could learn every move in the game. It was a psychic type, which was overpowered in the first gen. You could not acquire a Mew except by taking your Game Boy to a special event (or to Toys R Us that one time). If someone on the playground had a Mew, they really only had a GameShark.

There was a mythos surrounding Mew. Legend said if you went to the SS Anne and used Strength to move a truck sprite that appeared nowhere else in the game, a Mew would appear. Due to the storyline of the game, you didn’t have the ability to get to this truck the first time you passed it. However, if you started a new game – thus losing all your progress and your entire roster of Pokemon – you could test this theory out. Don’t worry, you can just trade me all your good Pokemon. I’ll give them back once you have a Mew. Screw you, Dylan. Screw you.

Now the Mew truck trick is real. You can do it on a copy of Red or Blue on an original Game Boy. If this hack existed in 1998, kids would have lost their god damned minds.

The basis for this hack comes from [MrCheeze], who created a ‘virus’ of sorts for the first generation of Pokemon games. Basically, given the ability to manually edit a save file, it is possible to replicate this save file over a Game Link cable. The result is a glitchy mess, but each Pokemon game has the same save file when it’s done.

Combine this virus with arbitrary code execution, and you have something remarkable. [MrCheeze] created a save file that allows you to move the truck next to the SS Anne. When the truck is moved, a Mew appears. It’s exactly what everyone was talking about over the sound of their sister’s Backstreet Boys marathon.

The new ‘Mew Truck virus’ is not as glitchy as the first attempt at a self-replicating save file. In fact, except for the music glitching for a few seconds, nothing appears abnormal about this Pokemon virus. It’s only when the Mew truck trick is attempted does something seem weird, and it’s only weird because we know it shouldn’t happen. Combine the self-replicating nature of this virus, and you have something that would have drawn the attention of Big N. This is a masterpiece of Pokemon-based arbitrary code execution and a hack that may never be equaled.

You can check out the video below.

Continue reading “There’s A Mew Underneath The Truck Next To The SS Anne”

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”

NES Classic Edition – Controller Mod

The Nintendo Classic Mini took the world by storm this year — finally, an NES in a cute, tiny package that isn’t 3D printed and running off a Raspberry Pi! It’s resoundingly popular and the nostalgic set are loving it. But what do you do when you’re two hours deep into a hardcore Metroid session and you realize you need to reboot and reload. Get off the couch? Never!

[gyromatical] had already bought an Emio Edge gamepad for his NES Mini. A little poking around inside revealed some unused pads on the PCB. Further investigation revealed that one pad can be used to wire up a reset button, and two others can be used to create a home switch. Combine this with the turbo features already present on the Emio Edge, and you’ve got a pretty solid upgrade over the stock NES Mini pad. Oftentimes, there’s extra functionality lurking inside products that manufacturers have left inactive for the sake of saving a few dollars on switches & connectors. It’s always worth taking a look inside.

Now, back in 2006, the coolest hack was running Linux on everything — and somebody’s already trying to get Linux on the NES Mini.

Continue reading “NES Classic Edition – Controller Mod”