mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
OD: Bugfix to ASCII printout. Handle ^C/^S when reading from file.
This commit is contained in:
parent
1262246050
commit
75ca6300b9
41
BIN/OD.S.txt
41
BIN/OD.S.txt
@ -20,6 +20,8 @@ hFile .BS 1
|
|||||||
hBuf .BS 1
|
hBuf .BS 1
|
||||||
char .BS 1
|
char .BS 1
|
||||||
ByteCount .BS 3
|
ByteCount .BS 3
|
||||||
|
bPause .BS 1
|
||||||
|
bPipe .BS 1
|
||||||
bTemp .BS 1
|
bTemp .BS 1
|
||||||
bDummy .BS 1
|
bDummy .BS 1
|
||||||
|
|
||||||
@ -54,14 +56,41 @@ L.MSG.HEXBYTE .DA MSG.HEXBYTE
|
|||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN jsr CS.RUN.CheckArgs
|
CS.RUN stz bPipe
|
||||||
|
jsr CS.RUN.CheckArgs
|
||||||
bcs CS.RUN.LOOP.RTS
|
bcs CS.RUN.LOOP.RTS
|
||||||
|
|
||||||
stz ByteCount
|
stz ByteCount
|
||||||
stz ByteCount+1
|
stz ByteCount+1
|
||||||
stz ByteCount+2
|
stz ByteCount+2
|
||||||
|
|
||||||
CS.RUN.LOOP >SLEEP
|
CS.RUN.LOOP lda bPipe If reading from pipe
|
||||||
|
bne .2 No ^C/^S handling
|
||||||
|
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL FEOF
|
||||||
|
bcs .9 I/O Error
|
||||||
|
|
||||||
|
tay
|
||||||
|
bne .1 No char
|
||||||
|
|
||||||
|
>SYSCALL GetChar
|
||||||
|
bcs .9 I/O error
|
||||||
|
cmp #$03 Ctrl-C
|
||||||
|
beq .9
|
||||||
|
cmp #$13 Ctrl-S
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
lda bPause
|
||||||
|
eor #$ff
|
||||||
|
sta bPause
|
||||||
|
bne CS.RUN.LOOP
|
||||||
|
|
||||||
|
.1 lda bPause
|
||||||
|
bne CS.RUN.LOOP
|
||||||
|
|
||||||
|
.2 >SLEEP
|
||||||
|
|
||||||
lda hFile
|
lda hFile
|
||||||
>SYSCALL GetC
|
>SYSCALL GetC
|
||||||
@ -139,6 +168,7 @@ CS.RUN.CheckArgs jsr CS.RUN.NextArg
|
|||||||
ldy #S.PS.hStdIn
|
ldy #S.PS.hStdIn
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
sta hFile
|
sta hFile
|
||||||
|
inc bPipe
|
||||||
|
|
||||||
.80 >LDYAI 256
|
.80 >LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
@ -238,9 +268,12 @@ CS.RUN.PRINTASCII
|
|||||||
ldy #$00
|
ldy #$00
|
||||||
.7 lda (ZPBufPtr),y
|
.7 lda (ZPBufPtr),y
|
||||||
phy
|
phy
|
||||||
|
cmp #$7f
|
||||||
|
bcs .75 Character >= $7f
|
||||||
cmp #C.SPACE
|
cmp #C.SPACE
|
||||||
bcs .8
|
bcc .75 Character < Space
|
||||||
lda #'.'
|
bra .8
|
||||||
|
.75 lda #'.'
|
||||||
|
|
||||||
.8 >SYSCALL PutChar
|
.8 >SYSCALL PutChar
|
||||||
ply
|
ply
|
||||||
|
Loading…
Reference in New Issue
Block a user