Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-23 17:12:58 +02:00
parent 5ee518ca8d
commit fe9f2700ec
8 changed files with 124 additions and 70 deletions

Binary file not shown.

Binary file not shown.

View File

@ -109,12 +109,13 @@ Dev.ParseArgs >LDYA ARGS
beq .8 No user MAC specified
>PUSHW L.MAC5
>PUSHW L.MAC4
>PUSHW L.MAC3
>PUSHW L.MAC2
>PUSHW L.MAC1
>PUSHW L.MAC0
ldx #10
.2 >PUSHW L.MAC0,x
dex
dex
bpl .2
>PUSHBI 12 6 x byte PTRs
>PUSHW L.SSCANF.MAC
>LDYA ZPArgPtr

View File

@ -114,6 +114,7 @@ Dev.ParseArgs >LDYA ARGS
>STYA ZPArgPTR
lda (ZPArgPTR)
bne .1
lda A2osX.RANDOM16
eor A2osX.TIMER16
sta DCB+S.DCB.NIC.MAC+3
@ -123,12 +124,14 @@ Dev.ParseArgs >LDYA ARGS
sta DCB+S.DCB.NIC.MAC+5
clc
rts
.1 >PUSHW L.MAC5
>PUSHW L.MAC4
>PUSHW L.MAC3
>PUSHW L.MAC2
>PUSHW L.MAC1
>PUSHW L.MAC0
.1 ldx #10
.2 >PUSHW L.MAC0,x
dex
dex
bpl .2
>PUSHBI 12 6 x byte PTRs
>PUSHW L.SSCANF.MAC
>LDYA ZPArgPtr

View File

@ -142,12 +142,13 @@ Dev.ParseArgs >LDYA ARGS
clc
rts
.1 >PUSHW L.MAC5
>PUSHW L.MAC4
>PUSHW L.MAC3
>PUSHW L.MAC2
>PUSHW L.MAC1
>PUSHW L.MAC0
.1 ldx #10
.2 >PUSHW L.MAC0,x
dex
dex
bpl .2
>PUSHBI 12 6 x byte PTRs
>PUSHW L.SSCANF.MAC
>LDYA ZPArgPtr
@ -186,8 +187,9 @@ ZPBufPtr .EQ ZPDRV+2
Counter .EQ ZPDRV+4
Offset .EQ ZPDRV+6
RXTX.Size .EQ ZPDRV+8
BUF.Size .EQ ZPDRV+10
.DO U2AI=1
RX.IP .EQ ZPDRV+10
RX.IP .EQ ZPDRV+12
.FIN
*--------------------------------------
DRV.CS.START cld
@ -372,7 +374,7 @@ CLOSE ldx DEVSLOTx0
*--------------------------------------
READWRITE.9 lda #E.NODATA
READWRITE.99 plp
plp
sec
rts
*--------------------------------------
@ -403,32 +405,70 @@ READ php
.DO U2AI=1
ldy #0
.10 lda W5100.DR,x
.10 lda W5100.DR,x IPRAW:Get Source IP
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 HI (not including 6 bytes Header)
sta RXTX.Size+1
eor #$ff
sta Counter+1
lda W5100.DR,x get RX.Size LO
sta RXTX.Size
eor #$ff
sta Counter
eor #$ff
clc
adc #S.IP
pha
tya
sta BUF.Size
ldy #S.IOCTL.BYTECNT
sta (ZPIOCTL),y
iny
lda RXTX.Size+1
adc /S.IP
ply
sta BUF.Size+1
lda RXTX.Size
clc
adc #6 IPRAW: Add 6 bytes to Total Size
sta RXTX.Size
lda RXTX.Size+1
adc #0
sta RXTX.Size+1
.ELSE
lda W5100.DR,x get RX.Size HI
lda W5100.DR,x get RX.Size HI (Frame size + 2)
sta RXTX.Size+1
ldy W5100.DR,x get RX.Size LO
sty RXTX.Size
lda W5100.DR,x get RX.Size LO
sta RXTX.Size
ldy #S.IOCTL.BYTECNT
sec
sbc #2 MACRAW:strip 2 bytes Header from Size
sta (ZPIOCTL),y
sta BUF.Size
eor #$ff
sta Counter
iny
lda RXTX.Size+1
sbc #0
sta (ZPIOCTL),y
sta BUF.Size+1
eor #$ff
sta Counter+1
.FIN
>LDYA BUF.Size
>SYSCALL2 getmem
bcs READWRITE.99
bcs .9
>STYA ZPBufPtr
phx
@ -440,39 +480,6 @@ READ php
pla
sta (ZPIOCTL),y
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 : strip 2 bytes for MACRAW
sta (ZPIOCTL),y
eor #$ff
sta Counter
iny
lda RXTX.Size+1
sbc #0
sta (ZPIOCTL),y
eor #$ff
sta Counter+1
.FIN
.DO U2AI=1
ldx #3
ldy #S.IP.SRC+3
@ -502,7 +509,7 @@ READ php
bne .2
inc ZPBufPtr+1
bne .2
bra .2
.4 >AR.SELECT S0.RX.RD
@ -526,6 +533,10 @@ READ php
plp
clc
rts
.9 plp
sec
rts
*--------------------------------------
WRITE php
sei
@ -548,6 +559,7 @@ WRITE php
sta RXTX.Size+1
eor #$ff
sta Counter+1
ldx DEVSLOTx0
>AR.SELECT S0.TX.FSR
@ -563,6 +575,7 @@ WRITE php
.DO U2AI=1
>AR.SELECT S0.DIPR
ldy #S.IP.DST
.1 lda (ZPBufPtr),y
@ -572,6 +585,7 @@ WRITE php
bne .1
>AR.SELECT S0.PROTO
ldy #S.IP.PROTOCOL
lda (ZPBufPtr),y
sta W5100.DR,x

View File

@ -45,14 +45,18 @@ FRM.NewIP stx .8+1
>STYA ZPDataOutLen
cpx #S.IP.PROTOCOL.TCP
bne .1
lda #S.TCP
bra .4
.1 cpx #S.IP.PROTOCOL.UDP
bne .2
lda #S.UDP
bra .4
.2 lda #S.IP
bra .4
.4 sta .5+1 save Header len for reset later
clc
adc ZPDataOutLen
@ -63,6 +67,7 @@ FRM.NewIP stx .8+1
sta ZPFrameOutLen+1
>SYSCALL2 getmem
bcs .9
stx hFrameOut
>STYA ZPFrameOutPtr
@ -74,6 +79,7 @@ FRM.NewIP stx .8+1
iny
dex
bne .6
tya
* clc
adc ZPFrameOutPtr
@ -84,6 +90,7 @@ FRM.NewIP stx .8+1
lda IPCFG+S.NETCFG.DevFlags
and #S.DCB.NIC.FLAGS.IPOFFLOAD
bne .7
ldy #S.ETH.EII.TYPE
lda /S.ETH.EII.TYPE.IP
sta (ZPFrameOutPtr),y
@ -107,8 +114,11 @@ FRM.NewIP stx .8+1
ldx IP.ID+1
inc
bne .61
inx
stx IP.ID+1
.61 sta IP.ID
sta (ZPFrameOutPtr),y
dey

View File

@ -87,11 +87,14 @@ CS.RUN >PUSHBI 0
>LDYA L.MSG.TOPBAR.KO
.2 >SYSCALL printf
>PUSHBI 0
>LDYA L.MSG.KCONF
>SYSCALL printf
>LDYAI A2osX.KCONFIG
jsr CS.RUN.DumpConfYA
>PUSHBI 0
>LDYA L.MSG.STATUSBAR
>SYSCALL printf
@ -99,6 +102,7 @@ CS.RUN >PUSHBI 0
CS.RUN.REPaint >PUSHBI 0
>LDYA L.MSG.FCONF
>SYSCALL printf
>LDYA ZPCfgPtr
jsr CS.RUN.DumpConfYA
@ -150,6 +154,7 @@ CS.RUN.Loop >SYSCALL GetChar
inc
sta (ZPCfgPtr),y
jmp CS.RUN.REPaint
.5 cmp #'1'
bcc CS.RUN.Loop
cmp #'8'
@ -158,10 +163,12 @@ CS.RUN.Loop >SYSCALL GetChar
clc
adc #8
tay
lda (ZPCfgPtr),y
eor #$FF
sta (ZPCfgPtr),y
jmp CS.RUN.REPaint
.8 >PUSHBI 0
>LDYA L.MSG.QUIT
.9 >SYSCALL printf
@ -200,17 +207,27 @@ CS.RUN.Load >PUSHEA.G StatBuf
>STYA ZPCfgPtr
* clc
rts
.99 >LDYAI 16
>SYSCALL GetMem
>STYA ZPCfgPtr
stx hFileBuf
ldy #15
ldy #0
.1 lda A2osX.KCONFIG,y
sta (ZPCfgPtr),y
dey
bpl .1
iny
cpy #9
bne .1
lda #0
.2 sta (ZPCfgPtr),y
iny
cpy #16
bne .2
sec
rts
*--------------------------------------
@ -277,6 +294,7 @@ CS.RUN.DumpConfYA
>PUSHBI 1
>LDYA L.MSG.TTYS
>SYSCALL printf
ldy #9 Slot 1
.1 lda (ZPTmp1),y
ldx #SLOTS.MAX-1
@ -285,6 +303,7 @@ CS.RUN.DumpConfYA
beq .3
dex
bne .2
.3 phy
txa
asl
@ -348,8 +367,8 @@ MSG.PMODE .AZ " Preemptive Mode : %s\r\n"
MSG.TTYS .AZ " #TTYs : %d\r\n"
MSG.ENABLED .AZ "Enabled "
MSG.DISABLED .AZ "Disabled"
MSG.SLOT .AZ " Slot #%d : %s\r\n"
MSG.SLOT.NODEV .AZ "<Enabled> "
MSG.SLOT .AZ " Slot #%d : %s\e[K\r\n"
MSG.SLOT.NODEV .AZ "<Enabled>"
MSG.SLOT.Z80 .AZ "Z80 CPU Board"
MSG.SLOT.VSD .AZ "SSC Shared Driver for VSDRIVE"
MSG.SLOT.ATK .AZ "AppleTalk Board"

View File

@ -21,16 +21,21 @@ AT.INIT >LDYAI MSG.INIT
sta TmpPtr1
lda #$C7
sta TmpPtr1+1
.1 ldy #3
.2 lda (TmpPtr1),y
cmp SIG.ATLK,y
bne .3
dey
bpl .2
ldy #4
lda (TmpPtr1),y
ldx #0
cmp #1
beq .4
ldx #$80
@ -41,6 +46,7 @@ AT.INIT >LDYAI MSG.INIT
>LDYAI MSG.FAILED
jsr PrintFYA
rts
.3 dec TmpPtr1+1
lda TmpPtr1+1
cmp #$C0
@ -48,6 +54,7 @@ AT.INIT >LDYAI MSG.INIT
>LDYAI MSG.NOHW
jsr PrintFYA
rts
.4 stx WC.Flag
tay
lda TmpPtr1+1