Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-12 21:31:36 +02:00
parent 70b226c525
commit eb4adc065f
9 changed files with 118 additions and 103 deletions

Binary file not shown.

View File

@ -3,12 +3,12 @@ NEW
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/ARP
.TF bin/arp
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/ETH.I
.INB INC/LIBTCPIP.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/eth.i
.INB inc/libtcpip.i
*--------------------------------------
TIMEOUT.MAX .EQ 40 40*100ms = 4 sec.
*--------------------------------------
@ -17,8 +17,7 @@ TIMEOUT.MAX .EQ 40 40*100ms = 4 sec.
ZS.START
ZPPTR1 .BS 2
EntryCount .BS 1
ZS.END
.ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -78,7 +77,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
>PUSHEA.G DST.IP+2
>PUSHEA.G DST.IP+3
>PUSHBI 8 4 Ptrs
>SYSCALL sscanf
>SYSCALL SScanF
bcs CS.RUN.ERR
ldy #S.PS.ARGC
@ -100,7 +99,7 @@ CS.RUN.QUERY jsr Init.Timeout
.1 >PUSHEA.G DST.MAC
>PUSHEA.G DST.IP
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.QUERY
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.Query
bcc .2 success, print & exit
jsr Wait.TimeOut
bcs .8
@ -146,17 +145,17 @@ CS.RUN.ADD lda #2
>PUSHEA.G DST.MAC+4
>PUSHEA.G DST.MAC+5
>PUSHBI 12 6 Ptrs
>SYSCALL sscanf
>SYSCALL SScanF
bcs .9
>PUSHEA.G DST.MAC
>PUSHEA.G DST.IP
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.ADD
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.Add
clc
.8 rts
.9 jmp CS.RUN.ERR
*--------------------------------------
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GETCACHE
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GetCache
>STYA ZPPTR1
>LDYA L.MSG0
>SYSCALL PutS
@ -250,12 +249,14 @@ MSG1 .AZ "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\r\n"
MSG2 .AZ "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\r\n"
hLIBTCPIP .BS 1
*--------------------------------------
.DUMMY
.OR 0
DS.START
DST.IP .BS 4
DST.MAC .BS 6
TimeOut .BS 1
DS.END
DS.END .ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/ARP.S
SAVE usr/src/bin/arp.s
ASM

View File

@ -122,7 +122,7 @@ CS.RUN
bcs .9
.8 >PUSHEA.G TIME.SysTime
>SYSCALL time
>SYSCALL Time
>LDYAI S.PW
>SYSCALL GetMem
@ -154,7 +154,7 @@ CS.RUN
*--------------------------------------
CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .99 I/O error
tay
@ -492,7 +492,7 @@ CS.RUN.PushUidGid
lda (ZPFileStat),y
>PUSHA
>PUSHBI 2
>SYSCALL sprintf
>SYSCALL SPrintF
.3 ldy #S.STAT.GID
lda (ZPFileStat),y
@ -516,7 +516,7 @@ CS.RUN.PushUidGid
lda (ZPFileStat),y
>PUSHA
>PUSHBI 2
>SYSCALL sprintf
>SYSCALL SPrintF
.8 >PUSHEA.G USER
>PUSHEA.G GROUP
@ -527,7 +527,7 @@ CS.RUN.PushUidGidStr
>PUSHW L.FMT.string6
>PUSHW ZPPW
>PUSHBI 2
>SYSCALL sprintf
>SYSCALL SPrintF
rts
*--------------------------------------
CS.RUN.PUSHDATES
@ -642,13 +642,13 @@ CS.RUN.NewLine >LDA.G ColCount
beq CS.RUN.NewLine.8
CS.RUN.NewLine.1
lda #C.CR
>SYSCALL putchar
>SYSCALL PutChar
* bit bCRLF
* bpl CS.RUN.NewLine.8
lda #C.LF
>SYSCALL putchar
>SYSCALL PutChar
CS.RUN.NewLine.8
clc
@ -806,8 +806,7 @@ ColCount .BS 1
hPW .BS 1
.INB usr/src/bin/x.fileenum.g
DS.END
.ED
DS.END .ED
*--------------------------------------
MAN
SAVE usr/src/bin/ls.s

View File

