From 503314812d6c46ffc0ee2b32bb9a6d1bc774812a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 27 Jun 2017 18:00:32 +0200 Subject: [PATCH] Kernel version 0.9 : CP,RM,MV, Code rewrite in progress.... --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/CP.S.txt | 6 +- BIN/MV.S.txt | 15 ++- BIN/RM.S.txt | 10 +- BIN/X.CPMVRM.S.txt | 220 +++++++++++++++++++++------------------ 6 files changed, 139 insertions(+), 112 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 9b2722d6c59a9605f79a5b14282790c8acad9a6e..10355a9b11ad06e681d7e75838a2f176a403e74e 100644 GIT binary patch delta 2530 zcmZuyeQZ}TS{juS%GO<^DitrI9P3Ry)T>snyz)@@W8 zf3%CIt)@b1zF4^x?bh4Zgw|CIc0v=YBAt**Mp#9&KPGMJ*r>|1sq2u}nu#uf?A-Sf zhd?d)p7-uM_uO-S_ji6b77NE>;naDj_@T6Z;9&YW^3NB4Kb3iphXi1kUa%v;QnmZm-;17t8X zP*3*Ko^I$8PSWxoc(i<-oDvMur=+%!KP%)UeYOXFAo$1r)dQzN_>7+H2MIotXznIR z^o@R~q|s?mgg#nw95$6b?KJ_D=@pFbAniO3A#iH+w;pjFT{{E2E7!_yqb)IO_M^|i zW`mrRX~!+t3Rh*iVH70cDt*6N?1g;_-ABZC=&D&*IX3$ud@hW>1Vzj5zgFC60ilzs znnrb*JTTCo!}xa2rfVD@OOrEP&Az zD~4H*fr{GrOk2XyCmpnr@{uMb)fxR`4f&}rb%2gv0`-X&)|_sdl2|0&G+92ioYiAA zl?my{WH9R?$CPN9#K$vI;=yJkvD6&qg_c-`EcfvvKI~5wlK1==mW9(&eHDvL$Z4rx ze%>}og$&83P6Lz^a}zFRwP~r@VBYkJ6s)SaIw2=D(l4V?(O{wb{NjqPud@(_3MZ?{ zkjDl$wbgtQSDT|aq;ivDHZs{UB}RW&Gr2cgGPz;uBNj>^D(-|Mwv1_M$;ROu=*^2R z8*ChiL<{|MoAW#i$j`i~+}+#T3+Z?LqN{6*mBa>KmCN#$@66}OUHKfse4Ln%F_+L) zJ0XOc)y$Gk@?Y@~?oK0&`xvYVkFJUC`2xPW>PvhG&t(UbY27eXH{QFc zX*rZJACgqJ4#j9=NC{KIh1jmIOv^Mj3?4wshGC^3(|3j;+~u|thGp0 zln7dsGqCtzpOkQ93+#{cVS7b9X6BpQ#D3E`_1!FpZ6P#s7Kq4EBUQs1(o$8QG*x)f zvepJ)OV(77A!1V$0q&F9SRH+41lH0gJ^)u&9){;azpT##XzsvNC*;9KPT;|aHHNIQ zzF#(X;m3PVI*-@Ak(i39x)u{7R>tGgWnVziL3~;q-9YU-?C+hnG@vq%aUKU2AWx}G z<%7frjSpTN+y?GsLui<>wWgz+s(HnIh<@)ZDsF3lEA9)PZQ3HS&AXNQcm?zi(N;o^ol(fK?sC->66R$Mkv8e_gjke?Y(dx{jhh zpeF}(OZ2}P_FoBqx#+jtCHj|a(Z8f{(Uh7W~yqE@;%%1Dk2* z4RA00j>gsWybsm1(oef?z+pij`}_tR0?&v%r(nB$T+>lLQKnJBa#AWsbm~b#4So40 zY%ac_ksVw-M(8IuA^w#m%7mOK`=N&0#kV?~_tDbh zuyN_%l{|Z1Rq6N7LOoD@;a>Or8i{$wy`Fd8t1VE?UJ#+|ZP--t@M3O~3$*NaX3Kh_W*n3_6fj zn-4wtc#E=gVeXNiJo3Y_Gf^=joazt{O19(1?emWFuJ$~4rs%AXg+|4*LOdhJGtPLX XAf73VXO_e>Me$5=JX3NiQ+o0Lg370u delta 1849 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 QI6sbKYV@qb9dh3P0W`XG$^ZZW delta 7819 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 Aa{vGU diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index 7c78fd9c..8441cb4a 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -24,9 +24,9 @@ OptionList >PSTR "CRYQcryq" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet *-------------------------------------- MSG.USAGE >CSTR "Usage : CP [Src File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -Q : Quiet\r\n -R : Recurse subdirectories\r\n -Y : Dont't prompt for override\r\n" -MSG.DIR >CSTR "CP Dir :%S%S to %S%S..." -MSG.FILE >CSTR "CP File:%S%S to %S%S..." -MSG.OVERWRTE >CSTR "Overwrite [Yes,No,All]?" +MSG.DIR >CSTR "CP Dir :%S to %S..." +MSG.FILE >CSTR "CP File:%S to %S..." +MSG.OVERWRTE >CSTR "\r\nOverwrite [Yes,No,All]?" MSG.OK >PSTR "[OK]\r\n" MSG.ERR >PSTR "[%h]\r\n" MSG.DONE >PSTR "%D File(s) Copied.\r\n" diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index 2b6fa9aa..de9d0bd8 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -24,9 +24,9 @@ OptionList >PSTR "CRYQcryq" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet *-------------------------------------- MSG.USAGE >CSTR "Usage : MV [Src File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -Q : Quiet\r\n -R : Recurse subdirectories\r\n -Y : Dont't prompt for override\r\n" -MSG.DIR >CSTR "MV Dir :%S%S to %S%S..." -MSG.FILE >CSTR "MV File:%S%S to %S%S..." -MSG.OVERWRTE >CSTR "Overwrite [Yes,No,All]?" +MSG.DIR >CSTR "MV Dir :%S to %S..." +MSG.FILE >CSTR "MV File:%S to %S..." +MSG.OVERWRTE >CSTR "\r\nOverwrite [Yes,No,All]?" MSG.OK >PSTR "[OK]\r\n" MSG.ERR >PSTR "[%h]\r\n" MSG.DONE >PSTR "%D File(s) Moved.\r\n" @@ -42,12 +42,17 @@ Index .BS 1 hDIRs .BS X.MAX.RECURSE hDIRENTs .BS X.MAX.RECURSE oDIRENTs .BS X.MAX.RECURSE*2 + hSrcBasePath .BS 1 -hDstBasePath .BS 1 hFilter .BS 1 -hDstFileName .BS 1 +hSrcFullPath .BS 1 hSrcFile .BS 1 + +hDstBasePath .BS 1 +hDstFileName .BS 1 +hDstFullPath .BS 1 hDstFile .BS 1 + bPause .BS 1 bCopy .BS 1 hToDelete .BS 1 diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index 32744909..00a003a8 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -24,8 +24,8 @@ OptionList >PSTR "CRYQcryq" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm,#bQuiet,#bContinue,#bRecurse,#bNoConfirm,#bQuiet *-------------------------------------- MSG.USAGE >CSTR "Usage : RM [File/Dir, *,? wildcards allowed]\r\n -C : Continue on error\r\n -Q : Quiet\r\n -R : Recurse subdirectories\r\n" -MSG.DIR >CSTR "RM Dir :%S%S..." -MSG.FILE >CSTR "RM File:%S%S..." +MSG.DIR >CSTR "RM Dir :%S..." +MSG.FILE >CSTR "RM File:%S..." MSG.OK >PSTR "[OK]\r\n" MSG.ERR >PSTR "[%h]\r\n" MSG.DONE >PSTR "%D File(s) Removed.\r\n" @@ -41,12 +41,12 @@ Index .BS 1 hDIRs .BS X.MAX.RECURSE hDIRENTs .BS X.MAX.RECURSE oDIRENTs .BS X.MAX.RECURSE*2 + hSrcBasePath .BS 1 -hDstBasePath .BS 1 hFilter .BS 1 -hDstFileName .BS 1 +hSrcFullPath .BS 1 hSrcFile .BS 1 -hDstFile .BS 1 + bPause .BS 1 bCopy .BS 1 hToDelete .BS 1 diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 0e640384..46ca63b5 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -132,11 +132,23 @@ CS.INIT >SYSCALL GetArgC bcs .99 .FIN -.8 ldy #Count - lda #0 +.8 >PUSHWI 256 + >PUSHBI 0 + >SYSCALL GetMem + bcs .9 + txa + ldy #hSrcFullPath sta (pData),y - iny + + .DO X.COPY.TO.DEST=1 + >PUSHWI 256 + >PUSHBI 0 + >SYSCALL GetMem + bcs .9 + txa + ldy #hDstFullPath sta (pData),y + .FIN * lda (pPs) * ora #S.PS.F.EVENT Now accept events @@ -251,9 +263,11 @@ CS.RUN >SYSCALL GetC cmp #'.' beq CS.RUN.NEXT Skip "." & ".." + jsr CS.RUN.BuildFilePath jmp CS.RUN.DIR -.5 jmp CS.RUN.FILE +.5 jsr CS.RUN.BuildFilePath + jmp CS.RUN.FILE .6 lda #MLI.ERR.UNSUPST sec @@ -286,7 +300,7 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir.... >LDYA L.MSG.DIR >SYSCALL CPrintFYA - bcs .9 + bcs CS.RUN.LEAVE.RTS jsr CS.RUN.GetSrcFilePath @@ -314,32 +328,27 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir.... .91 ldy #RC lda (pData),y get global RC in case of bContinue sec -.9 rts +CS.RUN.LEAVE.RTS + rts *-------------------------------------- CS.RUN.DIR .DO X.COPY.TO.DEST=1 - >PUSHW ZPFileName Filename - - ldy #hDstBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - - >PUSHW ZPFileName Filename - - ldy #hSrcBasePath + ldy #hSrcFullPath lda (pData),y >SYSCALL GetMemPtrA >PUSHYA >LDYA L.MSG.DIR >SYSCALL CPrintFYA - bcs CS.RUN.DIR.RTS + bcs CS.RUN.LEAVE.RTS - jsr CS.RUN.GetDstFilePath - >PUSHW L.STAT - >PUSHWI UsrBuf256 + + ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + >SYSCALL Stat bcs .3 File Not exists...go create @@ -376,7 +385,10 @@ CS.RUN.DIR .DO X.COPY.TO.DEST=1 lda #0 bra .4 -.3 >LDYAI UsrBuf256 +.3 ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >SYSCALL MKDirYA .4 jsr CS.RUN.CheckErr @@ -400,10 +412,13 @@ CS.RUN.FILE ldy #bQuiet .14 .DO X.COPY.TO.DEST=1 - jsr CS.RUN.GetDstFilePath - >PUSHW L.STAT - >PUSHWI UsrBuf256 + + ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + >SYSCALL Stat bcs .2 File Not exists...go create @@ -470,9 +485,10 @@ CS.RUN.FILE ldy #bQuiet .4 .DO X.DELETE.SOURCE=1 - jsr CS.RUN.GetSrcFilePath - - >LDYAI UsrBuf256 + ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >SYSCALL NewPStrYA bcs .9 txa @@ -489,25 +505,14 @@ CS.RUN.FILE ldy #bQuiet rts *-------------------------------------- CS.RUN.FILE.MSG .DO X.COPY.TO.DEST=1 - ldy #hDstFileName - lda (pData),y - beq .1 - - >SYSCALL GetMemPtrA - >PUSHYA - bra .2 - -.1 >PUSHW ZPFileName -.2 ldy #hDstBasePath + ldy #hDstFullPath lda (pData),y >SYSCALL GetMemPtrA >PUSHYA .FIN - >PUSHW ZPFileName - - ldy #hSrcBasePath + ldy #hDstFullPath lda (pData),y >SYSCALL GetMemPtrA >PUSHYA @@ -518,26 +523,18 @@ CS.RUN.FILE.MSG .DO X.COPY.TO.DEST=1 *-------------------------------------- .DO X.COPY.TO.DEST=1 .DO X.DELETE.SOURCE=1 -CS.RUN.Rename jsr CS.RUN.GetDstFilePath - - >LDYAI UsrBuf256 - >SYSCALL NewPStrYA - stx .1+1 +CS.RUN.Rename ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA >PUSHYA - jsr CS.RUN.GetSrcFilePath - >PUSHWI UsrBuf256 + ldy #hSrcFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA >SYSCALL Rename - php - pha -.1 lda #$ff - >SYSCALL FreeMemA - pla - plp rts - -.9 bra .9 .FIN .FIN *-------------------------------------- @@ -551,9 +548,11 @@ CS.RUN.CopyStart >PUSHB (ZPFileStat),y >PUSHBI SYS.FOpen.R - jsr CS.RUN.GetSrcFilePath + ldy #hSrcFullPath + lda (pData),y + >SYSCALL GetMemPtrA - >PUSHWI UsrBuf256 + >PUSHYA >SYSCALL FOpen bcs .99 @@ -568,9 +567,11 @@ CS.RUN.CopyStart >PUSHB (ZPFileStat),y >PUSHBI SYS.FOpen.W+SYS.FOpen.X - jsr CS.RUN.GetDstFilePath + ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA - >PUSHWI UsrBuf256 + >PUSHYA >SYSCALL FOpen bcs .9 @@ -717,35 +718,51 @@ CS.RUN.CheckErr bcs .1 .8 clc rts *-------------------------------------- -CS.RUN.GetSrcFilePath +CS.RUN.BuildFilePath ldy #hSrcBasePath - jsr CS.RUN.GeFilePath - - >PUSHW ZPFileName - >PUSHWI UsrBuf256 - >SYSCALL PStrCat - rts -*-------------------------------------- -CS.RUN.GetDstFilePath - ldy #hDstBasePath - jsr CS.RUN.GeFilePath - - ldy #hDstFileName - lda (pData),y - beq .9 - - >SYSCALL GetMemPtrA - >PUSHYA - >PUSHWI UsrBuf256 - >SYSCALL PStrCat -.9 rts -*-------------------------------------- -CS.RUN.GeFilePath lda (pData),y >SYSCALL GetMemPtrA >PUSHYA - >PUSHWI UsrBuf256 + + ldy #hSrcFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >STYA ZPPtr1 + + >PUSHYA >SYSCALL PStrCpy + + >PUSHW ZPFileName + >PUSHW ZPPtr1 + >SYSCALL PStrCat + + .DO X.COPY.TO.DEST=1 + ldy #hDstBasePath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + + ldy #hDstFullPath + lda (pData),y + >SYSCALL GetMemPtrA + >STYA ZPPtr1 + + >PUSHYA + >SYSCALL PStrCpy + + ldy #hDstFileName + lda (pData),y + beq .1 + + >SYSCALL GetMemPtrA + >PUSHYA + bra .2 + +.1 >PUSHW ZPFileName + +.2 >PUSHW ZPPtr1 + >SYSCALL PStrCat + .FIN rts *-------------------------------------- CS.DOEVENT sec @@ -754,14 +771,9 @@ CS.DOEVENT sec CS.QUIT jsr LeaveSubDir bcc CS.QUIT - ldy #hToDelete + ldy #bCopy lda (pData),y - beq .1 - >SYSCALL FreeMemA - -.1 ldy #bCopy - lda (pData),y - bpl .2 + bpl .1 ldy #hSrcFile lda (pData),y @@ -771,19 +783,29 @@ CS.QUIT jsr LeaveSubDir lda (pData),y >SYSCALL FCloseA -.2 ldy #hDstFilename - lda (pData),y - beq .3 - >SYSCALL FreeMemA +.1 ldy #hToDelete + jsr CS.QUIT.FREE -.3 ldy #hFilter - lda (pData),y - beq .8 - >SYSCALL FreeMemA + ldy #hDstFilename + jsr CS.QUIT.FREE -.8 clc + ldy #hFilter + jsr CS.QUIT.FREE + + ldy #hDstFullPath + jsr CS.QUIT.FREE + + ldy #hSrcFullPath + jsr CS.QUIT.FREE + + clc rts *-------------------------------------- +CS.QUIT.FREE lda (pData),y + beq .9 + >SYSCALL FreeMemA +.9 rts +*-------------------------------------- MAN SAVE /A2OSX.SRC/BIN/X.CPMVRM.S LOAD /A2OSX.SRC/BIN/MV.S