[comp.sys.ti] myarc video xops cont.

ebray@pacsbb.UUCP (Eric Bray) (07/02/89)

* ScrollWinLeft
*
* R1x = Number of lines to scroll
* R2x = Row number of upper left corner
* R3x = Column number of upper left corner
* R4x = Row number of lower right corner
* R5x = Column number of lower right corner
* R6x = Character value for blank lines
* R7h = Foreground color for blank lines
* R7l = Background color for blank lines
*
X908LS  DATA    X908M0,X908M0,X908M2,X908M0

* ScrollWinRight
*
* R1x = Number of lines to scroll
* R2x = Row number of upper left corner
* R3x = Column number of upper left corner
* R4x = Row number of lower right corner
* R5x = Column number of lower right corner
* R6x = Character value for blank lines
* R7h = Foreground color for blank lines
* R7l = Background color for blank lines
*
X909LS  DATA    X909M0,X909M0,X909M2,X909M0

* CALL COLOR   (ONLY WORKS IN SCREEN CODE 3)
*
* R1h = Foreground color
* R1l = Background color
* R2x = Charset # (if mode 3)
*
X90AVC

* GCharColor
*
* R1x = Row
* R2x = Col
* -----
* R0x = ASCII character read from screen
* R1h = Foreground color for character
* R1l = Background color for character
*
X90BLS  DATA    X90BM0,X90BM1,X90BM2,X90BM3

* SetBorderColor
*
* R1x = Color to render border
*
X90CVC

* SetColPalette
*
* R1x = Palette register number
* R2x = Color to put into palette register
*       (G,R,B -- AS BOOK DESCRIBES)          NIBBLE JUSTIFIED MOST 0-G-R-B
*
X90DVC

* SetPixelColor
*
* R1x = X coordinate of pixel
* R2x = Y coordinate of pixel
* R3h = Foreground color to render pixel
* R3l = Background color to render pixel in graphics 2-3
* R4h = Logic operation to be performed
*
X90ELS  DATA    X90EM0,X90EM0,X90EM0,X90EM0

* GetPixelColor
*
* R1x = X coordinate of pixel
* R2x = Y coordinate of pixel
* -----
* R0h = Returned foreground color of pixel
* R0l = Returned background color of pixel in graphics 2-3
*
X90FLS  DATA    X90FM0,X90FM0,X90FM0,X90FM0

* SetVectorColor      (DRAWING A LINE)
*
* R1x = X coordinate of first pixel
* R2x = Y coordinate of first pixel
* R3x = X coordinate of second pixel
* R4x = Y coordinate of second pixel
* R5h = Foreground color to render vector
* R5l = Background color to render vector in graphics 2-3
* R6h = Logic operation to be performed
*

ebray@pacsbb.UUCP (Eric Bray) (07/02/89)

X910LS  DATA    X910M0,X910M0,X910M0,X910M0

* ColorSRCH         (FOR FILLS)
*
* R1x = X coordinate of source point
* R2x = Y coordinate of source point
* R3l = Color for search
* R3h = Direction for search (>00=LEFT, >FF=RIGHT)
* -----
* ST  = if EQUAL, color found
* R0x = X coordinate of location where color was found
* R1x = Y coordinate of location where color was found
*
X911VC

* HBlockMove
*
* R1x = Row number of upper left corner of source
* R2x = Column number of upper left corner of source
* R3x = Row number of upper left corner of destination
* R4x = Column number of upper left corner of destination
* R5x = Number of rows
* R6x = Number of columns
* R7l = Pixel color for blank pixels
*
X912VC

* HBlockCopy
*
* R1x = Row number of upper left corner of source
* R2x = Column number of upper left corner of source
* R3x = Row number of upper left corner of destination
* R4x = Column number of upper left corner of destination
* R5x = Number of rows
* R6x = Number of columns
*
X913VC

* LBlockMove
*
* R1x = Row number of upper left corner of source
* R2x = Column number of upper left corner of source
* R3x = Row number of upper left corner of destination
* R4x = Column number of upper left corner of destination
* R5x = Number of rows
* R6x = Number of columns
* R7l = Pixel color for blank pixels
* R7h = Logic operation to be performed on destination
*
X914VC

* LBlockCopy
*
* R1x = Row number of upper left corner of source
* R2x = Column number of upper left corner of source
* R3x = Row number of upper left corner of destination
* R4x = Column number of upper left corner of destination
* R5x = Number of rows
* R6x = Number of columns
* R7h = Logic operation to be performed on destination
*
X915VC

