home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / doc / graphdoc / ncr.txt < prev    next >
Text File  |  1994-01-18  |  14KB  |  325 lines

  1.    NCR 77C21
  2.    NCR 77C22
  3.    NCR 77C22E    4MB, 1280x1024 256 col
  4.    NCR 77C22E+
  5.    NCR 77C22BLT  BitBLT support
  6.  
  7.  
  8. 3C4h index  5  (R/W):  Extended Function Enable Register
  9. bit   0  Enables extended registers if set.
  10.       1  Reserved (always 0).
  11.       2  If set the Hardware Configuration registers (3C4h index 23h bit 0-3,
  12.          index 27h bit 1, index 1Fh bit 5 and index 1Eh bits 0-1) can be
  13.          modified.
  14.     3-7  Reserved
  15.  
  16. 3C4h index  8  (R):  Version Number Register
  17. bit 0-3  Chip revision
  18.     4-7  Product Code: 0=77C22, 1=77C21, 2=77C22E and >=8 is 77C22E+.
  19.  
  20. 3C4h index 0Ah (R/W):  Cursor Foreground Color Register
  21. bit 0-7  Foreground color of the Bit Mapped Cursor.
  22.          Plane 0=0 and plane 1=1.
  23.  
  24. 3C4h index 0Bh (R/W):  Cursor Background Color Register 
  25. bit 0-7  Background color of the Bit Mapped Cursor. 
  26.          Plane 0=0 and plane 1=0.
  27.  
  28. 3C4h index 0Ch (R/W):  Cursor Control Register
  29. bit   0  Cursor enable. When set enables the Bit Mapped cursor.
  30.     1-2  Cursor height select. 
  31.          0=16 lines, 1=32 lines, 2=64 lines and 3=128 lines.
  32.       3  Blink frequency select. If set the Bit Mapped Cursor is on for 16
  33.          frames and off for another 16 frames. If clear it is on for 8 frames
  34.          and off for another 8 frames.
  35.       4  If set the Bit Mapped Cursor blinks.
  36.     5-7  Reserved.
  37.  
  38. 3C4h index 0Dh (R/W):  Cursor X Location High register
  39. bit 0-2  Bits 8-10 of the horizontal position of the Bitmapped Cursor.
  40.          The lower 8 bits are in 3C4h index 0Eh.
  41.     3-7  Reserved
  42.  
  43. 3C4h index 0Eh (R/W):  Cursor X Location Low register
  44. bit 0-7  Lower 8 bits of the horizontal position of the Bitmapped Cursor.
  45.          The upper 3 bits are in 3C4h index 0Dh.
  46.  
  47. 3C4h index 0Fh (R/W):  Cursor Y Location High register
  48. bit 0-1  Bits 8-9 of the vertical position of the Bitmapped Cursor.
  49.          The lower 8 bits are in 3C4h index 10h.
  50.     2-7  Reserved
  51.  
  52. 3C4h index 10h (R/W):  Cursor Y Location Low register
  53. bit 0-7  Lower 8 bits of the vertical position of the Bitmapped Cursor.
  54.          The upper 2 bits are in 3C4h index 0Fh.
  55.  
  56. 3C4h index 11h (R/W):  Cursor X Index Register.
  57. bit 0-5  Horizontal location of the Hot Spot from the left of the cursor.
  58.     6-7  Reserved.
  59.  
  60. 3C4h index 12h (R/W):  Cursor Y Index Register.
  61. bit 0-4  Vertical location of the Hot Spot from the top of the cursor.
  62.     5-7  Reserved.
  63.  
  64. 3C4h index 13h (R/W):  Cursor Storage Register High.
  65. bit 0-7  Bits 8-15 of the address of the cursor bitmap.
  66.          The lower 8 bits are in 3C4h index 14h.
  67.  
  68. 3C4h index 14h (R/W):  Cursor Storage Register Low.
  69. bit 0-7  Bits 0-7 of the address of the cursor bitmap.
  70.          The upper 8 bits are in 3C4h index 13h.
  71.  
  72. 3C4h index 15h (R/W):  Cursor Storage Offset Register High.
  73. bit 0-7  Bits 8-15 of the Cursor Storage Offset.
  74.          The lower 8 bits are in 3C4h index 16h.
  75.  
  76. 3C4h index 16h (R/W):  Cursor Storage Offset Register Low.
  77. bit 0-7  Bits 0-7 of the Cursor Storage Offset.
  78.          The upper 8 bits are in 3C4h index 15h.
  79.          If extended memory is enabled (3C4h index 1Eh bit4 set)
  80.          the Cursor Storage Offset is multiplied with 16 and added
  81.          to the Cursor Storage Address to form a 20 bit address.
  82. Note: The cursor map is stored as a #lines*(32+32bit) bitmap
  83.       The behavior of the cursor in each pixel is defined by the combination
  84.       of the pixels from the two 32bit maps (The first pixel of the cursor is
  85.       stored in the last byte):
  86.        1st   2nd    Description
  87.         0     0     Background color (index 0Bh)
  88.         0     1     Foreground color (index 0Ah)
  89.         1     0     screen data (transparent cursor)
  90.         1     1     Inverted screen data (XOR cursor)
  91. Note: It is possible that for the 77c22e revision 2 the pixel order in the map
  92.       should be reversed.
  93.  
  94. 3C4h index 17h (R/W):  Cursor Pixel Mask Register.
  95. bit 0-7  Each bit set allows the corresponding bit in a pixel to be
  96.          affected by the Bitmapped Cursor.
  97.  
  98. 3C4h index 18h (R/W):  Primary Host Offset Register High.
  99. bit 0-7  Bits 8-15 of the Primary Host Offset.
  100.          The lower 8 bits are in 3C4h index 19h.
  101.  
  102. 3C4h index 19h (R/W):  Primary Host Offset Register Low.
  103. bit 0-7  Bits 0-7 of the Primary Host Offset.
  104.          The upper 8 bits are in 3C4h index 18h.
  105.          If extended memory is enabled (3C4h index 1Eh bit4 is set)
  106.          all Host addresses are modified by multiplying either the 
  107.          Primary or the Secondary Host Offset with 16 and adding
  108.          the result to the Host address.
  109.          If 3C4h index 1Eh bit is set all read operations use the
  110.          Secondary Host Offset and all write operations use the 
  111.          Primary Host address, otherwise both read and write operations
  112.          use the Primary Host Offset.
  113.  
  114. 3C4h index 1Ah (R/W):  Display Offset Register High.
  115. bit 0-7  Bits 8-15 of the Display Offset.
  116.          The lower 8 bits are in 3C4h index 1Bh.
  117.  
  118. 3C4h index 1Bh (R/W):  Display Offset Register Low. 
  119. bit 0-7  Bits 0-7 of the Display Offset.
  120.          The upper 8 bits are in 3C4h index 1Ah.
  121.          If extended memory and Display Offset are enabled (3C4h 
  122.          index 1Eh bit4 and 3 are both set) the Display Offset
  123.          is multiplied with 16 and added to the normal display address.
  124.  
  125. 3C4h index 1Ch (R/W):  Secondary Host Offset Register High.
  126. bit 0-7  Bits 8-15 of the Secondary Host Offset.
  127.          The lower 8 bits are in 3C4h index 1Dh.
  128.  
  129. 3C4h index 1Dh (R/W):  Secondary Host Offset Register Low.
  130. bit 0-7  Bits 0-7 of the Secondary Host Offset.
  131.          The upper 8 bits are in 3C4h index 1Ch.
  132.          If extended memory and Secondary Offset are enabled (3C4h
  133.          index 1Eh bit4 and 2 are both set) all read operations
  134.          are modified by multiplying the Secondary Offset by 16
  135.          and adding the result to the Host address.
  136.  
  137. 3C4h index 1Eh (R/W):  Extended Memory Enable Register.
  138. bit 0-1  DRAM configuration. These bits can only be modified
  139.          if 3C4h index 5 bit 2 is set. 
  140.       2  If this bit and bit 4 are set all read operations are 
  141.          modified by multiplying the Secondary Host Offset by 16
  142.          and adding the result to the host address.
  143.       3  If this bit and bit 4 are set all display addresses are 
  144.          modified by multiplying the Display Offset by 16
  145.          and adding the result to the normal display address.
  146.       4  If set extended memory is enabled.
  147.     5-7  Reserved.     
  148.  
  149. 3C4h index 1Fh (R/W):  Extended Clocking Mode.
  150. bit 0-3  If bit 4 set this determines the font width:
  151.            0   4 bit wide font
  152.            1   7 bit wide font 
  153.            2   8 bit wide font
  154.            3   9 bit wide font
  155.            4  10 bit wide font
  156.            5  11 bit wide font
  157.            6  12 bit wide font
  158.            7  13 bit wide font
  159.            8  14 bit wide font
  160.            9  15 bit wide font
  161.           0Bh 16 bit wide font
  162.       4  If set enables extended font width.
  163.       5  Clock Output enable.
  164.       6  (22E,22E+) Clock Select Bit 2
  165.       7  Reserved      
  166.  
  167. 3C4h index 20h (R/W):  Extended Video Memory Addressing Register
  168. bit   0  Addition of host address bit 16.
  169.       1  Extended chain-4 enable.
  170.     2-7  Reserved.
  171.  
  172. 3C4h index 21h (R/W):  Extended Pixel Control Register
  173. bit   0  Enable graphics byte path if set.
  174.       1  Enable packed/nibble pixel format (2 pixels of 4 bits per byte)
  175.          if set.
  176.     2-7  Reserved. 
  177.  
  178. 3C4h index 22h (R/W):  Bus Width Feed Back Register.
  179. bit   0  Enables 16 bit memory access if set.
  180.       1  Enables 16 bit I/O access if set.
  181.     2-7  Reserved.
  182.  
  183. 3C4h index 23h (R/W):  Performance Select Register
  184. bit   0  Reserved  (Burst Enable).
  185.       1  Selects 3 clock RAS cycles if set. Should not be set!!
  186.       2  Enables Fast Page Mode if set. Set by external resistor.
  187.     3-5  Reserved.
  188.       6  Unlatched Memory Writes (Only in 256 color modes with OSC3).
  189.          If set limits the duration of CHRDY assertion time by limiting FIFO
  190.          fill lengths.
  191.       7  Latched Memory Reads. If set the assertion of CHRDY can be 
  192.          eliminated during read cycles.
  193.  
  194. 3C4h index 24h (R/W):  Color Expanded Write Foreground Register.
  195. bit 0-7  When in expanded write mode (3C4h index 26h bit 0 set) 
  196.          a monochrome bitmap can be expanded to 256 or 16 colors 
  197.          8 or 16 pixels at a time. '1' bits in the bitmap are expanded
  198.          to this color. For 16 color modes only bit 0-3 are used.   
  199.  
  200. 3C4h index 25h (R/W):  Color Expanded Write Background Register.
  201. bit 0-7  When in expanded write mode (3C4h index 26h bit 0 set) 
  202.          a monochrome bitmap can be expanded to 256 or 16 colors 
  203.          8 or 16 pixels at a time. '0' bits in the bitmap are expanded
  204.          to this color. For 16 color modes only bit 0-3 are used.   
  205.  
  206. 3C4h index 26h (R/W):  Extended Read/Write Control Register.
  207. bit   0  FG/BG Color Expansion Enable.
  208.          When set enables expansion from monochrome bitmaps to full color
  209.          using 3C4h index 24h and 25h as fore- and background colors.
  210.       1  Color Expansion Enable Mode 1
  211.          If set enables 256 color expansion.
  212.          If clear 8bit pixel values can be written to the framebuffer 
  213.          as in standard mode 13h.
  214.          If clear and bit 0 is set then 16 color expansion is enabled.
  215.       2  Color Expansion Enable Mode 2.
  216.          If set accesses to even addresses will work on the upper 4 bits
  217.          of the data at the even address and the lower 4 bits of the
  218.          data at the following odd address.
  219.          This mode should only be used when the 77C22E is configured
  220.          as a 16 bit device and only with even addresses.
  221.       3  Planar to Packed Pixel Conversion Enable
  222.          Enables 16/256 color pixel expansion when set.
  223.          This bit should always be set when bit 1 is. 
  224.       4  Packed Pixel Mask Enable
  225.          When in packed pixel modes, this bit is set to enable pixel masking
  226.          operations. This bit should be set when bit 1 is.
  227.       5  Packed Pixel Color Compare
  228.          When set configures the color compare logic to operate on packed
  229.          pixel data. This bit should be set when bit 1 is.
  230.       6  Quad Word Read Latch for Writes
  231.          If set 64 bits are written when 16 bit latched write operations
  232.          occurs in write mode 1. Allows fast copy of data within the
  233.          framebuffer.
  234.       7  Address Toggle
  235.          When bit 6 is set this bit specifies how address information is
  236.          maintained with the latched data.  
  237.  
  238. 3C4h index 27h (R/W):  Miscellaneous Feature Select Register.
  239. bit   0  Extended Palette addressing enable.
  240.          If set I/O address bit 15 is passed to the RS2 pin of the
  241.          palette DAC chip, so that I/O address 03C6h - 03C9h address
  242.          the first 4 registers of the DAC chip and 83C6h - 83C9h 
  243.          address four other registers. 
  244.          Useful for advanced DACs with overlay and command registers.
  245.       1  If set the 77C22E outputs DRAM interface signals for direct
  246.          interfacing with 64K x 16 DRAMS.
  247.       2  If set this bit disables the address decoding for the BIOS
  248.          ROM at C000h-C7FFFh thus allowing this area to be used for 
  249.          other adapters.
  250.       3  User Defined Output (I/O Control pin 2).
  251.          This bit is output on pin 2 for clock control.
  252.  
  253. 3d4h index 30h (R/W):  Extended Horizontal Timings Register.
  254. bit   0  Horizontal Total bit 8.
  255.          Bit 8 of the Horizontal Total register.
  256.          Bits 0-7 are in 3d4h index 4.
  257.       1  Horizontal Display Enable End bit 8.
  258.          Bit 8 of the Horizontal Display Enable End register.
  259.          Bits 0-7 are in 3d4h index 2.
  260.       2  Start Horizontal Blanking bit 8.
  261.          Bit 8 of the Start Horizontal Blanking register.
  262.          Bits 0-7 are in 3d4h index 1.
  263.       3  Start Horizontal Retrace bit 8.
  264.          Bit 8 of the Start Horizontal Retrace register.
  265.          Bits 0-7 are in 3d4h index 0.
  266.       4  (22E, 22E+) Interlace Enable.
  267.          Enables interlace video for high resolution graphics modes.
  268.          Note in interlaced modes the line doubling from index 9 bits 0-4&7
  269.          is ignored.
  270.     5-7  Reserved.
  271. Note: The extended Function Enable Register (3C4h index 5) bit 0
  272.       must be 1 to access this register.
  273.  
  274. 3d4h index 31h (R/W):  Extended Start Address Register
  275. bit 0-3  Display Start Address bit 16-19. 
  276.          (bit 0-15 are in 3d4h index Ch and Dh).
  277.     4-7  Reserved.   
  278.  
  279.  
  280.   ID NCR VGA:
  281.  
  282.   if testinx2($3C4,5,5) then
  283.   begin
  284.     wrinx($3C4,5,0);   {Lock extensions}
  285.     if not testinx($3C4,$10) then
  286.     begin
  287.       wrinx($3C4,5,1);
  288.       if testinx($3C4,$10) then
  289.         case rdinx($3C4,8) div 16 of
  290.           0:NCR 77C22;
  291.           1:NCR 77C21;
  292.           2:NCR 77C22E;
  293.       8..15:NCR 77C22E+;
  294.         end;
  295.     end;
  296.   end;  
  297.  
  298.  
  299.   Video Modes:
  300.  
  301.   54h T  132   50  16  (8x8)  
  302.   55h T  132   25  16  (8x16) 
  303.   56h T  132   50   4  (8x8)
  304.   57h T  132   25   4  (8x16) 
  305.   58h G  800  600  16  PL4
  306.   59h G  800  600   2  
  307.   5Ah G 1024  768   2  
  308.   5Bh G 1024  768  16  PL4    (Interlaced)  
  309.   5Ch G  800  600 256  P8
  310.   5Dh G 1024  768  16  PL4
  311.   5Eh G  640  400 256  P8
  312.   5Fh G  640  480 256  P
  313.   61h G 1024  768 256  P8     (Interlaced)    22E !!
  314.   62h G 1024  768 256  P8                     22E !!
  315.   67h G 1280 1024  16  PL4    (Interlaced)    22E !!
  316.   6Ah G 1280 1024 256  P8     (Interlaced)    22E !!
  317.   6Bh G 1280  960 256  P8                     22E !!
  318.   70h G  640  480 32k  P15                    22E !! 
  319.   71h G  800  600 32k  P15                    22E
  320.   78h G  640  480 64k  P16                    22E
  321.   79h G  800  600 64k  P16                    22E
  322.  
  323. Note: Modes above 57h may require a driver (setmode.sys) to be loaded
  324.       depending on BIOS version.
  325.