Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-06-20 08:39:28 +02:00
parent f57cb61132
commit e886397238
6 changed files with 52 additions and 44 deletions

Binary file not shown.

View File

@ -364,26 +364,20 @@ READ php
ldx DEVSLOTx0 ldx DEVSLOTx0
lda /PP.RxEvent lda /PP.RxStatus+$8000
sta PacketPagePTR+1,x sta PacketPagePTR+1,x
lda #PP.RxEvent lda #PP.RxStatus
sta PacketPagePTR,x sta PacketPagePTR,x
lda PacketPageDATA+1,x lda PacketPageDATA+1,x
ldy PacketPageDATA,x ldy PacketPageDATA,x
and /PP.RxEvent.RxOK+PP.RxEvent.IA+PP.RxEvent.Brdcast+PP.RxEvent.Runt and /PP.RxEvent.RxOK+PP.RxEvent.IA+PP.RxEvent.Brdcast+PP.RxEvent.Runt
bne .1 beq READWRITE.9
lda #E.NODATA lda PacketPageDATA+1,x discard RxStatus
lda PacketPageDATA,x
.9 plp
sec
rts
.1 lda RTDATA+1,x discard RxStatus lda PacketPageDATA+1,x get RxLength
lda RTDATA,x
lda RTDATA+1,x get RxLength
ldy #S.IOCTL.BYTECNT+1 ldy #S.IOCTL.BYTECNT+1
sta (ZPIOCTL),y sta (ZPIOCTL),y
@ -391,7 +385,7 @@ READ php
lsr lsr
pha pha
lda RTDATA,x lda PacketPageDATA,x
dey dey
sta (ZPIOCTL),y sta (ZPIOCTL),y
tay tay
@ -430,11 +424,11 @@ READ php
inc Counter+1 inc Counter+1
beq .8 beq .8
.3 lda RTDATA,x .3 lda PacketPageDATA,x
sta (ZPBufPtr),y sta (ZPBufPtr),y
iny iny
lda RTDATA+1,x lda PacketPageDATA+1,x
sta (ZPBufPtr),y sta (ZPBufPtr),y
iny iny
bne .2 bne .2
@ -445,7 +439,13 @@ READ php
plp plp
clc clc
rts .9 rts
READWRITE.9 lda #E.NODATA
plp
sec
rts
*-------------------------------------- *--------------------------------------
WRITE php WRITE php
sei sei
@ -497,7 +497,7 @@ WRITE php
lda PacketPageDATA+1,x lda PacketPageDATA+1,x
ldy PacketPageDATA,x ldy PacketPageDATA,x
and /PP.BusST.Rdy4TxNOW and /PP.BusST.Rdy4TxNOW
beq WRITE.9 beq READWRITE.9
ldy #S.IOCTL.BUFPTR ldy #S.IOCTL.BUFPTR
lda (ZPIOCTL),y lda (ZPIOCTL),y
@ -540,12 +540,6 @@ WRITE php
.8 plp .8 plp
clc clc
rts rts
WRITE.9 lda #E.NODATA
plp
sec
rts
*-------------------------------------- *--------------------------------------
DRV.CS.END DRV.CS.END
DEVSLOTx0 .BS 1 DEVSLOTx0 .BS 1

View File

@ -7,12 +7,27 @@ NEW
* **In:** * **In:**
* ## RETURN VALUE * ## RETURN VALUE
*\-------------------------------------- *\--------------------------------------
ARP.Clear ldx #K.ARPCACHE.SIZE*S.ARPCACHE ARP.Clear lda hARPCache
.1 stz ARP.CACHE-1,x
dex
bne .1 bne .1
clc
>LDYAI K.ARPCACHE.SIZE*S.ARPCACHE
>SYSCALL2 GetMem0
bcs .9
stx hARPCache
rts rts
.1 jsr ARP.GetCache
lda #0
tay
.2 sta (ZPCachePtr),y
iny
cpy #K.ARPCACHE.SIZE*S.ARPCACHE
bne .1
clc
.9 rts
*/-------------------------------------- */--------------------------------------
* # ARP.Query * # ARP.Query
* Query ARP Cache and returns HW address * Query ARP Cache and returns HW address
@ -92,9 +107,12 @@ ARP.ADD.I sta ARP.TmpCache
* ## RETURN VALUE * ## RETURN VALUE
* Y,A = PTR to ARP.CACHE * Y,A = PTR to ARP.CACHE
*\-------------------------------------- *\--------------------------------------
ARP.GetCache >LDYA L.ARP.CACHE ARP.GetCache lda hARPCache
clc >SYSCALL2 GetMemPtr
rts bcs .9
>STYA ZPCachePtr
.9 rts
*-------------------------------------- *--------------------------------------
* PRIVATE * PRIVATE
*-------------------------------------- *--------------------------------------
@ -248,8 +266,7 @@ ARP.QUERY.I jsr ARP.FIND.BY.IP
sec sec
.99 rts .99 rts
*-------------------------------------- *--------------------------------------
ARP.FIND.BY.IP >LDYA L.ARP.CACHE ARP.FIND.BY.IP jsr ARP.GetCache
>STYA ZPCachePtr
ldx #K.ARPCACHE.SIZE ldx #K.ARPCACHE.SIZE
@ -281,8 +298,7 @@ ARP.FIND.BY.IP >LDYA L.ARP.CACHE
sec sec
rts rts
*-------------------------------------- *--------------------------------------
ARP.FIND.FREE >LDYA L.ARP.CACHE ARP.FIND.FREE jsr ARP.GetCache
>STYA ZPCachePtr
lda #$ff lda #$ff
sta TmpDWord sta TmpDWord
@ -330,8 +346,7 @@ ARP.FIND.FREE >LDYA L.ARP.CACHE
.8 clc .8 clc
rts rts
*-------------------------------------- *--------------------------------------
ARP.EXPIRE >LDYA L.ARP.CACHE ARP.EXPIRE jsr ARP.GetCache
>STYA ZPCachePtr
ldx #K.ARPCACHE.SIZE ldx #K.ARPCACHE.SIZE

