From 88d139c6644c32c66a6f558b14a068232a999836 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9my=20GIBERT?= <burniouf@users.noreply.github.com>
Date: Sun, 30 Oct 2016 19:19:43 +0100
Subject: [PATCH] Kernel version 0.8 : RM command

---
 A2OSX.BOOT.po        | Bin 143360 -> 143360 bytes
 A2OSX.DEV.po         | Bin 143360 -> 143360 bytes
 A2OSX.SRC.po         | Bin 819200 -> 819200 bytes
 BIN/LS.S.txt         |   4 +
 BIN/RM.S.txt         | 317 ++++++++++++++++++++++++++++++-------------
 BIN/X.CPLSMVRM.S.txt |  16 ++-
 README.md            |   2 +-
 7 files changed, 235 insertions(+), 104 deletions(-)

diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po
index f0df2769761f156a89eaacd7e97a2833c7b1fbe1..17a31f4158378d2701ba9576e7cad3f597dfcb33 100644
GIT binary patch
delta 2529
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

delta 1784
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
Gf&T%gmFndH

diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po
index cc4b24f8a270eed2dedd8e04cfe9e468a1f190c6..b9ccb2b91bec94a8cfe99fc9336c0a52a546142e 100644
GIT binary patch
delta 75
zcmZp8z|ru4V}k=9_Z58x5Kv}#th3ph?`O8E#BPS*$Y8yo)ZF~C)JVr(J=efS6=MSi
Yu{}`nyu{qp&FNLs<(p<Lo5eT{0G;g_nE(I)

delta 76
zcmZp8z|ru4V}k=9_a%J>5Kv}#thd>l?`O8M*lvd4$Y8x7S6}}y*M2?Mz(y5g0|v1@
ZP*FceU)Rl<Rnz60|IOU~ZzdztGytEM8O;Cy

diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po
index dde79672980c55019ff4ff7f17ccbfb8297dd499..63bb86200d8b449520e30084a8b9209372b5af13 100644
GIT binary patch
delta 14630
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

