Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-04-29 17:47:17 +02:00
parent 30e70ae0b5
commit 9ec843b36e
11 changed files with 85 additions and 24 deletions

Binary file not shown.

View File

@ -11,6 +11,7 @@ AUTO 4,1
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
X.ENTER.SUBDIR .EQ 0
X.COPY.TO.DEST .EQ 1
X.DELETE.SOURCE .EQ 0
*--------------------------------------

View File

@ -11,6 +11,7 @@ AUTO 4,1
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
X.ENTER.SUBDIR .EQ 1
X.COPY.TO.DEST .EQ 0
X.DELETE.SOURCE .EQ 0
*--------------------------------------

View File

@ -11,6 +11,7 @@ AUTO 4,1
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
X.ENTER.SUBDIR .EQ 0
X.COPY.TO.DEST .EQ 1
X.DELETE.SOURCE .EQ 1
*--------------------------------------

View File

@ -11,6 +11,7 @@ AUTO 4,1
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
X.ENTER.SUBDIR .EQ 0
X.COPY.TO.DEST .EQ 0
X.DELETE.SOURCE .EQ 1
*--------------------------------------

View File

@ -43,6 +43,7 @@ CS.START cld
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.INV .DA MSG.INV
L.CMD.RM .DA CMD.RM
.DA 0
*--------------------------------------
* Called once at process creation
@ -73,7 +74,7 @@ CS.RUN >LDYAI S.PW
lda ArgUsername
>SYSCALL ArgV
>SYSCALL GetPWName
bcs .90
bcs .99
ldy #S.PW.PASSWD
lda #0
@ -134,9 +135,10 @@ CS.RUN.CheckArg inc ArgIndex
sta (pData),y
bra CS.RUN.CheckArg
.4 ldx ArgUsername
.4 lda ArgUsername
bne .9
lda ArgIndex
sta ArgUsername
bra CS.RUN.CheckArg
@ -146,8 +148,35 @@ CS.RUN.CheckArg inc ArgIndex
clc
rts
*--------------------------------------
CS.RUN.RmDir clc
CS.RUN.RmDir >LDA.G bDelete
bmi .1
lda ZPPWPtr
clc
adc #S.PW.DIR
tay
lda ZPPWPtr+1
adc /S.PW.DIR
>SYSCALL remove
rts
.1 >PUSHW L.CMD.RM
>LDYA ZPStrPtr
>SYSCALL strcpy
lda ZPPWPtr
clc
adc #S.PW.DIR
tay
lda ZPPWPtr+1
adc /S.PW.DIR
>LDYA ZPStrPtr
>SYSCALL strcat
>LDYA ZPStrPtr
>SYSCALL execl
rts
*--------------------------------------
* Called if option S.PS.F.EVENT enabled in Header
@ -182,6 +211,7 @@ OptionVars .DA #bDelete,#bDelete
MSG.USAGE .AS "Usage : USERDEL username\r\n"
.AZ " -r : Force remove files in home directory\r\n"
MSG.INV .AZ "Invalid username.\r\n"
CMD.RM .AZ "${ROOT}BIN/RM -R -Q "
*--------------------------------------
* Per Process DATA segment
*--------------------------------------

View File

@ -223,6 +223,10 @@ CS.RUN ldy #S.PS.hStdIn
.3 jsr GetEntry
bcs CS.RUN.LEAVE
>LDA.G index
dec
bne .4 in a subdir, match everything
>LDA.G hFilter
beq .4 No filter....
@ -370,9 +374,11 @@ CS.RUN.DIR .DO X.COPY.TO.DEST=1
.4 jsr CS.RUN.CheckErr
bcs CS.RUN.DIR.RTS
jsr CS.RUN.IncCount
.FIN
.7 >LDYA ZPFileName
>LDYA ZPFileName
jmp EnterSubDirYA
.99 ldy #RC
@ -774,5 +780,5 @@ CS.QUIT.FREE lda (pData),y
*--------------------------------------
MAN
SAVE USR/SRC/BIN/X.CPMVRM.S
LOAD USR/SRC/BIN/RM.S
LOAD USR/SRC/BIN/CP.S
ASM

View File

