Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-03-09 17:24:08 +01:00
parent 65f4b7a520
commit 4689a6acb2
23 changed files with 131 additions and 123 deletions

Binary file not shown.

View File

@ -91,7 +91,7 @@ DIR.BS jsr SRC.GetNextCharNB
sta DIR.Word+1
stz DIR.Byte
jsr SRC.GetNextChar
jsr SRC.GetChar
bcs .1
cmp #C.SPACE

View File

@ -268,14 +268,7 @@ MAC.ReadLine >LDA.G MAC.hBuf
bne .2
inc ZPMacroBuf+1
.2 cmp #'"'
bne .20
lda DIR.Byte
eor #$ff
sta DIR.Byte
.20 cmp #']'
.2 cmp #']'
bne .7
bit DIR.Byte
@ -310,17 +303,6 @@ MAC.ReadLine >LDA.G MAC.hBuf
jsr MAC.GetArgX
bcs .1 no arg ]n, append nothing
* lda (ZPPtr1)
* cmp #'"'
* bne .3
* inc ZPPtr1
* bne .23
* inc ZPPtr1+1
*.23 dex
* dex
.3 lda (ZPPtr1)
sta (ZPLineBuf),y
iny
@ -370,31 +352,44 @@ MAC.Push >LDA.G MAC.StkPtr
>INC.G MAC.CtxNextID
>STA.G MAC.CtxID
>LDYA ZPLinePtr
>SYSCALL StrDup Args
bcs .99
ldy #$ff
.10 iny
lda (ZPLinePtr),y
bne .10
iny
iny
lda #0
>SYSCALL GetMem
bcs MAC.ReadLine.RTS
>STYA ZPPtr2
phx
phx hArgs
ldx #0
ldx #0 arg cnt
.1 ldy #$ff
stz DIR.Byte between " flag
.2 iny
lda (ZPPtr2),y
lda (ZPLinePtr),y
beq .3
cmp #C.SPACE
cmp #C.SPACE end of args ?
bne .21
bit DIR.Byte
bne .2
lda #0
sta (ZPPtr2),y
bra .3
bit DIR.Byte
beq .3
.20 sta (ZPPtr2)
inc ZPPtr2
bne .2
inc ZPPtr2+1
bra .2
.21 cmp #'"'
bne .22
@ -405,25 +400,35 @@ MAC.Push >LDA.G MAC.StkPtr
bra .2
.22 cmp #','
bne .2
bne .20
bit DIR.Byte
bmi .20
lda #0
sta (ZPPtr2),y
sta (ZPPtr2)
tya
inc ZPPtr2
bne .23
inc ZPPtr2+1
.23 tya
beq .4
inx
sec
adc ZPPtr2
sta ZPPtr2
adc ZPLinePtr
sta ZPLinePtr
bcc .1
inc ZPPtr2+1
inc ZPLinePtr+1
bra .1
.3 tya
.3 lda #0
sta (ZPPtr2)
tya
beq .4
inx
@ -459,7 +464,7 @@ MAC.Push >LDA.G MAC.StkPtr
.9 lda #E.MACRO.TOO.MANY
sec
.99 rts
rts
*---------------------------------------
MAC.Pop >LDA.G MAC.StkPtr

View File

@ -514,7 +514,7 @@ MSG.HELP .AS "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\n"
.AS " -L : Override .LIST (C,M,X)OFF\r\n"
.AS " -T <target file> : Override .TF directive"
MSG.CRLF .AZ "\r\n"
MSG.PASS .AZ "**** Pass:#%d ****"
MSG.PASS .AZ "**** Pass:#%d"
MSG.SRC.FILE .AZ "**** Reading SRC File:%s"
MSG.OBJ.FILE .AZ "**** Writing OBJ File:%s, Type=%02x"
MSG.T.FILE .AZ "**** Loading CPU File:%s"

View File

@ -403,7 +403,7 @@ CS.RUN.OpenInput
>PUSHBI 0 Type
>PUSHBI O.RDONLY
>LDYA ZPPtr1
>SYSCALL fopen
>SYSCALL FOpen
bcs CS.RUN.GetIndexInPalette.RTS
>STA.G hInputFile