@ -1,23 +1,21 @@
NEW
PREFIX
AUTO 4,1
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/LSDEV
.TF bin/lsdev
*--------------------------------------
.INB INC/MACROS.I
.INB INC/MLI.I
.INB INC/A2OSX.I
.INB INC/KERNEL.I
.INB inc/macros.i
.INB inc/mli.i
.INB inc/a2osx.i
.INB inc/kernel.i
*--------------------------------------
.DUMMY
.OR ZPBIN
ZS.START
ZPFDPtr .BS 2
Index .BS 1
ZS.END
.ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -113,7 +111,7 @@ DumpDev >LDYA L.MSG0
bcs .9
.7 inc Index
inc index
inc Index
ldx Index
cpx #K.DEV.MAX*2+1
@ -223,7 +221,7 @@ DumpNod >LDYA L.MSG3
tax
>PUSHW L.FD.T,x
ldx index
ldx Index
lda Nod.Table.hPath-2,x
>SYSCALL GetMemPtr
>PUSHYA
@ -231,9 +229,9 @@ DumpNod >LDYA L.MSG3
>SYSCALL PrintF
.7 inc index
.7 inc Index
ldx index
ldx Index
cpx #K.NOD.MAX+2
bne .1
@ -278,9 +276,8 @@ BLANK.DIB .DA #0 #S.DIB.S.BLOCK+S.DIB.S.WRITE+S.DIB.S.READ
DS.START
DEV.DIB .BS S.DIB
DEV.SFLAGS .BS 9
DS.END
.ED
DS.END .ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/LSDEV.S
SAVE usr/src/bin/lsdev.s
ASM

View File

@ -5,8 +5,8 @@ NEW
.OR $2000
.TF bin/mem
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB inc/macros.i
.INB inc/a2osx.i
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -129,9 +129,8 @@ MSG.End .AZ "--------------------------------"
.DUMMY
.OR 0
DS.START
DS.END
.ED
DS.END .ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/MEM.S
SAVE usr/src/bin/mem.s
ASM

View File

@ -56,7 +56,7 @@ CS.INIT clc
CS.RUN lda #1
>SYSCALL ArgV
bcs .10
>SYSCALL atoi
>SYSCALL AToI
bcs .90
tax
bne .90
@ -149,7 +149,7 @@ CS.RUN.DUMP >SYSCALL GetMemPtr
>SYSCALL PrintF
lda hSession
>SYSCALL freemem
>SYSCALL FreeMem
jmp CS.RUN.PrintArgs
.9 rts

View File

@ -69,8 +69,8 @@ K.GetEnv.I ldy #S.PS.hENV FROM STDLIB:EXPAND
tay
lda S.Table.hSID-1,y
tay
pla
tay Y = hSID
pla A = hENV
jmp K.SYSCALL.JMPX
*--------------------------------------

View File

