Updated Medias & sources (before TCPIP Rewrite)

This commit is contained in:
Rémy GIBERT 2016-04-20 08:51:10 +02:00
parent 3a8b3a141a
commit 7cbf06faf4
4 changed files with 125 additions and 59 deletions

Binary file not shown.

Binary file not shown.

View File

@ -14,11 +14,12 @@ STARTPROC GETTY CON SBIN/LOGIN
#STARTPROC GETTY COM2 SBIN/LOGIN #STARTPROC GETTY COM2 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 LANCEGS.DRV #INSDRV LANCEGS.DRV
#STARTPROC TCPIP STARTPROC TCPIP
#STARTPROC DHCPCLNT STARTPROC DHCPCLNT
#STARTPROC HTTPD #STARTPROC HTTPD
#TELNETD #TELNETD
#MOUNT TFTP 192.168.1.5:/A2OSX /MNT/A2OSX #MOUNT TFTP 192.168.1.5:/A2OSX /MNT/A2OSX

View File

@ -46,6 +46,14 @@ W5100.AR.PMAGIC .EQ $0029
W5100.AR.UIPR .EQ $002A W5100.AR.UIPR .EQ $002A
W5100.AR.UPORT .EQ $002E W5100.AR.UPORT .EQ $002E
W5100.AR.S0.MR .EQ $0400 W5100.AR.S0.MR .EQ $0400
W5100.AR.S0.MR.MULTI .EQ $80
W5100.AR.S0.MR.MF .EQ $40
W5100.AR.S0.MR.NDMC .EQ $20
W5100.AR.S0.MR.TCP .EQ $01
W5100.AR.S0.MR.UDP .EQ $02
W5100.AR.S0.MR.IPRAW .EQ $03
W5100.AR.S0.MR.MACRAW .EQ $04
W5100.AR.S0.MR.PPPOE .EQ $05
W5100.AR.S0.CR .EQ $0401 W5100.AR.S0.CR .EQ $0401
W5100.AR.S0.IR .EQ $0402 W5100.AR.S0.IR .EQ $0402
W5100.AR.S0.SR .EQ $0403 W5100.AR.S0.SR .EQ $0403
@ -166,8 +174,8 @@ Dev.Detect sta hArgs
.INB DRV/X.NET.DRV.S .INB DRV/X.NET.DRV.S
*-------------------------------------- *--------------------------------------
CS.END CS.END
MSG.DETECT >PSTRING "UtherNetII/W5100 Driver.\n" MSG.DETECT >PSTRING "UtherNet2/W5100 Driver (ARP OffLoad).\n"
MSG.DETECT.OK >PSTRING "UtherNetII/W5100 Installed As Device : " MSG.DETECT.OK >PSTRING "UtherNet2/W5100 Installed As Device : "
MSG.DETECT.KO >PSTRING "Hardware Not Found.\n" MSG.DETECT.KO >PSTRING "Hardware Not Found.\n"
hArgs .BS 1 hArgs .BS 1
*-------------------------------------- *--------------------------------------
@ -198,10 +206,36 @@ OPEN jsr Reset
lda #W5100.MR.AI+W5100.MR.IND lda #W5100.MR.AI+W5100.MR.IND
sta W5100.MR,x sta W5100.MR,x
>AR.SELECT GAR
ldy #8 GAR,SUBR
.1 stz W5100.DR,x
dey
bne .1
* >AR.SELECT SHAR
ldy #0
.2 lda MAC,y
sta W5100.DR,x
iny
cpy #6
bne .2
* >AR.SELECT SIPR
ldy #4
.3 stz W5100.DR,x
dey
bne .3
>AR.SELECT RMSR >AR.SELECT RMSR
lda #3 8k lda #3 8k,0k,0k,0k
sta W5100.DR,x ...for Socket0 RX Buffer sta W5100.DR,x ...for Socket RX Buffers
sta W5100.DR,x ...for Socket0 TX Buffer sta W5100.DR,x ...for Socket TX Buffers
clc clc
rts rts
@ -228,14 +262,12 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD
tya tya
sta W5100.AR+1,x sta W5100.AR+1,x
lda W5100.DR,x ldy #0
sta RX.IP .10 lda W5100.DR,x
lda W5100.DR,x sta RX.IP,y
sta RX.IP+1 iny
lda W5100.DR,x cpy #4
sta RX.IP+2 bne .10
lda W5100.DR,x
sta RX.IP+3
ldy W5100.DR,x get RX.Size HI ldy W5100.DR,x get RX.Size HI
sty RXTX.Size+1 sty RXTX.Size+1
@ -262,15 +294,24 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD
sta (pEvent) sta (pEvent)
lda RXTX.Size lda RXTX.Size
sta (ZPTmpPTR)
eor #$ff eor #$ff
sta Counter sta Counter
sta (ZPTmpPTR)
ldy #1 ldy #1
lda RXTX.Size+1 lda RXTX.Size+1
sta (ZPTmpPTR),y
eor #$ff eor #$ff
sta Counter+1 sta Counter+1
sta (ZPTmpPTR),y
lda RXTX.Size
clc
adc #6 Header Size
sta Offset
lda RXTX.Size+1
adc #0
sta Offset+1
ldy #S.IP.DST+3 ldy #S.IP.DST+3
ldx #3 ldx #3
@ -284,29 +325,28 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD
ldx DEVSLOTx8 ldx DEVSLOTx8
ldy #S.IP ldy #S.IP
.2 lda W5100.DR,x
.2 inc Counter
bne .3
inc Counter+1
beq .8
.3 lda W5100.DR,x
sta (ZPTmpPTR),y sta (ZPTmpPTR),y
iny iny
bne .3
inc ZPTmpPTR+1
.3 inc Counter
bne .2 bne .2
inc Counter+1 inc ZPTmpPTR+1
bne .2 bne .2
.8 >AR.SELECT S0.RX.RD .8 >AR.SELECT S0.RX.RD
ldy W5100.DR,x Get HI ldy W5100.DR,x Get HI
lda W5100.DR,x Get LO lda W5100.DR,x Get LO
clc clc
adc RXTX.Size adc Offset
pha save LO pha save LO
tya tya
adc RXTX.Size+1 adc Offset+1
and /RXTX.MASK pha
ora /RX.BASE
pha save HI
>AR.SELECT S0.RX.RD >AR.SELECT S0.RX.RD
pla pla
sta W5100.DR,x write HI sta W5100.DR,x write HI
@ -316,7 +356,25 @@ GETEVENT.RxOK >AR.SELECT S0.RX.RD
>AR.SELECT S0.CR >AR.SELECT S0.CR
lda #$40 RECV lda #$40 RECV
sta W5100.DR,x sta W5100.DR,x
clc
ldy #S.IP.DST
lda (ZPTmpPTR),y
.81 iny
and (ZPTmpPTR),y
cpy #S.IP.DST+3
bne .81 if EQ, CS
inc $ff = Broadcast ??
beq .82
clc not a broadcast
.82 lda #$00
ror
ldy #S.EVT.DATAHI
sta (pEvent),y
* clc cleared by ROR
rts rts
*-------------------------------------- *--------------------------------------
CLOSE jsr Reset CLOSE jsr Reset
@ -329,13 +387,16 @@ GETINFO >LDYA L.DEVINFO
*-------------------------------------- *--------------------------------------
SEND >PULLW ZPTmpPTR SEND >PULLW ZPTmpPTR
ldy #S.IP.TOTAL.LENGTH+1 lda (ZPTmpPTR)
lda (ZPTmpPTR),y sec
sbc #S.IP-2
sta RXTX.Size sta RXTX.Size
eor #$ff eor #$ff
sta Counter sta Counter
dey
ldy #1
lda (ZPTmpPTR),y lda (ZPTmpPTR),y
sbc /S.IP-2
sta RXTX.Size+1 sta RXTX.Size+1
eor #$ff eor #$ff
sta Counter+1 sta Counter+1
@ -368,8 +429,7 @@ SEND.READY >AR.SELECT S0.DIPR
sta W5100.DR,x sta W5100.DR,x
* >AR.SELECT S0.TOS * >AR.SELECT S0.TOS
lda #0 stz W5100.DR,x
sta W5100.DR,x
* >AR.SELECT S0.TTL * >AR.SELECT S0.TTL
lda #K.IP.TTL lda #K.IP.TTL
@ -409,8 +469,6 @@ SEND.READY >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
@ -421,21 +479,22 @@ SEND.READY >AR.SELECT S0.DIPR
clc clc
rts rts
*-------------------------------------- *--------------------------------------
SETIPCFG >PULLW ZPTmpPTR SETIPCFG >STYA ZPTmpPTR
ldx DEVSLOTx8 ldx DEVSLOTx8
>AR.SELECT S0.CR >AR.SELECT S0.CR
lda #10 CLOSE lda #$10 CLOSE
sta W5100.DR,x sta W5100.DR,x
>AR.SELECT S0.MR .10 >AR.SELECT S0.SR
lda #3 IPRAW lda W5100.DR,x
sta W5100.DR,x bne .10 CLOSED ???
>AR.SELECT GAR >AR.SELECT GAR
ldy #S.IPCFG.GW ldy #S.IPCFG.GW
.1 lda (ZPTmpPTR),y .1 lda (ZPTmpPTR),y
sta W5100.DR,x sta W5100.DR,x
iny iny
@ -445,31 +504,28 @@ SETIPCFG >PULLW ZPTmpPTR
* >AR.SELECT SUBR Implicit, next to GAR * >AR.SELECT SUBR Implicit, next to GAR
ldy #S.IPCFG.MASK ldy #S.IPCFG.MASK
.2 lda (ZPTmpPTR),y .2 lda (ZPTmpPTR),y
sta W5100.DR,x sta W5100.DR,x
iny iny
cpy #S.IPCFG.MASK+4 cpy #S.IPCFG.MASK+4
bne .2 bne .2
* >AR.SELECT SHAR Implicit, next to SUBR >AR.SELECT SIPR
ldy #0
.3 lda MAC,y
sta W5100.DR,x
iny
cpy #6
bne .3
* >AR.SELECT SIPR Implicit, next to SHAR
ldy #S.IPCFG.IP ldy #S.IPCFG.IP
.4 lda (ZPTmpPTR),y
.3 lda (ZPTmpPTR),y
sta W5100.DR,x sta W5100.DR,x
iny iny
cpy #S.IPCFG.IP+4 cpy #S.IPCFG.IP+4
bne .4 bne .3
>AR.SELECT S0.CR >AR.SELECT S0.MR
lda #W5100.AR.S0.MR.IPRAW+W5100.AR.S0.MR.MF
sta W5100.DR,x
* >AR.SELECT S0.CR Implicit, next to S0.MR
lda #1 OPEN lda #1 OPEN
sta W5100.DR,x sta W5100.DR,x
@ -479,6 +535,15 @@ SETIPCFG >PULLW ZPTmpPTR
Reset ldx DEVSLOTx8 Reset ldx DEVSLOTx8
lda #W5100.MR.RST lda #W5100.MR.RST
sta W5100.MR,x sta W5100.MR,x
lda $C019 we can use VBL as we are not on //c
.1 eor $C019
bpl .1
lda $C019
.2 eor $C019
bpl .2
rts rts
*-------------------------------------- *--------------------------------------
DRV.CS.END DRV.CS.END
@ -489,7 +554,7 @@ Counter .BS 2
Offset .BS 2 Offset .BS 2
*-------------------------------------- *--------------------------------------
DEVINFO .DA #S.DEVINFO.TYPE.NET DEVINFO .DA #S.DEVINFO.TYPE.NET
DEVFLAGS .DA #S.DEVINFO.NET.FLAGS.ARPOFFLOAD DEVFLAGS .DA #S.DEVINFO.NET.FLAGS.ARPOFFLOAD+S.DEVINFO.NET.FLAGS.IPOFFLOAD
MAC .BS 6 MAC .BS 6
LINK.STATUS .DA #S.DEVINFO.NET.STATUS.OK+S.DEVINFO.NET.STATUS.FD+S.DEVINFO.NET.STATUS.100 LINK.STATUS .DA #S.DEVINFO.NET.STATUS.OK+S.DEVINFO.NET.STATUS.FD+S.DEVINFO.NET.STATUS.100
MAN MAN