From 76d1721df4e79873c08e9bf93c4bdd98b737f824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 23 Feb 2017 08:42:48 +0100 Subject: [PATCH] Kernel version 0.9 : CP/MV/RM, bug fix in RM --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/X.CPMVRM.S.txt | 80 +++++++++++++++++++++++++------------------ BIN/X.FILEENUM.S.txt | 3 +- 4 files changed, 48 insertions(+), 35 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index bc347400e19d7597314a8050eb2b16c5fdb30745..a977237932691bc9318437dec79e225410d2e5c5 100644 GIT binary patch delta 1779 zcmb8veM}o=90&0Gm98KVWGXLl44!-Lt&BM#+p@wR*lk9(cxD=cA#;K2ba5uc36sPv zOV$LVagL>3=bjlCbGemcC6u)(tcx${rU{lPNV>$pA`2RIzC_lA%s(J;K6lp@n7U~H z=+oz(r@!Z(`+n~6&gOY%^CD{t!4|75+`SX71rD`5ZFewvc|FONc(MiFu)#=tYb$(_ zyJgY-7-M`y^a1L_{n#dS2#1AZf?qfzFpTyZVm|Gi62>6C@$9rPF(ss%=ca}5G8P0VQw*qTc&5JYhB2g45asMGM%QD~0a-27^#5CKK z*+0Ph-nX*-%)DBpI-={eQ}oW!0iKMU2WLr_x$7Kx4rgK?;m}z!cO2@4FIo9{R(^*? zx@g8;%3DDtxoqrLMN;Jf@n{XUa!+z*whdx7cNehQz z+=NBP4GOgC8uT(YJ!FPgct~>QX0=nrw5SpI8TvJvy86qnF|aLy?t@284}zWi;DHKq zJp`D{D3D8j_rSxZoz@^AxJ?cP!9|;+gRlX-4NQ&F8(Kxg;q+9Vtd0U>J27$RD{IT)$W^?UMFM z9n!%p$e1){94*7rL`- z72P&jpl*t88+$PAkX2T0WaUm4HH%q*UJKx^-!cbJw*~NqkOe593&z2Nk+uwAHy0^d zb`}}a5iQ|B5{`g^y2FF1_-s`tbfVKIbeN&HsnSt0s+(f1>f;5)HRSqkoA;qe0_h(R%tmBGGu2H5X#^ z2;>u#g0+B1V+!`c+wt~~;0WlSKq(pThmGXp3s4FNNm&X++L&{$5jv+P{&kAlixu0( JLH`DJ{{;*BilhJl delta 1708 zcmb7^UrZcD7{K>ij^p@~aw;ITaGjm~hu2CVns|u~JzBM;UF^SLuvXk+j8tPRoF z_EKA8Oo4-II$B%YUhYoMaCFb6;28}^8%ys6$$_RXL{h^;U+^B9V2Vkd-M!*zHO76| z*_r+3+nM?O_VX_|{0k1fwhZtkSK0m+_$>Ht+fG{{^JCHb*W1Rgw?Qupf$`>cm@0ZQ zWqXV}A! zerTpdlM=Y)?jW8yq}9>D0;LoqAFnrQd~o8nK$cW+itliW$SLg{>J{`yv<(UDd{E=i z8#vTJlOY$@3sFQMyZbqTHPR~DadFH_7ZOxYNDOsY^_BjH7N8f4N(Ph{`Ae<|LqeQGBghKZ%jyC}nwxIaU(%)Cxuepxliwn+mG2b-D;iJtT^Jgo zx#;=$H-?!02^?Z+Hvnq?>tv}18exzi9~@)5_+WSHZ1in#21_RqJTrda1cV{zWS<)Q z033Et%6^aK1gaC6x>wB6HJUx)Hje~t67VShY_T$*(=oz)s18^TAQJL!|zNy*J)-qJzLNNAh(0g#= zw{#njr~3`v2ITlaPPZe{{1Hnx@6r2pYx|pS%lyCUw#<{uUqD0g2u6bGk5M{AQS&6W z%#>vvy^eQ<^xXn?v=IUTPMF0`#J(PV22))$m#BToH5Xh&gp?QJmA)QgyUE zb@GA{O<+eN)K-#uTpNYC~x~G%7_1?ye>!ic#iT~ zgYuYtBb9$eBs()8I#xuL3VIqvbtoad8R%d;C9-e=+~XI&fjveA5~JTj6pXUPESz5<}7cNwfyJp~~F~uJJ3HJX1E&ORC diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 9aab52cf957572c59eaf2e26204364a3b2a8c818..139833e2d4e382dc3832fe98fb33cb97ac417df7 100644 GIT binary patch delta 4488 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 HoL~Px`jIMw delta 4591 zcmbVQd0br86+U+!58li?5@vfdKu{t?5<^}xU;cV<(P5rw1)h$~S(N0i~i4&jm6NSgeZwwU#zaZ(3&dwAbUfbHx0`iw64UVr! zy0>dERnonpr#BgmgA**c5J}CA1tZDGyz)V?6HB@yx;dp+gJz+d{gTHgS<+z3vgp;c zvlqq57OqhCuGor7a(6T7C^Hm11crjX_W@-#x31P#*0<=jfpEPZ3bd>O?E|2DmPl^b zVaO2aJ2LKgPMe{A2qn{`vvHJ zYDf-%`^%~4>zkWF&i)FItY(>D+WXBJzU z?AKhGq@(@uR7q*|B2cnPI+ExGC5IuP;tCI;Y{ekiY(%f2vED79*x5GzRz-w!$!R$( z36{Z59F@qH%iJDmVs-{)Ll$3B_vE)%agUBnKVWtmqo(^9l@UX4MuYI^mRqI zfHO=y89ubPpzot&8X40pJ2k0z2-6h9&`Q!QF&*pBsa>6z+`)$C!~#DkZCpv``pjS` z?dVuc82hhm@iJHfBO-7t?J))m>@pX7Mzty+@?VB`nOB60<6M zg-o6KJY>DVI6eZ7 z3(f9e7Rm-N9NW;>lMKf@F)^@tm0v`!Xj11pBBE(^@TQgDIezD1uie@uWamfe6HThm zwK20FR$NSvHL3pcZtOaao=l0CoRAnyB!$FF4T%N4T%vW8P+aNbqD%Yf0*h2q9m^C| zv>DB1-M*$~v^>?@g}=n2ZGh`|^K@LjikDba@9-w;Cl{!ui#vpW(8`I~sp zy%q1VOf6khIZ~I5_b#Xd^;;q({Mfj!M^RYPj&B>dV}XwTcydpc4)P6n+j}FvB#X9l z0KWhTgZdp4zz=yhp(}=1*XRgE1`_yEjGMkOU*O#Df_N!5ZUpD|Oxw(Dc{@sSQIzE0 zZnPg0==+&K_B6`f)Wf=r^#_LiBT)E5_SkL9lC%xVkGM}}-pnpCjq3W5a5#TF4d)ib ziS?%R3UJ?wAw&O&7v8vF-C;)QCmgWgr=V9*8faHtXMplEzUcb7kkZ}KAB^@!lW6+R zX_9V3Nh}>JLHh+QZdN^>Uz*^*;yC5M2ECFV%aZ1vemfrKFR}a^^oipRQ-Vouew&H! zyORzdmb}?_;c?&HED5XBU07g(bvS<~{+@UUy}!p5v-dMf))Yy0c0z4y_D*^<`yXQ7JGH!4^WtximNP^)z^UXn26WoK$o|xUR8O5FKAEV@g23Q%d!{f+FCW=@)Xd$ z?A!M=-O#3LL+Udpz^%`kA$m@P`gva0Cte$nUqHodFS6=2IOI#bEajJRdB#4#_Jg?` zNtIxQy}~O@c~w;IYaDde>n7z3)~}L)aK0rHp`$t4 zIS^+>_I73_*xxbz0P+D;BL7{wuT}M({N4nL{UE=?bUMVliSK>GdY}9O-f$p~<;+sN z1=%3v#{dr{SzHaLUX9h1tIfFL)ZJ>TNVe@7adp4jfU8 zL}}!T=QkPYkfW?NzVB%}UtOG2sQjJpS|2b2{vcl{c*qENPG%Cme( M{?C8L^DMXh7gX3xu>b%7 diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 93f8751d..1f3a5663 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -85,19 +85,17 @@ CS.INIT >SYSCALL GetArgC lda (pData),y *-------------------------------------- .DO X.COPY.TO.DEST=1 -*-------------------------------------- bne .5 Already have a Src dir... .ELSE bne .99 .FIN *-------------------------------------- >LDYA ZPPtr1 - jsr InitSrcDirYA + jsr InitSrcDirPatYA bcc .1 success, scan for any other args rts *-------------------------------------- .DO X.COPY.TO.DEST=1 -*-------------------------------------- .5 ldy #hDstBasePath lda (pData),y bne .99 we already have a second arg....error! @@ -113,7 +111,6 @@ CS.INIT >SYSCALL GetArgC beq .99 , no src ? ERROR *-------------------------------------- .DO X.COPY.TO.DEST=1 -*-------------------------------------- ldy #hDstBasePath lda (pData),y bne .8 we also have a Dst folder @@ -153,15 +150,13 @@ CS.RUN >SYSCALL GetC bmi .8 *-------------------------------------- .1 .DO X.COPY.TO.DEST=1 -*-------------------------------------- ldy #bCopy lda (pData),y bpl .2 jmp CS.RUN.Copy .FIN *-------------------------------------- -.2 .DO X.DELETE.SOURCE -*-------------------------------------- +.2 .DO X.DELETE.SOURCE=1 ldy #hToDelete lda (pData),y beq .3 @@ -198,13 +193,8 @@ CS.RUN >SYSCALL GetC .9 jsr LeaveSubDir bcs .99 - - ldy #bRecurse - lda (pData),y - bpl .8 *-------------------------------------- .DO X.DELETE.SOURCE=1 -*-------------------------------------- ldy #hSrcBasePath jsr CS.RUN.GetBasePath >SYSCALL RemoveYA @@ -212,6 +202,10 @@ CS.RUN >SYSCALL GetC bcs .99 .FIN *-------------------------------------- + ldy #bRecurse + lda (pData),y + bpl .8 + jsr BasePath.. .8 clc @@ -243,31 +237,41 @@ CS.RUN.DEV >PUSHW ZPPtr1 .8 clc .9 rts *-------------------------------------- -CS.RUN.DIR ldy #bRecurse - lda (pData),y - bpl .8 - - ldy #1 +CS.RUN.DIR ldy #1 lda (ZPPtr1),y cmp #'.' beq .8 - + jsr CS.RUN.PrintDir bcs .9 *-------------------------------------- .DO X.COPY.TO.DEST=1 -*-------------------------------------- ldy #hDstBasePath jsr CS.RUN.GetFilePath >LDYAI UsrBuf256 >SYSCALL MKDirYA jsr CS.RUN.CheckErr + bcs .9 .FIN *-------------------------------------- -.1 >LDYA ZPPtr1 - jmp EnterSubDirYA + 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 *-------------------------------------- @@ -275,27 +279,24 @@ CS.RUN.FILE jsr CS.RUN.PrintFile bcs .9 *-------------------------------------- .DO X.COPY.TO.DEST=1 -*-------------------------------------- jsr CS.RUN.CopyStart bcs .9 - rts .FIN *-------------------------------------- .DO X.DELETE.SOURCE=1 -*-------------------------------------- ldy #hSrcBasePath jsr CS.RUN.GetFilePath >LDYAI UsrBuf256 >SYSCALL NewPStrYA - bcs .9 + bcs .99 txa ldy #hToDelete sta (pData),y - .FIN *-------------------------------------- -.9 jsr CS.RUN.CheckErr rts +.9 jsr CS.RUN.CheckErr +.99 rts *-------------------------------------- CS.RUN.PrintDir ldy #hDstBasePath lda (pData),y @@ -331,7 +332,6 @@ CS.RUN.PrintFile rts *-------------------------------------- .DO X.COPY.TO.DEST=1 -*-------------------------------------- CS.RUN.CopyStart ldy #S.STAT.P.AUXTYPE+1 >PUSHB (ZPPtr2),y @@ -449,11 +449,9 @@ CS.RUN.CopyEnd ldy #hSrcFile beq CS.RUN.CheckErr sec jmp CS.RUN.CheckErr -*-------------------------------------- .FIN *-------------------------------------- .DO X.DELETE.SOURCE=1 -*-------------------------------------- CS.RUN.Delete pha lda #0 sta (pData),y @@ -461,7 +459,6 @@ CS.RUN.Delete pha >SYSCALL GetMemPtrA >SYSCALL RemoveYA jmp CS.RUN.CheckErr -*-------------------------------------- .FIN *-------------------------------------- CS.RUN.CheckErr bcs .1 @@ -508,7 +505,24 @@ CS.DOEVENT sec CS.QUIT jsr LeaveSubDir bcc CS.QUIT - ldy #hFilter + ldy #hToDelete + lda (pData),y + beq .1 + >SYSCALL FreeMemA + +.1 ldy #bCopy + lda (pData),y + bpl .2 + + ldy #hSrcFile + lda (pData),y + >SYSCALL FCloseA + + ldy #hDstFile + lda (pData),y + >SYSCALL FCloseA + +.2 ldy #hFilter lda (pData),y beq .8 >SYSCALL FreeMemA @@ -518,5 +532,5 @@ CS.QUIT jsr LeaveSubDir *-------------------------------------- MAN SAVE BIN/X.CPMVRM.S -LOAD BIN/CP.S +LOAD BIN/RM.S ASM diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 89f76fb7..1dde2ff2 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -314,8 +314,7 @@ EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat ldy #hDstBasePath jsr EnterSubDirYA.1 .FIN - - + .9 rts EnterSubDirYA.1 lda (pData),y