Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-30 17:45:10 +02:00
parent 192a99b47a
commit b3792e9d57
3 changed files with 76 additions and 73 deletions

Binary file not shown.

View File

@ -79,7 +79,7 @@ CS.RUN.PS
ldy #S.PS.PID
lda (ZPPtr1),y
beq .7
beq .7 don't kill PS0
cmp #1
beq .7 don't kill INITD

View File

@ -20,9 +20,9 @@ PWDX.GetPWUID lda PWD.hUsrDB
ldy #0
jsr PWD.NextString skip USERNAME
jsr PWD.NextString skip PASSWORD
jsr PWD.GetByte get UID
cmp ZPPtr1+1
beq PWD.GetPW.8
@ -39,7 +39,7 @@ PWD.GetPW.8 ldx FORPNT+1
PWD.GetPW.9 lda #E.IPWDDB
.HS 2C BIT ABS
PWD.GetPW.99 lda #E.IUSR
sec
PWD.GetPW.RTS rts
@ -71,7 +71,7 @@ PWDX.GetPWName lda PWD.hUsrDB
.4 lda (ZPPtr3),y
cmp #':'
bne .3
ldx FORPNT+1
beq .8
@ -101,32 +101,32 @@ PWDX.PutPW lda PWD.hUsrDB
>STYA ZPPtr3
stx PWD.hUsrDB
lda #0
sta (ZPPtr3)
jsr PWD.AppendRecord
lda PWD.hGrpDB
beq .2
jsr K.freemem
.2 >LDYAI PWDX.GROUP.Size
>STYA PWD.GrpDBSize
jsr K.getmem
bcs .9
>STYA ZPPtr3
stx PWD.hGrpDB
ldy #PWD.GrpDBSize-1
.3 lda PWDX.GROUP,y
sta (ZPPtr3),y
dey
bpl .3
clc
.9 rts
*--------------------------------------
@ -160,14 +160,14 @@ PWDX.PutPW.1 jsr K.GetmemPtr
adc PWD.UsrDBSize
sta PWD.UsrDBSize
tay
lda #0
adc PWD.UsrDBSize+1
sta PWD.UsrDBSize+1
jsr K.Getmem
bcs .99
>STYA ZPPtr3
lda PWD.hUsrDB
@ -185,23 +185,26 @@ PWDX.PutPW.1 jsr K.GetmemPtr
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
lda #0
jsr PWD.StoreChar
clc
rts
.9 lda #E.IPWDDB
sec
.99 rts
.99 rts
*--------------------------------------
PWDX.GetGRGID lda PWD.hGrpDB
beq PWD.GetGR.9
@ -214,7 +217,7 @@ PWDX.GetGRGID lda PWD.hGrpDB
ldy #0
jsr PWD.NextString skip USERNAME
jsr PWD.GetByte get UID
cmp ZPPtr1+1
beq PWD.GetGR.8
@ -231,7 +234,7 @@ PWD.GetGR.8 ldx FORPNT+1
PWD.GetGR.9 lda #E.IPWDDB
.HS 2C BIT ABS
PWD.GetGR.99 lda #E.IUSR
sec
PWD.GetGR.RTS rts
@ -263,7 +266,7 @@ PWDX.GetGRName lda PWD.hGrpDB
.4 lda (ZPPtr3),y
cmp #':'
bne .3
ldx FORPNT+1
beq .8
@ -274,7 +277,7 @@ PWDX.GetGRName lda PWD.hGrpDB
*--------------------------------------
PWDX.PutGR lda PWD.hGrpDB
beq PWD.GetGR.9
jsr K.GetmemPtr
>STYA ZPPtr3
@ -286,8 +289,8 @@ PWDX.PutGR lda PWD.hGrpDB
PWDX.OpenSession
lda PWD.hUsrDB
beq .1
lda TXTPTR+1
lda TXTPTR+1
bne .3
.1 >LDYAI PWDX.ROOT.Size
@ -295,9 +298,9 @@ PWDX.OpenSession
bcs .9
>STYA ZPPtr1
ldy #PWDX.ROOT.Size-1
.2 lda PWDX.ROOT,y
sta (ZPPtr1),y
dey
@ -311,21 +314,21 @@ PWDX.OpenSession
bcs .9
tya Y = Name length +1
* clc
adc ZPPtr3
sta ZPPtr4
lda ZPPtr3+1
adc #0
sta ZPPtr4+1
ldy #31
.5 jsr SHARED.FORPNT.getY
cmp (ZPPtr4),y Check MD5
bne .9
dey
bpl .5
@ -335,14 +338,14 @@ PWDX.OpenSession
>STYA ZPPtr2
stx .8+1
jsr PWD.Record2Session
.8 lda #$ff SELF MODIFIED
clc
rts
sec
.9 rts
*--------------------------------------
@ -387,7 +390,7 @@ PWD.GetUID lda PWD.hUsrDB
PWD.DeleteRecord
jsr PWD.FindRecord
bcs .9
.1 iny
lda (ZPPtr3),y
cmp #C.CR
@ -415,15 +418,15 @@ PWD.DeleteRecord
sta PWD.UsrDBSize
bcs .8
dec PWD.UsrDBSize+1
dec PWD.UsrDBSize+1
.8 clc
.9 rts
*--------------------------------------
PWD.FindRecord lda PWD.hUsrDB
jsr K.GetmemPtr
>STYA ZPPtr3
.2 lda (ZPPtr3)
@ -458,19 +461,19 @@ PWD.FindRecord lda PWD.hUsrDB
*--------------------------------------
PWD.Record2Session
ldy #0
jsr PWD.NextString skip USERNAME
jsr PWD.NextString skip PASSWORD
jsr PWD.GetByte get UID
sta ZPPtr1
iny
jsr PWD.GetByte get GID
sta ZPPtr1+1
iny
lda #0
ldx ZPPtr1
bne .1
@ -479,32 +482,32 @@ PWD.Record2Session
.1 ldx ZPPtr1+1
bne .2
ora #S.SESSION.P.SYSADMIN
.2 jsr SHARED.PutCharPtr2
lda ZPPtr1
jsr SHARED.PutCharPtr2 UID
lda ZPPtr1+1
jsr SHARED.PutCharPtr2 GID
phy
ldy #$ff
.3 iny
lda (ZPPtr3),y
cmp #':'
beq .4
jsr SHARED.PutCharPtr2
bra .3
.4 lda #0
.4 lda #0
jsr SHARED.PutCharPtr2
ply
.5 lda (ZPPtr3),y
@ -513,14 +516,14 @@ PWD.Record2Session
cmp #':'
bne .6
lda #0
.6 jsr SHARED.PutCharPtr2
iny
bra .5
.8 lda #0
.8 lda #0
jmp SHARED.PutCharPtr2
*--------------------------------------
PWD.Record2PW ldy #0
@ -616,14 +619,14 @@ PWD.Record2GR ldy #0
iny
cmp #':'
beq .2
jsr SHARED.FORPNT.PutNext
inx
bra .1
.2 lda #0
jsr SHARED.FORPNT.PutNext
jsr PWD.GetByte UID
jsr SHARED.FORPNT.PutNext
@ -632,7 +635,7 @@ PWD.Record2GR ldy #0
*--------------------------------------
PWD.NextString lda (ZPPtr3),y
beq .8
iny
cmp #':'
bne PWD.NextString
@ -640,11 +643,11 @@ PWD.NextString lda (ZPPtr3),y
*--------------------------------------
PWD.NextLine lda (ZPPtr3),y
beq .8
iny
cmp #C.CR
bne PWD.NextLine
tya
clc
adc ZPPtr3
@ -690,7 +693,7 @@ PWD.GetByte stz .8+1
PWD.AppendRecord
.1 lda (ZPPtr3)
beq .8
inc ZPPtr3
bne .1
inc ZPPtr3+1
@ -702,14 +705,14 @@ PWD.AppendRecord
PWD.GetRecordLen
clc
ldx #0
ldy #S.PW.NAME-1
ldy #S.PW.NAME
jsr PWD.StoreString
lda #':'
jsr PWD.StoreChar
ldy #S.PW.PASSWD-1
ldy #S.PW.PASSWD
jsr PWD.StoreString
jsr PWD.StoreString
lda #':'
jsr PWD.StoreChar
@ -720,26 +723,26 @@ PWD.GetRecordLen
lda #':'
jsr PWD.StoreChar
ldy #S.PW.GID
jsr SHARED.TXTPTR.GetY
jsr PWD.StoreByte
lda #':'
jsr PWD.StoreChar
ldy #S.PW.GECOS-1
ldy #S.PW.GECOS
jsr PWD.StoreString
lda #':'
jsr PWD.StoreChar
ldy #S.PW.DIR-1
ldy #S.PW.DIR
jsr PWD.StoreString
lda #':'
jsr PWD.StoreChar
ldy #S.PW.SHELL-1
ldy #S.PW.SHELL
jsr PWD.StoreString
lda #C.CR
@ -762,7 +765,7 @@ PWD.StoreByte php
plp
ldy #0
.1 lda A2osX.NumStrBuf,y
beq PWD.GetRecordLen.RTS
iny