mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
0.9 : UTHERNET.DRV and related API & INC (wip)
This commit is contained in:
parent
b081d3a3cd
commit
fc27d27564
@ -1,6 +1,6 @@
|
||||
PR#3
|
||||
PREFIX /A2OSX.SRC
|
||||
NEW
|
||||
LOMEM $A00
|
||||
INC 1
|
||||
AUTO 6
|
||||
.LIST OFF
|
||||
@ -14,16 +14,6 @@ AUTO 6
|
||||
.INB /A2OSX.DEV/INC/PRODOS.I
|
||||
*--------------------------------------
|
||||
ZPTmpPTR .EQ ZPDRV
|
||||
*--------------------------------------
|
||||
*S.DEVINFO.NET.FLAGS.ARPOFFLOAD .EQ %00000001
|
||||
*S.DEVINFO.NET.FLAGS.IPOFFLOAD .EQ %00000010
|
||||
*S.DEVINFO.NET.MAC .EQ 2
|
||||
*S.DEVINFO.NET.STATUS .EQ 8
|
||||
*S.DEVINFO.NET.STATUS.OK .EQ $80
|
||||
*S.DEVINFO.NET.STATUS.FD .EQ $40
|
||||
*S.DEVINFO.NET.STATUS.10 .EQ $01
|
||||
*S.DEVINFO.NET.STATUS.100 .EQ $02
|
||||
*S.DEVINFO.NET.STATUS.1000 .EQ $03
|
||||
*--------------------------------------
|
||||
.INB DRV/X.NET.8900A.S
|
||||
*--------------------------------------
|
||||
@ -51,8 +41,18 @@ Dev.Detect >STYA ARGS
|
||||
>LDYA L.MSG.DETECT
|
||||
>SYSCALL CPrintFYA
|
||||
|
||||
ldx #$10
|
||||
.1 >LDYAI PP.ID
|
||||
ldx #$70
|
||||
|
||||
.1 txa IO based detection, avoid scanning in Disk Controller IO!!!!
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
tay
|
||||
lda A2osX.SLOTS,y
|
||||
bne .2
|
||||
|
||||
>LDYAI PP.ID
|
||||
>STYA PacketPagePTR,x
|
||||
>LDYA PacketPageDATA,x
|
||||
cpy #DEVID
|
||||
@ -60,12 +60,11 @@ Dev.Detect >STYA ARGS
|
||||
cmp /DEVID
|
||||
beq .3
|
||||
|
||||
.2 inc DEV.HEADER.NAME+4
|
||||
.2 dec DEV.HEADER.NAME+4
|
||||
txa
|
||||
clc
|
||||
adc #$10
|
||||
sec
|
||||
sbc #$10
|
||||
tax
|
||||
cpx #$80
|
||||
bne .1
|
||||
|
||||
>LDYA L.MSG.DETECT.KO
|
||||
@ -77,6 +76,11 @@ Dev.Detect >STYA ARGS
|
||||
|
||||
.3 stx DEVSLOTx0
|
||||
|
||||
>LDYAI PP.ID+2 Get Revision# of ths chip...
|
||||
>STYA PacketPagePTR,x
|
||||
>LDYA PacketPageDATA,x
|
||||
>STYA DEVSTAT+S.DEVSTAT.VERSION set Hardware version
|
||||
|
||||
>LDYA ARGS
|
||||
>STYA ZPTmpPTR
|
||||
lda (ZPTmpPTR)
|
||||
@ -122,7 +126,7 @@ ARGS .BS 2
|
||||
DEV.HEADER .DA DRV.CS.START
|
||||
.DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ
|
||||
DEV.HEADER.NAME .DA #4
|
||||
.AS "ETHx" NAME
|
||||
.AS "ETH7" NAME
|
||||
*--------------------------------------
|
||||
* Driver Code
|
||||
*--------------------------------------
|
||||
@ -143,7 +147,7 @@ BADCALL lda #MLI.ERR.BADCALL
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
STATUS lda #S.DEVINFO.NET.STATUS.10
|
||||
STATUS lda #S.DEVSTAT.NET.STATUS.10
|
||||
sta LINK.STATUS
|
||||
|
||||
ldx DEVSLOTx0
|
||||
@ -154,7 +158,7 @@ STATUS lda #S.DEVINFO.NET.STATUS.10
|
||||
and #PP.LineST.LinkOK
|
||||
bne .1
|
||||
lda LINK.STATUS
|
||||
ora #S.DEVINFO.NET.STATUS.OK
|
||||
ora #S.DEVSTAT.NET.STATUS.OK
|
||||
sta LINK.STATUS
|
||||
|
||||
.1 >LDYAI PP.TestCTL
|
||||
@ -163,7 +167,7 @@ STATUS lda #S.DEVINFO.NET.STATUS.10
|
||||
and /PP.TestCTL.FDX
|
||||
bne .2
|
||||
lda LINK.STATUS
|
||||
ora #S.DEVINFO.NET.STATUS.FD
|
||||
ora #S.DEVSTAT.NET.STATUS.FD
|
||||
sta LINK.STATUS
|
||||
|
||||
.2 >LDYA L.DEVSTAT
|
||||
@ -368,9 +372,17 @@ DRV.CS.END
|
||||
DEVSLOTx0 .BS 1
|
||||
Size .BS 2
|
||||
Counter .BS 2
|
||||
DEVSTAT .BS S.DEVSTAT
|
||||
MAC .BS 6
|
||||
DEVSTAT .DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ
|
||||
.BS 3 size
|
||||
>PSTR "Uthernet/CS8900A"
|
||||
.DA #S.DEVSTAT.TYPE.NET
|
||||
*--------------------------------------
|
||||
.BS 1 Subtype
|
||||
.BS 2 Version
|
||||
*--------------------------------------
|
||||
FLAGS .DA 0
|
||||
LINK.STATUS .BS 1 OK/DUPLEX/SPEED
|
||||
MAC .BS 6
|
||||
MAN
|
||||
SAVE DRV/UTHERNET.DRV.S
|
||||
ASM
|
||||
|
@ -432,28 +432,41 @@ S.DEVSTAT.S.OPENED .EQ %00000001
|
||||
S.DEVSTAT.SIZE .EQ 1 3 bytes
|
||||
S.DEVSTAT.IDSTRING .EQ 4 1 (LEN) + 16 MAX
|
||||
S.DEVSTAT.TYPE .EQ 21
|
||||
* $00: Memory Expansion Card (RAM disk)
|
||||
* $01: 3.5" disk
|
||||
* $02: ProFile-type hard disk
|
||||
* $03: Generic SCSI
|
||||
* $04: ROM disk
|
||||
* $05: SCSI CD-ROM
|
||||
* $06: SCSI tape or other SCSI sequential device
|
||||
* $07: SCSI hard disk
|
||||
* $08: Reserved
|
||||
* $09: SCSI printer
|
||||
* $0A: 5-1/4" disk
|
||||
* $0B: Reserved
|
||||
* $0C: Reserved
|
||||
* $0D: Printer
|
||||
* $0E: Clock
|
||||
* $0F: Modem
|
||||
S.DEVSTAT.TYPE.RAM .EQ $00 Memory Expansion Card (RAM disk)
|
||||
S.DEVSTAT.TYPE.3.5 .EQ $01 3.5" disk
|
||||
S.DEVSTAT.TYPE.PROFILE .EQ $02 ProFile-type hard disk
|
||||
S.DEVSTAT.TYPE.GENSCSI .EQ $03 Generic SCSI
|
||||
S.DEVSTAT.TYPE.ROM .EQ $04 ROM disk
|
||||
S.DEVSTAT.TYPE.CDROM .EQ $05 SCSI CD-ROM
|
||||
S.DEVSTAT.TYPE.TAPE .EQ $06 SCSI tape or other SCSI sequential device
|
||||
S.DEVSTAT.TYPE.HD .EQ $07 SCSI hard disk
|
||||
* .EQ $08 Reserved
|
||||
S.DEVSTAT.TYPE.SPRINTER .EQ $09 SCSI printer
|
||||
S.DEVSTAT.TYPE.5.25 .EQ $0A 5-1/4" disk
|
||||
* .EQ $0B Reserved
|
||||
* .EQ $0C Reserved
|
||||
S.DEVSTAT.TYPE.PRINTER .EQ $0D Printer
|
||||
S.DEVSTAT.TYPE.CLOCK .EQ $0E Clock
|
||||
S.DEVSTAT.TYPE.MODEM .EQ $0F Modem
|
||||
S.DEVSTAT.TYPE.NET .EQ $10 Network board
|
||||
S.DEVSTAT.SUBTYPE .EQ 22
|
||||
S.DEVSTAT.SUBTYPE.EXT .EQ $80
|
||||
S.DEVSTAT.SUBTYPE.DSKSW .EQ $40
|
||||
S.DEVSTAT.SUBTYPE.NOREM .EQ $20
|
||||
S.DEVSTAT.VERSION .EQ 23
|
||||
S.DEVSTAT .EQ 25
|
||||
S.DEVSTAT .EQ 25
|
||||
*--------------------------------------
|
||||
S.DEVSTAT.NET.FLAGS .EQ 25
|
||||
S.DEVSTAT.NET.FLAGS.ARPOFFLOAD .EQ %00000001
|
||||
S.DEVSTAT.NET.FLAGS.IPOFFLOAD .EQ %00000010
|
||||
S.DEVSTAT.NET.STATUS .EQ 26
|
||||
S.DEVSTAT.NET.STATUS.OK .EQ $80
|
||||
S.DEVSTAT.NET.STATUS.FD .EQ $40
|
||||
S.DEVSTAT.NET.STATUS.10 .EQ $01
|
||||
S.DEVSTAT.NET.STATUS.100 .EQ $02
|
||||
S.DEVSTAT.NET.STATUS.1000 .EQ $03
|
||||
S.DEVSTAT.NET.MAC .EQ 27
|
||||
S.DEVSTAT.NET .EQ 33
|
||||
*--------------------------------------
|
||||
* PS STRUCT
|
||||
*--------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user