From ab7fe523e81375301dc234bc1da1b62a442a1ff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 3 Nov 2016 08:29:24 +0100 Subject: [PATCH] Kernel version 0.8 : RM, fixed a bug preventing removing a simple directory! --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/RM.S.txt | 14 +++++++------- BIN/X.FILEENUM.S.txt | 22 +++++++++++++++++----- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 9a1cd3facdda47ee5158c773c11a1f7d267ce669..57c98f8e4e18a39de9cb13fcb45d2a114eb184f8 100644 GIT binary patch delta 397 zcmZp8z|ru4V}mLSBiCd#mf0*xiprvskFvZ`Wr*^O@?<~&{@Ve`oWq4vd8N)YMhW=t=1(~3;nUSf3u_6e9&5DGK6B zzDf-$uT*}haH#UDim5U%EGkf7*w-7TdXn)&@VPM64-RX?R3|%pkrt>{xm&IBf&J8l zA1lvWB8BGIB^iyTKTTlNWsILLoXBVVFBYthm(3A zco(Q`R1)A^>bS(g=lu4>M8>xQMn)q{sY;pj)Bx&V;1C8k=MT|;JUaFH{?>Axeovd&`R!qOuxy7k#f#O7^O%9Ws zR%~>b=+trH=XAkhMlmKe<;gV%?kp=|6qp=wuzGt#3u6Q0WC14DZEcKcGMv16X+^22 fKmr&v6B)NHVPp|v1&8tUkGf34+hw*fKB)u%@mYgm delta 265 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 delta 2612 zcmZ9OX>1!s6vyAJy~)NK$MF%{Nm`oLY2u{GHckp890AvM+Rz-vP70wZVw0LC;5x>3 zDEjk@x^YLP(W33KS5OqvdRYLd#L^@@98U?O0mbo_YJ` z&71%Gy_uWqoSW->_Hvu}iwoGt2VYb^KW^K%Zn2T)7WyoUP52d?@Z_ez@gu0oZL;D| zhvl5y(l!g;pQt=uomzCjw^ z1md4Kn~@c%8~DFK1?%4+1*o=k5M2M1+DBs681Vn1nfDAx-IN~LRpHD7(f#*;K!}=7 zroqV(+}Et)n+VOMa?`1u32>O$Q1Mo+W}+r$GK#OUy8{HCsB$(5LK*Xb!Iu+lkGw!s zuv8GKho+M^f?#3O_$}(wLM3S}V>#%x(oa{LF7B-=tP8}Q&6PE1mbihL1U&Ta7b~1} zZijg}z5bYaIp?XT$|2EBA3J7VyCMMA2Hl6Rv9Ay8D~%u~LcyU>WPqMNX7+LJ)qBRc zntYSCwsr!|xLcdQU>hG9j)J455KBQL*49Ge(6eI=QM0+?yjt1`9?fKO5(LRe;#!u( z4wl4h0*3=e@;V9Aj|u9#=3hEe*S?OOM1o(6DE&F*!FjIZg$y_1>j`Q_! z7LE#@v$7Stjl^_;yN3p=IM+)40=DRdMC#IGxyV@bVr@~V>zyAuUR!^O{?BqL!DS;u zVGx4)NbP!h^*HAxq4~YXn=D~{@TLf%@@tk_`pP(W4e6sRw{i_+!~C`1`RX10xXWt#43|jkM(7L~A?{`&;_7|Eg#-mkG3h?QPwS z_P-PC2X##7(`y1CzEkiA_IHa-agKiv%TqW6s-}SV4OD!fqvG5TA(FyljPINXPiN@M zHsas@5p#~UI-S~=W1KzD^=?AGyh=|})-zQK|BSUeOQ7*L|| zTqY#vz<$hFqmVS=IH=Ppl=pX_=Hywhe{Y;c!NB^1{)Vr4Z8JDefL}iX$w{gHz;r>{*9VPisv%V_<>B|7=IJ49nj~oU+p+DG3a~=V# z368xV85+@CAc0w4MC2}u(ANPDq;6?QJn|PTCixKonsH-3Y33*pS*Ug>9dO;$W z?pH)M=M8NjpEVuYtwr%@!62wvFb<8*#rP5s%`CYL$%QZ-OT!cp&@2lc7dfkpP;w@l zKv@UDmUpw4&x+c!G)Tcq)NNRLj@qTJ#k#XNuE%6Jml>{#$0r)AGz2JSU!2|17KP8KcIaE6dUz4FJDa$ILR_6c7)QLdYkFN+XPR!pF98!Ercek z$vJJ<2A~%4ubCPuzGZtNrz8_85Zd$v^X+KWB2n2z{5{wQij7h7)(*W9YBeEZW56!R zZVG%Sz9w{`k69Vo*3nm8WDV;D8dR_aXyWLeC(oRjujZcK?Iye3+-|q&1-JRIyK>x7 zxcKao_kY`F_MGBsHs7O|T>HH%_(x4`{5@DV&OJum6y=pJtsU>Z8a7r{ssq zP@wuH1{DtOz4SE=`H^OgZ2nv diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index dd9debe4..2b458567 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -83,7 +83,7 @@ CS.INIT >SYSCALL GetArgC bra .1 .4 >LDYA ZPPtr1 - jsr InitSrcDirYA + jsr InitSrcDirPatYA bcs .9 bra .1 scan for any other args @@ -187,18 +187,18 @@ 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 + ldy #bRecurse + lda (pData),y + bpl CS.RUN.FILE + >LDYA ZPPtr1 jmp EnterSubDirYA - + .8 clc .9 rts *-------------------------------------- diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index d3c485f5..9d21ae85 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -10,7 +10,11 @@ AUTO 6 * hDIRENTs .BS MAX.RECURSE+1 * hBasePath .BS 1 *-------------------------------------- -InitSrcDirYA >SYSCALL GetFullPathYA +InitSrcDirPatYA ldx #$80 + .HS 2C bit abs +InitSrcDirYA ldx #0 + stx .11+1 + >SYSCALL GetFullPathYA bcc .10 rts @@ -21,11 +25,14 @@ InitSrcDirYA >SYSCALL GetFullPathYA cmp #1 beq .5 we have '/' +.11 lda #$ff Self Modified + bmi .1 Force using pattern + >PUSHW L.STAT >PUSHW ZPPtr1 >SYSCALL STAT - bcs .1 File/DIR does not exists, go extract wildcard + bcs .1 File/DIR does not exists, go extract pattern lda STAT+S.STAT.PRODOS.TYPE cmp #$0f @@ -76,9 +83,14 @@ InitSrcDirYA >SYSCALL GetFullPathYA ldy #hBasePath sta (pData),y - >PUSHW ZPPtr1 Push Src - >PUSHW ZPPtr2 Push Dst - >SYSCALL PStrCpy + lda (ZPPtr1) + sta (ZPPtr2) + tay + +.6 lda (ZPPtr1),y + sta (ZPPtr2),y + dey + bne .6 >LDYA ZPPtr1 >SYSCALL OpenDirYA