@ -98,12 +98,15 @@ InitSrcDirYA >SYSCALL RealPath
>LDYA ZPPtr1
>SYSCALL Stat
bcs .1 File/DIR does not exists, go extract pattern
.DO X.ENTER.SUBDIR=1
>LDA.G STAT+S.STAT.P.TYPE
cmp #S.FI.T.DIR
bne .4 TYPE not a DIR, extract....
bra .5 TYPE=DIR, do not extract pattern
.ELSE
bra .4
.FIN
.1 ldy #0 TYPE is not DIR, check if wc
@ -431,8 +434,7 @@ GetEntry.ReadDir
*--------------------------------------
EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat
ldy #index
lda (pData),y
>LDA.G index
cmp #X.MAX.RECURSE
beq .9
@ -613,5 +615,5 @@ GetoDIRENT ldy #index
*--------------------------------------
MAN
SAVE USR/SRC/BIN/X.FILEENUM.S
LOAD USR/SRC/BIN/RM.S
LOAD USR/SRC/BIN/CP.S
ASM

View File

@ -23,6 +23,7 @@ ZPbValidUser .BS 1
ZPhGetLine .BS 1
ZPGetLinePtr .BS 2
ZPbGetLineSecret .BS 1
ZPbEsc .BS 1
ZPGetLineLen .BS 1
ZPGetLineMax .BS 1
@ -335,10 +336,23 @@ CS.RUN.AddByte sta (ZPStrPtr)
CS.RUN.GetLine sta ZPGetLineMax
ror ZPbGetLineSecret
stz ZPGetLineLen
stz ZPbEsc
.1 >SYSCALL getchar
bcs .9
bit ZPbEsc
bpl .11
* clc
ror ZPbEsc
cmp #'D'
bne .1
bra .3
.11 cmp #C.DEL
beq .3
cmp #C.SPACE
bcc .2
@ -347,8 +361,7 @@ CS.RUN.GetLine sta ZPGetLineMax
beq .1
sta (ZPGetLinePtr),y
iny
sty ZPGetLineLen
inc ZPGetLineLen
bit ZPbGetLineSecret
bmi .1
@ -362,10 +375,14 @@ CS.RUN.GetLine sta ZPGetLineMax
cmp #C.CR
beq .8
cmp #C.BS
cmp #C.ESC
bne .1
ldy ZPGetLineLen
* sec
ror ZPbEsc
bra .1
.3 ldy ZPGetLineLen
beq .1
dec ZPGetLineLen

View File

@ -1200,10 +1200,10 @@ ETCPASSWD .AZ "${ROOT}ETC/PASSWD"
ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT"
*--------------------------------------
MLIOPEN00 .DA #3
.DA A2OSXCONF
.DA .1
.DA $B000
.BS 1
A2OSXCONF >PSTR "A2osX.KCONFIG"
.1 >PSTR "A2osX.KCONFIG"
*--------------------------------------
MLIREAD00 .DA #4
.BS 1

View File

@ -118,7 +118,7 @@ PWD.PutPW >LDYA ZPPtr2
>STYA PWD.DBPtr
stx PWD.hDB
bra .8
jmp .8
.1 jsr K.GetmemPtr
>STYA PWD.DBPtr
@ -127,7 +127,9 @@ PWD.PutPW >LDYA ZPPtr2
jsr MEM.TXTPTR.GetY
bne .12
jmp PWD.DeleteRecord
jsr PWD.DeleteRecord
bcc .80
rts
.12 jsr PWD.DeleteRecord
bcc .11 user exits..
@ -183,7 +185,7 @@ PWD.PutPW >LDYA ZPPtr2
.8 jsr PWD.StoreRecord
inc PWD.bDirty
.80 inc PWD.bDirty
clc
.99 rts
@ -285,15 +287,15 @@ PWD.FindRecord >LDYA PWD.DBPtr
beq .4
cmp (ZPPtr3),y
beq .3
bra .5
.4 lda (ZPPtr3),y
beq .8
.5 jsr PWD.NextLine
bra .2
.4 lda (ZPPtr3),y
cmp #':'
bne .5
.8 clc
clc
rts
.9 lda #E.IUSR