Kernel version 0.9 : TCP & Sockets, bugfix session #1

This commit is contained in:
Rémy GIBERT 2017-02-15 22:46:21 +01:00
parent 81afee1ca5
commit 2f2529f8ab
20 changed files with 62 additions and 70 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -136,7 +136,7 @@ CS.RUN.OPENSKT ldx #3
sta (pData),y
>PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.NEW
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
bcc .2
>LDYA L.MSG.SKTKO

View File

@ -101,7 +101,7 @@ CS.RUN jsr Init.Timeout
rts
.2 >PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.NEW
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
bcs .99
txa

View File

@ -42,20 +42,20 @@ LIBTCPIP.DNS.GETCACHE .EQ 26
LIBTCPIP.HST.GETBYNAME .EQ 28
LIBTCPIP.HST.GETBYADDR .EQ 30
LIBTCPIP.SKT.NEW .EQ 32
LIBTCPIP.SKT.New .EQ 32
LIBTCPIP.SKT.CLOSEA .EQ 34
LIBTCPIP.SKT.GETTABLE .EQ 36
LIBTCPIP.SKT.GETA .EQ 38
LIBTCPIP.SKT.ACCEPTA .EQ 34
LIBTCPIP.SKT.ACCEPTA .EQ 40
LIBTCPIP.SKT.Write .EQ 38
LIBTCPIP.SKT.Read .EQ 50
LIBTCPIP.SKT.ReadA .EQ 40
LIBTCPIP.SKT.PutC .EQ 42
LIBTCPIP.SKT.PutS .EQ 44
LIBTCPIP.SKT.GetCA .EQ 46
LIBTCPIP.SKT.GetS .EQ 48
LIBTCPIP.SKT.Write .EQ 44
LIBTCPIP.SKT.Read .EQ 46
LIBTCPIP.SKT.ReadA .EQ 48
LIBTCPIP.SKT.PutC .EQ 50
LIBTCPIP.SKT.PutS .EQ 52
LIBTCPIP.SKT.GetCA .EQ 54
LIBTCPIP.SKT.GetS .EQ 56
*--------------------------------------
ERR.SKT.OOS .EQ $BF
ERR.SKT.BUSY .EQ $BE

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
NEW
LOMEM $900
INC 1
AUTO 6
.LIST OFF
@ -78,7 +78,7 @@ SET.IPCFG >PULLW ZPTmpPtr1
stz DNS.SOCKET.SP+1
>PUSHW L.DNS.SOCKET
jsr SKT.NEW
jsr SKT.New
bcs .9
stx hDNSSocket1
@ -96,7 +96,7 @@ SET.IPCFG >PULLW ZPTmpPtr1
stz DNS.SOCKET.SP+1
>PUSHW L.DNS.SOCKET
jsr SKT.NEW
jsr SKT.New
bcs .9
stx hDNSSocket2

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
NEW
LOMEM $900
INC 1
AUTO 6
.LIST OFF
@ -108,17 +108,17 @@ DNS.REQUEST lda hDNSSocket1
jsr DNS.ADD.I
bcs .9
>PUSHW DNS.MSG.LEN
>PUSHW L.DNS.MSG
>PUSHB hDNSSocket1
>PUSHW L.DNS.MSG
>PUSHW DNS.MSG.LEN
jsr SKT.Write
lda hDNSSocket2
beq .3
>PUSHW DNS.MSG.LEN
>PUSHW L.DNS.MSG
>PUSHB hDNSSocket2
>PUSHW L.DNS.MSG
>PUSHW DNS.MSG.LEN
jsr SKT.Write
.3 lda #ERR.DNS.PENDING

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $A00
LOMEM $900
INC 1
AUTO 6
.LIST OFF

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
NEW
LOMEM $900
INC 1
AUTO 6
.LIST OFF

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $A00
LOMEM $900
INC 1
AUTO 6
.LIST OFF

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
NEW
LOMEM $900
INC 1
AUTO 6
.LIST OFF

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $A00
LOMEM $900
INC 1
AUTO 6
.LIST OFF
@ -127,6 +127,15 @@ SKT.New.TCP ldy #S.SOCKET.SQ.INFREE
iny
sta (ZPTmpPtr3),y
ldx #3
ldy #S.SOCKET.SQ.SEQNUM+3
.2 lda A2osX.TIMER16,x
sta (ZPTmpPtr3),y
dey
dex
bpl .2
>PUSHW K.TCP.WSIZE
>PUSHBI 0
>SYSCALL GetMem
@ -247,7 +256,7 @@ SKT.AcceptA jsr SKT.GetA.I
ldy #S.SOCKET.SO
lda (ZPPtrSKT),y
and #S.SOCKET.SO.ACCEPTCONN
bne .99
beq .99
ldy #S.SOCKET.HQ.HEAD
lda (ZPPtrSKT),y
@ -275,7 +284,7 @@ SKT.AcceptA jsr SKT.GetA.I
sec
.9 rts
*/--------------------------------------
* #SKT.Send (DGRAM,STREAM,RAW)
* #SKT.Write (DGRAM,STREAM,RAW)
* Send block of data
* ##In :
* PUSHB = hSocket
@ -363,7 +372,7 @@ SKT.Write.TCP ldy #S.SOCKET.TCP.STATUS
sec
.99 rts
*/--------------------------------------
* #SKT.RcvdA (DGRAM,RAW)
* #SKT.ReadA (DGRAM,RAW)
* ##In :
* A = hSocket
* ##Out :
@ -787,7 +796,7 @@ SKT.GetDataFromSktOut
.8 clc
rts
*--------------------------------------
* From SKT.RCVD
* From SKT.Write
* In:
* Src : hInMem/INTAIL
* Dst : ZPDataOutPtr/ZPDataOutLen

