PowerPak

From NESdev Wiki
Jump to navigationJump to 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. 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.

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

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

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

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:

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031
032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047
048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063
064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079
080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095
096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

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