* 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.
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:
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 ------
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.
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.
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).
3 A) I wasn't able to figure yet if this byte is data or code and when it is executed or read.