Kernel 0.92+

This commit is contained in:
Rémy GIBERT 2019-02-01 20:01:54 +00:00
parent 7abd289f48
commit 80567cfd8d
7 changed files with 95 additions and 71 deletions

View File

@ -61,7 +61,7 @@ X = DevID
# GetDevStatus # GetDevStatus
## C ## C
`int getdevstatus(short int hFD, S.DIB* dstat);` `int getdevstatus(short int hDEV, S.DIB* dstat);`
## ASM ## ASM
`>PUSHWI S.DIB` `>PUSHWI S.DIB`
@ -338,12 +338,12 @@ CS: A = EC
# IOCTL # IOCTL
## C ## C
`int ioctl(short int hFD, int request, void * param );` `int ioctl(short int DevID, int request, void * param );`
## ASM ## ASM
`PUSHWI param` `PUSHWI param`
`PUSHBI request` `PUSHBI request`
`lda hFD` `lda hDEV`
`>SYSCALL IOCTL` `>SYSCALL IOCTL`
## RETURN VALUE ## RETURN VALUE
@ -453,69 +453,94 @@ A = hMem
Y,A = PTR to MemBlock Y,A = PTR to MemBlock
(X unmodified) (X unmodified)
# GetMemByID # SListAddData
A = hMem
## ASM
`PUSHB Data`
`PUSHW DataID`
`lda hSList`
`>SYSCALL SListAddData`
## RETURN VALUE ## RETURN VALUE
Y,A = ZPMemMgrSPtr = PTR to S.MEM Y,A = Next DataID
(X unmodified)
# GetMemStat # SListGetData
**In:**
Y,A = Ptr to 24 bytes buffer ## ASM
`PUSHB Data`
`PUSHW DataID`
`lda hSList`
`>SYSCALL SListGetData`
## RETURN VALUE ## RETURN VALUE
Buffer filled with memory stats Y,A = Next DataID
# SListSetData
## ASM
`PUSHB Data`
`PUSHW DataID`
`lda hSList`
`>SYSCALL SListSetData`
## RETURN VALUE
Y,A = Next DataID
# SListGetByID # SListGetByID
PUSHB = hSList
PUSHW = KeyID ## ASM
PUSHW = Data Ptr `PUSHW KeyPtr`
PUSHW = Key Ptr `PUSHW KeyID`
`lda hSList`
`>SYSCALL SListGetByID`
## RETURN VALUE ## RETURN VALUE
X,Y = Next KeyID Y,A = Next KeyID
# SListUpdateByID # SListAddKey
PUSHB = hSList
PUSHW = KeyID
PUSHW = Data Ptr
## RETURN VALUE ## ASM
A = Key Length `PUSHW KeyPtr`
X,Y = KeyID `lda hSList`
`>SYSCALL SListAddKey`
# SListAdd
PUSHB = hSList
PUSHW = Key Ptr
PUSHW = Data Ptr
## RETURN VALUE ## RETURN VALUE
A = Key Length A = Key Length
X,Y = KeyID X,Y = KeyID
# SListLookup # SListLookup
PUSHB = hSList
PUSHW = Key Ptr ## ASM
PUSHW = Data Ptr `PUSHW KeyPtr`
`lda hSList`
`>SYSCALL SListLookup`
## RETURN VALUE ## RETURN VALUE
A = Key Length Y,A = KeyID
X,Y = KeyID
# SListNew # SListNew
## ASM
`>SYSCALL SListNew`
## RETURN VALUE ## RETURN VALUE
A=hSList A=hSList
# SListFree # SListFree
A=hSList
## ASM
`lda hSList`
`>SYSCALL SListFree`
## RETURN VALUE ## RETURN VALUE
# GetStkObjProp # GetStkObjData
A = hObject (AUX Memory)
Y = Property Index ## ASM
`PUSHW DataLen`
`PUSHW DataPtr`
`lda hStkObj`
`>SYSCALL GetStkObjData`
## RETURN VALUE ## RETURN VALUE
Y,A = Property Value Y,A = Property Value
@ -542,7 +567,7 @@ Load a file in AUX memory (Stock Objects)
PUSHW = AUXTYPE (Handled by.... PUSHW = AUXTYPE (Handled by....
PUSHB = TYPE ... PUSHB = TYPE ...
PUSHB = MODE ... PUSHB = MODE ...
PUSHW = PATH ...FOpen) LDYA = PATH ...FOpen)
## RETURN VALUE ## RETURN VALUE
Y,A = File Length Y,A = File Length
@ -564,7 +589,7 @@ A = Child PSID
# ExecV # ExecV
## C ## C
`int exec(const char* argv[], short int flags);` `int execv(const char* argv[], short int flags);`
## ASM ## ASM
`>PUSHB flags` `>PUSHB flags`
@ -587,6 +612,13 @@ A = Child PSID
## RETURN VALUE ## RETURN VALUE
A = Child PSID A = Child PSID
# GetMemStat
**In:**
Y,A = Ptr to 24 bytes buffer
## RETURN VALUE
Buffer filled with memory stats
# Stat # Stat
Return information about a file Return information about a file
@ -1092,10 +1124,11 @@ Convert String to 16 bits int
Return the canonicalized absolute pathname Return the canonicalized absolute pathname
## C ## C
`unsigned short int realpath (const char* str);` `unsigned short int realpath (const char* str, char *resolvedpath);`
## ASM ## ASM
**In:** **In:**
`>PUSHWI resolvedpath`
`>LDYA str` `>LDYA str`
`>SYSCALL realpath` `>SYSCALL realpath`
@ -1255,7 +1288,7 @@ S.TIME filled with System date/time
## C ## C
Convert S.TIME struct to CSTR Convert S.TIME struct to CSTR
`size_t strftime (char* ptr, const char* format, const struct S.TIME* timeptr );` `void strftime (char* ptr, const char* format, const struct S.TIME* timeptr );`
## ASM ## ASM
`PUSHW timeptr` `PUSHW timeptr`

Binary file not shown.

View File

@ -73,7 +73,7 @@ CS.INIT >LDYA L.LIBTCPIP
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ? CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
>STYA ZPIPCfgPtr >STYA ZPIPCfgPtr
lda (ZPIPCfgPtr) Configured ? lda (ZPIPCfgPtr) Configured ?

View File

@ -280,7 +280,7 @@ SYS.FreeMem .EQ $E6
SYS.LoadStkObj .EQ $E8 SYS.LoadStkObj .EQ $E8
SYS.NewStkObj .EQ $EA SYS.NewStkObj .EQ $EA
SYS.FreeStkObj .EQ $EC SYS.FreeStkObj .EQ $EC
SYS.GetStkObjProp .EQ $EE SYS.GetStkObjData .EQ $EE
SYS.SListAddData .EQ $F0 SYS.SListAddData .EQ $F0
SYS.SListGetData .EQ $F2 SYS.SListGetData .EQ $F2

View File

@ -125,7 +125,7 @@ BIN.Load >STYA BIN.CmdLine
inx we will skip Slot 0... inx we will skip Slot 0...
txa txa
jsr K.GetMemPtr jsr MEM.GetMemByID
lda (ZPMemMgrSPtr) lda (ZPMemMgrSPtr)
bpl .1 In Use? bpl .1 In Use?

View File

@ -144,7 +144,7 @@ K.SYSCALL.JMP .DA K.GetMemStat $00
.DA K.LoadStkObj .DA K.LoadStkObj
.DA K.NewStkObj .DA K.NewStkObj
.DA K.FreeStkObj .DA K.FreeStkObj
.DA K.GetStkObjProp .DA K.GetStkObjData
*-------------------------------------- *--------------------------------------
.DA K.SListAddData $F0 .DA K.SListAddData $F0
.DA K.SListGetData .DA K.SListGetData

View File

@ -22,7 +22,8 @@ ZPSListDataPtr .EQ ZPMEMMGR+14
*\-------------------------------------- *\--------------------------------------
MEM.ReqFlags .BS 1 store requested Flags MEM.ReqFlags .BS 1 store requested Flags
MEM.BestSlot .BS 1 MEM.BestSlot .BS 1
MEM.BestScore .BS 2 *MEM.BestScore .BS 2
MEM.BestScore .EQ ZPMemMgrTmp1
*-------------------------------------- *--------------------------------------
K.GetMem0 ldx #S.MEM.F.INIT0 K.GetMem0 ldx #S.MEM.F.INIT0
.HS 2C bit abs .HS 2C bit abs
@ -390,15 +391,7 @@ K.FreeMem tay
!!!!!WARNING!!!!! !!!!!WARNING!!!!!
.FIN .FIN
*-------------------------------------- *--------------------------------------
K.GetMemPtr sta ZPMemMgrSPtr K.GetMemPtr jsr MEM.GetMemByID
lda /Mem.Table/8
asl ZPMemMgrSPtr
rol
asl ZPMemMgrSPtr
rol
asl ZPMemMgrSPtr
rol
sta ZPMemMgrSPtr+1
K.GetMemPtr.ZPMemMgrSPtr K.GetMemPtr.ZPMemMgrSPtr
ldy #S.MEM.PTR ldy #S.MEM.PTR
lda (ZPMemMgrSPtr),y lda (ZPMemMgrSPtr),y
@ -407,13 +400,7 @@ K.GetMemPtr.ZPMemMgrSPtr
lda (ZPMemMgrSPtr),y lda (ZPMemMgrSPtr),y
ply ply
rts rts
*/-------------------------------------- *--------------------------------------
* # GetMemByID
* A = hMem
* ## RETURN VALUE
* Y,A = ZPMemMgrSPtr = PTR to S.MEM
* (X unmodified)
*\--------------------------------------
MEM.GetMemByID sta ZPMemMgrSPtr MEM.GetMemByID sta ZPMemMgrSPtr
lda /Mem.Table/8 lda /Mem.Table/8
asl ZPMemMgrSPtr asl ZPMemMgrSPtr
@ -423,7 +410,6 @@ MEM.GetMemByID sta ZPMemMgrSPtr
asl ZPMemMgrSPtr asl ZPMemMgrSPtr
rol rol
sta ZPMemMgrSPtr+1 sta ZPMemMgrSPtr+1
ldy ZPMemMgrSPtr
rts rts
*/-------------------------------------- */--------------------------------------
* # SListAddData * # SListAddData
@ -521,23 +507,28 @@ K.SListFree
sta CLRWRITEAUX sta CLRWRITEAUX
rts rts
*/-------------------------------------- */--------------------------------------
* # GetStkObjProp * # GetStkObjData
* A = hObject (AUX Memory) * ## ASM
* Y = Property Index * `PUSHW DataLen`
* `PUSHW DataPtr`
* `lda hStkObj`
* `>SYSCALL GetStkObjData`
* ## RETURN VALUE * ## RETURN VALUE
* Y,A = Property Value * Y,A = Property Value
*\-------------------------------------- *\--------------------------------------
K.GetStkObjProp phy K.GetStkObjData sta SETREADAUX
sta SETREADAUX
jsr K.GetMemPtr jsr K.GetMemPtr
>STYA ZPMemMgrTmp1 >STYA ZPMemMgrTmp1
ply >PULLW ZPSListDataPtr
lda (ZPMemMgrTmp1),y lda (ZPMemMgrTmp1),y
pha pha
iny iny
lda (ZPMemMgrTmp1),y lda (ZPMemMgrTmp1),y
ply ply
sta CLRREADAUX sta CLRREADAUX
rts rts
*/-------------------------------------- */--------------------------------------
@ -577,7 +568,7 @@ MEM.GoStkObj sta SETREADAUX
* PUSHW = AUXTYPE (Handled by.... * PUSHW = AUXTYPE (Handled by....
* PUSHB = TYPE ... * PUSHB = TYPE ...
* PUSHB = MODE ... * PUSHB = MODE ...
* PUSHW = PATH ...FOpen) * LDYA = PATH ...FOpen)
* ## RETURN VALUE * ## RETURN VALUE
* Y,A = File Length * Y,A = File Length
* X = hMem of Loaded Object in AUX mem * X = hMem of Loaded Object in AUX mem