mirror of https://github.com/A2osX/A2osX.git
Kernel 0.94
This commit is contained in:
parent
70b226c525
commit
eb4adc065f
Binary file not shown.
|
@ -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
|
||||
|
|
17
BIN/LS.S.txt
17
BIN/LS.S.txt
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*--------------------------------------
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue