Made the CBM stdin consoles echo '\n' to the screen.
That fix makes Commodore platforms be consistent with other platforms' consoles.
This commit is contained in:
parent
e0262750ce
commit
263ae3ceb1
1 changed files with 20 additions and 3 deletions
|
@ -1,5 +1,6 @@
|
||||||
;
|
;
|
||||||
; Ullrich von Bassewitz, 16.11.2002
|
; 2002-11-16, Ullrich von Bassewitz
|
||||||
|
; 2013-12-18, Greg King
|
||||||
;
|
;
|
||||||
; int read (int fd, void* buf, unsigned count);
|
; int read (int fd, void* buf, unsigned count);
|
||||||
;
|
;
|
||||||
|
@ -7,7 +8,7 @@
|
||||||
.export _read
|
.export _read
|
||||||
.constructor initstdin
|
.constructor initstdin
|
||||||
|
|
||||||
.import SETLFS, OPEN, CHKIN, BASIN, CLRCH, READST
|
.import SETLFS, OPEN, CHKIN, BASIN, CLRCH, BSOUT, READST
|
||||||
.import rwcommon
|
.import rwcommon
|
||||||
.import popax
|
.import popax
|
||||||
.importzp ptr1, ptr2, ptr3, tmp1, tmp2, tmp3
|
.importzp ptr1, ptr2, ptr3, tmp1, tmp2, tmp3
|
||||||
|
@ -59,6 +60,11 @@
|
||||||
lda fdtab-LFN_OFFS,x; Get flags for this handle
|
lda fdtab-LFN_OFFS,x; Get flags for this handle
|
||||||
bmi eof
|
bmi eof
|
||||||
|
|
||||||
|
; Remember the device number.
|
||||||
|
|
||||||
|
ldy unittab-LFN_OFFS,x
|
||||||
|
sty unit
|
||||||
|
|
||||||
; Valid lfn. Make it the input file
|
; Valid lfn. Make it the input file
|
||||||
|
|
||||||
jsr CHKIN
|
jsr CHKIN
|
||||||
|
@ -69,8 +75,13 @@
|
||||||
|
|
||||||
@L0: jsr BASIN
|
@L0: jsr BASIN
|
||||||
sta tmp1 ; Save the input byte
|
sta tmp1 ; Save the input byte
|
||||||
|
ldx unit
|
||||||
|
bne @L0_1 ; Not keyboard/screen-editor
|
||||||
|
cmp #$0D ; Is it a Carriage Return?
|
||||||
|
bne @L0_1
|
||||||
|
jsr BSOUT ; Yes, echo it (because editor didn't)
|
||||||
|
|
||||||
jsr READST ; Read the IEEE status
|
@L0_1: jsr READST ; Read the IEEE status
|
||||||
sta tmp3 ; Save it
|
sta tmp3 ; Save it
|
||||||
and #%10111111 ; Check anything but the EOI bit
|
and #%10111111 ; Check anything but the EOI bit
|
||||||
bne devnotpresent ; Assume device not present
|
bne devnotpresent ; Assume device not present
|
||||||
|
@ -138,4 +149,10 @@ invalidfd:
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
.bss
|
||||||
|
|
||||||
|
unit: .res 1
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue