FPGA NES Looks Sharp On Perfboard

FPGAs are wonderful things, packed with logic cells that can be reconfigured as your heart desires. They excel at signal processing, anything requiring speed, and recreating vintage hardware. In that vein, [Jon Thomasson] decided to bring back the original Nintendo Entertainment System, in perfboard form.

The build uses a Spartan 6 from Xilinx, which [Jon] uses in the form of his own development board design. The NES core is courtesy of code by [Brian Bennett], sourced from Github. Games are loaded from an SD card by a Parallax Propeller, which passes the data to the FPGA over a serial connection. Display is on a sharp 800×480 LCD, with the 4:3 video output of the NES being displayed in a pillarboxed fashion.

The project is assembled on perfboard, with a pleasing handheld formfactor. Control is via tactile pushbuttons in the classic NES layout. Current draw is approximately 400 mA, giving a runtime of around 5 hours when running off four AA batteries.

We’ve seen the venerable NES implemented on FPGA platforms before. As development boards get cheaper and devices get more capable, expect to see ever more complex systems being implemented. Video after the break.

Continue reading “FPGA NES Looks Sharp On Perfboard”

Wheel Of Fortune Gets Infinite Puzzles On NES

Wheel of Fortune is a television game show, born in the distant year of 1975. Like many popular television properties of the era, it spawned a series of videogames on various platforms. Like many a hacker, [Chris] had been loading up the retro NES title on his Raspberry Pi when he realized that, due to the limitations of the cartridge format, he was playing the same puzzles over and over again. There was nothing for it, but to load a hex editor and get to work.

[Chris’s] initial investigation involved loading up the ROM in a hex editor and simply searching for ASCII strings of common puzzles in the game. Initial results were positive, turning up several scraps of plaintext. Eventually, it became apparent that the puzzles were stored in ASCII, but with certain most-significant-bits changed in order to mark the line breaks and ends of puzzles. [Chris] termed the format wheelscii, and developed an encoder that could turn new puzzles into the same format.

After some preliminary experimentation involving corrupting the puzzles and testing various edge cases, [Chris] decided to implement a complete fix. Puzzles were sourced from the Wheel of Fortune Puzzle Compendium, which should have plenty of fresh content for all but the most addicted viewers. A script was then created that would stuff 1000 fresh puzzles into the ROM at load time to minimize the chances of seeing duplicate puzzles.

ROM hacks are always fun, and this is a particularly good example of how simple tools can be used to make entertaining modifications to 30-year-old software. For another take, check out this hack that lets the Mario Bros. play together.

Super Mario Bros 2 Player Rom Hack

NES Hack Lets The Mario Bros. Play Together

Being relegated to player two used to be a mark of disgrace in the 8-bit era of videogames. Between never being to select a level and having to wait your turn to play, the second player experience was decidedly third rate. Super Mario Bros. on the Nintendo Entertainment System was no different in this regard as it offered no character selection option and also required players to alternate taking control upon failing stages. It made the two player mode more like playing in parallel than actually together. However, there is a new ROM Hack for the original Super Mario Bros. from [Corpse Grinder] that allows players to play as the Brothers Mario simultaneously. Finally, a true co-op experience.

It’s important to note that the level power-ups have not been doubled-up in the patch, so this will no doubt be some friendly competition. Also it would be in both players interest to play with someone around their same skill level as any player dying in a level will cause both to start back at the last checkpoint. Not to worry, [Corpse Grinder] appears to have yet another Super Mario Bros. co-op patch in the works with this video from their YouTube channel below.

Whether you dump your own NES cartridge or extract the ROM image of Super Mario from a Virtual Console download, the patch itself comes in the form of a XDelta file. In order to apply the patch to a ROM image of Super Mario Bros. you’ll need a program like xdelta UI. Make sure to backup a copy of the ROM image before applying the patch, because this process is a one-way street.

Continue reading “NES Hack Lets The Mario Bros. Play Together”

MTPO HDTV on Wall Lag Fix

Mike Tyson’s Punchout Patch Gives HDTV Lag A K.O.

