mirror of https://github.com/a2-4am/passport.git
switch to determinate progress bar during initial decompression, and upgrade to ProDOS 2.4.3
This commit is contained in:
parent
6213b948f8
commit
cc3a9c4f7e
BIN
res/work.po
BIN
res/work.po
Binary file not shown.
|
@ -66,7 +66,7 @@ EXTRA_TABLE_ENTRY_FOR_LENGTH_THREE = 1
|
||||||
; -------------------------------------------------------------------
|
; -------------------------------------------------------------------
|
||||||
; optional progress UI
|
; optional progress UI
|
||||||
!IFNDEF SHOW_PROGRESS_DURING_DECRUNCH {
|
!IFNDEF SHOW_PROGRESS_DURING_DECRUNCH {
|
||||||
SHOW_PROGRESS_DURING_DECRUNCH = 0
|
!set SHOW_PROGRESS_DURING_DECRUNCH = 0
|
||||||
}
|
}
|
||||||
; -------------------------------------------------------------------
|
; -------------------------------------------------------------------
|
||||||
; zero page addresses used
|
; zero page addresses used
|
||||||
|
@ -160,23 +160,18 @@ gb_get_hi:
|
||||||
decrunch:
|
decrunch:
|
||||||
|
|
||||||
!IF SHOW_PROGRESS_DURING_DECRUNCH = 1 {
|
!IF SHOW_PROGRESS_DURING_DECRUNCH = 1 {
|
||||||
lda $FBB3
|
kExoProgressWidth = 23 ; depends on total size, max 38
|
||||||
cmp #$EA
|
ldx #(kExoProgressWidth+2)
|
||||||
bne +
|
lda #$DF
|
||||||
lda #$A1 ; use ! instead of | for initial spinner animation
|
- sta $0528+(20-(kExoProgressWidth/2))-1, x
|
||||||
sta progress_char+1
|
sta $05A8+(20-(kExoProgressWidth/2))-1, x
|
||||||
sta progress_char+5
|
dex
|
||||||
+
|
bpl -
|
||||||
; -------------------------------------------------------------------
|
lda #$20
|
||||||
; show initial on-screen progress UI
|
sta $05A8+(20-(kExoProgressWidth/2))-1
|
||||||
;
|
sta $05A8+(20-(kExoProgressWidth/2))+kExoProgressWidth+1
|
||||||
ldy #7
|
lda #$A8+(20-(kExoProgressWidth/2))
|
||||||
init_progress_loop:
|
sta ExoProgressPtr+1
|
||||||
lda progress_char,y
|
|
||||||
jsr show_one_progress_char
|
|
||||||
dey
|
|
||||||
bpl init_progress_loop
|
|
||||||
done_init_progress_loop:
|
|
||||||
}
|
}
|
||||||
; -------------------------------------------------------------------
|
; -------------------------------------------------------------------
|
||||||
; init zeropage, x and y regs. (12 bytes)
|
; init zeropage, x and y regs. (12 bytes)
|
||||||
|
@ -259,25 +254,15 @@ no_hi_decr:
|
||||||
sta (zp_dest_lo),y
|
sta (zp_dest_lo),y
|
||||||
|
|
||||||
!IF SHOW_PROGRESS_DURING_DECRUNCH = 1 {
|
!IF SHOW_PROGRESS_DURING_DECRUNCH = 1 {
|
||||||
; periodically update on-screen progress UI
|
dec ExoProgressCounter
|
||||||
dec progress_counter
|
bne +
|
||||||
bne dont_update_progress_ui
|
lda #$20
|
||||||
tya
|
ExoProgressPtr
|
||||||
pha
|
sta $0500 ; SMC lo byte
|
||||||
ldy progress_index
|
inc ExoProgressPtr+1
|
||||||
lda progress_char,y
|
+
|
||||||
jsr show_one_progress_char
|
|
||||||
inc progress_index
|
|
||||||
lda progress_index
|
|
||||||
and #$07
|
|
||||||
sta progress_index
|
|
||||||
tay
|
|
||||||
lda #$20
|
|
||||||
jsr show_one_progress_char
|
|
||||||
pla
|
|
||||||
tay
|
|
||||||
dont_update_progress_ui:
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
literal_start1:
|
literal_start1:
|
||||||
jsr get_crunched_byte
|
jsr get_crunched_byte
|
||||||
|
@ -473,28 +458,8 @@ tabl_bit:
|
||||||
!BYTE $8c, $e2
|
!BYTE $8c, $e2
|
||||||
}
|
}
|
||||||
!IF SHOW_PROGRESS_DURING_DECRUNCH = 1 {
|
!IF SHOW_PROGRESS_DURING_DECRUNCH = 1 {
|
||||||
progress_index:
|
ExoProgressCounter
|
||||||
!BYTE $00
|
!byte $00
|
||||||
progress_counter:
|
|
||||||
!BYTE $00
|
|
||||||
progress_char:
|
|
||||||
!BYTE $DC, $FC, $AF, $AD, $DC, $FC, $AF, $AD
|
|
||||||
progress_address_lo:
|
|
||||||
!BYTE $BB, $BC, $BD, $3D, $BD, $BC, $BB, $3B
|
|
||||||
progress_address_hi:
|
|
||||||
!BYTE $05, $05, $05, $06, $06, $06, $06, $06
|
|
||||||
show_one_progress_char:
|
|
||||||
; in: A=ASCII char to show
|
|
||||||
; y=0..7 index into progress_address_lo/hi array
|
|
||||||
pha
|
|
||||||
lda progress_address_lo,y
|
|
||||||
sta progress_STA+1
|
|
||||||
lda progress_address_hi,y
|
|
||||||
sta progress_STA+2
|
|
||||||
pla
|
|
||||||
progress_STA:
|
|
||||||
sta $FFFF
|
|
||||||
rts
|
|
||||||
}
|
}
|
||||||
; -------------------------------------------------------------------
|
; -------------------------------------------------------------------
|
||||||
; end of decruncher
|
; end of decruncher
|
||||||
|
|
|
@ -387,7 +387,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||||
.passport
|
.passport
|
||||||
!text "Passport ",$00
|
!text "Passport ",$00
|
||||||
.header
|
.header
|
||||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-12-07",$00
|
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2024-03-27",$00
|
||||||
.bar9
|
.bar9
|
||||||
!text "_________",$00
|
!text "_________",$00
|
||||||
.bar18
|
.bar18
|
||||||
|
|
Loading…
Reference in New Issue