41
ROM Hacking Discussion / Re: Lufia-Patches by Artemis
« on: December 21, 2018, 12:34:31 am »Better look at it yourself to be perfectly sure, but from quickly looking over it 30dd00 ~ 3ffe00(headered) looks free.Wait a second...
*Checks readme's for both patches*
Yep... FreeLufia is for a headered ROM and the MSU-1 patch is for a headerless ROM.
*Uses IPSEdit to add a header offset to the MSU-1 patch, and checks it in PatchChecker again*
100% compatible.
Problem solved, I'll just send the modded MSU-1 IPS patch to the other guy, and tell him to make sure he's using a headered ROM... Then have him actually test it, since I don't have the ROM handy, lol.
-------
OK, Problem NOT solved, lol.
Both patches work fine when independently patched on a headered ROM, but when both patches are installed you get a loop between the first 2 screens, doesn't make it to the opening.
Here's the MSU patch's ASM code (addresses are for a non-headered ROM):
Code: [Select]
; Lufia 2 MSU1 patch by Conn
; v1.1: better map point
; apply on Lufia II - Rise of the Sinistrals (U).smc no header
lorom
org $90C091 ; hardcore apu mute
db $2f
org $80B8CE ; intro fix
db $80
org $80942E
JSL msu
org $809693
JSL fade
org $80863C
JSL nmi
NOP
org $80B8B1
JSL mute
org $81FD10
msu:
STA $54
STZ $55
LDX #$0000
LDA #$00
XBA
STA $2006
LDA $54
STA $2004
TAX
STZ $2005
loop:
BIT $2000
BVS loop
LDA $81FF00,x
STA $2007
LDA #$00 ;erase fade flag
sta $7ffff0
LDA #$ff
STA $7ffff1
STA $2006
rtl
fade:
SEP #$20
LDA #$06
STA $7ffff0 ;fade flag
RTL
nmi:
LDA #$80
STA $2100
LDA $7ffff0
BNE $01
RTL
lda $7ffff1
CMP #$00
BEQ endfast
dec
dec
dec
cmp #$10
bcs $06
endfast:
lda #$00
sta $7ffff0 ;erase fade flag
sta $002006
sta $7ffff1
RTL
mute:
JSL $809528
LDA #$00
STA $002006
RTL
org $81FF00 ; loop table
; 01-Non-loop, 03-Loop
; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
db $03,$03,$03,$03,$01,$03,$01,$03,$03,$03,$03,$03,$01,$03,$01,$01 ; themes 00-0f - 00
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 10-1f - 10
db $03,$03,$03,$03,$03,$01,$01,$03,$03,$03,$03,$03,$03,$01,$03,$03 ; themes 20-2f - 20
db $01,$01,$03,$01,$01,$01,$01,$03,$03,$03,$03,$03,$01,$03,$01,$03 ; themes 30-3f - 30
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 40-4f - 40
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 50-5f - 50
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 60-6f - 60
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 70-7f - 70
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 80-8f - 80
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes 90-9f - 90
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes a0-af - A0
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes b0-bf - B0
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes c0-cf - C0
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes d0-df - D0
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes e0-ef - E0
db $03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 ; themes f0-ff - F0
I don't suppose you see anything in there that might conflict with some of the code in your patch? One of them's got to be writing/reading to the same RAM address as something in your patch.