diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index bafec611..b328cf95 100644 --- a/.Docs/KERNEL.md +++ b/.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` diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index cfeca847..9fca0dc1 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/HTTPGET.S.txt b/BIN/HTTPGET.S.txt index a7914e2e..8f6b1fde 100644 --- a/BIN/HTTPGET.S.txt +++ b/BIN/HTTPGET.S.txt @@ -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 ? diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 114b69a5..d43e5969 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -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 diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 84fae25a..709649ba 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -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? diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 1c50653a..c8547a8b 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -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 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 0ec0577e..74da7513 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -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