mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-22 12:29:21 +00:00
Kernel 0.93
This commit is contained in:
parent
18b9e2798c
commit
26b0b2492a
Binary file not shown.
@ -194,9 +194,10 @@ CS.RUN.DUMP >LIBCALL hLIBETALK,LIBETALK.AARP.GETCACHE
|
||||
>PUSHBI 12
|
||||
>LDYA L.MSG1
|
||||
phx
|
||||
>SYSCALL printf
|
||||
plx
|
||||
>DEBUG
|
||||
>SYSCALL printf
|
||||
>DEBUG
|
||||
plx
|
||||
|
||||
.4 lda ZPPTR1
|
||||
clc
|
||||
|
@ -80,6 +80,7 @@ L.MSG.PROBE .DA MSG.PROBE
|
||||
L.MSG.PROBE.KO .DA MSG.PROBE.KO
|
||||
L.MSG.PROBE.OK .DA MSG.PROBE.OK
|
||||
L.AARP.PRB .DA AARP.PRB
|
||||
L.DDP.GetNetInfo .DA DDP.GetNetInfo
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBETALK
|
||||
@ -306,9 +307,18 @@ CS.RUN.PROBE >PUSHBI 0
|
||||
>SLEEP
|
||||
|
||||
>DEC.G PROBE.CNT
|
||||
bne .3
|
||||
* bne .3
|
||||
|
||||
>LDYA L.MSG.PROBE
|
||||
>LDYA L.DDP.GetNetInfo
|
||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
||||
>LDYAI DDP.GetNetInfo.LEN
|
||||
>STYA IOCTL+S.IOCTL.BYTECNT
|
||||
>PUSHW L.IOCTL
|
||||
>PUSHBI IOCTL.WRITE
|
||||
lda ETKCFG+S.NETCFG.DevID
|
||||
>SYSCALL IOCTL
|
||||
|
||||
>LDYA L.MSG.PROBE.OK
|
||||
>SYSCALL puts
|
||||
|
||||
clc
|
||||
@ -517,6 +527,30 @@ AARP.PRB.THA .BS 6
|
||||
AARP.PRB.TPA .BS 4
|
||||
.BS AARP.PRB+60-*
|
||||
AARP.PRB.LEN .EQ 60
|
||||
*--------------------------------------
|
||||
DDP.GetNetInfo .HS 090007FFFFFF S.ETH.DSTMAC
|
||||
.BS 6
|
||||
.DA #0,#36
|
||||
.HS AA
|
||||
.HS AA
|
||||
.HS 03
|
||||
.HS 08.00.07.80.9B
|
||||
.DA #0,#6 S.DDP2.DATALEN
|
||||
.DA 0 S.DDP2.CHECKSUM
|
||||
.DA $FF00
|
||||
.DA $1234
|
||||
.DA #$FF
|
||||
.DA #$FF
|
||||
.DA #6 S.DDP2.DST.SKT
|
||||
.DA #0
|
||||
.DA #6 S.DDP2.TYPE
|
||||
*--------------------------------------
|
||||
.DA #5 ZIP.GetNetInfoReg
|
||||
.HS 00.00.00.00
|
||||
.HS 00 Zone Len
|
||||
.BS DDP.GetNetInfo+60-*
|
||||
DDP.GetNetInfo.LEN .EQ 60
|
||||
*--------------------------------------
|
||||
IOCTL .BS S.IOCTL
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
@ -547,10 +547,8 @@ CMD.FUNC lda (ZPArgVBufPtr)
|
||||
|
||||
.1 >PUSHW ZPArgVBufPtr
|
||||
>LDA.G hFuncList
|
||||
|
||||
>SYSCALL SListNewKey
|
||||
bcs .99
|
||||
|
||||
phy
|
||||
jsr CORE.StkPush
|
||||
ply
|
||||
|
@ -109,7 +109,7 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
||||
.2 >LDA.G bFuncMode
|
||||
bpl .13
|
||||
|
||||
jmp CORE.Run.Func skip line
|
||||
jmp CORE.AddFunc
|
||||
|
||||
.13 jsr CORE.GetCharNB
|
||||
cmp #'.'
|
||||
@ -134,14 +134,12 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
||||
>LDA.G hFuncList
|
||||
beq .40
|
||||
|
||||
>PUSHYA ZPInputBufPtr
|
||||
>PUSHW ZPInputBufPtr
|
||||
>LDA.G hFuncList
|
||||
>DEBUG
|
||||
>SYSCALL SListLookup
|
||||
bcs .40
|
||||
|
||||
|
||||
jmp .43
|
||||
jmp CORE.ExecFunc
|
||||
|
||||
.40 jsr CORE.ArgV.Add external cmd, go check context
|
||||
bra .42
|
||||
@ -262,7 +260,7 @@ CORE.ExecExtCmd.Exit
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CORE.Run.Func ldy #$ff
|
||||
CORE.AddFunc ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (ZPInputBufPtr),y
|
||||
@ -300,12 +298,14 @@ CORE.Run.Func ldy #$ff
|
||||
cmp #C.CR
|
||||
bne .9
|
||||
|
||||
.7 jsr CORE.SkipLine
|
||||
|
||||
lda #0
|
||||
.7 lda #0
|
||||
>STA.G bFuncMode
|
||||
|
||||
jsr .8 add "END"
|
||||
bcs .9
|
||||
|
||||
jmp CMD.END.FUNC Cleanup Stk
|
||||
|
||||
.9 jmp CORE.Run.SYN
|
||||
|
||||
.8 ldy #0
|
||||
@ -322,7 +322,6 @@ CORE.Run.Func ldy #$ff
|
||||
|
||||
lda (pData)
|
||||
tay
|
||||
|
||||
dey skip C.FUNC
|
||||
lda (pData),y KeyID
|
||||
>PUSHA
|
||||
@ -343,6 +342,30 @@ CORE.SkipLine jsr CORE.GetNextCharNB
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CORE.ExecFunc >STYA TmpWord KeyID
|
||||
|
||||
jsr CORE.SkipLine
|
||||
|
||||
>PUSHWI 0 From Start
|
||||
>PUSHWI 0 TextMode
|
||||
>PUSHWI 0 Allocate..
|
||||
>PUSHW TmpWord KeyID
|
||||
>LDA.G hFuncList
|
||||
>DEBUG
|
||||
>SYSCALL SListGetData
|
||||
bcs .9
|
||||
txa
|
||||
pha
|
||||
>SYSCALL GetMemPtr
|
||||
>SYSCALL puts
|
||||
|
||||
>DEBUG
|
||||
pla
|
||||
>SYSCALL freemem
|
||||
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* search ZPInputBufPtr/ZPArgVBufPtr in Y,A table
|
||||
*--------------------------------------
|
||||
CORE.LookupInputBuf
|
||||
|
@ -2,7 +2,7 @@ NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
K.VER .EQ $5C00 92.0
|
||||
K.VER .EQ $5D00 93.0
|
||||
K.ENV.SIZE .EQ 256
|
||||
K.PIPE.SIZE .EQ 256
|
||||
*--------------------------------------
|
||||
|
72
SYS/KERNEL.S.FIFO.txt
Normal file
72
SYS/KERNEL.S.FIFO.txt
Normal file
@ -0,0 +1,72 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*/--------------------------------------
|
||||
* # NewFIFO
|
||||
* ## C
|
||||
* `int getpwuid(short int uid, S.PW* passwd );`
|
||||
* ## ASM
|
||||
* `>PUSHW passwd`
|
||||
* `>LDYA size`
|
||||
* `>SYSCALL getpwuid`
|
||||
* ## RETURN VALUE
|
||||
* A = hFIFO
|
||||
*\--------------------------------------
|
||||
FIFO.New
|
||||
*/--------------------------------------
|
||||
* # GetPWName
|
||||
* ## C
|
||||
* `int getpwname(const char* name, S.PW* passwd );`
|
||||
* ## ASM
|
||||
* `>PUSHW passwd`
|
||||
* `>LDYA name`
|
||||
* `>SYSCALL getpwname`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
FIFO.Free
|
||||
*/--------------------------------------
|
||||
* # PutPW
|
||||
* ## C
|
||||
* `int putpw( S.PW* passwd );`
|
||||
* ## ASM
|
||||
* `>LDYA passwd`
|
||||
* `>SYSCALL putpw`
|
||||
* ## RETURN VALUE
|
||||
|
||||
*\--------------------------------------
|
||||
FIFO.Get
|
||||
*/--------------------------------------
|
||||
* # PutPW
|
||||
* ## C
|
||||
* `int putpw( S.PW* passwd );`
|
||||
* ## ASM
|
||||
* `>LDYA passwd`
|
||||
* `>SYSCALL putpw`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
FIFO.Put
|
||||
*/--------------------------------------
|
||||
* # PutPW
|
||||
* ## C
|
||||
* `int putpw( S.PW* passwd );`
|
||||
* ## ASM
|
||||
* `>LDYA passwd`
|
||||
* `>SYSCALL putpw`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
FIFO.GetUsed
|
||||
*/--------------------------------------
|
||||
* # PutPW
|
||||
* ## C
|
||||
* `int putpw( S.PW* passwd );`
|
||||
* ## ASM
|
||||
* `>LDYA passwd`
|
||||
* `>SYSCALL putpw`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
FIFO.GetFree
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.FIFO
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
ASM
|
@ -381,7 +381,6 @@ MEM.GetMemByID sta ZPMemMgrSPtr
|
||||
rts
|
||||
*--------------------------------------
|
||||
ZPSListKeyID .EQ ZPMEMMGR+6
|
||||
ZPSListKeyPtr .EQ ZPMEMMGR+8
|
||||
ZPSListDataPtr .EQ ZPMEMMGR+8
|
||||
ZPSListDataLen .EQ ZPMEMMGR+10
|
||||
ZPSListIBlkPtr .EQ ZPMEMMGR+12
|
||||
@ -397,10 +396,16 @@ ZPSListDBlkPtr .EQ ZPMEMMGR+14
|
||||
* `>SYSCALL SListGetData`
|
||||
* ## RETURN VALUE
|
||||
* Y,A = Byte Count
|
||||
* X = hMem (if DataPtr = 0)
|
||||
*\--------------------------------------
|
||||
K.SListGetData pha
|
||||
>PULLW ZPSListKeyID
|
||||
>PULLW ZPSListDataPtr
|
||||
>PULLW ZPSListDataLen
|
||||
>PULLW ZPMemMgrSize
|
||||
pla
|
||||
bra K.SListFree
|
||||
pla
|
||||
*/--------------------------------------
|
||||
* # SListAddData
|
||||
* ## ASM
|
||||
@ -411,7 +416,7 @@ K.SListGetData pha
|
||||
* `>SYSCALL SListAddData`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.SListAddData
|
||||
K.SListAddData
|
||||
*/--------------------------------------
|
||||
* # SListSetData
|
||||
* ## ASM
|
||||
@ -423,8 +428,11 @@ K.SListAddData
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.SListSetData pha
|
||||
>PULLW ZPSListKeyID
|
||||
>PULLW ZPSListDataPtr
|
||||
>PULLW ZPSListDataLen
|
||||
pla
|
||||
bra K.SListFree
|
||||
*/--------------------------------------
|
||||
* # SListGetByID
|
||||
* ## ASM
|
||||
@ -436,8 +444,8 @@ K.SListSetData pha
|
||||
* Y,A = Next KeyID
|
||||
*\--------------------------------------
|
||||
K.SListGetByID pha
|
||||
>PULLW ZPSListKeyPtr
|
||||
>PULLW ZPSListKeyID
|
||||
>PULLW ZPSListDataPtr
|
||||
pla
|
||||
bra K.SListFree
|
||||
*/--------------------------------------
|
||||
@ -462,7 +470,7 @@ K.SListNewKey
|
||||
* X = Key Length
|
||||
*\--------------------------------------
|
||||
K.SListLookup pha
|
||||
>PULLW ZPSListKeyPtr
|
||||
>PULLW ZPSListDataPtr
|
||||
pla
|
||||
*/--------------------------------------
|
||||
* # SListNew
|
||||
@ -604,6 +612,13 @@ K.GetStkObjData sta SETREADAUX
|
||||
*--------------------------------------
|
||||
* in Y,A = buf size
|
||||
*--------------------------------------
|
||||
MEM.GetMainBuf sta CLRREADAUX
|
||||
sta CLRWRITEAUX
|
||||
jsr K.GetMem
|
||||
sta SETREADAUX
|
||||
sta SETWRITEAUX
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.GetKrnlBuf pha
|
||||
tya
|
||||
clc
|
||||
@ -634,7 +649,7 @@ MEM.GetKrnlBuf pha
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.GetKeyCharY sta CLRREADAUX
|
||||
lda (ZPSListKeyPtr),y
|
||||
lda (ZPSListDataPtr),y
|
||||
sta SETREADAUX
|
||||
beq MEM.IsDigit.9
|
||||
|
||||
@ -689,7 +704,7 @@ MEM.IsHexDigit jsr MEM.IsDigit
|
||||
rts
|
||||
*--------------------------------------
|
||||
MEM.SetKeyCharY sta CLRWRITEAUX
|
||||
sta (ZPSListKeyPtr),y
|
||||
sta (ZPSListDataPtr),y
|
||||
sta SETWRITEAUX
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -17,17 +17,31 @@ SLIST.GetData jsr SLIST.Select
|
||||
|
||||
jsr SLIST.GetDataLen
|
||||
|
||||
lda ZPMemMgrSize Get Offset
|
||||
lda ZPSListDataPtr
|
||||
ora ZPSListDataPtr+1
|
||||
bne .10
|
||||
|
||||
>LDYA SLIST.DataLen
|
||||
>STYA ZPSListDataLen
|
||||
jsr MEM.GetMainBuf
|
||||
bcs .9
|
||||
stx .82+1
|
||||
>STYA ZPSListDataPtr
|
||||
bra .12
|
||||
|
||||
.10 lda ZPMemMgrSize Get Offset
|
||||
cmp SLIST.DataLen
|
||||
lda ZPMemMgrSize+1
|
||||
sbc SLIST.DataLen+1
|
||||
bcs .99
|
||||
|
||||
lda ZPMemMgrSize
|
||||
bcc .11
|
||||
lda #E.NODATA
|
||||
.9 rts
|
||||
|
||||
.11 lda ZPMemMgrSize
|
||||
ldx ZPMemMgrSize+1
|
||||
jsr SLIST.SkipDataAX
|
||||
|
||||
lda SLIST.DataLen
|
||||
.12 lda SLIST.DataLen
|
||||
sec
|
||||
sbc ZPMemMgrSize
|
||||
eor #$ff
|
||||
@ -39,7 +53,7 @@ SLIST.GetData jsr SLIST.Select
|
||||
|
||||
lda ZPSListDataLen
|
||||
ora ZPSListDataLen
|
||||
clc
|
||||
sec
|
||||
beq .1 String Mode
|
||||
|
||||
lda ZPSListDataLen
|
||||
@ -48,7 +62,7 @@ SLIST.GetData jsr SLIST.Select
|
||||
lda ZPSListDataLen+1
|
||||
eor #$ff
|
||||
sta SLIST.nBufCnt+1
|
||||
sec
|
||||
clc
|
||||
|
||||
.1 ror SLIST.bStringMode
|
||||
|
||||
@ -70,25 +84,37 @@ SLIST.GetData jsr SLIST.Select
|
||||
bpl .5
|
||||
|
||||
cmp #C.CR
|
||||
beq .8
|
||||
beq .7
|
||||
|
||||
.5 jsr MEM.SetDataByte
|
||||
inc ZPSListDataLen
|
||||
bne .2
|
||||
inc ZPSListDataLen+1
|
||||
bra .2
|
||||
|
||||
.8 >LDYA ZPSListDataLen
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.99 lda #E.NODATA
|
||||
sec
|
||||
rts
|
||||
|
||||
.7 jsr SLIST.GetNextByte
|
||||
|
||||
.8 bit SLIST.bStringMode
|
||||
bpl .81
|
||||
|
||||
lda #0
|
||||
jsr MEM.SetDataByte
|
||||
inc ZPSListDataLen
|
||||
bne .81
|
||||
inc ZPSListDataLen+1
|
||||
|
||||
.81 >LDYA ZPSListDataLen
|
||||
.82 ldx #$ff SELF MODIFIED
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.AddData jsr SLIST.Select
|
||||
jsr SLIST.SkipKey
|
||||
|
||||
|
||||
>LDYA SLIST.KeyID Save DataLen location
|
||||
>STYA ZPSListKeyID to update later
|
||||
|
||||
@ -119,10 +145,11 @@ SLIST.AddData jsr SLIST.Select
|
||||
.2 jsr MEM.GetDataByte
|
||||
|
||||
jsr SLIST.AddBlockByte
|
||||
bcc .9
|
||||
bcc .1
|
||||
rts
|
||||
|
||||
.8 jsr SLIST.Select go back to DataLen Location
|
||||
.8 jsr SLIST.Select.I go back to DataLen Location
|
||||
|
||||
lda SLIST.DataLen
|
||||
jsr SLIST.SetBlockByte
|
||||
lda SLIST.DataLen+1
|
||||
@ -175,9 +202,6 @@ SLIST.GetByID jsr SLIST.Select
|
||||
SLIST.NewKey jsr SLIST.Search
|
||||
bcc .99
|
||||
|
||||
>LDYA SLIST.KeyID Not Found...
|
||||
>STYA ZPSListKeyID save new KeyID
|
||||
|
||||
lda SLIST.KeyLen
|
||||
jsr SLIST.AddBlockByte
|
||||
bcs .9
|
||||
@ -210,7 +234,7 @@ SLIST.NewKey jsr SLIST.Search
|
||||
SLIST.Lookup jsr SLIST.Search
|
||||
bcs .9
|
||||
|
||||
>LDYA SLIST.KeyID
|
||||
>LDYA ZPSListKeyID
|
||||
ldx SLIST.KeyLen
|
||||
|
||||
.9 rts
|
||||
@ -252,7 +276,7 @@ SLIST.Free sta .8+1
|
||||
SLIST.Select jsr K.GetMemPtr
|
||||
>STYA ZPSListIBlkPtr
|
||||
|
||||
ldy ZPSListKeyID+1
|
||||
SLIST.Select.I ldy ZPSListKeyID+1
|
||||
sty SLIST.BlockPtr
|
||||
|
||||
lda (ZPSListIBlkPtr),y
|
||||
@ -267,14 +291,12 @@ SLIST.Search jsr K.GetMemPtr
|
||||
>STYA ZPSListIBlkPtr
|
||||
|
||||
stz SLIST.BlockPtr
|
||||
stz ZPSListKeyID+1
|
||||
|
||||
lda (ZPSListIBlkPtr)
|
||||
jsr K.GetMemPtr
|
||||
>STYA ZPSListDBlkPtr
|
||||
|
||||
stz SLIST.BytePtr
|
||||
stz ZPSListKeyID
|
||||
|
||||
ldy #$ff
|
||||
|
||||
@ -284,16 +306,26 @@ SLIST.Search jsr K.GetMemPtr
|
||||
|
||||
sty SLIST.KeyLen
|
||||
|
||||
jsr SLIST.GetBlockByte
|
||||
ldy SLIST.BlockPtr
|
||||
lda (ZPSListDBlkPtr),y
|
||||
beq .9
|
||||
|
||||
.2 cmp SLIST.KeyLen
|
||||
.2 >LDYA SLIST.KeyID
|
||||
>STYA ZPSListKeyID
|
||||
|
||||
ldy SLIST.BlockPtr
|
||||
lda (ZPSListDBlkPtr),y
|
||||
cmp SLIST.KeyLen
|
||||
bne .5
|
||||
|
||||
jsr SLIST.GetNextByte Skip Len
|
||||
|
||||
ldy #0
|
||||
|
||||
.3 jsr SLIST.GetNextBlockByte
|
||||
.3 phy
|
||||
jsr SLIST.GetNextByte
|
||||
sta .4+1
|
||||
ply
|
||||
jsr MEM.GetKeyCharY
|
||||
.4 cmp #$ff SELF MODIFIED
|
||||
bne .5
|
||||
@ -307,8 +339,7 @@ SLIST.Search jsr K.GetMemPtr
|
||||
|
||||
.5 jsr SLIST.Next
|
||||
|
||||
jsr SLIST.GetBlockByte
|
||||
bne .2
|
||||
bra .2
|
||||
|
||||
.9 lda #E.NOKEY
|
||||
sec
|
||||
@ -328,6 +359,8 @@ SLIST.SkipDataAX
|
||||
txa
|
||||
adc SLIST.BlockPtr
|
||||
sta SLIST.BlockPtr
|
||||
tay
|
||||
lda (ZPSListIBlkPtr),y
|
||||
jsr K.GetMemPtr
|
||||
>STYA ZPSListDBlkPtr
|
||||
|
||||
@ -434,22 +467,21 @@ SLIST.AddBlockByte
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.SetBlockByte
|
||||
ldy SLIST.BlockPtr
|
||||
ldy SLIST.BytePtr
|
||||
sta (ZPSListDBlkPtr),y
|
||||
inc SLIST.BlockPtr
|
||||
inc SLIST.BytePtr
|
||||
bne .8
|
||||
|
||||
inc SLIST.BytePtr
|
||||
inc SLIST.BlockPtr
|
||||
|
||||
ldy SLIST.BytePtr
|
||||
ldy SLIST.BlockPtr
|
||||
lda (ZPSListIBlkPtr),y
|
||||
|
||||
jsr K.GetMemPtr
|
||||
>STYA ZPSListDBlkPtr
|
||||
* stz SLIST.BlockPtr
|
||||
|
||||
.8 ply
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
SLIST.KeyLen .BS 1
|
||||
SLIST.DataLen .BS 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user