View File

@ -365,7 +365,7 @@ CFG.Read.Open stz CFG.hCfgFile
>PUSHBI S.FI.T.TXT
>PUSHBI O.RDONLY
pla
>SYSCALL fopen
>SYSCALL FOpen
bcs .9
sta CFG.hCfgFile
* clc

View File

@ -297,7 +297,7 @@ CFG.Read.Open stz CFG.hCfgFile
>PUSHBI O.RDONLY
>PUSHBI S.FI.T.TXT
>PUSHWZ
>SYSCALL fopen
>SYSCALL FOpen
bcs .9
sta CFG.hCfgFile
* clc

View File

@ -168,7 +168,7 @@ CS.RUN.PAUSE ldy #S.PS.hStdErr
>PUSHA
>PUSHW L.MSG.Pause
>PUSHBI 0
>SYSCALL fprintf
>SYSCALL FPrintF
.10 jsr CS.RUN.GETC
bcs .99
@ -208,7 +208,7 @@ CS.RUN.ERASE ldy #S.PS.hStdErr
>PUSHA
>PUSHW L.MSG.PauseErase
>PUSHBI 0
>SYSCALL fprintf
>SYSCALL FPrintF
rts
*--------------------------------------
CS.RUN.GETC lda hFILE

View File

@ -36,7 +36,7 @@ CL.READN0X
txa
>PUSHA
>PUSHBI 1
>SYSCALL sprintf
>SYSCALL SPrintF
bcs .9
lda #$ff
@ -178,10 +178,10 @@ CL.CHARIN.CTRL cpx #C.CR
.9 rts
*--------------------------------------
CL.CLR lda (ZPCLBuf)
beq CL.RESET.1
beq CL.Reset.1
>LDA.G bREAD.S
bmi CL.RESET.1
bmi CL.Reset.1
.1 >LDA.G CL.Ptr
>CMP.G CL.Len
@ -203,10 +203,10 @@ CL.CLR lda (ZPCLBuf)
jsr CL.PrintCLBuf
*--------------------------------------
CL.RESET lda #0
CL.Reset lda #0
sta (ZPCLBuf)
CL.RESET.1 >STA.G CL.Ptr
CL.Reset.1 >STA.G CL.Ptr
>STA.G CL.Len
>STA.G CL.bReady
>STA.G CL.bEscMode
@ -295,7 +295,7 @@ CL.PrintCLBuf >PUSHW ZPCLBuf
ldy #S.PS.hStdOut
lda (pPS),y
>SYSCALL fputs
>SYSCALL FPutS
rts
*--------------------------------------
MAN

View File