delta 13801
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
NC|iw%2R>2u{vUMPJcj@P

diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt
index 806cc441..37bbb0f2 100644
--- a/BIN/LS.S.txt
+++ b/BIN/LS.S.txt
@@ -13,6 +13,7 @@ AUTO 6
 *--------------------------------------
 MAX.COL			.EQ 4
 MAX.RECURSE		.EQ 8
+X.MSG.ENTER		.EQ 1
 *--------------------------------------
 ZPPtr1			.EQ ZPBIN
 ZPPtr2			.EQ ZPBIN+2
@@ -152,6 +153,9 @@ CS.RUN			ldy #bCANCEL
 
 .91				jsr LeaveSubDir
 				bcs .99
+
+				jsr BasePath..
+				
 .8				clc
 				rts
 				
diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt
index 32f8d391..8853fe81 100644
--- a/BIN/RM.S.txt
+++ b/BIN/RM.S.txt
@@ -11,6 +11,9 @@ AUTO 6
 				.INB /A2OSX.DEV/INC/MACROS.I
 				.INB /A2OSX.DEV/INC/A2OSX.I
 *--------------------------------------
+MAX.RECURSE		.EQ 8
+X.MSG.ENTER		.EQ 0
+*--------------------------------------
 ZPPtr1			.EQ ZPBIN
 ZPPtr2			.EQ ZPBIN+2
 *--------------------------------------
@@ -27,133 +30,241 @@ CS.START		cld
 				.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.FullPath		.DA FullPath				
+L.STAT			.DA STAT
 				.DA 0
 *--------------------------------------
 CS.INIT			>SYSCALL GetArgC
+				sta ArgCount
 				cmp #1
-				bne .99
-
-				lda #1
+				beq .99
+				
+.1				dec ArgCount
+				beq .5
+				
+				lda ArgCount
 				>SYSCALL GetArgA
-				>SYSCALL GetFullPathYA
-				stx hFullPath
+				>STYA ZPPtr1
 				
-				>SYSCALL ListDirInitYA
-				bcs .98
-				ldy #hS.LISTDIR
-				sta (pData),y
+				lda (ZPPtr1)
+				cmp #2
+				bne .4
 				
-				jsr .98
+				ldy #1
+				lda (ZPPtr1),y
+				cmp #'-'
+				bne .4
 				
-				lda (pPs)
-				ora #S.PS.F.EVENT		Now accept events
-				sta (pPs)
-				clc
-				rts
+				iny 
+				lda (ZPPtr1),y
+
+				ldx OptionList
 				
-.98				pha
-				lda hFullPath
-				>SYSCALL FreeMemA
-				pla
-				sec
-				rts
+.2				cmp OptionList,x
+				beq .3
+				dex
+				bne .2
 				
-.99				>LDYA L.MSG.USAGE
-				>SYSCALL PStrOutYA
 				lda #SYSMGR.ERRSYN
 				sec
 				rts
+				
+.3				ldy OptionVars-1,x
+				lda #$80
+				sta (pData),y
+				bra .1
+				
+.4				>LDYA ZPPtr1
+				jsr InitSrcDirYA
+				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 PrintFYA
+				lda #SYSMGR.ERRSYN
+				sec
+.9				rts
 *--------------------------------------
 CS.RUN			ldy #bCANCEL
 				lda (pData),y
-				beq .10
+				bmi .99
+				
+				ldy #bSTOP
+				lda (pData),y
+				bmi .8
 
-				sec
-				rts
+				jsr GetNextEntry
+				bcs .9
 				
-.10				ldy #bSTOP
+				ldy #hFilter
 				lda (pData),y
-				beq .1
-				clc
-.99				rts
+				beq	.4					No filter....
 				
-.1				ldy #hS.LISTDIR
-				lda (pData),y
-				>SYSCALL ListDirNextA
+				>SYSCALL GetMemPtrA
+				>PUSHYA
+				>PUSHW ZPPtr1
+				>SYSCALL PStrMatch
+				bcs .8					no match, skip....
+				
+.4				ldy #S.STAT.PRODOS.DRIVE
+				lda (ZPPtr2),y			ProDOS Device ?
+				bne .5
+				
+				ldy #S.STAT.PRODOS.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
 				
-				pha
-				>SYSCALL GetMemPtrA
-				>STYA ZPPtr1
-				lda (ZPPtr1)
-				pha
+				ldy #bRecurse
+				lda (pData),y
+				bpl .8
 				
-				and #$0F
-				sta (ZPPtr1)			Adjust Filename len
 				
-				pla
-				and #$F0
-				cmp #$F0				Volume ($F) HEADER ?
-				beq .8
-				cmp #$E0				Dir ($E) HEADER ?
-				beq .8
-				
-				ldy #hS.LISTDIR
+				ldy #hBasePath
 				lda (pData),y
 				>SYSCALL GetMemPtrA
-				>STYA ZPPtr2
+				>PUSHYA
+				>LDYA L.MSG.DIR
+				>SYSCALL PrintFYA
 				
-				ldy #S.LISTDIR.hPATH
-				lda (ZPPtr2),y
-				>SYSCALL GetMemPtrA
-				>STYA ZPPtr2
+				jsr CS.RUN.DELETE.DIR
+				jsr CS.RUN.PRINT.RC
 				
-				lda (ZPPtr2)
-				tax
-				tay
+				jsr BasePath..
 				
-.2				lda (ZPPtr2),y
-				sta FullPath,y
-				dey
-				bne .2
+.8				clc
+				rts
 				
-				ldy #0
-.3				inx
-				iny
+.99				lda #0
+				sec
+				rts
+*--------------------------------------
+CS.RUN.DEV		>PUSHW ZPPtr1
+				>LDYA L.MSG.FILE
+				>SYSCALL PrintFYA
+				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 #bRecurse
+				lda (pData),y
+				bpl .8
+				
+				ldy #1
 				lda (ZPPtr1),y
-				sta FullPath,x
-				tya
-				cmp (ZPPtr1)
-				bne .3
+				cmp #'.'
+				beq .8
 				
-				stx FullPath
+				>LDYA ZPPtr1
+				jmp EnterSubDirYA
 				
-				>LDYA L.FullPath	
-				>SYSCALL PStrOutYA
+.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 #hBasePath
+				lda (pData),y
+				>SYSCALL GetMemPtrA
+				>PUSHYA
 				
-				>LDYA L.FullPath	
-				>SYSCALL MLIDestroyYA
-				bcs .5
+				>LDYA L.MSG.FILE
+				>SYSCALL PrintFYA
+				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 #hBasePath
+				lda (pData),y
+				>SYSCALL GetMemPtrA
+				>PUSHYA
+				>PUSHWI UsrBuf256
+				>SYSCALL PStrCpy
+				rts
+*--------------------------------------
+CS.RUN.PRINT.RC	pha
+				php
+				bcs .1
 				>LDYA L.MSG.OK
-				>SYSCALL PStrOutYA
 				bra .8
 				
-.5				>PUSHA
+.1				>PUSHA
 				>LDYA L.MSG.ERR
-				>SYSCALL PStrOutYA
 				
-.8				pla
-				>SYSCALL FreeMemA
-				clc
+.8				>SYSCALL PrintFYA
+				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?
@@ -194,34 +305,46 @@ CS.DOEVENT		ldy #S.EVT.hDEV		is Event from active IN device?
 .9				sec
 				rts
 *--------------------------------------
-CS.QUIT			ldy #hS.LISTDIR
-				lda (pData),y
-				beq .1
+CS.QUIT			jsr LeaveSubDir
+				bcc CS.QUIT
 				
-				>SYSCALL ListDirCloseA
-				
-.1				ldy #hDirPath
+				ldy #hFilter
 				lda (pData),y
-				beq .2
+				beq .3
 				>SYSCALL FreeMemA
 				
-.2				clc
+.3				clc
 				rts
+*--------------------------------------
+				.INB BIN/X.CPLSMVRM.S
 *--------------------------------------
 CS.END
-MSG.USAGE		>PSTR "Usage : RM [file/Dir, *,? wildcards allowed]\n"
-MSG.OK			>PSTR " [Ok]\n"
-MSG.ERR			>PSTR " [%h]\n"
-hFullPath		.BS 1
-FullPath		.BS 64
+*--------------------------------------
+OptionList		>PSTR "CR"
+OptionVars		.DA #bContinue,#bRecurse
+*--------------------------------------
+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..."
+MSG.FILE		>CSTR "RM File:%S%S..."
+MSG.OK			>CSTR "[OK]\n"
+MSG.ERR			>CSTR "[%h]\n"
+*--------------------------------------
+STAT			.BS S.STAT
+ArgCount		.BS 1
 *--------------------------------------
 				.DUMMY
 				.OR 0
 DS.START
-hDirPath		.BS 1
-hS.LISTDIR		.BS 1
-bSTOP			.BS 1
+Index			.BS 1
+hDIRs			.BS MAX.RECURSE
+hDIRENTs		.BS MAX.RECURSE
+oDIRENTs		.BS MAX.RECURSE*2
+hBasePath		.BS 1
+hFilter			.BS 1
 bCANCEL			.BS 1
+bSTOP			.BS 1
+bContinue		.BS 1
+bRecurse		.BS 1
 DS.END
 				.ED
 *--------------------------------------
diff --git a/BIN/X.CPLSMVRM.S.txt b/BIN/X.CPLSMVRM.S.txt
index 8ea52d28..84313451 100644
--- a/BIN/X.CPLSMVRM.S.txt
+++ b/BIN/X.CPLSMVRM.S.txt
@@ -236,9 +236,11 @@ EnterSubDirYA	>STYA ZPPtr2			save SUBDIR for StrCat
 				lda #'/'
 				sta (ZPPtr1),y
 				
+				.DO X.MSG.ENTER=1
 				>PUSHW ZPPtr1
 				>LDYA L.MSG.ENTER
 				>SYSCALL PrintFYA
+				.FIN
 				
 				>LDYA ZPPtr1
 				>SYSCALL OpenDirYA
@@ -283,11 +285,16 @@ LeaveSubDir		ldy #index
 				dec
 				sta (pData),y
 				beq .9
-				
-				ldy #hBasePath
+				clc
+				rts
+					
+.9				sec
+				rts
+*--------------------------------------
+BasePath..		ldy #hBasePath
 				lda (pData),y
 				>SYSCALL GetMemPtrA
-				
+								
 				>STYA ZPPtr1			save full path
 				
 				lda (ZPPtr1)			get len
@@ -303,9 +310,6 @@ LeaveSubDir		ldy #index
 
 				clc
 				rts
-				
-.9				sec
-				rts
 *--------------------------------------
 MAN
 SAVE BIN/X.CPLSMVRM.S
diff --git a/README.md b/README.md
index 1625596e..85fe3d23 100644
--- a/README.md
+++ b/README.md
@@ -101,7 +101,7 @@ note : '$VAR' does NOT expand Variable
 | LS | Working | -A : Do Not Print . & .. | 0.8 |
 | | | -L : long listing with size/date... | 0.8 |
 | | | -R : Recurse subdirectories | |
-| RM | In Progress | -C : Continue On Error | |
+| RM | Working | -C : Continue On Error | |
 | | | -R : Recurse subdirectories | |
 | CP | In Progress | -C : Continue On Error | |
 | | | -R : Recurse subdirectories | |