* BScrollUp
*
* R1x = Number of pixels to scroll
* R2x = Row number of upper left corner
* R3x = Column number of upper left corner
* R4x = Row number of lower right corner
* R5x = Column number of lower right corner
* R6h = Pixel color for blank pixels
*
X916VC

* BScrollDown
*
* R1x = Number of pixels to scroll
* R2x = Row number of upper left corner
* R3x = Column number of upper left corner
* R4x = Row number of lower right corner
* R5x = Column number of lower right corner
* R6h = Pixel color for blank pixels
*
X917VC

ebray@pacsbb.UUCP (Eric Bray) (07/02/89)

* BScrollLeft
*
* R1x = Number of pixels to scroll
* R2x = Row number of upper left corner
* R3x = Column number of upper left corner
* R4x = Row number of lower right corner
* R5x = Column number of lower right corner
* R6h = Pixel color for blank pixels
*
X918VC

* BScrollRight
*
* R1x = Number of pixels to scroll
* R2x = Row number of upper left corner
* R3x = Column number of upper left corner
* R4x = Row number of lower right corner
* R5x = Column number of lower right corner
* R6h = Pixel color for blank pixels
*
X919VC
              ##### SEE ADDENDUM FOR MOR ON SPRITES #####
* SpriteDef
*
* R1x = Pointer to sprite data
* R2x = # of sprites to define
*
X91AVC

* SpriteDel
*
* R1x = Pointer to list of sprite #'s
* R2x = # of sprites to delete (>FFFF for all)
*
X91BVC

* SpriteLocate
*
* R1x = Pointer to location data
* R2x = # of sprites to locate
*
X91CVC

* SpriteMotion
*
* R1x = Pointer to motion data
* R2x = # of sprites to put in motion
*
X91DVC

* SpriteColor
*
* R1x = Pointer to color data     LIST=SP#,SP COL,....,SP#,SP COL
* R2x = # of sprites to color
*
X91EVC

* SpritePattern
*
* R1x = Pointer to pattern # data  (SET POINTER TO SPRITE TABLE 0-255)
* R2x = # of sprites to pattern
*

* SpriteMagnify
*
* R1x = MagFac (1-4, just like XB)
*
X920SM  BYTE    >00,>01,>02,>03

