fixed sending file name to CBDOS
This commit is contained in:
1 parent
279adc1e0e
commit
3e9581cb89
1 file changed
+43
-5
@@ -11,11 +11,18 @@
|
||||
|
||||
|
||||
iec_send_file_name:
|
||||
ldy #0
|
||||
|
||||
ldy #$00
|
||||
|
||||
!ifdef CONFIG_MB_M65 {
|
||||
jsr m65dos_check
|
||||
+bcc m65dos_send_file_name_loop ; branch if device is handeld by internal DOS
|
||||
}
|
||||
|
||||
iec_send_file_name_loop:
|
||||
|
||||
cpy FNLEN
|
||||
beq iec_send_file_name_done
|
||||
+beq UNLSN
|
||||
|
||||
!ifdef CONFIG_MEMORY_MODEL_60K {
|
||||
ldx #<FNADDR+0
|
||||
@@ -27,7 +34,9 @@ iec_send_file_name_loop:
|
||||
}
|
||||
|
||||
iny
|
||||
|
||||
; Set Carry flag on the last file name character, to mark EOI
|
||||
|
||||
cpy FNLEN
|
||||
clc
|
||||
bne @1
|
||||
@@ -40,8 +49,37 @@ iec_send_file_name_loop:
|
||||
} else {
|
||||
jsr iec_tx_byte
|
||||
}
|
||||
jmp iec_send_file_name_loop
|
||||
+bra iec_send_file_name_loop
|
||||
|
||||
|
||||
!ifdef CONFIG_MB_M65 {
|
||||
|
||||
m65dos_send_file_name_loop:
|
||||
|
||||
cpy FNLEN
|
||||
+beq UNLSN
|
||||
|
||||
!ifdef CONFIG_MEMORY_MODEL_60K {
|
||||
ldx #<FNADDR+0
|
||||
jsr peek_under_roms
|
||||
} else ifdef CONFIG_MEMORY_MODEL_46K_OR_50K {
|
||||
jsr peek_under_roms_via_FNADDR
|
||||
} else { ; CONFIG_MEMORY_MODEL_38K
|
||||
lda (FNADDR),y
|
||||
}
|
||||
|
||||
iny
|
||||
|
||||
; Set Carry flag on the last file name character, to mark EOI
|
||||
|
||||
cpy FNLEN
|
||||
clc
|
||||
bne @1
|
||||
sec
|
||||
@1:
|
||||
; Transmit one character
|
||||
jsr m65dos_ciout
|
||||
+bra m65dos_send_file_name_loop
|
||||
}
|
||||
|
||||
iec_send_file_name_done:
|
||||
jmp UNLSN
|
||||
}
|
||||
Reference in new issue
Block a user