home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / grap / util / 006 / 8514a.txt next >
Text File  |  1993-01-22  |  28KB  |  659 lines

  1. IBM 8514/A
  2.  
  3. 8514/A clones:
  4.  
  5. ATI 38800-5 (MACH 8), 68800 (MACH 32)
  6. Chips&Tech 82c480
  7. Paradise  ??
  8.  
  9.  
  10. 0102h (R/W): Setup Control Register
  11. bit     0  If set the adapter is enabled, if clear the card is
  12.        invisible to the system.
  13.       1-7  Reserved(0)
  14.  
  15. 02E8h W(R): Display Status Register
  16. bit     0  SENSE is the result of a wired-OR of 3 comparators, one
  17.        for each of the RGB video signal.
  18.        By programming the RAMDAC for various values
  19.        and patterns and then reading the SENSE, the monitor type
  20.        (color, monochrome or none) can be determined.
  21.     1  VBLANK. Vertical Blank State
  22.        If Vertical Blank is active this bit is set.
  23.     2  HORTOG. Horizontal Toggle
  24.        This bit toggles every time a HSYNC pulse starts
  25.      3-15  Reserved(0)
  26.  
  27. 02E8h W(W): Horizontal Total Register (H_TOTAL)
  28. bits  0-8  Horizontal Total defines the total horizontal scan line width
  29.        including the display, blank and sync times.
  30.        All horizontal timings are in "double nuggets"
  31.        (8 or 10 pixels depending on the state of MEM_CNTL[0]).
  32.        The actual value is one latger than this register.
  33.      9-15  Reserved(0)
  34. Note: this register is written at 02E8 and read at 26E8h.
  35.  
  36. 02EAh (R/W): DAC Mask Register (DAC_MASK)
  37. bits  0-7  DAC mask. This value is anded to the pixel data before going
  38.        to the DAC. Set to 0FFh for normal operation.       
  39. Note: In VGA passthrough mode writes to the VGA palette address 03C6h
  40.       will go to this address to allow the 8514/A to mirror palette changes.
  41.  
  42. 02EBh (R/W): DAC Read Index Register (DAC_R_INDEX)
  43. bits  0-7  DAC Read Index. Indicates which of the 256 palette entries
  44.        will be read by the current sequence of I/O read operations
  45.        to the DAC_DATA (02EDh) register.
  46. Note: In VGA passthrough mode writes to the VGA palette address 03C7h
  47.       will go to this address to allow the 8514/A to mirror palette changes.
  48.  
  49. 02ECh (R/W): DAC Write Index Register (DAC_W_INDEX)
  50. bits  0-7  DAC Write Index. Indicates which of the 256 palette entries
  51.        will be written by the current sequence of I/O write operations
  52.        to the DAC_DATA (02EDh) register.
  53. Note: In VGA passthrough mode writes to the VGA palette address 03C8h
  54.       will go to this address to allow the 8514/A to mirror palette changes.
  55.  
  56. 02EDh (R/W): DAC DATA Register (DAC_DATA)
  57. bits  0-7  DAC Data. 
  58. Note: In VGA passthrough mode writes to the VGA palette address 03C9h
  59.       will go to this address to allow the 8514/A to mirror palette changes.
  60.  
  61. 06E8h W(W): Horizontal Displayed Register (H_DISP)
  62. bits  0-7  Number of "double nuggets"-1 displayed in a scan line.
  63.      8-15  Reserved(0) 
  64. Note: In the 8514/A this register is Writeonly,
  65.       In the Chips&Tech 82c480 it is Read/Write. 
  66.  
  67. 0AE8h W(W): Horizontal Sync Start Register (H_Sync_STRT)
  68. bits  0-7  Hsync starts at (H_SYNC_STRT +1) double nugget periods.
  69.      8-15  Reserved(0) 
  70. Note: In the 8514/A this register is Writeonly,
  71.       In the Chips&Tech 82c480 it is Read/Write. 
  72.  
  73. 0EE8h W(W): Horizontal Sync Width Register (H_SYNC_WID)
  74. bits  0-4  Width of the Horizontal Sync pulse in "double nuggets".
  75.     5  Horizontal Sync Polarity (HSYNCPOL).
  76.        If set the Horizontal Sync Pulse is Negative, else Positive.
  77.      6-15  Reserved(0)
  78. Note: In the 8514/A this register is Writeonly,
  79.       In the Chips&Tech 82c480 it is Read/Write. 
  80.  
  81. 12E8h W(W): Vertical Total Register (V_TOTAL)
  82. bits  0-2  Vertical Total Adjust (VTADJ).
  83.      3-11  Vertical Total Base (VTB).
  84.        The Vertical Total is calculated as:
  85.        Vertical Total = (Scan Modolus * VTB)+VTADJ+1
  86.        Where the Scan Modulus is found from the DBLSCAN and
  87.        MEMCFG bits of the DISP_CNTL register (22E8h).
  88.         
  89.        DBLSCAN:      MEMCFG:     Scan Modulus:
  90.           0            0 0           2
  91.           0            0 1           4
  92.           0            1 0           6 
  93.           0            1 1           8
  94.           1            0 0           4
  95.           1            0 1           8
  96.           1            1 0          12
  97.           1            1 1          16 
  98.  
  99.     12-15  Reserved(0)
  100. Note: In the 8514/A this register is Writeonly,
  101.       In the Chips&Tech 82c480 it is Read/Write. 
  102.  
  103. 16E8h W(W): Vertical Displayed Register (V_DISP)
  104. bits  0-2  Vertical Displayed Adjust (VDADJ)
  105.      3-11  Vertical Displayed Base (VDB)
  106.        The Vertical Displayed is calculated as:
  107.        Vertical Displayed = (Scan Modolus * VDB)+VDADJ+1
  108.        Where the Scan Modulus is the same as for
  109.        Vertical Total in 12E8h.
  110.     12-15  Reserved(0)
  111. Note: In the 8514/A this register is Writeonly,
  112.       In the Chips&Tech 82c480 it is Read/Write. 
  113.  
  114. 1AE8h W(W): Vertical Sync Start Register (V_SYNC_STRT)
  115. bits  0-2  Vertical Sync Start Adjust (VSADJ)
  116.      3-11  Vertical Sync Start Base (VSB)
  117.        The Vertical Sync Start is calculated as:
  118.        Vertical Sync Start = (Scan Modolus * VSB)+VSADJ+1
  119.        Where the Scan Modulus is the same as for
  120.        Vertical Total in 12E8h.
  121.     12-15  Reserved(0)
  122. Note: In the 8514/A this register is Writeonly,
  123.       In the Chips&Tech 82c480 it is Read/Write. 
  124.  
  125. 1EE8h W(W): Vertical Sync Width Register (V_SYNC_WID)
  126. bits  0-4  Number of scanlines in the Vertical Sync pulse.
  127.     5  Vertical Sync Polarity (VSYNCPOL).
  128.        If set the Vertical Sync pulse is Negative, else Positive.
  129.      6-15  Reserved(0)
  130. Note: In the 8514/A this register is Writeonly,
  131.       In the Chips&Tech 82c480 it is Read/Write. 
  132.  
  133. 22E8h W(W): Display Control Register (DISP_CNTL)
  134. bit     0  Odd Bank Enable (ODDBNKENAB).
  135.        If set use Horizontally Interleaved banks.
  136.        (Normal 8514/A mode).
  137.       1-2  Memory Configuration (MEMCFG).
  138.          0  NCLK     (PS8 Mode)
  139.          1  NCLK/2   (Normal 8514/A Mode)
  140.          2  NCLK/3
  141.          3  NCLK/4
  142.     3  (Double Scan) DBLSCAN. If set doublescan is enabled.
  143.     4  INTERLACE. Interlace if set.
  144.       5-6  Display Enable (DISPEN)
  145.           0 = No effect
  146.           1 = Enable Hsync, Vsync, Blank, data transfer cycles
  147.           and refresh cycles.
  148.         2,3 = Disable Hsync, Vsync, Blank, data transfer cycles
  149.           and refresh cycles.
  150.      7-15  Reserved(0)
  151. Note: In the 8514/A this register is Writeonly,
  152.       In the Chips&Tech 82c480 it is Read/Write. 
  153.  
  154. 26E8h W(R): Horizontal Total Register (H_TOTAL)
  155. Note: this register is written at 02E8 and read at 26E8h.
  156.  
  157. 2EE8h W(R): Subsystem Control Register (SUBSYS_CNTL)
  158. Note: In the original IBM 8514/A this register is Write only. 
  159.       In the CT82c480 it is written to 48E8h and read from 2EE8h.  
  160.  
  161. 42E8h W(R): Subsystem Status Register (SUBSYS_STAT)
  162. bit   0-3  Interrupt requests. THese bits show the state of internal interrupt
  163.        requests. An interrupt will only occur if the corresponding bit(s) in
  164.        SUBSYS_CNTL is set. Interrupts can only be reset by writing a 1 to the
  165.        corresponding Interrupt Clear bit in SUBSYS_CNTL.
  166.          Bit 0: VBLNKFLG
  167.          1: PICKFLAG
  168.          2: INVALIDIO
  169.          3: GPIDLE 
  170.       4-6  MONITORID.
  171.           1: IBM 8507 (1024x768) Monochrome
  172.           2: IBM 8514 (1024x768) Color
  173.           5: IBM 8503 (640x480) Monochrome
  174.           6: IBM 8512/13 (640x480) Color
  175.     7  8PLANE.  
  176.        (CT82c480) This bit is latched on reset from pin P4D7.
  177.      8-11  CHIP_REV. Chip revision number.
  178.     12-15  (CT 82c480) CHIP_ID. 0=CT 82c480.
  179.  
  180. 42E8h W(W): Subsystem Control Register (SUBSYS_CNTL)
  181. bit   0-3  Interrupt Reset. Write 1 to a bit to reset the interrupt.
  182.        Bit 0  RVBLNKFLG   Write 1 to reset Vertical Blank interrupt.
  183.            1  RPICKFLAG   Write 1 to reset PICK interrupt.
  184.            2  RINVALIDIO  Write 1 to reset Queue Overflow/Data
  185.                   Underflow interrupt.
  186.            3  RGPIDLE     Write 1 to reset GPIDLE interrupt.
  187.       4-7  Reserved(0)
  188.     8  IBLNKFLG.   If set Vertical Blank Interrupts are enabled.
  189.     9  IPICKFLAG.  If set PICK Interrupts are enabled.
  190.        10  IINVALIDIO. If set Queue Overflow/Data Underflow Interrupts are enabled.
  191.        11  IGPIDLE.    If set Graphics Engine Idle Interrupts are enabled.
  192.     12-13  CHPTEST. Used for chip testing.
  193.     14-15  Graphics Processor Control (GPCTRL).
  194. Note: In the original IBM 8514/A this register is Write only. 
  195.       In the CT82c480 it is written to 48E8h and read from 2EE8h.  
  196.  
  197. 46E8h W(W): ROM Page Select Register