The UTIL library is similar to Fargo II's FLIB library. Functions which are equivilent to a Fargo function have aliases which allow the use of the Fargo name.

Graphics Functions

util::clr_scr() *
Clears the entire screen, then redraws the line dividing the top area of the screen and the status bar.
Output: None

util::zap_screen() *
Clears the entire screen.
Output: None

util::find_pixel(point p) *
Returns the address and bit number of pixel p.
Output: D0.W = Bit number
A0.L = Address in video RAM (zero if out of range)

util::pixel_on(point p) *
Plots a black pixel at point p.
Output: None

util::pixel_off(point p) *
Plots a white pixel at point p.
Output: None

util::pixel_chg(point p) *
Toggles the state of the pixel at point p.
Output: None

util::prep_rect(rect r) *
Prepares to draw rectangle r. This function is used internally and should not be called directly if it can be avoided.

util::frame_rect(rect r) *
Draws the rectangle frame r.
Output: None

util::erase_rect(rect r) *
Fills the rectangle r with solid white.
Output: None

util::show_dialog() *
Shows a dialog box.
Input: A6 = Pointer to dialog box structure
Output: None

util::clear_dialog() *
Erases the last dialog box drawn by show_dialog.
Output: None

void util::DrawCharXY(BYTE ch,WORD x,WORD y,WORD color)
Prints character ch at (x,y) in the current font. Valid colors are as follows:
0 - White on black
1 - Black on black
2 - XOR mode
3 - Gray on white
4 - Black on white

Other Functions

util::idle_loop() *#
Waits for a key press.
Output: D0.W = Code of last key pressed (codes can be found in TI-92 manual).

util::random() *
Return a random number
Input: D0.W = Upper limit
Output: D0.W = Random number in range [0..limit-1]

DWORD util::exec(int handle)
Executes the assembly program pointed to by handle. The assembly program is not required to be a PlusShell program. This function can handle programs stored in the user data archive (it will be copied to main memory). Please note that programs which rely on the ability to run archived programs will require the version of the UTIL library distributed with PlusShell 0.72 or higher. If the program is a PlusShell program, this function returns 0 if the program ran successfully, or 1 if the program failed to run due to a missing library. If the program is not a PlusShell program, the return value is undefined.

SYM_ENTRY* util::FindSymEntry(WORD symlist,BYTE *name)
Finds symbol called name in the symbol list pointed to by handle symlist. Returns the pointer to the symbol entry in the a0 register. If the symbol does not exist, the function returns 0. The folder list is in handle 8, and the main folder is in handle 9.


Back to Programming Information

Fargo is written and maintained by David Ellsworth.

* The function was originally written by David Ellsworth for Fargo.
# The function was modified for compatibility with the TI-92 Plus calculator.

Questions? Comments? E-mail me at river@gte.net
This page is maintained by Rusty Wagner