mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-03 09:33:01 +00:00
Kernel version 0.9 : TCP & Sockets, bugfix session #1
This commit is contained in:
parent
81afee1ca5
commit
2f2529f8ab
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.DEV.po
BIN
A2OSX.DEV.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $A00
|
||||
LOMEM $900
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $900
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $A00
|
||||
LOMEM $900
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $900
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
LOMEM $A00
|
||||
LOMEM $900
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user