Flash toggle rough draft

This commit is contained in:
cassidy
2021-04-21 13:34:10 -04:00
parent c04ff98269
commit 6a34b5cbc4
5 changed files with 127 additions and 42 deletions

View File

@@ -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

View File

@@ -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
;================================================================================

108
accessibility.asm Normal file
View File

@@ -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

View File

@@ -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
;--------------------------------------------------------------------------------

View File

@@ -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: