Kernel 0.92

This commit is contained in:
Rémy GIBERT 2019-01-29 16:42:06 +00:00
parent cf6378bce4
commit d87e6df5f0
3 changed files with 73 additions and 39 deletions

View File

@ -28,18 +28,23 @@ ZPOpDefPtr .EQ ZPBIN+24
ZPTmpBuf .EQ ZPBIN+16
*---------------------------------------
SYMG.LEN .EQ 0
* Symbols
*---------------------------------------
SYM.F.PENDING .EQ %10000000
SYM.F.RW .EQ %01000000
*---------------------------------------
SYMG.TYPE .EQ 0 1,2,3,4
SYMG.TYPE.S .EQ $ff String
SYMG.F .EQ 1
SYMG.F.RW .EQ %10000000
SYMG.F.SIZE .EQ %00000111
SYMG.V .EQ 2
*
SYMG.SIZE .EQ 5
SYMG.SIZE .EQ 6 DWORD
*---------------------------------------
SYML.ID .EQ 0
SYML.V .EQ 1
SYML.ID .EQ 0 1..255
SYML.F .EQ 1
SYML.V .EQ 2 DWORD
*
SYML.SIZE .EQ 5
SYML.SIZE .EQ 6
*---------------------------------------
MCTX.LEN .EQ 0
MCTX.PTR .EQ 1

View File

@ -143,7 +143,7 @@ K.SYSCALL.JMP .DA 0 $00
.DA K.GetMem
.DA K.GetMem0
.DA K.GetMemStat
.DA K.SListAdd
.DA K.SListAddKey
*--------------------------------------
.DA K.SListLookup $F0
.DA K.SListGetByID

View File

@ -461,61 +461,90 @@ K.GetMemStat >STYA ZPMemMgrTmp1
bpl .3
rts
*/--------------------------------------
* # SListGetByID
* PUSHB = hSList
* PUSHW = KeyID
* PUSHW = Data Ptr
* PUSHW = Key Ptr
* # SListAddData
* ## ASM
* `PUSHB Data`
* `PUSHW DataID`
* `lda hSList`
* `>SYSCALL SListAddData`
* ## RETURN VALUE
* X,Y = Next KeyID
* Y,A = Next DataID
*\--------------------------------------
K.SListGetByID >PULLW ZPSListKeyPtr
*/--------------------------------------
* # SListUpdateByID
* PUSHB = hSList
* PUSHW = KeyID
* PUSHW = Data Ptr
* # SListGetData
* ## ASM
* `PUSHB Data`
* `PUSHW DataID`
* `lda hSList`
* `>SYSCALL SListGetData`
* ## RETURN VALUE
* A = Key Length
* X,Y = KeyID
* Y,A = Next DataID
*\--------------------------------------
K.SListUpdateByID
>PULLW ZPSListDataPtr
*/--------------------------------------
* # SListSetData
* ## ASM
* `PUSHB Data`
* `PUSHW DataID`
* `lda hSList`
* `>SYSCALL SListSetData`
* ## RETURN VALUE
* Y,A = Next DataID
*\--------------------------------------
SListAddData
SListGetData
SListSetData pha
>PULLW ZPSListID
bra K.SListPullH
*/--------------------------------------
* # SListAdd
* PUSHB = hSList
* PUSHW = Key Ptr
* PUSHW = Data Ptr
* # SListGetByID
* ## ASM
* `PUSHW KeyPtr`
* `PUSHW KeyID`
* `lda hSList`
* `>SYSCALL SListGetByID`
* ## RETURN VALUE
* Y,A = Next KeyID
*\--------------------------------------
K.SListGetByID pha
>PULLW ZPSListID
>PULLW ZPSListKeyPtr
bra K.SListPullA
*/--------------------------------------
* # SListAddKey
* ## ASM
* `PUSHW KeyPtr`
* `lda hSList`
* `>SYSCALL SListAddKey`
* ## RETURN VALUE
* A = Key Length
* X,Y = KeyID
*\--------------------------------------
K.SListAdd
K.SListAddKey
*/--------------------------------------
* # SListLookup
* PUSHB = hSList
* PUSHW = Key Ptr
* PUSHW = Data Ptr
* ## ASM
* `PUSHW KeyPtr`
* `lda hSList`
* `>SYSCALL SListLookup`
* ## RETURN VALUE
* A = Key Length
* X,Y = KeyID
* Y,A = KeyID
*\--------------------------------------
K.SListLookup
K.SListLookup pha
*--------------------------------------
>PULLW ZPSListDataPtr
>PULLW ZPSListKeyPtr
K.SListPullH >PULLA
K.SListPullA pla
*/--------------------------------------
* # SListNew
* ## ASM
* `>SYSCALL SListNew`
* ## RETURN VALUE
* A=hSList
* A=hSList
*\--------------------------------------
K.SListNew
*/--------------------------------------
* # SListFree
* A=hSList
* ## ASM
* `lda hSList`
* `>SYSCALL SListFree`
* ## RETURN VALUE
*\--------------------------------------
K.SListFree