mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-05 23:30:15 +00:00
Kernel 0.9.2
This commit is contained in:
parent
04510ec5bf
commit
2f284f68ed
Binary file not shown.
Binary file not shown.
@ -92,9 +92,9 @@ S.IPCFG.DOMAIN .EQ 48 79+\0 C String
|
||||
*
|
||||
S.IPCFG .EQ 128
|
||||
*--------------------------------------
|
||||
S.ARPCACHE.S .EQ 0
|
||||
S.ARPCACHE.S .EQ 0
|
||||
S.ARPCACHE.S.PENDING .EQ 1
|
||||
S.ARPCACHE.S.STATIC .EQ 2
|
||||
S.ARPCACHE.S.STATIC .EQ 2
|
||||
S.ARPCACHE.S.RESOLVED .EQ 128
|
||||
S.ARPCACHE.TTL .EQ 2
|
||||
S.ARPCACHE.IP .EQ 6
|
||||
|
@ -111,7 +111,8 @@ Cmd.CheckCmd ldy #$ff
|
||||
>STA.G CMD.hCmdLine
|
||||
bra .6 go check type...
|
||||
|
||||
.2 >LDYA L.CMD.INT
|
||||
.2 >PUSHW ZPCMDBuf
|
||||
>LDYA L.CMD.INT
|
||||
jsr CMD.Search no / found, search internal...
|
||||
bcs .4 not internal, search PATH
|
||||
|
||||
@ -219,6 +220,84 @@ Cmd.SearchExt pha
|
||||
>SYSCALL FileSearch
|
||||
rts
|
||||
*--------------------------------------
|
||||
CMD.CheckIO >PUSHW ZPCMDBuf
|
||||
>LDYA L.CMD.IO
|
||||
jsr CMD.Search
|
||||
bcs .9 not a IO token...should be an arg....
|
||||
phx
|
||||
|
||||
jsr CMD.NextCmdBufToken skip this IO token
|
||||
|
||||
plx
|
||||
jmp (J.CMD.IO,x)
|
||||
|
||||
.9 lda #0
|
||||
rts
|
||||
*--------------------------------------
|
||||
CMD.IO.AMP >LDA.G CMD.PSFlags
|
||||
and #$ff^S.PS.F.HOLD
|
||||
sta (pData),y
|
||||
clc
|
||||
rts
|
||||
|
||||
CMD.IO.PIPE
|
||||
clc
|
||||
rts
|
||||
|
||||
CMD.IO.IN lda #O.RDONLY+O.TEXT
|
||||
jsr CMD.IO.Open
|
||||
bcs .9
|
||||
jsr IO.Set.In
|
||||
|
||||
jsr CMD.NextCmdBufToken skip arg
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
CMD.IO.OUTA
|
||||
CMD.IO.1OUTA lda #O.WRONLY+O.APPEND+O.CREATE+O.TEXT
|
||||
bra CMD.IO.OUT.1
|
||||
CMD.IO.OUT
|
||||
CMD.IO.1OUT lda #O.WRONLY+O.TRUNC+O.CREATE+O.TEXT
|
||||
|
||||
CMD.IO.OUT.1 jsr CMD.IO.Open
|
||||
bcs .9
|
||||
jsr IO.Set.Out
|
||||
|
||||
jsr CMD.NextCmdBufToken skip arg
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
CMD.IO.2OUTA lda #O.WRONLY+O.APPEND+O.CREATE+O.TEXT
|
||||
bra CMD.IO.2OUT.1
|
||||
CMD.IO.2OUT lda #O.WRONLY+O.TRUNC+O.CREATE+O.TEXT
|
||||
|
||||
CMD.IO.2OUT.1 jsr CMD.IO.Open
|
||||
bcs .9
|
||||
jsr IO.Set.Err
|
||||
|
||||
jsr CMD.NextCmdBufToken skip arg
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CMD.IO.Open pha
|
||||
lda (ZPCMDBuf)
|
||||
beq .9 no arg left....
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI S.FI.T.TXT ftype
|
||||
pla
|
||||
>PUSHA flags
|
||||
>LDYA ZPCMDBuf
|
||||
>SYSCALL fopen
|
||||
rts
|
||||
|
||||
.9 pla
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Input : ZPArgVBuf
|
||||
*--------------------------------------
|
||||
Cmd.Exec >LDA.G CMD.IntCmd
|
||||
bmi .1
|
||||
tax
|
||||
@ -484,6 +563,12 @@ Cmd.INT.ECHO ldx #1
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
Cmd.INT.ELSE clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
Cmd.INT.FI clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
Cmd.INT.READ ldx #1
|
||||
jsr Cmd.GetArgX
|
||||
beq .9
|
||||
@ -608,121 +693,46 @@ Cmd.INT.EXIT lda #$FF
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
Cmd.INT.IF >STZ.G CMD.IFNOT
|
||||
|
||||
lda (ZPCMDBuf)
|
||||
beq .9
|
||||
|
||||
cmp #'!'
|
||||
bne .1
|
||||
|
||||
lda #$ff
|
||||
sta (pData),y Y = #CMD.IFNOT
|
||||
|
||||
jsr Cmd.NextCharPtr2NB
|
||||
Cmd.INT.IF ldx #1
|
||||
jsr Cmd.GetArgX
|
||||
beq .9
|
||||
|
||||
cmp #'('
|
||||
bne .9
|
||||
>PUSHYA
|
||||
>LDYA L.CMD.IF.TOKEN1
|
||||
jsr CMD.Search
|
||||
|
||||
bcs .9
|
||||
|
||||
jsr Cmd.NextCharPtr2NB
|
||||
cpx #4 [ or ![
|
||||
bcs .9
|
||||
dex
|
||||
dex 1 or $ff
|
||||
txa
|
||||
>STA.G CMD.IF.NOT
|
||||
|
||||
ldx #2
|
||||
jsr Cmd.GetArgX
|
||||
beq .9
|
||||
|
||||
cmp #'-' -d -e -f
|
||||
bne .1
|
||||
>PUSHYA
|
||||
>LDYA L.CMD.IF.TOKEN2 -d -e -f ?
|
||||
jsr CMD.Search
|
||||
bcs .1
|
||||
|
||||
jsr Cmd.NextCharPtr2NB
|
||||
beq .9
|
||||
jmp (J.CMD.IF.TOKEN2,x)
|
||||
|
||||
.1
|
||||
|
||||
|
||||
.1 >DEBUG
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
>LDYA ZPCMDBuf
|
||||
>SYSCALL puts
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 jmp Cmd.Exec.ERRSYN
|
||||
*--------------------------------------
|
||||
CMD.CheckIO >LDYA L.CMD.IO
|
||||
jsr CMD.Search
|
||||
bcs .9 not a IO token...should be an arg....
|
||||
phx
|
||||
|
||||
jsr CMD.NextCmdBufToken skip this IO token
|
||||
|
||||
plx
|
||||
jmp (J.CMD.IO,x)
|
||||
|
||||
.9 lda #0
|
||||
rts
|
||||
*--------------------------------------
|
||||
CMD.IO.AMP >LDA.G CMD.PSFlags
|
||||
and #$ff^S.PS.F.HOLD
|
||||
sta (pData),y
|
||||
CMD.IF.D
|
||||
CMD.IF.E
|
||||
CMD.IF.F
|
||||
clc
|
||||
rts
|
||||
|
||||
CMD.IO.PIPE
|
||||
clc
|
||||
rts
|
||||
|
||||
CMD.IO.IN lda #O.RDONLY+O.TEXT
|
||||
jsr CMD.IO.Open
|
||||
bcs .9
|
||||
jsr IO.Set.In
|
||||
|
||||
jsr CMD.NextCmdBufToken skip arg
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
CMD.IO.OUTA
|
||||
CMD.IO.1OUTA lda #O.WRONLY+O.APPEND+O.CREATE+O.TEXT
|
||||
bra CMD.IO.OUT.1
|
||||
CMD.IO.OUT
|
||||
CMD.IO.1OUT lda #O.WRONLY+O.TRUNC+O.CREATE+O.TEXT
|
||||
|
||||
CMD.IO.OUT.1 jsr CMD.IO.Open
|
||||
bcs .9
|
||||
jsr IO.Set.Out
|
||||
|
||||
jsr CMD.NextCmdBufToken skip arg
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
CMD.IO.2OUTA lda #O.WRONLY+O.APPEND+O.CREATE+O.TEXT
|
||||
bra CMD.IO.2OUT.1
|
||||
CMD.IO.2OUT lda #O.WRONLY+O.TRUNC+O.CREATE+O.TEXT
|
||||
|
||||
CMD.IO.2OUT.1 jsr CMD.IO.Open
|
||||
bcs .9
|
||||
jsr IO.Set.Err
|
||||
|
||||
jsr CMD.NextCmdBufToken skip arg
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CMD.IO.Open pha
|
||||
lda (ZPCMDBuf)
|
||||
beq .9 no arg left....
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI S.FI.T.TXT ftype
|
||||
pla
|
||||
>PUSHA flags
|
||||
>LDYA ZPCMDBuf
|
||||
>SYSCALL fopen
|
||||
rts
|
||||
|
||||
.9 pla
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CMD.NextCmdBufToken
|
||||
lda (ZPCMDBuf)
|
||||
@ -775,13 +785,14 @@ CMD.AddYAToArgV >STYA ZPPtr1
|
||||
rts
|
||||
*--------------------------------------
|
||||
CMD.Search >STYA ZPPtr2
|
||||
>PULLW ZPPtr1
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 phx
|
||||
|
||||
>PUSHW ZPPtr2
|
||||
>LDYA ZPCMDBuf
|
||||
>LDYA ZPPtr1
|
||||
>SYSCALL StrCaseCmp
|
||||
bcs .2
|
||||
|
||||
|
@ -25,6 +25,7 @@ ZPCSHStack .EQ ZPBIN+18
|
||||
CmdLine.MAX .EQ 127
|
||||
VarLen.MAX .EQ 15
|
||||
History.MAX .EQ 256
|
||||
CMD.IF.STACK.MAX .EQ 4
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -69,7 +70,9 @@ J.CMD.INT .DA Cmd.INT.STARTPROC
|
||||
.DA Cmd.INT.CD
|
||||
.DA Cmd.INT.DATE
|
||||
.DA Cmd.INT.ECHO
|
||||
.DA Cmd.INT.ELSE
|
||||
.DA Cmd.INT.EXIT
|
||||
.DA Cmd.INT.FI
|
||||
.DA Cmd.INT.IF
|
||||
.DA Cmd.INT.PAUSE
|
||||
.DA Cmd.INT.PWD
|
||||
@ -87,6 +90,12 @@ J.CMD.IO .DA CMD.IO.AMP
|
||||
.DA CMD.IO.1OUT
|
||||
.DA CMD.IO.2OUTA
|
||||
.DA CMD.IO.2OUT
|
||||
L.CMD.IF.TOKEN1 .DA CMD.IF.TOKEN1
|
||||
L.CMD.IF.TOKEN2 .DA CMD.IF.TOKEN2
|
||||
J.CMD.IF.TOKEN2 .DA CMD.IF.D
|
||||
.DA CMD.IF.E
|
||||
.DA CMD.IF.F
|
||||
L.CMD.IF.TOKEN3 .DA CMD.IF.TOKEN3
|
||||
L.CSH.BOPS .DA CSH.BOPS
|
||||
J.CSH.BOPS .DA CSH.BOPS.ADD
|
||||
.DA CSH.BOPS.SUB
|
||||
@ -397,7 +406,9 @@ CMD.INT .AZ "STARTPROC"
|
||||
.AZ "CD"
|
||||
.AZ "DATE"
|
||||
.AZ "ECHO"
|
||||
.AZ "ELSE"
|
||||
.AZ "EXIT"
|
||||
.AZ "FI"
|
||||
.AZ "IF"
|
||||
.AZ "PAUSE"
|
||||
.AZ "PWD"
|
||||
@ -418,8 +429,16 @@ CMD.IO .AZ "&"
|
||||
.AZ "2>"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
CMD.IF.Chars .AS "def"
|
||||
CMD.IF.Chars.Cnt .EQ *-CMD.IF.Chars
|
||||
CMD.IF.TOKEN1 .AZ "["
|
||||
.AZ "!["
|
||||
.HS 00
|
||||
CMD.IF.TOKEN2 .AZ "-d"
|
||||
.AZ "-e"
|
||||
.AZ "-f"
|
||||
.HS 00
|
||||
CMD.IF.TOKEN3 .AZ "-eq"
|
||||
.AZ "-ne"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
.INB /A2OSX.SRC/SBIN/SHELL.C.CSH
|
||||
.INB /A2OSX.SRC/X.ERRORS.S
|
||||
@ -454,7 +473,10 @@ CMD.VarName.LEN .BS 1
|
||||
CMD.VarName .BS VarLen.MAX+1
|
||||
CMD.Stat .BS S.STAT
|
||||
CMD.Time .BS S.TIME
|
||||
CMD.IFNOT .BS 1
|
||||
|
||||
CMD.IF.NOT .BS 1
|
||||
CMD.IF.PTR .BS 1
|
||||
CMD.IF.STACK .BS CMD.IF.STACK.MAX
|
||||
|
||||
HIS.hBuf .BS 1
|
||||
HIS.Count .BS 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user