diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index e7df23e..1806295 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -134,7 +134,7 @@ incsrc msu.asm incsrc dialog.asm incsrc entrances.asm incsrc clock.asm -incsrc accessability.asm +incsrc accessibility.asm incsrc heartbeep.asm incsrc capacityupgrades.asm incsrc timer.asm diff --git a/accessability.asm b/accessability.asm deleted file mode 100644 index 46dba25..0000000 --- a/accessability.asm +++ /dev/null @@ -1,36 +0,0 @@ -;================================================================================ -; Accessability Fixes -;================================================================================ -FlipGreenPendant: - LDA $0C : CMP #$38 : BNE + ; check if we have green pendant - ORA #$40 : STA $0C ; flip it - + - - LDA $0D : STA $0802, X ; stuff we wrote over "Set CHR, palette, and priority of the sprite" - LDA $0C : STA $0803, X -RTL -;================================================================================ -!EPILEPSY_TIMER = "$7F5041" -SetEtherFlicker: - LDA.l Seizure_Safety : BNE + - LDA $031D : CMP.b #$0B : RTL - + - LDA !EPILEPSY_TIMER : INC : STA !EPILEPSY_TIMER - - LDA.l Seizure_Safety : CMP !EPILEPSY_TIMER : BNE +++ - LDA.b #$00 : STA !EPILEPSY_TIMER : BRA ++ - +++ - LSR : CMP !EPILEPSY_TIMER : !BLT ++ - SEP #$02 : RTL - ++ - REP #$02 - + -RTL -;================================================================================ -SetAttractMaidenFlicker: - LDA.l Seizure_Safety : BNE + - JSL.l Filter_MajorWhitenMain : LDA $5F : RTL - + - LDA #$00 -RTL -;================================================================================ \ No newline at end of file diff --git a/accessibility.asm b/accessibility.asm new file mode 100644 index 0000000..9c7a4c7 --- /dev/null +++ b/accessibility.asm @@ -0,0 +1,108 @@ +;================================================================================ +; Accessability Fixes +;================================================================================ +FlipGreenPendant: + LDA $0C : CMP #$38 : BNE + ; check if we have green pendant + ORA #$40 : STA $0C ; flip it + + + + LDA $0D : STA $0802, X ; stuff we wrote over "Set CHR, palette, and priority of the sprite" + LDA $0C : STA $0803, X +RTL +;================================================================================ +!EPILEPSY_TIMER = "$7F5041" +SetEtherFlicker: + LDA.l Seizure_Safety : BNE + + LDA $031D : CMP.b #$0B : RTL + + + LDA !EPILEPSY_TIMER : INC : STA !EPILEPSY_TIMER + + LDA.l Seizure_Safety : CMP !EPILEPSY_TIMER : BNE +++ + LDA.b #$00 : STA !EPILEPSY_TIMER : BRA ++ + +++ + LSR : CMP !EPILEPSY_TIMER : !BLT ++ + SEP #$02 : RTL + ++ + REP #$02 + + +RTL +;================================================================================ +ConditionalLightning: + CMP.b #$05 : BEQ ++ + CMP.b #$2C : BEQ ++ + CMP.b #$5A : BEQ ++ + LDA.l DisableFlashing : BNE ++ + LDA.b #$32 : STA.w $9A + RTL + ++ + LDA.b #$72 + STA $9A + +RTL +;================================================================================ +ConditionalWhitenColor: + PHA + STA $00 + AND.w #$001F : ADC.w #$000E + CMP.w #$001F : BCC + + LDA.w #$001F + + + STA $02 + LDA $00 : AND.w #$03E0 : ADC.w #$01C0 + CMP.w #$03E0 : BCC + + LDA.w #$03E0 + + + STA $04 + LDA $00 : AND.w #$7C00 : ADC.w #$3800 + CMP.w #$7C00 : BCC + + LDA.w #$7C00 + + + ORA $02 : ORA $04 + PHA + LDA.l DisableFlashing : BNE + + PLA : PLY : PLY + RTL + + + PLA : PLA : LDY $0000 + +RTL +;================================================================================ +DDMConditionalLightning: + LDA.l DisableFlashing + REP #$20 + BNE + + LDA.w $0000 + LDX.b #$02 + JML $07FA7F + + + LDA.b $00 + - + LDA $F4EB, Y : LDA $7EC560, X + LDA $F4F9, Y : LDA $7EC570, X + LDA $F507, Y : LDA $7EC590, X + LDA $F515, Y : LDA $7EC5E0, X + LDA $F523, Y : LDA $7EC5F0, X + INY #2 + INX #2 : CPX.b #$10 : BNE - + + LDX.b #$02 + JML $07FAAC + +;================================================================================ +ConditionalGTFlash: + LDA.l DisableFlashing : BNE + + REP #$20 + BNE + + LDA $0000 + - + LDA $F9C1, Y : STA $7EC5D0, X + INY #2 + INX #2 : CPX.b #$10 : BNE - + RTL + + + LDA $00 + -- + LDA $F9C1, Y : LDA $7EC5D0, X + INY #2 + INX #2 : CPX.b #$10 : BNE -- +RTL diff --git a/hooks.asm b/hooks.asm index 2e26c7d..9c72e80 100755 --- a/hooks.asm +++ b/hooks.asm @@ -731,7 +731,7 @@ dw $0000, $0002, $0004, $0032, $0004, $0006, $0030 ;-------------------------------------------------------------------------------- ;================================================================================ -; Accessability +; Accessibility ;-------------------------------------------------------------------------------- ;org $0AC574 ; <- 54574 - Bank0A.asm : 1797 (LDA $0D : STA $0802, X) ;JSL FlipGreenPendant @@ -740,10 +740,19 @@ dw $0000, $0002, $0004, $0032, $0004, $0006, $0030 org $08AAE1 ; <- 42AE1 - ancilla_ether_spell.asm : 28 (LDA $031D : CMP.b #$0B) JSL.l SetEtherFlicker : NOP ;-------------------------------------------------------------------------------- -org $0CF37B ; <- 6737B - Bank0C.asm : 5055 (JSL Filter_MajorWhitenMain) -JSL.l SetAttractMaidenFlicker : NOP #2 +org $02A3F4 ; <- 123F4 - Bank02.asm : 6222 (LDA.b #$72 : BRA .setBrightness) +BRA + : NOP #2 +org $02A3FD ; <- 123FD - Bank02.asm : 6233 (LDA.b #$32 : STA $9a) ++ : JSL.l ConditionalLightning ;-------------------------------------------------------------------------------- - +org $02FEAB ; <- 17EAB - Bank0E.asm : 3826 (REP #$20 : LDX.b #$00) +JSL.l ConditionalWhitenColor : RTS +;-------------------------------------------------------------------------------- +org $07FA7B ; <- 3FA7B - Bank0E.asm : 4735 (REP #$20 : LDX.b #$02) +JML DDMConditionalLightning +;-------------------------------------------------------------------------------- +org $07FACB ; <- 3FACB - Bank0E.asm : 4773 (REP #$20 : LDA #$F531, Y) +JSL.l ConditionalGTFlash : BRA + : NOP #11 : + ;================================================================================ ; Ice Floor Toggle ;-------------------------------------------------------------------------------- diff --git a/tables.asm b/tables.asm index 93204e8..4403f6b 100644 --- a/tables.asm +++ b/tables.asm @@ -916,7 +916,11 @@ db #$00 RainDeathRefillArrows_Mantle: db #$00 ;================================================================================ -; 0x18018E - 0x18018F (unused) +org $30818E ; PC 0x18018E +DisableFlashing: +db $00 ; $00 = Flashing enabled (default) $01 = Flashing disabled +;================================================================================ +; 0x18018F (unused) ;================================================================================ org $308190 ; PC 0x180190 - 0x180192 TimerStyle: