mirror of
https://github.com/a2-4am/4cade.git
synced 2025-02-07 04:32:14 +00:00
a little refactoring
This commit is contained in:
parent
1a42f29478
commit
d0cc8ecee1
@ -108,6 +108,7 @@ ResetVector ; 6 bytes, copied to $100
|
||||
!source "src/parse.common.a"
|
||||
!source "src/parse.prefs.a"
|
||||
!source "src/glue.prorwts2.a"
|
||||
!source "src/glue.decompress.a"
|
||||
!source "src/ui.common.a"
|
||||
|
||||
; add new files above here so ui.wait stays last
|
||||
|
87
src/glue.decompress.a
Normal file
87
src/glue.decompress.a
Normal file
@ -0,0 +1,87 @@
|
||||
;license:MIT
|
||||
;(c) 2018-2020 by 4am & qkumba
|
||||
;
|
||||
; Exomizer glue functions
|
||||
;
|
||||
; Public functions
|
||||
; - DecompressHGR
|
||||
; - DecompressDHGR
|
||||
; - DecompressSHR
|
||||
;
|
||||
|
||||
DECRUNCH = $0314 ; decrunch entry point
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DecompressSHR
|
||||
;
|
||||
; in: compressed SHR loaded to $1FF8+
|
||||
; file size in sizelo2/sizehi2 as set by ProRWTS2
|
||||
; out: decompressed SHR at $2000..$9FFF
|
||||
; $00A7..$00A8 clobbered by decompressor
|
||||
; $00AE..$00AF clobbered by decompressor
|
||||
; $00FC..$00FF clobbered by decompressor
|
||||
; $0200..$03CB clobbered by decompressor
|
||||
;------------------------------------------------------------------------------
|
||||
DecompressSHR
|
||||
lda #$1F
|
||||
+HIDE_NEXT_2_BYTES
|
||||
; /!\ execution falls through here
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DecompressHGR
|
||||
;
|
||||
; in: compressed HGR loaded to $3FF8+
|
||||
; file size in sizelo2/sizehi2 as set by ProRWTS2
|
||||
; out: decompressed HGR at $4000..$5FFF
|
||||
; $00A7..$00A8 clobbered by decompressor
|
||||
; $00AE..$00AF clobbered by decompressor
|
||||
; $00FC..$00FF clobbered by decompressor
|
||||
; $0200..$03CB clobbered by decompressor
|
||||
;------------------------------------------------------------------------------
|
||||
DecompressHGR
|
||||
lda #$3F
|
||||
pha
|
||||
jsr SwitchToBank2
|
||||
jsr EnableAccelerator
|
||||
lda sizehi2
|
||||
pha
|
||||
lda sizelo2
|
||||
pha
|
||||
lda #>(@loaddecrunch - 1)
|
||||
pha
|
||||
lda #<(@loaddecrunch - 1)
|
||||
pha
|
||||
lda auxreq
|
||||
bne +
|
||||
jmp LoadFile ; load decompression code to $200
|
||||
+ jmp LoadAuxFile ; load decompression code to $200/aux
|
||||
@loaddecrunch
|
||||
!word kRootDirectory
|
||||
!word kDecrunchFile
|
||||
!word $200
|
||||
ldx auxreq
|
||||
sta READMAINMEM,x ; X = 0 or 1, so this will be READMAINMEM or READAUXMEM
|
||||
sta WRITEMAINMEM,x ; X = 0 or 1, so this will be WRITEMAINMEM or WRITEAUXMEM
|
||||
jsr DECRUNCH ; loaded from separate file
|
||||
jsr SwitchToBank2
|
||||
jmp DisableAcceleratorAndSwitchToBank1
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DecompressDHGR
|
||||
;
|
||||
; in: compressed DHGR loaded to aux $3FF8+
|
||||
; file size in sizelo2/sizehi2 as set by ProRWTS2
|
||||
; out: decompressed HGR at $4000..$5FFF/main and $4000..$5FFF/aux
|
||||
; $6000..$7FFF/aux clobbered by decompressor
|
||||
; $00A7..$00A8 clobbered by decompressor
|
||||
; $00AE..$00AF clobbered by decompressor
|
||||
; $00FC..$00FF clobbered by decompressor
|
||||
; $0200..$03CB clobbered by decompressor
|
||||
;------------------------------------------------------------------------------
|
||||
DecompressDHGR
|
||||
jsr DecompressHGR
|
||||
sta WRITEMAINMEM
|
||||
lda #$60
|
||||
sta PageFrom+2
|
||||
lda #$40
|
||||
jmp CopyHGR ; switches back to READMAINMEM on exit
|
@ -304,25 +304,3 @@ RedrawForDHGR
|
||||
dec i
|
||||
bne --
|
||||
jmp SwitchToBank1
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DecompressDHGR [private]
|
||||
;
|
||||
; in: compressed DHGR loaded to aux $3FF8+
|
||||
; file size in sizelo2/sizehi2 as set by ProRWTS2
|
||||
; out: decompressed HGR at $4000..$5FFF/main and $4000..$5FFF/aux
|
||||
; $6000..$7FFF/aux clobbered by decompressor
|
||||
; $00A7..$00A8 clobbered by decompressor
|
||||
; $00AE..$00AF clobbered by decompressor
|
||||
; $00FC..$00FF clobbered by decompressor
|
||||
; $0200..$03CB clobbered by decompressor
|
||||
;------------------------------------------------------------------------------
|
||||
DecompressDHGR
|
||||
jsr DecompressHGR
|
||||
sta $C004
|
||||
lda #$60
|
||||
sta PageFrom+2
|
||||
lda #$40
|
||||
jsr CopyHGR
|
||||
sta $C002
|
||||
rts
|
||||
|
@ -160,44 +160,3 @@ HGRActionCallback
|
||||
!word $3FF8
|
||||
jsr DecompressHGR
|
||||
jmp DrawGameTitleInActionSlideshowHGR
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DecompressHGR [private]
|
||||
;
|
||||
; in: compressed HGR loaded to $3FF8+
|
||||
; file size in sizelo2/sizehi2 as set by ProRWTS2
|
||||
; out: decompressed HGR at $4000..$5FFF
|
||||
; $00A7..$00A8 clobbered by decompressor
|
||||
; $00AE..$00AF clobbered by decompressor
|
||||
; $00FC..$00FF clobbered by decompressor
|
||||
; $0200..$03CB clobbered by decompressor
|
||||
;------------------------------------------------------------------------------
|
||||
DecompressHGR
|
||||
lda #$3F
|
||||
|
||||
DecompressCommon
|
||||
pha
|
||||
jsr SwitchToBank2
|
||||
jsr EnableAccelerator
|
||||
lda sizehi2
|
||||
pha
|
||||
lda sizelo2
|
||||
pha
|
||||
lda #>(@loaddecrunch - 1)
|
||||
pha
|
||||
lda #<(@loaddecrunch - 1)
|
||||
pha
|
||||
lda auxreq
|
||||
bne +
|
||||
jmp LoadFile ; load decompression code to $200
|
||||
+ jmp LoadAuxFile ; load decompression code to $200/aux
|
||||
@loaddecrunch
|
||||
!word kRootDirectory
|
||||
!word kDecrunchFile
|
||||
!word $200
|
||||
ldx auxreq
|
||||
sta $C002,x
|
||||
sta $C004,x
|
||||
jsr $314 ; decrunch entry
|
||||
jsr SwitchToBank2
|
||||
jmp DisableAcceleratorAndSwitchToBank1
|
||||
|
@ -141,19 +141,3 @@ BlankSHR
|
||||
sta NEWVIDEO
|
||||
|
||||
rts
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DecompressSHR [private]
|
||||
;
|
||||
; in: compressed SHR loaded to $1FF8+
|
||||
; file size in sizelo2/sizehi2 as set by ProRWTS2
|
||||
; out: decompressed SHR at $2000..$9FFF
|
||||
; $00A7..$00A8 clobbered by decompressor
|
||||
; $00AE..$00AF clobbered by decompressor
|
||||
; $00FC..$00FF clobbered by decompressor
|
||||
; $0200..$03CB clobbered by decompressor
|
||||
;------------------------------------------------------------------------------
|
||||
DecompressSHR
|
||||
lda #$1F
|
||||
jmp DecompressCommon
|
||||
|
||||
|
@ -176,9 +176,9 @@ PageTo sta $FD00,y ; SMC
|
||||
inc PageTo+2
|
||||
dex
|
||||
bne PageFrom
|
||||
sta READMAINMEM
|
||||
rts
|
||||
|
||||
|
||||
ResyncPage
|
||||
jsr ToggleOffscreenPage
|
||||
; /!\ execution falls through here to ShowOtherPage
|
||||
|
Loading…
x
Reference in New Issue
Block a user