From f818be145b4fc0b8fe098076237351bece14480d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 22 Feb 2017 17:32:02 +0100 Subject: [PATCH] Kernel version 0.9 : CP/MV/RM Migrated, now Debug --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/CP.S.txt | 3 +- BIN/MV.S.txt | 12 +- BIN/RM.S.txt | 319 ++------------------------- BIN/{X.CPMV.S.txt => X.CPMVRM.S.txt} | 190 +++++++++------- README.md | 6 +- SYS/KERNEL.S.FILE.txt | 2 - 8 files changed, 142 insertions(+), 390 deletions(-) rename BIN/{X.CPMV.S.txt => X.CPMVRM.S.txt} (73%) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index a081e5ce2dc6755bde8a5eb204d425b465336392..bc347400e19d7597314a8050eb2b16c5fdb30745 100644 GIT binary patch delta 2042 zcma*oe{2&~902h9c3UZ9;D8MVgYxd(yE`a2S)8#kIJ+${FrC1(1_bfI7>E7=qngZs zY(eH9X6yQcW=mBm zi8nn6;p|>@CA+Z5I|n1bpx3KHWaJKcu1<9)8?$rNx@2SKshr*WA@3D=?=~KF5Phk- zI*H2{s62WfN7u4-krV4BXpqp_UO=yzljtX2pQmwEY|2Q|#^Nl&IGSB4_I zK6`pjF#;;tk}qSG(`?Z#M!F@RsVhU6Euqlh094SwPD3gEQG+`A_i1p@L%U&NY!8$> zm!tSH6y3l=l#Ln}!fnxG?7Nwo*NN%A1n~1*Y`a~hZOXlS3QL>zC!k5_Ai?{pz;<5} z4YL4tm%7$OxxfgH+So7%O5i=(egJB1Au)1$M90yvD=#x9K zruAySG}F3aT;CW75V~Rz8u=b}LN{s;%-q`C)=~JHOdkb>zBLTBFh)be&Q0?U;*hrgd4&UsX}(i9=Tb5Wtwy#Pr6UO5->>j$%#IT^g(Izphf!dqojQ^ zNZ%EnNcyfYlk|e=j^~)_c*f`2H!Rk1j7VNH&hgP>kst0jX_*G)mHoW8p7*x%s7BJ~ zn4PPLon!;9FAw*o)!_VjxEDkVu4utsjuO1Sguzt{;1*nr*aCJWVjUFLcxQGv2*tMeL<C~|;ummyH6oP|V&DUwbK4aZydTcJ=jD0s zdCvcL{(%WcV8UVUZ-Mop11-&B%zo%<%kb3}*e}AD!zsn=3}N3VPJ3jrk> z=#c`KPp|B+!;O+z9yo6Z2`TM3TRqLuTkY24b1>${@M@Nh2N-ffT6oY*$yq4}FL%w89?7kHbyigOV?$y`WDEDQAG!5#pe8JIwM$`rnjBN!1ee2d-wyY00}s?vCnw>#1?8Uo3a`>6Y4;tkD9)o~RBVV^v_WYz|Hm5FTP9 zW??cfy`3F~bMi1!tyr(ndq<(NcENuD*g&*D(2$~32#cK4G*Za!Vmay zM*VNI>fe+snI{ycKA)MFWuOTAiRr?7gaT82?2cKix&2W}ykQzD>gd*DB1~aW-8(*N)@-`r@X9!~m`Bb_f0<*=f zGKE2?m$oqIo1#xFp0;_jKy}GEpq45bpuW)geT;j?zl_to|0@#3%L-T=dq(EnV{n?dOHXbN9!eeI|?K+ z03!4rkHH(oCuBy`Q>Kt#qE;I02gUn>sqW$$Vbt|F=o)R}7c4BXWNKQdG#A5_dE!MJ^XhA}|9pD%nAT*MhR3>Z$GF z1(`G309CXm0&ZA!d=MH)J-d$2ak*2;aals65m*H6q4bE?qEakUnb!?jSU${PIpd+K zv(0c<`D|rp!~`dOs}tVMlkk1I@f_fcs_OYId;D9s;4*AjOMf1RFKE$u_=8!ZEph=$ WsOJVOr(15oiSJxu6-0i44gUZ-{DzGH diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index b1bc30ae8208c7999fcfbfcd7133f1a2bd1222f9..9aab52cf957572c59eaf2e26204364a3b2a8c818 100644 GIT binary patch delta 12383 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 diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index 04afe83d..e038f819 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -16,7 +16,7 @@ X.MAX.RECURSE .EQ 8 X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 0 *-------------------------------------- - .INB BIN/X.CPMV.S + .INB BIN/X.CPMVRM.S *-------------------------------------- .INB BIN/X.FILEENUM.S *-------------------------------------- @@ -49,6 +49,7 @@ hSrcFile .BS 1 hDstFile .BS 1 bPause .BS 1 bCopy .BS 1 +hToDelete .BS 1 CopyRC .BS 1 bContinue .BS 1 bRecurse .BS 1 diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index 2331d806..58b7aa2a 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -10,12 +10,13 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I + .INB /A2OSX.DEV/INC/MLI.ERR.I *-------------------------------------- X.MAX.RECURSE .EQ 8 -X.DST.BASE.PATH .EQ 1 +X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 1 *-------------------------------------- - .INB BIN/X.CPMV.S + .INB BIN/X.CPMVRM.S *-------------------------------------- .INB BIN/X.FILEENUM.S *-------------------------------------- @@ -25,7 +26,7 @@ OptionList >PSTR "CRY" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm *-------------------------------------- MSG.USAGE >CSTR "Usage : MV [Src File/Dir, *,? wildcards allowed]\n -C : Continue on error\n -R : Recurse subdirectories\n -Y : Dont't prompt for override\n" -MSG.DIR >CSTR "MV Dir :%S to %S..." +MSG.DIR >CSTR "MV Dir :%S%S to %S..." MSG.FILE >CSTR "MV File:%S%S to %S..." MSG.OK >CSTR "[OK]\n" MSG.ERR >CSTR "[%h]\n" @@ -44,7 +45,12 @@ oDIRENTs .BS X.MAX.RECURSE*2 hSrcBasePath .BS 1 hDstBasePath .BS 1 hFilter .BS 1 +hSrcFile .BS 1 +hDstFile .BS 1 bPause .BS 1 +bCopy .BS 1 +hToDelete .BS 1 +CopyRC .BS 1 bContinue .BS 1 bRecurse .BS 1 bNoConfirm .BS 1 diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index ed4bdcba..ad85cbd7 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -10,318 +10,20 @@ AUTO 6 *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I + .INB /A2OSX.DEV/INC/MLI.ERR.I *-------------------------------------- X.MAX.RECURSE .EQ 8 X.COPY.TO.DEST .EQ 0 -X.DELETE.SOURCE .EQ 0 +X.DELETE.SOURCE .EQ 1 *-------------------------------------- -ZPPtr1 .EQ ZPBIN -ZPPtr2 .EQ ZPBIN+2 -*-------------------------------------- -* File Header (16 Bytes) -*-------------------------------------- -CS.START cld - jmp (.1,x) - .DA #$61 6502,Level 1 (65c02) - .DA #1 BIN Layout Version 1 - .DA 0 - .DA CS.END-CS.START Code Length To Relocate - .DA DS.END-DS.START Data Segment to Allocate - .DA 0 - .DA 0 -*-------------------------------------- -* Relocation Table -*-------------------------------------- -.1 .DA CS.INIT - .DA CS.RUN - .DA CS.DOEVENT - .DA CS.QUIT -L.MSG.USAGE .DA MSG.USAGE -L.MSG.DIR .DA MSG.DIR -L.MSG.FILE .DA MSG.FILE -L.MSG.OK .DA MSG.OK -L.MSG.ERR .DA MSG.ERR -L.STAT .DA STAT - .DA 0 -*-------------------------------------- -CS.INIT >SYSCALL GetArgC - sta ArgCount - cmp #1 - beq .99 - -.1 dec ArgCount - beq .5 - - lda ArgCount - >SYSCALL GetArgA - >STYA ZPPtr1 - - lda (ZPPtr1) - cmp #2 - bne .4 - - ldy #1 - lda (ZPPtr1),y - cmp #'-' - bne .4 - - iny - lda (ZPPtr1),y - - ldx OptionList - -.2 cmp OptionList,x - beq .3 - dex - bne .2 - - lda #SYSMGR.ERRSYN - sec - rts - -.3 ldy OptionVars-1,x - lda #$80 - sta (pData),y - bra .1 - -.4 >LDYA ZPPtr1 - jsr InitSrcDirPatYA - bcs .9 - - bra .1 scan for any other args - -.5 ldy #index - lda (pData),y - beq .99 - -.8 lda (pPs) - ora #S.PS.F.EVENT Now accept events - sta (pPs) - - clc - rts - -.99 >LDYA L.MSG.USAGE - >SYSCALL CPrintFYA - lda #SYSMGR.ERRSYN - sec -.9 rts -*-------------------------------------- -CS.RUN ldy #bCANCEL - lda (pData),y - bmi .99 - - ldy #bSTOP - lda (pData),y - bmi .8 - - jsr GetNextEntry - bcs .9 - - ldy #hFilter - lda (pData),y - beq .4 No filter.... - - >SYSCALL GetMemPtrA - >PUSHYA - >PUSHW ZPPtr1 - >SYSCALL PStrMatch - bcs .8 no match, skip.... - -.4 ldy #S.STAT.P.DRIVE - lda (ZPPtr2),y ProDOS Device ? - bne .5 - - ldy #S.STAT.P.TYPE - lda (ZPPtr2),y - cmp #$0F Directory ? - bne .6 - - jmp CS.RUN.DIR -.5 jmp CS.RUN.DEV -.6 jmp CS.RUN.FILE - -.9 jsr LeaveSubDir - bcs .99 - - ldy #bRecurse - lda (pData),y - bpl .8 - - ldy #hSrcBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - >LDYA L.MSG.DIR - >SYSCALL CPrintFYA - - jsr CS.RUN.DELETE.DIR - jsr CS.RUN.PRINT.RC - - jsr BasePath.. - -.8 clc - rts - -.99 lda #0 - sec - rts -*-------------------------------------- -CS.RUN.DEV >PUSHW ZPPtr1 - >LDYA L.MSG.FILE - >SYSCALL CPrintFYA - bcs .9 - - ldy #bRecurse - lda (pData),y - bpl .8 - - jsr CS.RUN.PRINT.FILE - bcs .9 - - lda #0 - clc - jsr CS.RUN.PRINT.RC - - >LDYA ZPPtr1 - jmp EnterSubDirYA - -.8 clc -.9 rts -*-------------------------------------- -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 -*-------------------------------------- -CS.RUN.FILE jsr CS.RUN.PRINT.FILE - bcs .9 - jsr CS.RUN.DELETE.FILE - jsr CS.RUN.PRINT.RC -.9 rts -*-------------------------------------- -CS.RUN.PRINT.FILE - >PUSHW ZPPtr1 - ldy #hSrcBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - - >LDYA L.MSG.FILE - >SYSCALL CPrintFYA - rts -*-------------------------------------- -CS.RUN.DELETE.DIR - jsr CS.RUN.GET.BASE.PATH - bra CS.RUN.DELETE -*-------------------------------------- -CS.RUN.DELETE.FILE - jsr CS.RUN.GET.BASE.PATH - >PUSHW ZPPtr1 - >PUSHWI UsrBuf256 - >SYSCALL PStrCat - -CS.RUN.DELETE >LDYAI UsrBuf256 - >SYSCALL RemoveYA - rts -*-------------------------------------- -CS.RUN.GET.BASE.PATH - ldy #hSrcBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - >PUSHWI UsrBuf256 - >SYSCALL PStrCpy - rts -*-------------------------------------- -CS.RUN.PRINT.RC pha - php - bcs .1 - >LDYA L.MSG.OK - bra .8 - -.1 >PUSHA - >LDYA L.MSG.ERR - -.8 >SYSCALL CPrintFYA - bcs .9 - plp - ldy #bContinue - lda (pData),y - eor #$80 - asl - pla - rts - -.9 plx - plx - rts -*-------------------------------------- -CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? - lda (pEvent),y - ldy #S.PS.hStdIn - cmp (pPs),y - bne .9 - - lda (pEvent) - and #S.EVT.F.KEY is it a KEY event? - beq .9 - - ldy #S.EVT.DATAHI is it an O or SAPPLE key ? - lda (pEvent),y - bne .9 - - ldy #S.EVT.DATALO - lda (pEvent),y - cmp #$03 Ctrl-C - bne .1 - - lda #$FF - ldy #bCANCEL - sta (pData),y - bra .8 - -.1 cmp #$13 Ctrl-S - bne .8 - - ldy #bSTOP - lda (pData),y - eor #$FF - sta (pData),y - -.8 clc - rts - -.9 sec - rts -*-------------------------------------- -CS.QUIT jsr LeaveSubDir - bcc CS.QUIT - - ldy #hFilter - lda (pData),y - beq .3 - >SYSCALL FreeMemA - -.3 clc - rts + .INB BIN/X.CPMVRM.S *-------------------------------------- .INB BIN/X.FILEENUM.S *-------------------------------------- CS.END *-------------------------------------- -OptionList >PSTR "CR" -OptionVars .DA #bContinue,#bRecurse +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..." @@ -331,6 +33,7 @@ MSG.ERR >CSTR "[%h]\n" *-------------------------------------- STAT .BS S.STAT ArgCount .BS 1 +ArgIndex .BS 1 *-------------------------------------- .DUMMY .OR 0 @@ -340,11 +43,17 @@ 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 -bCANCEL .BS 1 -bSTOP .BS 1 +hSrcFile .BS 1 +hDstFile .BS 1 +bPause .BS 1 +bCopy .BS 1 +hToDelete .BS 1 +CopyRC .BS 1 bContinue .BS 1 bRecurse .BS 1 +bNoConfirm .BS 1 DS.END .ED *-------------------------------------- diff --git a/BIN/X.CPMV.S.txt b/BIN/X.CPMVRM.S.txt similarity index 73% rename from BIN/X.CPMV.S.txt rename to BIN/X.CPMVRM.S.txt index efa4dccd..93f8751d 100644 --- a/BIN/X.CPMV.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -39,7 +39,7 @@ L.STAT .DA STAT CS.INIT >SYSCALL GetArgC sta ArgCount cmp #1 - beq .99 + beq .99 stz ArgIndex @@ -83,13 +83,21 @@ CS.INIT >SYSCALL GetArgC .4 ldy #index lda (pData),y +*-------------------------------------- + .DO X.COPY.TO.DEST=1 +*-------------------------------------- bne .5 Already have a Src dir... - + .ELSE + bne .99 + .FIN +*-------------------------------------- >LDYA ZPPtr1 jsr InitSrcDirYA 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! @@ -98,11 +106,14 @@ CS.INIT >SYSCALL GetArgC jsr InitDstDirYA bcc .1 success, scan for any other args rts - + .FIN +*-------------------------------------- .7 ldy #index processed all args lda (pData),y beq .99 , no src ? ERROR - +*-------------------------------------- + .DO X.COPY.TO.DEST=1 +*-------------------------------------- ldy #hDstBasePath lda (pData),y bne .8 we also have a Dst folder @@ -112,7 +123,8 @@ CS.INIT >SYSCALL GetArgC >SYSCALL GetMemPtrA jsr InitDstDirYA bcs .99 - + .FIN +*-------------------------------------- .8 lda (pPs) ora #S.PS.F.EVENT Now accept events sta (pPs) @@ -121,28 +133,42 @@ CS.INIT >SYSCALL GetArgC rts *-------------------------------------- CS.RUN >SYSCALL GetC - bcs .1 no char + bcs .11 no char cmp #$03 Ctrl-C - beq .99 Abort.... + bne .10 + sec + rts Abort.... - cmp #$13 Ctrl-S - bne .1 +.10 cmp #$13 Ctrl-S + bne .11 ldy #bPause lda (pData),y eor #$ff sta (pData),y - bne .8 +.11 ldy #bPause + lda (pData),y + bmi .8 +*-------------------------------------- .1 .DO X.COPY.TO.DEST=1 +*-------------------------------------- ldy #bCopy lda (pData),y bpl .2 jmp CS.RUN.Copy .FIN - -.2 jsr GetNextEntry Ptr1=NAME, Ptr2=STAT +*-------------------------------------- +.2 .DO X.DELETE.SOURCE +*-------------------------------------- + ldy #hToDelete + lda (pData),y + beq .3 + jmp CS.RUN.Delete + .FIN +*-------------------------------------- +.3 jsr GetNextEntry Ptr1=NAME, Ptr2=STAT bcs .9 ldy #hFilter @@ -175,14 +201,17 @@ CS.RUN >SYSCALL GetC ldy #bRecurse lda (pData),y - bpl .8 - + bpl .8 +*-------------------------------------- .DO X.DELETE.SOURCE=1 - jsr CS.RUN.DELETE.DIR - jsr CS.RUN.PRINT.RC +*-------------------------------------- + ldy #hSrcBasePath + jsr CS.RUN.GetBasePath + >SYSCALL RemoveYA + jsr CS.RUN.CheckErr bcs .99 .FIN - +*-------------------------------------- jsr BasePath.. .8 clc @@ -206,7 +235,7 @@ CS.RUN.DEV >PUSHW ZPPtr1 lda #0 clc - jsr CS.RUN.PrintErr + jsr CS.RUN.CheckErr >LDYA ZPPtr1 jmp EnterSubDirYA @@ -224,41 +253,48 @@ CS.RUN.DIR ldy #bRecurse beq .8 jsr CS.RUN.PrintDir - bcs .9 - + bcs .9 +*-------------------------------------- .DO X.COPY.TO.DEST=1 +*-------------------------------------- ldy #hDstBasePath jsr CS.RUN.GetFilePath >LDYAI UsrBuf256 >SYSCALL MKDirYA - - jsr CS.RUN.PrintErr - bcc .1 - cmp #MLI.ERR.DUPFILE - beq .1 + jsr CS.RUN.CheckErr .FIN - +*-------------------------------------- .1 >LDYA ZPPtr1 jmp EnterSubDirYA .8 clc - rts - .9 rts *-------------------------------------- CS.RUN.FILE jsr CS.RUN.PrintFile bcs .9 +*-------------------------------------- + .DO X.COPY.TO.DEST=1 +*-------------------------------------- jsr CS.RUN.CopyStart bcs .9 rts - -* .DO X.DELETE.SOURCE=1 -* jsr CS.RUN.DelFile -* bcs .9 -* .FIN + .FIN +*-------------------------------------- + .DO X.DELETE.SOURCE=1 +*-------------------------------------- + ldy #hSrcBasePath + jsr CS.RUN.GetFilePath + >LDYAI UsrBuf256 + >SYSCALL NewPStrYA + bcs .9 + txa + ldy #hToDelete + sta (pData),y -.9 jsr CS.RUN.PrintErr + .FIN +*-------------------------------------- +.9 jsr CS.RUN.CheckErr rts *-------------------------------------- CS.RUN.PrintDir ldy #hDstBasePath @@ -329,7 +365,6 @@ CS.RUN.CopyStart >SYSCALL FOpen bcc .1 - >DEBUG pha ldy #hSrcFile lda (pData),y @@ -390,64 +425,67 @@ CS.RUN.Copy stz .90+1 beq CS.RUN.CopyEnd >SYSCALL FreeMemA *-------------------------------------- -CS.RUN.CopyEnd ldy #hDstFile - lda (pData),y - >SYSCALL FCloseA - - ldy #hSrcFile +CS.RUN.CopyEnd ldy #hSrcFile lda (pData),y >SYSCALL FCloseA + bcc .1 - ldy #bCopy + jsr CS.RUN.CheckErr + +.1 ldy #hDstFile + lda (pData),y + >SYSCALL FCloseA + bcc .2 + + jsr CS.RUN.CheckErr + +.2 ldy #bCopy lda #$0 sta (pData),y clc ldy #CopyRC lda (pData),y - beq CS.RUN.PrintErr + beq CS.RUN.CheckErr sec + jmp CS.RUN.CheckErr *-------------------------------------- .FIN -*-------------------------------------- -CS.RUN.PrintErr pha - php - bcs .1 - >LDYA L.MSG.OK - bra .8 - -.1 >PUSHA - >LDYA L.MSG.ERR - -.8 >SYSCALL CPrintFYA - bcs .9 - plp - bcc .81 - ldy #bContinue - lda (pData),y - eor #$80 - asl -.81 pla - rts - -.9 plx - plx - rts *-------------------------------------- .DO X.DELETE.SOURCE=1 *-------------------------------------- -CS.RUN.DelDir ldy #hSrcBasePath - jsr CS.RUN.GetBasePath +CS.RUN.Delete pha + lda #0 + sta (pData),y + pla + >SYSCALL GetMemPtrA >SYSCALL RemoveYA - rts -*-------------------------------------- -CS.RUN.DelFile ldy #hSrcBasePath - jsr CS.RUN.GetFilePath - >SYSCALL RemoveYA - rts + jmp CS.RUN.CheckErr *-------------------------------------- .FIN *-------------------------------------- +CS.RUN.CheckErr bcs .1 + >LDYA L.MSG.OK + >SYSCALL CPrintFYA + rts + +.1 sta .2+1 + >PUSHA + >LDYA L.MSG.ERR + + >SYSCALL CPrintFYA + bcs .9 + + ldy #bContinue + lda (pData),y + bmi .9 CC + +.2 lda #$ff + sec + rts + +.9 rts +*-------------------------------------- CS.RUN.GetFilePath jsr CS.RUN.GetBasePath @@ -479,6 +517,6 @@ CS.QUIT jsr LeaveSubDir rts *-------------------------------------- MAN -SAVE BIN/X.CPMV.S +SAVE BIN/X.CPMVRM.S LOAD BIN/CP.S ASM diff --git a/README.md b/README.md index 8264780b..d3072ab6 100644 --- a/README.md +++ b/README.md @@ -137,12 +137,12 @@ note : '$VAR' does NOT expand Variable | LS | Working | -A : Do Not Print . & .. | 0.9 | | | | -L : long listing with size/date... | | | | | -R : Recurse subdirectories | | -| RM | Working | -C : Continue On Error | 0.8 | +| RM | Working | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | -| CP | In Progress | -C : Continue On Error | 0.8 | +| CP | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | | | | -Y : Dont't Prompt For Override | | -| MV | In Progress | -C : Continue On Error | 0.8 | +| MV | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | | | | -Y : Dont't Prompt For Override | | | CAT | Working | -A : Show All non printable caracters | 0.9 | diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index 181d26aa..cac2988a 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -46,8 +46,6 @@ K.FOpen jsr PFT.CheckPathSTK lda #S.FILEINFO.STORETYPE.STD sta MLICALL.PARAMS+7 -* jsr DATETIME - ldx #3 .1 lda DATELO,x sta MLICALL.PARAMS+8,x