News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Super Mario Bros. Difference Between PAL (Rev. 0A) and NTSC  (Read 789 times)

SMB2J-2Q

  • Full Member
  • ***
  • Posts: 131
    • View Profile
Since I researched that the second-run PAL release (Rev. 0A) of Super Mario Bros. actually fixes the goal pipe bug at the end of all underwater levels where if one wedged Super/Fire Mario or Luigi into the gap above the goal pipe in the NTSC version, you're stuck until time runs out (subsequent ports followed PAL Rev. 0A's fix, except for the Game Boy Advance version which is a straight port of the original NES NTSC release), I applied the same fix to the NTSC version of the game. I found that out according to The Cutting Room Floor:
https://tcrf.net/Super_Mario_Bros.#Version_Differences

What I did to change the code in the NTSC version, to fix the pipe bug for the water levels... it is pretty easy to do, since the second-run PAL version has most of the code at the same addresses in the ROM as the NTSC version, as the fixes for the PAL version usually involved tweaks to the original NTSC version's program code which either sped up (mostly) or slowed down things.

Change the following bytes in World 5-2/6-2's water room data (0xAE3C-0xAE3F)
Before:
E5 09 EE 0F 7D CA 7D 47 FD

After:
DE 0F E5 09 7D CA 7D 47 FD

For World 2-2/7-2... (0xAEB7-0xAEBA)
Before:
D5 09 DE 0F 0D CA 7D 47 FD

After:
CE 0F D5 09 0D CA 7D 47 FD

And finally, for World 8-4's short underwater section... (0xAED4-0xAED7)
Before:
45 09 4E 0F ED 47 FD

After:
3E 0F 45 09 ED 47 FD

~Ben

« Last Edit: July 16, 2020, 06:21:37 am by SMB2J-2Q »