*** Auto generated by docgen.cmd *** # GetArg.A ## In: + A = argument index. ## Out: + CC : success + Y,A = CStr To Arg[A] + CS : Out Of Bound # FileSearch Search a file in the provided PATH list And return, if found, the full path to it. ## In: + PUSHW = Ptr to Search Path (CSTR) %LIB%;/SYS/SLIB + PUSHW = Ptr to File Name (CSTR) + PUSHW = Ptr to DstBuf + PUSHW = Ptr to DstStat ## Out: + CC : success + DstBuf = FilePath + DstStat = S.STAT + CS : not found # GetDevByID.A ## IN: + A = DevID ## OUT: + CC = OK, CS = ERROR + Y,A = DEVSLOT + note: X Unmodified # GetDevByName.YA ## IN: + Y,A = Ptr to device name (C-String) ## OUT: + CC = OK, CS = ERROR + X = DEVID + Y,A = DEVSLOT # OpenDir.YA ## In: + Y,A = PATH (C-String) ## Out: + CC : success + A = hDIR + CS : error + A = EC # ReadDir.A ## In: + A = hDIR ## Out: + CC : success + X = hDIRENT + Y,A = PTR to S.DIRENT + CS : error + A = EC + note : A = 0 means no more entry # CloseDir.A ## In: + A = hDIR ## Out: + none, always succeed. # ExpandStr.YA ## In: + Y,A = PTR to String to Expand (C-String) ## Out: + X = hMem to Expanded String (C-String) + Y,A = PTR to Expanded String # PutEnv.YA ## In: + Y,A = PTR to String NAME=VALUE (C-String) ## Out: # SetEnv ## In: + PUSHW = PTR To Value (PSTR) + PUSHW = PTR To Name (PSTR) ## Out: # GetEnv.YA ## In: + Y,A = PTR to NAME (PSTR) ## Out: + CC : Y,A = PTR to VALUE (PSTR) + CS : not found # UnsetEnv.YA ## In: + Y,A = PTR To Name (PSTR) ## Out: # LoadTxtFile.YA Load TXT a file in memory (with ending 0) ## In: + Y,A = File Path ## Out: + Y,A = File Length (without ending 0) + X = hMem of Loaded File # LoadFile Load a file in memory ## In: + PUSHW = AUXTYPE (Handled by.... + PUSHB = TYPE ... + PUSHB = MODE ... + PUSHW = PATH ...FOpen) ## Out: + Y,A = File Length + X = hMem of Loaded File # ChTyp ## In: + PUSHB = TYPE + PUSHW = PATH # ChMod ## In: + PUSHW = UID + PUSHW = PATH # ChOwn ## In: + PUSHW = UID + PUSHW = PATH # ChGrp ## In: + PUSHW = GID + PUSHW = PATH # FAdd,FSub,FMult,FDiv,FPwr Return X+Y, X-Y, X*Y, X/Y, X^Y ## In: + PUSHW = X (*Float) + PUSHW = Y (*Float) + Y,A = Dest (*Float) # Log,Sqr,Exp,Cos,Sin,Tan,ATan Return Log(x), Sqr(x), E^X, Cos(x), Sin(X), Tan(x), ATan(x) ## In: + PUSHW = X (*Float) + Y,A = Dest (*Float) # Float Return return 'floated' long ## In: + PUSHW = X (*long) + Y,A = Dest (*float) # LRIntF Return Float rounded into a long ## In: + PUSHW = X (*Float) + Y,A = Dest (*long) # GetMem ## In: + PUSHW = Size Requested + PUSHB = Options + S.MEM.F.INIT0 : init memory with 00 + S.MEM.F.ALIGN : page aligned ## Out: + CC : success + YA = PTR to Mem * X = hMem + CS : + A = EC # GetMem0.YA ## In: + Y,A = Size Requested ## Out: + CC : success + YA = PTR to Mem (ZERO Initialised) * X = hMem + CS : + A = EC # GetMem.YA ## In: + Y,A = Size Requested ## Out: + CC : success + YA = PTR to Mem (Uninitialised) * X = hMem + CS : + A = EC # FreeMem.A ## In: + A = hMem To Free ## Out: + none. + (X,Y unmodified) # GetMemPtr.A ## In: + A = hMem ## Out: + Y,A = PTR to MemBlock + (X unmodified) # GetMemByID.A ## In: + A = hMem ## Out: + Y,A = ZPMemMgrSPtr = PTR to S.MEM + X unmodified # NewStr.YA Create a new copy of this C-String ## In: + Y,A = Ptr to source C-String ## Out: + CC : success + Y,A = PTR to String + X = hMem (PSTR) + CS : error + A = SYS error code # SListNew ## In: ## Out: + A=hMem # SListAdd ## In: ## Out: + A=hMem # SListGet ## In: ## Out: + A=hMem # SListPut ## In: ## Out: + A=hMem # SListFree ## In: ## Out: + A=hMem # NewStkObj.YA ## In: + Y,A = Size Requested ## Out: + CC : success + YA = PTR to Mem (Uninitialised) * X = hMem + CS : + A = EC # LoadStkObj Load a file in AUX memory (Stock Objects) ## In: + PUSHW = AUXTYPE (Handled by.... + PUSHB = TYPE ... + PUSHB = MODE ... + PUSHW = PATH ...FOpen) ## Out: + Y,A = File Length + X = hMem of Loaded Object in AUX mem # GetStkObj.A ## In: + A = hMem ## Out: + Y,A = PTR to MemBlock (AUX Mem) + (X unmodified) # FreeStkObj.A ## In: + A = hMem To Free (AUX Memory) ## Out: + none. + (X,Y unmodified) # GetMemStat.YA ## In: + Y,A = Ptr to 24 bytes buffer ## Out: + Buffer filled with memory stats # ExecPSNewEnv.YA # ExecPS.YA (Blocking Parent PID) # CreatePSNewEnv.YA # CreatePS.YA (Non Blocking) ## In: + Y,A = PTR To Cmd Line ## Out: + A = Child PSID # Stat Return information about a file ## In : + PUSHW = PTR to S.STAT buffer + PUSHW = PTR to Filename (C-String) ## Out : # MKDir.YA ## In: + Y,A = DIR name ## Out: + CC : success + CS : error + A = EC # MkNod.YA return a hFile for a given Device Name ## IN: + Y,A=DevName ## OUT: + CC = OK, CS = ERROR + A = hFILE # MKFIFO return a hFILE to a new FIFO ## IN: ## OUT: + CC = OK, CS = ERROR + A = hFILE # FPutC.AY Print A (char) to File ## In: + A : char to print + Y = hFILE ## Out: + CC = success # PutChar.A Print A (char) to StdOut ## In: + A : char to print ## Out: + CC = success # GetChar Get char from StdIn ## In: + none. ## Out: + CC = success + A = char # GetC.A Get char from File ## In: + A = hFILE ## Out: + CC = success + A = char # FPutS Write String to FILE ## In: + PUSHW : CPtr + PUSHB : hFILE ## Out: + CC = success # PutS.YA Write String to StdOut ## In: + Y,A : CPtr ## Out: + CC = success # FGetS Read String From FILE ## In: + PUSHW : CPtr + PUSHB : hFILE ## Out: + CC = success # GetS.YA Read String From StdIn ## In: + Y,A : CPtr ## Out: + CC = success # FOpen Open a file ## In : + PUSHW = AUXTYPE + PUSHB = TYPE + PUSHB = MODE + SYS.FOpen.R : if R and exists -> ERROR + SYS.FOpen.W : if W and exists -> CREATE + SYS.FOpen.A : Append + SYS.FOpen.T : Open/Append in Text mode + SYS.FOpen.X : Create if not exists + PUSHW = PATH (PSTR) ## Out : + CC : A = hFILE + CS : A = EC # FClose.A Close a file ## In : + A = hFILE ## Out : # FRead.A Read ONE byte from file ## In : + A = hFILE ## Out : + A = Byte Read # FWrite.AY ## In: + A = hFILE + Y = char # Out: + Y,A = Bytes Written # FRead Read bytes from file ## In : + PUSHW = Dest Ptr + PUSHW = Bytes To Read + PUSHB = hFILE ## Out : + Y,A = Bytes Read # FWrite ## In: + PUSHW = Src Ptr + PUSHW = Bytes To Write + PUSHB = hFILE # Out: + Y,A = Bytes Written # FFlush.A ## In: + A = hFILE # FSeek Set the file-position indicator for hFILE ## In: + PUSHW = Ptr to Offset (DWORD) + PUSHB = From + PUSHB = hFILE # FEOF.A Test the end-of-file indicator for hFILE ## In: + A = hFILE ## Out: + CC : + A=0 EOF + A =0 NOT EOF + CS : # FTell Return the current value of the file-position indicator ## In: + PUSHW = Ptr to Offset (DWORD) + PUSHB = hFILE ## Out: + Offset = Offset # Remove.YA # Rename Rename a file ## In : + PUSHW = New Name + PUSHW = Old Name ## Out : # SScanF Scan a PStr (in progress) ## In: + PUSHW PTR to target buffer + PUSHW PSTR pattern (ex: "%d.%d.%d.%d") + %d : byte + PUSHW PSTR to scan (ex: "192.168.1.5") ## Out: # PrintF.YA/SPrintF.YA/FPrintF.YA Prints C-Style String ## In: PrintF.YA : + Y,A = PTR to CStr SPrintF.YA : + Y,A = PTR to CStr + PULLW = Ptr to Dst Buffer FPrintF.YA : + Y,A = PTR to CStr + PULLB = hNode ## Out: + CC : success + CS : error code from Output Specifiers : + %b : pull 1 byte to Print BIN + %B : pull 2 bytes to Print BIN + %d : pull 1 byte unsigned DEC 0..255 + %D : pull 2 bytes unsigned DEC 0..65535 + %u : pull 2 bytes PTR to 4 bytes long unsigned DEC 0..4294967295 + %e : pull 2 bytes PTR to 5 Bytes float (-)1.23456789e+12 + %f : pull 2 bytes PTR to 5 Bytes float (-)3.1415 + %h : pull 1 byte to Print HEX + %H : pull 2 bytes to Print HEX + %i : pull 1 byte to Print signed DEC -128..127 + %I : pull 2 bytes to Print signed DEC -32768..32767 + %L : pull 2 bytes PTR to 4 bytes signed DEC -2147483648..2147483647 + %n : pull 1 byte to Print low Nibble HEX + %N : pull 1 byte to Print high Nibble HEX + %s : pull 2 bytes ptr to C-Style String + %S : pull 2 bytes ptr to P-Style String + \b : Print 'BS' (08) + \e : Print 'ESC' ($1B,27) + \f : Print 'FF' ($0C,12) + \n : Print 'LF' ($0A,10) + \r : Print 'CR' ($0D,13) + \\\\ : Print \ + \% : Print % Modifiers for len and padding : + %d : '9' '12' + %2d : ' 9' '12' + %02d : '09' '12' + %11s : 'ABCDEFGH ' + %011s : 'ABCDEFGH000' + %2f : '3.14' # StrToF Convert String to 40 bits Float ## In: + PUSHW PTR to EndPtr + PUSHW Source String (C-Sring) + PUSHW PTR to target buffer (5 bytes) ## Out: + Target buffer filled with a FLOAT (packed) # AToF Convert String to 40 bits Float ## In: + PUSHW Source String (C-Sring) + PUSHW PTR to target buffer (5 Bytes) ## Out: # StrToL Convert String to 32 bits int ## In: + PUSHB Base + PUSHW PTR to EndPtr + PUSHW Source String (C-Sring) + PUSHW PTR to target buffer DWORD ## Out: # StrToUL Convert String to 32 bits unsigned int ## In: + PUSHB Base + PUSHW PTR to EndPtr + PUSHW Source String (C-Sring) + PUSHW PTR to target buffer DWORD ## Out: # AToL Convert String to 32 bits int ## In: + PUSHW Source String (C-Sring) + PUSHW PTR to target buffer DWORD ## Out: # AToI.YA Convert String to 16 bits int ## In: + Y,A = Source String (C-String) ## Out: + Y,A = Int # RealPath.YA Return the canonicalized absolute pathname ## In : + Y,A = Ptr to Relative Filename (C-String) ## Out : + CC : success + Y,A = Ptr to Full Path (C-String) + X = hMem of Full Path + CS : A = Error Code # StrLen.YA Returns Length of C-String ## In: + Y,A = Ptr to CSTR ## Out: + Y,A = String length # StrCat Append SRC to DST ## In: + PUSHW = Ptr to SRC (CSTR) + PUSHW = Ptr to DST (CSTR) ## Out: + DST = DST+SRC # StrCpy Copy string ## In: + PUSHW = Ptr to SRC (CSTR) + PUSHW = Ptr to DST (CSTR) ## Out: + DST = SRC # StrMatch Compare a String against pattern ## In: + PUSHW = PTR to Pattern (e.g. '*test?.txt') + PUSHW = PTR to Src String ## Out: + CC : match + CS : no match # StrUpr.YA/StrLwr.YA Convert string to UPPERCASE/lowercase ## In: + Y,A = PTR to String (CSTR) ## Out: + Uppercased/lowercased String in Buffer # Time.YA + Get System Time in Buffer ## In : + Y,A = PTR to S.TIME ## Out : + S.TIME filled with System date/time # PTime2Time + Convert ProDOS Time To S.TIME ## In : + PUSHW = Dst PTR To S.TIME + PUSHW = Src PTR to ProDOS DATE/TIME (DWORD) # CTime2Time + Convert CTIME to S.TIME ## In : + PUSHW = Dst PTR To S.TIME + PUSHW = Src CTIME DWORD # StrFTime Convert S.TIME struct to CSTR ## In: + PUSHW = Dst PTR To CSTR Buf + PUSHW = Src PTR To Format String + %a : Abbreviated weekday name : Thu + %A : Full weekday name : Thursday + %b : Abbreviated month name : Aug + %B : Full month name : August + %d : Day of the month, zero-padded (01-31) + %H : Hour in 24h format (00-23) 14 + %I : Hour in 12h format (01-12) 02 + %m : Month as a decimal number (01-12) 08 + %M : Minute (00-59) 55 + %p : AM or PM designation PM + %S : Second (00-61) 02 + %w : Weekday as a decimal number with Sunday as 0 (0-6) + %y : Year, last two digits (00-99) + %Y : Year four digits 2001 + PUSHW = Src PTR To S.Time ## Out: + none. always succeed.