RS-232 OPEN/CLOSE connected to I/O stack
This commit is contained in:
1 parent
73f1e24e3c
commit
c3383b9e8f
5 files changed
+37
-17
No files matched your search
@@ -9,6 +9,10 @@
|
|||||||
|
|
||||||
open_iec:
|
open_iec:
|
||||||
|
|
||||||
|
// Check for command to send
|
||||||
|
ldy FNLEN
|
||||||
|
beq open_iec_done
|
||||||
|
|
||||||
// We have a command to send to IEC device
|
// We have a command to send to IEC device
|
||||||
jsr LISTEN
|
jsr LISTEN
|
||||||
bcc !+
|
bcc !+
|
||||||
@@ -28,6 +32,8 @@ open_iec:
|
|||||||
// Send command ('file name')
|
// Send command ('file name')
|
||||||
jsr lvs_send_file_name
|
jsr lvs_send_file_name
|
||||||
|
|
||||||
|
open_iec_done:
|
||||||
|
|
||||||
jmp open_done_success
|
jmp open_done_success
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,21 +11,26 @@
|
|||||||
|
|
||||||
CLOSE:
|
CLOSE:
|
||||||
|
|
||||||
// XXX this needs more testing (opening 10 files at once, closing in various orders, etc) once the code is more mature
|
|
||||||
|
|
||||||
// Find the LAT / SAT / FAT entry which LAT corresponds to A
|
// Find the LAT / SAT / FAT entry which LAT corresponds to A
|
||||||
|
|
||||||
jsr find_fls
|
jsr find_fls
|
||||||
bcs close_end // XXX can we report error in IOSTATUS here?
|
bcs close_end // XXX can we report error in IOSTATUS here?
|
||||||
|
|
||||||
#if CONFIG_IEC
|
// We have the entry index in .Y
|
||||||
|
|
||||||
// We have the entry index in .Y - check whether this is IEC device
|
|
||||||
lda FAT, y
|
lda FAT, y
|
||||||
|
|
||||||
|
// Perform device-specific actions
|
||||||
|
|
||||||
|
#if HAS_RS232
|
||||||
|
cmp #$02
|
||||||
|
beq_far close_rs232
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_IEC
|
||||||
jsr iec_check_devnum_oc
|
jsr iec_check_devnum_oc
|
||||||
bcc_far close_iec
|
bcc_far close_iec
|
||||||
|
#endif
|
||||||
#endif // CONFIG_IEC
|
|
||||||
|
|
||||||
// FALLTROUGH
|
// FALLTROUGH
|
||||||
|
|
||||||
|
|||||||
@@ -54,15 +54,22 @@ open_has_space:
|
|||||||
iny
|
iny
|
||||||
sty LDTND
|
sty LDTND
|
||||||
|
|
||||||
// Check for command to send
|
|
||||||
lda FNLEN
|
|
||||||
beq open_done_success
|
|
||||||
|
|
||||||
// Check for IEC device
|
|
||||||
lda FA
|
lda FA
|
||||||
|
|
||||||
|
#if HAS_RS232
|
||||||
|
|
||||||
|
cmp #$02
|
||||||
|
beq_far open_rs232
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_IEC
|
||||||
|
|
||||||
jsr iec_check_devnum_oc
|
jsr iec_check_devnum_oc
|
||||||
bcc_far open_iec
|
bcc_far open_iec
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// FALLTROUGH
|
// FALLTROUGH
|
||||||
|
|
||||||
open_done_success:
|
open_done_success:
|
||||||
|
|||||||
@@ -3,14 +3,15 @@
|
|||||||
// RS-232 part of the CLOSE routine
|
// RS-232 part of the CLOSE routine
|
||||||
//
|
//
|
||||||
|
|
||||||
// XXX connect to I/O stack
|
|
||||||
|
|
||||||
|
|
||||||
#if HAS_RS232
|
#if HAS_RS232
|
||||||
|
|
||||||
|
|
||||||
close_rs232:
|
close_rs232:
|
||||||
STUB_IMPLEMENTATION() // XXX provide implementation for both UP2400 and UP9600
|
|
||||||
|
// XXX provide implementation for both UP2400 and UP960
|
||||||
|
|
||||||
|
jmp close_remove_from_table
|
||||||
|
|
||||||
|
|
||||||
#endif // HAS_RS232
|
#endif // HAS_RS232
|
||||||
@@ -3,14 +3,15 @@
|
|||||||
// RS-232 part of the OPEN routine
|
// RS-232 part of the OPEN routine
|
||||||
//
|
//
|
||||||
|
|
||||||
// XXX connect to I/O stack
|
|
||||||
|
|
||||||
|
|
||||||
#if HAS_RS232
|
#if HAS_RS232
|
||||||
|
|
||||||
|
|
||||||
open_rs232:
|
open_rs232:
|
||||||
STUB_IMPLEMENTATION() // XXX provide implementation for both UP2400 and UP9600
|
|
||||||
|
// XXX provide implementation for both UP2400 and UP9600
|
||||||
|
|
||||||
|
jmp open_done_success
|
||||||
|
|
||||||
|
|
||||||
#endif // HAS_RS232
|
#endif // HAS_RS232
|
||||||
Reference in new issue
Block a user