@ -44,7 +44,7 @@ CMD.PUSHD >LDA.G PUSHD.STACK
beq CMD.POPD.CSYN
jsr GetCWD
>SYSCALL strdup
>SYSCALL StrDup
bcs CMD.POPD.CSYN
>INC.G PUSHD.STACK
tay
@ -84,7 +84,7 @@ CMD.CD.HOME >LDYA L.HOME
CMD.CD.YA >PUSHYA
>PUSHWI 0 Allocate
>SYSCALL realpath
>SYSCALL RealPath
bcs CMD.POPD.RTS
>STYA ZPPtr1
stx ZPTmpW Save hMem
@ -144,13 +144,13 @@ CMD.SET lda (ZPArgVBufPtr)
>PUSHWZ
>PUSHWZ
>SYSCALL GetEnv
>STYA ZPPTR1
>STYA ZPPtr1
stx ZPTmpW
.1 lda (ZPPTR1)
.1 lda (ZPPtr1)
beq .8 Ending 0 ?
>LDYA ZPPTR1
>LDYA ZPPtr1
>SYSCALL PutS
bcs .9
@ -248,7 +248,7 @@ CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"
>PUSHW ZPArgVBufPtr
>PUSHBI S.PS.F.CLOSEONX
>SYSCALL execl
>SYSCALL ExecL
bcs .9
jsr IO.Pipe.In
@ -301,7 +301,7 @@ CMD.ECHO stz ZPPtr1 echo -N
.2 lda ZPPtr1+1
beq .3
lda #C.SPACE
>SYSCALL putchar
>SYSCALL PutChar
.3 jsr CMD.PrintArgVBufPtr
bcs .9
@ -446,7 +446,7 @@ CMD.REN lda (ZPArgVBufPtr)
>PUSHW ZPArgVBufPrev old path
>PUSHWI 0 Allocate
>SYSCALL realpath
>SYSCALL RealPath
bcs CMD.REN.CSYN
>STYA ZPPtr1
@ -501,7 +501,7 @@ CMD.REN lda (ZPArgVBufPtr)
>PUSHW ZPArgVBufPtr
>LDYA ZPPtr2
>SYSCALL strcat
>SYSCALL StrCat
lda ZPTmpW
>SYSCALL FreeMem
@ -700,7 +700,7 @@ CMD.BREAK jsr CORE.StkGetCtx Get context in CORE.TestResult
jsr CORE.StkGet
and #$7F
sta (pDATA),y
sta (pData),y
.8 clc
rts
@ -716,7 +716,7 @@ CMD.SWITCH jsr CORE.StkGetCtx
bcs .9
jsr EXP.GET
bcs .9
>SYSCALL strdup
>SYSCALL StrDup
bcs .9
txa
@ -755,7 +755,7 @@ CMD.CASE jsr CORE.StkGetCtx Get context in CORE.TestResult
dey get hVALUE
lda (pData),y
>SYSCALL GetMemPtr
>SYSCALL strcmp
>SYSCALL StrCmp
ror CS if !=
and #$80
eor #$80
@ -830,7 +830,7 @@ CMD.FOR jsr CORE.StkGetCtx
beq CMD.FOR.EXEC
*--------------------------------------
CMD.FOR.LIST >LDYA ZPArgVBufPtr
>SYSCALL strdup
>SYSCALL StrDup
bcs FOR.FILE.9
phy
@ -869,7 +869,7 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
>PUSHW ZPArgVBufPtr
>PUSHBI S.PS.F.CLOSEONX
>SYSCALL execl
>SYSCALL ExecL
bcs FOR.FILE.9
jsr IO.Pop.Out Restore OUT (NO close)
@ -1069,7 +1069,7 @@ CMD.NEXT.LINE jsr CMD.NEXT.GetVarNamePtr
dey
lda (pData),y hFILE/hPIPE
>SYSCALL fgets
>SYSCALL FGetS
bcs CMD.NEXT.END
>LDYA ZPCLBuf

View File

@ -294,7 +294,7 @@ CORE.ExecCmd lda #0
CORE.ExecExtCmd >PUSHW ZPArgVBuf
>PUSHB CORE.PSFlags
>SYSCALL execv
>SYSCALL ExecV
bcs .9
tax CPID
@ -313,7 +313,7 @@ CORE.ExecExtCmd >PUSHW ZPArgVBuf
txa
>PUSHA
>PUSHBI 1
>SYSCALL fprintf
>SYSCALL FPrintF
rts
.4 >SLEEP Suspend this PID
@ -650,14 +650,14 @@ CORE.StkPopCtxA and #$3F
jsr CORE.StkPullFree hVARNAME
jsr CORE.StkPullFclose hFILE/hPIPE
jsr CORE.StkPullFClose hFILE/hPIPE
ldx #2 CmdPtr
jmp CORE.StkPopX
.4 jsr CORE.StkPullFree hVARNAME
jsr CORE.StkPullFclose hFILE/hPIPE
jsr CORE.StkPullFClose hFILE/hPIPE
ldx #4 ListPtr,CmdPtr
jmp CORE.StkPopX
@ -702,7 +702,7 @@ CORE.StkPushYA.RTS
*--------------------------------------
CORE.PushVarName
>LDYA ZPVarNamePtr
>SYSCALL strdup
>SYSCALL StrDup
bcs CORE.StkPushYA.RTS
txa
*--------------------------------------

View File

