home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / document / vgadoc.arj / VIDEO7.DOC < prev    next >
Text File  |  1991-12-05  |  16KB  |  407 lines

  1.   Video 7 Super VGA.
  2.   Now Headland Technologies
  3.  
  4.     Earlier V7/Headland boards use Chips&Technologies and Cirrus chips.
  5.  
  6.     V7VRAM
  7.     V71024i
  8.  
  9.     Both use the HT-208 (V7VGA) chip.
  10.  
  11.  
  12.  
  13.  
  14.        100h (R/W?): Microchannel ID low
  15.        bit 0-7  Card ID bit 0-7
  16.  
  17.        101h (R/W?): Microchannel ID high
  18.        bit 0-7  Card ID bit 8-15
  19.  
  20.        102h (R/W): Alt Video Subsystem Enable
  21.          bit 0  Enable Video if set
  22.                 Must be armed by 3C4h index 0FCh bit 7
  23.                 or in setup mode (46E8h bit4) to change.
  24.  
  25.        3C2h (W): Misc Output register
  26.          bit 5  Bit 1 of Bank no.
  27.  
  28.        Note:  This register can be read at 3CCh.
  29.  
  30.        3C3h (R/W): Video Subsystem Enable
  31.          bit 0  Enable Microchannel Video if set
  32.                 Must be armed by 3C4h index 0FCh bit 7 to change.
  33.  
  34.        3C4h index  6  (R/W): Extension Control
  35.        bit   0  (Read Only) Extensions enabled if set
  36.        bit 0-7  (Write Only) 0EAh Enables extensions, 0AEh disables.
  37.  
  38.        3C4h index  7  (R/W): Reset Horizontal Character Counter
  39.  
  40.        3C4h index 80h (R/W): Test
  41.  
  42.        3C4h index 81h (R/W): Test
  43.  
  44.        3C4h index 82h (R/W): Test
  45.  
  46.        3C4h index 83h (R/W): Attribute Control Index
  47.  
  48.        3C4h index 8Eh-8Fh (R): Chip Version
  49.        bit 0-7  Chip version:
  50.                   80h-FFh: VEGA VGA Chip,
  51.                       70h: V7VGA chip revision 1,2 or 3
  52.                       71h: V7VGA chip revision 4
  53.                   50h-59h: V7VGA Version 5
  54.                   41h-49h: 1024i.
  55.  
  56.        3C4h index 94h (R/W): Pointer Pattern Address
  57.        bit 0-7  Bit 6-13 of the start address of the Pointer Pattern
  58.  
  59.        3C4h index 9Ch (R/W): Pointer Horizontal Position High
  60.        bit 0-2  Bit 8-10 of the X coordinate of the Pointer
  61.  
  62.        3C4h index 9Dh (R/W): Pointer Horizontal Position Low
  63.        bit 0-7  Bit 0-7 of the X coordinate of the Pointer
  64.  
  65.        3C4h index 9Eh (R/W): Pointer Vertical Position High
  66.        bit 0-1  Bit 8-9 of the Y coordinate of the Pointer
  67.  
  68.        3C4h index 9Fh (R/W): Pointer Vertical Position Low
  69.        bit 0-7  Bit 0-7 of the Y coordinate of the Pointer
  70.  
  71.        3C4h index A0h (R/W): GC Memory Latch 0
  72.        bit 0-7  Plane 0 Memory Latch Data
  73.  
  74.        3C4h index A1h (R/W): GC Memory Latch 1
  75.        bit 0-7  Plane 1 Memory Latch Data
  76.  
  77.        3C4h index A2h (R/W): GC Memory Latch 2
  78.        bit 0-7  Plane 2 Memory Latch Data
  79.  
  80.        3C4h index A3h (R/W): GC Memory Latch 3
  81.        bit 0-7  Plane 3 Memory Latch Data
  82.  
  83.        3C4h index A4h (R/W): Clock Select
  84.  
  85.        3C4h index A5h (R/W): Cursor Attributes
  86.          bit 0  Cursor blink enabled if clear
  87.              3  Text Cursor Mode is XOR if set, Replace if clear
  88.              7  Graphics Cursor Enabled if set
  89.  
  90.        3C4h index B0h-BFh (R/W): Scratch Registers
  91.        bit 0-7  Scratch
  92.  
  93.        3C4h index E0h (R/W): Miscellaneous Control      (Version 4+)
  94.        bit 0-6  Reserved
  95.              7  Enables Split Bank Mode
  96.  
  97.        3C4h index E8h (R/W): Single/Write Bank Register (Version 4+)
  98.        bit 4-7  Single/Write Bank no.
  99.  
  100.        3C4h index E9h (R/W): Read Bank Register         (Version 4+)
  101.        bit 4-7  Read Bank no.
  102.                 Only Active if Split mode enabled (3C4h index E0h bit 7)
  103.  
  104.        3C4h index EAh (W): Switch Strobe
  105.        Note:  A write to this register copies the switch positions to
  106.               the Switch Readback Register (3C4h index F7h).
  107.  
  108.        3C4h index EBh (R/W): Emulation Control
  109.  
  110.        3C4h index ECh (R/W): Foreground Latch 0
  111.        bit 0-7  Foreground Latch for plane 0. When in Dither Foreground mode
  112.                 (3C4h index FEh bit 2-3 = 2) the data in this register
  113.                 replaces the data written from the processor.
  114.  
  115.        3C4h index EDh (R/W): Foreground Latch 1
  116.        bit 0-7  Foreground Latch for plane 1.
  117.  
  118.        3C4h index EEh (R/W): Foreground Latch 2
  119.        bit 0-7  Foreground Latch for plane 2.
  120.  
  121.        3C4h index EFh (R/W): Foreground Latch 3
  122.        bit 0-7  Foreground Latch for plane 3.
  123.  
  124.        3C4h index F0h (R/W): Fast Foreground Latch Load
  125.        bit 0-7  The Foreground Latches (3C4h index ECh to EFh) for the four
  126.                 memory planes can be loaded by writing to this register.
  127.                 The writes will cycle through planes 0-3.
  128.                 A read will restart at plane 0.
  129.  
  130.        3C4h index F1h (R/W): Fast Latch Load State
  131.        bit 0-1  Background Latch Load State. Determines which of the
  132.                 four memory latches will be loaded by a write to 3C4h
  133.                 index F2h. Each write to index F2h will increment this
  134.                 value and each read from index F2h will reset it to 0.
  135.            2-3  Unused
  136.            4-5  Foreground Latch Load State. Determines which of the
  137.                 four Foreground latches (3C4h index ECh to EFh) will
  138.                 be loaded by the next write to 3C4h index F0h.
  139.                 Each write to index F0h will increment this value
  140.                 and each read from index F0h will reset it to 0.
  141.            6-7  Unused
  142.  
  143.        3C4h index F2h (R/W): Fast Background Latch Load
  144.        bit 0-7  The Memory Data Latches for the four memory planes can be
  145.                 loaded by writing to this register. The writes will cycle
  146.                 through planes 0-3. A read will restart at plane 0.
  147.  
  148.        3C4h index F3h (R/W): Masked Write Control   (Only with VRAM)
  149.          bit 0  Enables Masked Writes if set
  150.              1  If set rotated CPU byte is used as WriteMask, else
  151.                 Masked Write Mask register is used.
  152.  
  153.        3C4h index F4h (R/W): Masked Write Mask      (Only with VRAM)
  154.        bit 0-7  If Masked Writes enabled by 3C4h index F3h bit 0
  155.                 Only the bits set here will be updated in Video memory.
  156.  
  157.        3C4h index F5h (R/W): Foreground/Background Pattern
  158.        bit 0-7
  159.  
  160.        3C4h index F6h (R/W): 1MB RAM Bank Select
  161.        bit 0-1  Write Bank no bit 2-3 if 256 color, bit 0-1 else.
  162.            2-3  Read Bank no bit 2-3 if 256 color, bit 0-1 else.
  163.            4-5  CRTC Bank (Adress bit 16-17)
  164.              6  Display address Wraps Around at bank boundry if set
  165.              7  Split Screen Wraps around at bank boundry if set
  166.  
  167.        3C4h index F7h (R/W): Switch Readback
  168.        bit 0-7  Switch positions as read by the last write to the Switch
  169.                 Strobe Register (3C4h index EAh)
  170.  
  171.        3C4h index F8h (R/W): Extended Clock Control
  172.  
  173.        3C4h index F9h (R/W): Page Select
  174.          bit 0  bit 16 of Video Memory Address. (Only needed if in a
  175.                 256 color mode, and 3C4h index FCh bit 1-2 = 1).
  176.  
  177.        3C4h index FAh (R/W): Extended Foreground Color
  178.        bit 0-3  Foreground expansion color.
  179.                 Bit 0 is written to plane 0 etc.
  180.  
  181.        3C4h index FBh (R/W): Extended Background Color
  182.        bit 0-3  Background expansion color
  183.                 Bit 0 is written to plane 0 etc.
  184.  
  185.        3C4h index FCh (R/W): Compatibility Control
  186.          bit 0  Enable Extended Attribute functions if set
  187.                 Extended attributes allows underlining using a mask
  188.                 in plane 3 for each character.
  189.              1  256-Color Paging Enabled if set.
  190.              2  256-Color 64K/128K paging Select.
  191.                 128K pages if set, 64K pages else.
  192.            3-6  Reserved.
  193.              7  If set allows enabling VGA via 102h bit 0 or 3C3h bit 0.
  194.  
  195.        3C4h index FDh (R/W): Extended Timing Select
  196.  
  197.        3C4h index FEh (R/W): Foreground/Background Control
  198.          bit 0  Unused
  199.              1  Foreground/background source select
  200.                 Source is CPU data if set, 3C4h index F5h else.
  201.            2-3  Foreground/background mode select
  202.                   0  Standard VGA mode
  203.                   1  Color Expansion Mode
  204.                      A monochrome bitmap is expanded to color.
  205.                      For each bit of of data written from the processor
  206.                      a zero bit causes the background color (3C4h index FBh)
  207.                      to be written in the corresponding pixel, and a 1 bit
  208.                      causes the foreground color (3C4h index FAh) to be written.
  209.                   2  Dithered foreground. The data from the processor is
  210.                      replaced by data from four Foreground Latches (3C4h index
  211.                       ECh to EFh). The normal VGA Read Latches function as normal.
  212.                   3  Invalid
  213.            4-7  Unused
  214.  
  215.        3C4h index FFh (R/W): 16 bit Interface Control
  216.          bit 0  16 bit memory if set
  217.              1  16 bit I/O if set
  218.              2  Fast Write Enabled if set
  219.              3  16 bit ROM access if set
  220.              4  Enable bank selection
  221.            5-6  Cursor Pattern Page Select
  222.              7  (Read only) Card in 8 or 16 bit slot
  223.  
  224.        3d4h index 1Fh (R): Identification register
  225.        bit 0-7  Returns bit 0-7 of the Start Adress High Register
  226.                 (3d4h index 0Ch) xored with 0EAh.
  227.  
  228.        3d4h index 22h (R): Graphics Controller Data Latch
  229.        bit 0-7  Data from one of 4 bit-planes selected through the
  230.                 RMS field of the Read Map Select Register (3CEh index 4)
  231.  
  232.        3d4h index 24h (R): Graphics Controller Data
  233.        bit 0-4  Attribute Index. Same as 3C1 bit 0-4.
  234.              5  Palette source.  Same as 3C1h bit 5
  235.              7  Does the Attribute Controller point to Index
  236.                   or Data .
  237.  
  238.        3d4h index 30h-3Fh (W): Clear Vertical Display
  239.          bit 0  if set speeds up video memory access by increasing the
  240.                 vertical Retrace Period.
  241.  
  242.  
  243.       46E8h (W): Rom Map & Video Subsystem
  244.        bit 0-2  Enable VGA PC/AT
  245.              3  Enable VGA PC/AT if set
  246.              4  Enter VGA Setup Mode if set
  247.                 In Setup Mode only registers 102h, 3C3h and 46E8h
  248.                 are active.
  249.  
  250.  
  251.     4BC4h,4BC5 used.
  252.  
  253.  
  254.   Bank Select:
  255.  
  256.     Two methods exists:
  257.  
  258.     All models can use method 1:
  259.       For 2 and 4 color modes bit 16 of the address is in 3C2h bit 5.
  260.  
  261.       For 16 color modes seperate read and write banks can be selected
  262.       through 3C4h index F6h.
  263.  
  264.       For 256 color modes the bank fields in 3C4h index F6h select
  265.       bit 18&19 of the video memory address.
  266.       Bit 16 is selected through 3C4h index F9h bit 0.
  267.       Bit 17 is selected through Miscellanous Output Register
  268.              (3C2h/3CCh bit 5).
  269.       Bit 16&17 are shared by read and write operations.
  270.  
  271.     For Version 5 and above seperate bank registers are available.
  272.     Both read and write banks exists.
  273.  
  274.  
  275.   ID Video 7 VGA Chip Set:
  276.  
  277.     if odd(port[$3CC]) then base:=$3d4 else base:=$3b4;
  278.     port[base]:=12;old_value:=port[base+1];
  279.     port[base+1]:=$55;new_value:=port[base+1];
  280.     port[base]:=$1f;id:=port[base+1];
  281.     port[base]:=12;port[base+1]:=old_value;
  282.  
  283.     if id=byte($55 xor $ea) then VIDEO7_VGA !!!
  284.  
  285.  
  286.  
  287.   ID Specific Video7 VGA Chip:
  288.  
  289.      port[$3C4]:=$8E;
  290.      case port[$3C5] of
  291.        $80..$FF:VEGA_VGA;
  292.        $70..$7F:V7VGA_FASTWRITE/VRAM; {Revision 3}
  293.        $50..$59:V7VGA_Version5;
  294.        $41..$49:Video7_1024i;
  295.      end;
  296.  
  297.  
  298.   Video Modes:
  299.     40h  T   80   43   2
  300.     41h  T  132   25   2
  301.     42h  T  132   43   2
  302.     43h  T   80   60  16
  303.     44h  T  100   60  16
  304.     45h  T  132   28  16
  305.  
  306.     60h  G  752  410  16 planar
  307.     61h  G  720  540  16 planar
  308.     62h  G  800  600  16 planar
  309.     63h  G 1024  768   2 planar
  310.     64h  G 1024  768   4 planar odd/even
  311.     65h  G 1024  768  16 planar
  312.     66h  G  640  400 256 packed    V1024 w/VRAM
  313.     67h  G  640  480 256 packed
  314.     68h  G  720  540 256 packed    VRAM only
  315.     69h  G  800  600 256 packed    VRAM only
  316.  
  317.  
  318.   BIOS extensions:
  319.  
  320. ----------106F00-----------------------------
  321. INT 10 - VIDEO - INSTALLATION CHECK (Video7 VGA,VEGA VGA)
  322.         AX = 6F00h
  323. Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present
  324. ----------106F01-----------------------------
  325. INT 10 - VIDEO - GET MONITOR INFO (Video7 VGA,VEGA VGA)
  326.         AX = 6F01h
  327. Return: AL = monitor type code (VEGA VGA only)
  328.         AH = status register information
  329.              bit  0 = display enable
  330.                       0 = display enabled
  331.                       1 = vertical or horizontal retrace in progress
  332.              bit  1 = light pen flip flop set
  333.              bit  2 = light pen switch activated
  334.              bit  3 = vertical retrace if set
  335.              bit  4 = monitor resolution
  336.                       0 = high resolution (>200 lines)
  337.                       1 = low resolution (<=200 lines)
  338.              bit  5 = display type
  339.                       0 = color
  340.                       1 = monochrome
  341.              bits6,7= diagnostic bits
  342. Note: bits 0-3 are the same as the EGA/VGA status register bits 0-3
  343. ----------106F04-----------------------------
  344. INT 10 - VIDEO - GET MODE AND SCREEN RESOLUTION (Video7 VGA, VEGA VGA)
  345.         AX = 6F04h
  346. Return: AL = current video mode (see AX=6F05h)
  347.         BX = horizontal columns (text) or pixels (graphics)
  348.         CX = vertical columns (text) or pixels (graphics)
  349. SeeAlso: AX=6F05h
  350. ----------106F05-----------------------------
  351. INT 10 - VIDEO - SET VIDEO MODE (Video7 VGA, VEGA EXTENDED EGA/VGA)
  352.         AX = 6F05h
  353.         BL = mode (see below)
  354. SeeAlso: AH=00h,AX=0070h
  355.  
  356. Values for video mode:
  357.       text/ text pixel     pixel   colors disp     scrn  system
  358.       grph resol  box  resoltn            page addr
  359.  00h-13h = standard IBM modes (see AH=00h)
  360.  40h = T   80x43  8x8                            Video7/VEGA VGA
  361.  41h = T  132x25  8x14                           Video7/VEGA VGA
  362.  42h = T  132x43  8x8                            Video7/VEGA VGA
  363.  43h = T   80x60  8x8                            Video7/VEGA VGA
  364.  44h = T  100x60  8x8                            Video7/VEGA VGA
  365.  45h = T  132x28  8x8                            Video7/VEGA VGA
  366.  60h = G               752x410   16              Video7 VGA, VEGA VGA
  367.  61h = G               720x540   16              Video7 VGA, VEGA VGA
  368.      = G               720x540   16              Northgate
  369.  62h = G               800x600   16              Video7 VGA, VEGA Ext EGA
  370.  63h = G               1024x768  2               Video7 VGA
  371.  64h = G               1024x768  4               Video7 VGA
  372.  65h = G               1024x768  16              Video7 VGA, VEGA Ext EGA
  373.  66h = G               640x400   256             Video7 VGA, VEGA Ext VGA
  374.      = G               640x400   256             Northgate
  375.  67h = G               640x480   256             Video7 VGA, VEGA Ext VGA
  376.  68h = G               720x540   256             Video7 VGA, VEGA Ext VGA
  377.  69h = G               800x600   256             Video7 VGA, VEGA Ext VGA
  378.  70h = G               752x410   16gray          Video7 VGA, VEGA VGA
  379.  71h = G               720x540   16gray          Video7 VGA, VEGA VGA
  380.  72h = G               800x600   16gray          Video7 VGA
  381.  73h = G               1024x768  2gray           Video7 VGA
  382.  74h = G               1024x768  4gray           Video7 VGA
  383.  75h = G               1024x768  16gray          Video7 VGA
  384.  76h = G               640x400   256gray         Video7 VGA
  385.  77h = G               640x480   256gray         Video7 VGA
  386.  78h = G               720x540   256gray         Video7 VGA
  387.  79h = G               800x600   256gray         (future)
  388. SeeAlso: AH=00h,AX=0070h,AX=007Eh,AX=6F04h
  389. ----------106F06-----------------------------
  390. INT 10 - VIDEO - SELECT AUTOSWITCH MODE (V7VGA,VEGA VGA)
  391.         AX = 6F06h
  392.         BL = Autoswitch mode select
  393.              00h select EGA/VGA-only modes
  394.              01h select Autoswitched VGA/EGA/CGA/MGA modes
  395.              02h select 'bootup' CGA/MGA modes
  396. BH = enable/disable (00h enable, 01h = disable selection)
  397. ----------106F07-----------------------------
  398. INT 10 - VIDEO - GET VIDEO MEMORY CONFIGURATION (V7VGA,VEGA VGA)
  399.         AX = 6F07h
  400. Return: AL = 6Fh
  401.         AH = bits 0-6 = number of 256K blocks of video memory
  402.              bit 7    = DRAM/VRAM (0: DRAM, 1: VRAM)
  403.         BH = chip revision (SR8F) (S/C Chip in VEGA VGA)
  404.         BL = chip revision (SR8E) (G/A Chip in VEGA VGA)
  405.         CX = 0000h
  406. SeeAlso: AH=12h/BL=10h
  407.