PowerPak: Difference between revisions
Rainwarrior (talk | contribs) m (→Offical Mappers V1.34: not sure how to describe unlicensed chinese mappers (is "Unlicensed, Chinese" good enough?), relinking Oeka Kids (it's still relevant/useful information about why this mapper is supported)) |
Rainwarrior (talk | contribs) (Development resources) |
||
Line 149: | Line 149: | ||
* Mapper 96 (Oeka Kids) is listed as buggy. | * Mapper 96 (Oeka Kids) is listed as buggy. | ||
== | == Software development limitations == | ||
Aside from mapper incompatibility, there are minor differences between running NES programs on the PowerPak versus a traditional single-game cartridge. | Aside from mapper incompatibility, there are minor differences between running NES programs on the PowerPak versus a traditional single-game cartridge. | ||
Line 155: | Line 155: | ||
* 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.) | * 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. | * [[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. | ||
== PowerPak development resources == | |||
* Collection of information and photos, source code for menu and loader: [http://nespowerpak.com/ http://nespowerpak.com/] | |||
* Source code for CNROM example (Xilinx ISE Webpack 9.1): [http://www.nespowerpak.com/powerpakdev1.zip powerpakdev1.zip] | |||
* Source code for some of Loopy's mappers (Verilog): [http://home.comcast.net/~olimar/NES/powerpak_loopy_src.zip powerpak_loopy_src.zip] |
Revision as of 19:31, 29 July 2015
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.
Famicom expansion audio is supported, and output on the EXP 6 expansion pin on the cartridge connector. A simple modification to the NES allows the expansion audio to be mixed with its output.
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/
- NROM (0)
- AxROM (7)
- BxROM (34)
- CxROM (3)
- GxROM (66)
- UxROM (2)
- MMC1 (1)
- MMC2 (9)
- MMC3 (4)
- MMC3/TxSROM (118)
- MMC3/TQROM (119)
- MMC4 (10)
- FME-7 (69, no sound)
- Codemasters (71)
- ColorDreams (11)
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 several mappers:
Download: https://home.comcast.net/~olimar/NES/powerpak_loopy.zip
- CNROM (3)
- MMC3 (4)
- FDS
- NSF (no MMC5, no VRC7)
- VRC4 (21, 23, 25)
- VRC6 (24, 26)
- N163 (19)
- Sunsoft-5B (69)
- BxROM (34)
- Codemasters (71)
- JY Company (90, partial)
- MMC5 (5, no sound)
Notes:
- This mapper 4 implementation supports both Startropics and Low G Man.
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
Supported mappers:
- NROM (0)
- MMC1 (1)
- UxROM (2)
- CNROM (3)
- MMC3 (4)
- MMC5 (5, buggy)
- AxROM (7)
- MMC2 (9)
- MMC4 (10)
- Color Dreams(11)
- CPROM (13)
- N163 (19)
- VRC2/VRC4 (21, 22, 23 buggy, 25))
- VRC6 (24)
- BNROM/NINA-001 (34)
- SMB2j Pirate (40)
- Caltron 6-in-1 (41)
- SMB2j Pirate (50)
- 20-in-1 (61)
- RAMBO-1 (64)
- GxROM (66)
- Sunsoft-3 (67)
- Sunsoft-4 (68)
- Sunsoft FME-7 (69)
- Family Trainer (70)
- Codemasters (71)
- Jaleco JF-17 (72)
- MMC3 Clone (74)
- VRC1 (75)
- NAMCOT-3446 (76)
- Napoleon Senki (77)
- Holy Diver (78)
- NINA-003-006 (79)
- Taito X1-005 (80)
- ? (81)
- Taito X1-017 (82)
- Jaleco JF-13 (86)
- Jaleco JF-09 (87)
- NAMCOT-3433 (88)
- Sunsoft-2 (89)
- Jaleco JF-19 (92, buggy)
- Sunsoft-2 (93)
- UN1ROM (94)
- NAMCOT-3425 (95, buggy)
- Oeka Kids (96, buggy)
- TAM-S1 (97)
- Vs. System (99)
- NES-EVENT (105)
- Unlicensed, Chinese (112)
- NINA-003-006 (113)
- MMC3 TKSROM / TLSROM (118)
- MMC3 TQROM (119)
- Jovial Race (133)
- Death Race (144)
- VRC1 (151)
- ? (161)
- Crazy Climber (180)
- Sunsoft-1 (184)
- CNROM (185)
- Karaoke Studio (188)
- Cheetahmen II (228)
- ? (229)
- 20-in-1 (231)
- Codemasters (232)
- Maxi 15 (234)
- Unlicensed, Chinese (240)
- Unlicensed, Chinese (241)
- Unlicensed, Chinese (242)
- Sachen (243)
- Unlicensed, Chinese (246)
Known problems:
- Mapper 4 does not support Startropics. (See mapper 4 and MMC6.)
- Mapper 5 (MMC5) is incomplete, and fails to run most MMC5 games.
- Mapper 23 (VRC2/4 variants) is listed as buggy.
- Mapper 92 (Jaleco-JF variant) is listed as buggy.
- Mapper 95 (Namcot-3425) is listed as buggy.
- Mapper 96 (Oeka Kids) is listed as buggy.
Software 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.
PowerPak development resources
- Collection of information and photos, source code for menu and loader: http://nespowerpak.com/
- Source code for CNROM example (Xilinx ISE Webpack 9.1): powerpakdev1.zip
- Source code for some of Loopy's mappers (Verilog): powerpak_loopy_src.zip