NET Drivers:code cleanup

This commit is contained in:
Rémy GIBERT 2016-03-20 23:12:57 +01:00
parent 8d23090148
commit b476c8aa44
4 changed files with 80 additions and 207 deletions

View File

@ -10,6 +10,7 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBTCPIP.I
*--------------------------------------
ZPTmpPTR .EQ ZPDRV
*--------------------------------------
@ -72,10 +73,6 @@ L91C96.3.RCV .EQ $C08C
L91C96.BSR .EQ $C08E
*--------------------------------------
ERRTNOFRAME .EQ 0
ERRNOBUFFER .EQ 1
ERRTIMEOUT .EQ 2
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
@ -149,57 +146,7 @@ Dev.Detect sta hArgs
clc
rts
*--------------------------------------
DecodeMac lda (ZPTmpPTR)
cmp #12
bne .9
ldy #1
ldx #0
.1 lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
asl
asl
asl
asl
sta MAC,x
iny
lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
ora MAC,x
sta MAC,x
inx
iny
cpy #13
bne .1
clc
rts
.9 sec
rts
*--------------------------------------
Asc2NibbleA cmp #$30
bcc .9
cmp #$3A
bcs .1
and #$0F
clc
rts
.1 cmp #$41
bcc .9
cmp #$47
bcs .9
sbc #$36
clc
rts
.9 sec
rts
.INB DRV/X.NET.DRV.S
*--------------------------------------
CS.END
MSG.DETECT >PSTRING "LanCeGS/SMSC91C96 Driver.\n"
@ -296,7 +243,7 @@ GETEVENT ldx DEVSLOTx0
lda L91C96.2.IST,x
and #L91C96.2.IST.RCV
bne GETEVENT.RxOK
lda #ERRTNOFRAME
lda #ERR.DEV.NOFRAME
sec
rts
@ -453,7 +400,7 @@ SEND >PULLW ZPTmpPTR
bra *
lda #ERRNOBUFFER
lda #ERR.DEV.NOBUFFER
sec
rts

View File

@ -1,6 +1,6 @@
PR#3
PREFIX /A2OSX.SRC
NEW
LOMEM $C00
INC 1
AUTO 6
.LIST OFF
@ -10,6 +10,7 @@ AUTO 6
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/LIBTCPIP.I
*--------------------------------------
ZPTmpPTR .EQ ZPDRV
*--------------------------------------
@ -24,8 +25,6 @@ IntStatusQueue .EQ $C088 Interrupt Status Queue
PacketPagePTR .EQ $C08A PacketPage Pointer
PacketPageDATA .EQ $C08C PacketPage Data (DWORD)
*--------------------------------------
* PacketPage Offsets & Masks
*--------------------------------------
PP.ID .EQ $0000 Product ID code (RO)
PP.RFBCNT .EQ $0050 Received Frame Byte Counter (RO)
PP.RxCFG .EQ $0102 Receiver Configuration (RW)
@ -105,10 +104,6 @@ PP.RxLength .EQ $0402
PP.RxFrame .EQ $0404
PP.TxFrame .EQ $0A00
*--------------------------------------
ERRTNOFRAME .EQ 0
ERRNOBUFFER .EQ 1
ERRTIMEOUT .EQ 2
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
@ -153,7 +148,7 @@ Dev.Detect sta hArgs
>LDYA L.MSG.DETECT.KO
>SYSCALL SYS.PSTROutYA
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
lda #DEVMGR.ERRNOHW
sec
rts
@ -179,57 +174,7 @@ Dev.Detect sta hArgs
clc
rts
*--------------------------------------
DecodeMac lda (ZPTmpPTR)
cmp #12
bne .9
ldy #1
ldx #0
.1 lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
asl
asl
asl
asl
sta MAC,x
iny
lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
ora MAC,x
sta MAC,x
inx
iny
cpy #13
bne .1
clc
rts
.9 sec
rts
*--------------------------------------
Asc2NibbleA cmp #$30
bcc .9
cmp #$3A
bcs .1
and #$0F
clc
rts
.1 cmp #$41
bcc .9
cmp #$47
bcs .9
sbc #$36
clc
rts
.9 sec
rts
.INB DRV/X.NET.DRV.S
*--------------------------------------
CS.END
MSG.DETECT >PSTRING "UtherNet/CS8900A Driver.\n"
@ -259,12 +204,6 @@ DRV.CS.START .DA OPEN
L.DEVINFO .DA DEVINFO
.DA 0 end or relocation
*--------------------------------------
* input :
* none
* output :
* CC on success
* CS on error
*--------------------------------------
OPEN jsr Reset
>LDYAI PP.RxCTL
>STYA PacketPagePTR,x
@ -297,19 +236,13 @@ OPEN jsr Reset
clc
rts
*--------------------------------------
* input :
* pEvent
* output :
* CC no event
* CS event
*--------------------------------------
GETEVENT ldx DEVSLOTx0
>LDYAI PP.RxEvent
>STYA PacketPagePTR,x
>LDYA PacketPageDATA,x
and /PP.RxEvent.RxOK+PP.RxEvent.Brdcast+PP.RxEvent.IA
bne GETEVENT.RxOK
lda #ERRTNOFRAME
lda #ERR.DEV.NOFRAME
sec
rts
@ -381,12 +314,6 @@ CLOSE jsr Reset
clc
rts
*--------------------------------------
* in:
* out:
* Y,A = BUFFER PTR
* CC on success
* CS on error
*--------------------------------------
GETINFO lda #S.DEVINFO.NET.STATUS.10
sta LINK.STATUS
@ -414,13 +341,6 @@ GETINFO lda #S.DEVINFO.NET.STATUS.10
clc
rts
*--------------------------------------
* in:
* PULLW = FRAME PTR
* PULLW = FRAME LEN
* out:
* CC on success
* CS on error
*--------------------------------------
SEND >PULLW ZPTmpPTR
lda (ZPTmpPTR)
@ -429,7 +349,7 @@ SEND >PULLW ZPTmpPTR
lda (ZPTmpPTR),y
sta FRAMELEN+1
ldy #2+6+5 Add Src MAC Address
ldy #S.ETH.SRCMAC+5
ldx #5
.10 lda MAC,x
sta (ZPTmpPTR),y
@ -452,18 +372,19 @@ SEND >PULLW ZPTmpPTR
lda PacketPageDATA+1,x
and /PP.BusST.Rdy4TxNOW
bne SENDPREADY
bra *
lda #0
.2 dec
bne .2
dey
bne .1
bra *
lda #ERRTIMEOUT
lda #ERR.DEV.TIMEOUT
sec
rts
.9 bra *
lda #ERRNOBUFFER
.9 lda #ERR.DEV.NOBUFFER
sec
rts
@ -489,8 +410,6 @@ SENDPREADY ldy #2
.8 clc
rts
*--------------------------------------
* PRIVATE
*--------------------------------------
Reset ldx DEVSLOTx0
>LDYAI PP.SelfCTL
>STYA PacketPagePTR,x

