Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-04-26 17:07:22 +02:00
parent ca88602a61
commit 7e9bc637b1
4 changed files with 64 additions and 22 deletions

Binary file not shown.

View File

@ -14,7 +14,7 @@ NEW
.OR ZPBIN
ZS.START
USRID .BS 1
ZPPWPtr .BS 2
ZPSessionPtr .BS 2
ZS.END
.ED
*--------------------------------------
@ -63,20 +63,20 @@ CS.RUN >LDYA L.MSG0
ldx USRID
lda S.Table.hSession-1,x
>SYSCALL GetMemPtr
>STYA ZPPWPtr
>STYA ZPSessionPtr
lda ZPPWPtr
lda ZPSessionPtr
clc
adc #S.SESSION.NAME
tay
lda ZPPWPtr+1
lda ZPSessionPtr+1
adc /S.SESSION.NAME
>PUSHYA
>PUSHB (ZPPWPtr)
>PUSHB (ZPSessionPtr)
ldy #S.SESSION.UID
>PUSHB (ZPPWPtr),y
>PUSHB (ZPSessionPtr),y
>PUSHB USRID

View File

@ -275,11 +275,11 @@ CS.RUN.SetUserSession
bcs .9
>STYA pSession
>STYA ZPStrPtr
stx ZPhSID
* clc
ldy #S.PW.GID
lda (pData),y
tax

View File

@ -6,8 +6,8 @@ X.PWD jmp (.1-SYS.GetPWUID,x)
.DA PWD.GetPWName
.DA PWD.PutPW
*--------------------------------------
* ZPPtr1 : UID / pName
* ZPPtr2 : pPW
* ZPPtr1 : UID / pName (Input)
* ZPPtr2 : pPW (Output)
* ZPPtr3 : pDB
* USERNAME:PASSWORD:UID:GID:GECOS:HOME:SHELL\CR
* ....\CR
@ -63,7 +63,7 @@ PWD.GetPWName lda PWD.hDB
ldy #0
jsr MEM.TXTPTR.GetY
beq .99
* >DEBUG
.1 lda (ZPPtr3)
beq .99
@ -94,6 +94,9 @@ PWD.GetPWName lda PWD.hDB
PWD.GetPWName.RTS
rts
*--------------------------------------
* ZPPtr2 : pPW (Input)
* ZPPtr3 : pDB
*--------------------------------------
PWD.PutPW >LDYA ZPPtr2
>STYA TXTPTR
@ -110,7 +113,7 @@ PWD.PutPW >LDYA ZPPtr2
>STYA PWD.DBSize
jsr K.getmem
bcs .99
bcs PWD.GetPWName.RTS
>STYA ZPPtr3
>STYA PWD.DBPtr
stx PWD.hDB
@ -123,8 +126,13 @@ PWD.PutPW >LDYA ZPPtr2
jsr PWD.DeleteRecord
bcc .11 user exits..
jsr PWD.SetUID new user, setup UID
jsr PWD.GetUID new user, get UID
bcs .99
ldy #S.PW.UID
sta CLRWRITEAUX
sta (TXTPTR),y
sta SETWRITEAUX
.11 jsr PWD.GetRecordLen
clc
@ -179,11 +187,45 @@ PWD.PutPW >LDYA ZPPtr2
*--------------------------------------
* ZPPtr2 = pPW
*--------------------------------------
PWD.SetUID >LDYA PWD.DBPtr
PWD.GetUID >LDYA PWD.DBPtr
>STYA ZPPtr3
stz .8+1
.1 lda (ZPPtr3)
beq .8 End of DB
ldy #0
.2 lda (ZPPtr3),y
iny
cmp #':'
bne .2 skip name
.3 lda (ZPPtr3),y
iny
cmp #':'
bne .3 skip password
jsr PWD.GetByte
cmp .8+1
bcc .4
sta .8+1
.4 jsr PWD.NextLine
bra .1
.8 lda #$ff SELF MODIFIED
inc
beq .9
clc
rts
.9 lda #E.IUSR
sec
rts
*--------------------------------------
PWD.DeleteRecord
jsr PWD.FindRecord
@ -355,7 +397,7 @@ PWD.Record2PW sta CLRWRITEAUX
clc
rts
*--------------------------------------
PWD.GetByte stz .8+1
PWD.GetByte stz ZPPtr4
.1 lda (ZPPtr3),y
iny
@ -365,20 +407,20 @@ PWD.GetByte stz .8+1
and #$f
pha
lda .8+1
lda ZPPtr4
asl
asl
clc
adc .8+1
adc ZPPtr4
asl
sta .8+1
sta ZPPtr4
pla
clc
adc .8+1
sta .8+1
adc ZPPtr4
sta ZPPtr4
bra .1
.8 lda #$ff
.8 lda ZPPtr4
rts
*--------------------------------------
PWD.StoreRecord sec