Language…
6 users online: Firstnamebutt, Golden Yoshi, GRIMMKIN, Mario's GameBase, Pink Gold Peach, qantuum - Guests: 245 - Bots: 392
Users: 64,795 (2,378 active)
Latest user: mathew

Hex Edits Repository

Link Thread Closed
  • Pages:
  • 1
  • 2
PLEASE USE THE TWEAKS SECTION TO SUBMIT HEX EDITS NOW!! THIS THREAD STILL EXISTS AS NOT ALL HEX EDITS HAVE BEEN MOVED OVER THERE CURRENTLY!



This thread is for anyone who wants to post any useful hex edits so that we can have an organized database instead of forcing the user to go to the ROM Map and get overwhelmed. I will put all of them on a list in this thread.

To post a hex edit use this format:

Name: [Name of the hex edit]

Category: [Name of Category]
Description: [Description of the Hex Edit]

Address 1: [Address1]
Edit: [Edit of Address1]

Address 2: [Address2]
Edit: [Edit of Address2]

.
.
.

Address N: [AddressN]
Edit: [Edit of AddressN]


ASM: (optional)

Code
;Hex Edit in code


Lists:

Fixes:

Name: HurtFix by BMF54123

Description: This is HurtFix by BMF54213. It's kinda a register correction (invalid overwrites of X and Y...)

Addresses: $00F5E2, $00F5F3

Code
org $00F5E2
	LDA #$0F
	STA $1DF9

org $00F5F3
	LDA #$04
	STA $1DF9



Important Constants:

Useful Features:

Name: Disable Koopa turning.

Address: $018BCC

Edit: Change to A9 00 to disable Koopa turning.

Code
org $018BCC
	LDA #$00


Name: RPG Overworld

Description: Good ol' RPG overworld patch that allows free-roam walking, no beep sound when on a new tile and Mario staying on the direction he walks. Note that you must set every 16x16 level tile you want Mario to walk on have enabled to go to every direction, "Level has been passed" and "No enter if level passed".

Addresses: $04925F, $049263, $04969F

Code
org $04925F
LDA $15;was $16...looks pointless

org $049263
BRA $00

org $04969F
BRA $04;saving nine cycles (not that it matters, but I find it to be better ths way)
NOP
NOP
NOP
NOP


Name: Reznor Bridge's Shatter Time

Addresses: $03D739, $03D74E

Edit: Change them both to modify the speed which Reznor's bridge shatters. The condition is that $03D74E has to be set with a value greater than $03D739.

Code
	; This doubles the shattering speed
org $03D739
	db $1E
org $03D74E
	db $20


Name: POW color modifier

Addresses: $018454, $028A30

Edit: Change them both to A9 00 if you want all P-Switches to be silver, or A9 01 if you want all P-Switches to be blue.

Code for Silver Switches:
Code
org $018454
	LDA #$00
org $028A30
	LDA #$00


Code for Blue Switches:
Code
org $018454
	LDA #$01
org $028A30
	LDA #$01


Name: Disable 1-up Combo from Star

Notes: Note that sprites with a custom interaction has to be done in their code if they don't use default interaction.
If you use GIEPY, you can easily do this by opening sprite_misc.asm in the folder "libraries" and go to "StarKill". You then change the #$08 at the first CMP #$08 and LDA #$08 to #$07. If a sprite still allows you to make a 1-up chain then the star kill is handled inside the sprite and not in any external routine. The star kill code is often marked with "StarKill", "StarWin" or any label with "star" and repeat the same procedure.

Addresses: $01A851, $01A855, $039609, $03960D, $02F2AC, $02F2B0

Edit: The star combo stops at 2000 points which prevents the player from gaining any 1-up from stars.

Code
;; Default star-kill interaction
org $01A851
CMP #$08      ; if reward would be at least 1up

org $01A855
LDA #$07      ; set reward to 8000 points

;; Rex special case
org $039609
CMP #$08      ; if reward would be at least 1up

