home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 339.lha / xspecs.library_v0 / xspecslibrary.doc.pp / xspecslibrary.doc
Text File  |  1990-02-08  |  21KB  |  812 lines

  1. ******************************************************************
  2.  
  3. This documentation covers xspecs.library version 0 by Richard Horne.
  4. The xspecs.library is freely distributable in the public domain.
  5. Kindly report any bugs to Richard Horne, (GENIE RHORNE, COMPUSERVE
  6. 71777-407, PLINK OCS428).  Suggestions for addition and improvement
  7. are welcome.
  8.  
  9. *******************************************************************
  10.  
  11. XSpecsAllocateView
  12.  
  13.    NAME
  14.    XSpecsAllocateView - Allocate XSpecsMemory and initialize
  15.    data structures.
  16.  
  17.    SYNOPSIS
  18.    Error = XSpecsAllocateView (View Modes)
  19.    d0                          d0      
  20.  
  21.    OFFSET -30
  22.  
  23.    FUNCTION
  24.    This function allocates memory and initializes data
  25.    structures for left and right bitmaps, rastports, and
  26.    viewports.  Possible view modes are LowRes ($0), HiRes
  27.    ($8000), or HAM ($800) with or without Sprites ($4000).
  28.    See graphics/gfx.i.  Once this function has been called, you
  29.    can use any of the Amiga Graphics functions to draw
  30.    separately into the left and right XSpecs rastports. Use
  31.    XSpecsLeftRastPort, XSpecsRightRastPort to find rastport
  32.    addresses.  XSpecsAllocateView function is followed by
  33.    XSpecsOn to turn on the XSpecs vertical blank interrupt and
  34.    begin switching the XSpecs lenses.
  35.  
  36.    INPUTS
  37.    d0 = ViewModes
  38.  
  39.    RESULT
  40.    d0 = 0 if function is successful
  41.    d0 = 1 if function unsuccessful due to improper View Mode 
  42.    d0 = 2 if function unsuccessful due to insufficient memory
  43.  
  44.    SEE ALSO
  45.    XSpecsOn
  46.    XSpecsLeftRastPort, XSpecsRightRastPort
  47.    XSpecsLeftViewPort, XSpecsRightViewPort
  48.  
  49.    BUGS TBD
  50.    
  51.  
  52. XSpecsChangeSprite
  53.  
  54.    NAME
  55.    XSpecsChangeSprite - Assign XSpecs simple sprite to left and
  56.    right viewport.  Change pixel definition of XSpecs simple
  57.    sprite.
  58.  
  59.    SYNOPSIS
  60.    Error = XSpecsChangeSprite (SpriteImage, SpriteNumber)
  61.    d0                          a0           d0   
  62.  
  63.    OFFSET -90
  64.  
  65.    FUNCTION
  66.    This function attaches a simple sprite to the left and right
  67.    viewports.  It can also be used to change the sprite pixel
  68.    definition to the specified sprite image data.  The function
  69.    must have been preceded by XSpecsGetSprite for assignment
  70.    of a sprite number.
  71.  
  72.    INPUTS
  73.    a0 - Address of sprite image data in chip memory
  74.    d0 - Sprite number
  75.  
  76.    RESULT
  77.    d0 = 0 if function successful
  78.    d0 = 1 if sprite number not yet assigned using
  79.         XSpecsGetSprite
  80.  
  81.    SEE ALSO
  82.    XSpecsGetSprite  XSpecsMoveSprite
  83.  
  84.    BUGS  TBD
  85.  
  86.  
  87. XSpecsDeallocateView
  88.  
  89.    NAME
  90.    XSpecsDeallocateView - Free memory associated with XSpecs
  91.    View.
  92.  
  93.    SYNOPSIS
  94.    XSpecsDeallocateView()
  95.  
  96.    OFFSET -36
  97.  
  98.    FUNCTION
  99.    This function frees memory used by XSpecs bitmaps,
  100.    rastports, and viewports.  This function must be preceded
  101.    by XSpecsOff to turn off the XSpecs vertical blank
  102.    interrupt.
  103.  
  104.    SEE ALSO
  105.    XSpecsAllocateView
  106.  
  107.    BUGS TBD
  108.  
  109.  
  110. XSpecsDraw
  111.  
  112.    NAME
  113.    XSpecsDraw - Draw a line in XSpecs three dimensional
  114.    coordinates.
  115.  
  116.    SYNOPSIS
  117.    Error = XSpecsDraw (x, y, z)
  118.    d0                  d0 d1 d2
  119.  
  120.    OFFSET = -84
  121.  
  122.    FUNCTION
  123.    This function draws lines from the current graphics pen
  124.    position to points in XSpecs left and right rastports    
  125.    determined by the three dimensional XSpecs (x, y, z) input
  126.    coordinates.  The switching of the XSpecs lenses gives the
  127.    illusion of a single line in the three dimensional XSpecs
  128.    coordinate system.  Use XSpecsMove to set the starting
  129.    point for the line.  Lines are drawn using the current APen. 
  130.    See XSpecsLeftXY or XSpecsRightXY for a complete description
  131.    of the XSpecs coordinate system.
  132.  
  133.    RESULT
  134.    d0 = 0 if function successful
  135.    d0 = 1 if attempt to draw outside screen limits
  136.  
  137.    SEE ALSO
  138.    XSpecsPolyDraw XSpecsMove XSpecsLeftXY XSpecsRightXY
  139.    XSpecsSetAPen
  140.  
  141.    BUGS TBD
  142.  
  143.  
  144. XSpecsFreeSprite
  145.  
  146.    NAME
  147.    XSpecsFreeSprite - Free simple sprite from XSpecs use.
  148.  
  149.    SYNOPSIS
  150.    XSpecsFreeSprite (SpriteNumber)
  151.                      d0
  152.  
  153.    OFFSET = -162
  154.  
  155.    FUNCTION
  156.    This function frees a sprite previously assigned to XSpecs.
  157.  
  158.    INPUTS
  159.    d0 = Sprite Number
  160.  
  161.    SEE ALSO                                    
  162.    XSpecsGetSprite XSpecsChangeSprite XSpecsMoveSprite
  163.  
  164.    BUGS  TBD
  165.  
  166.  
  167. XSpecsGetSprite
  168.  
  169.    NAME
  170.    XSpecsGetSprite - Assign a simple sprite for XSpecs use.
  171.  
  172.    SYNOPSIS
  173.    SpriNum = XSpecsGetSprite (SimpleSpri,SpriImage, SpriNum)
  174.    d0                         a0         a1         d0
  175.  
  176.    OFFSET = -156
  177.  
  178.    FUNCTION
  179.    This function assigns a simple sprite for XSpecs use.    
  180.    Before calling this function, you must initialize a simple
  181.    sprite data structure (only height variable need be entered,
  182.    remainder of structure may be zero filled), and you must
  183.    define a sprite image in chip memory.  You may request a
  184.    particular sprite number in d0, or enter -1 in d0, and the
  185.    next available sprite will be assigned.
  186.  
  187.    INPUTS
  188.    a0 = Address of simple sprite structure
  189.    a1 = Address of Chip Memory Sprite Image
  190.    d0 = SpriteNumber (or -1)
  191.  
  192.    RESULT
  193.    d0 = SpriteNumber assigned if function is successful
  194.    d0 = -1 if function cannot assign sprite
  195.  
  196.    SEE ALSO
  197.    XSpecsChangeSprite XSpecsMoveSprite XSpecsFreeSprite
  198.  
  199.    BUGS TBD
  200.  
  201.  
  202. XSpecsLeftRastPort
  203.  
  204.    NAME
  205.    XSpecsLeftRastPort - Find XSpecs left rastport address.
  206.  
  207.    SYNOPSIS
  208.    LeftRastportAddress = XSpecsLeftRastPort()
  209.    d0
  210.  
  211.    OFFSET = -114
  212.  
  213.    FUNCTION
  214.    This function returns the address of the XSpecs left
  215.    rastport.  This function must be preceded by
  216.    XSpecsAllocateView.  You can use this address with any of
  217.    the Amiga graphics functions to draw separately into the
  218.    left rastport.  Convert XSpecs 3D coordinates to left
  219.    rastport    coordinates using XSpecsLeftXY.  See XSpecsLeftXY
  220.    for a complete description of the XSpecs coordinate system.
  221.  
  222.    RESULT
  223.    d0 = Address of left rastport
  224.  
  225.    SEE ALSO
  226.    XSpecsAllocateView XSpecsLeftXY XSpecsMove
  227.  
  228.    BUGS TBD
  229.  
  230.  
  231. XSpecsLeftViewPort
  232.  
  233.    NAME
  234.    XSpecsLeftViewPort - Find XSpecs left viewport address.
  235.  
  236.    SYNOPSIS
  237.    LeftViewportAddress = XSpecsLeftViewPort()
  238.    d0
  239.  
  240.    OFFSET = -126
  241.  
  242.    FUNCTION
  243.    This function returns the address of the XSpecs left
  244.    viewport.  This function must be preceded by
  245.    XSpecsAllocateView.
  246.  
  247.    RESULT
  248.    d0 = Address of left viewport
  249.  
  250.    SEE ALSO
  251.    XSpecsAllocateView XSpecsLeftXY 
  252.  
  253.    BUGS TBD
  254.  
  255.  
  256. XSpecsLeftXY
  257.  
  258.    NAME
  259.    XSpecsLeftXY - Convert XSpecs three dimensional coordinates
  260.    to left rastport coordinates.
  261.  
  262.    SYNOPSIS
  263.    LeftXY = XSpecsLeftXY (x, y, z)
  264.    d0                     d0 d1 d2
  265.  
  266.    OFFSET = -102
  267.  
  268.    FUNCTION
  269.    The XSpecs coordinate system is a three dimensional system
  270.    with an origin (0, 0, 0 position) at the exact center of the
  271.    Amiga monitor screen.  The x direction is positive from this
  272.    point to the right and negative to the left.  The y
  273.    direction is positive from this position moving down and
  274.    negative moving up.  The z direction is positive from this
  275.    position moving into the screen and negative moving out of
  276.    the screen toward you.  For every point (x, y, z) in XSpecs
  277.    coordinates there is a corresponding point projected into
  278.    the both left and right rastports.  When each of these
  279.    points are drawn separately into the left and right
  280.    rastports, the switching of the XSpecs lenses from left to
  281.    right will give the illusion of a single point at the XSpecs
  282.    (x, y, z) position.  The scale of the XSpecs coordinate
  283.    system depends on the ViewModes selected when setting up the
  284.    XSpecs View (XSpecsAllocateView).  For LowRes views, the
  285.    scale is chosen as 320 units horizontally across the face of
  286.    the monitor.  For HiRes views, the scale is chosen as 640
  287.    units horizontally across the face of the monitor.  This
  288.    same scale is used both horizontally and vertically
  289.    resulting in about 440 units vertically in HiRes and 220
  290.    units vertically in LowRes at the face of the monitor.
  291.       This function converts the input XSpecs (x,y,z)
  292.    coordinates into rastport coordinates in the left rastport. 
  293.    Use this function to determine the position of points in the
  294.    left rastport corresponding to an (x,y,z) position in the
  295.    XSpecs coordinate system.  Rastport coordinates are measured
  296.    from the upper left corner of the screen.  The rastport is
  297.    either 320 or 640 pixels wide (depending on ViewMode) and
  298.    200 lines high.
  299.  
  300.    INPUTS
  301.    d0 = x (16 bits)
  302.    d1 = y (16 bits)
  303.    d2 = z (16 bits)
  304.  
  305.    RESULT
  306.    d0 = LeftX (high 16 bits), LeftY (low 16 bits)
  307.    d1 = -1 if point is outside screen limits
  308.  
  309.    SEE ALSO  XSpecsRightXY
  310.  
  311.    BUGS  TBD
  312.  
  313.  
  314. XSpecsLoadRGB4
  315.  
  316.    NAME
  317.    XSpecsLoadRGB4 - Load color data into XSpecs left and right
  318.    viewports.
  319.  
  320.    SYNOPSIS
  321.    XSpecsLoadRGB4 (ColorData, Count)
  322.                    a0         d0
  323.  
  324.    OFFSET = -66
  325.  
  326.    FUNCTION
  327.    This function assigns RGB colors to the XSpecs left and
  328.    right viewports.  This function must have been preceded by
  329.    XSpecsAllocateView.
  330.  
  331.    INPUTS
  332.    a0 = Address of table of 16 bit color values
  333.    d0 = Count, number of color values to load
  334.  
  335.    SEE ALSO   XSpecsAllocateView
  336.  
  337.    BUGS      TBD   
  338.  
  339.  
  340. XSpecsMove
  341.  
  342.    NAME
  343.    XSpecsMove - Move graphics pen in the XSpecs three
  344.    dimensional coordinate system
  345.  
  346.    SYNOPSIS
  347.    Error = XSpecsMove (x, y, z)
  348.    d0                  d0 d1 d2
  349.  
  350.    OFFSET = -150
  351.  
  352.    FUNCTION
  353.    This function moves the position of the graphics pen in both
  354.    the left and right rastports to positions corresponding to
  355.    the input XSpecs (x, y, z) coordinates.  See XSpecsLeftXY
  356.    and XSpecsRightXY for a complete definition of the XSpecs
  357.    coordinate system.
  358.  
  359.    INPUTS
  360.    d0 = x (16 bits)
  361.    d1 = y (16 bits)
  362.    d2 = z (16 bits)
  363.  
  364.    RESULT
  365.    d0 = 0 if function successful
  366.    d0 = 1 if attempt to move to point outside screen limits
  367.  
  368.    SEE ALSO
  369.    XSpecsLeftXY XSpecsRightXY
  370.  
  371.    BUGS  TBD
  372.  
  373.  
  374. XSpecsMoveSprite
  375.  
  376.    NAME
  377.    XSpecsMoveSprite - Move sprite in the XSXpecs three
  378.    dimensional coordinate system.
  379.  
  380.    SYNOPSIS
  381.    Error = XSpecsMoveSprite(x ,y, z, xoffset, yoffset, SpriNum)
  382.    d0                       d0 d1 d2 d3       d4       d5
  383.  
  384.    OFFSET = -96
  385.  
  386.    FUNCTION
  387.    This function moves a simple sprite to positions in the left
  388.    and right viewports corresponding to the input (x, y, z)
  389.    position in the XSpecs coordinate system.  This function
  390.    must have been preceded by XSpecsGetSprite and
  391.    XSpecsChangeSprite.  Switching of the XSpecs Lenses will
  392.    give the illusion that the sprite is located at the XSpecs
  393.    (x, y, z) position.  See XSpecsLeftXY or XSpecsRightXY for a
  394.    complete description of the XSpecs coordinate system.  
  395.       Since sprite position is measured at the upper left
  396.    corner of the SpriteImage, it may sometimes be necessary to
  397.    offset the sprite position on the screen to center the image
  398.    at its intended position. Input xoffset and yoffset are
  399.    pixel values for adjusting the sprite display in this
  400.    manner.
  401.  
  402.    INPUTS
  403.    d0 = x (16 bits)
  404.    d1 = y (16 bits)
  405.    d2 = z (16 bits)
  406.    d3 = xoffset (# of horizontal pixels offset positive or negative)
  407.    d4 = yoffset (# of vertical pixels offset positive or negative)
  408.    d5 = sprite number
  409.  
  410.    RESULT
  411.    d0 = 0 if function successful
  412.    d0 = 1 if attempt to move outside of screen limits
  413.  
  414.    SEE ALSO
  415.    XSpecsGetSprite XSpecsChangeSprite XSpecsLeftXY
  416.    XSpecsRightXY
  417.  
  418.    BUGS
  419.    TBD
  420.  
  421.  
  422. XSpecsOn
  423.  
  424.    NAME
  425.    XSpecsOn - Begin switching XSpecs lenses.
  426.  
  427.    SYNOPSIS
  428.    UserPort = XSpecsOn (IDCMPFlags)
  429.    d0                   d0
  430.  
  431.    OFFSET= -42
  432.  
  433.    FUNCTION
  434.    This function starts the XSpecs vertical blank interrupt
  435.    which switches XSpecs lenses alternately from left to right. 
  436.    This function must have been proceeded by
  437.    XSpecsAllocateView.  XSpecs are assumed to be attached to
  438.    joystick connector #2.  You are automatically assigned a
  439.    UserPort for IDCMP messages.  You choose the IDCMP messages
  440.    to be received at this port by the input value of IDCMPFlags
  441.    in d0.
  442.  
  443.    INPUTS
  444.    d0 = IDCMPFlags
  445.  
  446.    RESULT
  447.    d0 = Address of UserPort if function successful
  448.    d0 = 1 if function unsuccessful
  449.  
  450.    SEE ALSO   
  451.    XSpecsOff
  452.  
  453.    BUGS  TBD
  454.  
  455.  
  456. XSpecsOff
  457.  
  458.    NAME
  459.    XSpecsOff - Turn off XSpecs lens switching.
  460.  
  461.    SYNOPSIS
  462.    XSpecsOff()
  463.  
  464.    OFFSET = -48
  465.  
  466.    FUNCTION
  467.    This function turns off switching of XSpecs lenses (which
  468.    had been initiated by XSpecsOn).
  469.  
  470.    SEE ALSO
  471.    XSpecsOn  XSpecsAllocateView
  472.  
  473.    BUGS
  474.    TBD
  475.  
  476.  
  477. XSpecsPolyDraw
  478.  
  479.    NAME
  480.    XSpecsPolyDraw - Draw a sequence of lines the XSpecs three
  481.    dimensional coordinate system.
  482.  
  483.    SYNOPSIS
  484.    Error = XSpecsPolyDraw (Points, Count)
  485.    d0                      a0      d0
  486.  
  487.    OFFSET = -144
  488.  
  489.    FUNCTION
  490.    This function draws a sequence of connected lines between
  491.    points in the XSpecs left and right rastports corresponding
  492.    to a sequence of (x, y, z) points in the XSpecs three
  493.    dimensional coordinate system.  The switching of XSpecs
  494.    lenses gives the illusion of a 3 dimensional sequence of
  495.    connected lines.  This function must have been preceded by
  496.    XSpecsAllocateView.  Lines are drawn using the current APen.
  497.    See XSpecsLeftXY or XSpecsRightXY for a complete description of
  498.    the XSpecs coordinate system.
  499.  
  500.    INPUTS
  501.    d0 = Count, the number of points in sequence.
  502.    a0 = Address of an array of 16 bit (x, y, z) values defining
  503.         each point.
  504.  
  505.    RESULT
  506.    d0 = 0 if function successful.
  507.    d0 = 1 if attempt to draw outside of screen boundary
  508.  
  509.    SEE ALSO  XSpecsDraw  XSpecsAllocateView  XSpecsSetAPen  
  510.  
  511.    BUGS  TBD
  512.  
  513.  
  514. XSpecsRightRastPort
  515.  
  516.    NAME
  517.    XSpecsRightRastPort - Find XSpecs right rastport address.
  518.  
  519.    SYNOPSIS
  520.    RightRastportAddress = XSpecsRightRastPort()
  521.    d0
  522.  
  523.    OFFSET = -120
  524.  
  525.    FUNCTION
  526.    This function returns the address of the XSpecs right
  527.    rastport.  This function must be preceded by
  528.    XSpecsAllocateView.  You can use this address with any of
  529.    the Amiga graphics functions to draw separately into the
  530.    right rastport.  Convert XSpecs three dimensional
  531.    coordinates to right rastport coordinates using
  532.    XSpecsRightXY.  See XSpecsRightXY for a complete description
  533.    of the XSpecs coordinate system.
  534.  
  535.    RESULT
  536.    d0 = Address of right rastport
  537.  
  538.    SEE ALSO
  539.    XSpecsAllocateView XSpecsRightXY XSpecsMove
  540.  
  541.    BUGS TBD
  542.  
  543.  
  544. XSpecsRightViewPort
  545.  
  546.    NAME
  547.    XSpecsRightViewPort - Find XSpecs right viewport address.
  548.  
  549.    SYNOPSIS
  550.    RightViewportAddress = XSpecsRightViewPort()
  551.    d0
  552.  
  553.    OFFSET = -132
  554.  
  555.    FUNCTION
  556.    This function returns the address of the XSpecs right
  557.    viewport.  This function must be preceded by
  558.    XSpecsAllocateView.
  559.  
  560.    RESULT
  561.    d0 = Address of right viewport
  562.  
  563.    SEE ALSO
  564.    XSpecsAllocateView XSpecsRightXY 
  565.  
  566.    BUGS TBD
  567.  
  568.  
  569. XSpecsRightXY
  570.  
  571.    NAME
  572.    XSpecsRightXY - Convert XSpecs three dimensional coordinates
  573.    to right rastport coordinates.
  574.  
  575.    SYNOPSIS
  576.    RightXY = XSpecsRightXY (x, y, z)
  577.    d0                       d0 d1 d2
  578.  
  579.    OFFSET = -108
  580.  
  581.    FUNCTION
  582.    The XSpecs coordinate system is a three dimensional system
  583.    with an origin (0, 0, 0 position) at the exact center of the
  584.    Amiga monitor screen.  The x direction is positive from this
  585.    point to the right and negative to the left.  The y
  586.    direction is positive from this position moving down and
  587.    negative moving up.  The z direction is positive from this
  588.    position moving into the screen and negative moving out of
  589.    the screen toward you.  For every point (x, y, z) in XSpecs
  590.    coordinates there is a corresponding point projected into
  591.    the both left and right rastports.  When each of these
  592.    points are drawn separately into the left and right
  593.    rastports, the switching of the XSpecs lenses from left to
  594.    right will give the illusion of a single point at the XSpecs
  595.    (x, y, z) position.  The scale of the XSpecs coordinate
  596.    system depends on the ViewModes selected when setting up the
  597.    XSpecs View (XSpecsAllocateView).  For LowRes views, the
  598.    scale is chosen as 320 units horizontally across the face of
  599.    the monitor.  For HiRes views, the scale is chosen as 640
  600.    units horizontally across the face of the monitor.  This
  601.    same scale is used both horizontally and vertically
  602.    resulting in about 440 units vertically in HiRes and 220
  603.    units vertically in LowRes at the face of the monitor.
  604.       This function converts the input XSpecs (x,y,z)
  605.    coordinates into rastport coordinates in the right rastport. 
  606.    Use this function to determine the position of points in the
  607.    right rastport corresponding to an (x,y,z) position in the
  608.    XSpecs coordinate system.  Rastport coordinates are measured
  609.    from the upper left corner of the screen.  The rastport is
  610.    either 320 or 640 pixels wide (depending on ViewMode) and
  611.    200 lines high.
  612.  
  613.    INPUTS
  614.    d0 = x (16 bits)
  615.    d1 = y (16 bits)
  616.    d2 = z (16 bits)
  617.  
  618.    RESULT
  619.    d0 = RightX (high 16 bits), RightY (low 16 bits)
  620.    d0 = -1 if point is outside screen boundaries
  621.  
  622.    SEE ALSO
  623.    XSpecsLeftXY
  624.  
  625.    BUGS  TBD
  626.  
  627.  
  628. XSpecsSetAPen
  629.  
  630.    NAME
  631.    XSpecsSetAPen - SetAPen in XSpecs left and right rastports.
  632.  
  633.    SYNOPSIS
  634.    XSpecsSetAPen (PenNumber)
  635.                   d0
  636.  
  637.    OFFSET = -54
  638.  
  639.    FUNCTION
  640.    This function sets the graphics APen in both the XSpecs left
  641.    and right rastports.  This function must have been preceded
  642.    by XSpecsAllocateView.
  643.  
  644.    INPUTS
  645.    d0 = PenNumber
  646.  
  647.    SEE ALSO
  648.    XSpecsSetDrMd  XSpecsAllocateView
  649.  
  650.    BUGS   TBD
  651.  
  652.  
  653. XSpecsSetDrMd
  654.  
  655.    NAME 
  656.    XSpecsSetDrMd - Set Draw mode in XSpecs left and right
  657.    rastports.
  658.  
  659.    SYNOPSIS
  660.    XSpecsSetDrMd (DrawMode)
  661.                   d0
  662.  
  663.    OFFSET = -138
  664.  
  665.    FUNCTION
  666.    This function sets the drawing mode in the XSpecs left and
  667.    right rastports.  This function must have been preceded by
  668.    XSpecsAllocateView.
  669.  
  670.    INPUTS
  671.    d0 = DrawMode
  672.  
  673.    SEE ALSO
  674.    XSpecsSetAPen  XSpecsAllocateView
  675.  
  676.    BUGS
  677.    TBD
  678.  
  679.  
  680. XSpecsSetRGB4
  681.  
  682.    NAME
  683.    XSpecsSetRGB4 - Set RGB values for a color register in
  684.    XSpecs left and right viewports.
  685.  
  686.    SYNOPSIS
  687.    XSpecsSetRGB4 (PenNumber, R, G, B)
  688.                   d0         d1 d2 d3
  689.    OFFSET = -60
  690.  
  691.    FUNCTION 
  692.    This function sets RGB values for a specific color register
  693.    in the XSpecs left and right viewports.  This function must
  694.    have been preceded by XSpecsAllocateView.
  695.    
  696.    INPUTS
  697.    d0 = PenNumber
  698.    d1 = R
  699.    d2 = G
  700.    d3 = B
  701.  
  702.    SEE ALSO
  703.    XSpecsLoadRGB4
  704.  
  705.    BUGS  TBD
  706.  
  707.  
  708. XSpecsText
  709.  
  710.    NAME
  711.    XSpecsText - Write text at XSpecs coordinates (x, y, z).
  712.  
  713.    SYNOPSIS
  714.    Error = XSpecsText (Text, x, y, z, Count)
  715.    d0                  a0    d0 d1 d2 d3
  716.  
  717.    OFFSET = -72
  718.  
  719.    FUNCTION
  720.    This function writes text in both the XSpecs left and right
  721.    rastports beginning at positions corresponding to the input
  722.    Xspecs (x, y, z) coordinates.  Switching of the XSpecs 
  723.    lenses gives an illusion of a single row of text in the 
  724.    XSpecs three dimensional coordinate system.  Text is drawn
  725.    using the current value APen.  This function must have been
  726.    preceded by XSpecsAllocateView.  See XSpecsLeftXY or
  727.    XSpecsRightXY for a complete description of the XSpecs
  728.    coordinate system.
  729.  
  730.    INPUTS
  731.    a0 = Address of text string
  732.    d0 = x (16 bits)
  733.    d1 = y (16 bits)
  734.    d2 = z (16 bits)
  735.    d3 = Count, or number of text characters
  736.  
  737.    RESULT
  738.    d0 = 0 if function successful
  739.    d0 = 1 if Starting Point is outside screen limits.  Function
  740.    does not check if end of text is outside screen limits.
  741.  
  742.    SEE ALSO
  743.    XspecsAllocateView  XSpecsLeftXY XSpecsRightXY
  744.    XSpecsSetAPen
  745.  
  746.    BUGS TBD
  747.  
  748.  
  749. XSpecsTime
  750.  
  751.    NAME
  752.    XSpecsTime - Get Time in 1/60th of second intervals.
  753.  
  754.    SYNOPSIS
  755.    Time = XSpecsTime()
  756.    d0
  757.  
  758.    OFFSET = -168
  759.  
  760.    FUNCTION
  761.    This function provides a count of the number of 1/60 second
  762.    vertical blank intervals that have occurred since
  763.    XSpecsOn.  This count can be used for any timing purposes in
  764.    your program.  This function must have been preceded by
  765.    XSpecsOn.
  766.  
  767.    RESULT
  768.    d0 = Time
  769.  
  770.    SEE ALSO
  771.    XSpecsOn
  772.  
  773.    BUGS      TBD
  774.  
  775.  
  776. XSpecsWritePixel
  777.  
  778.    NAME
  779.    XSpecsWritePixel - Write pixel in XSpecs three dimensional
  780.    coordinate system.
  781.  
  782.    SYNOPSIS
  783.    Error = XSpecsWritePixel (x, y, z)
  784.    d0                        d0 d1 d2
  785.  
  786.    OFFSET = -78
  787.  
  788.    FUNCTION
  789.    This function writes a pixel in both left and right XSpecs
  790.    rastports at positions corresponding to a point (x, y, z) in
  791.    the XSpecs three dimensional coordinate system.  The
  792.    switching of the XSpecs lenses gives the illusion of a
  793.    single point the XSpecs coordinate system.  The pixel is
  794.    written using the current APen.  This function must have
  795.    been preceded by XSpecsAllocateView. See XSpecsLeftXY or
  796.    XSpecsRightXY for a complete description of the XSpecs
  797.    coordinate system.
  798.  
  799.    INPUTS
  800.    d0 = x (16 bits)
  801.    d1 = y (16 bits)
  802.    d2 = x (16 bits)
  803.  
  804.    RESULT
  805.    d0 = 0 if function successful
  806.    d0 = 1 if attempt to write outside screen limits
  807.  
  808.    SEE ALSO               
  809.    XSpecsSetAPen  XSpecsLeftXY 
  810.  
  811.    BUGS  TBD
  812.