Super Mario Bros.: Super Mario Bros MMC3 Mapper Hack Nintendo Entertainment System

  • ~
  • Share
This converts the mapper for Super Mario Bros. to the MMC3 Mapper.

11/12/13
infidelity

Converting Super Mario Bros. NROM to MMC3

The game still boots up and says it's MMC3, only from just changing the headers mapper value.

There is no free space to do anything, so what i'm going to do, is increase the PRG size from 2 to 4, so that i can insert the proper MMC3 setups.

I'm not familiar with the level editors that hack this game, but im most certain my expanding of the rom, will cause undesired results, causing editors to be useless now that the hw bank has been relocated, plus the CHR-ROM bank has been shifted too. I apologize if this does so.

Here are my notes on what i've done....

1. Using 'neshead' i've increased PRG-ROM from 2 to 4
2. $C000-$FFFF rom is now located at $C010-$10000. Original location was at $4010-$8000
3. CHR-ROM bank is now located at $10010-$1200F. Original location was at $8010-$A00F
4. 2 new PRG-ROM banks reside at $4010-$8000(A901 bank id) & $8010-$C000(A902 bank id)
5. Below includes all my modifications....

$F292 = A901 20B0F2 200080 4CAAF2 ;bankswap to $4010-$8000 rom
$F2BA = A900 20B0F2 60 ;restores $10-$4000 rom, back to $8000-$BFFF ram (4CAAF2)
$F2C0 = 48 0A 48 A906 8D0080 68 8D0180 0901 48 A907 8D0080 68 8D0180 68 60 ;bankswap routine (A9## 20B0F2)
$4010 = A503 4A 4A A500 900C 990502 A501 990102 A940 D00A 990102 A501 990502 A900 0504 990202 990602 A502 990002 990402 A505 990302 18 6908 990702 A502 18 6908 8502 98 18 6908 A8 E8 E8 60 ;4C82F2's routines new location
$1000C = 8DF2 ;$FFFC-$FFFD low/high byte pointer to reset vector
$F29D = 78 D8 A901 20B0F2 204880 20AAF2 4C0280 ;$FFFC-$FFFD reset vector new location, & bankswap to $4058 to load MMC3's setups
$4058 = A900 8D0080 8D0180 8D00A0 8D01A0 8D00C0 8D01C0 8D00E0 A205 8E0080 BD6E80 8D0180 CA 10F4 60 00 02 04 05 06 07 ;mmc3 setup
END

Note....
For those that wish to hack this further, if you perform a bankswap routine for any reason, you'll have to replace the original $8000-$BFFF bank when you exit, this does not happen automaticly.

You can't bankswap from $8000-$BFFF, you'll have to jsr somewhere within $C000-$FFFF to swap out the original $8000-$BFFF with a new bank.

Once you jsr from $8000-$BFFF to $C000-$FFFF, use the following routine to swap, and replace the original $8000-$BFFF bank.

A9## 20B0F2 20#### 4CAAF2

To newbies....
If desired, you can expand this rom to it's MMC3's fullest capacity. All you'll need to do is relocate the HW bank, and the CHR-ROM bank, once you expand it. Remember, the CHR-ROM bank is placed right after the end of the HW bank.
The 1st 2 banks are fine, you don't need to move them.

DONE! Super Mario Bros. is now MMC3! :-D
Confirmed running on FCEUX 2.2.1, Nestopia, Nintendulator, & via PowerPak
*cue entering pipe sfx*
-infidelity


Super Mario Bros. (World).nes - NOINTRO
CRC32: 3337EC46
MD5: 811B027EAF99C2DEF7B933C5208636DE
SHA-1: EA343F4E445A9050D4B4FBAC2C77D0693B1D0922
SHA-256: F61548FDF1670CFFEFCC4F0B7BDCDD9EABA0C226E3B74F8666071496988248DE
Time to Beat
Main Story 1h 41m
Main + Extras 2h 0m
Speedrun Avg 0h 8m
Release Date
Nov 12, 2013
10 years ago
Similar Games
Popular Nintendo Entertainment System Games

Play Super Mario Bros.: Super Mario Bros MMC3 Mapper Hack Game

Experience Super Mario Bros.: Super Mario Bros MMC3 Mapper Hack Game (USA) online exclusivly at PastGames.net. Get Super Mario Bros.: Super Mario Bros MMC3 Mapper Hack ROM and use it with an emulator of your choice. Super Mario Bros.: Super Mario Bros MMC3 Mapper Hack can be played on PC, Mac, iOS and Android using our high quality downloads. PastGames is Americas #1 choice for Retro Games like Super Mario Bros.: Super Mario Bros MMC3 Mapper Hack.