org $03960D
LDA #$07      ; set reward to 8000 points

;; Wiggler special case
org $02F2AC
CMP #$08      ; if reward would be at least 1up

org $02F2B0
LDA #$07      ; set reward to 8000 points


Name: Prevent the player from walking after touching a goal sphere in a horizontal level

Address1: $018778

Edit1: 20 23 CD

Address2: $01CD23

Edit2: Lorom: 9E C8 14 CE C6 13 60 Sa1rom: 9E 42 32 CE C6 73 60

Code
org $018778
db $20,$23,$CD

org $01CD23

if !sa1 == 1
    db $9E,$42,$32,$CE,$C6,$73,$60
else
    db $9E,$C8,$14,$CE,$C6,$13,$60
endif


Name: Straight Fireballs

Address1: $00FEC5

original1: 30

Edit1: 00

Address2: $029F99

original2: 00 B8 C0 C8 D0 D8 E0 E8

Edit2: 00 00 00 00 00 00 00 00

Address3: $029FD4

original3: 04

Edit3: 00

Address4: $029FE4

original4: 02

Edit4: 01

Code
org $029F99             ;reset table with Y-speeds related with fireball bouncing off specific surfaces (slopes)        
	db $00,$00,$00,$00,$00,$00,$00,$00

org $00FEC5
	db $00		;reset fireball's Y speed

org $029FD4
	db $00		;no Y Speed acceleration

org $029FE4
	db $01		;make fireball disappear when in contact with slopes


Screenshot:


Name: Debug - Walk on all OW Paths by Alcaro

Addresses: $049291, $0CF87C, $0CF9CF, $0CFA06, $0CFAE3, $0CFCBF, $0CFEF0, $0CFD13, $0CFF66

Code
org $049291
JMP $92AF;walk everywhere

org $0CF87C
db $45;open vanilla dome

org $0CF9CF : db $5F
org $0CFA06 : db $5F
org $0CFAE3 : db $5F
org $0CFCBF : db $5F;reveal various star warps
org $0CFEF0 : db $5F
org $0CFD13 : db $5F
org $0CFF66 : db $5F


Name: Customisable Amount of Dragon Coins in Level (originally "3 Yoshi Coins in Level")

Addresses: $008FDB, $00F349, $00F37E

Code
!Coins = 3;This is how many coins you want per level.
!Startoffset = $09;This controls how many points the first Yoshi coin will give you. Default is 1000. Valid values:
;01 = 10
;02 = 20
;03 = 40
;04 = 80
;05 = 100
;06 = 200
;07 = 400
;08 = 800
;09 = 1000
;0A = 2000
;0B = 4000
;0C = 8000
;0D = 1up
;0E = 2up
;0F = 3up
;10 = 5up (may glitch)

org $008FDB
CMP.b #!Coins;This is how many coins to draw in the status bar

org $00F349
CMP.b #!Coins;This is how many coins to require before setting the "Yoshi coins gotten" flag

org $00F37E
ADC.b #!Startoffset;This will change how many points Yoshi coins gives you
CMP.b #!Startoffset+!Coins-1;This is how long it takes to get a 1up


Notes: This hex edit allows you to change how many dragon coins you need to collect before the game registers them as all collected.


Name: Disable Koopa turning.

Address: $018BCC
Edit: Change to A9 00 to disable Koopa turning.

Code
org $018BCC
	LDA #$00






Dream team (feed them, please):






RPG Overworld

Good ol' RPG overworld patch that allows free-roam walking, no beep sound when on a new tile and Mario staying on the direction he walks. Note that you must set every 16x16 level tile you want Mario to walk on have enabled to go to every direction, "Level has been passed" and "No enter if level passed".

Code
org $04925F
LDA $15;was $16...looks pointless

org $049263
BRA $00

org $04969F
BRA $04;saving nine cycles (not that it matters, but I find it to be better ths way)
NOP
NOP
NOP
NOP


