This is the Smallhacker's "Separate Luigi Graphics" patch. Luigi's graphics are changed to be different from Mario, just like in Super Mario All-Stars + World.
Unlike version 2.1, this one relies on hijack $A1DA to change graphics every frame so you can change the player graphics without resetting the game. This patch also allows more than two player graphics, see the README for a tutorial on how to do this.
Now updated for Asar, which will find freespace automatically for the patch AND the Mario & Luigi graphics.
When I Added It To My Romhack I Got Stuck On The Nintendo Presents Screen. I Copied And Pasted But Nothing Worked.
File Type .smc
Emulator. SNES9X
I'm having the same problem as Pigeon Lord, except I have a 4MB Rom with SMB:TLL-styled Choose Player Patch installed, and I'm hearing sounds playing at the black screen.
I unheadered my rom, but I get what sonic 10179 is getting when I do. With the header, it seems to work, but the moment I try to boot the rom to test it, it has a blank screen.
I keep getting : Warning: The ROM title appears to be "", which looks like garbage. Is this your ROM title? (Note that inproperly answering "yes" will crash your ROM.) My ROM is called Super Mario World (USA).sfc.
Emulator : ZSNES.
Whenever I apply the patch, if I do a standard jump with Mario (not a running jump) the bottom half of his graphic for jumping doesn't appear. Emulator: Snes9x
i am actually using this... and works perfectly! i edited your graphics and make them mario and luigi from smb3 (well only mario i used some graphics fron smb1)but that last doesn't care 13/10
if read1($00FFD5) == $23
sa1rom
endif
; Mario and Luigi graphics are stored separately in the files
; "Mario.bin" and "Luigi.bin". The graphics in GFX32 are no longer used.
; Make sure "Mario.bin" or "Luigi.bin" are around 24 KB in size,
; the same size as GFX32.bin, to avoid taking up freespace.
; The hack must have been edited by Lunar Magic before applying this patch.
; If you haven't used Lunar Magic, open your ROM, extract GFX, insert GFX
; and save a level.
; MUST BE AN UNUSED RAM ADDRESS
; (Default address: "Unused" part of stack)
!currentGfx = $7E010F
SwitchPlayer:
STA $6DB3
TAX
JSR Change
JSR Upload
RTL
Setup:
LDA #$FF
STA !currentGfx
LDA #$03
STA $0F
RTL
Load1st:
SEP #$30
JSR Change
JSR Upload
RTL
Title:
JSR Change
JSR Upload
JML $04F675
Change:
LDA $6DB3 ;\
CMP #$00 ;| See this? You can change this to whatever you want.
BEQ Mario ;|
;|
LDA $6DB3 ;|
CMP #$01 ;|
BEQ Luigi ;/
RTS
Luigi:
LDA.b #LuigiGfx
STA $4302
LDA.b #LuigiGfx>>8
STA $4303
LDA.b #LuigiGfx>>16
STA $4304
LDA #$01
RTS
;BRA Upload
Mario:
LDA.b #MarioGfx
STA $4302
LDA.b #MarioGfx>>8
STA $4303
LDA.b #MarioGfx>>16
LDA.b #MarioGfx>>16
STA $4304
LDA #$00
RTS
Upload:
CMP !currentGfx
BEQ Return
STA !currentGfx
LDA #$00
STA $4305
LDA #$5D
STA $4306
LDA #$00
STA $2181
LDA #$20
STA $2182
LDA #$7E
STA $2183
LDA #$80
STA $4301
LDA #$00
STA $4300
LDA #$01
STA $420B
Edit: Figured it out! You have to use ExGFX. For example, copy GFX00, change it to the Luigi version, rename it ExGFX80, insert it into the ROM, change "!gfx00Luigi = #$00" to "!gfx00Luigi = #$80" in the patch, then apply the patch.
Follow Us On