mirror of
https://github.com/a2-4am/passport.git
synced 2024-08-21 21:29:01 +00:00
switch Optimum to ProDOS write method
really avoids fatal OpenEmulator bug
This commit is contained in:
parent
41c7037824
commit
f771555bf6
@ -191,40 +191,36 @@ _optimum
|
||||
cpy #$FF
|
||||
bne -
|
||||
|
||||
;write replaced page
|
||||
;read other page in block
|
||||
|
||||
lda gRWTSParams+1
|
||||
pha
|
||||
lda gRWTSParams+2
|
||||
pha
|
||||
lda SLOT
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
sta gRWTSParams+1
|
||||
sta gRWTSParams+$0F
|
||||
lda DRIVE
|
||||
and #$0F
|
||||
sta gRWTSParams+2
|
||||
lda #1
|
||||
sta gTrack
|
||||
lda #$0F
|
||||
sta gSector
|
||||
inc gRWTSParams+$0C
|
||||
dec gAddress+1
|
||||
ldy #<gRWTSParams
|
||||
lda #>gRWTSParams
|
||||
jsr $BD00
|
||||
dec gRWTSParams+$0C
|
||||
pla
|
||||
sta gRWTSParams+2
|
||||
pla
|
||||
sta gRWTSParams+$0F
|
||||
sta gRWTSParams+1
|
||||
|
||||
;restore original page
|
||||
;write replaced block
|
||||
|
||||
lda #(BASEPAGE+$0E)
|
||||
sta mliparam+3 ; hi byte of data buffer
|
||||
dec mliparam+4 ; lo byte of block number
|
||||
jsr SwapProDOS
|
||||
lda #$81 ; 'write block' command
|
||||
ldy #$03 ; parameter count
|
||||
jsr mli
|
||||
jsr SwapProDOS
|
||||
|
||||
;restore original pages
|
||||
|
||||
dec gTrack
|
||||
inc gSector
|
||||
ldy #<gRWTSParams
|
||||
lda #>gRWTSParams
|
||||
jsr $BD00
|
||||
inc gSector
|
||||
inc gAddress+1
|
||||
ldy #<gRWTSParams
|
||||
lda #>gRWTSParams
|
||||
jsr $BD00
|
||||
|
@ -192,7 +192,7 @@ StringTable
|
||||
; can be set directly before calling PrintByID.
|
||||
;
|
||||
.header
|
||||
!text "Passport by 4am 2017-02-09",00
|
||||
!text "Passport by 4am 2017-02-10",00
|
||||
.mainmenu
|
||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||
!text " "
|
||||
|
Loading…
Reference in New Issue
Block a user