mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-27 11:58:54 +00:00
Kernel 0.92+
This commit is contained in:
parent
d8d9c8c039
commit
9653f369c5
Binary file not shown.
@ -120,13 +120,38 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
|||||||
|
|
||||||
.4 >LDYA L.CMD internal command ?
|
.4 >LDYA L.CMD internal command ?
|
||||||
jsr CORE.LookupInputBuf
|
jsr CORE.LookupInputBuf
|
||||||
bcs .6 no...assume external...no IO token Expected
|
bcc .41
|
||||||
|
|
||||||
jsr CORE.SkipCharsA
|
jsr CORE.ArgV.Add
|
||||||
|
bra .42
|
||||||
|
|
||||||
|
.41 jsr CORE.SkipCharsA
|
||||||
|
|
||||||
txa
|
txa
|
||||||
>STA.G CORE.IntCmd
|
>STA.G CORE.IntCmd
|
||||||
bra .7 internal, do not add token
|
|
||||||
|
cpx #C.FOR
|
||||||
|
bcs .7 FOR...FI : always execute
|
||||||
|
|
||||||
|
.42 jsr CORE.StkGet IF,WHILE,FOR ?
|
||||||
|
bcs .7 no particular context, exec...
|
||||||
|
|
||||||
|
and #$C0
|
||||||
|
cmp #$C0
|
||||||
|
beq .7 context/parent context is TRUE, exec
|
||||||
|
|
||||||
|
.43 jsr CORE.GetNextCharNB
|
||||||
|
bcs .44 EOF
|
||||||
|
|
||||||
|
cmp #C.CR
|
||||||
|
beq .44
|
||||||
|
|
||||||
|
cmp #';' TODO ";"
|
||||||
|
bne .43
|
||||||
|
|
||||||
|
.44 jsr CORE.GetNextCharNB Skip EoL char
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
.5 >LDYA L.CORE.IO
|
.5 >LDYA L.CORE.IO
|
||||||
jsr CORE.LookupInputBuf
|
jsr CORE.LookupInputBuf
|
||||||
@ -165,23 +190,7 @@ CORE.ExecCmd jsr CORE.GetNextCharNB Skip EoL char
|
|||||||
CORE.ExecCmd.1 lda #0
|
CORE.ExecCmd.1 lda #0
|
||||||
sta (ZPArgVBufPtr)
|
sta (ZPArgVBufPtr)
|
||||||
|
|
||||||
jsr CORE.StkGet IF,WHILE,FOR ?
|
>LDYA ZPArgVBuf
|
||||||
bcs .3 no particular context, exec...
|
|
||||||
tax
|
|
||||||
|
|
||||||
>LDA.G CORE.IntCmd
|
|
||||||
bmi .2 external ...
|
|
||||||
|
|
||||||
and #$3F
|
|
||||||
cmp #C.FOR
|
|
||||||
bcs .3 FOR...FI : always execute
|
|
||||||
|
|
||||||
.2 txa
|
|
||||||
bpl .8 context is FALSE, skip line
|
|
||||||
asl
|
|
||||||
bpl .8 parent context is FALSE, skip line
|
|
||||||
|
|
||||||
.3 >LDYA ZPArgVBuf
|
|
||||||
>STYA ZPArgVBufPtr
|
>STYA ZPArgVBufPtr
|
||||||
|
|
||||||
>LDA.G CORE.IntCmd
|
>LDA.G CORE.IntCmd
|
||||||
@ -189,9 +198,6 @@ CORE.ExecCmd.1 lda #0
|
|||||||
tax
|
tax
|
||||||
jmp (J.CMD,x)
|
jmp (J.CMD,x)
|
||||||
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
CORE.ExecExtCmd >PUSHB.G CORE.PSFlags
|
CORE.ExecExtCmd >PUSHB.G CORE.PSFlags
|
||||||
>LDYA ZPArgVBuf
|
>LDYA ZPArgVBuf
|
||||||
>SYSCALL execv
|
>SYSCALL execv
|
||||||
|
@ -457,7 +457,7 @@ S.FD.DSOCK.OPEN .EQ 3
|
|||||||
S.FD.DSOCK.CLOSE .EQ 4
|
S.FD.DSOCK.CLOSE .EQ 4
|
||||||
S.FD.DSOCK.READ .EQ 5
|
S.FD.DSOCK.READ .EQ 5
|
||||||
S.FD.DSOCK.WRITE .EQ 6
|
S.FD.DSOCK.WRITE .EQ 6
|
||||||
S.FD.DSOCK.STATUS .EQ 7
|
S.FD.DSOCK.EOF .EQ 7
|
||||||
*
|
*
|
||||||
S.FD.DSOCK .EQ 8
|
S.FD.DSOCK .EQ 8
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -382,44 +382,22 @@ SKT.shutdown.STREAM
|
|||||||
* `>PUSHWI count`
|
* `>PUSHWI count`
|
||||||
* `>PUSHW buf`
|
* `>PUSHW buf`
|
||||||
* `lda fd`
|
* `lda fd`
|
||||||
* `>LIBCALL hLIBTCPIP,LIBTCPIP.skt.read`
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.read`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* CC: Y,A = bytes read
|
* CC: Y,A = bytes read
|
||||||
* CS: A = EC
|
* CS: A = EC
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
SKT.Read jsr SKT.PullhFDDataInPtrLen
|
SKT.Read jsr SKT.PullhFDDataInPtrLen
|
||||||
|
|
||||||
ldy #S.SOCKET.T
|
jsr SKT.EOF.I
|
||||||
lda (ZPPtrSKT),y
|
bcs .9 I/O error
|
||||||
cmp #S.SOCKET.T.STREAM
|
|
||||||
bne .90 bad skt
|
|
||||||
|
|
||||||
ldy #S.SOCKET.O
|
tay
|
||||||
lda (ZPPtrSKT),y
|
beq .9 exit with CC,Y,A = 0
|
||||||
and #S.SOCKET.O.ACCEPTCONN
|
|
||||||
bne .90 Bad Skt
|
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.S
|
jmp SKT.GetDataFromSktIn
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
cmp #S.SOCKET.TCP.S.ESTBLSH
|
|
||||||
bcc .92 Not yet established...no data
|
|
||||||
cmp #S.SOCKET.TCP.S.FINWT2
|
|
||||||
bcs .91 closing...IO err
|
|
||||||
|
|
||||||
jsr SKT.GetDataFromSktIn
|
.9 rts
|
||||||
rts if CS, No data...
|
|
||||||
|
|
||||||
.90 lda #ERR.SKT.BAD
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.91 lda #MLI.E.IO
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.92 lda #0
|
|
||||||
sec
|
|
||||||
.99 rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # Write (STREAM)
|
* # Write (STREAM)
|
||||||
* ## C
|
* ## C
|
||||||
@ -429,28 +407,15 @@ SKT.Read jsr SKT.PullhFDDataInPtrLen
|
|||||||
* `>PUSHWI count`
|
* `>PUSHWI count`
|
||||||
* `>PUSHW buf`
|
* `>PUSHW buf`
|
||||||
* `lda fd`
|
* `lda fd`
|
||||||
* `>LIBCALL hLIBTCPIP,LIBTCPIP.skt.write`
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.write`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* CC: Y,A = bytes written
|
* CC: Y,A = bytes written
|
||||||
* CS: A = EC
|
* CS: A = EC
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
SKT.Write jsr SKT.PullhFDDataInPtrLen
|
SKT.Write jsr SKT.PullhFDDataInPtrLen
|
||||||
|
|
||||||
ldy #S.SOCKET.T
|
jsr SKT.CheckStream
|
||||||
lda (ZPPtrSKT),y
|
bcs .9
|
||||||
cmp #S.SOCKET.T.STREAM
|
|
||||||
bne .99
|
|
||||||
|
|
||||||
ldy #S.SOCKET.O
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
and #S.SOCKET.O.ACCEPTCONN
|
|
||||||
bne .99
|
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.S
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
cmp #S.SOCKET.TCP.S.ESTBLSH
|
|
||||||
bcc .90 Not yet established...no data
|
|
||||||
bne .91
|
|
||||||
|
|
||||||
jsr SKT.AddDataToSktOut will call SKT.GetTCB
|
jsr SKT.AddDataToSktOut will call SKT.GetTCB
|
||||||
bcs .90
|
bcs .90
|
||||||
@ -461,15 +426,7 @@ SKT.Write jsr SKT.PullhFDDataInPtrLen
|
|||||||
|
|
||||||
.90 lda #0 no data transfered
|
.90 lda #0 no data transfered
|
||||||
sec
|
sec
|
||||||
rts
|
.9 rts
|
||||||
|
|
||||||
.91 lda #MLI.E.IO
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.99 lda #ERR.SKT.BAD
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # Recv (RAW,DGRAM,SEQPACKET)
|
* # Recv (RAW,DGRAM,SEQPACKET)
|
||||||
* # RecvFrom (RAW,DGRAM,SEQPACKET)
|
* # RecvFrom (RAW,DGRAM,SEQPACKET)
|
||||||
@ -480,7 +437,7 @@ SKT.Write jsr SKT.PullhFDDataInPtrLen
|
|||||||
* **In:**
|
* **In:**
|
||||||
* `>PUSHW addr` (RecvFrom)
|
* `>PUSHW addr` (RecvFrom)
|
||||||
* `lda fd`
|
* `lda fd`
|
||||||
* `>LIBCALL hLIBTCPIP,LIBTCPIP.skt.Recv`
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.Recv`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* CC: A = hMem
|
* CC: A = hMem
|
||||||
* CS: A = EC
|
* CS: A = EC
|
||||||
@ -589,7 +546,7 @@ SKT.Recv clc
|
|||||||
* `>PUSHWI count`
|
* `>PUSHWI count`
|
||||||
* `>PUSHW buf`
|
* `>PUSHW buf`
|
||||||
* `lda fd`
|
* `lda fd`
|
||||||
* `>LIBCALL hLIBTCPIP,LIBTCPIP.skt.send`
|
* `>LIBCALL hLIBTCPIP,LIBTCPIP.send`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* CC: Y,A = bytes written
|
* CC: Y,A = bytes written
|
||||||
* CS: A = EC
|
* CS: A = EC
|
||||||
@ -673,11 +630,43 @@ SKT.setsockopt >SYSCALL GetMemPtr
|
|||||||
SKT.EOF >SYSCALL GetMemPtr
|
SKT.EOF >SYSCALL GetMemPtr
|
||||||
>STYA ZPPtrSKT
|
>STYA ZPPtrSKT
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.INUSED
|
SKT.EOF.I ldy #S.SOCKET.TCP.INUSED
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
iny
|
iny
|
||||||
ora (ZPPtrSKT),y
|
ora (ZPPtrSKT),y
|
||||||
clc
|
bne .8
|
||||||
|
|
||||||
|
jsr SKT.CheckStream
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
lda #0 no DATA
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
SKT.CheckStream ldy #S.SOCKET.T
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
cmp #S.SOCKET.T.STREAM
|
||||||
|
bne .99
|
||||||
|
|
||||||
|
ldy #S.SOCKET.O
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
and #S.SOCKET.O.ACCEPTCONN
|
||||||
|
bne .99
|
||||||
|
|
||||||
|
ldy #S.SOCKET.TCP.S
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
beq .91
|
||||||
|
cmp #S.SOCKET.TCP.S.CLWAIT
|
||||||
|
bcs .91
|
||||||
|
rts CC=ESTBLSH...or less
|
||||||
|
|
||||||
|
.91 lda #MLI.E.IO
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.99 lda #ERR.SKT.BAD
|
||||||
|
sec
|
||||||
rts
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # GetTable
|
* # GetTable
|
||||||
@ -957,13 +946,8 @@ SKT.AddDataToSktIn
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SKT.GetDataFromSktIn
|
SKT.GetDataFromSktIn
|
||||||
jsr SKT.GetTCB
|
jsr SKT.GetTCB
|
||||||
lda SKT.Cache+S.SOCKET.TCP.INUSED
|
|
||||||
ora SKT.Cache+S.SOCKET.TCP.INUSED+1
|
|
||||||
bne .10
|
|
||||||
sec
|
|
||||||
rts A=0,NO DATA
|
|
||||||
|
|
||||||
.10 ldy #S.SOCKET.SQ.hInMem
|
ldy #S.SOCKET.SQ.hInMem
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
|
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
|
||||||
@ -1042,11 +1026,7 @@ SKT.GetDataFromSktIn
|
|||||||
|
|
||||||
.7 pla discard byte counter HI
|
.7 pla discard byte counter HI
|
||||||
|
|
||||||
.8 lda ZPTmpPtr3 Do we have transfered something?
|
.8 >ADC16 SKT.Cache+S.SOCKET.TCP.INFREE,ZPTmpPtr3
|
||||||
ora ZPTmpPtr3+1
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
>ADC16 SKT.Cache+S.SOCKET.TCP.INFREE,ZPTmpPtr3
|
|
||||||
>SBC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPTmpPtr3
|
>SBC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPTmpPtr3
|
||||||
|
|
||||||
lda SKT.Cache+S.SOCKET.TCP.OUTACKNUM+3
|
lda SKT.Cache+S.SOCKET.TCP.OUTACKNUM+3
|
||||||
@ -1074,10 +1054,6 @@ SKT.GetDataFromSktIn
|
|||||||
>LDYA ZPTmpPtr3
|
>LDYA ZPTmpPtr3
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
.9
|
|
||||||
* lda #0
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* From SKT.Write.TCP
|
* From SKT.Write.TCP
|
||||||
* Src : ZPDataInPtr/ZPDataInLen
|
* Src : ZPDataInPtr/ZPDataInLen
|
||||||
|
@ -117,17 +117,7 @@ CS.RUN.LOOP0 >LDYA L.ENV.TERM
|
|||||||
ldy #S.PS.hStdOut
|
ldy #S.PS.hStdOut
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
>SYSCALL fwrite
|
>SYSCALL fwrite
|
||||||
bcs .9 I/O error
|
bcs CS.RUN.EXIT I/O error
|
||||||
|
|
||||||
.2 >LDA.G ArgDev
|
|
||||||
>SYSCALL ArgV
|
|
||||||
>PUSHYA
|
|
||||||
>PUSHWI K.VER
|
|
||||||
>PUSHBI 4
|
|
||||||
>LDYA L.MSG.GREETINGS
|
|
||||||
>SYSCALL printf
|
|
||||||
|
|
||||||
.9 bcs CS.RUN.9 unable to send greetings...reset..
|
|
||||||
|
|
||||||
jsr Init.Timeout
|
jsr Init.Timeout
|
||||||
|
|
||||||
@ -148,23 +138,32 @@ CS.RUN.LOOP1 >SLEEP
|
|||||||
cmp #IAC
|
cmp #IAC
|
||||||
beq CS.RUN.IACMODE
|
beq CS.RUN.IACMODE
|
||||||
>SYSCALL PutChar
|
>SYSCALL PutChar
|
||||||
bcc .2
|
bcs CS.RUN.EXIT
|
||||||
|
|
||||||
bra CS.RUN.LOOP1
|
bra CS.RUN.LOOP1
|
||||||
|
|
||||||
.1 jsr Wait.Timeout
|
.1 jsr Wait.Timeout
|
||||||
bcc CS.RUN.LOOP1
|
bcc CS.RUN.LOOP1
|
||||||
|
|
||||||
|
>LDA.G ArgDev
|
||||||
|
>SYSCALL ArgV
|
||||||
|
>PUSHYA
|
||||||
|
>PUSHWI K.VER
|
||||||
|
>PUSHBI 4
|
||||||
|
>LDYA L.MSG.GREETINGS
|
||||||
|
>SYSCALL printf
|
||||||
|
|
||||||
|
bcs CS.RUN.EXIT unable to send greetings...
|
||||||
|
|
||||||
.2 >PUSHBI S.PS.F.HOLD
|
.2 >PUSHBI S.PS.F.HOLD
|
||||||
|
|
||||||
>LDA.G ArgProg
|
>LDA.G ArgProg
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>SYSCALL ExecV
|
>SYSCALL ExecV
|
||||||
bcs CS.RUN.9
|
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
|
||||||
>LDA.G bExitOnClose
|
CS.RUN.EXIT >LDA.G bExitOnClose
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
jmp CS.RUN.LOOP0
|
jmp CS.RUN.LOOP0
|
||||||
|
@ -23,7 +23,8 @@ CS.START cld
|
|||||||
jmp (.1,x)
|
jmp (.1,x)
|
||||||
.DA #$61 6502,Level 1 (65c02)
|
.DA #$61 6502,Level 1 (65c02)
|
||||||
.DA #1 BIN Layout Version 1
|
.DA #1 BIN Layout Version 1
|
||||||
.DA 0
|
.DA #S.PS.F.EVENT
|
||||||
|
.DA #0
|
||||||
.DA CS.END-CS.START CS
|
.DA CS.END-CS.START CS
|
||||||
.DA DS.END-DS.START DS
|
.DA DS.END-DS.START DS
|
||||||
.DA #64 SS
|
.DA #64 SS
|
||||||
@ -51,9 +52,6 @@ CS.INIT >LDYA L.LIBTCPIP
|
|||||||
>SYSCALL LoadLib
|
>SYSCALL LoadLib
|
||||||
sta hLIBTCPIP
|
sta hLIBTCPIP
|
||||||
|
|
||||||
lda (pPs)
|
|
||||||
ora #S.PS.F.EVENT Now accept events
|
|
||||||
sta (pPs)
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -63,18 +63,28 @@ CS.RUN jsr Init.Timeout
|
|||||||
>LDYA L.MSG.TCPWAIT
|
>LDYA L.MSG.TCPWAIT
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
|
|
||||||
.1 >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
.1 >SLEEP
|
||||||
|
|
||||||
|
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||||
bcs .99
|
bcs .99
|
||||||
>STYA ZPIPCfgPtr
|
>STYA ZPIPCfgPtr
|
||||||
|
|
||||||
lda (ZPIPCfgPtr) Configured ?
|
lda (ZPIPCfgPtr) Configured ?
|
||||||
bmi CS.RUN.INIT
|
bmi CS.RUN.INIT
|
||||||
|
|
||||||
>SLEEP
|
|
||||||
jsr Wait.Timeout
|
jsr Wait.Timeout
|
||||||
bcc .1
|
bcs .99
|
||||||
|
|
||||||
|
ldy #S.PS.hStdIn
|
||||||
|
lda (pPs),y
|
||||||
|
>SYSCALL feof
|
||||||
|
bcs .9 I/O err
|
||||||
|
tay
|
||||||
|
beq .1
|
||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs .1
|
bcs .9
|
||||||
|
|
||||||
cmp #$03
|
cmp #$03
|
||||||
bne .1
|
bne .1
|
||||||
jmp CS.RUN.ABORT
|
jmp CS.RUN.ABORT
|
||||||
@ -84,7 +94,7 @@ CS.RUN jsr Init.Timeout
|
|||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
pla
|
pla
|
||||||
sec
|
sec
|
||||||
rts
|
.9 rts
|
||||||
|
|
||||||
CS.RUN.INIT ldx #3
|
CS.RUN.INIT ldx #3
|
||||||
ldy #S.IPCFG.IP+3
|
ldy #S.IPCFG.IP+3
|
||||||
@ -122,16 +132,14 @@ CS.RUN.PORTOK >PUSHBI 0 no protocol
|
|||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
|
|
||||||
.2 >SLEEP
|
.2 >SLEEP
|
||||||
|
|
||||||
|
>LDA.G hSrvSocket
|
||||||
|
>LIBCALL hLIBTCPIP,LIBTCPIP.Accept
|
||||||
|
bcs .2
|
||||||
|
|
||||||
jsr CS.RUN.SERVER
|
jsr CS.RUN.SERVER
|
||||||
bcs CS.RUN.ERR
|
bcc .2
|
||||||
|
rts
|
||||||
* >SYSCALL GetChar
|
|
||||||
* bcs .2
|
|
||||||
|
|
||||||
* cmp #$03
|
|
||||||
* beq CS.RUN.ABORT
|
|
||||||
|
|
||||||
bra .2
|
|
||||||
|
|
||||||
.9 pha
|
.9 pha
|
||||||
>LDYA L.MSG.SKTERR
|
>LDYA L.MSG.SKTERR
|
||||||
@ -144,15 +152,10 @@ CS.RUN.ABORT >LDYA L.MSG.ABORT
|
|||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
lda #3
|
lda #3
|
||||||
|
|
||||||
CS.RUN.ERR sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.SERVER >LDA.G hSrvSocket
|
CS.RUN.SERVER pha
|
||||||
|
|
||||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Accept
|
|
||||||
bcs .8
|
|
||||||
|
|
||||||
pha
|
|
||||||
ldy #hSockets
|
ldy #hSockets
|
||||||
ldx #CONN.MAX
|
ldx #CONN.MAX
|
||||||
|
|
||||||
@ -161,7 +164,7 @@ CS.RUN.SERVER >LDA.G hSrvSocket
|
|||||||
pla
|
pla
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
bra CS.RUN.CLIENT
|
bra CS.RUN.CLIENT
|
||||||
|
|
||||||
.2 iny
|
.2 iny
|
||||||
dex
|
dex
|
||||||
@ -172,7 +175,9 @@ CS.RUN.SERVER >LDA.G hSrvSocket
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CLIENT >STA.G hClientSocket
|
CS.RUN.CLIENT >SLEEP give some time for TCPIP SYN/ACK
|
||||||
|
|
||||||
|
>STA.G hClientSocket
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPSktPtr
|
>STYA ZPSktPtr
|
||||||
|
|
||||||
|
@ -1142,7 +1142,7 @@ I.ENV.ROOT .AZ "ROOT"
|
|||||||
I.ENV.PATH .AZ "PATH=${ROOT}SBIN/:${ROOT}BIN/"
|
I.ENV.PATH .AZ "PATH=${ROOT}SBIN/:${ROOT}BIN/"
|
||||||
I.ENV.LIB .AZ "LIB=${ROOT}LIB/"
|
I.ENV.LIB .AZ "LIB=${ROOT}LIB/"
|
||||||
I.ENV.DRV .AZ "DRV=${ROOT}DRV/"
|
I.ENV.DRV .AZ "DRV=${ROOT}DRV/"
|
||||||
CTRLR.SHELL .AZ "${ROOT}BIN/SHELL"
|
CTRLR.SHELL .AZ "${ROOT}BIN/SH"
|
||||||
ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT"
|
ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MLIOPEN00 .DA #3
|
MLIOPEN00 .DA #3
|
||||||
|
@ -404,9 +404,6 @@ IO.WRITE.CDEV ldx #IOCTL.WRITE
|
|||||||
|
|
||||||
.9 >RET 4
|
.9 >RET 4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.EOF.SSOCK ldy #S.FD.SSOCK.EOF
|
|
||||||
.HS 2C BIT ABS
|
|
||||||
*--------------------------------------
|
|
||||||
IO.WRITE.SSOCK ldy #S.FD.SSOCK.WRITE
|
IO.WRITE.SSOCK ldy #S.FD.SSOCK.WRITE
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -421,7 +418,22 @@ IO.READ.SSOCK ldy #S.FD.SSOCK.READ
|
|||||||
|
|
||||||
lda IO.hFD
|
lda IO.hFD
|
||||||
|
|
||||||
.1 jmp $FFFF SELF MODIFIED
|
.1 jsr $FFFF SELF MODIFIED
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
phy
|
||||||
|
ply
|
||||||
|
bne .9
|
||||||
|
|
||||||
|
tax
|
||||||
|
bne .9
|
||||||
|
|
||||||
|
inc pStack CC, Y,A = 0
|
||||||
|
inc pStack
|
||||||
|
inc pStack
|
||||||
|
inc pStack keep buf/count on stack
|
||||||
|
sec BLOCKING I/O
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* (pStack)+2 count
|
* (pStack)+2 count
|
||||||
* (pStack)+0 buf
|
* (pStack)+0 buf
|
||||||
@ -702,6 +714,20 @@ IO.EOF.CDEV >LDYAI K.IOBuf
|
|||||||
ora K.IOBuf+1
|
ora K.IOBuf+1
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
IO.EOF.SSOCK ldy #S.FD.SSOCK.EOF
|
||||||
|
|
||||||
|
lda (pFD),y
|
||||||
|
tax Function Offset in LIB
|
||||||
|
|
||||||
|
ldy #S.FD.SSOCK.IOHANDLER
|
||||||
|
lda (pFD),y
|
||||||
|
jsr K.GetMemPtr
|
||||||
|
>STYA .1+1
|
||||||
|
|
||||||
|
lda IO.hFD
|
||||||
|
|
||||||
|
.1 jmp $FFFF SELF MODIFIED
|
||||||
|
*--------------------------------------
|
||||||
IO.EOF.PIPE
|
IO.EOF.PIPE
|
||||||
lda #MLI.E.IO
|
lda #MLI.E.IO
|
||||||
sec
|
sec
|
||||||
|
@ -31,7 +31,7 @@ K.FPwr ldx #ROM.PWR
|
|||||||
jsr MATH.PullARG
|
jsr MATH.PullARG
|
||||||
|
|
||||||
plx
|
plx
|
||||||
bra MATH.Go
|
jmp GP.RomCallPushFAC
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # Log,Sqr,Exp,Cos,Sin,Tan,ATan
|
* # Log,Sqr,Exp,Cos,Sin,Tan,ATan
|
||||||
* Return Log(x), Sqr(x), E^X, Cos(x), Sin(X), Tan(x), ATan(x)
|
* Return Log(x), Sqr(x), E^X, Cos(x), Sin(X), Tan(x), ATan(x)
|
||||||
@ -68,7 +68,7 @@ K.ATan ldx #ROM.ATAN
|
|||||||
jsr MATH.PullFAC
|
jsr MATH.PullFAC
|
||||||
|
|
||||||
plx
|
plx
|
||||||
bra MATH.Go
|
jmp GP.RomCallPushFAC
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # float
|
* # float
|
||||||
* Return 'floated' long
|
* Return 'floated' long
|
||||||
@ -92,7 +92,7 @@ K.Float ldx #4
|
|||||||
|
|
||||||
ldx #ROM.LTOF
|
ldx #ROM.LTOF
|
||||||
|
|
||||||
MATH.Go jmp GP.RomCallPushFAC
|
jmp GP.RomCallPushFAC
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # lrintf
|
* # lrintf
|
||||||
* Return float rounded into a long
|
* Return float rounded into a long
|
||||||
|
Loading…
Reference in New Issue
Block a user