Kernel 0.9.2

This commit is contained in:
Rémy GIBERT
2018-11-09 08:45:36 +01:00
parent 69d012b525
commit 3abdf9cc9b
6 changed files with 112 additions and 7 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -696,6 +696,7 @@ SKT.SetRemAddr ldy #S.SOCKET.REM.PORT+1
rts rts
*-------------------------------------- *--------------------------------------
SKT.FindMatchingLocRem SKT.FindMatchingLocRem
jsr FRM.Dump
ldx #0 ldx #0
.1 lda SKT.TABLE,x .1 lda SKT.TABLE,x
@@ -704,6 +705,7 @@ SKT.FindMatchingLocRem
phx phx
>SYSCALL GetMemPtr >SYSCALL GetMemPtr
>STYA ZPPtrSKT >STYA ZPPtrSKT
jsr SKT.Dump
plx plx
ldy #S.SOCKET.AF ldy #S.SOCKET.AF
@@ -738,9 +740,9 @@ SKT.FindMatchingLocRem
bne .8 bad packet for this listening bne .8 bad packet for this listening
.6 lda SKT.REM.ADDR+S.SOCKADDR.ADDR .6 lda SKT.REM.ADDR+S.SOCKADDR.ADDR
cmp #$ff FF.FF.FF.FF, Broadcast ? cmp #$ff FF.FF.FF.FF, Broadcast ?
bne .41 bne .41
* ldy #S.SOCKET.O * ldy #S.SOCKET.O
lda (ZPPtrSKT),y lda (ZPPtrSKT),y
and #S.SOCKET.O.BROADCAST and #S.SOCKET.O.BROADCAST
@@ -752,11 +754,20 @@ SKT.FindMatchingLocRem
.41 ldy #S.SOCKET.REM.ADDR .41 ldy #S.SOCKET.REM.ADDR
.5 lda (ZPPtrSKT),y .5 lda (ZPPtrSKT),y
cmp SKT.REM.ADDR+S.SOCKADDR.ADDR-S.SOCKET.REM.ADDR,y
cmp #$ff accept 255.255.255.255 ?
bne .43
ldy #S.SOCKET.REM.PORT Boradcast, check port only
bra .43
.42 lda (ZPPtrSKT),y
.43 cmp SKT.REM.ADDR+S.SOCKADDR.ADDR-S.SOCKET.REM.ADDR,y
bne .8 wrong remote host, exit.... bne .8 wrong remote host, exit....
iny iny
cpy #S.SOCKET.REM.PORT+2 cpy #S.SOCKET.REM.PORT+2
bne .5 bne .42
.7 stx SKT.Index x = SKT.TABLE index .7 stx SKT.Index x = SKT.TABLE index
clc clc

View File

@@ -21,6 +21,96 @@ UDP.IN jsr FRM.GetTargetSKT.TCPUDP
>SYSCALL FreeMem >SYSCALL FreeMem
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
FRM.Dump ldy #S.TCPUDP.DSTPORT
lda (ZPFrameInPtr),y
>PUSHA
iny
lda (ZPFrameInPtr),y
>PUSHA
ldy #S.IP.DST+3
lda (ZPFrameInPtr),y
>PUSHA
dey
lda (ZPFrameInPtr),y
>PUSHA
dey
lda (ZPFrameInPtr),y
>PUSHA
dey
lda (ZPFrameInPtr),y
>PUSHA
ldy #S.TCPUDP.SRCPORT
lda (ZPFrameInPtr),y
>PUSHA
iny
lda (ZPFrameInPtr),y
>PUSHA
ldy #S.IP.SRC+3
lda (ZPFrameInPtr),y
>PUSHA
dey
lda (ZPFrameInPtr),y
>PUSHA
dey
lda (ZPFrameInPtr),y
>PUSHA
dey
lda (ZPFrameInPtr),y
>PUSHA
>PUSHBI 12
>LDYA L.MSG.FRM.Dump
>SYSCALL Printf
rts
*--------------------------------------
SKT.Dump ldy #S.SOCKET.REM.PORT+1
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
ldy #S.SOCKET.REM.ADDR+3
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
ldy #S.SOCKET.LOC.PORT+1
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
ldy #S.SOCKET.LOC.ADDR+3
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
dey
lda (ZPPtrSKT),y
>PUSHA
>PUSHBI 12
>LDYA L.MSG.SKT.Dump
>SYSCALL Printf
rts
*--------------------------------------
MAN MAN
SAVE /A2OSX.SRC/LIB/LIBTCPIP.S.UDP SAVE /A2OSX.SRC/LIB/LIBTCPIP.S.UDP
LOAD /A2OSX.SRC/LIB/LIBTCPIP.S LOAD /A2OSX.SRC/LIB/LIBTCPIP.S

View File

@@ -150,6 +150,8 @@ J.SKT.send .DA SKT.send.RAW
.DA SKT.send.DGRAM .DA SKT.send.DGRAM
.DA SKT.send.SEQPACKET .DA SKT.send.SEQPACKET
.DA SKT.send.STREAM .DA SKT.send.STREAM
L.MSG.FRM.Dump .DA MSG.FRM.Dump
L.MSG.SKT.Dump .DA MSG.SKT.Dump
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
LIB.LOAD ldx RefCount LIB.LOAD ldx RefCount
@@ -402,6 +404,8 @@ hFrameOut .BS 1
HST.SScanF .AZ "%d.%d.%d.%d" HST.SScanF .AZ "%d.%d.%d.%d"
IP.ID .BS 2 IP.ID .BS 2
IP.CHECKSUM .BS 2 IP.CHECKSUM .BS 2
MSG.FRM.Dump .AZ "FRM:SRC=%d.%d.%d.%d:%D DST=%d.%d.%d.%d:%D\r\n"
MSG.SKT.Dump .AZ "SKT:LOC=%d.%d.%d.%d:%D REM=%d.%d.%d.%d:%D\r\n"
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE /A2OSX.SRC/LIB/LIBTCPIP.S SAVE /A2OSX.SRC/LIB/LIBTCPIP.S

View File

@@ -252,7 +252,7 @@ CS.DOEVENT lda (pEvent)
CS.QUIT >LDA.G hSocket CS.QUIT >LDA.G hSocket
beq .1 beq .1
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown * >LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
.1 lda hLIBTCPIP .1 lda hLIBTCPIP
>SYSCALL UnloadLib >SYSCALL UnloadLib