Userbar by Green Jerry

Also a Fortaleza Reznor user. If you... digo, si hablas español, hackeas, buscas ayuda, o simplemente se te da conocer gente, únete, somos puerta abierta.


Reznor Bridge's Shatter Time

Addresses: $03D739, $03D74E

Edit: Change them both to modify the speed which Reznor's bridge shatters. The condition is that $03D74E has to be set with a value greater than $03D739.

Example Code:

Code
	; This doubles the shattering speed
org $03D739
	db $1E
org $03D74E
	db $20


------------------------------------------------------------------
POW color modifier

Addresses: $018454, $028A30

Edit: Change them both to A9 00 if you want all P-Switches to be silver, or A9 01 if you want all P-Switches to be blue.

Code for Silver Switches:
Code
org $018454
	LDA #$00
org $028A30
	LDA #$00


Code for Blue Switches:
Code
org $018454
	LDA #$01
org $028A30
	LDA #$01






Dream team (feed them, please):






Disable 1-up Combo from Star

Adresses: $01A851, $01A855, $039609, $03960D, $02F2AC, $02F2B0

Edit: The star combo stops at 2000 points which prevents the player from gaining any 1-up from stars.

Code
;; Default star-kill interaction
org $01A851
CMP #$08      ; if reward would be at least 1up

org $01A855
LDA #$07      ; set reward to 8000 points

;; Rex special case
org $039609
CMP #$08      ; if reward would be at least 1up

org $03960D
LDA #$07      ; set reward to 8000 points

;; Wiggler special case
org $02F2AC
CMP #$08      ; if reward would be at least 1up

org $02F2B0
LDA #$07      ; set reward to 8000 points


Note that sprites with a custom interaction has to be done in their code if they don't use default interaction.
If you use GIEPY, you can easily do this by opening sprite_misc.asm in the folder "libraries" and go to "StarKill". You then change the #$08 at the first CMP #$08 and LDA #$08 to #$07. If a sprite still allows you to make a 1-up chain then the star kill is handled inside the sprite and not in any external routine. The star kill code is often marked with "StarKill", "StarWin" or any label with "star" and repeat the same procedure.
Prevent the player from walking after touching a goal sphere in a horizontal level (ROM Map)

Address 1: $018778
Edit: 20 23 CD

Address 2: $01CD23
Edit (LoROM): 9E C8 14 CE C6 13 60
Edit (SA-1): 9E 42 32 CE C6 73 60

ASM:
Code
org $018778
db $20,$23,$CD

org $01CD23

if !sa1 == 1
    db $9E,$42,$32,$CE,$C6,$73,$60
else
    db $9E,$C8,$14,$CE,$C6,$13,$60
endif
Straight Fireballs

Address 1: $00FEC5
Original: 30
Edit: 00

Address 2: $029F99
Original: 00 B8 C0 C8 D0 D8 E0 E8
Edit: 00 00 00 00 00 00 00 00

Address 3: $029FD4
Original: 04
Edit: 00

Address 4: $029FE4
Original: 02
Edit: 01

Patch Format:
Code
org $029F99             ;reset table with Y-speeds related with fireball bouncing off specific surfaces (slopes)        
	db $00,$00,$00,$00,$00,$00,$00,$00

org $00FEC5
	db $00		;reset fireball's Y speed

org $029FD4
	db $00		;no Y Speed acceleration

org $029FE4
	db $01		;make fireball disappear when in contact with slopes


Screenshot:


HurtFix by BMF54123

Addresses: $00F5E2, $00F5F3


Code
org $00F5E2
	LDA #$0F
	STA $1DF9

org $00F5F3
	LDA #$04
	STA $1DF9


This is HurtFix by BMF54213. It's kinda a register correction (invalid overwrites of X and Y...)

_____________________________________________________________________

Debug - Walk on all OW Paths by Alcaro

