From 83b1abc4df7042d1e87d46c146a82c1beb422eda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 13 Sep 2017 08:17:46 +0200 Subject: [PATCH] Kernel 0.9.1 : Code reorganization & move to CSTR : SHELL --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes SBIN/SHELL.S.CMD.txt | 18 ++--- SBIN/SHELL.S.txt | 148 +++++++++++++++++++-------------------- SYS/KERNEL.S.D01.txt | 88 +++++++++++------------ 5 files changed, 123 insertions(+), 131 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index e653870fa6dce29b3939bac365d17037fd540426..868eea32777bd6a5eacdcbca446d131571568bff 100644 GIT binary patch delta 1597 zcmX|Be{2(V6uP>w0&+Uc0gKV~T=gKqHX2F^0kFoT-xGKSoqo z)+nG7gbss;$&8nVEtIVI?Fh_FH>M$GXN;aPF+oBcks!&4xjz=bn1Js#q{;if_x--l z=e_rR?|aQ=x!>PDGPZq$ z{pvt}$+>|se;LTZxBjzSz4WBCLE0+qlDef*^ip&@`fKc3Y_IgTG#Pz96m2-#uqWIR z?hKu6=&cWjyXs>N|3rr(LlK#m`DT7K-^xGDui*VWCm)x-kQfFgIoJ}Qb)(*L`$?}_ zRq`5^)T?0_5@}^|IW&!UAm0hhL|V0%T>6`;0|8d(6lq2+E4iu`O|_!a~Kco%9%zIWT~Pxl9tN+mFk*W&vLKt`X8ULT6ooP6OM$$_u2K_w__q9htV5zIN&@{%`y#ca=sAgwMgk+m}8S#JD4Ay*GjuYF8lvy z%_lAplT<)zz6>!mg!z=_7^(A4a-KBiN{@2J{p3EMJQO&?9rhoB)J0`qj7)9rs88lR z_971>5yHeFI zP#q~SDm&nU8v^at`t-#xEzmBwB%C|=0%#81lA0CTU|l2wNik=`Aw88{2N!wT0zDCG zJ052arT}&bG;9Xov{u~*vjVMwV?3=kpWqU0t!{^H0<~eFLVq$1sffzpl(6+r%s)3I zs*L6^oH+5Rexm~HV$R4~U{*PnAa9g&;&jQ?)9`UvDQhAG!xe-!(7US&**Pir*XNLy+~BH6{TO{9z9H=g20V-}$@ z)1M_6EQLBCA@)=I)RNrag?EzaV+m#fVWI{(c`zUk2Iaw!oQ6&z*QJUjSF$(3(Dv5| z-Jwb)SKE2N+_yre8}biL=h@p631%QNeJ8=_b49<5W~L37)2cY&dKa-1E95-WHo?gQ z!u0LT8h!4xDk&RRkt()RXizgK((4nwg=+22Aw!vD7;Niv+Yyr+{n+rhrHdu7 pY4{rp86%UHmF!sEl!dS#;EGa)Vnwl`EJCrPl%rH2s`AF={{WP;GyMPn delta 1623 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 delta 6303 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 diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index de76bf16..1a460fd8 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -166,11 +166,8 @@ Cmd.Exec.EXT pla Discard CMD len >PUSHW L.STAT >PUSHW ZPPtr1 >SYSCALL STAT - bcs .99 - - >LDYAI UsrBuf256 - >STYA ZPPtr1 - bra .3 + bcc .3 + bra Cmd.Exec.Done .1 >LDYA L.ENV.PATH push ENVNAME=PATH for search >SYSCALL GetEnv.YA get value for ENV=PATH @@ -183,7 +180,6 @@ Cmd.Exec.EXT pla Discard CMD len lda (pPs),y >SYSCALL GetMemPtr.A jsr Cmd.Exec.Search - bcs .99 .3 lda STAT+S.STAT.P.TYPE @@ -382,9 +378,9 @@ Cmd.Exec.STARTPROC *-------------------------------------- Cmd.Exec.SET lda (ZPPTR2) bne Cmd.Exec.SETVAR - + * No arg, print all ENV - + ldy #S.PS.hENV lda (pPs),y >SYSCALL GetMemPtr.A @@ -394,11 +390,11 @@ Cmd.Exec.SET lda (ZPPTR2) beq .8 Ending 0 ? ldy #$ff - + .2 iny lda (ZPPTR1),y bne .2 - + tya sec adc ZPPTR1 @@ -430,7 +426,7 @@ Cmd.Exec.SET lda (ZPPTR2) bra .1 .8 clc -.9 rts +.9 rts Cmd.Exec.SETVAR ldy #0 diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index 7f1f9f11..74cb2a19 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -64,7 +64,6 @@ L.MSG.CSHERR .DA MSG.CSHERR L.ENV.PATH .DA ENV.PATH L.ENV.PWD .DA ENV.PWD L.ENV.PS1 .DA ENV.PS1 -L.CMD .DA CMD L.TIME .DA TIME L.STAT .DA STAT L.FMT.DATE .DA FMT.DATE @@ -101,25 +100,25 @@ CS.INIT jsr SetPWD jsr CMD.Init bcs .9 - + lda (pPs) ora #S.PS.F.EVENT Now accept events sta (pPs) - + ldy #S.PS.ARGC lda (pPs),y beq .1 no arg, continue starting interactive - + jmp CSH.Init - + .1 jsr HIS.Init bcs .9 - + >LDYA L.MSG.GREETINGS >SYSCALL PrintF.YA -.9 rts +.9 rts *-------------------------------------- CS.RUN >LDA.G bReadMode READ Command ? bne CS.RUN.READ @@ -135,53 +134,51 @@ CS.RUN >LDA.G bReadMode READ Command ? >SYSCALL GetChar bcs .8 - + .13 jsr CheckSleep bne .8 - + >LDA.G CSH.hBuf batch mode ? beq .10 - - jmp CS.RUN.BATCH - -* Interactive Mode + jmp CS.RUN.BATCH +* Interactive Mode .10 >LDA.G hCmdBuf Get the buffer >SYSCALL GetMemPtr.A >STYA ZPCMDBuf - + lda #0 reset it sta (ZPCMDBuf) - + >STA.G bSecureRead Clear password mode - + .12 jsr PrintPrompt bcs CS.RUN.EXIT.RTS - + .1 >SYSCALL Sleep >SYSCALL GetChar bcs .1 no char - + jsr CS.CHARIN >LDA.G bCmdBufexec Something to execute ? bpl .1 jsr Cmd.Parse - + >LDA.G CmdBuflen beq .12 Empty line jsr HIS.Add jsr Cmd.Exec - + ldy #S.PS.RC sta (pPs),y - + >LDA.G bExit bne CS.RUN.EXIT - + .8 clc rts @@ -192,21 +189,21 @@ CS.RUN.EXIT.RTS rts CS.RUN.READ >LDA.G hCmdBuf Get the buffer >SYSCALL GetMemPtr.A >STYA ZPCMDBuf - + lda #0 reset it sta (ZPCMDBuf) - + .1 >SYSCALL Sleep >SYSCALL GetChar bcs .1 no char - + jsr CS.CHARIN >LDA.G bCmdBufexec bpl .1 - + >PUSHW ZPCMDBuf - + lda #CMD.VarName clc adc pData @@ -219,17 +216,17 @@ CS.RUN.READ >LDA.G hCmdBuf Get the buffer *-------------------------------------- CS.RUN.BATCH jsr CSH.Run bcs .9 - + >LDA.G bCmdBufexec bpl .8 Empty line....nothing to do.... jsr Cmd.Parse - + lda (ZPCMDBuf) beq .8 - + jsr Cmd.Exec - + .8 ldy #S.PS.RC sta (pPs),y clc @@ -240,43 +237,43 @@ CS.RUN.BATCH jsr CSH.Run lda #0 sec rts - + .7 pha - + ldy #CSH.BufPtr+1 >PUSHB (pData),y dey >PUSHB (pData),y - + >LDYA L.MSG.CSHERR >SYSCALL PrintF.YA - + jsr CSH.RestorePtr - + .90 jsr CSH.GetChar bcs .92 >SYSCALL PutChar.A - + .91 jsr CSH.GetNextChar bcs .92 cmp #13 beq .92 >SYSCALL PutChar.A bra .91 - + .92 pla bra .99 - + .98 lda #0 .99 ldy #S.PS.RC sta (pPs),y pha - + ldy #bExitOnEOF lda (pData),y asl CS if bExitOnEOF - + pla rts *-------------------------------------- @@ -301,12 +298,12 @@ CS.DOEVENT lda (pEvent) rts *-------------------------------------- CS.CHARIN tax Save Char - >LDA.G CSH.hBuf Batch mode ? + >LDA.G CSH.hBuf Batch mode ? beq .10 -* Batch Mode +* Batch Mode cpx #3 test Ctrl-c bne .12 - + >LDA.G bExitOnEOF >STA.G bExit clc @@ -314,26 +311,26 @@ CS.CHARIN tax Save Char .12 cpx #19 test Ctrl-s bne .8 - + lda #$80 >STA.G bPause clc rts - -* interactive mode + +* interactive mode .10 >LDA.G hCmdBuf >SYSCALL GetMemPtr.A >STYA ZPCMDBuf - + >LDA.G bEscMode beq .13 - + cpx #'[' beq .8 - + lda #0 sta (pData),y Y=bEscMode - + txa ldx EscChars @@ -342,10 +339,10 @@ CS.CHARIN tax Save Char dex bne .17 bra .8 - -.18 lda EscAscii,x + +.18 lda EscAscii,x tax - + .13 cpx #$20 bcs .1 jsr CS.CHARIN.CTRL @@ -358,12 +355,12 @@ CS.CHARIN tax Save Char rts .2 >LDA.G CmdBuflen - + cmp #CmdLine.MAX beq .8 - + pha - + inc sta (pData),y txa @@ -372,10 +369,10 @@ CS.CHARIN tax Save Char >LDA.G bSecureRead bne .8 - + txa >SYSCALL PutChar.A - + .8 clc rts *-------------------------------------- @@ -385,12 +382,12 @@ CS.CHARIN.CTRL cpx #13 CR >SYSCALL PutChar.A lda #10 >SYSCALL PutChar.A - + lda #$ff >STA.G bCmdBufexec clc rts - + .10 cpx #$1B esc bne .11 @@ -405,33 +402,33 @@ CS.CHARIN.CTRL cpx #13 CR jsr CmdLine.CLR clc rts - + .1 cpx #8 BS (left arrow) bne .2 jsr CmdLine.DEL clc rts - + .2 cpx #10 LF (down arrow) bne .3 - + jsr HIS.GetNext clc rts - + .3 cpx #11 VT (up arrow) bne .4 - + jsr HIS.GetPrev clc rts - + .4 cpx #21 NAK (right arrow) bne .8 - + clc rts - + .8 clc rts *-------------------------------------- @@ -479,30 +476,30 @@ PrintPrompt >LDYA L.ENV.PS1 CmdLine.CLR ldy #0 .1 lda (ZPCMDBuf),y - beq .9 + beq .9 lda #8 - + sta (pData),y iny bne .1 - + jsr CmdLine.SET lda #0 sta (ZPCMDBuf) - + .9 rts *-------------------------------------- CmdLine.DEL >LDA.G CmdBuflen beq .9 dec sta (pData),y - + tay lda #0 sta (pData),y - + lda #8 >SYSCALL PutChar.A .9 rts @@ -557,7 +554,6 @@ FMT.TIME >CSTR "%H:%M:%S (%I:%M:%S%p)" *-------------------------------------- EscChars >PSTR "DBAC" EscAscii .HS 04080A0B15 -CMD .BS 256 TIME .BS S.TIME STAT .BS S.STAT bStartProc .BS 1 diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index 3a49f605..e5f2cb5c 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -37,7 +37,7 @@ A2osX.PrtDrv.Go ldy #S.DEV.ROM.JMP iny lda (pDev),y sta .8+2 - + .8 jsr $ffff A2osX.PrtDrv.Go.Cmd .BS 1 @@ -68,18 +68,18 @@ A2osX.PrtDrv.GetDev sta K.SP.PARAMS+1 rts A2osX.PrtDrv.Cnt - .HS 03030301030101010404 + .HS 03030301030101010404 *-------------------------------------- -DevMgr.NUL.Code .DA .1 STATUS - .DA A2osX.BADCALL READBLOCK - .DA A2osX.BADCALL WRITEBLOCK - .DA A2osX.BADCALL FORMAT - .DA A2osX.BADCALL CONTROL - .DA A2osX.BADCALL INIT - .DA A2osX.BADCALL OPEN - .DA A2osX.BADCALL CLOSE - .DA A2osX.BADCALL READ - .DA .8 WRITE +DevMgr.NUL.Code .DA .1 STATUS + .DA A2osX.BADCALL READBLOCK + .DA A2osX.BADCALL WRITEBLOCK + .DA A2osX.BADCALL FORMAT + .DA A2osX.BADCALL CONTROL + .DA A2osX.BADCALL INIT + .DA A2osX.BADCALL OPEN + .DA A2osX.BADCALL CLOSE + .DA A2osX.BADCALL READ + .DA .8 WRITE .8 clc rts *-------------------------------------- @@ -94,14 +94,14 @@ DevMgr.NUL.Code .DA .1 STATUS .DA #0 .DA $0900 *-------------------------------------- -DevMgr.SYS.Code .DA .1 STATUS - .DA A2osX.BADCALL READBLOCK - .DA A2osX.BADCALL WRITEBLOCK - .DA A2osX.BADCALL FORMAT +DevMgr.SYS.Code .DA .1 STATUS + .DA A2osX.BADCALL READBLOCK + .DA A2osX.BADCALL WRITEBLOCK + .DA A2osX.BADCALL FORMAT .DA DevMgr.SYS.Control - .DA A2osX.BADCALL INIT + .DA A2osX.BADCALL INIT .DA DevMgr.SYS.Open - .DA A2osX.BADCALL CLOSE + .DA A2osX.BADCALL CLOSE .DA DevMgr.SYS.Read .DA DevMgr.SYS.Write *-------------------------------------- @@ -118,25 +118,25 @@ DevMgr.SYS.Code .DA .1 STATUS *-------------------------------------- DevMgr.SYS.Open stz DevMgr.SYS.CH stz DevMgr.SYS.CV - + ldx #0 - + ldy #0 .1 lda DevMgr.SYS.TITLE,y beq .2 - + jsr DevMgr.SYS.SetCharAtYX iny bne .1 - + .2 lda #$20 jsr DevMgr.SYS.SetCharAtYX iny cpy #80 bne .2 - + jsr DevMgr.SYS.Home - + lda #1 sta A2osX.SCRNDEVS+1 fall in Control *-------------------------------------- @@ -154,18 +154,18 @@ DevMgr.SYS.Control DevMgr.SYS.Read lda A2osX.ASCREEN cmp #2 is SYS active? bne .9 - + lda OPENAPPLE bmi .9 Open apple key, not for us... lda KBD bpl .9 sta KBDSTROBE - + and #$7F clc rts - + .9 lda #0 Error = no event sec rts @@ -181,21 +181,21 @@ DevMgr.SYS.Write jsr DevMgr.SYS.SetCharAtYX jsr DevMgr.SYS.FSOut bra .8 - + .1 cmp #10 bne .2 jsr DevMgr.SYS.LF bra .8 - + .2 cmp #13 bne .3 jsr DevMgr.SYS.CR bra .8 - + .3 ora #$20 jsr DevMgr.SYS.SetCharAtYX jsr DevMgr.SYS.FSOut - + .8 ply plx clc @@ -205,10 +205,10 @@ DevMgr.SYS.FSOut lda DevMgr.SYS.CH cmp #79 bne .1 - + stz DevMgr.SYS.CH bra DevMgr.SYS.LF - + .1 inc DevMgr.SYS.CH rts *-------------------------------------- @@ -219,7 +219,7 @@ DevMgr.SYS.CR jsr DevMgr.SYS.ClrEOL DevMgr.SYS.LF ldx DevMgr.SYS.CV cpx #23 beq DevMgr.SYS.Scroll - inc DevMgr.SYS.CV + inc DevMgr.SYS.CV rts *-------------------------------------- DevMgr.SYS.ClrEOL @@ -259,7 +259,7 @@ DevMgr.SYS.Scroll sta CLRWRITEAUX sta CLRREADAUX plp - + ldy #39 .3 lda (ZPDRV+2),y sta (ZPDRV),y @@ -280,7 +280,7 @@ DevMgr.SYS.ClrLineAtX lda #$A0 ldy #39 - + .1 sta SETWRITEAUX sta (ZPDRV),y sta CLRWRITEAUX @@ -293,15 +293,15 @@ DevMgr.SYS.ClrLineAtX rts *-------------------------------------- DevMgr.SYS.Home ldx #23 - + .1 jsr DevMgr.SYS.ClrLineAtX dex bne .1 - + stz DevMgr.SYS.CH lda #1 sta DevMgr.SYS.CV - + rts *-------------------------------------- DevMgr.SYS.SetCharAtYX @@ -310,9 +310,9 @@ DevMgr.SYS.SetCharAtYX cmp #$5F bcs .1 and #$3F - + .1 php - + phy pha lda DevMgr.SYS.BASEL,x @@ -324,14 +324,14 @@ DevMgr.SYS.SetCharAtYX tay bcs .2 sta SETWRITEAUX - + .2 pla sta (ZPDRV),y sta CLRWRITEAUX ply - + plp - + rts *-------------------------------------- DevMgr.SYS.CH .BS 1