mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-19 07:30:41 +00:00
Kernel 0.93
This commit is contained in:
parent
30e70ae0b5
commit
9ec843b36e
Binary file not shown.
@ -11,6 +11,7 @@ AUTO 4,1
|
|||||||
.INB INC/MLI.I
|
.INB INC/MLI.I
|
||||||
.INB INC/MLI.E.I
|
.INB INC/MLI.E.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
X.ENTER.SUBDIR .EQ 0
|
||||||
X.COPY.TO.DEST .EQ 1
|
X.COPY.TO.DEST .EQ 1
|
||||||
X.DELETE.SOURCE .EQ 0
|
X.DELETE.SOURCE .EQ 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -11,6 +11,7 @@ AUTO 4,1
|
|||||||
.INB INC/MLI.I
|
.INB INC/MLI.I
|
||||||
.INB INC/MLI.E.I
|
.INB INC/MLI.E.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
X.ENTER.SUBDIR .EQ 1
|
||||||
X.COPY.TO.DEST .EQ 0
|
X.COPY.TO.DEST .EQ 0
|
||||||
X.DELETE.SOURCE .EQ 0
|
X.DELETE.SOURCE .EQ 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -11,6 +11,7 @@ AUTO 4,1
|
|||||||
.INB INC/MLI.I
|
.INB INC/MLI.I
|
||||||
.INB INC/MLI.E.I
|
.INB INC/MLI.E.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
X.ENTER.SUBDIR .EQ 0
|
||||||
X.COPY.TO.DEST .EQ 1
|
X.COPY.TO.DEST .EQ 1
|
||||||
X.DELETE.SOURCE .EQ 1
|
X.DELETE.SOURCE .EQ 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -11,6 +11,7 @@ AUTO 4,1
|
|||||||
.INB INC/MLI.I
|
.INB INC/MLI.I
|
||||||
.INB INC/MLI.E.I
|
.INB INC/MLI.E.I
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
X.ENTER.SUBDIR .EQ 0
|
||||||
X.COPY.TO.DEST .EQ 0
|
X.COPY.TO.DEST .EQ 0
|
||||||
X.DELETE.SOURCE .EQ 1
|
X.DELETE.SOURCE .EQ 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -43,6 +43,7 @@ CS.START cld
|
|||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.MSG.USAGE .DA MSG.USAGE
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
L.MSG.INV .DA MSG.INV
|
L.MSG.INV .DA MSG.INV
|
||||||
|
L.CMD.RM .DA CMD.RM
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Called once at process creation
|
* Called once at process creation
|
||||||
@ -73,7 +74,7 @@ CS.RUN >LDYAI S.PW
|
|||||||
lda ArgUsername
|
lda ArgUsername
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>SYSCALL GetPWName
|
>SYSCALL GetPWName
|
||||||
bcs .90
|
bcs .99
|
||||||
|
|
||||||
ldy #S.PW.PASSWD
|
ldy #S.PW.PASSWD
|
||||||
lda #0
|
lda #0
|
||||||
@ -134,9 +135,10 @@ CS.RUN.CheckArg inc ArgIndex
|
|||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra CS.RUN.CheckArg
|
bra CS.RUN.CheckArg
|
||||||
|
|
||||||
.4 ldx ArgUsername
|
.4 lda ArgUsername
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
|
lda ArgIndex
|
||||||
sta ArgUsername
|
sta ArgUsername
|
||||||
bra CS.RUN.CheckArg
|
bra CS.RUN.CheckArg
|
||||||
|
|
||||||
@ -146,8 +148,35 @@ CS.RUN.CheckArg inc ArgIndex
|
|||||||
clc
|
clc
|
||||||
rts
|
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
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Called if option S.PS.F.EVENT enabled in Header
|
* 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"
|
MSG.USAGE .AS "Usage : USERDEL username\r\n"
|
||||||
.AZ " -r : Force remove files in home directory\r\n"
|
.AZ " -r : Force remove files in home directory\r\n"
|
||||||
MSG.INV .AZ "Invalid username.\r\n"
|
MSG.INV .AZ "Invalid username.\r\n"
|
||||||
|
CMD.RM .AZ "${ROOT}BIN/RM -R -Q "
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Per Process DATA segment
|
* Per Process DATA segment
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -223,6 +223,10 @@ CS.RUN ldy #S.PS.hStdIn
|
|||||||
.3 jsr GetEntry
|
.3 jsr GetEntry
|
||||||
bcs CS.RUN.LEAVE
|
bcs CS.RUN.LEAVE
|
||||||
|
|
||||||
|
>LDA.G index
|
||||||
|
dec
|
||||||
|
bne .4 in a subdir, match everything
|
||||||
|
|
||||||
>LDA.G hFilter
|
>LDA.G hFilter
|
||||||
beq .4 No filter....
|
beq .4 No filter....
|
||||||
|
|
||||||
@ -370,9 +374,11 @@ CS.RUN.DIR .DO X.COPY.TO.DEST=1
|
|||||||
|
|
||||||
.4 jsr CS.RUN.CheckErr
|
.4 jsr CS.RUN.CheckErr
|
||||||
bcs CS.RUN.DIR.RTS
|
bcs CS.RUN.DIR.RTS
|
||||||
|
|
||||||
|
jsr CS.RUN.IncCount
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
.7 >LDYA ZPFileName
|
>LDYA ZPFileName
|
||||||
jmp EnterSubDirYA
|
jmp EnterSubDirYA
|
||||||
|
|
||||||
.99 ldy #RC
|
.99 ldy #RC
|
||||||
@ -774,5 +780,5 @@ CS.QUIT.FREE lda (pData),y
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/X.CPMVRM.S
|
SAVE USR/SRC/BIN/X.CPMVRM.S
|
||||||
LOAD USR/SRC/BIN/RM.S
|
LOAD USR/SRC/BIN/CP.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -99,11 +99,14 @@ InitSrcDirYA >SYSCALL RealPath
|
|||||||
>SYSCALL Stat
|
>SYSCALL Stat
|
||||||
bcs .1 File/DIR does not exists, go extract pattern
|
bcs .1 File/DIR does not exists, go extract pattern
|
||||||
|
|
||||||
|
.DO X.ENTER.SUBDIR=1
|
||||||
>LDA.G STAT+S.STAT.P.TYPE
|
>LDA.G STAT+S.STAT.P.TYPE
|
||||||
cmp #S.FI.T.DIR
|
cmp #S.FI.T.DIR
|
||||||
bne .4 TYPE not a DIR, extract....
|
bne .4 TYPE not a DIR, extract....
|
||||||
|
|
||||||
bra .5 TYPE=DIR, do not extract pattern
|
bra .5 TYPE=DIR, do not extract pattern
|
||||||
|
.ELSE
|
||||||
|
bra .4
|
||||||
|
.FIN
|
||||||
|
|
||||||
.1 ldy #0 TYPE is not DIR, check if wc
|
.1 ldy #0 TYPE is not DIR, check if wc
|
||||||
|
|
||||||
@ -431,8 +434,7 @@ GetEntry.ReadDir
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat
|
EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat
|
||||||
|
|
||||||
ldy #index
|
>LDA.G index
|
||||||
lda (pData),y
|
|
||||||
cmp #X.MAX.RECURSE
|
cmp #X.MAX.RECURSE
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
@ -613,5 +615,5 @@ GetoDIRENT ldy #index
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/X.FILEENUM.S
|
SAVE USR/SRC/BIN/X.FILEENUM.S
|
||||||
LOAD USR/SRC/BIN/RM.S
|
LOAD USR/SRC/BIN/CP.S
|
||||||
ASM
|
ASM
|
||||||
|
@ -23,6 +23,7 @@ ZPbValidUser .BS 1
|
|||||||
ZPhGetLine .BS 1
|
ZPhGetLine .BS 1
|
||||||
ZPGetLinePtr .BS 2
|
ZPGetLinePtr .BS 2
|
||||||
ZPbGetLineSecret .BS 1
|
ZPbGetLineSecret .BS 1
|
||||||
|
ZPbEsc .BS 1
|
||||||
ZPGetLineLen .BS 1
|
ZPGetLineLen .BS 1
|
||||||
ZPGetLineMax .BS 1
|
ZPGetLineMax .BS 1
|
||||||
|
|
||||||
@ -335,10 +336,23 @@ CS.RUN.AddByte sta (ZPStrPtr)
|
|||||||
CS.RUN.GetLine sta ZPGetLineMax
|
CS.RUN.GetLine sta ZPGetLineMax
|
||||||
ror ZPbGetLineSecret
|
ror ZPbGetLineSecret
|
||||||
stz ZPGetLineLen
|
stz ZPGetLineLen
|
||||||
|
stz ZPbEsc
|
||||||
|
|
||||||
.1 >SYSCALL getchar
|
.1 >SYSCALL getchar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
bit ZPbEsc
|
||||||
|
bpl .11
|
||||||
|
|
||||||
|
* clc
|
||||||
|
ror ZPbEsc
|
||||||
|
cmp #'D'
|
||||||
|
bne .1
|
||||||
|
bra .3
|
||||||
|
|
||||||
|
.11 cmp #C.DEL
|
||||||
|
beq .3
|
||||||
|
|
||||||
cmp #C.SPACE
|
cmp #C.SPACE
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
@ -347,8 +361,7 @@ CS.RUN.GetLine sta ZPGetLineMax
|
|||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
sta (ZPGetLinePtr),y
|
sta (ZPGetLinePtr),y
|
||||||
iny
|
inc ZPGetLineLen
|
||||||
sty ZPGetLineLen
|
|
||||||
|
|
||||||
bit ZPbGetLineSecret
|
bit ZPbGetLineSecret
|
||||||
bmi .1
|
bmi .1
|
||||||
@ -362,10 +375,14 @@ CS.RUN.GetLine sta ZPGetLineMax
|
|||||||
cmp #C.CR
|
cmp #C.CR
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
cmp #C.BS
|
cmp #C.ESC
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
ldy ZPGetLineLen
|
* sec
|
||||||
|
ror ZPbEsc
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.3 ldy ZPGetLineLen
|
||||||
beq .1
|
beq .1
|
||||||
dec ZPGetLineLen
|
dec ZPGetLineLen
|
||||||
|
|
||||||
|
@ -1200,10 +1200,10 @@ ETCPASSWD .AZ "${ROOT}ETC/PASSWD"
|
|||||||
ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT"
|
ETCINIT.CMDLINE .AZ "${ROOT}ETC/INIT"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MLIOPEN00 .DA #3
|
MLIOPEN00 .DA #3
|
||||||
.DA A2OSXCONF
|
.DA .1
|
||||||
.DA $B000
|
.DA $B000
|
||||||
.BS 1
|
.BS 1
|
||||||
A2OSXCONF >PSTR "A2osX.KCONFIG"
|
.1 >PSTR "A2osX.KCONFIG"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MLIREAD00 .DA #4
|
MLIREAD00 .DA #4
|
||||||
.BS 1
|
.BS 1
|
||||||
|
@ -118,7 +118,7 @@ PWD.PutPW >LDYA ZPPtr2
|
|||||||
>STYA PWD.DBPtr
|
>STYA PWD.DBPtr
|
||||||
stx PWD.hDB
|
stx PWD.hDB
|
||||||
|
|
||||||
bra .8
|
jmp .8
|
||||||
|
|
||||||
.1 jsr K.GetmemPtr
|
.1 jsr K.GetmemPtr
|
||||||
>STYA PWD.DBPtr
|
>STYA PWD.DBPtr
|
||||||
@ -127,7 +127,9 @@ PWD.PutPW >LDYA ZPPtr2
|
|||||||
jsr MEM.TXTPTR.GetY
|
jsr MEM.TXTPTR.GetY
|
||||||
bne .12
|
bne .12
|
||||||
|
|
||||||
jmp PWD.DeleteRecord
|
jsr PWD.DeleteRecord
|
||||||
|
bcc .80
|
||||||
|
rts
|
||||||
|
|
||||||
.12 jsr PWD.DeleteRecord
|
.12 jsr PWD.DeleteRecord
|
||||||
bcc .11 user exits..
|
bcc .11 user exits..
|
||||||
@ -183,7 +185,7 @@ PWD.PutPW >LDYA ZPPtr2
|
|||||||
|
|
||||||
.8 jsr PWD.StoreRecord
|
.8 jsr PWD.StoreRecord
|
||||||
|
|
||||||
inc PWD.bDirty
|
.80 inc PWD.bDirty
|
||||||
clc
|
clc
|
||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
@ -285,15 +287,15 @@ PWD.FindRecord >LDYA PWD.DBPtr
|
|||||||
beq .4
|
beq .4
|
||||||
cmp (ZPPtr3),y
|
cmp (ZPPtr3),y
|
||||||
beq .3
|
beq .3
|
||||||
bra .5
|
|
||||||
|
|
||||||
.4 lda (ZPPtr3),y
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
.5 jsr PWD.NextLine
|
.5 jsr PWD.NextLine
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.8 clc
|
.4 lda (ZPPtr3),y
|
||||||
|
cmp #':'
|
||||||
|
bne .5
|
||||||
|
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.IUSR
|
.9 lda #E.IUSR
|
||||||
|
Loading…
x
Reference in New Issue
Block a user