From 0eed73230f19d8a07ea377c583a21ce066f63f3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 9 Nov 2017 17:39:01 +0100 Subject: [PATCH] Kernel 0.9.1 : Shell, CSH, bug-fix added Ctrl-C.... --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes SBIN/SHELL.S.CL.txt | 79 ++++++++++++++++++++ SBIN/SHELL.S.CSH.txt | 46 ++++++------ SBIN/SHELL.S.txt | 155 ++++++++++----------------------------- 5 files changed, 143 insertions(+), 137 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index fd83d8901865a0b28fa83ab5a325764f89bd50a0..44c32fa7cf7a3d3ea7aff4d1cdae836416ddab1e 100644 GIT binary patch delta 1662 zcmah}Yitx%6yCktZMToX-HOUW1DDHYQWIK zt~`YFhuLkAi~T{y4c2a5V74ShLlB6OcKXLLL=7}zO%W{+9b##D#MCnj>Q6Is=H7em zIo~Zm3xJ|F?weqJU`q`0^-zzk`Ev8bdW=;dB+}Dvl(~;JG(I17fK}}n! zMkBx!TryuX^ZZu+Ilhzc<@W}#yRz6T}kJsI;`_?h((AujU zlXmJDw-42w3>0z)y#j;#dN}D5w+Z?TTgoKu zxG8QH^eIh(g?Y2wCcK4)dw^JBwMA@7D!8AtuTrfRpxq+q(CZf5unHu@Dp$ei2S2TK z5<6+P&@E2l-tY*qT++!T7?CPuLni$IPat<;7qGDg(f|;HuRW5sEYHp|Z!XO3s+PjyaCF z2%%9AY4?o@=&G!o?Nn-2YJ*ALkH6F_`svbprpREy*nl5qAzm~am386G*6?{+?IA4% zie=V>iuG0#o$?T_YL6O8ld&m9sc6DBm9fc7aF!N&$-?Sdn_`hbS(2;@i(7!}atY*x z?3}LR$Uf~16*y9Z!+DN8Su#-@Fa9@An4l#-;?xe)wLW6iDs-E=Qs_Y+@#PQOlE;xt zc$l8|kxnh4EB)j{?6WC6Y)gF;#P7I8SxhYpWeN5Z>v78g^L_}Qrm~-OBVc2Im`jIk zhY}WbFZtyoq}Kw3%Ne$X)AXYN*^g#5Jn34Kwr5llr^Z1lQSPuqFq*L>K)yK+${a?c z0#7_9)yt02)F!GKEDO2W8NJSv;V7PyG$+0)?UsvRCnt77H#atL1SAIQIKhQLcK5&{ z7th5ywZ+z**a_(!0Jq(uVNmE#umkS`_`ITB#QWUZoGwc|gbBT`BZs_1db0n#S%baLLGu>~o1>~X(Du!wKCTdL)HS)j^ggdy9usy?~ zhwyfG=s{K1A`eL)utPV!{RCMRy~2qb@g%gVv09M3*oYM4Uii)<`qZ@Qq!xumu4_~S zR?W5wxgt}ML9Y3z#hCrUY+OisnuWc1GtqC0idC$ZD-YiDimkDtSTis_u>p9G=vOV= zl2ZxU5Pl=fabnGhXCS>5;I3P&5ccA=EgQ^2o$^4Me%3%%ROE5u4fKm2j{T$>_;ukt z`a=V;6&&MYdFrWxIMp|j8SOFpb0aaWoUa#~gdG_+1jo2t3C9%XtbQ+ZaEDel5f1I1 zY9h~S=jo9q;>TgKi3AJh>&H?WVRso`;*lW9r3J0zc`u6%WSd8O5=gcuwI>)6cHwn3 zG$+{6%;TDmWmUz^ql5H=R#II%$Hf0M%EK8Q}fSnP?ORoN7{&iG9lt1_x-dfM2=S}7U6ZQ@_qkNQ#TxdIJsd4 zg(@LZsXa^eo5(|^_noeuoUWJqy7jMY?|#3XjI`?pD04|yS4b`{Yjj<2_T}Vg&IB*% frnCniOzKc_Q1mFdD0wIblzfzeGY=*Ub3gwZbdq&< delta 1687 zcmah}eN0nV6z{vG1q#Ii0`_~XAegu_1_j~stF80UG%1xLUE+p$ubZta2f=SSd-V6u&W)Qu#wO ziwzZ+iL5s!3exPasyHj1&))ZkCi9uGIdxX2@QB(tYYgQov)WWd)F@*S;qublCb=$! zLB*p9^|d>VvgZ7RgOD1-Lt|)EH#y*i9K=dFk$XH|+U4Zk73}ol>W1)g0dzqWU7)O?2ca$S9EjnEnEBki|I4x*Aq=88a9uKi- z=j(7sS>d-&$x_`gW-w!x0p^845AhTyt%)R>f=S`1hiqa>g>oOGhS(4_&_fKOt`v_N%v<8m}pZUlz!WQ$Si#aCr^5l7( zjq$`~RNS`ILSAcyd?CLBxWE;j92mmGa)P68X9lySFwD_Su#=k{7=w%+bv?rc;EFR0 zYEMjyg0x3g9eE$7djRe`Y0;?IA7=-80am)HP2qsds_YUt!_mdC!AUFNl$+||7ME$w zGo^<7A-L^C*=@2uqnC?O(bEfA;a(%zx*DT9GxqF8C3?LQy;dPylWEAlteDy}{n?f9 zyE|5+%y_Xs%}&Bk4r)&gLMKN}p#%dtL0nF%hH@MpMqFxOKLk6ufVeZwB1GJg@4{#T z1%XBGvnjv&r|1+D(WOX4n^H$esz4lwvzRztjT_&ttk{YQ&=pu{%njFF)T1O|r zF6vbf&P;F1nb9C8}S7CZRz=D%jihJ+|mybSWa={7VP!m~FS=NEf+ur#=pp#iZs%?88)RMJ0qw~;oBJvfIc zt}kwvun6U!Er-Lxhi#;$PUd3w$MH%^csMlh zBtKJ>Tm%=nm<|)68n`ITwvh&XpATOK!$W@vcai=2UK?R1+DVaq**_1ZD#awm0>n--oDH589tOzcXa||-P!H(0 zzSk8l=-RTYTl3b=?y+;~`T}*=_Fc#Mb83l+O6sUo5S27hNgI_4qf${+DvnCJ3900} FzX3jzbUy$9 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index b00df69ba350b050f7a1d4e40b4985c388605c49..0e52713a1fd27b50b163f1a8c171ecb47fb4c99b 100644 GIT binary patch delta 18311 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 diff --git a/SBIN/SHELL.S.CL.txt b/SBIN/SHELL.S.CL.txt index 57012d02..d331f1d0 100644 --- a/SBIN/SHELL.S.CL.txt +++ b/SBIN/SHELL.S.CL.txt @@ -21,6 +21,85 @@ CL.PrintPrompt >LDYA L.ENV.PS1 plp rts *-------------------------------------- +CL.CHARIN tax + + >LDA.G bEscMode + beq .13 + + cpx #'[' + beq .9 + + lda #0 + sta (pData),y Y=bEscMode + txa + + ldx #EscChars.count-1 + +.17 cmp EscChars,x + beq .18 + dex + bpl .17 + clc + rts + +.18 txa + asl + tax + jmp (J.ESC,x) +*-------------------------------------- +.13 cpx #$20 + bcc CL.CHARIN.CTRL + +.1 cpx #$7f + bne .2 + jmp CL.DEL + +.2 jmp CL.Insert + +.9 clc + rts +*-------------------------------------- +CL.CHARIN.CTRL cpx #13 CR + bne .10 + + txa + >SYSCALL PutChar.A + lda #10 + >SYSCALL PutChar.A + + >LDA.G CmdBufPtr + tay + lda #0 + sta (ZPCMDBuf),y + tya + >STA.G CmdBuflen + + lda #$ff + >STA.G bCmdBufexec + clc + rts + +.10 cpx #$1B esc + bne .11 + + lda #$ff + >STA.G bEscMode + clc + rts + +.11 cpx #3 Ctrl-C + bne .12 + + jmp CL.CLR + +.12 cpx #24 Ctrl-X + bne .13 + + jmp CL.SUPPR + +.13 clc + rts +*-------------------------------------- CL.Insert >LDA.G CmdBuflen cmp #CmdLine.MAX beq .9 Buffer full, discard... diff --git a/SBIN/SHELL.S.CSH.txt b/SBIN/SHELL.S.CSH.txt index 758f3cb7..dde01cfa 100644 --- a/SBIN/SHELL.S.CSH.txt +++ b/SBIN/SHELL.S.CSH.txt @@ -5,10 +5,15 @@ INC 1 AUTO 6 .LIST OFF *-------------------------------------- -CSH.TYPE.CHAR .EQ 1 -CSH.TYPE.INT .EQ 2 -CSH.TYPE.LONG .EQ 3 -CSH.TYPE.FLOAT .EQ 4 +CSH.TQ.POINTER .EQ %10000000 +CSH.TQ.CONST .EQ %01000000 +CSH.TQ.SIGNED .EQ %00100000 + +CSH.T.CHAR .EQ 1 +CSH.T.INT .EQ 2 +CSH.T.LONG .EQ 3 +CSH.T.FLOAT .EQ 4 +CSH.T.VARIADIC .EQ $FF *-------------------------------------- CSH.Init lda #$FF >STA.G bExitOnEOF @@ -283,13 +288,13 @@ CSH.CONTINUE sec rts *-------------------------------------- -CSH.CHAR lda #CSH.TYPE.CHAR +CSH.CHAR lda #CSH.T.CHAR bra CSH.TYPE -CSH.INT lda #CSH.TYPE.INT +CSH.INT lda #CSH.T.INT bra CSH.TYPE -CSH.LONG lda #CSH.TYPE.LONG +CSH.LONG lda #CSH.T.LONG bra CSH.TYPE -CSH.FLOAT lda #CSH.TYPE.FLOAT +CSH.FLOAT lda #CSH.T.FLOAT CSH.TYPE >STA.G CSH.ACCT @@ -488,7 +493,7 @@ CSH.Lookup phy Y = len rts *-------------------------------------- CSH.GetNumInACC >LDA.G CSH.ACCT - cmp #CSH.TYPE.FLOAT + cmp #CSH.T.FLOAT bcc .1 >PUSHWI ZPCSHBufPtr @@ -721,7 +726,7 @@ CSH.StoreACCToVar rts *-------------------------------------- CSH.IsACC0 >LDA.G CSH.ACCT - cmp #CSH.TYPE.FLOAT + cmp #CSH.T.FLOAT bne .1 char,int,long >LDA.G CSH.ACC bne .9 @@ -756,7 +761,7 @@ CSH.BOPS.ADD CSH.BOPS.SUB >LDA.G CSH.ACCT - cmp #CSH.TYPE.FLOAT + cmp #CSH.T.FLOAT beq .8 @@ -796,27 +801,26 @@ CSH.BOPS.LOR *-------------------------------------- CSH.Push pha >LDA.G CSH.StackPtr + inc + beq .9 + sta (pData),y + dec tay - pla sta (ZPCSHStack),y - iny - beq .9 - tya - >STA.G CSH.StackPtr - sta (pData),y clc rts -.9 lda #CSH.E.SOVERFLW +.9 pla + lda #CSH.E.SOVERFLW sec rts *-------------------------------------- CSH.Pop >LDA.G CSH.StackPtr beq .9 dec - tay sta (pData),y + tay lda (ZPCSHStack),y clc rts @@ -825,12 +829,12 @@ CSH.Pop >LDA.G CSH.StackPtr sec rts *-------------------------------------- -CSH.CheckStack pha +CSH.CheckStack tax >LDA.G CSH.StackPtr beq .9 dec tay - pla + txa cmp (ZPCSHStack),y bne .9 diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index 82d22052..6e457efb 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -154,39 +154,37 @@ CS.RUN >LDA.G bReadMode READ Command ? ldy #S.PS.RC lda (pPs),y beq .11 + jsr IO.PrintErrMsg - bcs CS.RUN.EXIT.RTS + bcs .9 .11 >LDA.G bPause bpl .13 >SYSCALL GetChar bcs .8 + + >STZ.G bPause .13 jsr CheckSleep bne .8 >LDA.G CSH.hBuf batch mode ? - beq .10 - - jmp CS.RUN.BATCH + bne CS.RUN.BATCH *-------------------------------------- -.10 jsr CL.RESET reset CmdBuf +.10 jsr CL.RESET reset CmdBuf .12 jsr CL.PrintPrompt - bcs CS.RUN.EXIT.RTS + bcs .9 .1 >SYSCALL Sleep >SYSCALL GetChar bcs .1 no char - - jsr CS.CHARIN + + jsr CL.CHARIN >LDA.G bCmdBufExec Something to execute ? bpl .1 - - >LDA.G CmdBuflen - beq .10 Empty line jsr CMD.Parse @@ -204,14 +202,14 @@ CS.RUN >LDA.G bReadMode READ Command ? sta (pPs),y >LDA.G bExit - bne CS.RUN.EXIT + bne .80 .8 clc rts -CS.RUN.EXIT lda #0 -CS.RUN.EXIT.ERR sec -CS.RUN.EXIT.RTS rts +.80 lda #0 + sec +.9 rts *-------------------------------------- CS.RUN.READ lda #0 reset Buffer sta (ZPCMDBuf) @@ -220,7 +218,7 @@ CS.RUN.READ lda #0 reset Buffer >SYSCALL GetChar bcs .1 no char - jsr CS.CHARIN + jsr CL.CHARIN >LDA.G bCmdBufExec bpl .1 @@ -231,7 +229,24 @@ CS.RUN.READ lda #0 reset Buffer >SYSCALL SetEnv rts *-------------------------------------- -CS.RUN.BATCH jsr CSH.Run +CS.RUN.BATCH >SYSCALL GetChar + bcs .2 + + cmp #3 test Ctrl-c + bne .1 + + sec + rts + +.1 cmp #19 test Ctrl-s + bne .2 + + lda #$80 + >STA.G bPause + clc + rts + +.2 jsr CSH.Run bcc .7 cmp #MLI.E.EOF @@ -296,105 +311,6 @@ CS.DOEVENT lda (pEvent) .9 sec rts *-------------------------------------- -CS.CHARIN tax Save Char - >LDA.G CSH.hBuf Batch mode ? - beq .10 -* Batch Mode - cpx #3 test Ctrl-c - bne .12 - - >LDA.G bExitOnEOF - >STA.G bExit - clc - rts - -.12 cpx #19 test Ctrl-s - bne .8 - - lda #$80 - >STA.G bPause - -.8 clc - rts -*-------------------------------------- -* interactive mode -.10 >LDA.G bEscMode - beq .13 - - cpx #'[' - beq .9 - - lda #0 - sta (pData),y Y=bEscMode - txa - - ldx #EscChars.count-1 - -.17 cmp EscChars,x - beq .18 - dex - bpl .17 - clc - rts - -.18 txa - asl - tax - jmp (J.ESC,x) -*-------------------------------------- -.13 cpx #$20 - bcc CS.CHARIN.CTRL - -.1 cpx #$7f - bne .2 - jmp CL.DEL - -.2 jmp CL.Insert - -.9 clc - rts -*-------------------------------------- -CS.CHARIN.CTRL cpx #13 CR - bne .10 - - txa - >SYSCALL PutChar.A - lda #10 - >SYSCALL PutChar.A - - >LDA.G CmdBufPtr - tay - lda #0 - sta (ZPCMDBuf),y - tya - >STA.G CmdBuflen - - lda #$ff - >STA.G bCmdBufexec - clc - rts - -.10 cpx #$1B esc - bne .11 - - lda #$ff - >STA.G bEscMode - clc - rts - -.11 cpx #3 Ctrl-C - bne .12 - - jmp CL.CLR - -.12 cpx #24 Ctrl-X - bne .13 - - jmp CL.SUPPR - -.13 clc - rts -*-------------------------------------- CS.QUIT jsr HIS.Quit jsr CSH.Quit jsr CMD.Quit @@ -522,8 +438,15 @@ CSH.TYPES >PSTR "char" *-------------------------------------- * int printf ( const char * format, ... ); CSH.FUNCTIONS >PSTR "printf" + .DA #CSH.T.INT returned value + .DA #CSH.TQ.CONST+CSH.T.CHAR+CSH.TQ.POINTER + .DA #CSH.T.VARIADIC + .DA #0 * float cos ( float x ); >PSTR "cos" + .DA #CSH.T.FLOAT + .DA #CSH.T.FLOAT + .DA #0 *-------------------------------------- MSG.GREETINGS >CSTR "\r\nA2osX-Shell 0.9.1\r\n\r\n" MSG.PROMPT >CSTR "$ "