When we release the app, I'll include super-through documentation. (Library Programming For Dummies :), and they won't be called Lib something, I'll shorten names. LibRandom } LibPutSprite \ LibLargeSprite \ LibGetPixel Ion library routines LibFastCopy / LibDetect / LibDecompress } LibDirectInput Inputs - a = key group Outputs - zero if no key was pressed, a is the key code LibAppVersion Inputs - none Outputs - h = major ver, l = minor ver, a = lib comp. num. LibSetPixel Inputs - same as the Ion getpixel Outputs - Sets the pixel LibFastCopyS Inputs - none Outputs - runs fastcopy, but saves registers LibDelay Inputs - b = delay amount Outputs - delays with HALT loop b times LibPixelOnHL Inputs - (h,l) pixel Outputs - Turns on pixel in graph buffer LibPixelOff Inputs - (a,e) pixel Outputs - Turns off pixel in graph buffer LibPixelXor Inputs (a,e) pixel Outputs - XORs pixel in graph buffer LibPixelTest Inputs (a,e) pixel Outputs - Zero flag = pixel state in graph buffer LibPixelOffHL Inputs - (h,l) pixel Outputs - Turns off pixel in graph buffer LibPixelXorHL Inputs - (h,l) pixel Outputs - XORs pixel in graph buffer LibCenterText Inputs - a=penrow, hl=text Outputs - Displays centered text LibPutSprite8 Inputs = same as ionputsprite, except you don't need to enter the height Outputs - XORs a 8x8 sprite to the graphscreen LibFastCopyB: Inputs = HL points to start of 768 bytes to copy to the screen Outputs - copies the bytes LibVputsC: Inputs = HL pointer to null-terminated string Outputs - Displays screen on screen and graph buffer LibScrollD7: Inputs - None Outputs - Scrolls graph buffer up 7 lines LibCompStrs: Inputs - DE and HL point to the strings Outputs - zf set if match. LibNextStr: Inputs - HL point to string Outputs - HL points to the byte after the string's null terminator LibDisp3Spaces: Inputs - none Outputs - Displays 3 spaces in the small font LibCompStrsN: Inputs - same as LibCompStrs, but B is the bytes to compare Outputs - same " LibGetChecksum: Inputs - HL pointer to start of data, BC # of bytes to checksum Outputs - HL contains the checksum for the data LibMultHE: Inputs - H and E to multiply Outputs - multiplies them LibMultHL: Inputs - H and L to multiply outputs- multiplies them LibMultCpHLDE Inputs - HL and DE to compare outputs - see TI-OS routine outputs LibDelProg: Inputs - HL points to the start VAT entry of the program Outputs - program is deleted LibCpHLBC Inputs - HL and BC to compare outputs - see TIOS routine outputs LibArcProg Inputs - HL points to VAT entry Outputs - archive status toggled LibSwapram Inputs - HL - segment of RAM, DE - second segment of RAM, BC - # of bytes to swap Outputs - swaps the RAM. LibSendbytetios Inputs - A byte to send Outputs - sends byte via TIOS protocol, nz if couldn't send LibGetbytetios Inputs - None Outputs - A contains byte received, nz if couldn't receive LibPointOnC Identical to PixelOnHL but clips and you have (a,e) not (h,l) LibPointOffC Identical to PixelOff but clips LibPointXorC Identical to PixelXor but clips LibVnewline: Sets pencol to zero, increments penrow by 7, and calls scrolld7 if needed LibRand127 Inputs - none Outputs - A contains a random number between 0 and 127. LibLargeSpriteHL Inputs - same as Ionlargesprite, except H=x coord. not A Outputs - same as ionlargesprite LibInvertScreen Inputs - none Outputs - Inverts the contents of the graph buffer LibROMVersion Inputs - none Outputs - H contains major ver #, L contains minor ver # LibGenerateSound Inputs - register C contains the frequency, B contains duration Output - Sound is produced LibShiftScreen Inputs - a contains # of pixels to shift up (0<=a<=64) Outputs - screen is shifted LibScnClr Inputs - none Outputs -screen & graph buffer cleared, all cursors reset to 0,0 LibUninvtxt Inputs - none Outputs - resets the text inverse flag to black on white LibInvtxt Inputs - none Outputs- sets the text inverse flag to white on black LibDisPause INputs - HL points to a null terminated string Outputs - displays the string in large font and waits for a getkey press LibDispPauseCsc Inputs - same as libdispause outputs - same thing except uses getcsc LibCSCPause Inputs - none Outputs - pauses until a key is pressed, uses getcsc LibLenStr inputs - HL is pointer to 0-terminated string Outputs - A contains length, excluding null terminator LibLibCall Inputs - HL points to the name (9 bytes), A is the library routine to call Outputs - calls the routine in the external library LibGetCalcID NOTE: THE USER MUST HAVE CHOSEN SendID UNDER THE Link MENU PRIOR TO CALLING THIS ROUTINE. Inputs - HL points to where to store the ID # Outputs - ID # is stored to HL as two characters per byte, zf set if successful, if not successful then nz LibGetBatteries Inputs - none Outputs - nz if batteries are good, z if they are low LibTextDecompress Inputs - HL points to compressed string, DE where to put the decompressed string Outputs - string is decompressed with my compression scheme LibPicDecompress Inputs - HL points to RLE compressed picture, DE is where to put the decompressed data Outputs - Pic is decompressed LibDispCPic Inputs - HL points to RLE compressed picture Outputs - Pic is decompressed to the graph buffer, and LibFastCopy is called LibDisprlel Inputs - HL points to RLE compressed picture, DE where to put the decompressed data, BC number of bytes to decompress Outputs - Pic is decompressed