mirror of
https://github.com/A2osX/A2osX.git
synced 2025-03-21 20:35:07 +00:00
Kernel 0.92+
This commit is contained in:
parent
7abd289f48
commit
80567cfd8d
117
.Docs/KERNEL.md
117
.Docs/KERNEL.md
@ -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.
@ -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 ?
|
||||
|
@ -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
|
||||
|
@ -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?
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user