mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-18 15:30:43 +00:00
Kernel version 0.9 : TCP, still investigating missing ACK problem
This commit is contained in:
parent
d2ceda42bb
commit
97da1b9d5e
BIN
A2OSX.BOOT.po
BIN
A2OSX.BOOT.po
Binary file not shown.
BIN
A2OSX.SRC.po
BIN
A2OSX.SRC.po
Binary file not shown.
@ -21,8 +21,8 @@ INSDRV UTHERNET.DRV 000E3A123456
|
|||||||
#INSDRV UTHER2.AI.DRV 0008DC123456
|
#INSDRV UTHER2.AI.DRV 0008DC123456
|
||||||
#INSDRV LANCEGS.DRV
|
#INSDRV LANCEGS.DRV
|
||||||
STARTPROC TCPIP
|
STARTPROC TCPIP
|
||||||
STARTPROC DHCPCLNT
|
#STARTPROC DHCPCLNT
|
||||||
STARTPROC TELNETD
|
#STARTPROC TELNETD
|
||||||
#STARTPROC HTTPD
|
#STARTPROC HTTPD
|
||||||
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
|
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
|
||||||
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
||||||
|
@ -10,10 +10,13 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB /A2OSX.DEV/INC/MACROS.I
|
.INB /A2OSX.DEV/INC/MACROS.I
|
||||||
.INB /A2OSX.DEV/INC/A2OSX.I
|
.INB /A2OSX.DEV/INC/A2OSX.I
|
||||||
|
.INB /A2OSX.DEV/INC/MLI.ERR.I
|
||||||
.INB /A2OSX.DEV/INC/NET.8900A.I
|
.INB /A2OSX.DEV/INC/NET.8900A.I
|
||||||
.INB /A2OSX.DEV/INC/LIBTCPIP.I
|
.INB /A2OSX.DEV/INC/LIBTCPIP.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPTmpPTR .EQ ZPDRV
|
ZPTmpPTR .EQ ZPDRV
|
||||||
|
Size .EQ ZPDRV+2
|
||||||
|
Counter .EQ ZPDRV+4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -52,9 +55,9 @@ Dev.Detect >STYA ARGS
|
|||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
lda /PP.ID
|
lda /PP.ID
|
||||||
sta PacketPagePTR,x
|
|
||||||
lda #PP.ID
|
|
||||||
sta PacketPagePTR+1,x
|
sta PacketPagePTR+1,x
|
||||||
|
lda #PP.ID
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
lda PacketPageDATA,x
|
lda PacketPageDATA,x
|
||||||
cmp /DEVID
|
cmp /DEVID
|
||||||
@ -74,7 +77,7 @@ Dev.Detect >STYA ARGS
|
|||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL CPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
lda #$28 MLI.ERR.NODEV
|
lda #MLI.ERR.NODEV
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -88,15 +91,15 @@ Dev.Detect >STYA ARGS
|
|||||||
lda #A2osX.SLOTS.NET
|
lda #A2osX.SLOTS.NET
|
||||||
sta A2osX.SLOTS,y
|
sta A2osX.SLOTS,y
|
||||||
|
|
||||||
lda #PP.ID+2 Get Revision# of ths chip...
|
lda /PP.ID+2 Get Revision# of ths chip...
|
||||||
sta PacketPagePTR,x
|
|
||||||
lda /PP.ID+2
|
|
||||||
sta PacketPagePTR+1,x
|
sta PacketPagePTR+1,x
|
||||||
|
lda #PP.ID+2
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
lda PacketPageDATA,x
|
lda PacketPageDATA,x
|
||||||
sta DEVSTAT+S.DEVSTAT.VERSION set Hardware version
|
sta DEVSTAT+S.DEVSTAT.VERSION
|
||||||
lda PacketPageDATA+1,x
|
lda PacketPageDATA+1,x
|
||||||
sta DEVSTAT+S.DEVSTAT.VERSION+1
|
sta DEVSTAT+S.DEVSTAT.VERSION+1 set Hardware version
|
||||||
|
|
||||||
>LDYA ARGS
|
>LDYA ARGS
|
||||||
>STYA ZPTmpPTR
|
>STYA ZPTmpPTR
|
||||||
@ -161,7 +164,7 @@ DRV.CS.START .DA STATUS
|
|||||||
L.DEVSTAT .DA DEVSTAT
|
L.DEVSTAT .DA DEVSTAT
|
||||||
.DA 0 end or relocation
|
.DA 0 end or relocation
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BADCALL lda #1 MLI.ERR.BADCALL
|
BADCALL lda #MLI.ERR.BADCALL
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -169,21 +172,29 @@ STATUS lda #S.DEVSTAT.NET.STATUS.10
|
|||||||
sta LINK.STATUS
|
sta LINK.STATUS
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
>LDYAI PP.LineST
|
|
||||||
>STYA PacketPagePTR,x
|
lda /PP.LineST
|
||||||
>LDYA PacketPageDATA,x
|
sta PacketPagePTR+1,x
|
||||||
tya
|
lda #PP.LineST
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
|
lda PacketPageDATA,x
|
||||||
and #PP.LineST.LinkOK
|
and #PP.LineST.LinkOK
|
||||||
bne .1
|
beq .1
|
||||||
|
|
||||||
lda LINK.STATUS
|
lda LINK.STATUS
|
||||||
ora #S.DEVSTAT.NET.STATUS.OK
|
ora #S.DEVSTAT.NET.STATUS.OK
|
||||||
sta LINK.STATUS
|
sta LINK.STATUS
|
||||||
|
|
||||||
.1 >LDYAI PP.TestCTL
|
.1 lda /PP.TestCTL
|
||||||
>STYA PacketPagePTR,x
|
sta PacketPagePTR+1,x
|
||||||
>LDYA PacketPageDATA,x
|
lda #PP.TestCTL
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
|
lda PacketPageDATA+1,x
|
||||||
and /PP.TestCTL.FDX
|
and /PP.TestCTL.FDX
|
||||||
bne .2
|
beq .2
|
||||||
|
|
||||||
lda LINK.STATUS
|
lda LINK.STATUS
|
||||||
ora #S.DEVSTAT.NET.STATUS.FD
|
ora #S.DEVSTAT.NET.STATUS.FD
|
||||||
sta LINK.STATUS
|
sta LINK.STATUS
|
||||||
@ -192,39 +203,41 @@ STATUS lda #S.DEVSTAT.NET.STATUS.10
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
READBLOCK ldx DEVSLOTx0
|
READBLOCK php
|
||||||
>LDYAI PP.RxEvent
|
sei
|
||||||
>STYA PacketPagePTR,x
|
|
||||||
>LDYA PacketPageDATA,x
|
ldx DEVSLOTx0
|
||||||
|
|
||||||
|
lda /PP.RxEvent
|
||||||
|
sta PacketPagePTR+1,x
|
||||||
|
lda #PP.RxEvent
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
|
lda PacketPageDATA+1,x
|
||||||
|
ldy PacketPageDATA,x
|
||||||
and /PP.RxEvent.RxOK+PP.RxEvent.Brdcast+PP.RxEvent.IA
|
and /PP.RxEvent.RxOK+PP.RxEvent.Brdcast+PP.RxEvent.IA
|
||||||
bne READBLOCK.RxOK
|
beq .9
|
||||||
lda #ERR.DEV.NOFRAME
|
|
||||||
READBLOCK.Err sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
READBLOCK.RxOK and /PP.RxEvent.Brdcast
|
lda RTDATA+1,x discard RxStatus
|
||||||
beq .10
|
lda RTDATA,x
|
||||||
lda #$80
|
|
||||||
|
|
||||||
.10 sta .8+3
|
ldy RTDATA+1,x get RxLength
|
||||||
|
sty Size+1
|
||||||
|
|
||||||
>LDYA RTDATA,x discard RxStatus
|
|
||||||
|
|
||||||
lda RTDATA+1,x get RxLength
|
|
||||||
sta Size+1
|
|
||||||
pha
|
|
||||||
lda RTDATA,x
|
lda RTDATA,x
|
||||||
sta Size
|
sta Size
|
||||||
clc
|
clc
|
||||||
adc #2
|
adc #2
|
||||||
tay
|
bcc .1
|
||||||
pla
|
iny
|
||||||
adc #0
|
|
||||||
|
|
||||||
>PUSHYA Size+2
|
.1 >PUSHA Size+2
|
||||||
|
tya
|
||||||
|
>PUSHA
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs READBLOCK.Err
|
bcs .99
|
||||||
|
|
||||||
>STYA ZPTmpPTR
|
>STYA ZPTmpPTR
|
||||||
stx .8+1
|
stx .8+1
|
||||||
sty .8+3
|
sty .8+3
|
||||||
@ -244,37 +257,56 @@ READBLOCK.RxOK and /PP.RxEvent.Brdcast
|
|||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
|
|
||||||
.1 inc Counter
|
.2 inc Counter
|
||||||
bne .12
|
bne .3
|
||||||
inc Counter+1
|
inc Counter+1
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.12 lda RTDATA,x
|
.3 lda RTDATA,x
|
||||||
|
sta (ZPTmpPTR),y
|
||||||
|
iny
|
||||||
|
bne .4
|
||||||
|
inc ZPTmpPTR+1
|
||||||
|
|
||||||
|
.4 inc Counter
|
||||||
|
bne .5
|
||||||
|
inc Counter+1
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
.5 lda RTDATA+1,x
|
||||||
sta (ZPTmpPTR),y
|
sta (ZPTmpPTR),y
|
||||||
iny
|
iny
|
||||||
bne .2
|
bne .2
|
||||||
inc ZPTmpPTR+1
|
inc ZPTmpPTR+1
|
||||||
|
bne .2
|
||||||
.2 inc Counter
|
|
||||||
bne .21
|
|
||||||
inc Counter+1
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
.21 lda RTDATA+1,x
|
|
||||||
sta (ZPTmpPTR),y
|
|
||||||
iny
|
|
||||||
bne .1
|
|
||||||
inc ZPTmpPTR+1
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
.8 ldx #$ff hMem
|
.8 ldx #$ff hMem
|
||||||
ldy #$ff PtrLO
|
ldy #$ff PtrLO
|
||||||
lda #$ff PtrHI
|
lda #$ff PtrHI
|
||||||
|
|
||||||
|
plp
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
|
||||||
WRITEBLOCK >STYA ZPTmpPTR
|
|
||||||
|
|
||||||
|
.9 lda #ERR.DEV.NOFRAME
|
||||||
|
|
||||||
|
.99 plp
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
WRITEBLOCK php
|
||||||
|
sei
|
||||||
|
>STYA ZPTmpPTR
|
||||||
|
|
||||||
|
ldx #5
|
||||||
|
ldy #S.ETH.SRCMAC+5
|
||||||
|
|
||||||
|
.10 lda MAC,x
|
||||||
|
sta (ZPTmpPTR),y
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bpl .10
|
||||||
|
|
||||||
lda (ZPTmpPTR)
|
lda (ZPTmpPTR)
|
||||||
sta Size
|
sta Size
|
||||||
eor #$ff
|
eor #$ff
|
||||||
@ -286,67 +318,67 @@ WRITEBLOCK >STYA ZPTmpPTR
|
|||||||
sta Counter+1
|
sta Counter+1
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
>LDYAI PP.TxCMD.LID+PP.TxCMD.TxStartFULL
|
|
||||||
>STYA TxCMD,x
|
|
||||||
>LDYA Size
|
|
||||||
>STYA TxLength,x
|
|
||||||
>LDYAI PP.BusST
|
|
||||||
>STYA PacketPagePTR,x
|
|
||||||
|
|
||||||
|
lda /PP.TxCMD.LID+PP.TxCMD.TxStartFULL
|
||||||
|
sta TxCMD+1,x
|
||||||
|
lda #PP.TxCMD.LID+PP.TxCMD.TxStartFULL
|
||||||
|
sta TxCMD,x
|
||||||
|
|
||||||
|
lda Size+1
|
||||||
|
sta TxLength+1,x
|
||||||
|
lda Size
|
||||||
|
sta TxLength,x
|
||||||
|
|
||||||
|
lda /PP.BusST
|
||||||
|
sta PacketPagePTR+1,x
|
||||||
|
lda #PP.BusST
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
ldy #16
|
ldy #16
|
||||||
|
|
||||||
.1 lda PacketPageDATA,x
|
.1 lda PacketPageDATA,x
|
||||||
and #PP.BusST.TxBidErr
|
and #PP.BusST.TxBidErr
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda PacketPageDATA+1,x
|
lda PacketPageDATA+1,x
|
||||||
and /PP.BusST.Rdy4TxNOW
|
and /PP.BusST.Rdy4TxNOW
|
||||||
bne WRITEBLOCK.1
|
bne WRITEBLOCK.1
|
||||||
lda #0
|
|
||||||
|
|
||||||
.2 dec
|
|
||||||
bne .2
|
|
||||||
|
|
||||||
dey
|
dey
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.9 lda #ERR.DEV.NOBUFFER
|
.9 lda #ERR.DEV.NOBUFFER
|
||||||
|
plp
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
WRITEBLOCK.1 ldy #S.ETH.SRCMAC+5
|
WRITEBLOCK.1 ldy #2
|
||||||
ldx #5
|
|
||||||
.10 lda MAC,x
|
|
||||||
sta (ZPTmpPTR),y
|
|
||||||
dey
|
|
||||||
dex
|
|
||||||
bpl .10
|
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
|
||||||
ldy #2
|
|
||||||
|
|
||||||
.1 inc Counter
|
.1 inc Counter
|
||||||
bne .11
|
bne .2
|
||||||
inc Counter+1
|
inc Counter+1
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.11 lda (ZPTmpPTR),y
|
.2 lda (ZPTmpPTR),y
|
||||||
sta RTDATA,x
|
sta RTDATA,x
|
||||||
iny
|
iny
|
||||||
bne .2
|
bne .3
|
||||||
inc ZPTmpPTR+1
|
inc ZPTmpPTR+1
|
||||||
|
|
||||||
.2 inc Counter
|
.3 inc Counter
|
||||||
bne .21
|
bne .4
|
||||||
inc Counter+1
|
inc Counter+1
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.21 lda (ZPTmpPTR),y
|
.4 lda (ZPTmpPTR),y
|
||||||
sta RTDATA+1,x
|
sta RTDATA+1,x
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
inc ZPTmpPTR+1
|
inc ZPTmpPTR+1
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.8 clc
|
.8 plp
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OPEN jsr CLOSE
|
OPEN jsr CLOSE
|
||||||
@ -376,29 +408,41 @@ OPEN jsr CLOSE
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CLOSE ldx DEVSLOTx0
|
CLOSE ldx DEVSLOTx0
|
||||||
>LDYAI PP.SelfCTL
|
|
||||||
>STYA PacketPagePTR,x
|
|
||||||
>LDYAI PP.SelfCTL.LID+PP.SelfCTL.RESET
|
|
||||||
>STYA PacketPageDATA,x
|
|
||||||
|
|
||||||
lda #0
|
lda /PP.SelfCTL
|
||||||
.1 dec
|
sta PacketPagePTR+1,x
|
||||||
|
lda #PP.SelfCTL
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
|
lda /PP.SelfCTL.LID+PP.SelfCTL.RESET
|
||||||
|
sta PacketPageDATA+1,x
|
||||||
|
|
||||||
|
lda #PP.SelfCTL.LID+PP.SelfCTL.RESET
|
||||||
|
sta PacketPageDATA,x
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
.1 lda /PP.SelfST
|
||||||
|
sta PacketPagePTR+1,x
|
||||||
|
lda #PP.SelfST
|
||||||
|
sta PacketPagePTR,x
|
||||||
|
|
||||||
|
lda PacketPageDATA+1,x
|
||||||
|
lda PacketPageDATA,x
|
||||||
|
and #PP.SelfST.InitDone
|
||||||
|
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYAI PP.SelfCTL
|
.8 clc
|
||||||
>STYA PacketPagePTR,x
|
|
||||||
>LDYAI PP.SelfCTL.LID
|
|
||||||
>STYA PacketPageDATA,x
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.END
|
DRV.CS.END
|
||||||
DEVSLOTx0 .BS 1
|
DEVSLOTx0 .BS 1
|
||||||
Size .BS 2
|
|
||||||
Counter .BS 2
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEVSTAT .DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ
|
DEVSTAT .DA #0
|
||||||
.BS 3 size
|
.BS 3 size
|
||||||
>PSTR "Uthernet/CS8900A"
|
>PSTR "Uthernet/CS8900A"
|
||||||
.DA #S.DEVSTAT.TYPE.NET
|
.DA #S.DEVSTAT.TYPE.NET
|
||||||
|
Loading…
x
Reference in New Issue
Block a user