mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-19 05:29:32 +00:00
Kernel 0.93
This commit is contained in:
parent
aa16022baa
commit
9f844defbb
Binary file not shown.
|
@ -212,9 +212,8 @@ CS.RUN.PAUSE >PUSHBI 0
|
||||||
bcc .5
|
bcc .5
|
||||||
|
|
||||||
cmp #MLI.E.EOF
|
cmp #MLI.E.EOF
|
||||||
bne .99
|
beq .90
|
||||||
|
rts
|
||||||
bra .90
|
|
||||||
|
|
||||||
.5 inc LineNum
|
.5 inc LineNum
|
||||||
bne .6
|
bne .6
|
||||||
|
@ -257,7 +256,15 @@ CS.RUN.GETLINE >PUSHWI 256
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
|
|
||||||
.1 >SYSCALL fgets
|
.1 >SYSCALL fgets
|
||||||
rts
|
bcs .9
|
||||||
|
|
||||||
|
lda #'\'
|
||||||
|
>PUSHA
|
||||||
|
ldy #S.PS.hStdErr
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL fputc
|
||||||
|
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.PRINT lda bLineNum
|
CS.RUN.PRINT lda bLineNum
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
|
@ -249,17 +249,17 @@ STATUS.DCB cmp #S.IOCTL.STATCODE.GETDCB
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 cmp #S.IOCTL.STATCODE.GETRC
|
.3 cmp #S.IOCTL.STATCODE.EOF
|
||||||
bne STATUS.9
|
bne STATUS.9
|
||||||
|
|
||||||
lda DIB+S.DIB.S
|
lda DIB+S.DIB.S
|
||||||
and #S.DIB.S.OPENED
|
and #S.DIB.S.OPENED
|
||||||
beq .8
|
beq OPEN.E
|
||||||
|
|
||||||
.DO SSCIRQ=1
|
.DO SSCIRQ=1
|
||||||
lda INBUF.TAIL
|
lda INBUF.TAIL
|
||||||
eor INBUF.HEAD
|
eor INBUF.HEAD
|
||||||
beq .4 NO DATA? eof + TRUE
|
beq .4 NO DATA? eof = TRUE
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
|
|
||||||
|
@ -295,13 +295,13 @@ CONTROL jsr STATUS.CONTROL.Init
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OPEN lda DIB+S.DIB.S
|
OPEN lda DIB+S.DIB.S
|
||||||
bit #S.DIB.S.OPENED
|
bit #S.DIB.S.OPENED
|
||||||
beq .1
|
beq OPEN.1
|
||||||
|
|
||||||
lda #MLI.E.OPEN
|
OPEN.E lda #MLI.E.OPEN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 php
|
OPEN.1 php
|
||||||
sei
|
sei
|
||||||
|
|
||||||
ldx DEVSLOTn08F
|
ldx DEVSLOTn08F
|
||||||
|
@ -424,11 +424,11 @@ READ php
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #C.EOF
|
.9 lda #MLI.E.IO
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
|
|
||||||
.99 plp
|
.99 lda #E.NODATA
|
||||||
lda #E.NODATA
|
plp
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -445,7 +445,7 @@ WRITE php
|
||||||
.3 .DO SSCIRQ=1
|
.3 .DO SSCIRQ=1
|
||||||
lda SSC.STATUS-$8F,x
|
lda SSC.STATUS-$8F,x
|
||||||
bit #SSC.STATUS.nDSR true when 0
|
bit #SSC.STATUS.nDSR true when 0
|
||||||
bne .90
|
bne .9
|
||||||
|
|
||||||
lda OUTBUF.HEAD
|
lda OUTBUF.HEAD
|
||||||
cmp OUTBUF.TAIL Buffer Empty?
|
cmp OUTBUF.TAIL Buffer Empty?
|
||||||
|
@ -471,7 +471,7 @@ WRITE php
|
||||||
inc
|
inc
|
||||||
and #BUF.MASK
|
and #BUF.MASK
|
||||||
cmp OUTBUF.TAIL
|
cmp OUTBUF.TAIL
|
||||||
beq .9 Buffer Full!!
|
beq .99 Buffer Full!!
|
||||||
|
|
||||||
sta OUTBUF.HEAD
|
sta OUTBUF.HEAD
|
||||||
|
|
||||||
|
@ -486,7 +486,7 @@ WRITE php
|
||||||
.ELSE
|
.ELSE
|
||||||
.4 lda SSC.STATUS-$8F,x
|
.4 lda SSC.STATUS-$8F,x
|
||||||
bit #SSC.STATUS.nDSR true when 0
|
bit #SSC.STATUS.nDSR true when 0
|
||||||
bne .90
|
bne .9
|
||||||
|
|
||||||
bit #SSC.STATUS.TDRE Outgoing char?
|
bit #SSC.STATUS.TDRE Outgoing char?
|
||||||
beq .4
|
beq .4
|
||||||
|
@ -505,9 +505,9 @@ WRITE php
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.90 lda #E.NODATA
|
.9 lda #MLI.E.IO
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
.9 lda #C.EOF
|
.99 lda #E.NODATA
|
||||||
plp
|
plp
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -520,17 +520,20 @@ STATUS.CONTROL.Init
|
||||||
ldy #S.IOCTL.BUFPTR
|
ldy #S.IOCTL.BUFPTR
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
sta ZPBufPtr
|
sta ZPBufPtr
|
||||||
|
|
||||||
iny
|
iny
|
||||||
|
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
sta ZPBufPtr+1
|
sta ZPBufPtr+1
|
||||||
|
|
||||||
* ldy #S.IOCTL.BYTECNT
|
iny #S.IOCTL.BYTECNT
|
||||||
iny
|
|
||||||
|
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta ZPCount
|
sta ZPCount
|
||||||
|
|
||||||
iny
|
iny
|
||||||
|
|
||||||
lda (ZPIOCTL),y
|
lda (ZPIOCTL),y
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta ZPCount+1
|
sta ZPCount+1
|
||||||
|
|
|
@ -367,8 +367,7 @@ S.IOCTL.STATCODE.STATUS .EQ 0
|
||||||
S.IOCTL.STATCODE.GETDCB .EQ 1
|
S.IOCTL.STATCODE.GETDCB .EQ 1
|
||||||
S.IOCTL.STATCODE.GETNL .EQ 2
|
S.IOCTL.STATCODE.GETNL .EQ 2
|
||||||
S.IOCTL.STATCODE.GETDIB .EQ 3
|
S.IOCTL.STATCODE.GETDIB .EQ 3
|
||||||
S.IOCTL.STATCODE.GETRC .EQ 4
|
S.IOCTL.STATCODE.EOF .EQ 4
|
||||||
S.IOCTL.STATCODE.GETWC .EQ 5
|
|
||||||
S.IOCTL.CTRLCODE .EQ 4 1 BYTE
|
S.IOCTL.CTRLCODE .EQ 4 1 BYTE
|
||||||
S.IOCTL.CTRLCODE.RESET .EQ 0
|
S.IOCTL.CTRLCODE.RESET .EQ 0
|
||||||
S.IOCTL.CTRLCODE.SETDCB .EQ 1
|
S.IOCTL.CTRLCODE.SETDCB .EQ 1
|
||||||
|
|
100
SBIN/GETTY.S.txt
100
SBIN/GETTY.S.txt
|
@ -10,12 +10,23 @@ NEW
|
||||||
.INB INC/NET.TELNET.I
|
.INB INC/NET.TELNET.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TIMEOUT.MAX .EQ 100 10 sec.
|
TIMEOUT.MAX .EQ 100 10 sec.
|
||||||
|
IAC.BUF.MAX .EQ 32
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
ZS.START
|
ZS.START
|
||||||
ZPPtr1 .BS 2
|
ZPPtr1 .BS 2
|
||||||
TimeOut .BS 1
|
TimeOut .BS 1
|
||||||
|
hErr .BS 1
|
||||||
|
ArgIndex .BS 1
|
||||||
|
ArgDev .BS 1
|
||||||
|
ArgProg .BS 1
|
||||||
|
hFILE .BS 1
|
||||||
|
bExitOnClose .BS 1
|
||||||
|
IAC.CMD .BS 1
|
||||||
|
IAC.SUBCMD .BS 1
|
||||||
|
IAC.SB.CMD .BS 1
|
||||||
|
IAC.SB.LEN .BS 1
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
|
@ -48,6 +59,15 @@ L.ENV.TERM .DA ENV.TERM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
TEST lda ArgProg
|
||||||
|
>SYSCALL ArgV
|
||||||
|
>PUSHYA
|
||||||
|
lda hErr
|
||||||
|
>SYSCALL fputs
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #S.PS.ARGC
|
CS.RUN ldy #S.PS.ARGC
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
|
@ -55,7 +75,8 @@ CS.RUN ldy #S.PS.ARGC
|
||||||
|
|
||||||
bcc .9
|
bcc .9
|
||||||
|
|
||||||
.1 >INC.G ArgIndex
|
.1 inc ArgIndex
|
||||||
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
|
@ -65,18 +86,18 @@ CS.RUN ldy #S.PS.ARGC
|
||||||
bcs .9
|
bcs .9
|
||||||
beq .1 valid option, check next arg
|
beq .1 valid option, check next arg
|
||||||
|
|
||||||
>LDA.G ArgDev
|
lda ArgDev
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
>LDA.G ArgIndex
|
lda ArgIndex
|
||||||
>STA.G ArgDev
|
sta ArgDev
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.2 >LDA.G ArgProg
|
.2 lda ArgProg
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
>LDA.G ArgIndex
|
lda ArgIndex
|
||||||
>STA.G ArgProg
|
sta ArgProg
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.9 >PUSHBI 0
|
.9 >PUSHBI 0
|
||||||
|
@ -86,15 +107,19 @@ CS.RUN ldy #S.PS.ARGC
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
.8 >LDA.G ArgDev
|
.8 lda ArgDev
|
||||||
beq .9
|
beq .9
|
||||||
>LDA.G ArgProg
|
lda ArgProg
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
|
ldy #S.PS.hStdErr
|
||||||
|
lda (pPs),y
|
||||||
|
sta hErr
|
||||||
|
|
||||||
>PUSHWI 0 auxtype
|
>PUSHWI 0 auxtype
|
||||||
>PUSHBI 0 type
|
>PUSHBI 0 type
|
||||||
>PUSHBI O.RDWR
|
>PUSHBI O.RDWR
|
||||||
>LDA.G ArgDev
|
lda ArgDev
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
|
|
||||||
>SYSCALL fopen
|
>SYSCALL fopen
|
||||||
|
@ -107,7 +132,7 @@ CS.RUN ldy #S.PS.ARGC
|
||||||
iny #S.PS.hStdErr
|
iny #S.PS.hStdErr
|
||||||
sta (pPs),y
|
sta (pPs),y
|
||||||
|
|
||||||
>STA.G hFILE
|
sta hFILE
|
||||||
|
|
||||||
CS.RUN.LOOP0 >SLEEP
|
CS.RUN.LOOP0 >SLEEP
|
||||||
|
|
||||||
|
@ -149,7 +174,7 @@ CS.RUN.LOOP1 >SLEEP
|
||||||
.1 lda TimeOut
|
.1 lda TimeOut
|
||||||
bne CS.RUN.LOOP1
|
bne CS.RUN.LOOP1
|
||||||
|
|
||||||
>LDA.G ArgDev
|
lda ArgDev
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHWI K.VER
|
>PUSHWI K.VER
|
||||||
|
@ -160,16 +185,15 @@ CS.RUN.LOOP1 >SLEEP
|
||||||
bcs CS.RUN.EXIT unable to send greetings...
|
bcs CS.RUN.EXIT unable to send greetings...
|
||||||
|
|
||||||
.2 >PUSHBI S.PS.F.HOLD
|
.2 >PUSHBI S.PS.F.HOLD
|
||||||
|
lda ArgProg
|
||||||
>LDA.G ArgProg
|
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>SYSCALL ExecV
|
>SYSCALL ExecV
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
|
||||||
CS.RUN.EXIT >LDA.G bExitOnClose
|
CS.RUN.EXIT lda bExitOnClose
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
jmp CS.RUN.LOOP0
|
jmp CS.RUN.LOOP0
|
||||||
|
|
||||||
.8 lda #0
|
.8 lda #0
|
||||||
|
@ -179,15 +203,14 @@ CS.RUN.9 rts
|
||||||
CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
|
CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
|
||||||
bcs CS.RUN.9
|
bcs CS.RUN.9
|
||||||
|
|
||||||
>STA.G IAC.CMD
|
sta IAC.CMD
|
||||||
|
|
||||||
>SYSCALL GetChar Wait for IAC SUBCMD
|
>SYSCALL GetChar Wait for IAC SUBCMD
|
||||||
bcs CS.RUN.9
|
bcs CS.RUN.9
|
||||||
|
|
||||||
>STA.G IAC.SUBCMD
|
ldx IAC.SUBCMD
|
||||||
tax
|
|
||||||
|
|
||||||
>LDA.G IAC.CMD
|
lda IAC.CMD
|
||||||
cmp #SB
|
cmp #SB
|
||||||
beq CS.RUN.IAC.SB
|
beq CS.RUN.IAC.SB
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -216,9 +239,9 @@ CS.RUN.IAC.CMD cmp #WILL
|
||||||
CS.RUN.IAC.SB >SYSCALL GetChar Wait for IAC SB.IS or SEND
|
CS.RUN.IAC.SB >SYSCALL GetChar Wait for IAC SB.IS or SEND
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STA.G IAC.SB.CMD
|
sta IAC.SB.CMD
|
||||||
|
|
||||||
>STZ.G IAC.SB.LEN
|
stz IAC.SB.LEN
|
||||||
|
|
||||||
.2 >SYSCALL GetChar
|
.2 >SYSCALL GetChar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -226,21 +249,17 @@ CS.RUN.IAC.SB >SYSCALL GetChar Wait for IAC SB.IS or SEND
|
||||||
cmp #IAC
|
cmp #IAC
|
||||||
beq .4 end of DATA, go wait SE
|
beq .4 end of DATA, go wait SE
|
||||||
|
|
||||||
pha
|
ldy IAC.SB.LEN
|
||||||
|
|
||||||
>LDA.G IAC.SB.LEN
|
|
||||||
clc
|
|
||||||
adc #IAC.SB.DATA
|
|
||||||
tay
|
|
||||||
|
|
||||||
pla
|
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
iny
|
iny
|
||||||
lda #0
|
lda #0
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
>INC.G IAC.SB.LEN
|
sty IAC.SB.LEN
|
||||||
bra .2
|
cpy #IAC.BUF.MAX
|
||||||
|
bne .2
|
||||||
|
bra .8
|
||||||
|
|
||||||
.4 >SYSCALL GetChar
|
.4 >SYSCALL GetChar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -248,15 +267,15 @@ CS.RUN.IAC.SB >SYSCALL GetChar Wait for IAC SB.IS or SEND
|
||||||
cmp #SE
|
cmp #SE
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>LDA.G IAC.SUBCMD
|
lda IAC.SUBCMD
|
||||||
cmp #TELOPT.TTYPE
|
cmp #TELOPT.TTYPE
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>LDA.G IAC.SB.CMD
|
lda IAC.SB.CMD
|
||||||
cmp #SB.IS
|
cmp #SB.IS
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>PUSHEA.G IAC.SB.DATA
|
>PUSHW pData IAC.SB.DATA
|
||||||
>LDYA L.ENV.TERM
|
>LDYA L.ENV.TERM
|
||||||
>SYSCALL SetEnv
|
>SYSCALL SetEnv
|
||||||
|
|
||||||
|
@ -274,7 +293,7 @@ CS.DOEVENT lda (pEvent)
|
||||||
.9 sec do not discard TIMER event
|
.9 sec do not discard TIMER event
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.QUIT >LDA.G hFILE
|
CS.QUIT lda hFILE
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
|
@ -337,16 +356,7 @@ ENV.TERM .AZ "TERM"
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
ArgIndex .BS 1
|
IAC.SB.DATA .BS IAC.BUF.MAX
|
||||||
ArgDev .BS 1
|
|
||||||
ArgProg .BS 1
|
|
||||||
hFILE .BS 1
|
|
||||||
bExitOnClose .BS 1
|
|
||||||
IAC.CMD .BS 1
|
|
||||||
IAC.SUBCMD .BS 1
|
|
||||||
IAC.SB.CMD .BS 1
|
|
||||||
IAC.SB.LEN .BS 1
|
|
||||||
IAC.SB.DATA .BS 32
|
|
||||||
DS.END .ED
|
DS.END .ED
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/SBIN/GETTY.S
|
SAVE USR/SRC/SBIN/GETTY.S
|
||||||
|
|
|
@ -448,18 +448,15 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
||||||
tax
|
tax
|
||||||
iny
|
iny
|
||||||
sbc (pFD),y
|
sbc (pFD),y
|
||||||
bcc .12
|
pla A,X = cnt
|
||||||
|
bcc .12 cnt < Used
|
||||||
|
|
||||||
pla
|
|
||||||
dey
|
|
||||||
lda (pFD),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
tax
|
tax
|
||||||
|
dey
|
||||||
|
lda (pFD),y A,X = Used
|
||||||
|
|
||||||
.12 pla
|
.12 sta .80+1
|
||||||
sta .80+1
|
|
||||||
stx .81+1
|
stx .81+1
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta IO.Counter
|
sta IO.Counter
|
||||||
|
@ -475,7 +472,7 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
||||||
sty .2+1
|
sty .2+1
|
||||||
|
|
||||||
ldy #S.FD.PIPE.Tail+1
|
ldy #S.FD.PIPE.Tail+1
|
||||||
* clc
|
clc
|
||||||
adc (pFD),y
|
adc (pFD),y
|
||||||
sta .2+2
|
sta .2+2
|
||||||
|
|
||||||
|
@ -529,19 +526,21 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
||||||
ldy #S.FD.PIPE.Tail
|
ldy #S.FD.PIPE.Tail
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
lda .80+1
|
|
||||||
ldy #S.FD.PIPE.Free
|
ldy #S.FD.PIPE.Free
|
||||||
|
|
||||||
clc
|
clc
|
||||||
adc (pFD),y
|
lda (pFD),y
|
||||||
|
adc .80+1
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
iny
|
iny
|
||||||
|
|
||||||
lda .81+1
|
lda (pFD),y
|
||||||
adc (pFD),y
|
adc .81+1
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
ldy #S.FD.PIPE.Used
|
iny #S.FD.PIPE.Used
|
||||||
|
|
||||||
sec
|
sec
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
sbc .80+1
|
sbc .80+1
|
||||||
|
@ -613,7 +612,7 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta IO.Counter+1
|
sta IO.Counter+1
|
||||||
pla
|
pla
|
||||||
ldy #S.FD.PIPE.Used+1
|
iny #S.FD.PIPE.Used+1
|
||||||
adc (pFD),y
|
adc (pFD),y
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
|
@ -766,21 +765,8 @@ IO.EOF.TRUE lda #$ff
|
||||||
* clc
|
* clc
|
||||||
IO.EOF.REG.RTS rts
|
IO.EOF.REG.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.EOF.CDEV >LDYAI K.IOBuf
|
IO.EOF.CDEV lda #S.IOCTL.STATCODE.EOF
|
||||||
>STYA K.S.IOCTL+S.IOCTL.BUFPTR
|
jmp K.GetDevStatus.I
|
||||||
|
|
||||||
lda #S.IOCTL.STATCODE.GETRC
|
|
||||||
|
|
||||||
jsr K.GetDevStatus.I
|
|
||||||
bcs IO.EOF.REG.RTS
|
|
||||||
|
|
||||||
lda K.IOBuf
|
|
||||||
ora K.IOBuf+1
|
|
||||||
beq IO.EOF.TRUE
|
|
||||||
|
|
||||||
IO.EOF.FALSE lda #0
|
|
||||||
* clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.EOF.SSOCK ldy #S.FD.SSOCK.EOF
|
IO.EOF.SSOCK ldy #S.FD.SSOCK.EOF
|
||||||
|
|
||||||
|
@ -802,7 +788,10 @@ IO.EOF.PIPE clc
|
||||||
iny
|
iny
|
||||||
ora (pFD),y
|
ora (pFD),y
|
||||||
beq IO.EOF.TRUE
|
beq IO.EOF.TRUE
|
||||||
bne IO.EOF.FALSE
|
|
||||||
|
IO.EOF.FALSE lda #0
|
||||||
|
* clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.MLIOPEN >LDYAI 1024 get a ProDOS IOBUF
|
IO.MLIOPEN >LDYAI 1024 get a ProDOS IOBUF
|
||||||
ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||||
|
|
|
@ -62,13 +62,13 @@ DRV.TERM.STATUS jsr DRV.TERM.GetIOCTLBufCntDCB
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 cmp #S.IOCTL.STATCODE.GETRC
|
.3 cmp #S.IOCTL.STATCODE.EOF
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
ldy #S.DCB.TTY.STATUS
|
ldy #S.DCB.TTY.STATUS
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
and #S.DIB.S.OPENED
|
and #S.DIB.S.OPENED
|
||||||
beq .8
|
beq DRV.TERM.OPEN.E
|
||||||
|
|
||||||
jsr DRV.TERM.CURBLNK
|
jsr DRV.TERM.CURBLNK
|
||||||
|
|
||||||
|
@ -76,24 +76,20 @@ DRV.TERM.STATUS jsr DRV.TERM.GetIOCTLBufCntDCB
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
iny
|
iny
|
||||||
sec
|
sec
|
||||||
sbc (ZPDCBPtr),y OUTHEAD
|
eor (ZPDCBPtr),y OUTHEAD
|
||||||
|
bne .8
|
||||||
and #$F
|
|
||||||
|
|
||||||
bit bActive
|
bit bActive
|
||||||
bpl .8
|
bpl .7
|
||||||
bit OPENAPPLE
|
bit OPENAPPLE
|
||||||
bmi .8
|
bmi .7
|
||||||
|
|
||||||
bit KBD
|
bit KBD
|
||||||
bpl .8
|
bmi .8
|
||||||
|
|
||||||
inc
|
.7 lda #$ff
|
||||||
|
.HS 2C BIT ABS
|
||||||
.8 sta (ZPBufPtr)
|
.8 lda #0
|
||||||
ldy #1
|
|
||||||
lda #0
|
|
||||||
sta (ZPBufPtr),y
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -108,13 +104,13 @@ DRV.TERM.OPEN tax DEV.ID in A
|
||||||
ldy #S.DCB.TTY.STATUS
|
ldy #S.DCB.TTY.STATUS
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
bit #S.DIB.S.OPENED
|
bit #S.DIB.S.OPENED
|
||||||
beq .1
|
beq DRV.TERM.OPEN.1
|
||||||
|
|
||||||
lda #MLI.E.OPEN
|
DRV.TERM.OPEN.E lda #MLI.E.OPEN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 txa
|
DRV.TERM.OPEN.1 txa
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
.2 ldy A2osX.SCRNDEVS,x
|
.2 ldy A2osX.SCRNDEVS,x
|
||||||
|
@ -760,8 +756,8 @@ DRV.TERM.G1 ldy #S.DCB.TTY.bG1ALT
|
||||||
|
|
||||||
.1 ror
|
.1 ror
|
||||||
sta (ZPDCBPtr),y
|
sta (ZPDCBPtr),y
|
||||||
clc
|
lda #0
|
||||||
rts
|
jmp DRV.TERM.SETMODE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
|
DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
|
|
Loading…
Reference in New Issue
Block a user