fix(wedge): print a DOS command's status, not the OK after closing it
@<command> closed every file before it read the status, and a drive says 00, OK once its command channel closes, so @S: never showed FILES SCRATCHED. It now reads the status through the channel it sent the command on.
This commit is contained in:
1 parent
18520d8dc0
commit
aa39286d9d
1 file changed
+8
-3
@@ -152,10 +152,11 @@ wedge_dos_command_confirmed:
|
|||||||
jsr JOPEN
|
jsr JOPEN
|
||||||
+bcs wedge_dos_basic_error
|
+bcs wedge_dos_basic_error
|
||||||
|
|
||||||
; Retrieve status, print it if not OK
|
; Retrieve status through the channel just opened, print it if not OK. Closing it
|
||||||
|
; first would reset the status to OK: CLALL closes every file, and a drive's DOS
|
||||||
|
; says OK once its command channel closes
|
||||||
|
|
||||||
jsr JCLALL
|
jsr wedge_dos_status_get_opened
|
||||||
jsr wedge_dos_status_get
|
|
||||||
|
|
||||||
lda BUF+0
|
lda BUF+0
|
||||||
cmp #$30 ; '0'
|
cmp #$30 ; '0'
|
||||||
@@ -217,6 +218,10 @@ wedge_dos_status_get:
|
|||||||
jsr JOPEN
|
jsr JOPEN
|
||||||
+bcs wedge_dos_basic_error
|
+bcs wedge_dos_basic_error
|
||||||
|
|
||||||
|
; FALLTROUGH
|
||||||
|
|
||||||
|
wedge_dos_status_get_opened:
|
||||||
|
|
||||||
; Set channel for input
|
; Set channel for input
|
||||||
|
|
||||||
ldx #$0F
|
ldx #$0F
|
||||||
|
|||||||
Reference in new issue
Block a user