switch Optimum to ProDOS write method

really avoids fatal OpenEmulator bug
This commit is contained in:
Peter Ferrie 2017-02-10 21:20:25 -08:00
parent 41c7037824
commit f771555bf6
2 changed files with 21 additions and 25 deletions

View File

@ -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

View File

@ -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 " "