Kernel 0.9.1 : Code reorganization & move to CSTR : External commands

This commit is contained in:
Rémy GIBERT 2017-09-18 08:30:07 +02:00
parent 16d47d5902
commit 0bb04a48a0
9 changed files with 65 additions and 59 deletions

Binary file not shown.

Binary file not shown.

View File

@ -115,7 +115,7 @@ CS.INIT >SYSCALL GetArgC
clc
.9 rts
*--------------------------------------
CS.RUN >SYSCALL GetC
CS.RUN >SYSCALL GetChar
bcs .10 no char
cmp #$03 Ctrl-C
@ -144,7 +144,7 @@ CS.RUN >SYSCALL GetC
>SYSCALL GetMemPtr.A
>PUSHYA
>PUSHW ZPFileName
>SYSCALL PStrMatch
>SYSCALL StrMatch
bcs .8 no match, skip....
.4 ldy #S.STAT.P.DRIVE

View File

@ -223,20 +223,24 @@ SYS.ChTyp .EQ $68
SYS.ChMod .EQ $6A
SYS.ChOwn .EQ $6C
SYS.ChGrp .EQ $6E
*--------------------------------------
SYS.StrLen.YA .EQ $70
SYS.StrCpy .EQ $72
SYS.StrCat .EQ $74
SYS.StrMatch .EQ $76
SYS.StrUpr.YA .EQ $78
SYS.StrLwr.YA .EQ $7A
SYS.StrFTime .EQ $7C
* .EQ $7E
SYS.AToF .EQ $80
SYS.AToI.YA .EQ $82
SYS.AToL .EQ $84
* .EQ $86-$8E
SYS.AToF .EQ $70
SYS.AToI.YA .EQ $72
SYS.AToL .EQ $74
* .EQ $76
* .EQ $78
* .EQ $7A
* .EQ $7C
* .EQ $7E
*--------------------------------------
SYS.StrLen.YA .EQ $80
SYS.StrCpy .EQ $82
SYS.StrCat .EQ $84
SYS.StrMatch .EQ $86
SYS.StrUpr.YA .EQ $88
SYS.StrLwr.YA .EQ $8A
SYS.StrFTime .EQ $8C
* .EQ $8E
SYS.TimeYA .EQ $90
SYS.CTime2Time .EQ $92

View File

@ -40,15 +40,9 @@ L.MSG.LOAD .DA MSG.LOAD
CS.INIT ldy #S.PS.ARGC
lda (pPs),y
bne .1
beq .9
>LDYA L.MSG.HELP
>SYSCALL PrintF.YA
lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory
rts
.1 lda #1 get PTR to ARG[1] (Driver name)
lda #1 get PTR to ARG[1] (Driver name)
>SYSCALL GetArg.A
>PUSHYA
@ -63,6 +57,12 @@ CS.INIT ldy #S.PS.ARGC
lda #0 success, but....
sec we do not want to stay in memory
rts
.9 >LDYA L.MSG.HELP
>SYSCALL PrintF.YA
lda #0 tell TSKMGR that all done ok, but
sec we do not want to stay in memory
.99 rts
*--------------------------------------
CS.RUN

View File

@ -98,7 +98,7 @@ CS.RUN.REPaint >LDYA L.MSG.FCONF
jsr CS.RUN.DumpConfYA
CS.RUN.Loop >SYSCALL Sleep
>SYSCALL GetC
>SYSCALL GetChar
bcs CS.RUN.Loop
cmp #17 Ctrl-Q
@ -178,7 +178,7 @@ CS.RUN.ToggleSlotA
sta (ZPTmp1),y
rts
*--------------------------------------
CS.RUN.Load >PUSHWI UsrBuf256
CS.RUN.Load >LEA.G StatBuf
ldy #hFileName
lda (pData),y
>SYSCALL GetMemPtr.A
@ -195,7 +195,7 @@ CS.RUN.Load >PUSHWI UsrBuf256
* ora UsrBuf256+S.STAT.SIZE+3
* bne .99
lda UsrBuf256+S.STAT.P.TYPE
>LDA.G StatBuf+S.STAT.P.TYPE
eor #6
bne .99
@ -340,7 +340,7 @@ SLOTS .DA #0
.DA #A2osX.SLOTS.DISABLE
SLOTS.MAX .EQ *-SLOTS
*--------------------------------------
FILENAME >PSTR "${A2OSX}A2osX.KCONFIG"
FILENAME >CSTR "${A2OSX}A2osX.KCONFIG"
MSG.TOPBAR >CSTR "\ec\e[7m\e[1;1HA2osX Kernel Config Utility : "
MSG.TOPBAR.OK >CSTR "KCONFIG File Successfully Loaded. \e[0m"
MSG.TOPBAR.KO >CSTR "Invalid/missing KCONFIG File. \e[0m"
@ -372,6 +372,7 @@ MSG.QUIT.ERR >CSTR "\ecError [$%h] While Writing KCONFIG File.\r\n\r\n"
DS.START
hFileName .BS 1
hFileBuf .BS 1
StatBuf .BS S.STAT
DS.END .ED
MAN
SAVE /A2OSX.SRC/SBIN/KCONFIG.S