View File

@ -1,18 +1,11 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $A00
LOMEM $900
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
TCP.IN ldy #S.IP.SRC+3
ldx #3
.1 lda (ZPFrameInPtr),y
sta TmpSocket+S.SOCKET.DST.ADDR,x
dey
dex
bpl .1
TCP.IN jsr IP.FillTmpSocketSrcDst
ldy #S.TCP.SRCPORT
lda (ZPFrameInPtr),y
@ -21,14 +14,6 @@ TCP.IN ldy #S.IP.SRC+3
lda (ZPFrameInPtr),y
sta TmpSocket+S.SOCKET.DST.PORT
ldy #S.IP.DST+3
ldx #3
.2 lda (ZPFrameInPtr),y
sta TmpSocket+S.SOCKET.SRC.ADDR,x
dey
dex
bpl .2
ldy #S.TCP.DSTPORT
lda (ZPFrameInPtr),y
sta TmpSocket+S.SOCKET.SRC.PORT+1
@ -63,7 +48,8 @@ TCP.IN ldy #S.IP.SRC+3
beq .5
ldy #S.TCP.OPTIONS yes, only accept SYN packet
lda (ZPFrameOutPtr),y
lda (ZPFrameInPtr),y
cmp #S.TCP.OPTIONS.SYN
bne .7 not for this listening socket
jmp TCP.IN.LISTEN.NEW
@ -96,7 +82,7 @@ TCP.IN ldy #S.IP.SRC+3
TCP.IN.LISTEN.NEW
lda #S.SOCKET.SOCK.STREAM
sta TmpSocket
stz TmpSocket+S.SOCKET.SO
ldy #S.TCP.SEQ.NUMBER+3
@ -111,15 +97,9 @@ TCP.IN.LISTEN.NEW
dex
bpl .1
ldx #3
.2 lda A2osX.TIMER16,x
sta TmpSocket+S.SOCKET.SQ.SEQNUM,x
dex
bpl .2
>PUSHW L.TmpSocket
jsr SKT.NEW
jsr SKT.New
bcs .9
phy
@ -133,7 +113,7 @@ TCP.IN.LISTEN.NEW
pla
sta ZPPtrSKT
bcc .3
bcc .3 Queued successfully ?
lda #0 error
sta (ZPPtrSKT) clear this socket
@ -144,7 +124,10 @@ TCP.IN.LISTEN.NEW
lda #S.SOCKET.TCP.STATUS.SYNRCVD
sta (ZPPtrSKT),y
jmp TCP.SendSYNACK
ldy #S.SOCKET.TCP.OPTIONS
lda #S.TCP.OPTIONS.SYN+S.TCP.OPTIONS.ACK
sta (ZPPtrSKT),y
jmp TCP.Out
*--------------------------------------
TCP.IN.REGULAR stx hSocket
ldy #S.SOCKET.TCP.STATUS
@ -296,7 +279,7 @@ TCP.OUT ldy #S.SOCKET.SQ.OUTUSED
.7 jsr FRM.SendIP
bcs .9
ldy #S.SOCKET.SOCK
ldy #S.SOCKET.TCP.OPTIONS
lda (ZPPtrSKT),y
and #$ff^S.TCP.OPTIONS.ACK
sta (ZPPtrSKT),y

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $A00
LOMEM $900
INC 1
AUTO 6
.LIST OFF

View File

@ -52,12 +52,12 @@ CS.START cld
.1 .DA LIB.LOAD
.DA LIB.UNLOAD
.DA POLL
.DA PULSEA
.DA SET.IPCFG
.DA GET.IPCFG
.DA POLL
.DA PULSEA
.DA ARP.CLEAR
.DA ARP.QUERY
.DA ARP.ADD
@ -71,7 +71,7 @@ CS.START cld
.DA HST.GETBYNAME
.DA HST.GETBYADDR
.DA SKT.NEW
.DA SKT.New
.DA SKT.CLOSEA
.DA SKT.GETTABLE
.DA SKT.GETA

View File

@ -105,7 +105,7 @@ CS.INIT >LDYA L.LIBTCPIP
*--------------------------------------
CS.RUN >PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.NEW
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
bcc .1
jmp CS.RUN.KO

View File

@ -92,7 +92,7 @@ CS.RUN.INIT ldx #3
bpl .1
>PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.NEW
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
bcs .9
txa
ldy #hSrvSocket
@ -106,7 +106,7 @@ CS.RUN.INIT ldx #3
.12 ldy #hSrvSocket
lda (pData),y
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.ACCEPTA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.AcceptA
bcs .15
pha
@ -121,13 +121,13 @@ CS.RUN.INIT ldx #3
bne .13
pla
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CloseA
bra .15
.14 pla
sta (pData),y
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GETA
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetA
>STYA ZPSktPtr
ldx #3

View File

@ -87,7 +87,7 @@ CS.RUN.INIT ldx #3
bpl .1
>PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.NEW
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
bcs .9
txa
ldy #hSocket

View File

@ -110,7 +110,7 @@
##Out :
+ A = hSocket
#SKT.Send (DGRAM,STREAM,RAW)
#SKT.Write (DGRAM,STREAM,RAW)
+ Send block of data
##In :
@ -121,7 +121,7 @@
##Out :
+ A = hFrame
#SKT.RcvdA (DGRAM,RAW)
#SKT.ReadA (DGRAM,RAW)
##In :
+ A = hSocket