@ -30,7 +30,7 @@ EXP.GET jsr CORE.ArgV.Next
>PUSHEA.G M32.BUF
>PUSHW L.FMT.Long
>PUSHBI 4 ACC on stack
>SYSCALL sprintf
>SYSCALL SPrintF
bcs .9
>LEA.G M32.BUF
rts
@ -86,7 +86,7 @@ EXP.TEST lda (ZPArgVBufPtr)
>LDYA L.EXP.OP.BINARY -eq -ne .... ?
jsr CORE.LookupArgVBuf
bcs .9
stx CORE.Operator
stx CORE.Operator
jsr EXP.TEST.BINARY
bcs .9
@ -225,7 +225,7 @@ EXP.TEST.BINARY lda CORE.Operator
>PUSHW ZPPtr1
>LDYA ZPArgVBufPtr
>SYSCALL strcmp
>SYSCALL StrCmp
bcs .1 CS if !=
lda #%010 010 str1 = str2
@ -298,7 +298,7 @@ EXP.GetInt32Arg >LDYA ZPArgVBufPtr
EXP.GetInt32YA >PUSHYA
>PUSHWI ZPPtr1
>PUSHBI 10
>SYSCALL strtol
>SYSCALL StrToL
bcs EXP.E.ESYN
lda (ZPPtr1)

View File

@ -35,13 +35,13 @@ HIS.Add >LDA.G HIS.hBuf
.1 >STZ.G HIS.Index Reset Index
>INC.G HIS.Count
.9
History.RTS rts
HIS.Add.RTS rts
*--------------------------------------
HIS.GetPrev >LDA.G HIS.hBuf
beq HISTORY.RTS
beq HIS.Add.RTS
>LDA.G HIS.Count
beq HISTORY.RTS empty history,nothing to do
beq HIS.Add.RTS empty history,nothing to do
>LDA.G HIS.Index
bne .1
@ -51,10 +51,10 @@ HIS.GetPrev >LDA.G HIS.hBuf
bra HIS.GetToCl
*--------------------------------------
HIS.GetNext >LDA.G HIS.hBuf
beq HISTORY.RTS
beq HIS.Add.RTS
>LDA.G HIS.Count
beq HISTORY.RTS empty history,nothing to do
beq HIS.Add.RTS empty history,nothing to do
>LDA.G HIS.Index
inc

View File

@ -142,14 +142,14 @@ IO.FOpenYAX >PUSHYA
>PUSHA
>PUSHBI S.FI.T.TXT
>PUSHWZ Aux type
>SYSCALL fopen
>SYSCALL FOpen
rts
*--------------------------------------
IO.StatArgVBufPtr
>LDYA ZPArgVBufPtr
IO.StatYA >PUSHYA
>PUSHW ZPCLBuf
>SYSCALL STAT
>SYSCALL Stat
bcs .9
ldy #S.STAT.P.TYPE
@ -225,7 +225,7 @@ IO.PrintBatchErrMsg
>PUSHW ZPCLBuf
>PUSHBI 2
>SYSCALL fprintf
>SYSCALL FPrintF
ldy #$ff
ldx #'-'
@ -245,33 +245,33 @@ IO.PrintBatchErrMsg
>PUSHW ZPCLBuf
>PUSHW ZPTmpW
>PUSHBI 4
>SYSCALL fprintf
>SYSCALL FPrintF
rts
*--------------------------------------
IO.PrintErrMsg ldx L.ERR.Codes
stx ZPPTR1
stx ZPPtr1
ldx L.ERR.Codes+1
stx ZPPTR1+1
stx ZPPtr1+1
ldy #S.PS.RC
lda (pPS),y
ldy #0
.1 cmp (ZPPTR1),y
.1 cmp (ZPPtr1),y
beq .2
iny
cpy #ERR.Count
bne .1
.2 lda L.ERR.Messages
sta ZPPTR1
sta ZPPtr1
lda L.ERR.Messages+1
sta ZPPTR1+1
sta ZPPtr1+1
.3 dey
bmi .8
lda (ZPPTR1)
lda (ZPPtr1)
jsr AddAp1Ptr1
bra .3
@ -284,11 +284,11 @@ IO.PrintErrMsg ldx L.ERR.Codes
lda (pPS),y
>PUSHA
>PUSHW ZPPTR1
>PUSHW ZPPtr1
>PUSHBI 3
>SYSCALL fprintf
>SYSCALL FPrintF
rts
*--------------------------------------
MAN

