From a9ba29a701eb4d49a75d04a153db2cef3e72dda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 24 Feb 2017 08:46:53 +0100 Subject: [PATCH] Kernel version 0.9 : CP/MV/RM, more bug fix --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/RM.S.txt | 2 +- BIN/X.CPMVRM.S.txt | 119 +++++++++++++++++++++++---------------------- 4 files changed, 61 insertions(+), 60 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 28d852bc7f91a2eebc7044ba9ce9ddab6dbf9102..e0cd2079d5c9744c1cfa44b64055b8e36dc1b8b0 100644 GIT binary patch delta 1583 zcmb7^ZA@EL7=Z74SD-LHnx$jSKz4dRLEQ$CvC4!MbPF3z{0e>$=MKtr7=O^kAWKA> zj2WqOX}QMZ$9~*2rAa4+d$Yw>mZg3G!kQ?SY$i?Y>Ijt~6BkAA>W>*}h&|3A0#sZmBQ1)CZ$1yr1lP4!$cp zsMz*0#v`H6&_1r2`&6)rJ48-w5}QSai3}s=`Uk_}GUOh*6diRP`ZPmM%YgWqD2XxNS>3hZPd($27^Hit;9#PP%W%&uey*;U6M-djQ&Pi>o)*t^oTd#6sW{jIC`z0vEE;NKCmF)^6dd zMqzguObW(lvV9sn%~8JCrwB6ARH|Z_Q{{L*%(-xnDo}AbI)B=OFLjU{l?OVAV+vlN zuiP}qHGW$WNpM9DxP$dIBDUL82$9CXWc4nyd?^CXiBc=>w)EuG>`Ao_O9o z9<+)Xs`Xral4NG!QTB0>IwX_!S-9Z+@ht}$0EQVUQe~Q-;m4#JS(FdS-SV+bRVFM| zf^ufUP$eiQf(2DZr0hsRm9zg;kn zNHA0+LEDA|*G&mJx0jNAR)1ZRD9KBLb zNQ(A#eR6aT-h*WR8bEFNvOV`8Rk}qY-_L?bPmq5VPO%@GfrJKDC)peD7fWxN?${5| F|2J)WIGO+e delta 1688 zcmb7^ZA=_R7=ZU(=@K?;mTgB($rc&13fg51`=aTFx69*{?c34Q;NLwv<|y6oUbxR2uBj!Qxa;H%@R8E38=qu(TREz1kxj0Dt6?7AVibi2+V zR66!xN;fZ`%_&}{#2{{ z-;xePXPD!dw0<{|jt})Hp2*kMY&x@ra;+Hdj`jmeJ-OeC64To z)yTe++)qjF(-I1(7P2f7D|uL6LN=wwkkMlyu)m#cfqDStVKdzj>?kZ-%=Yl4I8hh6 zBbkK^qj}jvSQ1r$@3#{19+lTL9=8)4CqmOiOye2JA?(Ned%a6%N+)KTvCxU_dY6X=dtf_w=y(r2$A>$8pdAj&Oo``rB=DQ@Y_6Z3 z?ci88x!hrSwT^tsObc#DecO=#F@B2PKFeRjOM(*WL$N6{mF0%8GtpRZ={m|Hmaq_@ zW)KQfqOzJ*=Y|QLxCG^RkpG9Oj0L|p_QHNozF#=^J6Uqtr&vzIJzr$dMSpIBExwAO zeCVVb`oTfjyBW^fxVuL&LW|1oR#tVHi;}xUa+gXdS6y=S z>A0gy64ueicG!y~u3^Ip4U1$meMP6aPP+}*w{;D=Et!JOc8`)!xtE-Z4Xn@_1D}HU z{$WT=0&lc0HN-q>_kQv4MCETUs{h+4ZRdlXsv>~1>3z(2fr4vw-h|%+^ z&m7Jf;C<{A1g=3Ay?znOQ^t}b`TTCpDxK&D1)AxuNqAZO(aN=Y-oVf#{4EB)huVJt DKyPAv diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index d44c50274c0c1daf69fa256f01c91894845112d4..b76dd3fdf1691479f365210828887887f2631802 100644 GIT binary patch delta 4756 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 JUr&l|*UwsPSP=jK diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index cc3343fc..e7d11a1e 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -25,7 +25,7 @@ OptionList >PSTR "CRY" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm *-------------------------------------- MSG.USAGE >CSTR "Usage : RM [File/Dir, *,? wildcards allowed]\n -C : Continue on error\n -R : Recurse subdirectories\n" -MSG.DIR >CSTR "RM Dir :%S%S..." +MSG.DIR >CSTR "RM Dir :%S..." MSG.FILE >CSTR "RM File:%S%S..." MSG.OK >CSTR "[OK]\n" MSG.ERR >CSTR "[%h]\n" diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 39fa7d20..1e18b882 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -129,6 +129,8 @@ CS.INIT >SYSCALL GetArgC clc rts *-------------------------------------- +* CS.RUN +*-------------------------------------- CS.RUN >SYSCALL GetC bcs .11 no char @@ -147,7 +149,9 @@ CS.RUN >SYSCALL GetC .11 ldy #bPause lda (pData),y - bmi .8 + bpl .1 + clc + rts *-------------------------------------- .1 .DO X.COPY.TO.DEST=1 ldy #bCopy @@ -160,7 +164,21 @@ CS.RUN >SYSCALL GetC ldy #hToDelete lda (pData),y beq .3 - jmp CS.RUN.Delete + + >SYSCALL GetMemPtrA + >SYSCALL RemoveYA + php + pha + ldy #hToDelete + lda (pData),y + >SYSCALL FreeMemA + + ldy #hToDelete + lda #0 + sta (pData),y + pla + plp + jmp CS.RUN.CheckErr .FIN *-------------------------------------- .3 jsr GetNextEntry Ptr1=NAME, Ptr2=STAT @@ -178,36 +196,45 @@ CS.RUN >SYSCALL GetC .4 ldy #S.STAT.P.DRIVE lda (ZPPtr2),y ProDOS Device ? - bne .5 + bne .6 ldy #S.STAT.P.TYPE lda (ZPPtr2),y cmp #$0F Directory ? - beq .6 + bne .5 - jmp CS.RUN.FILE - -.5 jmp CS.RUN.DEV - -.6 jmp CS.RUN.DIR + ldy #bRecurse + lda (pData),y + bpl .8 + jmp CS.RUN.DIR -.9 jsr LeaveSubDir - bcs .99 +.5 jmp CS.RUN.FILE + +.6 lda #MLI.ERR.UNSUPSS + sec + rts *-------------------------------------- +.9 jsr LeaveSubDir exit this sub dir.... + bcs .99 base, we are done, exit + .DO X.DELETE.SOURCE=1 + .DO X.COPY.TO.DEST=0 ldy #hSrcBasePath jsr CS.RUN.GetBasePath + + >PUSHWI UsrBuf256 + >LDYA L.MSG.DIR + >SYSCALL CPrintFYA + bcs .9 + + >LDYAI UsrBuf256 >SYSCALL RemoveYA jsr CS.RUN.CheckErr bcs .99 .FIN + .FIN *-------------------------------------- - ldy #bRecurse - lda (pData),y - bpl .8 - jsr BasePath.. - .8 clc rts @@ -215,10 +242,6 @@ CS.RUN >SYSCALL GetC sec rts *-------------------------------------- -CS.RUN.DEV -.8 clc -.9 rts -*-------------------------------------- CS.RUN.DIR ldy #1 lda (ZPPtr1),y cmp #'.' @@ -229,7 +252,6 @@ CS.RUN.DIR ldy #1 lda (pData),y >SYSCALL GetMemPtrA >PUSHYA - .FIN >PUSHW ZPPtr1 Filename @@ -241,8 +263,7 @@ CS.RUN.DIR ldy #1 >LDYA L.MSG.DIR >SYSCALL CPrintFYA bcs .9 -*-------------------------------------- - .DO X.COPY.TO.DEST=1 + ldy #hDstBasePath jsr CS.RUN.GetFilePath @@ -252,22 +273,9 @@ CS.RUN.DIR ldy #1 bcs .9 .FIN *-------------------------------------- - ldy #bRecurse - lda (pData),y - bpl .1 - >LDYA ZPPtr1 jmp EnterSubDirYA *-------------------------------------- -.1 .DO X.DELETE.SOURCE=1 - ldy #hSrcBasePath - jsr CS.RUN.GetFilePath - >LDYAI UsrBuf256 - >SYSCALL RemoveYA - jsr CS.RUN.CheckErr - bcs .9 - .FIN -*-------------------------------------- .8 clc .9 rts *-------------------------------------- @@ -291,10 +299,12 @@ CS.RUN.FILE .DO X.COPY.TO.DEST=1 *-------------------------------------- .DO X.COPY.TO.DEST=1 jsr CS.RUN.CopyStart - bcs .9 + bcc .1 + jsr CS.RUN.CheckErr + rts .FIN *-------------------------------------- - .DO X.DELETE.SOURCE=1 +.1 .DO X.DELETE.SOURCE=1 ldy #hSrcBasePath jsr CS.RUN.GetFilePath >LDYAI UsrBuf256 @@ -322,7 +332,7 @@ CS.RUN.CopyStart >PUSHWI UsrBuf256 >SYSCALL FOpen - bcs .9 + bcs .99 ldy #hSrcFile sta (pData),y @@ -340,23 +350,24 @@ CS.RUN.CopyStart >PUSHWI UsrBuf256 >SYSCALL FOpen - bcc .1 - pha - ldy #hSrcFile - lda (pData),y - >SYSCALL FCloseA - pla - sec - rts + bcs .9 -.1 ldy #hDstFile + ldy #hDstFile sta (pData),y ldy #bCopy lda #$ff sta (pData),y clc -.9 rts + rts + +.9 pha + ldy #hSrcFile + lda (pData),y + >SYSCALL FCloseA + pla + sec +.99 rts *-------------------------------------- CS.RUN.Copy stz .90+1 >PUSHWI COPY.BUF.SIZE @@ -426,16 +437,6 @@ CS.RUN.CopyEnd ldy #hSrcFile sec bra CS.RUN.CheckErr .FIN -*-------------------------------------- - .DO X.DELETE.SOURCE=1 -CS.RUN.Delete pha - lda #0 - sta (pData),y - pla - >SYSCALL GetMemPtrA - >SYSCALL RemoveYA - bra CS.RUN.CheckErr - .FIN *-------------------------------------- CS.RUN.CheckErr bcs .1 >LDYA L.MSG.OK