Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-05-10 16:49:53 +02:00
parent 8134fcb846
commit fb0c8b4e9c
6 changed files with 45 additions and 32 deletions

Binary file not shown.

View File

@ -507,12 +507,19 @@ SKT.GetDataFromSktIn
ldy #S.SOCKET.TCP.O ldy #S.SOCKET.TCP.O
lda (ZPPtrSKT),y lda (ZPPtrSKT),y
ora #S.TCP.OPTIONS.ACK bit #S.TCP.OPTIONS.ACK
beq .81
jsr TCP.OUT.SendOptA ACK pending, send ACK
bra .88
.81 ora #S.TCP.OPTIONS.ACK Delayed ACK
sta (ZPPtrSKT),y sta (ZPPtrSKT),y
jsr TCP.OUT.I SKT.GetTCB already called, Try to ACK read DATA * jsr TCP.OUT.I SKT.GetTCB already called, Try to ACK read DATA
>LDYA ZPTmpPtr3 .88 >LDYA ZPTmpPtr3
clc clc
rts rts
*/-------------------------------------- */--------------------------------------
@ -612,9 +619,14 @@ SKT.AddDataToSktOut
>ADC16 SKT.Cache+S.SOCKET.TCP.OUTTOSEND,ZPDataInLen >ADC16 SKT.Cache+S.SOCKET.TCP.OUTTOSEND,ZPDataInLen
jsr SKT.StoreTCB jsr SKT.StoreTCB
ldy #S.SOCKET.TCP.O
lda (ZPPtrSKT),y
bit #S.TCP.OPTIONS.ACK
beq .88 no pending ACK....
jsr TCP.OUT.I SKT.GetTCB called, try to push, ignore error.... jsr TCP.OUT.I SKT.GetTCB called, try to push, ignore error....
>LDYA ZPDataInLen .88 >LDYA ZPDataInLen
clc clc
rts rts
*/-------------------------------------- */--------------------------------------

View File

@ -469,9 +469,10 @@ TCP.OUT.SendOptA
jsr TCP.NewFrame jsr TCP.NewFrame
bcs TCP.IN.RTS bcs TCP.IN.RTS
TCP.OUT.Send ldy #S.SOCKET.TCP.O ldy #S.SOCKET.TCP.O
lda (ZPPtrSKT),y lda (ZPPtrSKT),y
ldy #S.TCP.OPTIONS
TCP.OUT.Send ldy #S.TCP.OPTIONS
sta (ZPFrameOutPtr),y sta (ZPFrameOutPtr),y
bit #S.TCP.OPTIONS.ACK bit #S.TCP.OPTIONS.ACK

View File

@ -223,9 +223,10 @@ PULSE and #S.EVT.F.T1SEC
jsr ARP.EXPIRE jsr ARP.EXPIRE
jsr DNS.EXPIRE jsr DNS.EXPIRE
.1 jsr TCP.SENDCLOSE .1 jsr FRM.RETRY
jsr DNS.POLL jsr DNS.POLL
jmp FRM.RETRY
jmp TCP.SENDCLOSE
*-------------------------------------- *--------------------------------------
GetDynPort inc DYNPORT.LAST GetDynPort inc DYNPORT.LAST
bne .1 bne .1

View File