* SpritePosition / SpriteDistance
*
* R1x = # of sprite to get position of
* R2x = Type of Distance, 0 for none, 1 for Sprite, 2 for Location
* R3x = # of second sprite (type 1), or Pixel row (type 2)
* R4x = Pixel column (type 2)
* -----
* R0x = Returned Row of sprite
* R1x = Returned Column of sprite
* R2x = Distance (if second sprite # was given)
* R3X = Distance squared (if second sprite # was given)
X921VC

* SpriteCoinc
*
* R1x = Type (0=sprites, 1=locations, 2=any two sprites)
* R2x = # of coincidence checks (if1,2) IF 2 PUTS THE RESULT IN R4 ONLY 2
* R3x = Pointer to test field     0   SP#, SP#, TOLER  1  SP#,DR,DC,TOL
* R4x = Pointer to result field   0 one COINC PAIR  row,col  if coinc
* -----                           1 SP#, DR, DC
*                                 2 DR,DC         (2 IS ALL, SP TO SP IS 0)
* R0x = # of coincidences detected                     (DR,DC  )
*
X922LS  DATA    X922T0,X922T1,X922T2

ebray@pacsbb.UUCP (Eric Bray) (07/02/89)

* SpritePatDefGet
*
* R1x = CPU address of sprite pattern definitions
* R2x = # of sprite patterns to define or get
* R3x = Starting pattern #
* R4x = 0 if Def, >FFFF if Get
*
X923VC

* CharPatDefGet
*
* R1x = CPU address of character pattern definitions
* R2x = # of character patterns to define or get     (SPRITE & CHAR DATA SA
* R3x = Starting pattern #                                   ONLY IN MODE 1
* R4x = 0 if Def, >FFFF if Get
*
X924LS  DATA    X924M0,X924M0,X924M2,X924M0

* SetTextWindow
*
* R1x = Top row
* R2x = Left column
* R3x = Bottom row
* R4x = Right column
*
X925VC

* GetTextWindow
*
* -----
* R0x = Returned top row
* R1x = Returned left column
* R2x = Returned bottom row
* R3x = Returned right column
*
X926VC

* WriteTTY
*
* R1x = CPU address of string
* R2x = # of characters in string (0=NULL terminated)
*
X927LS  DATA    X92700,X92701,X92700,X92700

* RestoreCharSpritePat
*
* R1x = Restore Chars?   (0=No)
* R2x = Restore Sprites? (0=No)
*
X928VC

* SetTextColor
*
* R1h = Foreground color for text
* R1l = Background color for text
*
X929VC

* WriteCharString
*
* R1x = Address of string
* R2x = # of characters in string
* R3x = 0 if change cursor position, >FFFF if leave cursor at beginning
*
X92ALS  DATA    X92AM0,X92AM1,X92AM2,X92AM3

* HCharColor
*
* R1x = Row
* R2x = Col
* R3x = ASCII character to write to screen
* R4x = Number of times to write character and color
* R5h = Foreground color for character
* R5l = Background color for character
*
X92CLS  DATA    X92CM0,X92CM1,X92CM2,X92CM3

* VCharColor
*
* R1x = Row
* R2x = Col
* R3x = ASCII character to write to screen
* R4x = Number of times to write character and color
* R5h = Foreground color for character
* R5l = Background color for character
*
X92DLS  DATA    X92DM0,X92DM1,X92DM2,X92DM3

* HChar
*
* R1x = Row
* R2x = Col
* R3x = ASCII character to write to screen
* R4x = Number of times to write character and color
*
X92EVC

* VChar
*
* R1x = Row
* R2x = Col
* R3x = ASCII character to write to screen
* R4x = Number of times to write character and color
*
X92FVC

* VWTR - write to video registers, with register save
*
* R1x = VDP register #
* R2l = Value to put into VDP register
*
X935VC

* VRFR - read from video registers, actually, a read from stored values
*
* R1x = VDP register #
* -----
* R0l = Value read from VDP register
*
X936VC

ebray@pacsbb.UUCP (Eric Bray) (07/02/89)

* GetTables
*
* R1x = Pointer in user data, to put copy of tables (24 bytes)
* -----
* Copies of this data are put into user data:
*
* CTABLE  DATA    0,0
* PTABLE  DATA    0,0
* SCRIMG  DATA    0,0
* SPRATT  DATA    0,0
* SPRPAT  DATA    0,0
* SPRCOL  DATA    0,0
*
X937VC

* GetPalRegs
*
* R1x = Pointer in user data, to put copy of Palette Registers (32 bytes)
* R2x = FORMAT (0=SQUASHED !0=BY THE BOOK, EXPANDED)
*
X938VC

* PrintScreen
*
* R1x = 0 for shades, 1 for outline
* R2x = 0 for normal density (double), 1 for hi density (quad)
*
X92BVC

MOUSE SAME VIDEO

R0 2A-SET MOUSE
R1   -X POSTION
R2    Y POSITION
R3    SCALE FACTOR 0-7 0 FASTEST

R0 2B-GET ABSOLUTE (WHOLE REGISTER)
R1    RETURNED X
R2    RETURNED Y
R3    MOST SIGNIFICANT 3 BITS L BUTTON, 1 DOWN, 0 NOT DOWN

R0 2C-GET RELATIVE (HOW MUCH MOUSE HAS MOVED SINCE LAST CALL TO GET MOUSE)
R1    RETURNED X
R2    RETURNED Y
R3    MOST 3 BITS L BUTTON,1 DOWN 0 NOT DOWN

##### DEFINE SPRITES

POINTER IS TO WORDS (SPRITE MODE 1)

1ST WORD IN LIST IS SPRITE #  (BASE 0)
2ND WORD IN LIST IS CHAR CODE 0-255
3RD WORD IN LIST IS POSITION
4TH WORD IN LIST IS VOLOCITY
5TH WORD IN LIST IS VOLOCITY
6TH WORD IN LIST IS COLOR
POINTER IS TO WORDS (SPRITE MODE 2)

1ST WORD IN LIST IS SPRITE #  (BASE 0)
2ND WORD IN LIST IS CHAR CODE 0-255
3RD WORD IN LIST IS POSITION
4TH WORD IN LIST IS VOLOCITY
5TH WORD IN LIST IS VOLOCITY
NEXT 16 WORDS IN LIST ARE COLORS

##### SPRITE COLOR

SAME AS COLORS FOR SPRITE MODE 1 OR 2