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
;-----------------------------------------------------------------------