mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-21 05:24:15 +00:00
Kernel 0.93
This commit is contained in:
parent
15c88347fe
commit
ca88602a61
Binary file not shown.
@ -26,6 +26,7 @@ ZPStrMax .BS 1
|
|||||||
ArgIndex .BS 1
|
ArgIndex .BS 1
|
||||||
ArgUsername .BS 1
|
ArgUsername .BS 1
|
||||||
ZPStrPtr .BS 2
|
ZPStrPtr .BS 2
|
||||||
|
ZPTmpPtr .BS 2
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
@ -108,10 +109,13 @@ CS.RUN >LDYAI S.PW
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr CS.RUN.MkDir
|
jsr CS.RUN.MkDir
|
||||||
bcs .99
|
* bcs .99
|
||||||
|
|
||||||
>LDYA pData
|
>LDYA pData
|
||||||
>SYSCALL putpw
|
>SYSCALL putpw
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -268,16 +272,16 @@ CS.RUN.CheckArg inc ArgIndex
|
|||||||
lda pData
|
lda pData
|
||||||
clc
|
clc
|
||||||
adc #S.PW.DIR+11
|
adc #S.PW.DIR+11
|
||||||
sta ZPPWPtr
|
sta ZPTmpPtr
|
||||||
lda pData+1
|
lda pData+1
|
||||||
adc /S.PW.DIR+11
|
adc /S.PW.DIR+11
|
||||||
sta ZPPWPtr+1
|
sta ZPTmpPtr+1
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.5 lda (ZPStrPtr),y
|
.5 lda (ZPStrPtr),y
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
sta (ZPPWPtr),y
|
sta (ZPTmpPtr),y
|
||||||
beq .6
|
beq .6
|
||||||
iny
|
iny
|
||||||
cpy #16
|
cpy #16
|
||||||
@ -285,7 +289,7 @@ CS.RUN.CheckArg inc ArgIndex
|
|||||||
bra CS.RUN.CheckArg.9
|
bra CS.RUN.CheckArg.9
|
||||||
|
|
||||||
.6 lda #'/'
|
.6 lda #'/'
|
||||||
sta (ZPPWPtr),y
|
sta (ZPTmpPtr),y
|
||||||
|
|
||||||
>PUSHW ZPPWPtr
|
>PUSHW ZPPWPtr
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
@ -354,22 +358,22 @@ CS.RUN.CheckArg.Next
|
|||||||
* clc
|
* clc
|
||||||
txa
|
txa
|
||||||
adc pData
|
adc pData
|
||||||
sta ZPPWPtr
|
sta ZPTmpPtr
|
||||||
lda pData+1
|
lda pData+1
|
||||||
adc #0
|
adc #0
|
||||||
sta ZPPWPtr+1
|
sta ZPTmpPtr+1
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
lda (ZPStrPtr),y
|
lda (ZPStrPtr),y
|
||||||
sta (ZPPWPtr),y
|
sta (ZPTmpPtr),y
|
||||||
beq .8
|
beq .8
|
||||||
cpy #64
|
cpy #64
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPPWPtr),y
|
sta (ZPTmpPtr),y
|
||||||
|
|
||||||
.8 jmp CS.RUN.CheckArg
|
.8 jmp CS.RUN.CheckArg
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -112,7 +112,22 @@ CORE.Events jsr CORE.GetEvents
|
|||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
sta KBDSTROBE
|
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
|
.8 jmp CORE.Run
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.UpdateParentPS
|
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"
|
*.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
|
CORE.DestroyEvent
|
||||||
lda (pEvent)
|
lda (pEvent)
|
||||||
beq .9
|
beq .9
|
||||||
|
@ -20,35 +20,25 @@ PWD.GetPWUID lda PWD.hDB
|
|||||||
>STYA ZPPtr3
|
>STYA ZPPtr3
|
||||||
|
|
||||||
.1 lda (ZPPtr3)
|
.1 lda (ZPPtr3)
|
||||||
beq .99
|
beq .99 EOF
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 lda (ZPPtr3),y
|
.2 lda (ZPPtr3),y
|
||||||
iny
|
iny
|
||||||
cmp #':'
|
cmp #':'
|
||||||
bne .2
|
bne .2 skip USERNAME
|
||||||
|
|
||||||
.3 lda (ZPPtr3),y
|
.3 lda (ZPPtr3),y
|
||||||
iny
|
iny
|
||||||
cmp #':'
|
cmp #':'
|
||||||
bne .3
|
bne .3 skip PASSWORD
|
||||||
|
|
||||||
jsr PWD.GetByte
|
jsr PWD.GetByte get UID
|
||||||
cmp ZPPtr1+1
|
cmp ZPPtr1+1
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.4 iny
|
jsr PWD.NextLine
|
||||||
lda (ZPPtr3),y
|
|
||||||
cmp #C.CR
|
|
||||||
bne .4
|
|
||||||
|
|
||||||
tya
|
|
||||||
sec
|
|
||||||
adc ZPPtr3
|
|
||||||
sta ZPPtr3
|
|
||||||
bcc .1
|
|
||||||
inc ZPPtr3+1
|
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 jmp PWD.Record2PW
|
.8 jmp PWD.Record2PW
|
||||||
@ -86,17 +76,7 @@ PWD.GetPWName lda PWD.hDB
|
|||||||
cmp (ZPPtr3),y
|
cmp (ZPPtr3),y
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
.3 iny
|
.3 jsr PWD.NextLine
|
||||||
lda (ZPPtr3),y
|
|
||||||
cmp #C.CR
|
|
||||||
bne .3
|
|
||||||
|
|
||||||
tya
|
|
||||||
sec
|
|
||||||
adc ZPPtr3
|
|
||||||
sta ZPPtr3
|
|
||||||
bcc .1
|
|
||||||
inc ZPPtr3+1
|
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.4 lda (ZPPtr3),y
|
.4 lda (ZPPtr3),y
|
||||||
@ -111,6 +91,7 @@ PWD.GetPWName lda PWD.hDB
|
|||||||
|
|
||||||
.99 lda #E.IUSR
|
.99 lda #E.IUSR
|
||||||
sec
|
sec
|
||||||
|
PWD.GetPWName.RTS
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PWD.PutPW >LDYA ZPPtr2
|
PWD.PutPW >LDYA ZPPtr2
|
||||||
@ -121,16 +102,30 @@ PWD.PutPW >LDYA ZPPtr2
|
|||||||
|
|
||||||
ldy #S.PW.UID
|
ldy #S.PW.UID
|
||||||
jsr MEM.TXTPTR.GetY
|
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
|
.1 jsr K.GetmemPtr
|
||||||
>STYA PWD.DBPtr
|
>STYA PWD.DBPtr
|
||||||
|
|
||||||
jsr PWD.DeleteRecord
|
jsr PWD.DeleteRecord
|
||||||
|
bcc .11 user exits..
|
||||||
|
|
||||||
jsr PWD.GetRecordLen
|
jsr PWD.SetUID new user, setup UID
|
||||||
|
|
||||||
|
.11 jsr PWD.GetRecordLen
|
||||||
|
|
||||||
clc
|
clc
|
||||||
adc PWD.DBSize
|
adc PWD.DBSize
|
||||||
@ -172,36 +167,24 @@ PWD.PutPW >LDYA ZPPtr2
|
|||||||
stx PWD.hDB
|
stx PWD.hDB
|
||||||
jsr K.Freemem
|
jsr K.Freemem
|
||||||
|
|
||||||
|
.8 jsr PWD.StoreRecord
|
||||||
jsr PWD.StoreRecord
|
|
||||||
|
|
||||||
inc PWD.bDirty
|
inc PWD.bDirty
|
||||||
clc
|
clc
|
||||||
rts
|
.99 rts
|
||||||
|
|
||||||
.9 lda #E.IPWDDB
|
.9 lda #E.IPWDDB
|
||||||
sec
|
sec
|
||||||
.99 rts
|
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
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* ZPPtr2 = pPW
|
* ZPPtr2 = pPW
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
PWD.SetUID >LDYA PWD.DBPtr
|
||||||
|
>STYA ZPPtr3
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
PWD.DeleteRecord
|
PWD.DeleteRecord
|
||||||
jsr PWD.FindRecord
|
jsr PWD.FindRecord
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -256,21 +239,10 @@ PWD.FindRecord >LDYA PWD.DBPtr
|
|||||||
beq .3
|
beq .3
|
||||||
bra .5
|
bra .5
|
||||||
|
|
||||||
|
|
||||||
.4 lda (ZPPtr3),y
|
.4 lda (ZPPtr3),y
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
.5 iny
|
.5 jsr PWD.NextLine
|
||||||
lda (ZPPtr3),y
|
|
||||||
cmp #C.CR
|
|
||||||
bne .5
|
|
||||||
|
|
||||||
tya
|
|
||||||
sec
|
|
||||||
adc ZPPtr3
|
|
||||||
sta ZPPtr3
|
|
||||||
bcc .2
|
|
||||||
inc ZPPtr3+1
|
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
@ -279,6 +251,19 @@ PWD.FindRecord >LDYA PWD.DBPtr
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
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
|
PWD.Record2PW sta CLRWRITEAUX
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
Loading…
Reference in New Issue
Block a user