mirror of
https://github.com/A2osX/A2osX.git
synced 2025-08-09 23:25:15 +00:00
Kernel 0.94
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -316,14 +316,12 @@ CSH.DIR.INCLUDE >STZ.G PathBuf
|
|||||||
>LDA.G hIncludeBuf
|
>LDA.G hIncludeBuf
|
||||||
bne .90
|
bne .90
|
||||||
|
|
||||||
>PUSHW pData
|
|
||||||
>PUSHBI O.RDONLY
|
|
||||||
>PUSHBI S.FI.T.TXT
|
>LDYA pData
|
||||||
>PUSHWZ Aux type
|
jsr CS.RUN.LoadFile
|
||||||
>SYSCALL LoadTxtFile
|
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
txa
|
|
||||||
>STA.G hIncludeBuf
|
>STA.G hIncludeBuf
|
||||||
|
|
||||||
rts
|
rts
|
||||||
@@ -456,11 +454,6 @@ CSH.AddSymbol >LDA.G CSH.hSymbols
|
|||||||
>PUSHWI ZPVarDef
|
>PUSHWI ZPVarDef
|
||||||
>PUSHWI 6
|
>PUSHWI 6
|
||||||
>SYSCALL SListAddData
|
>SYSCALL SListAddData
|
||||||
* bcs .9
|
|
||||||
|
|
||||||
* lda #'*'
|
|
||||||
* jsr DEBUG.VAR
|
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
.99 lda #CSH.E.OOM
|
.99 lda #CSH.E.OOM
|
||||||
@@ -528,8 +521,6 @@ CSH.SetVarValueFromStack
|
|||||||
cpy ZPVarSizeOf
|
cpy ZPVarSizeOf
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
* lda #'>'
|
|
||||||
* jsr DEBUG.VAR
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@@ -929,20 +920,6 @@ CSH.GetVarSize txa
|
|||||||
lda #2
|
lda #2
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEBUG.VAR >SYSCALL PutChar
|
|
||||||
>PUSHW L.MSG.DBGVAR
|
|
||||||
>PUSHW ZPVarID
|
|
||||||
>PUSHW ZPVarType
|
|
||||||
>PUSHW ZPVarSizeOf
|
|
||||||
>PUSHW ZPVarDataPtr
|
|
||||||
ldy #3
|
|
||||||
.1 >PUSHB (ZPVarDataPtr),y
|
|
||||||
dey
|
|
||||||
bpl .1
|
|
||||||
>PUSHBI 12
|
|
||||||
>SYSCALL PrintF
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/bin/csh.s.core
|
SAVE usr/src/bin/csh.s.core
|
||||||
LOAD usr/src/bin/csh.s
|
LOAD usr/src/bin/csh.s
|
||||||
|
@@ -66,7 +66,6 @@ L.MSG.USAGE .DA MSG.USAGE
|
|||||||
L.MSG.ECHOCRLF .DA MSG.ECHOCRLF
|
L.MSG.ECHOCRLF .DA MSG.ECHOCRLF
|
||||||
L.MSG.DEBUG .DA MSG.DEBUG
|
L.MSG.DEBUG .DA MSG.DEBUG
|
||||||
L.MSG.ERR .DA MSG.ERR
|
L.MSG.ERR .DA MSG.ERR
|
||||||
L.MSG.DBGVAR .DA MSG.DBGVAR
|
|
||||||
L.ENV.INCLUDE .DA ENV.INCLUDE
|
L.ENV.INCLUDE .DA ENV.INCLUDE
|
||||||
.INB usr/src/bin/csh.r
|
.INB usr/src/bin/csh.r
|
||||||
.DA 0
|
.DA 0
|
||||||
@@ -150,18 +149,11 @@ CS.RUN.ARGS inc ArgIndex
|
|||||||
.4 >LDA.G hFileBuf
|
.4 >LDA.G hFileBuf
|
||||||
bne .90
|
bne .90
|
||||||
|
|
||||||
>PUSHW ZPPtr1
|
>LDYA ZPPtr1
|
||||||
>PUSHBI O.RDONLY
|
jsr CS.RUN.LoadFile
|
||||||
>PUSHBI S.FI.T.TXT
|
|
||||||
>PUSHWZ Aux type
|
|
||||||
>SYSCALL LoadTxtFile
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
txa
|
|
||||||
>STA.G hFileBuf
|
>STA.G hFileBuf
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA ZPFileBuf
|
|
||||||
>STYA ZPFileBufPtr
|
|
||||||
bra CS.RUN.ARGS
|
bra CS.RUN.ARGS
|
||||||
|
|
||||||
.7 >LDA.G hFileBuf
|
.7 >LDA.G hFileBuf
|
||||||
@@ -178,6 +170,22 @@ CS.RUN.ARGS inc ArgIndex
|
|||||||
sec QUIT Process
|
sec QUIT Process
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.RUN.LoadFile >PUSHYA
|
||||||
|
>PUSHBI O.RDONLY
|
||||||
|
>PUSHBI S.FI.T.TXT
|
||||||
|
>PUSHWZ Aux type
|
||||||
|
>SYSCALL LoadTxtFile
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
phx
|
||||||
|
txa
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>STYA ZPFileBuf
|
||||||
|
>STYA ZPFileBufPtr
|
||||||
|
pla
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@@ -309,7 +317,6 @@ MSG.USAGE .AS "Usage : CSH <option> file\r\n"
|
|||||||
MSG.ECHOCRLF .AZ "\r\n"
|
MSG.ECHOCRLF .AZ "\r\n"
|
||||||
MSG.DEBUG .AZ "pStack=%H"
|
MSG.DEBUG .AZ "pStack=%H"
|
||||||
MSG.ERR .AZ "^\r\nLine #%D:"
|
MSG.ERR .AZ "^\r\nLine #%D:"
|
||||||
MSG.DBGVAR .AZ "K=%H, T=%H, S=%H, P=%H, V=%L\r\n"
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ENV.INCLUDE .AZ "INCLUDE"
|
ENV.INCLUDE .AZ "INCLUDE"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@@ -39,9 +39,13 @@ CS.START cld
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 .DA CS.INIT
|
.1 .DA CS.INIT
|
||||||
.DA CS.RUN
|
.DA CS.RUN
|
||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.MSG.CTRLR .DA MSG.CTRLR
|
L.MSG.CTRLR .DA MSG.CTRLR
|
||||||
|
.DO INITDDBG=1
|
||||||
|
L.MSG.OK .DA MSG.OK
|
||||||
|
L.MSG.KO .DA MSG.KO
|
||||||
|
.FIN
|
||||||
L.ETCINIT .DA ETCINIT
|
L.ETCINIT .DA ETCINIT
|
||||||
L.CMDS .DA BINSH
|
L.CMDS .DA BINSH
|
||||||
.DA BINMEM
|
.DA BINMEM
|
||||||
@@ -64,7 +68,7 @@ CS.RUN ldy #S.PS.PID
|
|||||||
bcs .99
|
bcs .99
|
||||||
tay
|
tay
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
@@ -73,32 +77,32 @@ CS.RUN ldy #S.PS.PID
|
|||||||
|
|
||||||
>LDYA L.MSG.CTRLR
|
>LDYA L.MSG.CTRLR
|
||||||
>SYSCALL PutS
|
>SYSCALL PutS
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
jsr CS.RUN.EXEC.X
|
jsr CS.RUN.EXEC.X
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
|
||||||
.1 jsr CS.RUN.ETCINIT
|
.1 jsr CS.RUN.ETCINIT
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
.2 >SYSCALL GetChar
|
.2 >SYSCALL GetChar
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
cmp #C.CR Ctrl.M
|
cmp #C.CR Ctrl.M
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
ldx #2
|
ldx #2
|
||||||
jsr CS.RUN.EXEC.X
|
jsr CS.RUN.EXEC.X
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.3 cmp #16 Ctrl.P
|
.3 cmp #16 Ctrl.P
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
ldx #4
|
ldx #4
|
||||||
jsr CS.RUN.EXEC.X
|
jsr CS.RUN.EXEC.X
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.4 cmp #12 Ctrl.L
|
.4 cmp #12 Ctrl.L
|
||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
@@ -107,14 +111,14 @@ CS.RUN ldy #S.PS.PID
|
|||||||
|
|
||||||
.5 cmp #4 Ctrl.D
|
.5 cmp #4 Ctrl.D
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
ldx #8
|
ldx #8
|
||||||
jsr CS.RUN.EXEC.X
|
jsr CS.RUN.EXEC.X
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.SYN
|
.9 lda #E.SYN
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
@@ -123,55 +127,73 @@ CS.RUN.ETCINIT >LDYAI 256
|
|||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
>STYA BufPtr
|
>STYA BufPtr
|
||||||
stx hBuf
|
stx hBuf
|
||||||
|
|
||||||
>PUSHW L.ETCINIT
|
>PUSHW L.ETCINIT
|
||||||
>PUSHBI O.RDONLY+O.TEXT
|
>PUSHBI O.RDONLY+O.TEXT
|
||||||
>PUSHBI S.FI.T.TXT
|
>PUSHBI S.FI.T.TXT
|
||||||
>PUSHWZ
|
>PUSHWZ
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .90
|
bcc .10
|
||||||
|
|
||||||
sta hFile
|
pha
|
||||||
|
jsr .81
|
||||||
|
pla
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
.10 sta hFile
|
||||||
|
|
||||||
.1 >PUSHWI 256
|
.1 >PUSHWI 256
|
||||||
>PUSHW BufPtr
|
>PUSHW BufPtr
|
||||||
lda hFile
|
lda hFile
|
||||||
>SYSCALL FGetS
|
>SYSCALL FGetS
|
||||||
bcs .80
|
bcs .80
|
||||||
|
|
||||||
lda (BufPtr)
|
lda (BufPtr)
|
||||||
cmp #'#'
|
cmp #'#'
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
.DO INITDDBG=1
|
.DO INITDDBG=1
|
||||||
>LDYA BufPtr
|
>PUSHW BufPtr
|
||||||
>SYSCALL PutS
|
>PUSHBI 0
|
||||||
|
>SYSCALL PrintF
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
>PUSHW BufPtr
|
>PUSHW BufPtr
|
||||||
>PUSHBI S.PS.F.NOHUP+S.PS.F.HOLD
|
>PUSHBI S.PS.F.NOHUP+S.PS.F.HOLD
|
||||||
>SYSCALL ExecL
|
>SYSCALL ExecL
|
||||||
|
.DO INITDDBG=1
|
||||||
|
bcs .2
|
||||||
|
|
||||||
|
>LDYA L.MSG.OK
|
||||||
|
>SYSCALL PutS
|
||||||
|
|
||||||
|
.FIN
|
||||||
>SLEEP
|
>SLEEP
|
||||||
bra .1
|
bra .1
|
||||||
|
.DO INITDDBG=1
|
||||||
.90 pha
|
|
||||||
jsr .81
|
.2 tax
|
||||||
pla
|
>PUSHW L.MSG.KO
|
||||||
sec
|
txa
|
||||||
rts
|
>PUSHA
|
||||||
|
>PUSHBI 1
|
||||||
|
>SYSCALL PrintF
|
||||||
|
jmp .1
|
||||||
|
.FIN
|
||||||
|
|
||||||
.80 lda hFile
|
.80 lda hFile
|
||||||
>SYSCALL FClose
|
>SYSCALL FClose
|
||||||
|
|
||||||
.81 lda hBuf
|
.81 lda hBuf
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.EXEC.X >PUSHW L.CMDS,x
|
CS.RUN.EXEC.X >PUSHW L.CMDS,x
|
||||||
>PUSHBI S.PS.F.HOLD
|
>PUSHBI S.PS.F.HOLD
|
||||||
>SYSCALL ExecL
|
>SYSCALL ExecL
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
rts
|
rts
|
||||||
@@ -186,6 +208,10 @@ CS.QUIT lda #MLIQUIT
|
|||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.CTRLR .AZ "INITD:Entering ROOT mode..."
|
MSG.CTRLR .AZ "INITD:Entering ROOT mode..."
|
||||||
|
.DO INITDDBG=1
|
||||||
|
MSG.OK .AZ " [OK]"
|
||||||
|
MSG.KO .AZ " [%h]\r\n"
|
||||||
|
.FIN
|
||||||
ETCINIT .AZ "${ROOT}etc/init"
|
ETCINIT .AZ "${ROOT}etc/init"
|
||||||
BINSH .AZ "${ROOT}bin/sh"
|
BINSH .AZ "${ROOT}bin/sh"
|
||||||
BINMEM .AZ "${ROOT}bin/mem"
|
BINMEM .AZ "${ROOT}bin/mem"
|
||||||
|
Reference in New Issue
Block a user