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

View File

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

View File

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

View File

@ -133,26 +133,47 @@ PWDX.PutPW lda PWD.hUsrDB
sta CLRWRITEAUX sta CLRWRITEAUX
sta (TXTPTR),y sta (TXTPTR),y
sta SETWRITEAUX sta SETWRITEAUX
>DEBUG
jsr PWD.GetRecordLen jsr PWD.GetRecordLen
clc clc
adc PWD.UsrDBSize adc PWD.UsrDBSize
sta PWD.UsrDBSize sta PWD.UsrDBSize
sta MEM.NewSize tay
lda #0 lda #0
adc PWD.UsrDBSize+1 adc PWD.UsrDBSize+1
sta PWD.UsrDBSize+1 sta PWD.UsrDBSize+1
sta MEM.NewSize+1
lda PWD.hUsrDB jsr K.Getmem
jsr K.Realloc.I
bcs .99 bcs .99
>STYA ZPPtr3 >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 jsr PWD.AppendRecord
clc clc