mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-27 00:30:55 +00:00
Kernel 0.9.1 : Code reorganization & move to CSTR (SHELL)
This commit is contained in:
parent
b057d6e2f5
commit
07fb258787
Binary file not shown.
Binary file not shown.
@ -53,7 +53,7 @@ CSH.Run jsr CSH.GetBuf
|
||||
jsr CSH.GetPtrs
|
||||
|
||||
lda #0
|
||||
sta (pData) Reset Cmdline
|
||||
>SETG.A CmdBuflen Reset Cmdline
|
||||
|
||||
jsr CSH.GetCharNB
|
||||
bcs .9
|
||||
@ -125,6 +125,10 @@ CSH.Run jsr CSH.GetBuf
|
||||
|
||||
jsr CSH.RestorePtr Restore ptr to get full cmd line to execute
|
||||
|
||||
>GETG.A hCmdBuf Get the buffer
|
||||
>SYSCALL GetMemPtr.A
|
||||
|
||||
|
||||
jsr CSH.GetCharNB
|
||||
|
||||
ldy #0
|
||||
|
@ -120,21 +120,14 @@ CS.INIT jsr SetPWD
|
||||
>PUSHYA
|
||||
>SYSCALL LoadFile
|
||||
bcs .9
|
||||
|
||||
phy
|
||||
ldy #CSH.BufLen+1
|
||||
sta (pData),y
|
||||
dey
|
||||
pla
|
||||
sta (pData),y
|
||||
>DEBUG
|
||||
>SETG.YA CSH.BufLen+1
|
||||
|
||||
txa
|
||||
ldy #CSH.hBuf
|
||||
sta (pData),y
|
||||
>SETG.A CSH.hBuf
|
||||
|
||||
ldy #bExitOnEOF
|
||||
lda #$FF
|
||||
sta (pData),y
|
||||
>SETG.A bExitOnEOF
|
||||
|
||||
jmp CSH.Init
|
||||
|
||||
@ -144,7 +137,6 @@ CS.INIT jsr SetPWD
|
||||
>LDYA L.MSG.GREETINGS
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN >GETG.A bReadMode READ Command ?
|
||||
@ -201,7 +193,7 @@ CS.RUN >GETG.A bReadMode READ Command ?
|
||||
|
||||
jsr HIS.Add
|
||||
|
||||
>LDYA pData
|
||||
>LDYA ZPBufBase
|
||||
jsr Cmd.ExecYA
|
||||
|
||||
ldy #S.PS.RC
|
||||
@ -255,7 +247,9 @@ CS.RUN.READ >GETG.A hCmdBuf Get the buffer
|
||||
plp
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.BATCH jsr CSH.Run
|
||||
CS.RUN.BATCH >DEBUG
|
||||
|
||||
jsr CSH.Run
|
||||
bcs .9
|
||||
|
||||
lda (pData)
|
||||
@ -610,15 +604,17 @@ hCmdBuf .BS 1
|
||||
CmdBuflen .BS 1
|
||||
bCmdBufexec .BS 1
|
||||
|
||||
bReadMode .BS 1
|
||||
|
||||
bEscMode .BS 1
|
||||
bPause .BS 1
|
||||
bExit .BS 1
|
||||
bEcho .BS 1
|
||||
bSecureRead .BS 1
|
||||
bExitOnEOF .BS 1
|
||||
|
||||
bReadMode .BS 1
|
||||
bSecureRead .BS 1
|
||||
|
||||
Sleep .BS 4
|
||||
|
||||
VarBuffer .BS 16
|
||||
|
||||
HIS.hBuf .BS 1
|
||||
|
@ -17,7 +17,7 @@ CORE.Run jsr CORE.TskMgrRun
|
||||
jsr CORE.DispatchEvents
|
||||
bcc .4 CC=All Events Dispatched
|
||||
|
||||
jsr PS.Select0
|
||||
jsr CORE.PSSelect0
|
||||
|
||||
lda #EvtMgr.Table
|
||||
sta pEvent
|
||||
@ -115,8 +115,11 @@ CORE.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0
|
||||
beq .8
|
||||
|
||||
lda (pPs) get S.PS.F
|
||||
bit #S.PS.F.INUSE In use ?
|
||||
beq .7
|
||||
|
||||
* bit #S.PS.F.INUSE In use ?
|
||||
* beq .7
|
||||
|
||||
bpl .7
|
||||
|
||||
bit #S.PS.F.HOLD Waiting for Another Task to Terminate?
|
||||
beq .2
|
||||
@ -130,7 +133,7 @@ CORE.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0
|
||||
and #$FF^S.PS.F.HOLD unmark as HOLD
|
||||
sta (pPs)
|
||||
|
||||
.2 jsr PS.Select
|
||||
.2 jsr CORE.PSSelect
|
||||
|
||||
lda (pPS)
|
||||
bit #S.PS.F.INIT
|
||||
@ -189,6 +192,55 @@ CORE.TskMgrRun >LDYAI TskMgr.Table+S.PS skip PS 0
|
||||
bcs .1 Always
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CORE.PSSelect0 >LDYAI TskMgr.Table Select PS0
|
||||
>STYA pPs
|
||||
|
||||
lda K.STACK+$ff
|
||||
>STYA pStack
|
||||
rts
|
||||
*--------------------------------------
|
||||
CORE.PSSelect ldy #S.PS.hCS
|
||||
lda (pPs),y
|
||||
|
||||
jsr K.GetMemPtr.A
|
||||
>STYA pCode
|
||||
|
||||
iny
|
||||
* ldy #S.PS.hDS
|
||||
lda (pPs),y
|
||||
beq .1
|
||||
|
||||
jsr K.GetMemPtr.A
|
||||
>STYA pData
|
||||
|
||||
.1 iny
|
||||
* ldy #S.PS.hSS
|
||||
lda (pPs),y
|
||||
jsr K.GetMemPtr.A
|
||||
>STYA pStack
|
||||
|
||||
iny
|
||||
* ldy #S.PS.SP
|
||||
lda pStack
|
||||
clc
|
||||
adc (pPs),y
|
||||
sta pStack
|
||||
bcc .8
|
||||
inc pStack+1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CORE.PSLeave ldy #S.PS.hSS
|
||||
lda (pPs),y
|
||||
jsr K.GetMemPtr.A
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
* CORE.GetEvents :
|
||||
@ -298,7 +350,7 @@ CORE.DispatchEvents
|
||||
bit #S.PS.F.EVENT Accept Events ?
|
||||
beq .4
|
||||
|
||||
jsr PS.Select
|
||||
jsr CORE.PSSelect
|
||||
|
||||
lda #EvtMgr.Table
|
||||
sta pEvent Select first event in list
|
||||
|
@ -139,6 +139,7 @@ Kernel.Init3 sta SETALTZP
|
||||
phx Save Expanded CMDLINE for discard
|
||||
|
||||
>SYSCALL CreateProcessYA
|
||||
|
||||
bcs .9
|
||||
pla
|
||||
>SYSCALL FreeMem.A ...discard...
|
||||
@ -146,9 +147,6 @@ Kernel.Init3 sta SETALTZP
|
||||
>LDYAI MSG.Init3.OK
|
||||
>SYSCALL PrintF.YA
|
||||
|
||||
>LDYAI TskMgr.Table
|
||||
>STYA pPs
|
||||
|
||||
>DEBUGOA
|
||||
|
||||
jmp CORE.Run
|
||||
|
@ -453,22 +453,49 @@ K.GetMemByID.A sta ZPMemMgrSPtr
|
||||
* A = SYS error code
|
||||
*\--------------------------------------
|
||||
K.NewStr.YA >STYA .1+1
|
||||
>STYA .
|
||||
|
||||
.1 lda $ffff,
|
||||
|
||||
|
||||
|
||||
>STYA .4+1
|
||||
|
||||
ldy #0
|
||||
stz MemMgr.ReqFlags
|
||||
jsr K.GemMem.YA
|
||||
stz MemMgr.ReqSize+1
|
||||
|
||||
.1 lda $ffff,y
|
||||
beq .2
|
||||
iny
|
||||
bne .1
|
||||
inc MemMgr.ReqSize+1
|
||||
inc .1+2
|
||||
bne .1
|
||||
|
||||
.2 iny
|
||||
bne .3
|
||||
inc MemMgr.ReqSize+1
|
||||
|
||||
.3 sty MemMgr.ReqSize
|
||||
|
||||
jsr K.GetMem.I
|
||||
bcs .9
|
||||
>STYA .5+1
|
||||
|
||||
phy
|
||||
pha
|
||||
|
||||
ldy #0
|
||||
|
||||
.4 lda $ffff,y
|
||||
.5 sta $ffff,y
|
||||
beq .8
|
||||
iny
|
||||
bne .4
|
||||
|
||||
inc .4+2
|
||||
inc .5+2
|
||||
bne .4
|
||||
|
||||
|
||||
.8 pla
|
||||
ply
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
K.LoadStkObj.YA
|
||||
*--------------------------------------
|
||||
|
@ -341,14 +341,15 @@ PS.Init jsr BIN.Load.YA Y,A=filename full path
|
||||
|
||||
.2 ldy #H.BIN.EXE.SS.SIZE
|
||||
lda (ZPPtr4),y Load SS.SIZE.LO
|
||||
pha
|
||||
pha Save it....
|
||||
|
||||
dec
|
||||
dec set SP to top
|
||||
|
||||
ldy #S.PS.SP
|
||||
sta (ZPPtr3),y
|
||||
|
||||
phy SS.SIZE.LO....
|
||||
lda #0 set SS.SIZE.HI
|
||||
ply get back SS.SIZE.LO....
|
||||
|
||||
bne .3 SS.SIZE=0, set as default $100
|
||||
inc SS.SIZE.HI
|
||||
@ -400,55 +401,6 @@ PS.Free.A.PsY lda (ZPPtr1),y
|
||||
beq PS.Free.A.RTS
|
||||
jmp K.FreeMem.A
|
||||
*--------------------------------------
|
||||
PS.Select0 >LDYAI TskMgr.Table Select PS0
|
||||
>STYA pPs
|
||||
|
||||
lda K.STACK+$ff
|
||||
>STYA pStack
|
||||
rts
|
||||
*--------------------------------------
|
||||
PS.Select ldy #S.PS.hCS
|
||||
lda (pPs),y
|
||||
|
||||
jsr K.GetMemPtr.A
|
||||
>STYA pCode
|
||||
|
||||
iny
|
||||
* ldy #S.PS.hDS
|
||||
lda (pPs),y
|
||||
beq .1
|
||||
|
||||
jsr K.GetMemPtr.A
|
||||
>STYA pData
|
||||
|
||||
.1 iny
|
||||
* ldy #S.PS.hSS
|
||||
lda (pPs),y
|
||||
jsr K.GetMemPtr.A
|
||||
>STYA pStack
|
||||
|
||||
iny
|
||||
* ldy #S.PS.SP
|
||||
lda pStack
|
||||
clc
|
||||
adc (pPs),y
|
||||
sta pStack
|
||||
bcc .8
|
||||
inc pStack+1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PS.Leave ldy #S.PS.hSS
|
||||
lda (pPs),y
|
||||
jsr K.GetMemPtr.A
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
* PS.DupEnv.A
|
||||
* In:
|
||||
* A = ENV hMem To Duplicate
|
||||
|
Loading…
x
Reference in New Issue
Block a user