mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-23 07:35:19 +00:00
220 lines
3.6 KiB
Plaintext
220 lines
3.6 KiB
Plaintext
NEW
|
||
PREFIX
|
||
AUTO 4,1
|
||
.LIST OFF
|
||
*--------------------------------------
|
||
IO.Reset jsr IO.Reset.In
|
||
jsr IO.Reset.Out
|
||
jsr IO.Reset.Err
|
||
rts
|
||
*--------------------------------------
|
||
IO.Pipe.In clc
|
||
rts
|
||
*--------------------------------------
|
||
IO.Pipe.Out >SYSCALL pipe
|
||
bcs .9
|
||
|
||
|
||
clc
|
||
.9 rts
|
||
*--------------------------------------
|
||
IO.Set.In pha
|
||
jsr IO.Reset.In
|
||
ldy #S.PS.hStdIn
|
||
lda (pPS),y
|
||
>STA.G IO.hIn
|
||
pla
|
||
ldy #S.PS.hStdIn
|
||
sta (pPS),y
|
||
rts
|
||
*--------------------------------------
|
||
IO.Reset.In >LDA.G IO.hIn
|
||
beq .8
|
||
|
||
pha
|
||
|
||
ldy #S.PS.hStdIn
|
||
lda (pPS),y
|
||
>SYSCALL fclose
|
||
|
||
pla
|
||
ldy #S.PS.hStdIn
|
||
sta (pPS),y
|
||
|
||
>STZ.G IO.hIn
|
||
.8 rts
|
||
*--------------------------------------
|
||
IO.Set.Out pha
|
||
jsr IO.Reset.Out
|
||
ldy #S.PS.hStdOut
|
||
lda (pPS),y
|
||
>STA.G IO.hOut
|
||
pla
|
||
ldy #S.PS.hStdOut
|
||
sta (pPS),y
|
||
rts
|
||
*--------------------------------------
|
||
IO.Reset.Out >LDA.G IO.hOut
|
||
beq .8
|
||
|
||
pha
|
||
|
||
ldy #S.PS.hStdOut
|
||
lda (pPS),y
|
||
>SYSCALL fclose
|
||
|
||
pla
|
||
ldy #S.PS.hStdOut
|
||
sta (pPS),y
|
||
|
||
>STZ.G IO.hOut
|
||
.8 rts
|
||
*--------------------------------------
|
||
IO.Set.Err pha
|
||
jsr IO.Reset.Err
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>STA.G IO.hErr
|
||
pla
|
||
ldy #S.PS.hStdErr
|
||
sta (pPS),y
|
||
rts
|
||
*--------------------------------------
|
||
IO.Reset.Err >LDA.G IO.hErr
|
||
beq .8
|
||
|
||
pha
|
||
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>SYSCALL fclose
|
||
|
||
pla
|
||
ldy #S.PS.hStdErr
|
||
sta (pPS),y
|
||
|
||
>STZ.G IO.hErr
|
||
.8 rts
|
||
*--------------------------------------
|
||
IO.PrintBatchErrMsg
|
||
>LDA.G hInputBuf
|
||
>SYSCALL GetMemPtr
|
||
>STYA ZPPtr1
|
||
|
||
stz ZPPtr3
|
||
stz ZPPtr3+1
|
||
|
||
.1 >LDYA ZPPtr1
|
||
>STYA ZPPtr2 Save actual line start
|
||
|
||
inc ZPPtr3
|
||
bne .2
|
||
inc ZPPtr3+1
|
||
|
||
.2 lda (ZPPtr1)
|
||
beq .6 EoF
|
||
inc ZPPtr1
|
||
bne .3
|
||
inc ZPPtr1+1
|
||
|
||
.3 cmp #$0D
|
||
bne .2 Scan until EoL
|
||
|
||
ldx ZPPtr1
|
||
cpx ZPInputBufPtr
|
||
lda ZPPtr1+1
|
||
sbc ZPInputBufPtr+1
|
||
bcc .1 not this line....
|
||
|
||
.4 ldy #0
|
||
|
||
.5 lda (ZPPtr2),y
|
||
beq .6
|
||
iny
|
||
cmp #$0D
|
||
beq .6
|
||
phy
|
||
>PUSHA
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>SYSCALL fputc
|
||
ply
|
||
bra .5
|
||
|
||
.6 >PUSHBI 0
|
||
>PUSHW L.MSG.ECHOCRLF
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>SYSCALL fprintf
|
||
|
||
lda ZPInputBufPtr
|
||
sec
|
||
sbc ZPPtr2
|
||
beq .8
|
||
tay
|
||
|
||
.7 phy
|
||
>PUSHBI '-'
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>SYSCALL fputc
|
||
ply
|
||
dey
|
||
bne .7
|
||
|
||
.8 >PUSHW ZPPtr3
|
||
|
||
>PUSHBI 2
|
||
>PUSHW L.MSG.BATCHERR
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>SYSCALL fprintf
|
||
|
||
rts
|
||
*--------------------------------------
|
||
IO.PrintErrMsg pha Save EC for PrintF
|
||
|
||
ldx L.ERR.Codes
|
||
stx ZPPTR1
|
||
ldx L.ERR.Codes+1
|
||
stx ZPPTR1+1
|
||
|
||
ldy #0
|
||
|
||
.1 cmp (ZPPTR1),y
|
||
beq .2
|
||
iny
|
||
cpy #ERR.Count
|
||
bne .1
|
||
|
||
.2 lda L.ERR.Messages
|
||
sta ZPPTR1
|
||
lda L.ERR.Messages+1
|
||
sta ZPPTR1+1
|
||
|
||
.3 dey
|
||
bmi .8
|
||
|
||
lda (ZPPTR1)
|
||
sec
|
||
adc ZPPTR1
|
||
sta ZPPTR1
|
||
bcc .3
|
||
inc ZPPTR1+1
|
||
bra .3
|
||
|
||
.8 >PUSHW ZPPTR1
|
||
pla
|
||
>PUSHA
|
||
>PUSHBI 3
|
||
>PUSHW L.MSG.ERROR
|
||
ldy #S.PS.hStdErr
|
||
lda (pPS),y
|
||
>SYSCALL fprintf
|
||
rts
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE USR/SRC/BIN/SH.S.IO
|
||
LOAD USR/SRC/BIN/SH.S
|
||
ASM
|