Super Mario Bros. Mapper Conversion Patch FROM Mapper 0 (NROM) TO Mapper 5 (MMC5) Converted by Dracula X RELEASE DATE: 06/26/2021 Last Modified: 05/2/2022 The main game of $C000-$FFFF is now located at $0010-$C010 MMC5 Setup is at $ff80 fixed bank PRG Bankswitch Routine is at $C020 To switch banks from $C000 - $FFFF, use like so: In a fixed bank: LDA page_number JSR $C020 JMP to anywhere in $8000-$BFFF or Try this in range $C000 to $FFFF LDA page_number JSR $C020 JSR to anywhere in $8000-$BFFF LDA #$00 JSR $C020 RTS or LDA page_number #$80 PHA LDA page_number #$00 PHA LDA page_number #$02 JSR $C030 RTS Compact Mapper makes it easier to switch banks and it is located at $F2DA: JSR Bank_01 - $F2F0 JSR New Location JSR Bank_00 RTS JSR Bank_02 - $F2F4 JSR New Location JSR Bank_00 RTS goes up to bank $8D Do this in $8000-$BFFF for Compact Mapper Example: ; somewhere in 8000-BFFF, bank 0 JMP to a bankswitching routine in a fixed bank ; somewhere in 8000-BFFF, bank 1 RTS ; somewhere in C000-FFFF, fixed bank ; saving & restoring AXY regs may be needed JSR switch to bank 1 JSR to RTS in bank 1 or anywhere in $8000-$BFFF JSR switch to bank 0 at $c020 + original code from bank 0 that was replaced with your JSR RTS CHR bank 1 (Right side of PPU) is at $C014 To switch background pages, use like so: LDA page_number JSR $C014 Nametable Mapping Routine (one of its uses is mirroring) is at $C010 To change mirroring for instance, use like so: LDA mirroring_number (#$44 for Vertical, #$50 for Horizontal) JSR $C010 8KB CHR-ROM pages is located at $20000 Bank 06 is now at bank 00. The settings that was at $BFDC is located at Bank 1 at $8000. The settings that was at $F2D0 for SoundEngine is located at Bank 2 at $8000. Supported Hacks: Some hacks are supported Hacks not Supported: NROM to MMC1 NROM to MMC3 Some hacks are not supported Use Delta Patcher to patch the xdelta file to the ROM. Ignore the checksum and then patch the file. If something not right, then patch your hack ROM with your IPS file to the hack. Apply your hack to the xdelta file and then reapply the ips to the file. Credits: Rockman or RetroRain: for info on how to convert the mapper! Disch: for his mapper docs and a better MMC5 startup! infidelity: for info on how to convert NROM to MMC5. Shredder: for Compact Mapper Cyneprepou4uk Changes for this version 1.3.1: 5-2-2022 Fixed the compact mapper bug. Changes for this version 1.3.0: 5-1-2022 Compact Mapper have been added. Changes for this version 1.2.1: 4-6-2022 The game wasnt loading and fixed it. Changes for this version 1.2.0: 4-5-2022 Added PRG Mode 2 to the patch. I have three patches for PRG Mode 1, 2 and 3. Patch 1 is for Mode 01. Patch 2 is for Mode 02. Patch 3 is for Mode 03. Moved bank 06 to bank 00. Changes for this version 1.1.0: Added PRG Mode 3 to the patch. I have two patches for PRG Mode 1 and 3. Patch 1 is for Mode 01. Patch 2 is for Mode 03. Removed CHR Bank 0. If i'm missing anything about bankswitching info, let me know. Thanks! All emulators works!