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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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