From 6ad471abcc5c2a2c7ea9efef951584bc45db29eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 31 Jul 2020 16:46:11 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CSH.D.txt | 4 +- BIN/CSH.E.txt | 4 +- BIN/CSH.I.txt | 5 +- BIN/CSH.R.txt | 5 +- BIN/CSH.S.CORE.txt | 265 +++++++++++++++++++++------------------ BIN/CSH.S.EXEC.txt | 4 +- BIN/CSH.S.txt | 31 +++-- DRV/UTHER2.AI.DRV.S.txt | 2 +- INCLUDE/a2osx.h.txt | 2 +- 10 files changed, 173 insertions(+), 149 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 9a78acd6cde12c6a6abb67596f26251f87ac0ff7..b103976ea0c33a3f8a8ccdd7b3f07b273d6f6aa8 100644 GIT binary patch delta 19140 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 Weh2&k_#fa5;7`C=;Q{=Y(D#3(16cPSTR "+" * Reserved Directives: *-------------------------------------- CSH.DIRS >PSTR "define" + >PSTR "include" .HS 00 *-------------------------------------- * Reserved Keywords: @@ -192,6 +193,6 @@ CSH.FN .DA #0 *-------------------------------------- MAN -SAVE USR/SRC/BIN/CSH.I -LOAD USR/SRC/BIN/CSH.S +SAVE usr/src/bin/csh.i +LOAD usr/src/bin/csh.s ASM diff --git a/BIN/CSH.R.txt b/BIN/CSH.R.txt index 2de398b6..2b761870 100644 --- a/BIN/CSH.R.txt +++ b/BIN/CSH.R.txt @@ -50,6 +50,7 @@ L.CSH.DIRS .DA CSH.DIRS L.CSH.KW .DA CSH.KW L.CSH.STYPES .DA CSH.STYPES J.CSH.DIRS .DA CSH.DIR.DEFINE + .DA CSH.DIR.INCLUDE J.CSH.KW .DA CSH.IF .DA CSH.WHILE .DA CSH.ELSE @@ -96,6 +97,6 @@ J.CSH.EXEC .DA EXEC.log .DA EXEC.malloc *-------------------------------------- MAN -SAVE USR/SRC/BIN/CSH.R -LOAD USR/SRC/BIN/CSH.S +SAVE usr/src/bin/csh.r +LOAD usr/src/bin/csh.s ASM diff --git a/BIN/CSH.S.CORE.txt b/BIN/CSH.S.CORE.txt index 454a908a..16e5886e 100644 --- a/BIN/CSH.S.CORE.txt +++ b/BIN/CSH.S.CORE.txt @@ -1,6 +1,6 @@ NEW AUTO 3,1 - .LIST OFF + .LIST OFF *-------------------------------------- CSH.Init >SYSCALL SListNew bcs .9 @@ -11,12 +11,12 @@ CSH.Init >SYSCALL SListNew bcs .9 >STA.G CSH.hTags - + >SYSCALL SListNew bcs .9 >STA.G CSH.hSymbols - + >LDYAI 256 >SYSCALL GetMem bcs .9 @@ -54,25 +54,25 @@ CSH.Init >SYSCALL SListNew *-------------------------------------- CSH.Quit >LDA.G CSH.hSymbols beq .1 - + >PUSHA >SYSCALL SListFree .1 >LDA.G CSH.hTags beq .2 - + >PUSHA >SYSCALL SListFree .2 >LDA.G CSH.hDefines beq .3 - + >PUSHA >SYSCALL SListFree .3 lda ZPhMacro jsr .7 - + >LDA.G hFileBuf jsr .7 @@ -83,7 +83,7 @@ CSH.Quit >LDA.G CSH.hSymbols jsr .7 >LDA.G CSH.hConst - + .7 beq CSH.Quit.RTS >SYSCALL FreeMem CSH.Quit.RTS rts @@ -93,7 +93,7 @@ CSH.Run jsr CSH.GetCharNB CSH.Run.1 cmp #C.CR empty line.... beq .2 - + cmp #'/' bne .3 comments ... @@ -139,7 +139,7 @@ CSH.Run.1 cmp #C.CR empty line.... >STYA ZPVarID jsr CSH.GetVarDef Get Type & ptr... bcs .9 - + jsr CSH.GetCharNB bcs .9 @@ -180,7 +180,7 @@ CSH.Run.1 cmp #C.CR empty line.... beq .80 jmp CSH.Run.1 - + .80 jmp CSH.GetNextChar Skip CR *-------------------------------------- CSH.COMMENTS jsr CSH.GetNextChar @@ -188,74 +188,100 @@ CSH.COMMENTS jsr CSH.GetNextChar bne .90 jmp CSH.SkipLine skip line..... - + .90 lda #CSH.E.SYNTAX sec rts *-------------------------------------- CSH.DIR jsr CSH.GetNextCharNB bcs .99 - + cmp #'!' #!/bin/csh bne .1 - - bra CSH.SkipLine - + + jmp CSH.SkipLine + .1 >LDYA L.CSH.DIRS jsr CSH.LookupID bcs .91 - + jmp (J.CSH.DIRS,x) - + .91 lda #CSH.E.INVDIR sec .99 rts *-------------------------------------- CSH.DIR.DEFINE jsr CSH.CheckSpace bcs .99 - + jsr CSH.IsLetter bcs .90 - + >LDA.G CSH.hDefines jsr CSH.NewKey bcs .99 - + >STYA ZPVarID - + jsr CSH.CheckSpace bcs .99 ldy #$ff - + .1 iny lda (ZPFileBufPtr),y beq .2 cmp #C.CR bne .1 - + dey - + .2 iny lda #0 pha phy - + >PUSHB.G CSH.hDefines >PUSHW ZPVarID >PUSHW ZPFileBufPtr - + ply pla >PUSHYA DataLen >SYSCALL SListAddData bcs .99 - + bra CSH.SkipLine - + +.90 lda #CSH.E.SYNTAX + sec +.99 rts +*-------------------------------------- +CSH.DIR.INCLUDE jsr CSH.CheckSpace + bcs .99 + + cmp #'"' + beq .1 + + cmp #'<' + bne .80 + + + + + lda #'>' +.1 sta ArgIndex + + + + + + + bra CSH.SkipLine + .90 lda #CSH.E.SYNTAX sec .99 rts @@ -270,7 +296,7 @@ CSH.SkipLine jsr CSH.GetNextChar *-------------------------------------- * Built in Keywords *-------------------------------------- -CSH.KW.JMP txa +CSH.KW.JMP txa >STA.G CSH.CmdSave jmp (J.CSH.KW,x) *-------------------------------------- @@ -295,7 +321,7 @@ CSH.IF jsr CSH.GetCharNB bne .9 jsr CSH.GetNextCharNB Skip '{' bcs .99 - + jsr CSH.IsValue0 X = var type from ExpEval bcc .6 Value=0, skip {{....}} @@ -306,14 +332,14 @@ CSH.IF jsr CSH.GetCharNB >LDA.G CSH.BufPtrSave+1 WHILE : push loop address... jsr CSH.Push >LDA.G CSH.BufPtrSave - jsr CSH.Push + jsr CSH.Push pla .1 jsr CSH.Push bcs .99 lda #'}' Tell '}' is expected at the end of block jsr CSH.Push bcs .99 - + rts .6 jsr CSH.SkipBlock @@ -333,7 +359,7 @@ CSH.IF jsr CSH.GetCharNB * >LDA.G CSH.BufPtrSave+1 WHILE : push loop address... * jsr CSH.Push * >LDA.G CSH.BufPtrSave -* jsr CSH.Push +* jsr CSH.Push * pla * jmp CSH.Push Push "WHILE" Token *-------------------------------------- @@ -365,29 +391,29 @@ CSH.STRUCT >ENTER 4 jsr CSH.GetCharNB bcs .99 - + >LDA.G CSH.hTags jsr CSH.NewKey bcs .99 - + sta (pStack) - - + + jsr CSH.GetNextCharNB bcs .99 cmp #'{' bne .99 - + .1 jsr CSH.GetNextCharNB bcs .99 cmp #'}' bne .1 - + jsr CSH.GetNextCharNB skip } - + clc .99 >LEAVE - rts + rts *-------------------------------------- * Built in Types *-------------------------------------- @@ -396,25 +422,25 @@ CSH.SIGNED sec *-------------------------------------- CSH.UNSIGNED clc php - + jsr CSH.CheckSpace bcs .9 - + >LDYA L.CSH.STYPES jsr CSH.LookupID bcs .9 - + plp bcs .8 jmp (J.CSH.UTYPES,x) - + .8 jmp (J.CSH.STYPES,x) .9 plp lda #CSH.E.SYNTAX sec - rts + rts *-------------------------------------- CSH.VOID ldx #CSH.T.VOID bra CSH.TYPE @@ -436,15 +462,15 @@ CSH.FLOAT ldx #CSH.T.FLOAT CSH.TYPE stx ZPVarType jsr CSH.CheckSpace bcs .9 - + .11 cmp #'*' bne .10 - + lda #CSH.Q.POINTER tsb ZPVarType jsr CSH.GetNextCharNB Skip * bra .11 - + .10 jsr CSH.IsLetter bcs .9 @@ -465,13 +491,13 @@ CSH.TYPE stx ZPVarType lda ZPVarType jsr CSH.ExpEval bcs .99 - + .7 jsr CSH.SetVarValueFromStack X= Type, Set value to this var bcs .99 - + jsr CSH.GetChar bcs .9 - + cmp #';' bne .9 @@ -482,7 +508,7 @@ CSH.TYPE stx ZPVarType sec .99 rts *-------------------------------------- -* Input: +* Input: * ZPFileBufPtr, A = Expected type * Output: * CS, A = EC @@ -609,10 +635,9 @@ CSH.fCall ldx ZPPtr1 .99 rts *-------------------------------------- -CSH.fCall.Exec - jmp (J.CSH.EXEC,x) +CSH.fCall.Exec jmp (J.CSH.EXEC,x) *-------------------------------------- -* Input: +* Input: * ZPFileBufPtr, A = Expected type * Output: * CS, A = EC @@ -637,21 +662,21 @@ CSH.ExpEval ldx ZPPtr1 .11 cmp #'(' bne .20 - + jsr CSH.GetNextCharNB skip ( bcs .19 - + lda ZPPtr2 jsr CSH.ExpEval bcs .19 stx ZPPtr2 - + jsr CSH.GetCharNB bcs .19 cmp #')' bne .19 - + jsr CSH.GetNextCharNB skip ) bcc .31 .19 jmp .90 @@ -661,7 +686,7 @@ CSH.ExpEval ldx ZPPtr1 jsr CSH.GetDefine bcc .10 - + jsr CSH.GetVar bcs .21 @@ -692,7 +717,7 @@ CSH.ExpEval ldx ZPPtr1 .23 jsr CSH.GetNumOnStack bcs .29 bra .30 - + .24 cmp #'"' String literal bne .90 jsr CSH.AddContCharP @@ -714,28 +739,28 @@ CSH.ExpEval ldx ZPPtr1 >LDYA L.CSH.BOPS we are at V1 op1 V2 op2... jsr CSH.LookupOP bcs .90 - + stx ZPPtr2+1 save OP(n) .32 pla get OP(n-1) bmi .33 $ff.... - cmp ZPPtr2+1 + cmp ZPPtr2+1 bcc .33 OP(n) has precedence, on stack : V1,V2 tax OP(n-1) has precedence... - + lda ZPPtr2 Var Type jsr CSH.BOP.EXEC compute V(n-1) V(n) bcc .32 bcs .99 - + .33 pha push back OP(n-1) lda ZPPtr2+1 get OP(n) pha push OP(n) on stack - jmp .10 go check for next token + jmp .10 go check for next token *-------------------------------------- .80 plx any OP on stack ? bmi .88 @@ -743,14 +768,14 @@ CSH.ExpEval ldx ZPPtr1 lda ZPPtr2 Var Type jsr CSH.BOP.EXEC bcc .80 - + bcs .99 - + .90 lda #CSH.E.SYNTAX .99 plx bpl .99 - + sec .HS 90 BCC .88 clc @@ -777,9 +802,9 @@ CSH.AddContCharP cmp #'"' beq .2 sta (ZPCSHConst),y - iny + iny bra .1 - + .2 lda #0 sta (ZPCSHConst),y >PUSHW ZPCSHConst Push PTR on stack @@ -854,17 +879,17 @@ CSH.Lookup phy Y = len jsr CSH.ZPPtr1AddAp1 >LDA.G CSH.LookupOpt bpl .1 - + ldy #$0 Start at Y=1 for VOID func() .6 iny lda (ZPPtr1),y bne .6 - + tya jsr CSH.ZPPtr1AddAp1 bra .1 - + .9 pla sec rts @@ -872,11 +897,11 @@ CSH.Lookup phy Y = len CSH.ZPPtr1Next inc ZPPtr1 bne .8 inc ZPPtr1+1 -.8 rts +.8 rts *-------------------------------------- CSH.ZPPtr1AddAp1 sec - adc ZPPtr1 + adc ZPPtr1 sta ZPPtr1 bcc .1 inc ZPPtr1+1 @@ -946,35 +971,35 @@ CSH.AddVar >LDA.G CSH.hSymbols ldx ZPVarType jsr CSH.GetVarSize sta ZPVarSizeOf - + lda ZPCSHData sta ZPVarDataPtr clc adc ZPVarSizeOf sta ZPCSHData - + lda ZPCSHData+1 sta ZPVarDataPtr+1 adc ZPVarSizeOf+1 sta ZPCSHData+1 - + >LDA.G CSH.DataPtr clc adc ZPVarSizeOf sta (pData),y - + bcs .99 - + >PUSHB.G CSH.hSymbols >PUSHW ZPVarID >PUSHWI ZPVarDef >PUSHWI 6 >SYSCALL SListAddData * bcs .9 - + * lda #'*' * jsr DEBUG.VAR - + .9 rts .99 lda #CSH.E.OOM @@ -994,9 +1019,9 @@ CSH.NewKey >PUSHA adc ZPFileBufPtr sta ZPFileBufPtr bcc .1 - + inc ZPFileBufPtr+1 - + .1 clc pla .9 rts @@ -1008,19 +1033,19 @@ CSH.SetVarValueFromStack bne .99 ldy #0 - + .1 lda (pStack) sta (ZPVarDataPtr),y inc pStack iny cpy ZPVarSizeOf bne .1 - + * lda #'>' * jsr DEBUG.VAR clc rts - + .99 lda #CSH.E.TMISMATCH sec rts @@ -1029,7 +1054,7 @@ CSH.GetDefine >PUSHB.G CSH.hDefines jsr CSH.Get bcs .9 - + pha phy >PUSHB.G CSH.hDefines @@ -1041,23 +1066,23 @@ CSH.GetDefine >PUSHB.G CSH.hDefines >PUSHWZ len = 0 (string mode) >PUSHWZ From Start >SYSCALL SListGetData - bcs .9 + bcs .9 stx ZPhMacro - + lda ZPFileBufPtr sta ZPFileBufPtrBak lda ZPFileBufPtr+1 sta ZPFileBufPtrBak+1 - + txa >SYSCALL GetMemPtr >STYA ZPFileBufPtr -.9 rts +.9 rts *-------------------------------------- CSH.GetVar >PUSHB.G CSH.hSymbols - + CSH.Get >PUSHW ZPFileBufPtr >SYSCALL SListLookup bcs .9 @@ -1077,7 +1102,7 @@ CSH.Get >PUSHW ZPFileBufPtr CSH.GetVarDef phy pha >PUSHB.G CSH.hSymbols - + pla >PUSHA pla @@ -1099,7 +1124,7 @@ CSH.GetVarValueOnStack phy pha >PUSHB.G CSH.hSymbols - + pla >PUSHA pla @@ -1115,17 +1140,17 @@ CSH.GetVarValueOnStack txa beq .1 any type - + >CMP.G CSH.VarDef Type beq .2 - + and #CSH.Q.PPPOINTER beq .99 not pointer....mismatch - + >EOR.G CSH.VarDef and #CSH.Q.PPPOINTER bne .99 compare only pointer depth - + .1 >LDA.G CSH.VarDef beq * @@ -1138,9 +1163,9 @@ CSH.GetVarValueOnStack iny lda (pData),y sta ZPPtr3+1 - - ply - + + ply + .3 dey lda (ZPPtr3),y >PUSHA @@ -1165,10 +1190,10 @@ CSH.IsValue0 cpx #CSH.T.FLOAT ldy CSH.TYPESIZE,x lda (ZPVarDataPtr),y bne .9 - + .8 clc rts - + .1 jsr CSH.GetVarSize tax @@ -1178,10 +1203,10 @@ CSH.IsValue0 cpx #CSH.T.FLOAT inc pStack dex bne .2 - + tax beq .8 - + .9 sec rts *-------------------------------------- @@ -1198,7 +1223,7 @@ CSH.CheckStack tax clc rts - + .9 lda #CSH.E.SYNTAX sec rts @@ -1213,7 +1238,7 @@ CSH.Push pha sta (ZPCSHStack),y clc rts - + .9 pla lda #CSH.E.SOVERFLW sec @@ -1221,7 +1246,7 @@ CSH.Push pha *-------------------------------------- CSH.Pop >LDA.G CSH.StackPtr beq .9 - pha + pha inc sta (pData),y ply @@ -1294,7 +1319,7 @@ CSH.SkipBlock ldy #0 not in "", TOTO:skip comments CSH.GetCharNB jsr CSH.GetChar bcs CSH.GetNextCharNB.RTS jsr CSH.CheckCharNB - bcc CSH.GetNextCharNB.RTS + bcc CSH.GetNextCharNB.RTS *-------------------------------------- CSH.GetNextCharNB jsr CSH.GetNextChar @@ -1311,7 +1336,7 @@ CSH.CheckSpace jsr CSH.GetChar jsr CSH.GetNextCharNB bcc CSH.GetNextCharNB.RTS - + .90 lda #CSH.E.SYNTAX sec rts @@ -1334,9 +1359,9 @@ CSH.GetChar lda (ZPFileBufPtr) lda ZPhMacro beq .9 - + stz ZPhMacro - + phx phy >SYSCALL FreeMem @@ -1345,7 +1370,7 @@ CSH.GetChar lda (ZPFileBufPtr) lda ZPFileBufPtrBak sta ZPFileBufPtr - + lda ZPFileBufPtrBak+1 sta ZPFileBufPtr+1 @@ -1402,7 +1427,7 @@ CSH.IsDigit10 cmp #'0' CSH.GetVarSize txa and #CSH.Q.PPPOINTER bne .2 - + txa and #$f phx @@ -1429,6 +1454,6 @@ DEBUG.VAR >SYSCALL PutChar rts *-------------------------------------- MAN -SAVE USR/SRC/BIN/CSH.S.CORE -LOAD USR/SRC/BIN/CSH.S +SAVE usr/src/bin/csh.s.core +LOAD usr/src/bin/csh.s ASM diff --git a/BIN/CSH.S.EXEC.txt b/BIN/CSH.S.EXEC.txt index c7bee2b0..e9f47108 100644 --- a/BIN/CSH.S.EXEC.txt +++ b/BIN/CSH.S.EXEC.txt @@ -275,6 +275,6 @@ EXEC.malloc >PULLYA rts *-------------------------------------- MAN -SAVE USR/SRC/BIN/CSH.S.EXEC -LOAD USR/SRC/BIN/CSH.S +SAVE usr/src/bin/csh.s.exec +LOAD usr/src/bin/csh.s ASM diff --git a/BIN/CSH.S.txt b/BIN/CSH.S.txt index e6b94277..7d3724c9 100644 --- a/BIN/CSH.S.txt +++ b/BIN/CSH.S.txt @@ -5,12 +5,12 @@ NEW .OR $2000 .TF bin/csh *-------------------------------------- - .INB INC/MACROS.I - .INB INC/A2OSX.I - .INB INC/MLI.I - .INB INC/MLI.E.I + .INB inc/macros.i + .INB inc/a2osx.i + .INB inc/mli.i + .INB inc/mli.e.i *-------------------------------------- - .INB USR/SRC/BIN/CSH.E + .INB usr/src/bin/csh.e *-------------------------------------- * Zero Page Segment, up to 32 bytes *-------------------------------------- @@ -21,25 +21,22 @@ ZPFileBuf .BS 2 ZPFileBufPtr .BS 2 ZPFileBufPtrBak .BS 2 + ZPCSHConst .BS 2 ZPCSHData .BS 2 ZPCSHStack .BS 2 -ZPVarID .BS 2 +ZPVarID .BS 2 ZPVarDef .EQ * ZPVarType .BS 2 ZPVarSizeOf .BS 2 ZPVarDataPtr .BS 2 ZPhMacro .BS 1 - +ArgIndex .BS 1 ZPPtr1 .BS 2 ZPPtr2 .BS 2 - - -ArgIndex .BS 1 - ZPPtr3 .BS 2 ZS.END .ED @@ -70,7 +67,7 @@ L.MSG.ECHOCRLF .DA MSG.ECHOCRLF L.MSG.DEBUG .DA MSG.DEBUG L.MSG.ERR .DA MSG.ERR L.MSG.DBGVAR .DA MSG.DBGVAR - .INB USR/SRC/BIN/CSH.R + .INB usr/src/bin/csh.r .DA 0 *-------------------------------------- * Called once at process creation @@ -295,8 +292,8 @@ PrintTraceMsg.3 >PUSHBI '>' rts *-------------------------------------- - .INB USR/SRC/BIN/CSH.S.CORE - .INB USR/SRC/BIN/CSH.S.EXEC + .INB usr/src/bin/csh.s.core + .INB usr/src/bin/csh.s.exec *-------------------------------------- CS.END *-------------------------------------- @@ -314,16 +311,16 @@ MSG.DBGVAR .AZ "K=%H, T=%H, S=%H, P=%H, V=%L\r\n" OptionList .AS "DdTt" OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace *-------------------------------------- - .INB USR/SRC/BIN/CSH.I + .INB usr/src/bin/csh.i *-------------------------------------- .DUMMY .OR 0 -DS.START .INB USR/SRC/BIN/CSH.D +DS.START .INB usr/src/bin/csh.d bDebug .BS 1 bTrace .BS 1 DS.END .ED *-------------------------------------- MAN -SAVE USR/SRC/BIN/CSH.S +SAVE usr/src/bin/csh.s ASM diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 2c028d89..27d24e10 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -353,7 +353,7 @@ OPEN.I jsr CLOSE rts *-------------------------------------- OPEN.SnY >AR.Sn.SELECT S0.MR - lda #W5100.AR.Sn.MR.IPRAW+W5100.AR.Sn.MR.MF + lda #W5100.AR.Sn.MR.IPRAW sta W5100.DR,x >AR.Sn.SELECT S0.PROTO diff --git a/INCLUDE/a2osx.h.txt b/INCLUDE/a2osx.h.txt index 94aafcdc..5463a081 100644 --- a/INCLUDE/a2osx.h.txt +++ b/INCLUDE/a2osx.h.txt @@ -12,4 +12,4 @@ NEW short int fopen ( const char *, short int, short int, int ); MAN -SAVE include/A2osX.h +TEXT include/A2osX.h