View File

@ -1230,6 +1230,7 @@ SKT.NewTCB ldx #S.SOCKET.TCP.INTAIL
>LDYAI K.TCP.WSIZE >LDYAI K.TCP.WSIZE
>STYA SKT.Cache+S.SOCKET.TCP.INFREE >STYA SKT.Cache+S.SOCKET.TCP.INFREE
.DO AUXPIPE=1 .DO AUXPIPE=1
>SYSCALL2 NewStkObj >SYSCALL2 NewStkObj
.ELSE .ELSE

View File

@ -1,11 +1,11 @@
NEW NEW
AUTO 3,1 AUTO 3,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
.TF LIB/LIBTCPIP .TF LIB/LIBTCPIP
*-------------------------------------- *--------------------------------------
AUXPIPE .EQ 0 AUXPIPE .EQ 1
IPDEBUG .EQ 0 IPDEBUG .EQ 0
*-------------------------------------- *--------------------------------------
.MA ADC16 .MA ADC16
@ -33,7 +33,6 @@ IPDEBUG .EQ 0
.INB INC/IO.I .INB INC/IO.I
.FIN .FIN
.INB INC/A2OSX.I .INB INC/A2OSX.I
* .INB INC/MLI.I
.INB INC/MLI.E.I .INB INC/MLI.E.I
.INB INC/NIC.I .INB INC/NIC.I
.INB INC/ETH.I .INB INC/ETH.I
@ -131,7 +130,6 @@ L.ARP.REP .DA ARP.REP
L.SA.LOCAL .DA SA.LOCAL L.SA.LOCAL .DA SA.LOCAL
L.SA.REMOTE .DA SA.REMOTE L.SA.REMOTE .DA SA.REMOTE
L.DNS.MSG .DA DNS.MSG L.DNS.MSG .DA DNS.MSG
L.ARP.CACHE .DA ARP.CACHE
L.DNS.CACHE .DA DNS.CACHE L.DNS.CACHE .DA DNS.CACHE
L.SKT.Table .DA SKT.Table L.SKT.Table .DA SKT.Table
L.HST.SScanF .DA HST.SScanF L.HST.SScanF .DA HST.SScanF
@ -412,7 +410,6 @@ FD.SSOCK.SIZE .EQ *-FD.SSOCK
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL
DCB.NIC .BS S.DCB.NIC DCB.NIC .BS S.DCB.NIC
IPCFG .BS S.IPCFG IPCFG .BS S.IPCFG
ARP.CACHE .BS K.ARPCACHE.SIZE*S.ARPCACHE
DNS.CACHE .BS K.DNSCACHE.SIZE*S.DNSCACHE DNS.CACHE .BS K.DNSCACHE.SIZE*S.DNSCACHE
*-------------------------------------- *--------------------------------------
ARP.REQ .HS FFFFFFFFFFFF S.ETH.DSTMAC ARP.REQ .HS FFFFFFFFFFFF S.ETH.DSTMAC
@ -459,6 +456,7 @@ FRM.QUEUE.LenL .BS K.FRMQUEUE.SIZE
FRM.QUEUE.LenH .BS K.FRMQUEUE.SIZE FRM.QUEUE.LenH .BS K.FRMQUEUE.SIZE
*-------------------------------------- *--------------------------------------
RefCount .DA #0 RefCount .DA #0
hARPCache .DA #0
DYNPORT.LAST .DA K.DYNPORT.START DYNPORT.LAST .DA K.DYNPORT.START
hDNSSocket .BS 1 hDNSSocket .BS 1
DNS.TmpCache .BS S.DNSCACHE DNS.TmpCache .BS S.DNSCACHE

View File

@ -406,13 +406,13 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
.DA #$80 .DA #$80
.DA #0 .DA #0
.DA #$80 .DA #$80
.DA #$40 NewStkObj .DA #$C0 NewStkObj
.DA #$80 .DA #$80
.DA #0 .DA #0
.DA #$80 .DA #$80
.DA #$40 GetStkObjPtr .DA #$C0 GetStkObjPtr
.DA #$80 .DA #$80
.DA #$40 FreeStkObj .DA #$C0 FreeStkObj
.DA #$80 .DA #$80
*-------------------------------------- *--------------------------------------
.DA #0 $F0 : SLIST .DA #0 $F0 : SLIST