home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR2 / DVPG30FS.ZIP / MODES.H < prev    next >
C/C++ Source or Header  |  1993-12-04  |  10KB  |  277 lines

  1.  
  2. /* for this struct.  All items should be in ascending order with 0x00 for the unused mode #'s */
  3. /* custom is for typed in modes.  The actual card # is (ok_mode[].card_ID >> 8 ) % 0x00ff where *.card_ID & 0xff is 18 (ie ptr to custom) */
  4. /*
  5.  * NOTE: the order of the list is the order of the modes in the list for each card in vidsetup.exe
  6.  * Also: the first mode should be 320 * 200 * 256, It will always be assumed to be present (the first mode that is)
  7.  *
  8.  */
  9.  
  10. struct video_card {
  11.     int card_number;        /* same index as video_card_names and list in .asm video routines */
  12.     int x_size;
  13.     int y_size;
  14.     int resolution;    /* check enum:  0 = 256, 1 = 15 bit, 2 = 24 bit */
  15.     int set_ax;        /* value to force AX, BX */
  16.     int set_bx;
  17.     int x_width;        /* x_width for odd sizes ie 15, 24 bit its the number of bytes per vertical row */
  18.     } video_cards[] = {
  19.  
  20. /* VGA */
  21.     {19, 320, 200, SVGA, 0x13, 0, 320},        /* this is the only 320 * 200 mode used for all cards */
  22.     {19, 320, 200, VGA, 0x0d, 0, 40},
  23.     {19, 640, 350, VGA, 0x10, 0, 80},
  24.     {19, 640, 480, VGA, 0x12, 0, 80},
  25.  
  26. /* ahead A */
  27.     {0, 800, 600, VGA, 0x71, 0, 100},
  28.     {0, 1024, 768, VGA, 0x74, 0, 128},
  29.     {0, 640, 400, SVGA, 0x60, 0, 640},
  30.     {0, 640, 480, SVGA, 0x61, 0, 640},
  31.     {0, 800, 600, SVGA, 0x62, 0, 800},
  32.  
  33. /* ahead B */
  34.     {1, 800, 600, VGA, 0x71, 0, 100},
  35.     {1, 1024, 768, VGA, 0x74, 0, 128},
  36.     {1, 640, 400, SVGA, 0x60, 0, 640},
  37.     {1, 640, 480, SVGA, 0x61, 0, 640},
  38.     {1, 800, 600, SVGA, 0x62, 0, 800},
  39.     {1, 1024, 768, SVGA, 0x63, 0, 1024},
  40.  
  41. /* ati */
  42.     {2, 640, 480, VGA, 0x12, 0, 80},
  43.     {2, 800, 600, VGA, 0x54, 0, 100},
  44.     {2, 1024, 768, VGA, 0x55, 0, 128},
  45.     {2, 640, 400, SVGA, 0x61, 0, 640},
  46.     {2, 640, 480, SVGA, 0x62, 0, 640},
  47.     {2, 800, 600, SVGA, 0x63, 0, 800},
  48.     {2, 1024, 768, SVGA, 0x64, 0, 1024},
  49.     {2, 640, 480, SVGA_15_bit, 0x72, 0, 1280},
  50.     {2, 800, 600, SVGA_15_bit, 0x73, 0, 1600},
  51.     {2, 640, 480, SVGA_24_bit, 0x75, 0, 2048},
  52.  
  53. /* chips & tech */
  54.     {3, 800, 600, VGA, 0x70, 0, 100},
  55.     {3, 1024, 768, VGA, 0x72, 0, 128},
  56.     {3, 640, 400, SVGA, 0x78, 0, 640},
  57.     {3, 640, 480, SVGA, 0x79, 0, 640},
  58.     {3, 800, 600, SVGA, 0x7b, 0, 800},
  59.  
  60. /* everex */
  61.     {4, 800, 600, VGA, 0x02, 0, 100},
  62.     {4, 1024, 768, VGA, 0x20, 0, 128},
  63.     {4, 1280, 1024, VGA, 0x21, 0, 160},
  64.     {4, 640, 400, SVGA, 0x14, 0x30, 640},
  65.     {4, 512, 480, SVGA, 0x15, 0x30, 512},
  66.     {4, 640, 480, SVGA, 0x30, 0x30, 640},
  67.     {4, 800, 600, SVGA, 0x31, 0x30, 800},
  68. /*    {4, 640, 400, SVGA_15_bit, 0x70, 0x71, 1280},
  69.     {4, 640, 480, SVGA_15_bit, 0x5C, 0, 1280},*/
  70.  
  71. /* oak-tek */
  72.     {5, 800, 600, VGA, 0x52, 0, 100},
  73.     {5, 1024, 768, VGA, 0x56, 0, 128},
  74.     {5, 1280, 1024, VGA, 0x58, 0, 160},
  75.     {5, 640, 480, SVGA, 0x53, 0, 640},
  76.     {5, 800, 600, SVGA, 0x54, 0, 800},
  77.     {5, 1024, 768, SVGA, 0x59, 0, 1024},
  78.     {5, 640, 400, SVGA_15_bit, 0x5B, 0, 1280},
  79.     {5, 640, 480, SVGA_15_bit, 0x5C, 0, 1280},
  80.  
  81. /* genoa */
  82.     {6, 800, 600, VGA, 0x79, 0, 100},
  83.     {6, 1024, 768, VGA, 0x5f, 0, 128},
  84.     {6, 640, 400, SVGA, 0x7e, 0, 640},
  85.     {6, 640, 480, SVGA, 0x5c, 0, 640},
  86.     {6, 720, 512, SVGA, 0x5d, 0, 720},
  87.     {6, 800, 600, SVGA, 0x5e, 0, 800},
  88.  
  89. /* NCR */
  90.     {7, 800, 600, VGA, 0x58, 0, 100},
  91.     {7, 1024, 768, VGA, 0x5d, 0, 128},
  92.     {7, 1280, 1024, VGA, 0x67, 0, 160},
  93.     {7, 640, 400, SVGA, 0x5e, 0, 640},
  94.     {7, 640, 480, SVGA, 0x5f, 0, 640},
  95.     {7, 800, 600, SVGA, 0x5c, 0, 800},
  96.     {7, 1024, 768, SVGA, 0x61, 0, 1024},
  97.     {7, 1280, 1024, SVGA, 0x6A, 0, 1280},
  98.     {7, 640, 480, SVGA_15_bit, 0x71, 0, 1280},
  99.     {7, 800, 600, SVGA_15_bit, 0x72, 0, 1600},
  100.     {7, 640, 480, SVGA_16_bit, 0x78, 0, 1280},
  101.     {7, 800, 600, SVGA_16_bit, 0x79, 0, 1600},
  102.  
  103. /* paradise */
  104.     {8, 800, 600, VGA, 0x58, 0, 100},
  105.     {8, 1024, 768, VGA, 0x5d, 0, 128},
  106.     {8, 1280, 1024, VGA, 0x64, 0, 160},
  107.     {8, 640, 400, SVGA, 0x5e, 0, 640},
  108.     {8, 640, 480, SVGA, 0x5f, 0, 640},
  109.     {8, 800, 600, SVGA, 0x5c, 0, 800},
  110.     {8, 1024, 768, SVGA, 0x60, 0, 1024},
  111.     {8, 320, 200, SVGA_15_bit, 0x68, 0, 640},
  112.     {8, 640, 400, SVGA_15_bit, 0x61, 0, 1280},
  113.     {8, 640, 480, SVGA_15_bit, 0x62, 0, 1280},
  114.     {8, 800, 600, SVGA_15_bit, 0x63, 0, 1600},
  115.  
  116. /* trident 8900 */
  117.     {9, 800, 600, VGA, 0x5b, 0, 100},
  118.     {9, 1024, 768, VGA, 0x5f, 0, 128},
  119.     {9, 640, 400, SVGA, 0x5c, 0, 640},
  120.     {9, 640, 480, SVGA, 0x5d, 0, 640},
  121.     {9, 800, 600, SVGA, 0x5e, 0, 800},
  122.     {9, 1024, 768, SVGA, 0x62, 0, 1024},
  123.     {9, 640, 480, SVGA_15_bit, 0x74, 0, 1280},
  124.     {9, 800, 600, SVGA_15_bit, 0x76, 0, 1600},
  125.     {9, 640, 480, SVGA_16_bit, 0x75, 0, 1280},
  126.     {9, 800, 600, SVGA_16_bit, 0x77, 0, 1600},
  127.  
  128. /* tseng */
  129.     {10, 800, 600, VGA, 0x29, 0, 100},
  130.     {10, 1024, 768, VGA, 0x37, 0, 128},
  131.     {10, 1280, 1024, VGA, 0x3d, 0, 160},
  132.     {10, 640, 350, SVGA, 0x2d, 0, 640},
  133.     {10, 640, 480, SVGA, 0x2e, 0, 640},
  134.     {10, 800, 600, SVGA, 0x30, 0, 800},
  135.     {10, 1024, 768, SVGA, 0x38, 0, 1024},
  136.  
  137. /* tseng 4000 */
  138.     {11, 800, 600, VGA, 0x29, 0, 100},
  139.     {11, 1024, 768, VGA, 0x37, 0, 128},
  140.     {11, 1280, 1024, VGA, 0x3d, 0, 160},
  141.     {11, 640, 350, SVGA, 0x2d, 0, 640},
  142.     {11, 640, 400, SVGA, 0x2f, 0, 640},
  143.     {11, 640, 480, SVGA, 0x2e, 0, 640},
  144.     {11, 800, 600, SVGA, 0x30, 0, 800},
  145.     {11, 1024, 768, SVGA, 0x38, 0, 1024},
  146.  
  147. /* the AX values have been changed to a unique fffx where x is the DAC type (as per info sheets)
  148.     - the video setting routine will locate this and assume it is a tseng 4000 card and use the right value)
  149.     */
  150.     {11, 640, 350, SVGA_15_bit, 0xfff1, 0x2d, 1280},
  151.     {11, 640, 400, SVGA_15_bit, 0xfff1, 0x2f, 1280},
  152.     {11, 640, 480, SVGA_15_bit, 0xfff1, 0x2e, 1280},
  153.     {11, 800, 600, SVGA_15_bit, 0xfff1, 0x30, 1600},
  154.     {11, 640, 400, SVGA_16_bit, 0x90f0, 0x2F, 1280},
  155.     {11, 640, 480, SVGA_16_bit, 0x90f0, 0x2E, 1280},
  156.     {11, 800, 600, SVGA_16_bit, 0x90f0, 0x30, 1600},
  157. /*    {11, 640, 400, SVGA_16_bit, 0xfff2, 0x2F, 1280},
  158.     {11, 640, 480, SVGA_16_bit, 0xfff2, 0x2E, 1280},
  159.     {11, 800, 600, SVGA_16_bit, 0xfff2, 0x30, 1600},*/
  160.     {11, 640, 350, SVGA_24_bit, 0xfff3, 0x2dff, 2048},
  161.     {11, 640, 350, SVGA_24_bit, 0x10f0, 0x2dff, 1920},
  162.     {11, 640, 400, SVGA_24_bit, 0x10f0, 0x2fff, 1920},
  163.     {11, 640, 480, SVGA_24_bit, 0x10f0, 0x2eff, 1920},
  164.     {11, 640, 480, SVGA_24_bit, 0x10f0, 0x3e, 2048},
  165.     {11, 640, 480, SVGA_24_bit, 0x10e0, 0x2e, 2048},
  166. /*    {11, 320, 200, SVGA_16_bit, 0xfff2, 0x13, 640},
  167.     {11, 640, 350, SVGA_16_bit, 0xfff2, 0x2D, 1280},
  168.     {11, 640, 400, SVGA_24_bit, 0xfff3, 0x2fff, 2048},*/
  169.  
  170. /* video 7 */
  171.     {12, 800, 600, VGA, 0x62, 0, 100},
  172.     {12, 1024, 768, VGA, 0x65, 0, 128},
  173.     {12, 640, 400, SVGA, 0x66, 0x67, 640},
  174.     {12, 640, 480, SVGA, 0x67, 0x67, 640},
  175.     {12, 800, 600, SVGA, 0x69, 0x67, 800},
  176.     {12, 1024, 768, SVGA, 0x6a, 0x67, 1024},
  177.  
  178. /* cirrus */
  179.     {13, 800, 600, VGA, 0x58, 0, 100},
  180.     {13, 1024, 768, VGA, 0x5d, 0, 128},
  181.     {13, 1280, 1024, VGA, 0x6c, 0, 160},
  182.     {13, 640, 480, SVGA, 0x5f, 0, 640},
  183.     {13, 800, 600, SVGA, 0x5c, 0, 800},
  184.     {13, 1024, 768, SVGA, 0x60, 0, 1024},
  185.     {13, 640, 480, SVGA_15_bit, 0x66, 0, 1280},
  186.     {13, 800, 600, SVGA_15_bit, 0x67, 0, 1600},
  187.     {13, 320, 200, SVGA_16_bit, 0x6f, 0, 640},
  188.     {13, 640, 480, SVGA_16_bit, 0x64, 0, 1280},
  189.     {13, 800, 600, SVGA_16_bit, 0x65, 0, 1600},
  190.     {13, 320, 200, SVGA_24_bit, 0x70, 0, 960},
  191.     {13, 640, 480, SVGA_24_bit, 0x71, 0, 2048}, /* 2048 for all 24 bit */
  192.  
  193. /* compaq */
  194.     {14, 640, 480, SVGA, 0x2e, 0, 1024},
  195.  
  196. /* vesa */
  197.     {15, 800, 600, VGA, 0x102, 0, 100},
  198.     {15, 1024, 768, VGA, 0x104, 0, 128},
  199.     {15, 1280, 1024, VGA, 0x106, 0, 160},
  200.     {15, 640, 400, SVGA, 0x4f02, 0x100, 640},
  201.     {15, 640, 480, SVGA, 0x4f02, 0x101, 640},
  202.     {15, 800, 600, SVGA, 0x4f02, 0x103, 800},
  203.     {15, 1024, 768, SVGA, 0x4f02, 0x105, 1024},
  204.     {15, 1280, 1024, SVGA, 0x4f02, 0x107, 1240},
  205.     {15, 640, 480, SVGA_15_bit, 0x4f02, 0x110, 1280},
  206.     {15, 800, 600, SVGA_15_bit, 0x4f02, 0x113, 1600},
  207.     {15, 1024, 768, SVGA_15_bit, 0x4f02, 0x116, 2048},
  208.     {15, 1280, 1024, SVGA_15_bit, 0x4f02, 0x119, 2560},
  209.     {15, 640, 480, SVGA_16_bit, 0x4f02, 0x111, 1280},
  210.     {15, 800, 600, SVGA_16_bit, 0x4f02, 0x114, 1600},
  211.     {15, 1024, 768, SVGA_16_bit, 0x4f02, 0x117, 2048},
  212.     {15, 1280, 1024, SVGA_16_bit, 0x4f02, 0x120, 2560},
  213.     {15, 640, 480, SVGA_24_bit, 0x4f02, 0x112, 2048},        /* include both line widths since the video card could be either */
  214.     {15, 800, 600, SVGA_24_bit, 0x4f02, 0x115, 2400},
  215.  
  216. /* S3 chips ie Orchid Farenheit */
  217.     {16, 800, 600, VGA, 0x102, 0, 100},
  218.     {16, 1024, 768, VGA, 0x104, 0, 128},
  219.     {16, 1280, 1024, VGA, 0x106, 0, 160},
  220.     {16, 640, 480, SVGA, 0x4f02, 0x201, 640},
  221.     {16, 800, 600, SVGA, 0x4f02, 0x203, 800},
  222.     {16, 1024, 768, SVGA, 0x4f02, 0x205, 1024},
  223.     {16, 640, 480, SVGA_15_bit, 0x4f02, 0x301, 1280},
  224.     {16, 640, 480, SVGA_16_bit, 0x4f02, 0x211, 1280},
  225.     {16, 800, 600, SVGA_16_bit, 0x4f02, 0x214, 1600},
  226.     {16, 1280, 1024, SVGA_16_bit, 0x4f02, 0x21A, 2560},
  227.     {16, 640, 480, SVGA_24_bit, 0x4f02, 0x301, 2048},
  228.  
  229. /* Speedstar 24X */
  230.     {17, 640, 400, SVGA, 0x5e, 0, 640},
  231.     {17, 640, 480, SVGA, 0x5f, 0, 640},
  232.     {17, 800, 600, SVGA, 0x5c, 0, 800},
  233.     {17, 1024, 768, SVGA, 0x60, 0, 1024},
  234.     {17, 640, 480, SVGA_15_bit, 0x62, 0, 1280},
  235.     {17, 800, 600, SVGA_15_bit, 0x63, 0, 1600},
  236.     {17, 640, 480, SVGA_24_bit, 0x72, 0, 1920},
  237.  
  238. /* XGA adapter */
  239. /*    {18, 640, 480, SVGA, 0xc7, 0x30, 640},
  240.     {18, 800, 600, SVGA, 0x07, 0x31, 800},
  241.     {18, 1024, 768, SVGA, 0x0f, 0x3d, 1024},
  242.     {18, 640, 480, SVGA_15_bit, 0xc7, 0x40, 1280},
  243.     {18, 800, 600, SVGA_15_bit, 0x07, 0x41, 1600},*/
  244.  
  245. /*RT3106 ie Realtek */
  246.     {18, 640, 400, SVGA, 0x25, 0, 640},
  247.     {18, 640, 480, SVGA, 0x26, 0, 640},
  248.     {18, 800, 600, SVGA, 0x27, 0, 800},
  249.     {18, 1024, 768, SVGA, 0x28, 0, 1024},
  250.     {18, 1280, 1024, SVGA, 0x37, 0, 1280},
  251.  
  252. /* STB - based on Tseng 4000 ???????????? */
  253. /*    {19, 320, 200, SVGA, 0x13, 0, 320},
  254.     {19, 640, 350, SVGA, 0x2d, 0, 640},
  255.     {19, 640, 400, SVGA, 0x2f, 0, 640},
  256.     {19, 640, 480, SVGA, 0x2e, 0, 640},
  257.     {19, 800, 600, SVGA, 0x30, 0, 800},
  258.     {19, 1024, 768, SVGA, 0x38, 0, 1024},
  259.     {19, 640, 350, SVGA_15_bit, 0x10f0, 0x2d, 1280},
  260.     {19, 640, 400, SVGA_15_bit, 0x10f0, 0x2f, 1280},
  261.     {19, 640, 480, SVGA_15_bit, 0x10f0, 0x2e, 1280},
  262.     {19, 800, 600, SVGA_15_bit, 0x10f0, 0x30, 1600},
  263.     {19, 640, 480, SVGA_24_bit, 0x10e0, 0x2e, 2048},*/
  264.  
  265.  
  266. /* empty slots for custom modes */
  267.     {0, 0, SVGA, 0x0, 0, 0},
  268.     {0, 0, SVGA, 0x0, 0, 0},
  269.     {0, 0, SVGA, 0x0, 0, 0},
  270.     {0, 0, SVGA, 0x0, 0, 0},
  271.     {0, 0, SVGA, 0x0, 0, 0},
  272.     {0, 0, SVGA, 0x0, 0, 0},
  273.     {-1, 0, SVGA, 0x0, 0, 0}    /* last entry maked by invalid x_size */
  274.     };
  275.  
  276.  
  277.