Addresses: $049291, $0CF87C, $0CF9CF, $0CFA06, $0CFAE3, $0CFCBF, $0CFEF0, $0CFD13, $0CFF66

Code
org $049291
JMP $92AF;walk everywhere

org $0CF87C
db $45;open vanilla dome

org $0CF9CF : db $5F
org $0CFA06 : db $5F
org $0CFAE3 : db $5F
org $0CFCBF : db $5F;reveal various star warps
org $0CFEF0 : db $5F
org $0CFD13 : db $5F
org $0CFF66 : db $5F






Dream team (feed them, please):






Customisable Amount of Dragon Coins in Level (originally "3 Yoshi Coins in Level")

Addresses: $008FDB, $00F349, $00F37E

Code
!Coins = 3;This is how many coins you want per level.
!Startoffset = $09;This controls how many points the first Yoshi coin will give you. Default is 1000. Valid values:
;01 = 10
;02 = 20
;03 = 40
;04 = 80
;05 = 100
;06 = 200
;07 = 400
;08 = 800
;09 = 1000
;0A = 2000
;0B = 4000
;0C = 8000
;0D = 1up
;0E = 2up
;0F = 3up
;10 = 5up (may glitch)

org $008FDB
CMP.b #!Coins;This is how many coins to draw in the status bar

org $00F349
CMP.b #!Coins;This is how many coins to require before setting the "Yoshi coins gotten" flag

org $00F37E
ADC.b #!Startoffset;This will change how many points Yoshi coins gives you
CMP.b #!Startoffset+!Coins-1;This is how long it takes to get a 1up

This hex edit allows you to change how many dragon coins you need to collect before the game registers them as all collected.
This is a collection of every debug function in a SMW ROM, compiled by HyperHacker.

Name: Debug Function Toggle by HyperHacker
Code
org $950B ;Boss Scene Select
	db $00 ;Disable
	;db $30 ;Enable

org $A248 ;Frame-by-Frame Advance/Slow-Motion
	db $12 ;Disable
	;db $00 ;Enable

org $A256 ;Adjust speed of Slow-Motion
	;db $0F ;Default

org $A25F ;Press Start to finish level
;doesn't seem to work. Would be redundant anyway.
	db $F0 ;Disable
	;db $D0 ;Enable

;The following two must be used together.
org $A268 ;Can exit any level with Start+Select, and finish it
	db $20 ;Disable
	;db $00 ;Enable
org $A273
	db $0A ;Disable
	;db $00 ;Enable

org $C576 ;Powerup Select
	db $80 ;Disable
	;db $F0 ;Enable

org $CC84 ;Free-Roaming Mode
	db $80 ;Disable
	;db $F0 ;Enable

org $E2D3 ;Infinite Star
	db $40 ;Disable
	;db $00 ;Enable

org $04824B ;Press Select on Overworld to Cycle Yoshi Colours
	db $80 ;Disable
	;db $F0 ;Enable

org $049136 ;Press Select at Yoshi's House on Overworld to Warp to Star World
	db $80 ;Disable
	;db $F0 ;Enable

org $049291 ;Can Walk on Unrevealed Overworld Paths (breaks Star World)
	db $EA, $EA, $EA ;Disable
	;db $4C, $AF, $92 ;Enable
Name: Invincible Chucks by gameboy

Code
org $02A0FC
BRA +
org $02A143
+
org $02C7E8
BRA +
org $02C7F6
+
org $07F444
db $3B
org $07F48F
db $3B,$3B,$3B,$3B,$3B,$0B,$3B,$3B
org $07F50D
db $9B
org $07F558
db $BB,$BB,$BB,$BB,$BB,$F9,$BB,$BB
org $07F5D6
db $19
org $07F621
db $19,$19,$19,$19,$19,$11,$19,$19
org $07F69F
db $44
org $07F6EA
db $44,$44,$44,$44,$44,$48,$44,$44
Name: Yoshi No Fly by HuFlungDu

