It's 1987. Your ravenous love for Nintendo's new console leads you to rent every new game released for the system, craving the joy of each new experience. One day, a stranger walks up to you on the street and offers you a device that lets you play nearly all the NES games ever released (or ever will be released) around the world on a single magic cartridge. What do you say?
Twenty years ago, such a contraption would have seemed laughably impossible. But that same mind-blowing scenario (minus the mysterious stranger) has become a reality in 2007 with RetroZone's PowerPak NES flash cartridge. Brian Parker, the man behind RetroZone and the PowerPak, put forth a monumental effort to bring this technically challenging dream product to market.
The PowerPak retains the familiar form factor of classic licensed NES cartridges, albeit rendered in a translucent orange plastic. Cut from top edge of each PowerPak is a notch through which a standard compact flash (CF) card may be conveniently inserted or removed. Turn on a NES with the PowerPak cart inside, and you'll see an on-screen menu that lists all the games on the CF card. Pick one from the list, you'll be playing the game as if you had the game's original cartridge in the console.
With a flash "multicart" like the PowerPak, NES users no longer need to switch cartridges between games, except for the few games that the PowerPak doesn't support (see below). Legal vagaries be damned: as an owner of over 250 NES cartridges, I find the convenience of this feature worth the price of the PowerPak alone.
The PowerPak's Secret Sauce
The hardware capabilities of the naked NES are far weaker than most would expect, as Nintendo directly based the console on their earlier Japanese-only Nintendo Family Computer (Famicom), released in 1983. The NES can load only 32KB of a program from ROM at a time, which became quite limiting by the mid-1980s. Nintendo quickly figured out a way to bank switch additional sections of larger ROM space to improve the quality and capability of their games' graphics. They did this through the use of physical hardware components called memory management controllers (MMCs or "mappers") that were built into each cartridge. These MMC chips added significant expense to production, but without them, impressive games like Super Mario Bros. 3 would never have been possible.
The secret of the PowerPak's ability to pull off multiple game flash support lies in a relatively recent invention called the field-programmable gate array (FPGA). Before the advent of inexpensive FPGA technology, it was impossible (or at least highly impractical) to build all the many dozens of known MMC chips into one cartridge for use with any possible game. The FPGA chip inside the PowerPak can be dynamically reprogrammed to emulate almost all of the NES memory mappers with software instructions stored on the PowerPak's compact flash card, and that's exactly what happens each time a game is loaded.
Setting Up the Compact Flash Card
Upon receiving the PowerPak, the first thing you'll probably want to do is put NES games you'd like to play on a compact flash card. I tested the PowerPak with two types of flash cards, a regular SanDisk 512MB card and a SanDisk Ultra II 512MB card. Both worked fine, although I noticed games (and menus) loaded significantly faster from the Ultra II card, which has a higher read/write speed than conventional CF cards.
Within a 512MB card I could fit the entire US and Japanese game catalog, along with most unlicensed games and a handful of hacks. (I'll leave the moral and legal ramifications of such an act to the user's conscience alone.) The PowerPak supports also CF cards in sizes like 1GB, 2GB, 4Gb, and beyond — well in excess of the requirements of fitting every release, hack, translation, etc. on one card.
To initially set up a card, one simply has to format it with the FAT16 or FAT32 file system via the computer of their choice. Then one copies a special directory called "POWERPAK" to the card — the contents of which can be found in a zip file on the official PowerPak product page. This directory contains all the mapper files that tell the PowerPak how to program its internal FPGA chip upon loading each game. After that, it's time to put games on the card. Any .NES format game files will do, in any location on the card.
The biggest problem with setting up the CF card for the PowerPak comes when attempting organization through on-screen menu listing order. The NES's CPU is too slow to list the card's files in alphabetical order (or any special order, for that matter), so instead, you see the card's files in the order in which they were originally written to the card. This leads to frustrating situations when creating alphabetical directories in Windows; one must take care to create directory "A," then directory "B," and so on, in precise order. If one forgets a letter, one must delete all the letter folders beyond that point and start over.
Even more frustrating, if one completes a set of 27 folders (26 letters plus a "numbers" folder) in Microsoft Windows file manager, one cannot simply duplicate the list of folders for another set of files. Why? Well, Windows has an annoying habit of copying the first few files (or folders) in a long selected list…last (or in a weird, garbled order). The result ends up looking like a list beginning with "B, X, C" and ending with "Y, Z, A."
And forget putting every game file in perfect alphabetical order. You'd have to painstakingly copy each game file one at a time over to the card, and if you ever wanted to transfer your perfect order over to another card, you'd have to do it all over again — a hundred hours' worth of work. As a result, setting up a card that contains a lot of games in any recognizable order takes way more labor than should be necessary.
As an aside, I'm not sure if other operating systems have the aforementioned mass-copying problem, but there seems to be no way around it in Windows. I tried tricking the PowerPak by changing the folders' modified date after I'd copied them, but it didn't work — the PowerPak truly reads the files and folders in the order they were copied to the card.
The Menu System
The PowerPak contains a built-in on-screen menu system that automatically reads the contents of the compact flash card's file system and displays it on your TV set. One navigates through the files and directories via the NES control pad. Navigation is easy and intuitive, although it's about as bare-bones as you could get. The user moves an arrow up or down along a list of files and selects one by pressing the "A" or "B" buttons on the control pad. Navigating through a long list of games like this can be tedious, although one can expedite that arrow's movement by pushing left or right on the D-pad instead of up or down.
Upon selecting a game to play, the user is presented with a screen that provides him/her with the opportunity to either load a save game file (see below for more info on that), enter up to five Game Genie codes, or play the game.
Overall, there's definitely plenty of room for improvement in the PowerPak menu system, although that would require a future update to the PowerPak cartridge itself. One really cool addition could be a random game selection feature, especially for those of us with thousands of games wanting to try something new. But since the NES's 6502 handles the PowerPak's menu system, I'm not sure how practical that would be to implement.
The PowerPak supports battery-backed SRAM saves with games that utilize them (ala Zelda, Dragon Warrior, etc.) with a maximum of 32K SRAM space. It does so through the use of special files written-to and read from the compact flash card. Players can either use save files from their favorite emulators, or blank 8K and 32K save files provided by RetroZone on its site.
PowerPak's save system is a little confusing and cumbersome at first. In order to save games, players need to pre-create save files for each battery-backed game they plan on playing. For organization's sake, I recommend placing all your save files in a special directory (i.e. "saves") off the CF card's root. For those of us with every game ever released on one card, this requirement takes the spontaneity out of picking up and playing a random battery-backed game and saving our progress. But with a little planning, you can set up a system of numbered generic 8K save files that you can select and later rename to match the game you've used it with.
Most games — in fact, all that I know of at the moment — use 8K SRAM space, so PowerPak users can easily make copies of RetroZone's 8K SAV template and rename them to match the desired game (doing all this on their computer, mind you, through their compact flash card reader).
Once the CF is back in the PowerPak, inside a NES, the user can play the game of his/her choice. To save SRAM data to a file on the CF card at the end of the playing session, the user holds reset on the NES console for a few seconds. Once reset is released, an on-screen PowerPak dialog appears and asks if you want to save SRAM data. If you select yes, you can choose a SAVE file and the data is saved. Upon running the game again, the PowerPak will remember the SAV file you last used and load it automatically. Alternately, you can choose any save file to load before playing a game.
Honestly, the PowerPak's SRAM management system is the weakest part of the PowerPak as a product. It would be nice if the PowerPak had a way of creating and automatically labeling SAV files (or merely writing the entire SRAM space automatically to the CF card) when a user is done playing a battery-backed game. Or even more simply, I find myself wishing that the PowerPak would remember the SAV file I typically use with a certain game at the end of a play session, so I don't have to navigate through all the folders and select it every time I quit. The way the system is designed now favors flexibility over convenience, but I'm not so sure it shouldn't be the other way around.
According to RetroZone, the PowerPak works on any official NES console, including classic "toaster" and top-loading models. I, however, only tested the PowerPak on a front-loading NES. As expected, it worked as described.
RetroZone also states that the PowerPak is not compatible with Famicom clones like the Yobo, Generation NEX, etc. For the sake of our audience, I was tempted to pull my dusty NEX out of the closet and test the PowerPak in it. Ultimately, I decided against it, wary of accidentally frying a sophisticated $135 device in a $60 turd. If anybody tries the PowerPak on clone systems, let us know how it goes.
As you can read on the official PowerPak product page, certain games are not supported by the PowerPak and will never be. The deciding factor is each game's use of mapper chips. For example, at the time of this writing, MMC5 support (used by games like Castlevania III) is not yet implemented, although RetroZone has plans to do so in the future. Games that require special synthesizer chips or weird pirate mappers will never be supported, as they're either too obscure and undocumented or the PowerPak does not contain the technical capability to do so.
Below, I've compiled a PowerPak compatibility chart. I included games that I feel represent a good sampling of the PowerPak's capabilities and limitations, along with games that people will most likely want to play on the device. The list includes official releases, popular game hacks, and unlicensed pirate games.
I tested all the games listed below with RetroZone's latest (as of this writing) PowerPak v1.12 mapper set. In this chart there are three levels of compatibility: a game either works perfectly (represented by the "Y" column); runs, but with glitches (represented by the "/" column); or doesn't run at all (represented by the "N" column). In the case of glitches, keep in mind that those issues may be fixed in the future with mapper file updates by RetroZone. When I first tested the v1.10 mapper set, I saw a number of graphical glitches in many running games. Luckily, with version 1.12, those glitches are few and far between.
On another note, I'm surprised that Metroid doesn't work on this device. If anybody has a dump of Metroid that works on the PowerPak, please send it to me so I can test it. (Metroid ROM works after repair with NESToy — see comments)
Feel free to request additions to the list for specific games that you're curious about. Also, any corrections are welcome.
|VC&G's Non-Inclusive PowerPak Compatibility Chart
(Last Updated 11/02/2007)
|Castlevania III||X||Uses MMC5 (not implemented)|
|Dragon Warrior IV||X|
|EarthBound Zero (Hack)||X|
|Final Fantasy II (English Prototype)||X|
|Final Fantasy III (Fan Translation)||X||"AWJ+NCorlett+SoM2Freak" translation|
|Kart Fighter (Pirate)||X|
|Kirby's Adventure||X||Minor graphical glitches with PRG1. PRG0 doesn't work.|
|The Legend of Zelda||X|
|Luigi's Coin Quest (Hack)||X|
|Mario Adventure (Hack)||X||Doesn't work on real NES hardware|
|Mario Adventure 2 (Hack)||X|
|Mario Seasons (Hack)||X|
|Mike Tyson's Punch-Out!!||X|
|Mortal Kombat 4 (Pirate)||X||Slight graphical glitches|
|River City Ransom||X||Runs slowly with minor graphical glitches|
|Star Tropics||X||Uses MMC6 (not supported)|
|Super Donkey Kong (Pirate)||X|
|Super Donkey Kong 2 (Pirate)||X|
|Super Mario Bros.||X|
|Super Mario Bros. 2||X|
|Super Mario Bros. 3||X||Perfect with v1.12 mappers|
|Super Mario World (Pirate)||X||CHR ROM might be over 512k|
|Sweet Home (Fan Translation)||X||"Eng1.00_Gaijin+Suicidal" translation|
|Zelda II: The Adventure of Link||X|
|Zelda Outlands (Hack)||X|
|Zoda's Revenge: Star Tropics II||X||Shouldn't work, but does — uses MMC6, no saves|
Make no mistake: the PowerPak is a landmark product for the NES. It offers a once-unimaginable capability to diehard NES fans while building a bridge between Nintendo's aging hardware and the 21st century.
Perhaps most exciting of all is the PowerPak's potential to jumpstart homebrew development for the NES. Unlike the Atari 2600, Nintendo's most famous console is woefully lacking amateur home-programmed software. RetroZone is out to change that with its new flash cartridge, which nearly obliterates the barriers to entry in developing games for play on a real NES unit.
As of this writing, The PowerPak is currently listed as out of stock at RetroZone's online store, but RetroZone says more will be available soon. At $135 (US) apiece, the PowerPak falls well outside the realm of impulse purchase, but I believe that it's well worth the price for all the hard work and development costs RetroZone has put into it. For any serious NES enthusiast or aspiring developer, I firmly feel that the PowerPak is a must-buy.
|The Skinny: PowerPak NES Flash Cartridge|
|Good Features:||Fits every NES game ever released around the world onto one cartridge for play on a real NES. Flash storage. Easy to update. On-screen game menu system. Incredible NES development platform.|
|Bad Features:||Non-intuitive SRAM save system. Difficult file organization. MMC simulation not 100% accurate for all games.|
(10 Being Best)
|[ 9 out of 10 ] Shiny Marbles - Excellent|
||This device was reviewed on November 2nd, 2007. Due to product updates and bug fixes, its quality may have improved or degraded since then.|
[ Interview with Brian Parker, creator of the PowerPak ]
[ VC&G's Earlier PowerPak overview ]