diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c964a5f9..868995af 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/WHO.S.txt b/BIN/WHO.S.txt index 40f1679b..6e24bfd5 100644 --- a/BIN/WHO.S.txt +++ b/BIN/WHO.S.txt @@ -59,6 +59,10 @@ CS.RUN >LDYA L.MSG0 >PUSHW L.MSG1 format >PUSHB SessionID 1 byte SID + ldx SessionID + lda S.Table.hSession-1,x + >PUSHA 1 byte hSession + >PUSHB (ZPSessionPtr) 1 byte PRIVILEGE ldy #S.SESSION.UID @@ -81,7 +85,7 @@ CS.RUN >LDYA L.MSG0 jsr CS.RUN.GETIO >PUSHYA 2 bytes DEV - >PUSHBI 8 total = 8 ... bytes + >PUSHBI 9 total = 9 ... bytes >SYSCALL printf2 bcs .9 @@ -122,8 +126,8 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 .AZ "SID Privilege UID GID Name Dev" -MSG1 .AZ "%3d %b %3d %3d %16s %s\r\n" +MSG0 .AZ "SID hSD Privilege UID GID Name Dev" +MSG1 .AZ "%3d $%0h %b %3d %3d %16s %s\r\n" *-------------------------------------- .DUMMY .OR 0 diff --git a/SBIN/LOGIN.S.txt b/SBIN/LOGIN.S.txt index b70f8262..a4c74fbb 100644 --- a/SBIN/LOGIN.S.txt +++ b/SBIN/LOGIN.S.txt @@ -13,8 +13,6 @@ NEW .DUMMY .OR ZPBIN ZS.START -ZPUsrID .BS 1 - ZPhBuf .BS 1 ZPBufPtr .BS 2 @@ -32,7 +30,9 @@ ZPGetLineMax .BS 1 ZPhPW .BS 1 ZPPWPtr .BS 2 -ZPhSID .BS 1 +hSession .BS 1 +ZPNewSID .BS 1 +ZPOldSID .BS 1 ZPhFile .BS 1 ZPStrPtr .BS 2 @@ -92,8 +92,12 @@ CS.RUN >LDYAI 33 Enough for HASH jsr CS.RUN.StrOut bcs .9 - lda #1 - sta ZPhSID + ldy #S.PS.hSID + lda (pPS),y + tax + + lda S.Table.hSession-1,x + sta hSession jmp CS.RUN.EXEC .9 rts @@ -170,7 +174,7 @@ CS.RUN.SetUserSession bcs .9 >STYA ZPStrPtr - stx ZPhSID + stx hSession * clc @@ -241,32 +245,33 @@ CS.RUN.CHECKPWD rol ZPbValidUser CS.RUN.CHECK.9 rts *-------------------------------------- -CS.RUN.EXEC -* ldx #1 +CS.RUN.EXEC ldx #1 -*.1 lda S.Table.hSession-1,x -* beq .2 +.1 lda S.Table.hSession-1,x + beq .2 -* inx -* cpx #K.USR.MAX+1 -* bne .1 + inx + cpx #K.USR.MAX+1 + bne .1 -* lda #E.OOH -** sec -* rts + lda #E.OOH +* sec + rts -*.2 stx ZPUsrID -* txa -* ldy #S.PS.hSID -* sta (pPS),y +.2 stx ZPNewSID + ldy #S.PS.hSID + lda (pPS),y + sta ZPOldSID + + txa + sta (pPS),y -* lda ZPhSID -* ldx ZPUsrID -* sta S.Table.hSession-1,x + lda hSession + sta S.Table.hSession-1,x -* ldy #S.PS.hStdIn -* lda (pPS),y -* sta S.Table.hFILE-1,x + ldy #S.PS.hStdIn + lda (pPS),y + sta S.Table.hFILE-1,x >LDYA L.ETCMOTD jsr CS.RUN.DumpFile @@ -278,12 +283,16 @@ CS.RUN.EXEC bcs .9 >SLEEP -* ldx ZPUsrID -* lda S.Table.hSession-1,x -* stz S.Table.hSession-1,x -* stz S.Table.hFILE-1,x -* >SYSCALL freemem - + ldx ZPNewSID + lda S.Table.hSession-1,x + stz S.Table.hSession-1,x + stz S.Table.hFILE-1,x + >SYSCALL freemem + + ldy #S.PS.hSID + lda ZPOldSID + sta (pPS),y + sec .9 rts *--------------------------------------