From 4ca0e321adef5001ef74bd1b7c834e574736e691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 31 Jul 2020 12:28:04 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/USERADD.S.txt | 9 +-- BIN/USERMOD.S.txt | 155 ++++++++------------------------------- SYS/KERNEL.S.PWDX.txt | 13 ++-- 4 files changed, 42 insertions(+), 135 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 40322655e23885b9482281ead0ced2c1bafead2d..9a78acd6cde12c6a6abb67596f26251f87ac0ff7 100644 GIT binary patch delta 13199 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 -@EXXjee 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 S.PW - >SYSCALL GetMem - bcs .99 - - >STYA ZPPWPtr - stx ZPhPW - - >LDYAI 256 - >SYSCALL GetMem - bcs .99 - - >STYA ZPStrPtr - stx ZPhStr - - lda #0 - >PUSHA - >PUSHW ZPPWPtr - >SYSCALL GetPWUID - bcs .9 +CS.RUN ldy #S.PS.ARGC + lda (pPS),y + beq .9 jsr CS.RUN.CheckArg - bcs .9 - + bcs .99 + >PUSHW pData >SYSCALL putpw bcs .99 - + lda #0 sec rts @@ -104,49 +83,6 @@ CS.RUN >LDYAI S.PW sec .99 rts *-------------------------------------- -CS.RUN.GetStr stz ZPStrLen - -.1 >SYSCALL getchar - bcs .9 - cmp #C.SPACE - bcc .2 - ldy ZPStrLen - cpy ZPStrMax - beq .1 - sta (ZPStrPtr),y - iny - sty ZPStrLen - bit ZPbStrSecret - bmi .1 - >SYSCALL putchar - bra .1 - -.2 cmp #3 Ctrl-C - beq .9 - - cmp #C.CR - beq .8 - cmp #C.BS - bne .1 - ldy ZPStrLen - beq .1 - dec ZPStrLen - bit ZPbStrSecret - bmi .1 - - >PUSHW L.MSG.BS - >PUSHBI 0 - >SYSCALL PrintF - bra .1 -.8 ldy ZPStrLen - lda #0 - sta (ZPStrPtr),y - - >PUSHW L.MSG.CRLF - >PUSHBI 0 - >SYSCALL PrintF -.9 rts -*-------------------------------------- CS.RUN.CheckArg inc ArgIndex lda ArgIndex >SYSCALL ArgV @@ -156,12 +92,15 @@ CS.RUN.CheckArg inc ArgIndex lda (ZPStrPtr) cmp #'-' bne .4 - + + lda ArgUsername + beq CS.RUN.CheckArg.9 + ldy #1 lda (ZPStrPtr),y ldx #OptionCnt-1 - + .2 cmp OptionList,x beq .3 dex @@ -170,7 +109,7 @@ CS.RUN.CheckArg inc ArgIndex lda #E.SYN sec rts - + .3 txa and #$fe tax @@ -178,48 +117,24 @@ CS.RUN.CheckArg inc ArgIndex *-------------------------------------- .4 lda ArgUsername bne CS.RUN.CheckArg.9 - - lda pData - clc - adc #S.PW.DIR+11 - sta ZPTmpPtr - - lda pData+1 - adc /S.PW.DIR+11 - sta ZPTmpPtr+1 - - ldy #0 - -.5 lda (ZPStrPtr),y - sta (pData),y - sta (ZPTmpPtr),y - beq .6 - - iny - cpy #16 - bne .5 - - bra CS.RUN.CheckArg.9 - -.6 lda #'/' - sta (ZPTmpPtr),y lda ArgIndex sta ArgUsername >SYSCALL ArgV >PUSHYA - >PUSHW ZPPWPtr + >PUSHW pData >SYSCALL GetPWName - bcc .9 - + bcs .9 + bra CS.RUN.CheckArg - -.8 lda ArgUsername + +.8 lda ArgUsername beq CS.RUN.CheckArg.9 + clc rts - -.9 lda #E.DUPUSR + +.9 lda #E.IUSR sec rts CS.RUN.CheckArg.9 @@ -258,11 +173,11 @@ CS.RUN.CheckArg.S lda ArgIndex >SYSCALL ArgV bcs CS.RUN.CheckArg.9 - + ldx #S.PW.SHELL CS.RUN.CheckArg.Next >STYA ZPStrPtr - + * clc txa adc pData @@ -270,7 +185,7 @@ CS.RUN.CheckArg.Next lda pData+1 adc #0 sta ZPTmpPtr+1 - + ldy #$ff .1 iny @@ -283,7 +198,7 @@ CS.RUN.CheckArg.Next lda #0 sta (ZPTmpPtr),y - + .8 jmp CS.RUN.CheckArg *-------------------------------------- CS.RUN.MkDir >PUSHEA.G S.PW.DIR @@ -301,13 +216,7 @@ CS.DOEVENT sec * Called once, when RUN exited with CS * Put code for unloading LIB here *-------------------------------------- -CS.QUIT lda ZPhStr - beq .1 - >SYSCALL FreeMem -.1 lda ZPhPW - beq .2 - >SYSCALL FreeMem -.2 clc +CS.QUIT clc rts *-------------------------------------- CS.END @@ -321,15 +230,15 @@ MSG.USAGE .AS "Usage : USERMOD username\r\n" .AS " -c : Comment (GECOS)\r\n" .AS " -d : Home Directory\r\n" .AS " -p : Password\r\n" - .AS " -s : Shell\r\n" -MSG.CRLF .AZ "\r\n" + .AS " -s : Shell" +MSG.CRLF .AZ "\r\n" +MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0 *-------------------------------------- .DUMMY .OR 0 -DS.START +DS.START PW .BS S.PW -DS.END - .ED +DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/usermod.s diff --git a/SYS/KERNEL.S.PWDX.txt b/SYS/KERNEL.S.PWDX.txt index 1e2f2d61..934d6c36 100644 --- a/SYS/KERNEL.S.PWDX.txt +++ b/SYS/KERNEL.S.PWDX.txt @@ -137,14 +137,16 @@ PWDX.PutPW.1 jsr K.GetmemPtr jsr SHARED.TXTPTR.GetY bne .12 + jsr PWD.FindRecord + bcs .99 jmp PWD.DeleteRecord *-------------------------------------- .12 jsr PWD.FindRecord bcs .11 - lda #E.DUPUSR user already exits. - sec - rts + jsr PWD.DeleteRecord + bcs .99 + bra .13 *-------------------------------------- .11 jsr PWD.GetUID new user, get UID bcs .99 @@ -154,7 +156,7 @@ PWDX.PutPW.1 jsr K.GetmemPtr sta (TXTPTR),y sta SETWRITEAUX - jsr PWD.GetRecordLen +.13 jsr PWD.GetRecordLen clc adc PWD.UsrDBSize @@ -388,9 +390,6 @@ PWD.GetUID lda PWD.hUsrDB rts *-------------------------------------- PWD.DeleteRecord - jsr PWD.FindRecord - bcs .9 - .1 iny lda (ZPPtr3),y cmp #C.CR