THIS IS VERSION 2.0 OF THE RELEASED FUNCTION DOCUMENT. The Other one is still on this site. This document was updated to support the new functions and modifed functions that were done to support the ID system that will be implemented. New functions, or ones that replace old ones, are in a "fuller" format and have !!!!!!!!! in front of them. This document describes some of the function calls that will be supported by the DH OS. Many of these functions were discussed on the Shell-Developer's and Asm85 lists, but some i added myslef, and some I changed the name and/or operation of them. Each function is given in this document as a short description of what the function does followed by a set of parentheses, in the style of C functions. Note that although no parameters are listed, they do exist. Following each function is a longer description of the function's operation and usage. This document describes functions that will be coded directly into the OS Kernal and System Drivers. They are catagorized by System/ SubSystem/Driver they are in. Also included are many ROM calls that will be supported by functions. Also, some groups of functions that are good, but not necessary to most games/applications will be implemented in Auto-loading DLLs. The groups of functions that will be in some of these are listed also. But remember, the list of libraries is NOT COMPLETE. Neither are some of the System Driver groups (e.g. the PIO, and the MAth sections.) If you think of a function that should be added to the list, please either email them directly to me, or send them to the asm85/shell- developers lists with DH85:Functions, or something similar, in the Subject line. And now, let the festivities... I mean the functions :)... begin!!! Physical I/O Functions: ======================= These include Drawing, writing text, getting strings/chars/keys, lcd control, etc. A lot of Usgard/ZShell ROM calls and Usgard extensions will be used, along with a lot more. Some LCD Control: (pretty self explainatory) LCD_ON/OFF() CONTRAST_ABS_CHNG() CONTRAST_ABS_GET() CONTRAST_INC() CONTRAST_DEC() KEY interpretation routines: KEY_NUMBER() KEY_UCASE() KEY_LCASE() Graphics Support: *FileView Extensions LIB *Sprite Extensions LIB *Movie Extensions LIB *Basic Line Oriented Draw Extensions LIB OS Kernal Functions: ==================== ExitDone() exits a program, does not remain resident ReturnfromLibFunc() exits a library function ExitToTIOS() exits program and forces Shell to exit too !!!!!GetArenaSize() Get the size of an arena, including the Free Arena GetUsedRAM() GetFreeDiskSpace() GetUSedDiskSpace() TSR Subsystem Functions: ExitRemainResident() exits program, remains resident AddToINTList() makes the program executed with the interupts RemoveFromINTList() Math SubSystem Functions: All (or most) of the FP support from the ROM might be implemented in a small LIB for ROM patching 32bit math routines Conversion routines extended comparisons *Trigonometric Functions Extensions LIB Communications I/O Functions: ============================= OutParallel6() out the module port, all 6 bits InParallel6() in SetPinState() set a specific pin high or low GetPinState() MapModulePort() Set what each pin controls. if using all TI-OS jacks, each useing two pins, you can have three regions. you also tell what each region is (I2C/MBus, TI-P, IR-P) *see my upcoming doc on a cool hetwork hub for *the ultimate in ModulePort extensions !!!!!DeviceID=AssignDeviceTIOS(TIOSmap#toAssign) !!!!!DeviceID=AssignDeviceI2C(I2CMap#toAssign,AddressPort#OnBus) The above two functions allow devices to be used with the DeviceID functions. !!!!!!DataStreamOut(DeviceID,Data) uses the device ID idea to simplify the data stream functions. !!!!!!DataStreamIn(DeviceID,DataBuffer) *Mapped Data Stream IR-P operations extension LIB *ID Route Path Data Streaming extensions LIB File I/O functions: =================== !!!!!LoadFile(FileID,ArenaID) !!!!!FileID=CreateFile(FILENAME,DeviceID) !!!!!SendFile(ArenaID,FILENAME,DeviceID) DeleteE2File() !!!!!FileID=Assign(FILENAME,DeviceID) *File Compression Extension LIB RAM I/O Functions: ================== !!!!!ArenaID=AllocateArena(Size) !!!!!ArenaID=AllocateForceHigh(Size) !!!!!DeallocateArena(ArenaID) !!!!!Address=GetHardAddress(ArenaID) !!!!!CopyArena(ArenaIDDest,ArenaIDSource) !!!!!ProcessID=RelocateArena(ArenaID) !!!!!CallProcess(ProcessID) !!!!!KillProcess(ProcessID) CallLibFunction() TI-OS Var Support: AccessTIOSVar() DeleteTIOSVar() CreateTIOSVar()