They just don’t make them like they used to. Digital televisions have rendered so many of the videogames designed in the days where CRTs ruled the earth virtually unplayable due to display lag. Games that were already difficult thanks to tight reaction time windows can become rage inducing experiences when button presses don’t reflect what’s happening onscreen. A game that would fall into the aforementioned category is Mike Tyson’s Punchout for the NES. However, NES homebrew developer [nesdoug] created a patch for the 31 year old classic that seeks to give players playing on modern displays a fighting chance.

MTPO Poster 1980s

The lag fix patch for Mike Tyson’s Punchout seeks to alleviate some of the display lag inherent in digital displays by adjusting the gameplay speed. Some of the early stages aren’t altered very much, but the later fights incur more significant slowdown to compensate for modern display lag. It’s evident that [nesdoug] is a longtime fan of the game as he also uploaded a remix patch that mixes up the stages and color palettes.

The patch itself comes in the form of an IPS file. To apply the lag fix patch you’ll need an IPS patching tool, like Lunar IPS, along with your own personal backup ROM of Mike Tyson’s Punchout. A checksum value is provided on the lag fix patch download site to ensure you have a usable ROM file. Do note that the ROM file is overwritten in the process of applying the patch, so make sure to put the original file in a safe place. After patching is complete the fun can be had using your favorite NES emulator, or using a flashcart if you’re seeking to play on original hardware.

If you’re looking to dump your own NES cartridges without the plug and play convenience of devices like the Retrode, there is a tutorial in the video below the  break:

Continue reading “Mike Tyson’s Punchout Patch Gives HDTV Lag A K.O.”

Reverse Engineering A Pirate Nintendo Arcade Board

The Nintendo VS. System was a coin-op arcade system based on the Nintendo Entertainment System (NES) hardware. By being so closely related to the home console, it made it easy to port games back and forth between the two. Being an arcade system, there was significant financial incentive to pirate the boards and games, and many years later such a pirate board landed on the desk of [kevtris], who decided to reverse engineer it for our viewing pleasure.

The board in question runs Super Mario Brothers, and rather than using actual Nintendo hardware it instead relies on a standard MOS 6502 to recreate all the functions of the of the original CPU. A Z80 is pressed into service to emulate the original audio hardware, too. With much of the functionality recreated in TTL logic chips, the board is power hungry, drawing a ridiculous 3 amps when powered up. We wonder as to the fire safety of such machines all crammed into a hot, sweaty arcade of yesteryear.

[kevtris] does a great job of reverse engineering the system, even providing a full PDF schematic for the bootleg board. An old SEGA controller is hand-wired into the board to provide both game controls and act as a coin switch to allow the game to be played.

We’d love to hear the story of how these machines actually came to be, and the design process involved, but for now that may remain one for the ages. Arcade piracy was something the big companies fought against for years, with varying success – and we’ve seen arcade DRM hacked before.

[Thanks to Jero32 for the tip!]

Continue reading “Reverse Engineering A Pirate Nintendo Arcade Board”

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”

Tweeting From The NES Expansion Port

[Trapper] is an 80’s kid, and back in the day the Nintendo Entertainment System was his jam. One fateful night, he turned over his favorite gray box, removed a small plastic guard, and revealed the mythical expansion port. What was it for? What would Nintendo do with it?

The expansion port on the NES wasn’t really used for anything, at least in the US market. Even in the homebrew scene, there’s only one stalled project that allows the NES to connect to external devices. To fulfill [Trap]’s childhood dream, he would have to build something for the NES expansion port. Twitter seemed like a good application.

The first step towards creating an NES Expansion Port Twitter thing was to probe the depths of this connector. The entire data bus for the CPU is there, along with some cartridge pass-through pins and a single address line. The design of the system uses a microcontroller and a small bit of shared SRAM with the NES. This SRAM shares messages between the microcontroller and NES, telling the uC to Tweet something, or telling the NES to put something on the screen.

Only a single address pin – A15 – is available on the expansion port, but [Trapper] needed to read and write to a certain section of memory starting at $6000. This meant Addresses A13 and A14 needed to be accessed as well. Fortunately, these pins are available on the cartridge slot, and there are a number of cartridge pass-through pins on the expansion connector. Making a bridge between a few pins of an unused cartridge solved this problem.

From there, it’s just a series of message passing between a microcontroller and the NES. With the help of [Trap]’s brother [Jered] and a Twitter relay app running on a server, this NES can actually Tweet. You can see a video of that below.

Continue reading “Tweeting From The NES Expansion Port”