View File

@ -68,10 +68,6 @@ RX.BASE .EQ $4000
TX.BASE .EQ $6000
RXTX.MASK .EQ $1FFF
*--------------------------------------
ERRTNOFRAME .EQ 0
ERRNOBUFFER .EQ 1
ERRTIMEOUT .EQ 2
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
@ -153,57 +149,7 @@ Dev.Detect sta hArgs
clc
rts
*--------------------------------------
DecodeMac lda (ZPTmpPTR)
cmp #12
bne .9
ldy #1
ldx #0
.1 lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
asl
asl
asl
asl
sta MAC,x
iny
lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
ora MAC,x
sta MAC,x
inx
iny
cpy #13
bne .1
clc
rts
.9 sec
rts
*--------------------------------------
Asc2NibbleA cmp #$30
bcc .9
cmp #$3A
bcs .1
and #$0F
clc
rts
.1 cmp #$41
bcc .9
cmp #$47
bcs .9
sbc #$36
clc
rts
.9 sec
rts
.INB DRV/X.NET.DRV.S
*--------------------------------------
CS.END
MSG.DETECT >PSTRING "UtherNetII/W5100 Driver.\n"
@ -269,7 +215,7 @@ GETEVENT ldx DEVSLOTx0
ora RXTX.Size+1
bne GETEVENT.RxOK
.9 lda #ERRTNOFRAME
.9 lda #ERR.DEV.NOFRAME
sec
rts
@ -391,7 +337,7 @@ SEND >PULLW ZPTmpPTR
sbc RXTX.Size+1
bcs SEND.READY
lda #ERRNOBUFFER
lda #ERR.DEV.NOBUFFER
sec
rts

61
DRV/X.NET.DRV.S.txt Normal file
View File

@ -0,0 +1,61 @@
PR#3
PREFIX /A2OSX.SRC
LOMEM $C00
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
DecodeMac lda (ZPTmpPTR)
cmp #12
bne .9
ldy #1
ldx #0
.1 lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
asl
asl
asl
asl
sta MAC,x
iny
lda (ZPTmpPTR),y
jsr Asc2NibbleA
bcs .9
ora MAC,x
sta MAC,x
inx
iny
cpy #13
bne .1
clc
rts
.9 sec
rts
*--------------------------------------
Asc2NibbleA cmp #$30
bcc .9
cmp #$3A
bcs .1
and #$0F
clc
rts
.1 cmp #$41
bcc .9
cmp #$47
bcs .9
sbc #$36
clc
rts
.9 sec
rts
*--------------------------------------
MAN
SAVE DRV/X.NET.DRV.S