Super Mario Bros. 3

From NES Hacker Wiki
Jump to: navigation, search

Super Mario Bros. 3 is the third and last installment of the Super Mario Bros. series for the NES. The game functions similarly to the original except is has several new power ups, an overworld map, and several different bosses.

Easy Cheats

Icon Addr Val Cmp Description
Icon-Lives-Infinite.png 0736 63 - P1 Infinite Lives
Icon-Lives-Infinite.png 0737 63 - P2 Infinite Lives
Icon-Invincible.png 0553 09 - Invincible
Icon-Powerup.png 00ED 01 - Have Super Mushroom
Icon-Powerup.png 00ED 02 - Have Fire Suit
Icon-Powerup.png 00ED 03 - Have Raccoon Suit
Icon-Powerup.png 00ED 04 - Have Frog Suit
Icon-Powerup.png 00ED 05 - Have Tanookie Suit
Icon-Powerup.png 00ED 06 - Have Hammer Suit
Icon-Powerup.png AE2C 00 2B Press Select to Change Suit
Icon-Powerup.png 03DD 7F - P-Meter Always Full
Icon-Jump.png 056E 3F - Fly Forever
Icon-Jump.png ACE6 00 08 Every Suit Can Fly
Icon-Jump.png ACB4 01 05 Moon Gravity
Icon-Jump.png 00F0 05 - Slow Fall Rate (Huge P-Jumps)
Icon-Jump.png ACC5 00 01 No Max Jump Height
Icon-Powerup.png A250 00 17 Every Suit Shoots Fireballs (Except hammer bro)
Icon-Powerup.png A956
A957
A0
0A
0A
A8
Every Suit Can Turn to Stone (1/2) (Graphic glitches)
Every Suit Can Turn to Stone (2/2)
Icon-Powerup.png AFF5 8D CE Infinite Tanooki Statue Time
Icon-Speed.png A72E 04 0F Move While Ducking
Icon-Powerup.png A25F 90 D0 Shoot Fireballs While Ducking
Icon-Time.png AFBA 4D CE Infinite Time
Icon-Challenge.png 00ED 00 - Always Small
How do I use these?

North America

Super Mario Bros. 3.png

Memory Addresses

0017 - Controller 1 Poll

0075 - Mario Y position on overworld
0079 - Mario X position on overworld

00A2 - Player Y Position
00CF - Affects jumping height

00E5 - Type of block player is standing on

00EC - Player sprite frame number
00ED - Suit in game
	00 - Mario
	01 - Super
	02 - Fire
	03 - Raccoon
	04 - Frog
	05 - Tanookie
	06 - Hammer Bro
00EE - Player sprite frame offset

0102-01DF - Appears unused
0200-02FF - Sprite Data

031F-0321 - Time display characters

0376 - Pause Flag (00 - Running, 01 - Paused)

0380-03B9 - Screen updating

03DD - P-meter (7F - Full [P-Wings 1 of 2])
03E8 - Item selector X position
03E9 - Item selector item position (0-5)
03F3 - Mario Icon on overworld
	00 - Mario
	01 - Super
	02 - Fire
	03 - Raccoon
	04 - Frog
	05 - Tanookie
	06 - Hammer Bro
	07 - Cloud
	08 - P-Wing
0435 - Card Matching Game Misses Remaining
0552 - Invincibility Timeout after getting hit.
0553 - Star Power Invincibility Timer
056E - Flight Timer (3F - [P-Wings 2 of 2])
0577 - Kuribo's Shoe (01 - Enabled, 00 - Disabled)
05EE - Time: 9xx
05EF - Time: x9x
05F0 - Time: xx9
05F1 - Time: 1/38ths
05F3 - Item selector flag (00 - Closed, 01 - Open)
0720 - Affected when item selection opens and closes.
0727 - World [Part 1 of 2] (00-07)
0736 - Lives - Mario
0737 - Lives - Luigi
073A - World [Part 2 of 2] (00-07)
0746 - Mario Suit on overworld
	00 - Mario
	01 - Super
	02 - Fire
	03 - Raccoon
	04 - Frog
	05 - Tanookie
	06 - Hammer Bro
