Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-09-10 12:43:37 +02:00
parent b7d38d547d
commit 8c93153f0e
5 changed files with 41 additions and 19 deletions

Binary file not shown.

View File

@ -54,6 +54,7 @@ L.MSG.ROOTPWD2 .DA MSG.ROOTPWD2
L.MSG.MISMATCH .DA MSG.MISMATCH
L.MSG.CRLF .DA MSG.CRLF
L.MSG.BS .DA MSG.BS
*L.ROOT .DA ROOT
J.CS.RUN.CheckArg
.DA CS.RUN.CheckArg.C
.DA CS.RUN.CheckArg.D
@ -160,8 +161,13 @@ CS.RUN.ROOT ldy #0
>SYSCALL StrCmp
bcs .99
* jsr CS.RUN.TEST
>PUSHW pData
>SYSCALL PutPW
* jsr CS.RUN.TEST
bcs .9
lda #0
@ -175,6 +181,19 @@ CS.RUN.ROOT ldy #0
sec
rts
*--------------------------------------
*CS.RUN.TEST php
* pha
* >PUSHW L.ROOT
* >PUSHWI 0
* >SYSCALL GetEnv
* phx
* >SYSCALL PutS
* pla
* >SYSCALL FreeMem
* pla
* plp
* rts
*--------------------------------------
CS.RUN.GetStr stz ZPStrLen
.1 >SYSCALL GetChar
@ -421,6 +440,8 @@ PW.DEFAULT .BS 17 NAME
.AS "${ROOT}bin/sh"
.BS 65-13
*--------------------------------------
*ROOT .AZ "ROOT"
*--------------------------------------
* Per Process DATA segment
*--------------------------------------
.DUMMY

View File

@ -50,9 +50,10 @@ K.Realloc >PULLW MEM.NewSize
>STYA A4L Save MAIN Ptr
lda .7+1
>SYSCALL2 GetStkObjPtr
sta SETREADAUX
jsr MEM.MoveSetupA1A2 Setup AUX base & End Ptrs
sta CLRREADAUX
clc Aux To Main
jsr AuxMove
@ -586,18 +587,19 @@ MEM.MoveToMain sec
stx .8+1 Save MAIN hMem
>STYA A4L Save MAIN Ptr
lda .2+1
>SYSCALL2 GetStkObjPtr
lda .2+1 Get AUX mem Ptr
sta SETREADAUX
jsr MEM.MoveSetupA1A2 Setup AUX base & End Ptrs
sta CLRREADAUX
clc Aux To Main
jsr AuxMove
.1 lda #$ff SELF MODIFIED
bpl .8
bpl .8 Copy : dont discard AUX mem
.2 lda #$ff SELF MODIFIED
>SYSCALL2 FreeStkObj release AUX memory
>SYSCALL2 FreeStkObj release AUX mem
.8 ldx #$ff Returns MAIN hMem
txa
@ -613,7 +615,6 @@ MEM.MoveToAux stx .1+1 Save MAIN hMem
>STYA A4L Save AUX Ptr
lda .1+1
jsr K.GetMemPtr
jsr MEM.MoveSetupA1A2 Setup MAIN base & End Ptrs
sec Main To Aux
@ -628,6 +629,8 @@ MEM.MoveToAux stx .1+1 Save MAIN hMem
.9 rts
*--------------------------------------
MEM.MoveSetupA1A2
jsr K.GetMemPtr
>STYA A1L Start Address
pha
tya

View File

@ -23,7 +23,6 @@ K.GetPWUID
*\--------------------------------------
K.GetGRGID >PULLW FORPNT
>PULLB ZPPtr1+1 UID/GID
*/--------------------------------------
* # CloseSession
* ## C
@ -47,7 +46,7 @@ K.CloseSession jmp K.SYSCALL.JMPX
K.OpenSession
* >PULLW FORPNT passwd
* >PULLW TXTPTR name
* jmp K.SYSCALL.JMPX
*/--------------------------------------
* # GetPWName
@ -72,7 +71,7 @@ K.GetPWName
*\--------------------------------------
K.GetGRName >PULLW FORPNT
>PULLW TXTPTR
jmp K.SYSCALL.JMPX
*/--------------------------------------
* # PutPW
@ -94,7 +93,7 @@ K.PutPW
* ## RETURN VALUE
*\--------------------------------------
K.PutGR >PULLW TXTPTR
jsr K.SYSCALL.JMPX
bcc PWD.FlushFiles
@ -105,7 +104,7 @@ PWD.FlushFiles
ldx PWD.hUsrDB
clc
jsr PWD.Flush
bcs K.PutGR.RTS
bcs K.PutGR.RTS
>LDYA PWD.GrpDBSize
ldx PWD.hGrpDB
@ -114,11 +113,11 @@ PWD.FlushFiles
PWD.Flush >STYA PWD.FileSize
>LDYAI PWD.ETCPASSWD
bcc .10
>LDYAI PWD.ETCGROUP
.10 >STYA PWD.FileName
>LDYA PWD.FileSize
jsr MEM.CopyToMain X = src Aux hMem
@ -130,10 +129,9 @@ PWD.Flush >STYA PWD.FileSize
>PUSHBI O.WRONLY+O.CREATE
>PUSHBI S.FI.T.TXT
>PUSHWZ Aux type
>DEBUG
>SYSCALL2 FOpen
bcc .1
pha
jsr .8
pla

View File

@ -89,7 +89,7 @@ PWDX.PutPW lda PWD.hUsrDB
ldy #S.PW.UID
jsr SHARED.TXTPTR.GetY
bne PWDX.GetPW.RTS Must be ROOT user
bne PWDX.GetPW.99 Must be ROOT user
jsr PWDX.GetRecordLen
tay
@ -125,7 +125,7 @@ PWDX.PutPW lda PWD.hUsrDB
>STYA ZPPtr3
stx PWD.hGrpDB
ldy #PWD.GrpDBSize-1
ldy #PWDX.GROUP.Size-1
.3 lda PWDX.GROUP,y
sta (ZPPtr3),y