PowerPak

From Nesdev wiki
Revision as of 01:36, 29 July 2015 by Rainwarrior (Talk | contribs) (note about size limitations and NSF/FDS)

Jump to: navigation, search

The PowerPak is a flash cartridge made by RetroUSB. It uses an FPGA to emulate a wide variety of mappers, allowing the user to store a large collection of ROMs on a single Compact Flash card and run them on an NES. It is widely used by homebrew NES developers to test their software.

In addition to NES ROMs, the PowerPak is able to play FDS disk images, as well as NSF music files.

Specifications:

  • PRG size: 512 KB (252 KB for NSF)
  • CHR size: 512 KB

Product page: http://www.retrousb.com/product_info.php?products_id=34

Mapper Compatibility

The PowerPak mappers have undergone several revisions, gradually improving compatibility. After official development ceased in 2010, Loopy and TheFox have each created a supplemental set of PowerPak mappers to improve its capabilities.

Power Mappers

TheFox created a set of revised PowerPak mappers to supplement or augment the existing ones, most notably adding a savestate feature.

Download: http://kkfos.aspekt.fi/projects/nes/powerpak/powermappers/

Known problems:

  • MMC3 IRQ can cause shaky status bars and similar problems on some systems.

Loopy's Mappers

Loopy released a set of revised PowerPak mappers in 2011, adding fixes and additional support for a several mappers:

Download: https://home.comcast.net/~olimar/NES/powerpak_loopy.zip

Offical Mappers V1.34

The last official release of mappers was in 2010. It supports a wide variety of popular mappers.

Download: http://www.retrousb.com/product_info.php?products_id=34

TODO: list of supported mappers.

Known problems:

  • MMC3 support is insufficient for Low G Man, as the mapper 4 implementation is Startropics-compatible instead of MMC3 accurate. See mapper 4 and MMC6.

Development limitations

Aside from mapper incompatibility, there are minor differences between running NES programs on the PowerPak versus a traditional single-game cartridge.

  • The PowerPak does not accurately simulate power-on state. Because power-on always boots the PowerPak menu, RAM and various registers will be initialized to a consistent state before any NES ROM is chosen to run. (Reset state, howevere, is not affected by this problem.)
  • Open bus behavior may be different in several memory regions that are used by the PowerPak, but would not be connected on a regular cartridge.