07DF - Item selector position ?
7D80-7D9B - Mario Items
	00 - Nothing
	01 - Mushroom
	02 - Flower
	03 - Leaf
	04 - Frog Suit
	05 - Tanookie Suit
	06 - Hammer Bro Suit
	07 - Cloud
	08 - P-Wing
	09 - Star
	0A - Anchor
	0B - Hammer
	0C - Whistle
	0D - Music Box

7D9C-7D9E - Mario's Cards (00 - None, 01 - Mushroom, 02 - Flower, 03 - Star)
7DA2 - Mario Coins
A24B - D0 - All Power-Ups Shoot Fireballs except Hammer Mario (F0)
A250 - 00 - All Power-Ups Shoot Fireballs except Hammer Mario (17)
A25F - 90 - Can Shoot Fireballs While Crouching (D0) (will pop up for a moment)
A72E - 04 - Move while ducking (0F)
A956 - A0 - All Power-Ups have Tanooki abilities (Statue & Tail Spin Attack) [1 of 2] (0A) (Graphically glitchy)
A957 - 0A - All Power-Ups have Tanooki abilities (Statue & Tail Spin Attack) [2 of 2] (A8) (Graphically glitchy)
AB74 - Charge P-meter (00 - While standing still)
ACE6 - 00 - All Power-Ups Can Fly (08)
AE2B - F0 - Power-Up Debug Mode, Press Select To Change Current Power-Up Ability (D0)
AE2C - 00 - Power-Up Debug Mode, Press Select To Change Current Power-Up Ability (2B)
AFF5 - 8D - Infinite Statue Morph Time for Tanooki Mario (CE)

Code

Jump Routine

ACB7:C9 E0     CMP #$E0         ; Upper jump rate. Set to #FF for higher jumps.

Time Processing

The routine for decreasing time. Located at $034FAD in the ROM.

AF9D:AD 0A 07  LDA $070A        ; 
AFA0:F0 4E     BEQ $AFF0
AFA2:C9 0F     CMP #$0F
AFA4:B0 4A     BCS $AFF0
AFA6:AD F3 05  LDA $05F3        ; 
AFA9:29 7F     AND #$7F
AFAB:0D 8C 05  ORA $058C        ; 
AFAE:D0 40     BNE $AFF0
AFB0:CE F1 05  DEC $05F1        ; Decrease Time: 1/38th.
AFB3:10 3B     BPL $AFF0
AFB5:A9 28     LDA #$28         ; Load A with #28 (1/38th of a second).
AFB7:8D F1 05  STA $05F1        ; Store A into Time: 1/38th.
AFBA:CE F0 05  DEC $05F0        ; Decrease Time: xx9
AFBD:10 1D     BPL $AFDC
AFBF:A9 09     LDA #$09
AFC1:8D F0 05  STA $05F0        ; Store A into Time: xx9
AFC4:CE EF 05  DEC $05EF        ; Decrease Time: x9x
AFC7:10 13     BPL $AFDC
AFC9:8D EF 05  STA $05EF        ; 
AFCC:CE EE 05  DEC $05EE        ; Decrease Time: 9xx
AFCF:10 0B     BPL $AFDC
AFD1:A9 00     LDA #$00
AFD3:8D EE 05  STA $05EE        ; 
AFD6:8D EF 05  STA $05EF        ; 
AFD9:8D F0 05  STA $05F0        ; Store A into Time: xx9
AFDC:AD EE 05  LDA $05EE        ; 
AFDF:C9 01     CMP #$01
AFE1:D0 0D     BNE $AFF0
AFE3:AD EF 05  LDA $05EF        ; 
AFE6:0D F0 05  ORA $05F0        ; 
AFE9:D0 05     BNE $AFF0
AFEB:A9 40     LDA #$40
AFED:8D F4 04  STA $04F4        ; 
AFF0:A2 02     LDX #$02
AFF2:BD EE 05  LDA $05EE,X      ; 
AFF5:09 F0     ORA #$F0
AFF7:9D 50 7F  STA $7F50,X      ; 
AFFA:CA        DEX
AFFB:10 F5     BPL $AFF2
AFFD:60        RTS
10400 - Code for switching suits and taking a hit.