home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / FAQSYS18.ZIP / FAQS.DAT / TRIDENT.TXT < prev    next >
Text File  |  1996-01-04  |  21KB  |  539 lines

  1.   Trident SuperVGA
  2.  
  3.   Trident TVGA8800BR   512k  Only 128K banks.
  4.           TVGA8800CS   512k  Has 64k banks and old/new mode
  5.           TVGA8900B    1MB
  6.           TVGA8900C    1MB
  7.           TVGA8900CL   2MB
  8.           TVGA8900D    2MB   Same as 8900CL, but with a few bug corrected
  9.                              (which?)
  10.           TVGA9000           Low component version
  11.           TVGA9000i          Low component count. 15/16 bit DAC on chip
  12.                              Clock generator on chip
  13.           9200CXr      2MB
  14.           TGUI9400CXi  2MB   Clock & 24bit DAC onchip
  15.           TGUI9420DGi  2MB   As 9400, but with Accelerator (BitBlt, Color Exp
  16.                              Fills, Line draw and Linear Frame buffer)
  17.           TGUI9430           As 9420 + Hardware cursor
  18.           TGUI9440AGi  2MB   As 9430, 16bit DAC interface and programmable
  19.                              clock ??
  20.           TGUI9660XGi        64bit video memory path
  21.           TGUI9680           As 9660, but with video acc
  22.  
  23.  
  24.           LCD9100B      Suppose these are LCD controllers, anyone seen them?
  25.           LCD9100
  26.           LX8200
  27.  
  28.  
  29. Support chips:
  30.  
  31. TCK9001   Clock chip for the 8900B.
  32.           Supplies: 25.175, 28.322, 44.9, 36, 57.272, 65, 50.35, 40 MHz
  33.  
  34. TCK9002   Clock chip for the 8900C and later.
  35.           Supplies: 25.175, 28.322, 44.9, 36, 57.272, 65, 50.35, 40,
  36.                     88, 98, 118.8, 108 MHz
  37.  
  38. TCK9004   Clock chip for the 8900CL and later.
  39.           Supplies: 25.175, 28.322, 44.9, 36, 57.272, 65, 50.35, 40,
  40.                     88, 98, 118.8, 108, 72, 77, 80, 75 MHz
  41.  
  42. TKD8001 "ColorSync" truecolor RAMDAC
  43.  
  44.  
  45.    What are the specs for all the new chips??  (CX,CXi,CL,CXr,GUI...)
  46.    The Trident 8800 chips have a problem with 256 color modes,
  47.    as they always double the pixels output in 256 color mode.
  48.    Thus a 640x400 256 color mode (5Ch) actually uses a 1280x400
  49.    frame, requiring at least a multi sync monitor.
  50.    This problem is fixed on the 8900.
  51.  
  52. Apparently Trident BIOS version 3.xx or later on a 8900C will support Sierra
  53. HiColor DACs (SC11483 or SC11487). No check is made for the existence of such
  54. a DAC, the mode is just set as if it was present, resulting in 1024x480,
  55. 1280x480 and 1600x600 256color modes if an ordinary DAC is installed.
  56.  
  57.  
  58. 100h W(R/W?): Microchannel ID low/high
  59. bit 0-15  Card ID bit 0-15
  60.  
  61. 3C3h (R/W): Microchannel Video Subsystem Enable Register:
  62. bit 0  Enable Microchannel VGA if set
  63.  
  64. 3C4h index 0Bh (R): Chip Version
  65. bit 0-7  Chip ID
  66.            1  = TR 8800BR
  67.            2  = TR 8800CS
  68.            3  = TR 8900B
  69.            4  = TVGA8900C
  70.           13h = TVGA8900C
  71.           23h = TR 9000
  72.           33h = TVGA8900CL, TVGA8900D or TVGA 9000C
  73.           43h = TVGA9000i
  74.           53h = TR 9200CXr
  75.           63h = TLCD9100B
  76.           73h = TGUI9420
  77.           83h = TR LX8200
  78.           93h = TGUI9400CXi
  79.           A3h = TLCD9320
  80.           C3h = TGUI9420DGi
  81.           D3h = TGUI9660XGi
  82.           E3h = TGUI9440AGi
  83.           F3h = TGUI9430       One source says 9420 ??
  84.        The 63h, 73h, 83h, A3h and F3h entries are still in doubt.
  85.  
  86. Note:  Writing to index Bh selects old mode registers.
  87.        Reading from index Bh selects new mode registers.
  88. Note:  Writing to this register in order to force old mode registers
  89.        should be done with two 8bit writes, not one 16bit write.
  90.  
  91. 3C4h index 0Ch (R/W): Power Up Mode Register 1
  92. bit   0  Fast Decode if set, Slow if clear
  93.       1  (9000 & LCD9100) If clear 0 Wait states,
  94.               if set bit 6 determines number of wait states.
  95.       4  If set enable post port at 3C3h, at 46E8h if clear
  96.       5  (8900C)  If set enables access to upper 512KB in non-paged modes
  97.                   Must be clear in text and CGA modes.
  98.          (9000 & LCD9100) If set uses 2 DRAMs, 4 if clear
  99.       6  (9000 & LCD9100) If bit 1 is clear this bit determines the number
  100.               of wait states. If set 2 Wait states, 1 if clear.
  101.     5-6  (88xx and 89xx) 0=256K chip, 1 = 2 DRAMs, 2 = 4 DRAMs, 3 = 8 DRAMs.
  102.       7  If set VRAM bus setting is 16, 8 if clear
  103. Note: This register can only be changed if New Mode Control 1 (3C4h index 0Eh)
  104.       bit 7 is set
  105.  
  106. 3C4h index 0Dh (R/W): Old Mode Control 2
  107. bit 0-2  Emulation mode
  108.          0=VGA, 3=EGA, 5=CGA,MDA,Hercules
  109.       4  Enable Paging mode if set. If set the CRTC offset (3d4h index 13h)
  110.          should be multiplied by 2, and the Display Start Address (3d4h index
  111.          0Ch & 0Dh + 1Eh bit 5 and 3C4h Old Mode index 0Eh bit 0) is in units
  112.          of 8 bytes rather than 4 (256 color modes only).
  113.       5  DRAM clock enabled if set.
  114.  
  115. 3C4h index 0Dh (R/W): New Mode Control 2                          (not 8800BR)
  116. bit   0  Clock Select bit 2. Bits 0-1 are in 3CCh bits 2-3.
  117.          Clock table:
  118.             0: 25.1 75   1: 28.322    2:  44.9      3:  36
  119.             4: 57.272   5: 65        6:  50.35     7:  40
  120.             8: 88       9: 98       10: 118.8     11: 108
  121.            12: 72      13: 77       14: 80        15: 75
  122.          For the 8800 and 8900B only the first 8 clocks are available.
  123.          For the 9000i line 3 is: 8: 25.175, 9: 28.322, 10: 62.3, 11: 44.9
  124.     1-2  Divide pixel clock by: 0=1, 1=2, 2=4, 3=1.5
  125.       6  (9xxx) Clock Select bit 3. See bit 0
  126. Note: The old/new Mode Control 1/2 registers are selected by
  127.       reading and writing the Chip version register (index Bh).
  128.  
  129. 3C4h index 0Eh (R/W): Old Mode Control 1
  130. bit   0  (8900 Only) CRTC Address bit 17. Apparently this determines in which
  131.          part of memory the display is, as the display can not cross this
  132.          line, but can be on either side. Note that in Paged Mode (3C4h Old
  133.          Mode index 0Dh bit 4 is set) this bit has no effect as 17 bits can
  134.          span the entire 1MB range.
  135.     1-2  128kb Bank number (0-3)
  136.       3  16 bit video interface if set
  137.       4  (8900C, CL, CXr, GUI9420) Clock Select bit 3.
  138.          See New mode 3C4h index Dh bit 0.
  139.  
  140. 3C4h index 0Eh (R/W): New Mode Control 1                          (not 8800BR)
  141. bit 0-3  64k Bank nbr. When writing to this field XOR with 02h, when reading
  142.          from this field no XOR is needed. This is used for Trident detection.
  143.          In planar modes bits 0 and 2 form a two bit field.
  144.     4-6  Reserved
  145.       7  Must be set to update index 0Ch ???
  146. Note: The old/new Mode Control 1/2 registers are selected by
  147.       reading and writing the Chip version register (index Bh).
  148.  
  149. 3C4h index  Fh (R/W): Power-up Mode 2
  150. bit 0-3  Switch settings
  151.       4  Bus type
  152.       5  If set I/O address are at 3xxh, else at 2xxh.
  153.       6  Enable ON-Card ROM if set
  154.       7  16 bit ROM access enabled if set
  155.  
  156. 3CEh index 0Eh (R/W):  New Source Address Register           (8900CL/D,9200 +)
  157. bit 0-3  Bank register. If 3CEh index Fh bit 2 is clear and bit 0 is set this
  158.          is the read bank and 3C4h index Eh the write register. Note that bit
  159.           1 is inverted like 3C4h index Eh bit 1.
  160.  
  161. 3CEh index 0Fh (R/W):  Miscellaneous Extended Functions      (8900CL/D,9200 +)
  162. bit   0  DUAL. If set selects dual bank mode with separate read and write
  163.          bank registers. If bit 2 is set 3D9h is the read bank and 3D8h the
  164.          write bank, if bit 2 is clear 3CEh index Eh is the read bank and 3C4h
  165.          index Eh the write bank
  166.          3D8h is the combined read/write bank. Only active if bit 2 is set.
  167.       1  When set the packed pixel modes (256 or more colors) uses bits 0-1 of
  168.          the PEL panning register (3C0h index 13h) for single pixel horizontal
  169.          scrolling rather than bits 1-2 (as Standard VGA).
  170.       2  ENALTP. Set to use the alternative banking registers at 3D8h/3D9h,
  171.          clear to use the old banking registers.
  172.          ?? Must be set when 3C4h index Ch bit 5 is set ??
  173.       3  If set character clocks are 16pixels wide rather than 8
  174.  
  175. 3d4h index 1Eh (R/W): Module Testing Register
  176. bit  2  Vertical interlace if set
  177.         In interlaced modes the CRTC offset (3d4h index 13h) is the number of
  178.         bytes in TWO scanlines (NOT true for the 9440AGi!).
  179.         Note that in interlaced modes the line doubling caused by index 9 bits
  180.          0-4,7 is unlikely to work, as the (even,odd) linepair is repeated
  181.         rather than each individual line causing stripes.
  182.      3  If set Load fonts from Bottom, from top if clear
  183.      4  If set the display wraps back to line 0 when the line counter reaches
  184.         512.
  185.      5  CRTC Display Start Address bit 16. Bits 0-15 are in 3d4h index Ch,Dh
  186.      7  (not 88xx) Host address bit 16. If clear bit 5 has no effect.
  187.           This does not affect 3C4h Old Mode index 0Eh bit 0.
  188.  
  189. 3d4h index 1Fh (R/W): Software Programming Register
  190. bit 0-1  (8800, 8900, 9000) Memory size  0=256k, 1=512k, 2=768k, 3=1M.
  191.     0-2  (8900CL, 9200CXr, 94xx, 9660) Memory size  0=256k, 1=512k,
  192.            2=768k, 3=1M, 4=256k, 5=512k, 6=768k, 7=2M.
  193.     4-6  (9420DGi) Monitor Type.
  194.          (9430,9440,9660) Monitor Type.
  195. Note: This register set by software
  196.       Everex 8800 based cards have different layout, see below
  197.  
  198.  
  199. 3d4h index 1Fh (R/W): Scratch Register                     (Everex 8800 Cards)
  200. bit   0  Paged memory mode in effect
  201.       1  Memory size  0=256k, 1=512k
  202.       2  Analog monitor attached
  203.       3  44.9 MHz oscillator present
  204. Note: This register is set by software.
  205.  
  206. 3d4h index 21h (R/W):  Configurable Linear Addressing Register          (94xx)
  207. Bit 0-3  LAWB0-3. Bits 20-23 of the Linear Aperture address
  208.       4  LAWS. If set the aperture is 2Mbytes, if clear 1MB.
  209.       5  ENLA. Set to enable Linear aperture.
  210.     6-7  Linear Aperture Address bits 24-25
  211.  
  212. 3d4h index 22h (R): CPU Latch Read Back
  213. bit 0-7  Data Latch value for current read plane.
  214.  
  215. 3d4h index 23h (R/W):
  216. bit 0-5  ??
  217.  
  218. 3d4h index 24h (R): Attribute State Read Back
  219. bit 0-6  Reserved
  220.       7  Attribute Controller State
  221.          If set the next write to 3C0h will go to the data
  222.          register, if clear to the index register.
  223.  
  224. 3d4h index 26h (R): Attribute Index Read Back
  225. bit 0-7  Attribute Index Register value
  226.  
  227. 3d4h index 27h (R/W):                                             (8900CL/D +)
  228. bit 0-1  Display Start Address bit 17-18. Bit 16 is in index 1Eh bit 5.
  229.  
  230. 3d4h index 28h (R/W):
  231. bit 0-7 ??
  232.  
  233. 3d4h index 29h (R/W):                                             (8900CL/D +)
  234. bit   0  Connected to the RS2 input on the DAC ?.
  235.       1  ??
  236.       4  CRTC offset bit 8 ??
  237.  
  238. 3d4h index 2Ah (R/W):
  239. bit   6  ??
  240.  
  241. 3d4h index 2Fh
  242. bit 0-2  ?
  243.       4  ?
  244.     5-6  ?
  245.  
  246. 3d4h index 36h
  247. bit   1  ?
  248.       7  ?
  249.  
  250. 3d4h index 38h                                                          (9440)
  251. bit 2-3  Pixel depth?. 1: 15/16 bit modes, 2: 24bit modes, 0: all other modes
  252.  
  253. 3d4h index 40h W(R/W):                                                  (9440)
  254. bit 0-  Hardware Cursor *tal Location
  255.  
  256. 3d4h index 42h W(R/W):                                                  (9440)
  257. bit 0-  Hardware Cursor *tal Location
  258.  
  259. 3d4h index 44h W(R/W):                                                  (9440)
  260. bit 0-  Location of hardware cursor map in video memory in units of 1Kb
  261.         The hardware cursor map appears to be a 32x32x2 or 64x64x2 bitmap
  262.         organised in lines of 8 or 16 bytes, each having first 4 bytes
  263.         (32pixels) of AND data and then 4bytes XOR data (windows style).
  264.         The cursor displayed also depends on the cursor style (3d4h index 50h
  265.         bit 6).
  266.            AND:   XOR:  Style:   Resulting screen:
  267.             0      0      0      Palette index 0 ?
  268.             1      0      0      Screen data (Transparent cursor)
  269.             0      1      0      Palette index 255 ?
  270.             1      1      0      Inverted screen (XOR cursor)
  271.             0      0      1      Screen data (Transparent cursor)
  272.             1      0      1      Palette index 0 ?
  273.             0      1      1      Screen data (Transparent cursor)
  274.             1      1      1      Palette index 255 ?
  275.  
  276. 3d4h index 46h (R/W):                                                   (9440)
  277. bit 0-5  Cursor Horizontal hotspot. The position (in pixels from the left) of
  278.          the cursor hotspot within the 32x32 or 64x64 map. The displayed cursor
  279.          starts at the hotspot and ends 32/64 pixels from the left edge (i.e.
  280.          it does not wrap to the next line).
  281.  
  282. 3d4h index 47h (R/W):                                                   (9440)
  283. bit 0-5
  284.  
  285. 3d4h index 50h (R/W):                                                   (9440)
  286. bit    0  Set for 64x64 cursor, clear for 32x32 cursor
  287.        6  Clear for Cursor Style 0 (Windows?), set for Cursor Style 1 (X11?)
  288.        7  Enable hardware cursor if set
  289.  
  290. 3D8h (R/W):  Destination Segment Register                    (8900CL/D,9200 +)
  291. bit 0-4  Bank number in 64k units. If 3CEh index Fh bit 0 is set this is the
  292.          write bank, if not the combined read/write bank.
  293.          This register is only active if 3CEh index Fh bit 2 is set.
  294.  
  295. 3D9h (R/W):  Source Segment Register                         (8900CL/D,9200 +)
  296. bit 0-4  If 3CEh index Fh bit 0 is set this is the read bank.
  297.          This register is only active if 3CEh index Fh bit 2 is set.
  298.  
  299.  
  300. Note: Ferraro (in Programmer's Guide to... 3rd edition) documents the
  301.       accelerator registers at 21xAh for the later Tridents, however so far
  302.       I have been unable to verify this.
  303.  
  304.  
  305. 43C6h W(R/W):  Memory Clock                                             (9440)
  306. bit 0-15  Selects the memory clock. 2C6h = 50MHz, 307h = 58MHz, 87h = 64MHz
  307.             8Eh = 75MHz
  308. Note: 3C4h index Eh (new) bits 1 & 7 must be set to update this register
  309.  
  310. 43C8h W(R/W):  Video Clock                                              (9440)
  311. bit 0-15  Selects the video clock when 3C2/Ch bits 2-3 = 2.
  312. Note: 3C4h index Eh (new) bits 1 & 7 must be set to update this register
  313.  
  314.  
  315. 46E8h (R):  Video Subsystem Enable Register
  316. bit 3  Enable VGA if set
  317.  
  318.  
  319. The memory mapped registers appears to be mapped at BFF00h (how to enable
  320. them ?). Probably only exists on the 9440 and later (9420?)
  321.  
  322. M+20h (R?)
  323. bit   5  Set when the graphics engine is busy?
  324.       6  Set if ?  Data transfers should wait for it to clear?
  325.       7  Set when ?
  326.  
  327. M+22h (R/W):
  328. bit  0-?  9 for non-8bit modes, 4 for 8bit modes (<=1024), 8 for other modes
  329.  
  330. M+24h (R/W):
  331. bit  0-2  Write 1 to start a Blit, 4 to start a line draw ?
  332.  
  333. M+27h (R/W):
  334. bit  0-7  Raster op (=Bits 16-23 of the Windows ROP3).
  335.  
  336. M+28h W(R/W):
  337. bit    2  Set when using pattern ??
  338.        5  Set when using pattern ??
  339.        6  ??
  340.        8  If set the Blit moves bottom-to-top (decreasing address), if clear
  341.           it is top-to-bottom (increasing address).
  342.        9  If set the Blit moves right-to-left (decreasing address), if clear
  343.           it is left-to-right (increasing address).
  344.       14  Set for solid fills ??
  345.  
  346. M+2Bh (R/W):
  347. bit  0-2  Offset into the pattern ?
  348.  
  349. M+2Ch W(R/W):
  350. bit 0-  Background color
  351.  
  352. M+30h W(R/W):
  353. bit 0-  Foreground color
  354.  
  355. M+34h W(R/W):
  356. bit 0-15  Address of ?pattern? in units of 64bytes
  357.  
  358. M+38h W(R/W):
  359. bit 0-  Destination starting X-coordinate
  360.  
  361. M+3Ah W(R/W):
  362. bit 0-  Destination starting Y-coordinate
  363.  
  364. M+3Ch W(R/W):
  365. bit 0-  Source starting X-coordinate
  366.  
  367. M+3Eh W(R/W):
  368. bit 0-  Source starting Y-coordinate
  369.  
  370. M+40h W(R/W):
  371. bit 0-  Width of the Blit area in pixels
  372.  
  373. M+42h W(R/W):
  374. bit 0-  Height of the Blit area in scanlines
  375.  
  376. M+44h
  377.  
  378. M+46h W(R/W):
  379.  
  380.   Bank selection:
  381.  
  382.     Trident VGAs (except 8800BR) can operate in 2 different modes:
  383.  
  384.     Old Mode, with a 128k window to display memory at A000h - BFFFh
  385.     and New Mode, with a 64k window to display memory at A000h - AFFFh.
  386.     Old/New mode is selected by reading/writing the Chip Version Register
  387.     (3C4h index 0Bh).
  388.     Each mode has its own registers at 3C4h index 0Dh and 0Eh.
  389.  
  390.  
  391.   ID Trident VGA:
  392.  
  393.     wrinx($3C4,$B,0);    {Force old_mode_registers}
  394.     chp:=inp($3C5);      {Read chip ID and switch to new_mode_registers}
  395.     old:=rdinx($3C4,$E);
  396.     outp($3C5,0);
  397.     value:=inp($3C5) and $F;
  398.     outp($3C5,old);
  399.  
  400.     if value=2 then
  401.     begin
  402.       outp($3C5,old xor 2);
  403.       case chp of
  404.         1:Trident TR8800BR;
  405.         2:Trident TR8800CS;
  406.         3:Trident TR8900;
  407.     4,$13:Trident TR8900C;
  408.       $23:Trident TR9000;
  409.       $33:Trident TR8900CL or D;
  410.       $43:Trident TR9000i;
  411.       $53:Trident TR8900CXr
  412.       $63:Trident LCD9100B;
  413.       $83:Trident LX8200;
  414.       $93:Trident TVGA9400CXi
  415.       $A3:Trident LCD9320;
  416.   $73,$F3:Trident GUI9420;
  417.       end;
  418.     end
  419.     else if (chp=1) and testinx2($3C4,$E,6) then
  420.            Trident TVGA 8800BR     {Haven't tested this yet}
  421.  
  422.   Video Modes:
  423.     50h  T    80   30  16  (8x16)
  424.     51h  T    80   43  16  (8x11)
  425.     52h  T    80   60  16  (8x8)
  426.     53h  T   132   25  16  (8x14)
  427.     54h  T   132   30  16  (8x16)
  428.     55h  T   132   43  16  (8x11)
  429.     56h  T   132   60  16  (8x8)
  430.     57h  T   132   25  16  (9x14)
  431.     58h  T   132   30  16  (9x16)
  432.     59h  T   132   43  16  (9x11)
  433.     5Ah  T   132   60  16  (9x8)
  434.     5Bh  G   800  600  16  PL4
  435.     5Ch  G   640  400 256  P8
  436.     5Dh  G   640  480 256  P8
  437.     5Eh  G   800  600 256  P8      (Undocumented on 8800)
  438.     5Fh  G  1024  768  16  PL4
  439.     60h  G  1024  768   4          8900 Only
  440.     61h  G   768 1024  16  PL4
  441.     62h  G  1024  768 256  P8      8900 Only
  442.     63h  G  1280 1024  16  PL4     Which chip/BIOS rev ?
  443.     64h  G  1280 1024 256  P8      8900CL only
  444.     6Ah  G   800  600  16  PL4     Newer boards
  445.     6Bh  G   320  200 16m  P24     TVGA9000i+
  446.     6Ch  G   640  480 16m  P24     8900CL+
  447.     6Dh  G   800  600 16m  P24     8900CL+
  448.  
  449.     70h  G   512  480 32K  P15     89xx with Sierra DAC
  450.     71h  G   512  480 64K  P16     89xx with Sierra DAC
  451.     74h  G   640  480 32K  P15     89xx with Sierra DAC
  452.     75h  G   640  480 64K  P16     89xx with Sierra DAC
  453.     76h  G   800  600 32K  P15     89xx with Sierra DAC
  454.     77h  G   800  600 64K  P16     89xx with Sierra DAC
  455.     78h  G  1024  768 32K  P15     8900CL with Sierra DAC
  456.     79h  G  1024  768 64K  P16     8900CL with Sierra DAC
  457.     7Eh  G   320  200 32K  P15     TVGA9000i
  458.     7Fh  G   320  200 64K  P16     TVGA9000i
  459.  
  460.     ZyMOS POACH51 modes:
  461.  
  462.     60h  G   960  720  16  PL4
  463.     61h  G  1280  640  16  PL4
  464.     62h  G   512  512 256  P8
  465.     63h  G   720  540  16  PL4
  466.     64h  G   720  540 256  P8
  467.     6Ah  G   800  600  16  PL4
  468.  
  469.  
  470.   Everex Viewpoint use Everex modes.
  471.  
  472.  
  473. Note: The TVGA9000i has an on-chip DAC with 32k/64k capability.
  474.       The BIOS on the card I have (BIOS version D3.51) doesn't
  475.       seem to handle the Hi/True color modes correctly.
  476.       I have managed to get the 320x200 32k/64k modes working by programming
  477.       the DAC command register directly, but the 512x480 modes and the 320x200
  478.       16m mode still doesn't work
  479.  
  480.  
  481.  
  482.   Bios extensions:
  483.  
  484. ----------1000-------------------------------
  485. INT 10 - VIDEO - SET VIDEO MODE
  486.         AH = 00h
  487.         AL = mode number
  488. Return: AH = Status of call:  (Trident Super VGA Chips)
  489.  
  490.                     Trident 8800                Trident 8900
  491.              00h   Successful                      do
  492.              80h   Fail. Wrong switch              do
  493.              81h   Insufficient Video              do
  494.                    Memory.
  495.              82h   The 36MHz crystal            Mode not supported
  496.                    cannot support the mode
  497.              83h   The 40MHz crystal            Mode not supported
  498.                    cannot support the mode.
  499.              84h   The 44.9MHz crystal          Mode not supported
  500.                    cannot support the mode.
  501.              85h   Dead or no crystal
  502.              86h                               Wrong CRTC base for dual screen
  503.              87h                               Text mode not supported
  504. Note: The return code appears to be unsupported on some newer Trident
  505.       card, i.e. 9440AGi
  506. ----------1012-BL11------------------------------
  507. INT 10 - VIDEO - Trident BIOS - Get BIOS Info
  508.         AH = 12h
  509.         BL = 11h
  510. Return: AL = 12h if function supported
  511.         ES:BP -> BIOS info structure:
  512.                  Offset:  Size:   Description:
  513.                    00h    BYTE    ??? (=0)
  514.                    01h    BYTE    OEM Code (00h for original Trident)
  515.                    02h    WORD    ID ?? (1073h for 8800BR, 1074h for 8800CS,
  516.                                    1090h for 8900C or 9000i
  517.                    04h  8 BYTEs   BIOS date ('mm/dd/yy')
  518.                    0Ch    WORD    ???
  519.                    0Eh  8 BYTEs   BIOS Version (' C3-128 ', ' C3-129 ',
  520.                                     ' D3.51  ').
  521. ----------1012-BL12------------------------------
  522. INT 10 - VIDEO - Trident BIOS - GET VIDEO RAM SIZE
  523.         AH = 12h
  524.         BL = 12h
  525. Return: AL = 12h if function supported
  526.         AH = number of 256K banks of RAM installed
  527. ----------101200-BL14----------------------------
  528. INT 10 - VIDEO - Trident LOCKFIFO - Get FIFO state
  529.         AX = 1200h
  530.         BH = 14h
  531. Return: CX = FIFO state
  532. Note: Implemented by the LOCKFIFO.COM utility
  533. ----------101201-BL14----------------------------
  534. INT 10 - VIDEO - Trident LOCKFIFO - Get FIFO state
  535.         AX = 1201h
  536.         BH = 14h
  537.         CX = FIFO state (0..FFh, FFh = disabled)
  538. Note: Implemented by the LOCKFIFO.COM utility
  539.