@ -8,9 +8,9 @@ ENVX.PutEnv.9 lda #E.SYN
sec
rts
*--------------------------------------
ENVX.PutEnv tax save hEnv
ENVX.PutEnv sta ENVX.hEnv
sty ENVX.hSID
ldy #$ff
.1 iny
@ -24,21 +24,21 @@ ENVX.PutEnv tax save hEnv
sec skip =
adc TXTPTR
sta FORPNT
lda #0
adc TXTPTR+1
sta FORPNT+1
txa get back hEnv
ldy ENVX.hSID
jsr ENVX.UnsetEnv.I
bra ENVX.SetEnv.I
*--------------------------------------
ENVX.SetEnv jsr ENVX.UnsetEnv
ENVX.SetEnv.I
.1 jsr ENVX.InitEnvP3
lda #1
lda #1 \0
sta ZPPtr4
stz ZPPtr4+1 ZPPtr4 = ENVSIZE = 1
stz ZPPtr4+1
.10 lda (ZPPtr3) End of ENV
beq .15
@ -66,34 +66,54 @@ ENVX.SetEnv jsr ENVX.UnsetEnv
bne .19
jsr ENVX.NextEnvP4Y ZPPtr4 = ENVSIZE + VALUE
lda ZPPtr4
beq .20
inc ZPPtr4+1
* lda ENVX.hEnv done by ENVX.InitEnvP3
* jsr MEM.GetMemByID
.20 lda ENVX.hEnv
jsr MEM.GetMemByID
lda ZPPtr4+1
ldy #S.MEM.LEN+1
cmp (ZPMemMgrSPtr),y
ldy #S.MEM.LEN
lda (ZPMemMgrSPtr),y
cmp ZPPtr4
iny
lda (ZPMemMgrSPtr),y
sbc ZPPtr4+1
bcs .22 env is large enough
sta MEM.NewSize+1
stz MEM.NewSize
jsr K.realloc.I
ldy #S.MEM.PTR
lda (ZPMemMgrSPtr),y
sta A1L
iny
lda (ZPMemMgrSPtr),y
sta A1L+1
iny #S.MEM.LEN
lda (ZPMemMgrSPtr),y
eor #$ff
sta A4L
iny
lda (ZPMemMgrSPtr),y
eor #$ff
sta A4L+1
>LDYA ZPPtr4
jsr MEM.DupA1LnA4L
bcs .9
stx ENVX.hEnv
txa
pha
lda ENVX.hEnv
jsr K.FreeMem
pla
sta ENVX.hEnv
sta CLRWRITEAUX
ldy #S.PS.hENV
lda (pPS),y
sta (pPS),y
sta SETWRITEAUX
bra .1 Start over
.22 ldy #$ff
.23 iny
jsr SHARED.TXTPTR.GetY
sta (ZPPtr3),y
@ -103,7 +123,7 @@ ENVX.SetEnv jsr ENVX.UnsetEnv
.24 lda #'='
sta (ZPPtr3),y
jsr ENVX.NextEnvP3Y
ldy #$ff
@ -120,14 +140,14 @@ ENVX.SetEnv jsr ENVX.UnsetEnv
*--------------------------------------
ENVX.GetEnv sta ENVX.hEnv
sty ENVX.hSID
ldy TXTPTR+1
bne .10
tax hMem for CopyToMain
jsr MEM.GetMemByID
ldy #S.MEM.LEN
lda (ZPMemMgrSPtr),y
pha
@ -142,7 +162,7 @@ ENVX.GetEnv sta ENVX.hEnv
jsr ENVX.FindSIDVar
bcs .9
>STYA ZPPtr3
bra .12
@ -152,20 +172,20 @@ ENVX.GetEnv sta ENVX.hEnv
bne .3
ldy #$ff
.1 iny
lda (ZPPtr3),y
bne .1
iny
bne .2
inc
.2 ldx #SYS.GetMem
jsr K.SYSCALL2.MAIN !!! Get a buffer In MAIN Mem !!!
bcs .99
>STYA FORPNT
.3 ldy #$ff
@ -174,12 +194,12 @@ ENVX.GetEnv sta ENVX.hEnv
lda (ZPPtr3),y
jsr SHARED.FORPNT.PutY
bne .4
>LDYA FORPNT
clc
rts
.9 lda #E.NOKEY
* sec
@ -187,13 +207,13 @@ ENVX.GetEnv sta ENVX.hEnv
*--------------------------------------
ENVX.UnsetEnv sta ENVX.hEnv
sty ENVX.hSID
jsr ENVX.FindEnvVar
ENVX.UnsetEnv.I jsr ENVX.FindEnvVar
bcs .8 not found, quit
jsr ENVX.DelVarP3 Ptr3 -> NAME=VALUE
.8 clc
rts
*--------------------------------------
* ENV.FindEnvVar
@ -238,7 +258,7 @@ ENVX.FindEnvVar jsr ENVX.InitEnvP3 Store ENV
bra .1
.9 sec
rts
rts
*--------------------------------------
ENVX.FindSIDVar >LDYAI ENVX.SIDVars
>STYA ZPPtr3
@ -248,7 +268,7 @@ ENVX.FindSIDVar >LDYAI ENVX.SIDVars
beq .9
ldy #$ff
.2 iny
jsr SHARED.TXTPTR.GetY
beq .3
@ -290,7 +310,7 @@ ENVX.SIDVarsJmp .DA ENVX.SIDVarsSTR
.DA ENVX.SIDVarsGID
*--------------------------------------
ENVX.SIDVarsSTR jsr ENVX.InitSIDP3
lda ZPPtr3
clc
adc #S.SESSION.NAME
@ -304,14 +324,14 @@ ENVX.SIDVarsSTR jsr ENVX.InitSIDP3
bmi .8
ldy #$ff
.2 iny
lda (ZPPtr3),y
bne .2
jsr ENVX.NextEnvP3Y
bra .1
.8 >LDYA ZPPtr3
clc
@ -320,14 +340,14 @@ ENVX.SIDVarsSTR jsr ENVX.InitSIDP3
ENVX.SIDVarsUID ldx #S.SESSION.UID
.HS 2C
ENVX.SIDVarsGID ldx #S.SESSION.GID
jsr ENVX.InitSIDP3
txa
tay
lda (ZPPtr3),y
jsr MATH32.A2STR10NP
>LDYAI A2osX.NumStrBuf
clc
@ -349,13 +369,13 @@ ENVX.DelVarP3 >LDYA ZPPtr3 save actual Ptr
bne .2
tya
beq .8 we moved back ending \0
jsr ENVX.NextEnvP3Y
jsr ENVX.NextEnvP4Y
bra .1
.8 rts
*--------------------------------------
ENVX.InitEnvP3 lda ENVX.hEnv
@ -382,7 +402,7 @@ ENVX.GetP3LenY ldy #$ff
lda (ZPPtr3),y
bne .1
rts
*--------------------------------------
*--------------------------------------
ENVX.NextEnvP4Y tya
sec
adc ZPPtr4

View File

@ -24,7 +24,7 @@ MEM.NewSize .BS 2
K.Realloc >PULLW MEM.NewSize
>PULLA Src hMem
K.Realloc.I tax
tax
jsr MEM.GetMemByID
@ -544,8 +544,8 @@ MEM.Dup jsr K.GetMemPtr
eor #$ff
ply
jsr K.GetMem
bcs .9
MEM.DupA1LnA4L jsr K.GetMem
bcs MEM.Dup.RTS
>STYA A2L
@ -566,8 +566,7 @@ MEM.Dup jsr K.GetMemPtr
bra .1
.8 txa
* clc
.9
* clc
MEM.Dup.RTS rts
*--------------------------------------
MEM.CopyToMain clc