From ca88602a6181d43f5fad42ba24a58496df5b3be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 25 Apr 2019 17:33:56 +0200 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/USERADD.S.txt | 26 +++++---- SYS/KERNEL.S.CORE.txt | 33 ++++++----- SYS/KERNEL.S.PWDX.txt | 115 +++++++++++++++++---------------------- 4 files changed, 81 insertions(+), 93 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 2b2a38bd4b6c09807f92d1863e3ca6409f0486ae..7a2ad7e03599f679e1f5a1604cd3ae36afb50cb4 100644 GIT binary patch delta 414614 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 z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa u0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_0D=E+0$Y<3*8e}n%W#nZ delta 278507 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 S.PW bcs .9 jsr CS.RUN.MkDir - bcs .99 +* bcs .99 >LDYA pData >SYSCALL putpw + bcs .99 + + lda #0 sec rts @@ -268,16 +272,16 @@ CS.RUN.CheckArg inc ArgIndex lda pData clc adc #S.PW.DIR+11 - sta ZPPWPtr + sta ZPTmpPtr lda pData+1 adc /S.PW.DIR+11 - sta ZPPWPtr+1 + sta ZPTmpPtr+1 ldy #0 .5 lda (ZPStrPtr),y sta (pData),y - sta (ZPPWPtr),y + sta (ZPTmpPtr),y beq .6 iny cpy #16 @@ -285,13 +289,13 @@ CS.RUN.CheckArg inc ArgIndex bra CS.RUN.CheckArg.9 .6 lda #'/' - sta (ZPPWPtr),y - + sta (ZPTmpPtr),y + >PUSHW ZPPWPtr lda ArgIndex sta ArgUsername >SYSCALL ArgV - + >SYSCALL GetPWName bcc .9 @@ -354,22 +358,22 @@ CS.RUN.CheckArg.Next * clc txa adc pData - sta ZPPWPtr + sta ZPTmpPtr lda pData+1 adc #0 - sta ZPPWPtr+1 + sta ZPTmpPtr+1 ldy #$ff .1 iny lda (ZPStrPtr),y - sta (ZPPWPtr),y + sta (ZPTmpPtr),y beq .8 cpy #64 bne .1 lda #0 - sta (ZPPWPtr),y + sta (ZPTmpPtr),y .8 jmp CS.RUN.CheckArg *-------------------------------------- diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 2c55daff..6aaf625d 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -112,7 +112,22 @@ CORE.Events jsr CORE.GetEvents bcs .8 sta KBDSTROBE - jsr CORE.ScrSel + and #$0F + tax + lda A2osX.SCRNDEVS,x Get DevID + beq .8 No device claimed this screen + + cmp A2osX.ASCREEN Same as active screen...nothing to do + beq .8 + + pha + + >PUSHWI 0 Param + >PUSHBI IOCTL.CONTROL request + pla + + jsr K.IOCTL + .8 jmp CORE.Run *-------------------------------------- CORE.UpdateParentPS @@ -342,22 +357,6 @@ CORE.GetPS.RTS rts *.2 .AZ "!Evt:F=%b,Dev=$%h,LO=$%h,HI=$%h,W1=$%H,W2=$%H\n" *-------------------------------------- -CORE.ScrSel and #$0F - tax - lda A2osX.SCRNDEVS,x Get DevID - beq CORE.GetPS.RTS No device claimed this screen - - cmp A2osX.ASCREEN Same as active screen...nothing to do - beq CORE.GetPS.RTS - - pha - - >PUSHWI 0 Param - >PUSHBI IOCTL.CONTROL request - pla - - jmp K.IOCTL -*-------------------------------------- CORE.DestroyEvent lda (pEvent) beq .9 diff --git a/SYS/KERNEL.S.PWDX.txt b/SYS/KERNEL.S.PWDX.txt index 7afe1dc9..3e080be3 100644 --- a/SYS/KERNEL.S.PWDX.txt +++ b/SYS/KERNEL.S.PWDX.txt @@ -20,35 +20,25 @@ PWD.GetPWUID lda PWD.hDB >STYA ZPPtr3 .1 lda (ZPPtr3) - beq .99 + beq .99 EOF ldy #0 .2 lda (ZPPtr3),y iny cmp #':' - bne .2 + bne .2 skip USERNAME .3 lda (ZPPtr3),y iny cmp #':' - bne .3 + bne .3 skip PASSWORD - jsr PWD.GetByte + jsr PWD.GetByte get UID cmp ZPPtr1+1 beq .8 -.4 iny - lda (ZPPtr3),y - cmp #C.CR - bne .4 - - tya - sec - adc ZPPtr3 - sta ZPPtr3 - bcc .1 - inc ZPPtr3+1 + jsr PWD.NextLine bra .1 .8 jmp PWD.Record2PW @@ -86,17 +76,7 @@ PWD.GetPWName lda PWD.hDB cmp (ZPPtr3),y beq .2 -.3 iny - lda (ZPPtr3),y - cmp #C.CR - bne .3 - - tya - sec - adc ZPPtr3 - sta ZPPtr3 - bcc .1 - inc ZPPtr3+1 +.3 jsr PWD.NextLine bra .1 .4 lda (ZPPtr3),y @@ -111,6 +91,7 @@ PWD.GetPWName lda PWD.hDB .99 lda #E.IUSR sec +PWD.GetPWName.RTS rts *-------------------------------------- PWD.PutPW >LDYA ZPPtr2 @@ -121,16 +102,30 @@ PWD.PutPW >LDYA ZPPtr2 ldy #S.PW.UID jsr MEM.TXTPTR.GetY - bne .9 Must be ROOT user + bne PWD.GetPWName.RTS Must be ROOT user - jmp PWD.InitDB + jsr PWD.GetRecordLen + tay + lda #0 + >STYA PWD.DBSize + + jsr K.getmem + bcs .99 + >STYA ZPPtr3 + >STYA PWD.DBPtr + stx PWD.hDB + + bra .8 .1 jsr K.GetmemPtr >STYA PWD.DBPtr - - jsr PWD.DeleteRecord - jsr PWD.GetRecordLen + jsr PWD.DeleteRecord + bcc .11 user exits.. + + jsr PWD.SetUID new user, setup UID + +.11 jsr PWD.GetRecordLen clc adc PWD.DBSize @@ -171,37 +166,25 @@ PWD.PutPW >LDYA ZPPtr2 .5 lda PWD.hDB stx PWD.hDB jsr K.Freemem - - - jsr PWD.StoreRecord + +.8 jsr PWD.StoreRecord inc PWD.bDirty clc - rts +.99 rts .9 lda #E.IPWDDB sec -.99 rts -*-------------------------------------- -PWD.InitDB jsr PWD.GetRecordLen - tay - lda #0 - >STYA PWD.DBSize - - jsr K.getmem - bcs .9 - >STYA ZPPtr3 - >STYA PWD.DBPtr - stx PWD.hDB - - jsr PWD.StoreRecord - - inc PWD.bDirty - clc -.9 rts + rts *-------------------------------------- * ZPPtr2 = pPW *-------------------------------------- +PWD.SetUID >LDYA PWD.DBPtr + >STYA ZPPtr3 + + clc + rts +*-------------------------------------- PWD.DeleteRecord jsr PWD.FindRecord bcs .9 @@ -256,21 +239,10 @@ PWD.FindRecord >LDYA PWD.DBPtr beq .3 bra .5 - .4 lda (ZPPtr3),y beq .8 -.5 iny - lda (ZPPtr3),y - cmp #C.CR - bne .5 - - tya - sec - adc ZPPtr3 - sta ZPPtr3 - bcc .2 - inc ZPPtr3+1 +.5 jsr PWD.NextLine bra .2 .8 clc @@ -279,6 +251,19 @@ PWD.FindRecord >LDYA PWD.DBPtr .9 sec rts *-------------------------------------- +PWD.NextLine iny + lda (ZPPtr3),y + cmp #C.CR + bne PWD.NextLine + + tya + sec + adc ZPPtr3 + sta ZPPtr3 + bcc .8 + inc ZPPtr3+1 +.8 rts +*-------------------------------------- PWD.Record2PW sta CLRWRITEAUX ldy #0