Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-24 07:55:42 +02:00
parent fe9f2700ec
commit 54c4338581
6 changed files with 55 additions and 63 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -465,7 +465,6 @@ CS.CLEANUP lda ZPhGetLine
stz ZPhPW
>SYSCALL freemem
.8 clc
rts
*--------------------------------------

View File

@ -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