Re: A86: Test Functions - list of common routines
[Prev][Next][Index][Thread]
Re: A86: Test Functions - list of common routines
>
>> Can some please explain the following functions and how they differ?
I Have Attached the Text file for common ROM routines
This text file is also on my web page at
http://www.dogtech.com/cybop/ti86/
Oh, and expect a TI-86 assembly tutorial in the works.
- Cyber Optic
E-mail: matt514@gte.net
; SOME HELPFUL ROUTINE DOCUMENTATION
; These routines were documented for the TI-83, but probably work
; for the TI-86 as well. The headers are all present in the
; TI86ASM.INC file.
;
; Basically, as far as I know, these routines use the same
; input parameters and have the same output as the routines
; for the TI-83. The TI-86 has many, many more routines in
; the ROM (Dan Eble said over 4000), but they are not
; yet documented.
;
; THIS FILE IS REALLY IMPORTANT!! If anyone has any corrections,
; additions, or comments, please E-MAIL ME AT Matt514@gte.net
;
; Once I learn more ROM calls, and how they work, etc, I will update
; this file.
;
; - Cyber Optic
f
DISPLAY ROUTINE HEADERS:
-----------------------
;---------------------------------------------------------------
; _clrLCD : clear LCD screen
;---------------------------------------------------------------
;---------------------------------------------------------------
; _newline : move cursor to beginning of next line scrolling display
; if necessary.
;
; side effects: curCol is reset to column 0.
; curRow is incremented if display does not scroll.
; if apptextsave flag is set then textshadow is affected
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _putc : display a character at currow,curcol and advance cursor
;
; input: a := character number
; textInverse := 0, normal character
; 1, invert character
; if apptextsave flag is set then textshadow is affected
; output: curRow and curCol updated
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _putmap : display a character at current cursor location.
; without affecting cursor location
;
; input: a := character number
; textInverse := 0, normal video
; 1, inverse video
; if apptextsave flag is set then textshadow is affected
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _putps : send string with leading length byte to display.
; at currow,curcol
;
; if apptextsave flag is set then textshadow is affected
; input: hl -> length byte of string.
; side effects: cursor location is updated.
;---------------------------------------------------------------
;
;
;---------------------------------------------------------------
; _puts : send 0 TERMINATED string to display.
;
; input: hl -> first character of string.
; output: C Flag = 1 if entire string was displayed.
; C Flag = 0 if ran off end of screen.
; side effects: cursor location is updated.
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _runIndicOn : turn on run indicator
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _runIndicOff : turn off run indicator.
;---------------------------------------------------------------
;
;
;---------------------------------------------------------------
; _vputmap - display variable width character at current pen
; location, penrow,pencol. update penrow,pencol
;
; input: a := character number
; textInverse := 0, normal video
; 1, inverse video
; textEraseBelow := 0, normal
; 1, erase line below char
;
; textwrite = 1 if writing text to graph screen
; will write to disp and back up graph
; buffer, plotscreen
;
; textwrite = 0 if write to display only
; OUTPUT : CA=1 IF COULDN'T FIT ON THE LINE
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _vputs - send string of variable-width characters to display.
; @ penrow,pencol
; input: hl -> first character of string
; textEraseBelow := 0, normal
; 1, erase line below char
; textwrite = 1 if writing text to graph screen
; will write to disp and back up graph
; buffer, plotscreen
;
; textwrite = 0 if write to display only
;
; side effects: pen location is updated.
;---------------------------------------------------------------
;
;---------------------------------------------------------------
; _vputsn - send string of variable-width characters to display.
; with count in b. write @ penrow,pencol
;
; input: hl -> first character of string
; b := number of characters to display
;
; textwrite = 1 if writing text to graph screen
; will write to disp and back up graph
; buffer, plotscreen
;
; textwrite = 0 if write to display only
;
; side effects: pen location is updated.
;---------------------------------------------------------------
;
;-----------------------------------------------------------------------
; _GRBUFCLR: blank out backup graph buffer
;-----------------------------------------------------------------------
;
;-----------------------------------------------------------------------
; _GRBUFCPY_V: copy graph backup buffer to display
;-----------------------------------------------------------------------
;
;-----------------------------------------------------------------------
; _ILine: Draw an unclipped line from (B, C) to (D, E), no clipping! |
; |
; INPUT: Coordinate values input are integer, and assumed |
; within screen values. |
; B - X Coordinate of first point
; C - Y Coordinate of first point
; D - X Coordinate of second point
; E - Y Coordinate of second point
; H - Command to perform |
; 0 - Set points to light |
; 1 - Set points to dark |
; 2 - Reverse point (XOR operation) |
;-----------------------------------------------------------------------
;
;-----------------------------------------------------------------------
; _IPoint: Change a point on the screen, no clipping!
;
; INPUT: Coordinate values input are integer and assumed
; within screen values
; B - X Coordinate of point to change - 0..94
; C - Y Coordinate of point to change - 1..63
; D - Command to perform
; 0 - Set point to light
; 1 - Set point to dark
; 2 - Reverse point (XOR operation)
; 3 - TEST PIXEL
; 4 - Copy from display buffer
;
; OUTPUT:
; FOR PIXEL TEST (3) Z=1 IF OFF, Z=0 IF ON
;
; NOTES:
; All register and flags are preserved
; UNLESS PIXEL TEST IS THE COMMAMD THEN NO REGS ARE
; PRESERVED.
;
; No plotting occurs if point is outside
; of current RANGE.
;
; (BC) is (X,Y), the (0,0) point is lower left corner
;
; Graphics always written to graphics buffer and/or
; display RAM and, depending on PlotLoc flag.
;
;-----------------------------------------------------------------------
;
;-----------------------------------------------------------------------
; _PDspGrph - Display graph via program control, or annotation.
;
; if graph is "clean" then copy backup to disp
; else invoke a full regraph
;-----------------------------------------------------------------------