Weird SMB3 pirate cart

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

Post Reply
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

Weird SMB3 pirate cart

Post by krzysiobal »

I got this cart from a friend for checking. It interested me for two reasons.
* First - it is based on the rare pirate MMC3 chip called "88", which has two GND pins and it made me curious if one of them is some kind of mysterious input that, for example, allows to switch it between different modes.
* Second - because this friend said that the game behaves weirdly and sometimes on the first level it warps the player to the final boss scene.

Image Image Image Image

Here are the results:

1) The answer for first question is unfortunately "no". Both of those pins are shorted internally in the chip, so no extra function.

2) I tried different tricks, was going and messing around in the first level but I was not able to warp myself to the end of game, maybe it needs some kind of special condition

3) Anyway, the RO of the gae is almost identical to the japanese version with a few diffferences (and no, they're not related to copyrights removal). Here are all regions tht different bytes lie:
A -> $20010
B -> $30a20
C -> $3442a - $3442c, $3df11 - $3df3b

3C) Modification in those bytes alters the behaviour of function called when user presses B button in the world selection map:
Image

Code: Select all

----------oryginal--------------------     ----------this hack--------------------
 0D:A417: 4C FC A4  JMP $A4FC               0D:A417: 4C FC A4  JMP $A4FC
 0D:A41A: AD 18 00  LDA $1800               0D:A41A: 20 01 9F  JSR $9F01    <---- !!!
 0D:A41D: 29 50     AND #$50                0D:A41D: 29 50     AND #$50
                                           
                                            0F:9F01: A5 18     LDA $0018 
                                            0F:9F03: 29 20     AND #$20
                                            0F:9F05: D0 03     BNE $9F0A
                                            0F:9F07: A5 18     LDA $0018 
                                            0F:9F09: 60        RTS ------
                                            0F:9F0A: AD 80 7D  LDA $7D80 
                                            0F:9F0D: 18        CLC
                                            0F:9F0E: 69 01     ADC #$01
                                            0F:9F10: C9 0E     CMP #$0E
                                            0F:9F12: D0 02     BNE $9F16
                                            0F:9F14: A9 01     LDA #$01
                                            0F:9F16: 8D 80 7D  STA $7D80 
                                            0F:9F19: A5 18     LDA $0018 
                                            0F:9F1B: 60        RTS ------
So the jump to routine at $9f01 was injected to detect if the 5th bit of cell at $0018 is 1 an dif yes, increase the ram value at $7d80 (and wrap it past $0e to $1)
Cell $0018 contain state of currently pressed button and 5th bit = SELECT, so if you first press B and then SELECT, you are able to select ANY from the special utils.
Image

Sorry, I haven't played SMB3 so no idea what those object can be used for but as I see, there is even a "warp" object that teleports you to warp mode world.
Image


3B) Modification of this byte (which is data) is responsible for altering the behaviour of splash screen animation. In normmal rom, when the curtine goes up, the background is black for a few seconds and then the scenery appears. Here, the background stays black until you press start (but the characters are still walking and jumping, just in different way).
Image

3 A) I wasn't able to figure yet if this byte is data or code and when it is executed or read.
Attachments
smb3 hack [apply over Super Mario Bros 3 (J).nes with CRC32 of PRG+CHR=52E2B5E0].ips
(82 Bytes) Downloaded 102 times
poorstudenthobbyist
Posts: 252
Joined: Fri Jun 24, 2016 4:20 pm

Re: Weird SMB3 pirate cart

Post by poorstudenthobbyist »

Interesting! Those items are used mostly in-game, they're various powerups. You activate them on the overworld map before starting a level, and then they are applied when you start the level. A few alter things on the map instead, and some let you skip levels (like the whistle). You normally obtain them by visiting the mushroom house levels, or from other events.

Looks like it's basically a hard-coded Game Genie cheat code.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Weird SMB3 pirate cart

Post by Pokun »

Yeah I don't think it's possible to get the frog suit in the very first world in the original game, nor do you have any need of it since there are no water levels yet (and it's not very useful on land).
In the original game there are also only 3 flutes total (and they are well hidden) and you would need all three of them to be able to warp to the last world as soon as possible. That means you must at least complete most of world 2 to find the final flute before using any of them.

krzysiobal wrote: Fri Dec 04, 2020 12:41 am Sorry, I haven't played SMB3 so no idea what those object can be used for but as I see, there is even a "warp" object that teleports you to warp mode world.
What are you waiting for? This game was generally considered the best game ever when it was released.
poorstudenthobbyist
Posts: 252
Joined: Fri Jun 24, 2016 4:20 pm

Re: Weird SMB3 pirate cart

Post by poorstudenthobbyist »

There are actually two whistles in world 1, just getting to world 2 and using them both lets you teleport to the last world.
LocalH
Posts: 186
Joined: Thu Mar 02, 2006 12:30 pm

Re: Weird SMB3 pirate cart

Post by LocalH »

You don't even need to get to world 2. Get the first one from 1-3, get the second one from 1-Fortress, then immediately use one to get to warp zone, and use the second one while you're inside warp zone. Instant world 8.
Last edited by LocalH on Sat Dec 05, 2020 10:08 am, edited 1 time in total.
poorstudenthobbyist
Posts: 252
Joined: Fri Jun 24, 2016 4:20 pm

Re: Weird SMB3 pirate cart

Post by poorstudenthobbyist »

Wow I did NOT know you could use the second one in the warp zone.
Guess you learn something new every day
User avatar
Ben Boldt
Posts: 1149
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Weird SMB3 pirate cart

Post by Ben Boldt »

When you beat the game, if you start again, it fills your inventory with P-Wings. I do not think many people know this.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Weird SMB3 pirate cart

Post by Pokun »

Yeah I remember it did something like that, but I never felt like playing the game twice in a row (unlike SMB1). Especially not if you play without warping.

I had forgotten you only need two flutes though. I did use it inside the warpzone, but I was under the impression that you where only taken forward one warpzone zone per blow.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Weird SMB3 pirate cart

Post by tepples »

From world 1 you go to 2, 3, or 4.
From 2, 3, 4, 5, or 6 you go to 5, 6, or 7.
From 7, 8, or 9 (the warp zone itself) you go to 8.
User avatar
Ben Boldt
Posts: 1149
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Weird SMB3 pirate cart

Post by Ben Boldt »

If you blow the whistle in World 5, 6, or 8 and return to the same level, does it start you back over from the beginning and lose all of your completed levels? I don't remember trying that before. And from world 6 you can go backwards to 5? Wow, it never occurred to me.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Weird SMB3 pirate cart

Post by Pokun »

Oh I see, the warp zone is technically world 9.

I don't think I ever tried to warp backwards.
Post Reply