fixed improper SECOND/TKSA processing in CBDOS
This commit is contained in:
1 parent
beefa98acc
commit
279adc1e0e
1 file changed
+29
-50
@@ -7,77 +7,56 @@
|
|||||||
|
|
||||||
dos_SECOND:
|
dos_SECOND:
|
||||||
|
|
||||||
|
pha
|
||||||
phx
|
phx
|
||||||
cmp #$60
|
phy
|
||||||
bcs dos_SECOND_OPEN
|
|
||||||
|
|
||||||
; XXX provide implementation
|
; First store the channel
|
||||||
|
|
||||||
plx
|
tay
|
||||||
sec
|
and #$0F ; support channels 0-15, like 1541 drive
|
||||||
rts
|
|
||||||
|
|
||||||
dos_SECOND_OPEN:
|
|
||||||
|
|
||||||
and #$1F
|
|
||||||
|
|
||||||
ldx IDX1_LISTENER ; store channel
|
ldx IDX1_LISTENER ; store channel
|
||||||
sta XX_CHANNEL, X
|
bmi dos_SECOND_done ; do nothing if no listener
|
||||||
|
sta XX_CHANNEL, x
|
||||||
|
|
||||||
cmp #$0F
|
; Determine command type
|
||||||
beq dos_SECOND_OPEN_cmd
|
|
||||||
|
tya
|
||||||
|
and #$F0
|
||||||
|
|
||||||
|
cmp #$F0
|
||||||
|
beq dos_SECOND_OPEN
|
||||||
|
cmp #$E0
|
||||||
|
beq dos_SECOND_CLOSE
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
plx
|
dos_SECOND_OPEN: ; XXX provide implementaation
|
||||||
sec
|
dos_SECOND_CLOSE: ; XXX provide implementaation
|
||||||
rts
|
|
||||||
|
|
||||||
|
; finish
|
||||||
|
|
||||||
dos_SECOND_OPEN_cmd:
|
dos_SECOND_done:
|
||||||
|
|
||||||
; XXX provide implementation
|
|
||||||
|
|
||||||
plx
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
|
||||||
|
ply
|
||||||
|
bra dos_TKSA_done ; reuse part of TKSA code
|
||||||
|
|
||||||
|
|
||||||
dos_TKSA:
|
dos_TKSA:
|
||||||
|
|
||||||
|
pha
|
||||||
phx
|
phx
|
||||||
cmp #$60
|
|
||||||
bcs dos_TKSA_OPEN
|
|
||||||
|
|
||||||
; XXX provide implementation
|
and #$0F ; support channels 0-15, like 1541 drive
|
||||||
|
|
||||||
plx
|
ldx IDX1_TALKER ; store channel
|
||||||
sec
|
bmi dos_TKSA_done ; do nothing if no taalker
|
||||||
rts
|
sta XX_CHANNEL, x
|
||||||
|
|
||||||
dos_TKSA_OPEN:
|
dos_TKSA_done:
|
||||||
|
|
||||||
and #$1F
|
|
||||||
|
|
||||||
ldx IDX1_TALKER ; store channel
|
|
||||||
sta XX_CHANNEL, X
|
|
||||||
|
|
||||||
cmp #$0F
|
|
||||||
beq dos_TKSA_OPEN_cmd
|
|
||||||
|
|
||||||
; XXX provide implementation
|
|
||||||
|
|
||||||
plx
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
|
||||||
dos_TKSA_OPEN_cmd:
|
|
||||||
|
|
||||||
; XXX provide implementation
|
|
||||||
|
|
||||||
plx
|
plx
|
||||||
|
pla
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
Reference in new issue
Block a user