View File

@ -246,7 +246,7 @@ CS.RUN.LOOP >SLEEP
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .9
tay
bne CS.RUN.LOOP
@ -332,7 +332,7 @@ CS.RUN.INTERACTIVE
jsr HIS.Add
>LDYA ZPCLBuf
>SYSCALL strdup
>SYSCALL StrDup
bcs .8
jsr GetArgV Y,A=ARGV, X=strdup
@ -468,7 +468,7 @@ GetArgV.1 lda (pPS),y
*--------------------------------------
CheckLFAfterCR ldy #S.PS.hStdIn Check for any extra LF
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .9
tay

View File

@ -101,7 +101,7 @@ CS.RUN.DUMP lda ArgFile
>SYSCALL ArgV
>PUSHYA
>PUSHWI 0 Allocate
>SYSCALL Realpath
>SYSCALL RealPath
bcs CS.RUN.RTS
>STYA ZPPtr1

View File

@ -58,7 +58,7 @@ CS.RUN lda #1
>PUSHBI O.RDWR
>PUSHBI 0 type
>PUSHWZ auxtype
>SYSCALL fopen
>SYSCALL FOpen
bcs .99
stx hDev

View File

@ -115,7 +115,7 @@ CS.RUN ldy #S.PS.ARGC
>PUSHBI 0 type
>PUSHWZ auxtype
>SYSCALL fopen
>SYSCALL FOpen
bcs .99
ldy #S.PS.hStdIn

View File

@ -140,7 +140,7 @@ CS.RUN.INIT ldx #3
>PUSHYA
>PUSHWI 0 Allocate
>SYSCALL realpath
>SYSCALL RealPath
bcs CS.RUN.RTS
>STYA ZPRootDirPtr

View File

@ -117,7 +117,7 @@ CS.RUN.ETCINIT >LDYAI 256
>PUSHBI O.RDONLY+O.TEXT
>PUSHBI S.FI.T.TXT
>PUSHWZ
>SYSCALL fopen
>SYSCALL FOpen
bcs .90
sta hFile

View File

@ -190,7 +190,7 @@ CS.INIT.CONF >LDYAI 64
>PUSHBI O.RDONLY+O.TEXT
>PUSHBI S.FI.T.TXT
>PUSHWZ
>SYSCALL fopen
>SYSCALL FOpen
bcs .98
sta hNetworkFile

View File

@ -358,7 +358,10 @@ K.FreeMem tay
bne K.FreeMem.ERR
.10 jsr MEM.GetMemByID X,Y unmodified
.10 * cmp #$3D
* bne .11
* >DEBUG
.11 jsr MEM.GetMemByID X,Y unmodified
lda (ZPMemMgrSPtr) In use ?
bpl K.FreeMem.ERR

View File

@ -1,26 +1,6 @@
NEW
AUTO 3,1
*/--------------------------------------
* # StrVShift
* ## ASM
* `>PUSHB hSTRV`
* `>PUSHB index`
* `>SYSCALL StrVShift`
* ## RETURN VALUE
*\--------------------------------------
K.StrVShift >PULLA index
eor #$ff
tax
>PULLA
sta SETREADAUX
sta SETWRITEAUX
jsr STRVX.StrVShift
sta CLRREADAUX
sta CLRWRITEAUX
rts
*/--------------------------------------
* # StrVGet
* ## ASM
* `>PUSHB hSTRV`
@ -46,6 +26,26 @@ K.StrVGet >PULLW FORPNT ptr
sta CLRWRITEAUX
rts
*/--------------------------------------
* # StrVShift
* ## ASM
* `>PUSHB hSTRV`
* `>PUSHB index`
* `>SYSCALL StrVShift`
* ## RETURN VALUE
*\--------------------------------------
K.StrVShift >PULLA index
eor #$ff
tax
>PULLA
sta SETREADAUX
sta SETWRITEAUX
jsr STRVX.StrVShift
sta CLRREADAUX
sta CLRWRITEAUX
rts
*/--------------------------------------
* # StrVAdd
* ## ASM
* `>PUSHB hSTRV`