Code
if read1($00FFD5) == $23
sa1rom
!Base2 = $6000
else
lorom
!Base2 = $0000
endif
org $01EBD0
STZ $1410|!Base2
org $01F152
STZ $141E|!Base2
org $01F198
STZ $141E|!Base2
org $01F6D4
STZ $141E|!Base2
Name: Time Up! Safety by Maxx
Description: With this patch applied, when the time reaches 0, Mario will simply exit the level, not die.

Code
org $008E6B
	JSL $05B160


May cause issues with music speed if you are using AddmusicK. Look here for a fix.
Name: Mario Head Mover, by Alcaro.

Description:
Originally posted by Alcaro
This patch moves Mario's head a bit. Warning: Do not use without exgfx.
Note that the cape is not moved, and the duck pose and growing pose is unchanged.


Code
!DIFF = $0008;EDIT THIS if you want to

org $00DE32
dw $0001+!DIFF,$0011,$0011,$0019,$0001+!DIFF,$0011,$0011,$0019
dw $000C+!DIFF,$0014,$000C,$0014,$0018,$0018,$0028,$0018
dw $0018,$0028,$0006,$0016,$0001+!DIFF,$0011,$0009,$0011
dw $0000,$0011,$0009,$0011,$0001+!DIFF,$0011,$0011,$0001
dw $0011,$0011,$0001+!DIFF,$0011,$0011,$0001+!DIFF,$0011,$0011
dw $0001,$0011,$0001+!DIFF,$0011,$0011,$0005,$0004+!DIFF,$0014
dw $0004,$0014,$000C,$0014,$000C,$0014,$0010,$0010
dw $0010,$0010,$0010,$0000+!DIFF,$0010,$0000+!DIFF,$0010,$0000
dw $0010,$0000,$000B,$000B,$0011,$0011,$FFFF,$FFFF
dw $0010,$0010,$0010,$0010,$0010,$0010,$0010,$0015
dw $0015,$0025,$0025,$0004,$0004,$0004,$0014,$0014
dw $0004,$0014,$0014,$0004,$0004,$0014,$0004,$0004
dw $0014,$0000,$0008,$0000,$0000,$0008,$0000,$0000
dw $0010,$0018,$0000,$0010,$0018,$0000,$0010,$0000
dw $0010,$FFF8
Name: Shoot More Fireballs
Author: imamelia
Description: Allows you to shoot more than two fireballs. Note: It won't work properly if set to anything higher than #$0A, and that high values should probably be avoided if you're going to use anything that generates extended sprites.

Code
!Freespace = $02FFF6		; this MUST be in bank 02
!MaxFireballCount = $02		; how many fireballs you want the player to be able to shoot (default is 02)

org $00FAD4
db $09

org $00FEB1
db $09-!MaxFireballCount

org $02A03C
dw !Freespace

org !Freespace
db $90,$94,$98,$9C,$A0,$A4,$A8,$AC,$F8,$FC
Name: Fireball Patch
Authors: ASM, Chdata, imamelia
Description: You can allow Mario to fire up to 10 fireballs on screen at once, make them shoot straight forward and not "deflect" off of walls, disable Mario from autoshooting fireballs while spinjumping.

