PowerPak: Difference between revisions
Rainwarrior (talk | contribs) (→Offical Mappers V1.35b: downloads folder is not externally visible, link to product page instead) |
TakuikaNinja (talk | contribs) (Add the patched N.MAP loader to the recommended setup.) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
* PRG size: 512 KB (252 KB for NSF) | * PRG size: 512 KB (252 KB for NSF) | ||
* CHR size: 512 KB | * CHR size: 512 KB | ||
* Auxiliary PRG-RAM size: 32 KB | |||
Product page: [http://www.retrousb.com/product_info.php?products_id=34 http://www.retrousb.com/product_info.php?products_id=34] | Product page: [http://www.retrousb.com/product_info.php?products_id=34 http://www.retrousb.com/product_info.php?products_id=34] | ||
Line 21: | Line 22: | ||
* Add the PowerMapper set on top if you want savestate support (see its readme). | * Add the PowerMapper set on top if you want savestate support (see its readme). | ||
* Add any of the additional single mappers if needed. | * Add any of the additional single mappers if needed. | ||
* Replace the N.MAP loader with a [https://forums.nesdev.org/viewtopic.php?p=283943#p283943 patched version] so newer ROMs with [[NES_2.0#Default_Expansion_Device | header byte 15 set]] can be loaded. | |||
=== PowerMappers === | === PowerMappers === | ||
Line 68: | Line 70: | ||
Known problems: | Known problems: | ||
* Mapper 4 IRQ has reliability issues due to PPU A12 noise, causing status bars etc. to jitter up and down on some systems. | * Mapper 4 IRQ has reliability issues due to PPU A12 noise, causing status bars etc. to jitter up and down on some systems. (A fixed version is available: [//forums.nesdev.org/viewtopic.php?t=24229 forum thread].) | ||
Notes: | Notes: | ||
Line 92: | Line 94: | ||
* Magic Kid GooGoo ([[iNES Mapper 190|190]]): [//forums.nesdev.org/viewtopic.php?f=9&t=15682 forum thread] | * Magic Kid GooGoo ([[iNES Mapper 190|190]]): [//forums.nesdev.org/viewtopic.php?f=9&t=15682 forum thread] | ||
* [[UNROM 512]] ([[iNES Mapper 030|030]]): [//forums.nesdev.org/viewtopic.php?p=236715#p236715 forum post] | * [[UNROM 512]] ([[iNES Mapper 030|030]]): [//forums.nesdev.org/viewtopic.php?p=236715#p236715 forum post] | ||
* NES 2.0 [[NES 2.0#Default Expansion Device|Default Expansion Device]] header incompatibility fix: [//forums.nesdev.org/viewtopic.php?p= | * [[UXROM 512]] Support up to 512k PRG: [//forums.nesdev.org/viewtopic.php?t=24230 forum post] | ||
* [[SXROM]] ([[iNES Mapper 001|001]]): [https://neilbaldwin.github.io/nes-audio/ packaged with PR8], but created by bunnyboy | |||
* NES 2.0 [[NES 2.0#Default Expansion Device|Default Expansion Device]] header incompatibility fix: [//forums.nesdev.org/viewtopic.php?p=283943#p283943 forum thread] | |||
* Nova's Rad PowerPak Menu: [//https://forums.nesdev.org/viewtopic.php?t=12091 forum thread] (alternative PowerPak menu) | |||
=== Offical Mappers V1.35b === | === Offical Mappers V1.35b === | ||
Line 378: | Line 383: | ||
Known problems: | Known problems: | ||
* Mapper 2 limited to 256k PRG. (An oversized version exists for 512k PRG: [//forums.nesdev.org/viewtopic.php?t=24230 forum thread].) | |||
* Mapper 3 limited to CNROM support, excluding unlicensed oversize variants (e.g. used by Panesian games). | * Mapper 3 limited to CNROM support, excluding unlicensed oversize variants (e.g. used by Panesian games). | ||
* Mapper 4 does not support Startropics. (See [[MMC3#iNES Mapper 004 and MMC6|mapper 4 and MMC6]].) | * Mapper 4 does not support Startropics. (See [[MMC3#iNES Mapper 004 and MMC6|mapper 4 and MMC6]].) | ||
Line 392: | Line 398: | ||
* 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, however, 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, however, 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. ([http://forums.nesdev.org/viewtopic.php?f=2&t=12549 forum post]) | * [[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. ([http://forums.nesdev.org/viewtopic.php?f=2&t=12549 forum post]) | ||
== Utilities == | |||
*[[make_sram]] : a program written in Python to create PowerPak save files for all NES ROMs in a folder or on a CF card | |||
== PowerPak development resources == | == PowerPak development resources == | ||
Line 400: | Line 410: | ||
* Source code for some of Loopy's mappers (Verilog): [http://forums.nesdev.org/viewtopic.php?p=173302#p173302 powerpak_loopy_src.zip] / [http://3dscapture.com/NES/powerpak_loopy.zip powerpak_loopy.zip] | * Source code for some of Loopy's mappers (Verilog): [http://forums.nesdev.org/viewtopic.php?p=173302#p173302 powerpak_loopy_src.zip] / [http://3dscapture.com/NES/powerpak_loopy.zip powerpak_loopy.zip] | ||
* Source code for NSF player: [http://3dscapture.com/NES/powerpak_nsf_src.zip powerpak_nsf_src.zip] | * Source code for NSF player: [http://3dscapture.com/NES/powerpak_nsf_src.zip powerpak_nsf_src.zip] | ||
* Source code for Mapper 190 (Magic Kid GooGoo): [https://forums.nesdev.org/viewtopic.php?p=191417 forum thread] | |||
* Source code for Mapper 111 (GTROM): [https://forums.nesdev.org/viewtopic.php?p=206883 forum thread] | |||
[[Category:Flash Cartridge]] | [[Category:Flash Cartridge]] |
Latest revision as of 20:54, 25 May 2024
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. It's also compatible with the CopyNES.
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
- Auxiliary PRG-RAM size: 32 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.
The commonly recommended setup is:
- Begin with the Official mapper set.
- Add Loopy's mapper set on top, replacing files.
- Add the PowerMapper set on top if you want savestate support (see its readme).
- Add any of the additional single mappers if needed.
- Replace the N.MAP loader with a patched version so newer ROMs with header byte 15 set can be loaded.
PowerMappers
TheFox created a set of revised PowerPak mappers to supplement or augment the existing ones, most notably adding a savestate feature for the mappers it contains, but removing the Game Genie feature.
Download: http://fo.aspekt.fi
- NROM (0)
- MMC1 (1)
- UxROM (2)
- CxROM (3)
- MMC3 (4)
- AxROM (7)
- MMC2 (9)
- MMC4 (10)
- ColorDreams (11)
- BxROM (34)
- GxROM (66)
- FME-7 (69, no expansion audio)
- Codemasters (71)
- MMC3/TxSROM (118)
- MMC3/TQROM (119)
Known problems:
- Mapper 4 IRQ is delayed by 2 cycles like RAMBO-1 to work around noise issues with PPU A12. This does not significantly affect most games.
- Mapper 69 does not support the Sunsoft 5B expansion audio used in Gimmick!
Loopy's Mappers
Loopy released a set of revised PowerPak mappers in 2011, adding fixes and additional support for several mappers:
Download: http://3dscapture.com/NES/powerpak_loopy.zip
- CNROM (3)
- MMC3 (4)
- MMC5 (5, no expansion audio)
- N163 (19)
- VRC4 (21, 23, 25)
- VRC6 (24, 26)
- BxROM (34)
- Sunsoft-5B (69)
- Codemasters (71)
- JY Company (90, partial)
- FDS
- NSF (no MMC5 audio, no VRC7 audio)
Known problems:
- Mapper 4 IRQ has reliability issues due to PPU A12 noise, causing status bars etc. to jitter up and down on some systems. (A fixed version is available: forum thread.)
Notes:
- Mapper 3 now supports unlicensed oversize variants (e.g. used by Panesian games).
- Mapper 4 now supports Startropics.
- Mapper 5 does not support the MMC5 expansion audio.
Myask's Mappers (WIP)
Myask made a few mappers not yet covered by others.
Download: here. BBS Thread: here.
- Irem G-101 (032, but Major League hack/submapper not implemented)
- Irem H3001 (065)
- Taito TC0190 (033)
- Note that some mapper 48 roms have been mislabeled as mapper 33.
- Taito TC0690, TC0190+PAL16R4 (048, very buggy)
- Magicseries Corp (107)
Miscellaneous
- Action 53 mapper (028): forum thread
- GTROM (111): forum thread
- Magic Kid GooGoo (190): forum thread
- UNROM 512 (030): forum post
- UXROM 512 Support up to 512k PRG: forum post
- SXROM (001): packaged with PR8, but created by bunnyboy
- NES 2.0 Default Expansion Device header incompatibility fix: forum thread
- Nova's Rad PowerPak Menu: forum thread (alternative PowerPak menu)
Offical Mappers V1.35b
The last official release of mappers was in 2010. It supports a wide variety of popular mappers.
Download: here
Supported mappers:
Known problems:
- Mapper 2 limited to 256k PRG. (An oversized version exists for 512k PRG: forum thread.)
- Mapper 3 limited to CNROM support, excluding unlicensed oversize variants (e.g. used by Panesian games).
- 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, however, 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. (forum post)
Utilities
- make_sram : a program written in Python to create PowerPak save files for all NES ROMs in a folder or on a CF card
PowerPak development resources
- PowerPak Menu - information about the organization of the PowerPak's operating system.
- 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 / powerpak_loopy.zip
- Source code for NSF player: powerpak_nsf_src.zip
- Source code for Mapper 190 (Magic Kid GooGoo): forum thread
- Source code for Mapper 111 (GTROM): forum thread