@ -23,12 +23,9 @@ LIB.MAX .EQ 4
ZS.START ZS.START
pNETCFG .BS 2 pNETCFG .BS 2
pBuf .BS 2 pBuf .BS 2
DevID .BS 1
LibCnt .BS 1
hNetworkFile .BS 1 hNetworkFile .BS 1
hLineBuf .BS 1 hLineBuf .BS 1
hFrameIn .BS 1 hFrameIn .BS 1
hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs
ZS.END .ED ZS.END .ED
*-------------------------------------- *--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
@ -51,11 +48,12 @@ CS.START cld
.DA CS.RUN .DA CS.RUN
.DA CS.DOEVENT .DA CS.DOEVENT
.DA CS.QUIT .DA CS.QUIT
L.DEVNAME .DA DEVNAME
L.MSG.RUNNING .DA MSG.RUNNING L.MSG.RUNNING .DA MSG.RUNNING
L.MSG.DEV.OK .DA MSG.DEV.OK L.MSG.DEV.OK .DA MSG.DEV.OK
L.MSG.DEV.KO .DA MSG.DEV.KO L.MSG.DEV.KO .DA MSG.DEV.KO
L.MSG.LIB .DA MSG.LIB L.MSG.LIB .DA MSG.LIB
L.MSG.EXEC .DA MSG.EXEC
L.DEVNAME .DA DEVNAME
L.IOCTL .DA IOCTL L.IOCTL .DA IOCTL
L.DCB.NIC .DA DCB.NIC L.DCB.NIC .DA DCB.NIC
L.ETCNETWORK .DA ETCNETWORK L.ETCNETWORK .DA ETCNETWORK
@ -132,7 +130,7 @@ CS.INIT.LIBS lda LibCnt
pla pla
ply ply
>SYSCALL LoadLib >SYSCALL LoadLib
bcs .9 bcs CS.INIT.LIBS.9
ldy LibCnt ldy LibCnt
sta hLIBs,y sta hLIBs,y
@ -159,15 +157,6 @@ CS.INIT.LIBS lda LibCnt
dex dex
bpl .2 bpl .2
* >PUSHW pNETCFG
* ldy LibCnt
* lda hLIBs,y
* tay
* ldx #LIBNET.SETCFG
* jsr A2osX.LIBCALL
inc LibCnt inc LibCnt
lda LibCnt lda LibCnt
cmp #LIB.MAX cmp #LIB.MAX
@ -175,18 +164,18 @@ CS.INIT.LIBS lda LibCnt
.8 clc .8 clc
.9 rts CS.INIT.LIBS.9 rts
*-------------------------------------- *--------------------------------------
CS.INIT.CONF >LDYAI 64 CS.INIT.CONF >LDYAI 64
>SYSCALL GetMem >SYSCALL GetMem
bcs .99 bcs CS.INIT.LIBS.9
>STYA pBuf >STYA pBuf
stx hLineBuf stx hLineBuf
>PUSHWI 0 >PUSHWI 0
>PUSHBI S.FI.T.TXT >PUSHBI S.FI.T.TXT
>PUSHBI O.RDONLY >PUSHBI O.RDONLY+O.TEXT
>LDYA L.ETCNETWORK >LDYA L.ETCNETWORK
>SYSCALL fopen >SYSCALL fopen
@ -194,13 +183,18 @@ CS.INIT.CONF >LDYAI 64
sta hNetworkFile sta hNetworkFile
.1 >PUSHWI 63 .1 >PUSHWI 64
>PUSHW pBuf >PUSHW pBuf
lda hNetworkFile lda hNetworkFile
>SYSCALL fgets >SYSCALL fgets
bcs .80 bcs .80
>PUSHBI 0 PS Flags >PUSHW pBuf
>PUSHBI 2
>LDYA L.MSG.EXEC
>SYSCALL printf
>PUSHBI 0 S.PS.F.HOLD+S.PS.F.NOHUP
>LDYA pBuf >LDYA pBuf
>SYSCALL execL >SYSCALL execL
bra .1 bra .1
@ -209,7 +203,7 @@ CS.INIT.CONF >LDYAI 64
jsr .81 jsr .81
pla pla
sec sec
.99 rts rts
.80 lda hNetworkFile .80 lda hNetworkFile
>SYSCALL fclose >SYSCALL fclose
@ -297,12 +291,17 @@ CS.QUIT ldx #0
*-------------------------------------- *--------------------------------------
CS.END CS.END
*-------------------------------------- *--------------------------------------
DEVNAME .AZ "/DEV/ETH1"
MSG.RUNNING .AZ "NETWORKD:Already loaded, exiting." MSG.RUNNING .AZ "NETWORKD:Already loaded, exiting."
MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting." MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting."
MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n" MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n"
MSG.LIB .AZ "NETWORKD:Loading %s ...\r\n" MSG.LIB .AZ "NETWORKD:Loading %s ...\r\n"
ETCNETWORK .AZ "${ROOT}ETC/NETWORK" MSG.EXEC .AZ "NETWORKD:Running %s ...\r\n"
ETCNETWORK .AZ "${BOOT}ETC/NETWORK"
*--------------------------------------
DevID .BS 1
LibCnt .BS 1
hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs
DEVNAME .AZ "/DEV/ETH1"
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL
DCB.NIC .BS S.DCB.NIC DCB.NIC .BS S.DCB.NIC
*-------------------------------------- *--------------------------------------

View File

@ -814,8 +814,8 @@ K.FGetS jsr PFT.CheckNodeA
lda (pFD) lda (pFD)
bne K.FGetS.Special bne K.FGetS.Special
lda (pStack)
* clc * clc
lda (pStack)
sbc #0 sbc #0
sta ZPPtr2 s-1 sta ZPPtr2 s-1
@ -827,8 +827,8 @@ K.FGetS jsr PFT.CheckNodeA
iny iny
clc
lda (pStack),y n-1 lda (pStack),y n-1
* clc
sbc #0 sbc #0
sta (pStack),y sta (pStack),y