View File

@ -146,7 +146,6 @@ CS.RUN >LDA.G bReadMode READ Command ?
>STYA ZPCMDBuf
jsr CmdLine.RESET reset it
>STA.G bSecureRead Clear password mode
.12 jsr PrintPrompt
bcs CS.RUN.EXIT.RTS
@ -470,7 +469,7 @@ PrintPrompt >LDYA L.ENV.PS1
>SYSCALL FreeMem.A
pla
plp
.9 rts
rts
*--------------------------------------
CmdLine.CLR ldy #0
@ -508,8 +507,10 @@ CmdLine.PRINT >LDYA ZPCMDBuf
*--------------------------------------
CmdLine.RESET lda #0
sta (ZPCMDBuf)
>STA.G bCmdBufexec
>STA.G CmdBuflen
>STA.G bCmdBufExec
>STA.G bSecureRead Clear password mode
rts
*--------------------------------------
.INB /A2OSX.SRC/SBIN/SHELL.S.CMD

View File

@ -70,19 +70,8 @@ K.SYSCALL.JMP .DA 0 $00
.DA K.ChMod
.DA K.ChOwn
.DA K.ChGrp
*--------------------------------------
* Bank 2
*--------------------------------------
.DA K.StrLen.YA $70
.DA K.StrCpy
.DA K.StrCat
.DA K.StrMatch
.DA K.StrUpr.YA
.DA K.StrLwr.YA
.DA K.StrFTime
.DA 0
.DA K.AToF $80
.DA K.AToF $70
.DA K.AToI.YA
.DA K.AToL
.DA 0
@ -90,6 +79,17 @@ K.SYSCALL.JMP .DA 0 $00
.DA 0
.DA 0
.DA 0
*--------------------------------------
* Bank 2
*--------------------------------------
.DA K.StrLen.YA $80
.DA K.StrCpy
.DA K.StrCat
.DA K.StrMatch
.DA K.StrUpr.YA
.DA K.StrLwr.YA
.DA K.StrFTime
.DA 0
.DA K.Time.YA $90
.DA K.CTime2Time
@ -263,24 +263,24 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
*--------------------------------------
.DA #RRAMWRAMBNK2 $70
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK2
.DA #$80
.DA #RRAMWRAMBNK1 $70
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
.DA #RRAMWRAMBNK1
.DA #$80
*--------------------------------------
.DA #RRAMWRAMBNK2 $80
.DA #$80
.DA #RRAMWRAMBNK2

View File

@ -30,6 +30,7 @@ A2osX.D1 .PH $D000
.INB /A2OSX.SRC/SYS/KERNEL.S.STDIO
.INB /A2OSX.SRC/SYS/KERNEL.S.STAT
.INB /A2OSX.SRC/SYS/KERNEL.S.DIRENT
.INB /A2OSX.SRC/SYS/KERNEL.S.STDLIB
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
.INB /A2OSX.SRC/SYS/KERNEL.S.DEV
@ -37,7 +38,6 @@ A2osX.D1 .PH $D000
A2osX.D2 .PH $D000
.DA #RRAMWRAMBNK2
.INB /A2OSX.SRC/SYS/KERNEL.S.STRING
.INB /A2OSX.SRC/SYS/KERNEL.S.STDLIB
.INB /A2OSX.SRC/SYS/KERNEL.S.TIME
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
.INB /A2OSX.SRC/SYS/KERNEL.S.PS