Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-09 13:34:07 +02:00
parent 1c0a9ff8a0
commit 698aaca41d
5 changed files with 46 additions and 15 deletions

Binary file not shown.

View File

@ -199,6 +199,7 @@ CMD.SET.1
jsr CORE.ArgV.Next
beq CMD.SET.GET
cmp #'='
bne .99
@ -211,6 +212,7 @@ CMD.SET.1
cmp #'`'
beq CMD.SET.EXEC
jsr EXP.GET
bcc CMD.SET.YA
@ -236,6 +238,7 @@ CMD.SET.GET >PUSHW ZPVarNamePtr
>LDYA ZPCLBuf
>SYSCALL PutS
rts
.8 clc

View File

@ -52,7 +52,6 @@ L.MSG.USAGE .DA MSG.USAGE
L.MSG.ROOTPWD1 .DA MSG.ROOTPWD1
L.MSG.ROOTPWD2 .DA MSG.ROOTPWD2
L.MSG.MISMATCH .DA MSG.MISMATCH
L.MSG.DUP .DA MSG.DUP
L.MSG.BS .DA MSG.BS
L.MSG.CRLF .DA MSG.CRLF
J.CS.RUN.CheckArg
@ -106,6 +105,7 @@ CS.RUN >LDYAI S.PW
jsr CS.RUN.MkDir
* bcs .99
>PUSHW pData
>SYSCALL putpw
bcs .99
@ -222,6 +222,7 @@ CS.RUN.CheckArg inc ArgIndex
lda ArgIndex
>SYSCALL ArgV
bcs .8
>STYA ZPStrPtr
lda (ZPStrPtr)
cmp #'-'
@ -245,7 +246,7 @@ CS.RUN.CheckArg inc ArgIndex
and #$fe
tax
jmp (J.CS.RUN.CheckArg,x)
*--------------------------------------
.4 lda ArgUsername
bne CS.RUN.CheckArg.9
@ -274,11 +275,11 @@ CS.RUN.CheckArg inc ArgIndex
.6 lda #'/'
sta (ZPTmpPtr),y
>PUSHW ZPPWPtr
lda ArgIndex
sta ArgUsername
>SYSCALL ArgV
>PUSHYA
>PUSHW ZPPWPtr
>SYSCALL GetPWName
bcc .9
@ -289,9 +290,9 @@ CS.RUN.CheckArg inc ArgIndex
clc
rts
.9 >PUSHW L.MSG.DUP
>PUSHBI 0
>SYSCALL PrintF
.9 lda #E.DUPUSR
sec
rts
CS.RUN.CheckArg.9
lda #E.SYN
sec
@ -328,9 +329,11 @@ CS.RUN.CheckArg.S
lda ArgIndex
>SYSCALL ArgV
bcs CS.RUN.CheckArg.9
ldx #S.PW.SHELL
CS.RUN.CheckArg.Next
>STYA ZPStrPtr
* clc
txa
adc pData
@ -338,15 +341,20 @@ CS.RUN.CheckArg.Next
lda pData+1
adc #0
sta ZPTmpPtr+1
ldy #$ff
.1 iny
lda (ZPStrPtr),y
sta (ZPTmpPtr),y
beq .8
cpy #64
bne .1
lda #0
sta (ZPTmpPtr),y
.8 jmp CS.RUN.CheckArg
*--------------------------------------
CS.RUN.MkDir >PUSHEA.G S.PW.DIR
@ -389,7 +397,6 @@ MSG.CRLF .AZ "\r\n"
MSG.ROOTPWD1 .AZ "\r\nPlease enter ROOT password : "
MSG.ROOTPWD2 .AZ "\r\nPlease retype ROOT password : "
MSG.MISMATCH .AZ "\r\nPasswords mismatch...\r\n"
MSG.DUP .AZ "\r\nDuplicate username...\r\n"
MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0
*--------------------------------------
PW.ROOT .AS "root"

View File

@ -180,7 +180,7 @@ ENVX.GetEnv sta ENVX.hEnv
clc
rts
.9 >LDYAI 0
.9 lda #E.NOKEY
* sec
.99 rts

View File

@ -133,26 +133,47 @@ PWDX.PutPW lda PWD.hUsrDB
sta CLRWRITEAUX
sta (TXTPTR),y
sta SETWRITEAUX
>DEBUG
jsr PWD.GetRecordLen
clc
adc PWD.UsrDBSize
sta PWD.UsrDBSize
sta MEM.NewSize
tay
lda #0
adc PWD.UsrDBSize+1
sta PWD.UsrDBSize+1
sta MEM.NewSize+1
lda PWD.hUsrDB
jsr K.Realloc.I
jsr K.Getmem
bcs .99
>STYA ZPPtr3
stx PWD.hUsrDB
lda PWD.hUsrDB
jsr K.GetMemPtr
>STYA ZPPtr4
ldy #0
.3 lda (ZPPtr4),y
sta (ZPPtr3),y
beq .4
iny
bne .3
inc ZPPtr4
inc ZPPtr3
bra .3
.4 lda PWD.hUsrDB
stx PWD.hUsrDB
jsr K.Freemem
lda PWD.hUsrDB
jsr K.GetMemPtr
>STYA ZPPtr3
jsr PWD.AppendRecord
clc