mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-13 21:29:33 +00:00
Kernel version 0.9 : Many bugfix in NIC drivers, ATLK massages at load time to help debugging
This commit is contained in:
parent
1a57cc4352
commit
9e853cd049
@ -16,9 +16,9 @@ STARTPROC GETTY COM2 ${A2OSX}SBIN/LOGIN
|
|||||||
#INSDRV PIC.DRV
|
#INSDRV PIC.DRV
|
||||||
# Network Section
|
# Network Section
|
||||||
INSDRV UTHERNET.DRV 000E3A123456
|
INSDRV UTHERNET.DRV 000E3A123456
|
||||||
#INSDRV UTHERNET2.DRV 0008DC123456
|
INSDRV UTHERNET2.DRV 0008DC123456
|
||||||
#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
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.BUILD
|
PREFIX /A2OSX.BUILD
|
||||||
NEW
|
LOMEM $A00
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
@ -10,11 +10,12 @@ AUTO 6
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB /A2OSX.BUILD/INC/MACROS.I
|
.INB /A2OSX.BUILD/INC/MACROS.I
|
||||||
.INB /A2OSX.BUILD/INC/A2OSX.I
|
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||||||
|
.INB /A2OSX.BUILD/INC/MLI.ERR.I
|
||||||
|
.INB /A2OSX.BUILD/INC/NET.I
|
||||||
|
.INB /A2OSX.BUILD/INC/NET.91C96.I
|
||||||
.INB /A2OSX.BUILD/INC/LIBTCPIP.I
|
.INB /A2OSX.BUILD/INC/LIBTCPIP.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPTmpPTR .EQ ZPDRV
|
ZPTmpPTR .EQ ZPDRV
|
||||||
*--------------------------------------
|
|
||||||
.INB DRV/X.NET.91C96.S
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -40,27 +41,46 @@ Dev.Detect >STYA Args
|
|||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL CPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
ldx #$10
|
ldx #$70
|
||||||
.1 lda L91C96.BSR+1,x
|
|
||||||
|
.1 txa IO based detection, avoid scanning in Disk Controller IO!!!!
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda A2osX.SLOTS,y
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
lda L91C96.BSR+1,x
|
||||||
cmp #DEVID
|
cmp #DEVID
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
inc DEV.HEADER.NAME+4
|
.2 dec DEV.HEADER.NAME+4
|
||||||
txa
|
txa
|
||||||
clc
|
sec
|
||||||
adc #$10
|
sbc #$10
|
||||||
tax
|
tax
|
||||||
bpl .1 not yat at $80
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL CPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
lda #DEVMGR.ERRNOHW Not Found in any slot, exiting
|
lda #MLI.ERR.NODEV
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 stx DEVSLOTx0
|
.3 stx DEVSLOTx0
|
||||||
|
txa
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
tay
|
||||||
|
lda #A2osX.SLOTS.NET
|
||||||
|
sta A2osX.SLOTS,y
|
||||||
|
|
||||||
>LDYA ARGS
|
>LDYA ARGS
|
||||||
>STYA ZPTmpPTR
|
>STYA ZPTmpPTR
|
||||||
lda (ZPTmpPTR)
|
lda (ZPTmpPTR)
|
||||||
@ -82,108 +102,79 @@ Dev.Detect >STYA Args
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB DRV/X.NET.DRV.S
|
.INB /A2OSX.SRC/DRV/X.NET.DRV.S
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
MSG.DETECT >CSTR "LanCeGS/SMSC91C96 Driver.\n"
|
MSG.DETECT >CSTR "LanCeGS/SMSC91C96 Driver.\r\n"
|
||||||
MSG.DETECT.OK >CSTR "LanCeGS/SMSC91C96 Installed As Device : %S\n"
|
MSG.DETECT.OK >CSTR "LanCeGS/SMSC91C96 Installed As Device : %S\r\n"
|
||||||
MSG.DETECT.KO >CSTR "Hardware Not Found.\n"
|
MSG.DETECT.KO >CSTR "Hardware Not Found.\r\n"
|
||||||
Args .BS 2
|
Args .BS 2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* Device Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.HEADER cld
|
DEV.HEADER cld
|
||||||
jmp (DRV.CS.START,x)
|
jmp (DRV.CS.START,x)
|
||||||
.DA #S.DEV.F.SHARE+S.DEV.F.EVENT
|
.DA #0
|
||||||
DEV.HEADER.NAME >PSTR "ETH1" NAME
|
.BS 6
|
||||||
.HS 00.00
|
DEV.HEADER.NAME >PSTR "ETH7"
|
||||||
.HS 00.00.00.00
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.START .DA OPEN
|
DRV.CS.START .DA STATUS
|
||||||
.DA GETEVENT
|
.DA READBLOCK
|
||||||
.DA $FFFF no COUT
|
.DA WRITEBLOCK
|
||||||
|
.DA BADCALL
|
||||||
|
.DA BADCALL
|
||||||
|
.DA BADCALL
|
||||||
|
.DA OPEN
|
||||||
.DA CLOSE
|
.DA CLOSE
|
||||||
.DA GETINFO
|
.DA BADCALL
|
||||||
.DA $FFFF no IRQ
|
.DA BADCALL
|
||||||
.DA SEND
|
L.DEVSTAT .DA DEVSTAT
|
||||||
.DA $FFFF no SETIPCFG
|
|
||||||
L.DEVINFO .DA DEVINFO
|
|
||||||
.DA 0 end or relocation
|
.DA 0 end or relocation
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* input :
|
BADCALL lda #MLI.ERR.BADCALL
|
||||||
* none
|
sec
|
||||||
* output :
|
rts
|
||||||
* CC on success
|
*--------------------------------------
|
||||||
* CS on error
|
STATUS lda #S.DEVSTAT.NET.STATUS.10
|
||||||
*--------------------------------------
|
sta LINK.STATUS
|
||||||
OPEN jsr Reset will select L91C96.0
|
|
||||||
|
|
||||||
lda #L91C96.0.TCR.FDSE+L91C96.0.TCR.FUDPLX+L91C96.0.TCR.PADEN+L91C96.0.TCR.TXENA
|
ldx DEVSLOTx0
|
||||||
sta L91C96.0.TCR,x
|
|
||||||
lda /L91C96.0.TCR.FDSE+L91C96.0.TCR.FUDPLX+L91C96.0.TCR.PADEN+L91C96.0.TCR.TXENA
|
|
||||||
sta L91C96.0.TCR+1,x
|
|
||||||
|
|
||||||
lda #L91C96.0.RCR.NOCRC+L91C96.0.RCR.RXENA+L91C96.0.RCR.ALLMUL
|
|
||||||
sta L91C96.0.RCR,x
|
|
||||||
lda /L91C96.0.RCR.NOCRC+L91C96.0.RCR.RXENA+L91C96.0.RCR.ALLMUL
|
|
||||||
sta L91C96.0.RCR+1,x
|
|
||||||
|
|
||||||
lda #1
|
|
||||||
sta L91C96.BSR,x
|
|
||||||
|
|
||||||
lda #L91C96.1.CR.NOWAIT
|
|
||||||
sta L91C96.1.CR,x
|
|
||||||
lda /L91C96.1.CR.NOWAIT
|
|
||||||
sta L91C96.1.CR+1,x
|
|
||||||
|
|
||||||
ldy #0
|
stz L91C96.BSR,x
|
||||||
bit USERMAC
|
lda L91C96.0.EPHSR,x
|
||||||
bmi .2
|
lda L91C96.0.EPHSR+1,x
|
||||||
|
and /L91C96.0.EPHSR.LINK
|
||||||
|
beq .1
|
||||||
|
lda LINK.STATUS
|
||||||
|
ora #S.DEVSTAT.NET.STATUS.OK
|
||||||
|
sta LINK.STATUS
|
||||||
|
|
||||||
.1 lda L91C96.1.IAR,x
|
.1 lda L91C96.0.TCR,x
|
||||||
sta MAC,y
|
lda L91C96.0.TCR+1,x
|
||||||
inx
|
and /L91C96.0.TCR.FDSE
|
||||||
iny
|
|
||||||
cpy #6
|
|
||||||
bne .1
|
|
||||||
bra .3
|
|
||||||
|
|
||||||
.2 lda MAC,y
|
|
||||||
sta L91C96.1.IAR,x
|
|
||||||
inx
|
|
||||||
iny
|
|
||||||
cpy #6
|
|
||||||
bne .2
|
bne .2
|
||||||
|
lda LINK.STATUS
|
||||||
|
ora #S.DEVSTAT.NET.STATUS.FD
|
||||||
|
sta LINK.STATUS
|
||||||
|
|
||||||
.3 ldx DEVSLOTx0
|
.2 >LDYA L.DEVSTAT
|
||||||
lda #L91C96.1.CTR.DEFAULT+L91C96.1.CTR.AUTOREL
|
|
||||||
sta L91C96.1.CTR,x
|
|
||||||
lda /L91C96.1.CTR.DEFAULT+L91C96.1.CTR.AUTOREL
|
|
||||||
sta L91C96.1.CTR+1,x
|
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* input :
|
READBLOCK ldx DEVSLOTx0
|
||||||
* pEvent
|
|
||||||
* output :
|
|
||||||
* CC no event
|
|
||||||
* CS event
|
|
||||||
*--------------------------------------
|
|
||||||
GETEVENT ldx DEVSLOTx0
|
|
||||||
lda #2
|
lda #2
|
||||||
sta L91C96.BSR,x
|
sta L91C96.BSR,x
|
||||||
|
|
||||||
lda L91C96.2.IST,x
|
lda L91C96.2.IST,x
|
||||||
and #L91C96.2.IST.RCV
|
and #L91C96.2.IST.RCV
|
||||||
bne GETEVENT.RxOK
|
bne READBLOCK.RxOK
|
||||||
lda #ERR.DEV.NOFRAME
|
lda #ERR.DEV.NOFRAME
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
GETEVENT.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
READBLOCK.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
||||||
sta L91C96.2.PTR,x
|
sta L91C96.2.PTR,x
|
||||||
lda /L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
lda /L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
||||||
sta L91C96.2.PTR+1,x
|
sta L91C96.2.PTR+1,x
|
||||||
@ -191,10 +182,7 @@ GETEVENT.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
|||||||
lda L91C96.2.DATA,x Get Frame Status Word (lo)
|
lda L91C96.2.DATA,x Get Frame Status Word (lo)
|
||||||
lda L91C96.2.DATA,x Get Frame Status Word (HI)
|
lda L91C96.2.DATA,x Get Frame Status Word (HI)
|
||||||
|
|
||||||
asl #$60 = Broadcast?
|
asl
|
||||||
ldy #S.EVT.DATAHI
|
|
||||||
sta (pEvent),y
|
|
||||||
|
|
||||||
asl
|
asl
|
||||||
asl #$10 = odd?
|
asl #$10 = odd?
|
||||||
asl if odd, CS
|
asl if odd, CS
|
||||||
@ -209,21 +197,20 @@ GETEVENT.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
|||||||
|
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
inc
|
inc
|
||||||
.1 iny
|
.1 iny
|
||||||
bne .11
|
bne .11
|
||||||
|
|
||||||
inc
|
inc
|
||||||
.11 >PUSHYA FRAMLEN+2
|
.11 >PUSHYA FRAMLEN+2
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
>STYA ZPTmpPTR
|
>STYA ZPTmpPTR
|
||||||
txa
|
stx .8+1
|
||||||
ldy #S.EVT.DATALO
|
sty .8+3
|
||||||
sta (pEvent),y
|
sta .8+5
|
||||||
|
|
||||||
lda #S.EVT.F.NET+S.EVT.F.hMEM1
|
|
||||||
sta (pEvent)
|
|
||||||
|
|
||||||
lda FRAMELEN
|
lda FRAMELEN
|
||||||
sta (ZPTmpPTR)
|
sta (ZPTmpPTR)
|
||||||
@ -236,14 +223,14 @@ GETEVENT.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
|||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
|
|
||||||
.2 jsr DecFrameLen
|
.2 jsr DecFrameLen
|
||||||
beq .8
|
beq .4
|
||||||
lda L91C96.2.DATA,x
|
lda L91C96.2.DATA,x
|
||||||
sta (ZPTmpPTR),y
|
sta (ZPTmpPTR),y
|
||||||
iny
|
iny
|
||||||
bne .3
|
bne .3
|
||||||
inc ZPTmpPTR+1
|
inc ZPTmpPTR+1
|
||||||
.3 jsr DecFrameLen
|
.3 jsr DecFrameLen
|
||||||
beq .8
|
beq .4
|
||||||
lda L91C96.2.DATA,x
|
lda L91C96.2.DATA,x
|
||||||
sta (ZPTmpPTR),y
|
sta (ZPTmpPTR),y
|
||||||
iny
|
iny
|
||||||
@ -251,58 +238,16 @@ GETEVENT.RxOK lda #L91C96.2.PTR.RCVD+L91C96.2.PTR.AUTOI+L91C96.2.PTR.READ
|
|||||||
inc ZPTmpPTR+1
|
inc ZPTmpPTR+1
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.8 lda #L91C96.2.MMUCR.REMREL
|
.4 lda #L91C96.2.MMUCR.REMREL
|
||||||
sta L91C96.2.MMUCR,x
|
sta L91C96.2.MMUCR,x
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.99 sec
|
.8 ldx #$ff hMem
|
||||||
rts
|
ldy #$ff PtrLO
|
||||||
*--------------------------------------
|
lda #$ff PtrHI
|
||||||
CLOSE jsr Reset
|
|
||||||
clc
|
clc
|
||||||
rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* in:
|
WRITEBLOCK >STYA ZPTmpPTR
|
||||||
* out:
|
|
||||||
* Y,A = BUFFER PTR
|
|
||||||
* CC on success
|
|
||||||
* CS on error
|
|
||||||
*--------------------------------------
|
|
||||||
GETINFO lda #S.DEVINFO.NET.STATUS.10
|
|
||||||
sta LINK.STATUS
|
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
|
||||||
|
|
||||||
stz L91C96.BSR,x
|
|
||||||
lda L91C96.0.EPHSR,x
|
|
||||||
lda L91C96.0.EPHSR+1,x
|
|
||||||
and /L91C96.0.EPHSR.LINK
|
|
||||||
beq .1
|
|
||||||
lda LINK.STATUS
|
|
||||||
ora #S.DEVINFO.NET.STATUS.OK
|
|
||||||
sta LINK.STATUS
|
|
||||||
|
|
||||||
.1 lda L91C96.0.TCR,x
|
|
||||||
lda L91C96.0.TCR+1,x
|
|
||||||
and /L91C96.0.TCR.FDSE
|
|
||||||
bne .2
|
|
||||||
lda LINK.STATUS
|
|
||||||
ora #S.DEVINFO.NET.STATUS.FD
|
|
||||||
sta LINK.STATUS
|
|
||||||
|
|
||||||
.2 >LDYA L.DEVINFO
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
* in:
|
|
||||||
* PULLW = FRAME PTR
|
|
||||||
* PULLW = FRAME LEN
|
|
||||||
* out:
|
|
||||||
* CC on success
|
|
||||||
* CS on error
|
|
||||||
*--------------------------------------
|
|
||||||
SEND >PULLW ZPTmpPTR
|
|
||||||
|
|
||||||
ldx DEVSLOTx0
|
ldx DEVSLOTx0
|
||||||
lda #2
|
lda #2
|
||||||
@ -406,9 +351,55 @@ SEND >PULLW ZPTmpPTR
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* PRIVATE
|
OPEN jsr CLOSE
|
||||||
|
|
||||||
|
lda #L91C96.0.TCR.FDSE+L91C96.0.TCR.FUDPLX+L91C96.0.TCR.PADEN+L91C96.0.TCR.TXENA
|
||||||
|
sta L91C96.0.TCR,x
|
||||||
|
lda /L91C96.0.TCR.FDSE+L91C96.0.TCR.FUDPLX+L91C96.0.TCR.PADEN+L91C96.0.TCR.TXENA
|
||||||
|
sta L91C96.0.TCR+1,x
|
||||||
|
|
||||||
|
lda #L91C96.0.RCR.NOCRC+L91C96.0.RCR.RXENA+L91C96.0.RCR.ALLMUL
|
||||||
|
sta L91C96.0.RCR,x
|
||||||
|
lda /L91C96.0.RCR.NOCRC+L91C96.0.RCR.RXENA+L91C96.0.RCR.ALLMUL
|
||||||
|
sta L91C96.0.RCR+1,x
|
||||||
|
|
||||||
|
lda #1
|
||||||
|
sta L91C96.BSR,x
|
||||||
|
|
||||||
|
lda #L91C96.1.CR.NOWAIT
|
||||||
|
sta L91C96.1.CR,x
|
||||||
|
lda /L91C96.1.CR.NOWAIT
|
||||||
|
sta L91C96.1.CR+1,x
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
bit USERMAC
|
||||||
|
bmi .2
|
||||||
|
|
||||||
|
.1 lda L91C96.1.IAR,x
|
||||||
|
sta MAC,y
|
||||||
|
inx
|
||||||
|
iny
|
||||||
|
cpy #6
|
||||||
|
bne .1
|
||||||
|
bra .3
|
||||||
|
|
||||||
|
.2 lda MAC,y
|
||||||
|
sta L91C96.1.IAR,x
|
||||||
|
inx
|
||||||
|
iny
|
||||||
|
cpy #6
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
.3 ldx DEVSLOTx0
|
||||||
|
lda #L91C96.1.CTR.DEFAULT+L91C96.1.CTR.AUTOREL
|
||||||
|
sta L91C96.1.CTR,x
|
||||||
|
lda /L91C96.1.CTR.DEFAULT+L91C96.1.CTR.AUTOREL
|
||||||
|
sta L91C96.1.CTR+1,x
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Reset ldx DEVSLOTx0
|
CLOSE ldx DEVSLOTx0
|
||||||
stz L91C96.BSR,x
|
stz L91C96.BSR,x
|
||||||
|
|
||||||
lda #L91C96.0.RCR.RESET
|
lda #L91C96.0.RCR.RESET
|
||||||
@ -426,6 +417,8 @@ Reset ldx DEVSLOTx0
|
|||||||
|
|
||||||
stz L91C96.0.RCR,x
|
stz L91C96.0.RCR,x
|
||||||
stz L91C96.0.RCR+1,x
|
stz L91C96.0.RCR+1,x
|
||||||
|
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DecFrameLen lda FRAMELEN
|
DecFrameLen lda FRAMELEN
|
||||||
@ -438,16 +431,22 @@ DecFrameLen lda FRAMELEN
|
|||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.CS.END
|
DRV.CS.END
|
||||||
*--------------------------------------
|
|
||||||
DEVSLOTx0 .BS 1
|
DEVSLOTx0 .BS 1
|
||||||
USERMAC .BS 1
|
USERMAC .BS 1
|
||||||
FRAMELEN .BS 2
|
FRAMELEN .BS 2
|
||||||
|
*--------------------------------------
|
||||||
|
DEVSTAT .DA #0
|
||||||
|
.BS 3 size
|
||||||
|
>PSTR "LanCEGS/L91C96"
|
||||||
|
.BS 1
|
||||||
|
.DA #S.DEVSTAT.TYPE.NET
|
||||||
|
.BS 1 Subtype
|
||||||
|
.BS 2 Version
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEVINFO .DA #S.DEVINFO.TYPE.NET
|
FLAGS .DA #0
|
||||||
DEVFLAGS .DA #0
|
|
||||||
MAC .BS 6
|
|
||||||
LINK.STATUS .BS 1 OK/DUPLEX/SPEED
|
LINK.STATUS .BS 1 OK/DUPLEX/SPEED
|
||||||
|
MAC .BS 6
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE DRV/LANCEGS.DRV.S
|
SAVE /A2OSX.SRC/DRV/LANCEGS.DRV.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -36,7 +36,7 @@ L.DEV.HEADER.NAME .DA DEV.HEADER.NAME
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Dev.Detect >STYA ARGS
|
Dev.Detect >STYA ARGS
|
||||||
>LDYA L.MSG.DETECT
|
>LDYA L.MSG.DETECT
|
||||||
>SYSCALL PPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
stz ZPTmpPtr1
|
stz ZPTmpPtr1
|
||||||
lda #$C1
|
lda #$C1
|
||||||
@ -63,7 +63,7 @@ Dev.Detect >STYA ARGS
|
|||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>LDYA L.MSG.DETECT.KO
|
>LDYA L.MSG.DETECT.KO
|
||||||
>SYSCALL PPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
|
|
||||||
lda #MLI.ERR.NODEV Not Found in any slot, exiting
|
lda #MLI.ERR.NODEV Not Found in any slot, exiting
|
||||||
sec
|
sec
|
||||||
@ -86,7 +86,7 @@ Dev.Detect >STYA ARGS
|
|||||||
|
|
||||||
>PUSHW L.DEV.HEADER.NAME
|
>PUSHW L.DEV.HEADER.NAME
|
||||||
>LDYA L.MSG.DETECT.OK
|
>LDYA L.MSG.DETECT.OK
|
||||||
>SYSCALL PPrintFYA
|
>SYSCALL CPrintFYA
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -94,9 +94,9 @@ CS.END
|
|||||||
DEVSIG.Offset .HS 0507
|
DEVSIG.Offset .HS 0507
|
||||||
DEVSIG.Value .HS 4848
|
DEVSIG.Value .HS 4848
|
||||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||||
MSG.DETECT >CSTR "Apple PIC (Parallel Interface Card).\n"
|
MSG.DETECT >CSTR "Apple PIC (Parallel Interface Card).\r\n"
|
||||||
MSG.DETECT.OK >CSTR "PIC Installed As Device : %S\n"
|
MSG.DETECT.OK >CSTR "PIC Installed As Device : %S\r\n"
|
||||||
MSG.DETECT.KO >CSTR "No PIC Found.\n"
|
MSG.DETECT.KO >CSTR "No PIC Found.\r\n"
|
||||||
ARGS .BS 2
|
ARGS .BS 2
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Device Header (16 Bytes)
|
* Device Header (16 Bytes)
|
||||||
|
@ -75,7 +75,7 @@ Dev.Detect >STYA Args
|
|||||||
cmp #W5100.MR.AI+W5100.MR.IND
|
cmp #W5100.MR.AI+W5100.MR.IND
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
>AR.SELECT RTR Double Check with RTR default value...
|
>AR.SELECT RTR
|
||||||
|
|
||||||
lda W5100.DR,x Get RTR HI
|
lda W5100.DR,x Get RTR HI
|
||||||
cmp /2000
|
cmp /2000
|
||||||
@ -299,7 +299,7 @@ READBLOCK.RxOK >AR.SELECT S0.RX.RD
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WRITEBLOCK >PULLW ZPTmpPTR
|
WRITEBLOCK >STYA ZPTmpPTR
|
||||||
|
|
||||||
lda (ZPTmpPTR)
|
lda (ZPTmpPTR)
|
||||||
sec
|
sec
|
||||||
@ -383,6 +383,8 @@ WRITEBLOCK.1 >AR.SELECT S0.DIPR
|
|||||||
|
|
||||||
lda Offset+1
|
lda Offset+1
|
||||||
adc RXTX.Size+1
|
adc RXTX.Size+1
|
||||||
|
and /RXTX.MASK
|
||||||
|
ora /TX.BASE
|
||||||
sta W5100.DR,x write HI
|
sta W5100.DR,x write HI
|
||||||
pla
|
pla
|
||||||
sta W5100.DR,x write LO
|
sta W5100.DR,x write LO
|
||||||
@ -507,11 +509,9 @@ DEVSTAT .DA #0
|
|||||||
.DA #S.DEVSTAT.TYPE.NET
|
.DA #S.DEVSTAT.TYPE.NET
|
||||||
.BS 1 Subtype
|
.BS 1 Subtype
|
||||||
.BS 2 Version
|
.BS 2 Version
|
||||||
*--------------------------------------
|
|
||||||
FLAGS .DA #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD+S.DEVSTAT.NET.FLAGS.IPOFFLOAD
|
FLAGS .DA #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD+S.DEVSTAT.NET.FLAGS.IPOFFLOAD
|
||||||
LINK.STATUS .DA #S.DEVSTAT.NET.STATUS.OK+S.DEVSTAT.NET.STATUS.FD+S.DEVSTAT.NET.STATUS.100
|
LINK.STATUS .DA #S.DEVSTAT.NET.STATUS.OK+S.DEVSTAT.NET.STATUS.FD+S.DEVSTAT.NET.STATUS.100
|
||||||
MAC .BS 6
|
MAC .BS 6
|
||||||
*--------------------------------------
|
|
||||||
MAN
|
MAN
|
||||||
SAVE /A2OSX.SRC/DRV/UTHER2.AI.DRV.S
|
SAVE /A2OSX.SRC/DRV/UTHER2.AI.DRV.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -74,7 +74,7 @@ Dev.Detect >STYA Args
|
|||||||
cmp #W5100.MR.AI+W5100.MR.IND
|
cmp #W5100.MR.AI+W5100.MR.IND
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
>AR.SELECT RTR Double Check with RTR default value...
|
>AR.SELECT RTR
|
||||||
|
|
||||||
lda W5100.DR,x Get RTR HI
|
lda W5100.DR,x Get RTR HI
|
||||||
cmp /2000
|
cmp /2000
|
||||||
@ -153,7 +153,7 @@ DEV.HEADER cld
|
|||||||
jmp (DRV.CS.START,x)
|
jmp (DRV.CS.START,x)
|
||||||
.DA #0
|
.DA #0
|
||||||
.BS 6
|
.BS 6
|
||||||
DEV.HEADER.NAME >PSTR "ETH7" NAME
|
DEV.HEADER.NAME >PSTR "ETH7"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Driver Code
|
* Driver Code
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -187,7 +187,7 @@ READBLOCK ldx DEVSLOTx0
|
|||||||
|
|
||||||
lda #ERR.DEV.NOFRAME
|
lda #ERR.DEV.NOFRAME
|
||||||
|
|
||||||
READBLOCK.Err sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
READBLOCK.RxOK >AR.SELECT S0.RX.RD
|
READBLOCK.RxOK >AR.SELECT S0.RX.RD
|
||||||
@ -217,7 +217,7 @@ READBLOCK.RxOK >AR.SELECT S0.RX.RD
|
|||||||
* >PUSHYA Already pushed....
|
* >PUSHYA Already pushed....
|
||||||
>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
|
||||||
@ -274,9 +274,9 @@ READBLOCK.RxOK >AR.SELECT S0.RX.RD
|
|||||||
ldy #$ff PtrLO
|
ldy #$ff PtrLO
|
||||||
lda #$ff PtrHI
|
lda #$ff PtrHI
|
||||||
clc
|
clc
|
||||||
rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WRITEBLOCK >PULLW ZPTmpPTR
|
WRITEBLOCK >STYA ZPTmpPTR
|
||||||
|
|
||||||
lda (ZPTmpPTR)
|
lda (ZPTmpPTR)
|
||||||
sta RXTX.Size
|
sta RXTX.Size
|
||||||
@ -347,8 +347,8 @@ WRITEBLOCK.1 ldy #S.ETH.SRCMAC+5
|
|||||||
|
|
||||||
lda Offset+1
|
lda Offset+1
|
||||||
adc RXTX.Size+1
|
adc RXTX.Size+1
|
||||||
* and /RXTX.MASK
|
and /RXTX.MASK
|
||||||
* ora /TX.BASE
|
ora /TX.BASE
|
||||||
sta W5100.DR,x write HI
|
sta W5100.DR,x write HI
|
||||||
pla
|
pla
|
||||||
sta W5100.DR,x write LO
|
sta W5100.DR,x write LO
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -81,7 +81,7 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
|
|||||||
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9 |
|
| LOGIN | In Progress | no auth using /etc/passd yet | 0.9 |
|
||||||
| SHELL | Working | (See Internal Shell commands) | 0.9 |
|
| SHELL | Working | (See Internal Shell commands) | 0.9 |
|
||||||
| KCONFIG | Working | Kernel Configuration Utility | 0.9 |
|
| KCONFIG | Working | Kernel Configuration Utility | 0.9 |
|
||||||
| ---- | ------ | ------- | -----:|
|
| ---- | ------ | ------- | ----- |
|
||||||
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
|
||||||
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
|
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
|
||||||
| TELNETD | In Progress | | 0.9 |
|
| TELNETD | In Progress | | 0.9 |
|
||||||
@ -126,14 +126,14 @@ note : '$VAR' does NOT expand Variable
|
|||||||
| Console.DRV | Working | ANSI support in Progress. | 0.9 |
|
| Console.DRV | Working | ANSI support in Progress. | 0.9 |
|
||||||
| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9 |
|
| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9 |
|
||||||
| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9 |
|
| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9 |
|
||||||
| PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.8 |
|
| PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 |
|
||||||
| Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9 |
|
| Mouse.DRV | Working | Apple Mouse Card,//c Mouse Port | 0.9 |
|
||||||
| DHGR.DRV | In Progress | except bitblt... | 0.8 |
|
| DHGR.DRV | In Progress | except bitblt... | 0.8 |
|
||||||
| ---- | ------ | ------- | ----- |
|
| ---- | ------ | ------- | ----- |
|
||||||
|
| LanCeGS.DRV | Working | | 0.9 |
|
||||||
| Uthernet.DRV | Working | | 0.9 |
|
| Uthernet.DRV | Working | | 0.9 |
|
||||||
| Uthernet2.DRV | Working | | 0.9 |
|
| Uthernet2.DRV | Working | | 0.9 |
|
||||||
| Uther2.AI.DRV | In Progress | With ARP/IP Offloading | 0.8 |
|
| Uther2.AI.DRV | In Progress | With ARP/IP Offloading | 0.9 |
|
||||||
| LanCeGS.DRV | Working | | 0.8 |
|
|
||||||
|
|
||||||
## BIN,External Shell commands:
|
## BIN,External Shell commands:
|
||||||
| Name | Status | Comment | K.Ver |
|
| Name | Status | Comment | K.Ver |
|
||||||
|
@ -78,12 +78,18 @@ AT.INIT >LDAXI MSG.INIT
|
|||||||
bmi .5
|
bmi .5
|
||||||
|
|
||||||
>STYA MLI+1
|
>STYA MLI+1
|
||||||
|
|
||||||
|
>LDAXI MSG.ATINIT
|
||||||
|
jsr PrintCStrAX
|
||||||
|
|
||||||
.5 jsr GO.WSCARD
|
.5 jsr GO.WSCARD
|
||||||
.DA #MLIATALK
|
.DA #MLIATALK
|
||||||
.DA MLIATALK.PARAMS
|
.DA MLIATALK.PARAMS
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>LDAXI MSG.PRODOS
|
||||||
|
jsr PrintCStrAX
|
||||||
|
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLIALLOCIRQ
|
.DA #MLIALLOCIRQ
|
||||||
.DA MLIALLOCIRQ.PARAMS
|
.DA MLIALLOCIRQ.PARAMS
|
||||||
@ -116,9 +122,11 @@ GO.OLDMLI jmp $ffff
|
|||||||
.INB /A2OSX.SRC/X.PRINTF.S
|
.INB /A2OSX.SRC/X.PRINTF.S
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.INIT >CSTR "AppleTalk Driver For A2osX\n"
|
MSG.INIT >CSTR "AppleTalk Driver For A2osX\n"
|
||||||
|
MSG.FAILED >CSTR "AppleTalk Workstation Card Failed Power Up Diagnostics : EC=%h.\n"
|
||||||
MSG.NOHW >CSTR "AppleTalk Workstation Card Not Found.\n"
|
MSG.NOHW >CSTR "AppleTalk Workstation Card Not Found.\n"
|
||||||
MSG.HWOK >CSTR "AppleTalk Workstation Card Type #%d Found In Slot #%d.\n"
|
MSG.HWOK >CSTR "AppleTalk Workstation Card Type #%d Found In Slot #%d.\n"
|
||||||
MSG.FAILED >CSTR "AppleTalk Workstation Card Failed Power Up Diagnostics : EC=%h.\n"
|
MSG.ATINIT >CSTR "Calling ATINIT..."
|
||||||
|
MSG.PRODOS >CSTR "Registering Into ProDOS..."
|
||||||
MSG.OK >CSTR "AppleTalk Driver Successfully Installed.\n"
|
MSG.OK >CSTR "AppleTalk Driver Successfully Installed.\n"
|
||||||
MSG.KO >CSTR "AppleTalk Driver Install Failed : EC=%h.\n"
|
MSG.KO >CSTR "AppleTalk Driver Install Failed : EC=%h.\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user