mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-28 11:37:41 +00:00
Kernel 0.93+
This commit is contained in:
parent
fe9f2700ec
commit
54c4338581
Binary file not shown.
Binary file not shown.
@ -31,6 +31,7 @@ SKT.Socket.SEQPACKET
|
||||
SKT.Socket.DSOCK
|
||||
stx FD.DSOCK+S.SOCKET.T save type
|
||||
sta FD.DSOCK+S.SOCKET.PROTO ICMP,UDP,TCP
|
||||
|
||||
lda #0 Y = socket.size
|
||||
>SYSCALL2 GetMem0
|
||||
bcs .9
|
||||
@ -1059,8 +1060,9 @@ SKT.CheckStream ldy #S.SOCKET.T
|
||||
beq .8
|
||||
bcc .90
|
||||
|
||||
cmp #S.SOCKET.TCP.S.CLWAIT
|
||||
bne .91 more than CLWAIT
|
||||
lda #MLI.E.IO
|
||||
* sec
|
||||
rts
|
||||
|
||||
.8 lda #0
|
||||
clc
|
||||
@ -1069,11 +1071,6 @@ SKT.CheckStream ldy #S.SOCKET.T
|
||||
.90 lda #ERR.SKT.NOCONN
|
||||
sec
|
||||
rts
|
||||
|
||||
.91 lda #MLI.E.IO
|
||||
sec
|
||||
rts
|
||||
|
||||
.99
|
||||
SKT.BAD lda #ERR.SKT.BAD
|
||||
sec
|
||||
|
@ -14,9 +14,13 @@ NEW
|
||||
TIMEOUT.MAX .EQ 30 30 sec.
|
||||
CONN.MAX .EQ 16
|
||||
*--------------------------------------
|
||||
ZPIPCfgPtr .EQ ZPBIN
|
||||
ZPSktPtr .EQ ZPBIN+2
|
||||
ZPLinePtr .EQ ZPBIN+4
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPIPCfgPtr .BS 2
|
||||
ZPSktPtr .BS 2
|
||||
ZPMsgPtr .BS 2
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -29,7 +33,7 @@ CS.START cld
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #64 SS
|
||||
.DA #6 ZP
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
@ -46,8 +50,6 @@ L.MSG.TCPIPERR .DA MSG.TCPIPERR
|
||||
L.MSG.SKTERR .DA MSG.SKTERR
|
||||
L.MSG.ABORT .DA MSG.ABORT
|
||||
L.MSG.INCOMING .DA MSG.INCOMING
|
||||
L.MSG.DBG0 .DA MSG.DBG0
|
||||
L.MSG.DBG1 .DA MSG.DBG1
|
||||
L.HTTP.200OK .DA HTTP.200OK
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
@ -58,18 +60,22 @@ CS.INIT >LDYA L.LIBTCPIP
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN jsr Init.Timeout
|
||||
|
||||
>LDYA L.MSG.TCPWAIT
|
||||
CS.RUN >LDYA L.MSG.TCPWAIT
|
||||
>SYSCALL puts
|
||||
>DEBUG
|
||||
jsr Init.Timeout
|
||||
|
||||
.1 >SLEEP
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
bcs .99
|
||||
|
||||
>STYA ZPIPCfgPtr
|
||||
lda (ZPIPCfgPtr) Configured ?
|
||||
bmi CS.RUN.INIT
|
||||
|
||||
jsr Wait.Timeout
|
||||
bcs .99
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
lda (pPs),y
|
||||
>SYSCALL feof
|
||||
@ -82,25 +88,30 @@ CS.RUN jsr Init.Timeout
|
||||
|
||||
cmp #$03
|
||||
bne .1
|
||||
|
||||
>LDYA L.MSG.ABORT
|
||||
>SYSCALL puts
|
||||
lda #3
|
||||
clc
|
||||
sec
|
||||
rts
|
||||
|
||||
.99 >LDYA L.MSG.TCPIPERR
|
||||
>SYSCALL puts
|
||||
lda #E.SYN
|
||||
sec
|
||||
CS.RUN.RTS rts
|
||||
|
||||
CS.RUN.INIT ldx #3
|
||||
ldy #S.IPCFG.IP+3
|
||||
|
||||
.1 lda (ZPIPCfgPtr),y
|
||||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
>DEBUG
|
||||
>PUSHBI 0 no protocol
|
||||
lda #S.SOCKET.T.STREAM
|
||||
lda #S.SOCKET.T.SEQPACKET
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
|
||||
bcs CS.RUN.ERR
|
||||
|
||||
@ -113,12 +124,7 @@ CS.RUN.INIT ldx #3
|
||||
>LDA.G hSrvSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Listen
|
||||
bcs CS.RUN.ERR
|
||||
>LDYAI 512
|
||||
>SYSCALL getmem
|
||||
bcs CS.RUN.RTS
|
||||
>STYA ZPLinePtr
|
||||
txa
|
||||
>STA.G hLineBuf
|
||||
|
||||
>LDYA L.MSG.INITOK
|
||||
>SYSCALL puts
|
||||
|
||||
@ -126,6 +132,7 @@ CS.RUN.LOOP >SLEEP
|
||||
jsr CS.RUN.SERVER
|
||||
bcs CS.RUN.ERR
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.9 >LDYA L.MSG.SKTERR
|
||||
>SYSCALL puts
|
||||
lda #E.SYN
|
||||
@ -141,10 +148,12 @@ CS.RUN.SERVER >LDA.G hSrvSocket
|
||||
|
||||
ldx #3
|
||||
ldy #S.SOCKET.REM.ADDR+3
|
||||
|
||||
.3 >PUSHB (ZPSktPtr),y
|
||||
dey
|
||||
dex
|
||||
bpl .3
|
||||
|
||||
>PUSHB.G hClntSocket
|
||||
|
||||
>PUSHBI 5
|
||||
@ -158,43 +167,31 @@ CS.RUN.SERVER >LDA.G hSrvSocket
|
||||
CS.RUN.CLIENT
|
||||
.1 >SLEEP
|
||||
|
||||
>PUSHWI 512
|
||||
>PUSHW ZPLinePtr
|
||||
>LDA.G hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.read
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||
bcc .2
|
||||
>PUSHYA
|
||||
>PUSHBI 2
|
||||
>LDYA L.MSG.DBG0
|
||||
>SYSCALL printf
|
||||
bra .8
|
||||
.2 phy
|
||||
ply
|
||||
bne .3
|
||||
pha
|
||||
pla
|
||||
beq .1
|
||||
.3 phy
|
||||
pha
|
||||
>PUSHYA
|
||||
>PUSHBI 2
|
||||
>LDYA L.MSG.DBG1
|
||||
>SYSCALL printf
|
||||
pla
|
||||
ply
|
||||
|
||||
>PUSHYA
|
||||
>PUSHW ZPLinePtr
|
||||
tay
|
||||
beq .1
|
||||
bra .8
|
||||
|
||||
.2 pha
|
||||
>SYSCALL getmemptr
|
||||
>STYA ZPMsgPtr
|
||||
|
||||
>PUSHW ZPMsgPtr
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPS),y
|
||||
|
||||
>SYSCALL fwrite
|
||||
|
||||
pla
|
||||
>SYSCALL freemem
|
||||
|
||||
.7 >PUSHWI HTTP.200OK.len
|
||||
>PUSHW L.HTTP.200OK
|
||||
>LDA.G hClntSocket
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.write
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
|
||||
.8 >LDA.G hClntSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
|
||||
@ -213,13 +210,14 @@ CS.DOEVENT lda (pEvent)
|
||||
CS.QUIT ldy #hSrvSocket
|
||||
lda (pData),y
|
||||
beq .3
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
.3 >LDA.G hLineBuf
|
||||
beq .4
|
||||
>SYSCALL FreeMem
|
||||
.4 lda hLIBTCPIP
|
||||
|
||||
.3 lda hLIBTCPIP
|
||||
beq .8
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -245,8 +243,6 @@ MSG.TCPIPERR .AZ "HTTPD:TCP/IP Not initialized properly."
|
||||
MSG.SKTERR .AZ "HTTPD:Listen Error."
|
||||
MSG.ABORT .AZ "HTTPD:User Aborted."
|
||||
MSG.INCOMING .AZ "HTTPD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
||||
MSG.DBG0 .AZ "read: ERROR %h\r\n"
|
||||
MSG.DBG1 .AZ "read: %D bytes\r\n"
|
||||
*--------------------------------------
|
||||
HTTP.200OK .AS "HTTP/1.1 200 OK"
|
||||
.DA #C.CR,#C.LF
|
||||
@ -271,7 +267,6 @@ SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
hLineBuf .BS 1
|
||||
hSrvSocket .BS 1
|
||||
hClntSocket .BS 1
|
||||
TimeOut .BS 1
|
||||
|
@ -465,7 +465,6 @@ CS.CLEANUP lda ZPhGetLine
|
||||
stz ZPhPW
|
||||
>SYSCALL freemem
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -4,7 +4,7 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF SYS/KM/KM.APPLETALK
|
||||
.TF SYS/KM.APPLETALK
|
||||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/IO.I
|
||||
@ -17,6 +17,7 @@ BUF.PREFIX .EQ $300
|
||||
*--------------------------------------
|
||||
AT.INIT >LDYAI MSG.INIT
|
||||
jsr PrintFYA
|
||||
|
||||
lda #$F9
|
||||
sta TmpPtr1
|
||||
lda #$C7
|
||||
@ -31,13 +32,13 @@ AT.INIT >LDYAI MSG.INIT
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
ldy #4
|
||||
lda (TmpPtr1),y
|
||||
|
||||
ldx #0
|
||||
|
||||
ldy #4
|
||||
lda (TmpPtr1),y
|
||||
cmp #1
|
||||
beq .4
|
||||
|
||||
ldx #$80
|
||||
cmp #2
|
||||
beq .4
|
||||
|
Loading…
x
Reference in New Issue
Block a user