mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-26 13:49:18 +00:00
Kernel 0.9.2
This commit is contained in:
parent
b76dbeafb2
commit
2803696706
@ -11,6 +11,7 @@ U2AI .EQ 1
|
||||
.INB INC/NIC.I
|
||||
.INB INC/NIC.W5100.I
|
||||
.INB INC/ETH.I
|
||||
.INB INC/LIBTCPIP.I
|
||||
.INB /A2OSX.SRC/DRV/X.U2.DRV.S
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -1,65 +0,0 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
DecodeMac ldy #0
|
||||
ldx #0
|
||||
|
||||
.1 lda (ZPTmpPTR),y
|
||||
beq .9
|
||||
iny
|
||||
|
||||
jsr Asc2NibbleA
|
||||
bcs .9
|
||||
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
sta MAC,x
|
||||
|
||||
lda (ZPTmpPTR),y
|
||||
beq .9
|
||||
|
||||
iny
|
||||
|
||||
jsr Asc2NibbleA
|
||||
bcs .9
|
||||
|
||||
ora MAC,x
|
||||
sta MAC,x
|
||||
inx
|
||||
cpx #6
|
||||
bne .1
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
Asc2NibbleA cmp #'0'
|
||||
bcc .9
|
||||
cmp #'9'+1
|
||||
bcs .1
|
||||
and #$0F
|
||||
* clc
|
||||
rts
|
||||
|
||||
.1 cmp #'A'
|
||||
bcc .9
|
||||
cmp #'F'+1
|
||||
bcs .99
|
||||
|
||||
sbc #$36
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/DRV/X.NET.DRV.S
|
||||
LOAD /A2OSX.SRC/DRV/UTHERNET.DRV.S
|
||||
ASM
|
@ -295,9 +295,51 @@ OPEN jsr CLOSE
|
||||
sta W5100.DR,x ...for Socket TX Buffers
|
||||
|
||||
>AR.SELECT S0.MR
|
||||
.DO U2AI=1
|
||||
lda #W5100.AR.S0.MR.IPRAW+W5100.AR.S0.MR.MF
|
||||
.ELSE
|
||||
lda #W5100.AR.S0.MR.MACRAW+W5100.AR.S0.MR.MF
|
||||
.FIN
|
||||
sta W5100.DR,x
|
||||
|
||||
.DO U2AI=1
|
||||
>AR.SELECT S0.TOS
|
||||
stz W5100.DR,x
|
||||
|
||||
* >AR.SELECT S0.TTL
|
||||
lda #K.IP.TTL
|
||||
sta W5100.DR,x
|
||||
>AR.SELECT GAR
|
||||
|
||||
ldy #0
|
||||
|
||||
.2 lda DCB+S.DCB.NIC.GW,y
|
||||
sta W5100.DR,x
|
||||
iny
|
||||
cpy #4
|
||||
bne .2
|
||||
|
||||
* >AR.SELECT SUBR Implicit, next to GAR
|
||||
|
||||
ldy #0
|
||||
|
||||
.3 lda DCB+S.DCB.NIC.MASK,y
|
||||
sta W5100.DR,x
|
||||
iny
|
||||
cpy #4
|
||||
bne .3
|
||||
|
||||
>AR.SELECT SIPR
|
||||
|
||||
ldy #0
|
||||
|
||||
.4 lda DCB+S.DCB.NIC.IP,y
|
||||
sta W5100.DR,x
|
||||
iny
|
||||
cpy #4
|
||||
bne .4
|
||||
.FIN
|
||||
|
||||
>AR.SELECT S0.CR
|
||||
lda #W5100.AR.S0.CR.OPEN
|
||||
sta W5100.DR,x
|
||||
@ -351,11 +393,32 @@ READ php
|
||||
tya
|
||||
sta W5100.AR+1,x
|
||||
|
||||
.DO U2AI=1
|
||||
ldy #0
|
||||
|
||||
.10 lda W5100.DR,x
|
||||
sta RX.IP,y
|
||||
iny
|
||||
cpy #4
|
||||
bne .10
|
||||
|
||||
ldy W5100.DR,x get RX.Size HI
|
||||
sty RXTX.Size+1
|
||||
lda W5100.DR,x get RX.Size LO
|
||||
sta RXTX.Size
|
||||
|
||||
clc
|
||||
adc #S.IP
|
||||
pha
|
||||
tya
|
||||
adc /S.IP
|
||||
ply
|
||||
.ELSE
|
||||
lda W5100.DR,x get RX.Size HI
|
||||
sta RXTX.Size+1
|
||||
|
||||
ldy W5100.DR,x get RX.Size LO
|
||||
sty RXTX.Size
|
||||
.FIN
|
||||
|
||||
>SYSCALL getmem
|
||||
bcs .9
|
||||
@ -372,9 +435,28 @@ READ php
|
||||
|
||||
ldy #S.IOCTL.BYTECNT
|
||||
|
||||
.DO U2AI=1
|
||||
lda RXTX.Size
|
||||
sta (ZPIOCTL),y
|
||||
eor #$ff
|
||||
sta Counter
|
||||
eor #$ff
|
||||
clc
|
||||
adc #6 Total Size : Add 6 bytes for IPRAW
|
||||
sta RXTX.Size
|
||||
|
||||
iny
|
||||
|
||||
lda RXTX.Size+1
|
||||
eor #$ff
|
||||
sta Counter+1
|
||||
eor #$ff
|
||||
adc #0
|
||||
sta RXTX.Size+1
|
||||
.ELSE
|
||||
lda RXTX.Size
|
||||
sec
|
||||
sbc #2 Header Size
|
||||
sbc #2 Header Size : strip 2 bytes for MACRAW
|
||||
sta (ZPIOCTL),y
|
||||
eor #$ff
|
||||
sta Counter
|
||||
@ -386,11 +468,25 @@ READ php
|
||||
sta (ZPIOCTL),y
|
||||
eor #$ff
|
||||
sta Counter+1
|
||||
.FIN
|
||||
|
||||
.DO U2AI=1
|
||||
ldx #3
|
||||
ldy #S.IP.SRC+3
|
||||
|
||||
.11 lda RX.IP,x
|
||||
sta (ZPBufPtr),y
|
||||
dey
|
||||
dex
|
||||
bpl .11
|
||||
|
||||
ldy #S.IP
|
||||
.ELSE
|
||||
ldy #0
|
||||
.FIN
|
||||
|
||||
ldx DEVSLOTx0
|
||||
|
||||
ldy #0
|
||||
|
||||
.2 inc Counter
|
||||
bne .3
|
||||
inc Counter+1
|
||||
@ -432,20 +528,27 @@ WRITE php
|
||||
|
||||
>STYA ZPIOCTL
|
||||
|
||||
ldx DEVSLOTx0
|
||||
|
||||
ldy #S.IOCTL.BYTECNT
|
||||
lda (ZPIOCTL),y
|
||||
.DO U2AI=1
|
||||
sec
|
||||
sbc #S.IP
|
||||
.FIN
|
||||
sta RXTX.Size
|
||||
eor #$ff
|
||||
sta Counter
|
||||
|
||||
iny
|
||||
lda (ZPIOCTL),y
|
||||
.DO U2AI=1
|
||||
sbc /S.IP
|
||||
.FIN
|
||||
sta RXTX.Size+1
|
||||
eor #$ff
|
||||
sta Counter+1
|
||||
|
||||
ldx DEVSLOTx0
|
||||
|
||||
>AR.SELECT S0.TX.FSR
|
||||
|
||||
lda W5100.DR,x get send size HI
|
||||
@ -467,6 +570,21 @@ WRITE.1 ldy #S.IOCTL.BUFPTR
|
||||
lda (ZPIOCTL),y
|
||||
sta ZPBufPtr+1
|
||||
|
||||
.DO U2AI=1
|
||||
>AR.SELECT S0.DIPR
|
||||
ldy #S.IP.DST
|
||||
|
||||
.1 lda (ZPBufPtr),y
|
||||
sta W5100.DR,x
|
||||
iny
|
||||
cpy #S.IP.DST+4
|
||||
bne .1
|
||||
|
||||
>AR.SELECT S0.PROTO
|
||||
ldy #S.IP.PROTOCOL
|
||||
lda (ZPBufPtr),y
|
||||
sta W5100.DR,x
|
||||
.ELSE
|
||||
ldy #S.ETH.SRCMAC+5
|
||||
ldx #5
|
||||
|
||||
@ -477,6 +595,7 @@ WRITE.1 ldy #S.IOCTL.BUFPTR
|
||||
bpl .1
|
||||
|
||||
ldx DEVSLOTx0
|
||||
.FIN
|
||||
|
||||
>AR.SELECT S0.TX.WR
|
||||
lda W5100.DR,x Get HI
|
||||
@ -489,7 +608,11 @@ WRITE.1 ldy #S.IOCTL.BUFPTR
|
||||
sta W5100.AR+1,x Write LO
|
||||
sta Offset
|
||||
|
||||
.DO U2AI=1
|
||||
ldy #S.IP
|
||||
.ELSE
|
||||
ldy #0
|
||||
.FIN
|
||||
|
||||
.2 inc Counter
|
||||
bne .3
|
||||
|
Loading…
Reference in New Issue
Block a user