From b7d38d547d0c26685b228ebf95caa430d2a3739c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 10 Sep 2020 08:28:51 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes SYS/KERNEL.S.PWD.txt | 6 +- SYS/KERNEL.S.PWDX.txt | 182 ++++++++++++++++++++------------------- 3 files changed, 99 insertions(+), 89 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 92cf059b65ceadd984f4e937f6002c8fc8850a3c..83b3e7ff617f7e6811ac859839f656053b1e7b80 100644 GIT binary patch delta 14835 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ƌk&jws8O4N-LE*eg^vl+n9uYiL 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 delta 14408 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 TXTPTR jsr K.SYSCALL.JMPX bcc PWD.FlushFiles - rts + +K.PutGR.RTS rts *-------------------------------------- PWD.FlushFiles >LDYA PWD.UsrDBSize ldx PWD.hUsrDB clc jsr PWD.Flush + bcs K.PutGR.RTS >LDYA PWD.GrpDBSize ldx PWD.hGrpDB @@ -118,6 +120,7 @@ PWD.Flush >STYA PWD.FileSize .10 >STYA PWD.FileName >LDYA PWD.FileSize + jsr MEM.CopyToMain X = src Aux hMem bcs .9 @@ -127,6 +130,7 @@ PWD.Flush >STYA PWD.FileSize >PUSHBI O.WRONLY+O.CREATE >PUSHBI S.FI.T.TXT >PUSHWZ Aux type + >DEBUG >SYSCALL2 FOpen bcc .1 diff --git a/SYS/KERNEL.S.PWDX.txt b/SYS/KERNEL.S.PWDX.txt index 8dd5c24b..64846c93 100644 --- a/SYS/KERNEL.S.PWDX.txt +++ b/SYS/KERNEL.S.PWDX.txt @@ -10,52 +10,52 @@ NEW * \0 *-------------------------------------- PWDX.GetPWUID lda PWD.hUsrDB - beq PWD.GetPW.9 + beq PWDX.GetPW.9 jsr K.GetmemPtr >STYA ZPPtr3 .1 lda (ZPPtr3) - beq PWD.GetPW.99 EOF + beq PWDX.GetPW.99 EOF ldy #0 - jsr PWD.NextString skip USERNAME + jsr PWDX.NextString skip USERNAME - jsr PWD.NextString skip PASSWORD + jsr PWDX.NextString skip PASSWORD - jsr PWD.GetByte get UID + jsr PWDX.GetByte get UID cmp ZPPtr1+1 - beq PWD.GetPW.8 + beq PWDX.GetPW.8 - jsr PWD.NextLine + jsr PWDX.NextLine bra .1 -PWD.GetPW.8 ldx FORPNT+1 +PWDX.GetPW.8 ldx FORPNT+1 beq .8 Dry run, no output - jmp PWD.Record2PW + jmp PWDX.Record2PW .8 clc a = UID rts -PWD.GetPW.9 lda #E.IPWDDB +PWDX.GetPW.9 lda #E.IPWDDB .HS 2C BIT ABS -PWD.GetPW.99 lda #E.IUSR +PWDX.GetPW.99 lda #E.IUSR sec -PWD.GetPW.RTS rts +PWDX.GetPW.RTS rts *-------------------------------------- PWDX.GetPWName lda PWD.hUsrDB - beq PWD.GetPW.9 + beq PWDX.GetPW.9 jsr K.GetmemPtr >STYA ZPPtr3 ldy #0 jsr SHARED.TXTPTR.GetY - beq PWD.GetPW.99 + beq PWDX.GetPW.99 .1 lda (ZPPtr3) - beq PWD.GetPW.99 + beq PWDX.GetPW.99 ldy #$ff .2 iny @@ -65,7 +65,7 @@ PWDX.GetPWName lda PWD.hUsrDB cmp (ZPPtr3),y beq .2 -.3 jsr PWD.NextLine +.3 jsr PWDX.NextLine bra .1 .4 lda (ZPPtr3),y @@ -75,11 +75,11 @@ PWDX.GetPWName lda PWD.hUsrDB ldx FORPNT+1 beq .8 - jmp PWD.Record2PW + jmp PWDX.Record2PW .8 iny - jsr PWD.NextString skip PASSWORD - jmp PWD.GetByte get UID + jsr PWDX.NextString skip PASSWORD + jmp PWDX.GetByte get UID *-------------------------------------- * TXTPTR : pPW (Input) * ZPPtr3 : pDB @@ -89,15 +89,20 @@ PWDX.PutPW lda PWD.hUsrDB ldy #S.PW.UID jsr SHARED.TXTPTR.GetY - bne PWD.GetPW.RTS Must be ROOT user + bne PWDX.GetPW.RTS Must be ROOT user - jsr PWD.GetRecordLen + jsr PWDX.GetRecordLen tay lda #0 - >STYA PWD.UsrDBSize + iny + bne .1 + + inc + +.1 >STYA PWD.UsrDBSize jsr K.getmem - bcs PWD.GetPW.RTS + bcs PWDX.GetPW.RTS >STYA ZPPtr3 stx PWD.hUsrDB @@ -105,7 +110,7 @@ PWDX.PutPW lda PWD.hUsrDB lda #0 sta (ZPPtr3) - jsr PWD.AppendRecord + jsr PWDX.AppendRecord lda PWD.hGrpDB beq .2 @@ -137,18 +142,18 @@ PWDX.PutPW.1 jsr K.GetmemPtr jsr SHARED.TXTPTR.GetY bne .12 - jsr PWD.FindRecord + jsr PWDX.FindRecord bcs .99 - jmp PWD.DeleteRecord + jmp PWDX.DeleteRecord *-------------------------------------- -.12 jsr PWD.FindRecord +.12 jsr PWDX.FindRecord bcs .11 - jsr PWD.DeleteRecord + jsr PWDX.DeleteRecord bcs .99 bra .13 *-------------------------------------- -.11 jsr PWD.GetUID new user, get UID +.11 jsr PWDX.GetUID new user, get UID bcs .99 ldy #S.PW.UID @@ -156,7 +161,7 @@ PWDX.PutPW.1 jsr K.GetmemPtr sta (TXTPTR),y sta SETWRITEAUX -.13 jsr PWD.GetRecordLen +.13 jsr PWDX.GetRecordLen clc adc PWD.UsrDBSize @@ -196,7 +201,7 @@ PWDX.PutPW.1 jsr K.GetmemPtr jsr K.GetMemPtr >STYA ZPPtr3 - jsr PWD.AppendRecord + jsr PWDX.AppendRecord lda #0 jsr PWDX.StoreChar @@ -209,50 +214,50 @@ PWDX.PutPW.1 jsr K.GetmemPtr .99 rts *-------------------------------------- PWDX.GetGRGID lda PWD.hGrpDB - beq PWD.GetGR.9 + beq PWDX.GetGR.9 jsr K.GetmemPtr >STYA ZPPtr3 .1 lda (ZPPtr3) - beq PWD.GetGR.99 EOF + beq PWDX.GetGR.99 EOF ldy #0 - jsr PWD.NextString skip USERNAME + jsr PWDX.NextString skip USERNAME - jsr PWD.GetByte get UID + jsr PWDX.GetByte get UID cmp ZPPtr1+1 - beq PWD.GetGR.8 + beq PWDX.GetGR.8 - jsr PWD.NextLine + jsr PWDX.NextLine bra .1 -PWD.GetGR.8 ldx FORPNT+1 +PWDX.GetGR.8 ldx FORPNT+1 beq .8 Dry run, no output - jmp PWD.Record2GR + jmp PWDX.Record2GR .8 clc a = UID rts -PWD.GetGR.9 lda #E.IPWDDB +PWDX.GetGR.9 lda #E.IPWDDB .HS 2C BIT ABS -PWD.GetGR.99 lda #E.IUSR +PWDX.GetGR.99 lda #E.IUSR sec -PWD.GetGR.RTS rts +PWDX.GetGR.RTS rts *-------------------------------------- PWDX.GetGRName lda PWD.hGrpDB - beq PWD.GetGR.9 + beq PWDX.GetGR.9 jsr K.GetmemPtr >STYA ZPPtr3 ldy #0 jsr SHARED.TXTPTR.GetY - beq PWD.GetGR.99 + beq PWDX.GetGR.99 .1 lda (ZPPtr3) - beq PWD.GetGR.99 + beq PWDX.GetGR.99 ldy #$ff .2 iny @@ -262,7 +267,7 @@ PWDX.GetGRName lda PWD.hGrpDB cmp (ZPPtr3),y beq .2 -.3 jsr PWD.NextLine +.3 jsr PWDX.NextLine bra .1 .4 lda (ZPPtr3),y @@ -272,13 +277,13 @@ PWDX.GetGRName lda PWD.hGrpDB ldx FORPNT+1 beq .8 - jmp PWD.Record2GR + jmp PWDX.Record2GR .8 iny - jmp PWD.GetByte get GID + jmp PWDX.GetByte get GID *-------------------------------------- PWDX.PutGR lda PWD.hGrpDB - beq PWD.GetGR.9 + beq PWDX.GetGR.9 jsr K.GetmemPtr >STYA ZPPtr3 @@ -312,7 +317,7 @@ PWDX.OpenSession clc rts *-------------------------------------- -.3 jsr PWD.FindRecord +.3 jsr PWDX.FindRecord bcs .9 tya Y = Name length +1 @@ -353,7 +358,7 @@ PWDX.CloseSession *-------------------------------------- * PRIVATE *-------------------------------------- -PWD.GetUID lda PWD.hUsrDB +PWDX.GetUID lda PWD.hUsrDB jsr K.GetmemPtr >STYA ZPPtr3 @@ -363,15 +368,15 @@ PWD.GetUID lda PWD.hUsrDB beq .8 End of DB ldy #0 - jsr PWD.NextString skip name - jsr PWD.NextString skip password - jsr PWD.GetByte + jsr PWDX.NextString skip name + jsr PWDX.NextString skip password + jsr PWDX.GetByte cmp .8+1 bcc .4 sta .8+1 -.4 jsr PWD.NextLine +.4 jsr PWDX.NextLine bra .1 .8 lda #$ff SELF MODIFIED @@ -385,7 +390,7 @@ PWD.GetUID lda PWD.hUsrDB sec rts *-------------------------------------- -PWD.DeleteRecord +PWDX.DeleteRecord .1 iny lda (ZPPtr3),y cmp #C.CR @@ -419,7 +424,7 @@ PWD.DeleteRecord .9 rts *-------------------------------------- -PWD.FindRecord lda PWD.hUsrDB +PWDX.FindRecord lda PWD.hUsrDB jsr K.GetmemPtr >STYA ZPPtr3 @@ -436,7 +441,7 @@ PWD.FindRecord lda PWD.hUsrDB cmp (ZPPtr3),y beq .3 -.5 jsr PWD.NextLine +.5 jsr PWDX.NextLine bra .2 .4 lda (ZPPtr3),y @@ -454,7 +459,7 @@ PWD.FindRecord lda PWD.hUsrDB *-------------------------------------- * Record : USERNAME:PASSWORD:UID:GID:GECOS:HOME:SHELL\CR *-------------------------------------- -PWD.Record2PW ldy #0 +PWDX.Record2PW ldy #0 ldx #0 NAME @@ -488,12 +493,12 @@ PWD.Record2PW ldy #0 cpx #S.PW.UID bne .4 - jsr PWD.GetByte UID + jsr PWDX.GetByte UID jsr SHARED.FORPNT.PutNext iny - jsr PWD.GetByte GID + jsr PWDX.GetByte GID jsr SHARED.FORPNT.PutNext iny @@ -539,7 +544,7 @@ PWD.Record2PW ldy #0 clc rts *-------------------------------------- -PWD.Record2GR ldy #0 +PWDX.Record2GR ldy #0 ldx #0 NAME @@ -555,7 +560,7 @@ PWD.Record2GR ldy #0 .2 lda #0 jsr SHARED.FORPNT.PutNext - jsr PWD.GetByte UID + jsr PWDX.GetByte UID jsr SHARED.FORPNT.PutNext clc @@ -566,15 +571,15 @@ PWD.Record2GR ldy #0 PWDX.GetSessionLen ldy #0 - jsr PWD.NextString USERNAME + jsr PWDX.NextString USERNAME tya clc adc #S.SESSION.NAME tax - jsr PWD.NextString skip PASSWORD - jsr PWD.NextString skip UID - jsr PWD.NextString skip GID + jsr PWDX.NextString skip PASSWORD + jsr PWDX.NextString skip UID + jsr PWDX.NextString skip GID .1 inx iny @@ -591,14 +596,14 @@ PWDX.GetSessionLen PWDX.Record2Session ldy #0 - jsr PWD.NextString skip USERNAME - jsr PWD.NextString skip PASSWORD - jsr PWD.GetByte get UID + jsr PWDX.NextString skip USERNAME + jsr PWDX.NextString skip PASSWORD + jsr PWDX.GetByte get UID sta ZPPtr1 iny - jsr PWD.GetByte get GID + jsr PWDX.GetByte get GID sta ZPPtr1+1 iny @@ -655,20 +660,20 @@ PWDX.Record2Session .8 lda #0 jmp SHARED.PutCharPtr2 *-------------------------------------- -PWD.NextString lda (ZPPtr3),y +PWDX.NextString lda (ZPPtr3),y beq .8 iny cmp #':' - bne PWD.NextString + bne PWDX.NextString .8 rts *-------------------------------------- -PWD.NextLine lda (ZPPtr3),y +PWDX.NextLine lda (ZPPtr3),y beq .8 iny cmp #C.CR - bne PWD.NextLine + bne PWDX.NextLine tya clc @@ -678,7 +683,7 @@ PWD.NextLine lda (ZPPtr3),y inc ZPPtr3+1 .8 rts *-------------------------------------- -PWD.GetByte stz .8+1 +PWDX.GetByte stz .8+1 .1 lda (ZPPtr3),y beq .8 @@ -712,7 +717,7 @@ PWD.GetByte stz .8+1 clc rts *-------------------------------------- -PWD.AppendRecord +PWDX.AppendRecord .1 lda (ZPPtr3) beq .8 @@ -724,17 +729,17 @@ PWD.AppendRecord .8 sec .HS 90 BCC *-------------------------------------- -PWD.GetRecordLen +PWDX.GetRecordLen clc ldx #0 ldy #S.PW.NAME - jsr PWD.StoreString + jsr PWDX.StoreString lda #':' jsr PWDX.StoreChar ldy #S.PW.PASSWD - jsr PWD.StoreString + jsr PWDX.StoreString lda #':' jsr PWDX.StoreChar @@ -754,31 +759,32 @@ PWD.GetRecordLen ldy #S.PW.GECOS - jsr PWD.StoreString + jsr PWDX.StoreString lda #':' jsr PWDX.StoreChar ldy #S.PW.DIR - jsr PWD.StoreString + jsr PWDX.StoreString lda #':' jsr PWDX.StoreChar ldy #S.PW.SHELL - jsr PWD.StoreString + jsr PWDX.StoreString lda #C.CR jsr PWDX.StoreChar txa -PWD.GetRecordLen.RTS +PWDX.GetRecordLen.RTS rts *-------------------------------------- -PWD.StoreString jsr SHARED.TXTPTR.GetY - beq PWD.GetRecordLen.RTS +PWDX.StoreString + jsr SHARED.TXTPTR.GetY + beq PWDX.GetRecordLen.RTS jsr PWDX.StoreChar iny - bra PWD.StoreString + bra PWDX.StoreString *-------------------------------------- PWDX.StoreByte php phx @@ -789,7 +795,7 @@ PWDX.StoreByte php ldy #0 .1 lda A2osX.NumStrBuf,y - beq PWD.GetRecordLen.RTS + beq PWDX.GetRecordLen.RTS iny jsr PWDX.StoreChar bra .1