Code
org $80FEB1	;The number of fireballs allowed will be 9 minus this number, $00 will allow 9, and you can actually...
db $FF		;Allow 10 fireballs at once!!!
org $82A03C	;"db $07"
dw $FFF6	;(The other stuff is just changing the pointer to the fireballs' OAM indexes. Thanks to Imamelia.)
org $82FFF6	;
db $90,$94,$98	;
db $9C,$A0,$A4	;
db $A8,$AC,$F8	;
db $FC		;
org $829F99	;The stuff below was made By: ASM
db $00,$00,$00	;It makes fireballs move perfectly straight, 
db $00,$00,$00	;and not reflect diagonally off of objects
db $00,$00	;
org $80FEC5	;
db $00		;
org $829FD4	;
db $00		;
org $829FE4	;
db $01		;!ar findrom spin jump fireball (lol fail)
org $80D090	;And thanks to Chdata, 
RTS : NOP #4	;you don't spawn fireballs while spin-jumping
Name: SMW-Fix
Author: MrCheeze
Description:
Originally posted by Original Description

Same as MrCheeze's patch, but then configurable and insertable with Asar. Except for the conversion, all credit goes to MrCheeze for the original code.

This patch fixes :

- The palette from the S from Mario Start!
- Wendy's bow.
- Glitches with the silver P-Switch when carrying it while coming out of a pipe.
- Parakoopa wing tiles being overwritten.
- Sprites being stunned forever if carried through a pipe.

Code
lorom
if read1($00FFD5) == $23
	sa1rom
endif

org $00913F
db $34

org $009170
db $F4   

org $00A439
BRA $43          ; Branches to RTS. Probably used to skip a routine that makes Paratroopa's wing tiles get overwritten.

org $02AC18
BRA $2E          ; Fixes the silver P-switch glitch by always skipping code, which apparently messes the P-Switch up.

org $03CFAF
db $08           ; The following values all seem to fix Wendy's Bow.
db $00
db $08
db $F8
db $08
db $00
db $08

org $03D1D7
db $1F
db $1E
db $00
db $20
db $20
db $4C
db $1E
db $1F
Name: Unused Address Deleter
Authors: K3fka, wiiqwertyuiop
Description:
Originally posted by Original Description
Gets rid of unused data in SMW (i.e. beta levels, unused sprites, etc.) and allows you to use it as freespace. 2815 bytes are made available for your ASM hacks as a result of this patch.

Code
lorom

if read1($00FFD5) == $23
	sa1rom
endif

fillbyte $00
org $009510 : fill 24
org $00A249 : fill 18
org $00A274 : fill 10
org $00C578 : fill 13
org $00CC86 : fill 44
org $00CCB3 : fill 8
org $00CDD0 : fill 12
org $0187C5 : fill 4
org $01886F : fill 20
org $0195FC : fill 32
org $01A1C0 : fill 16
org $01F875 : fill 6
org $028BBB : fill 9
org $029D9D : fill 150
org $02CBFE : fill 178
org $04824D : fill 20
org $049138 : fill 9
org $05C1AE : fill 213
org $05C283 : fill 171
org $05C32E : fill 251
org $05C674 : fill 166
org $068063 : fill 90
org $0680BD : fill 123
org $068138 : fill 282
org $068264 : fill 135
org $0682EB : fill 177
org $06839C : fill 15
org $0683AB : fill 342
org $068501 : fill 60
org $06853D : fill 36
org $078081 : fill 15
org $07C300 : fill 14
org $07C30E : fill 50
org $07C375 : fill 38
org $07C39B : fill 14
org $07C3A9 : fill 50
Name: Raccoon Mario Patch
Author: andy_k_250
Description: Change Caped Mario into Raccoon Mario.
Code: Pastebin.
Name: Onyx's Shoot 'Em Up Patches
Author: Onyx
Description: Replace Mario's fireballs with bullets. It was deleted when SMWC moved to a new server.

Code
org $00D083
	BNE $00		; cancels out a branch, allowing mario to shoot fireballs regardless of powerup
org $00FE94
	db $FB,05	; fireball x-speed
org $00FEA2
	db $07,$07	; fireball y-position
org $00FEB5
	LDA #$1A	; shooting fireball sfx
org $00FEC4
	LDA #$00	; initial y-speed of fireball
org $029FD3
	ADC #$00	; stop y-speed of fireball
org $00EB79		;\ 
	LDA #$01	;|
org $01B4C0		;| changes mario's hitbox to a fixed value
	LDA #$01	;| $00 = small, $01 = big
org $03B67C		;|
	LDA #$01	;/
  • Pages:
  • 1
  • 2
Link Thread Closed