mirror of
https://github.com/a2-4am/passport.git
synced 2024-06-25 21:29:54 +00:00
clean up RAM/HD files on Ctrl-Reset
This commit is contained in:
parent
4a97d929eb
commit
6d70d7956d
|
@ -127,6 +127,7 @@ ResetVector
|
||||||
sta $C004
|
sta $C004
|
||||||
sta $C00C
|
sta $C00C
|
||||||
sta $C00E
|
sta $C00E
|
||||||
|
jsr CleanupFiles
|
||||||
jsr ThisSlot
|
jsr ThisSlot
|
||||||
; /!\ execution falls through here
|
; /!\ execution falls through here
|
||||||
|
|
||||||
|
@ -571,10 +572,7 @@ FatalError
|
||||||
|
|
||||||
TheEnd
|
TheEnd
|
||||||
lda $C0E8
|
lda $C0E8
|
||||||
jsr SwapProDOS ; ProDOS out -> in
|
jsr CleanupFiles
|
||||||
jsr DeleteFileOnRAMDisk ; always safe to call
|
|
||||||
jsr CloseFileOnHardDisk ; always safe to call
|
|
||||||
jsr SwapProDOS ; ProDOS in -> out
|
|
||||||
lda #s_done
|
lda #s_done
|
||||||
jsr PrintByID
|
jsr PrintByID
|
||||||
jsr WaitForKey
|
jsr WaitForKey
|
||||||
|
@ -619,7 +617,7 @@ CleanExit
|
||||||
lda gChangedPrefs
|
lda gChangedPrefs
|
||||||
bne +
|
bne +
|
||||||
jsr SavePrefs
|
jsr SavePrefs
|
||||||
+ jsr DeleteFileOnRAMDisk ; always safe to call
|
+ jsr CleanupFiles
|
||||||
jsr MLI ; does not return
|
jsr MLI ; does not return
|
||||||
!byte $65
|
!byte $65
|
||||||
!word +
|
!word +
|
||||||
|
@ -627,6 +625,12 @@ CleanExit
|
||||||
|
|
||||||
!source "progress.a"
|
!source "progress.a"
|
||||||
|
|
||||||
|
CleanupFiles
|
||||||
|
jsr SwapProDOS ; ProDOS out -> in
|
||||||
|
jsr DeleteFileOnRAMDisk ; always safe to call
|
||||||
|
jsr CloseFileOnHardDisk ; always safe to call
|
||||||
|
jmp SwapProDOS ; ProDOS in -> out
|
||||||
|
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
; WriteTrack
|
; WriteTrack
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
|
|
|
@ -6,21 +6,19 @@
|
||||||
|
|
||||||
lda $BF98 ; ProDOS MachineID
|
lda $BF98 ; ProDOS MachineID
|
||||||
and #$20 ; at least 64K?
|
and #$20 ; at least 64K?
|
||||||
bne good_mem
|
bne OneTimeSetup
|
||||||
jsr $BF00 ; immediately quit on 48K machine
|
jsr $BF00 ; immediately quit on 48K machine
|
||||||
!byte $65 ; (but congratulations on launching Passport at all)
|
!byte $65 ; (but congratulations on launching Passport at all)
|
||||||
!word quit
|
!word quit
|
||||||
quit !byte 4
|
quit !byte 4
|
||||||
|
|
||||||
good_mem
|
OneTimeSetup
|
||||||
jsr $FE89 ; PR#0
|
jsr $FE89 ; PR#0
|
||||||
jsr $FE93 ; IN#0
|
jsr $FE93 ; IN#0
|
||||||
jsr $FB2F ; TEXT
|
jsr $FB2F ; TEXT
|
||||||
jsr $FC58 ; HOME
|
jsr $FC58 ; HOME
|
||||||
jsr decrunch
|
jsr decrunch ; decompress main Passport code
|
||||||
sty $fe ;;zp_dest_lo
|
sty $fe ;;zp_dest_lo = low byte of Passport entry point
|
||||||
|
|
||||||
OneTimeSetup
|
|
||||||
ldy #0 ; save a copy of ProDOS system global page
|
ldy #0 ; save a copy of ProDOS system global page
|
||||||
- lda $BF00, y ; (will be copied back and forth by SwapProDOS later)
|
- lda $BF00, y ; (will be copied back and forth by SwapProDOS later)
|
||||||
sta $0F00, y
|
sta $0F00, y
|
||||||
|
|
Loading…
Reference in New Issue
Block a user