always decompress SHR to completion on launch

fixes https://github.com/a2-4am/4cade/issues/680
This commit is contained in:
4am 2025-03-01 18:28:48 -05:00
parent 7799ca071c
commit d43ba3cec6
3 changed files with 8 additions and 4 deletions

View File

@ -6,6 +6,7 @@
; Public functions
; - DecompressGameHelp
; - DecompressSHR
; - DecompressAuxSHROnIdle
; - DecompressAuxSHR
; - DecompressDHGR
; - DecompressHGR
@ -49,15 +50,18 @@ DecompressSHR
bne DecompressAfterLoad ; always branches
;------------------------------------------------------------------------------
; DecompressAuxSHR
; DecompressAuxSHR/DecompressAuxSHROnIdle
;
; in: compressed SHR data at $1FF8/aux
; file size in sizelo2/sizehi2 as set by ProRWTS2
; out: decompressed SHR data at $2000..$9FFF/aux
; also see notes in DecompressAfterLoad
;------------------------------------------------------------------------------
DecompressAuxSHR
DecompressAuxSHROnIdle
bit SHRRTS ; V=1 -> allow early exit on keypress
!byte $A9
DecompressAuxSHR
clv ; V=0 -> always complete decompression
ldx #kDecompressInAuxMem ; data is in auxmem
ldy #$A0
lda #$1F ; target address (hi) -1

View File

@ -166,7 +166,7 @@ PlayGameInAY
@loadLaunchArtwork128K
lda gPreloadStatus
bne @resumeBackgroundDecompression
+ jsr LoadAuxIndexedSHRFile
jsr LoadAuxIndexedSHRFile
jsr PreSHRMode
jsr DecompressAuxSHR
jmp @showLaunchArtwork128K

View File

@ -287,7 +287,7 @@ LoadLaunchArtworkInBackground
lda #%00000001
sta gPreloadStatus
jsr PreSHRMode
jsr DecompressAuxSHR
jsr DecompressAuxSHROnIdle
lda KBD
bmi @turnOffLinearizeAndExit
lda #%11111111