home *** CD-ROM | disk | FTP | other *** search
-
- /************************************************************************/
- /* Load all control registers using a table */
- /* First we determine type of display attached and then load register */
- /* with values for mode 3 (if Color display) or mode 7 (if Mono display)*/
- /************************************************************************/
-
- select_mode_x()
- {
- #define MONO 5
- #define VMONO 7
- #define VCOLOR 8
-
- static char mode_0[] = {
- 0xD4, /* CRTC Address */
- 0x23, /* Miscellaneous Regs */
- 0x0B,0x03,0x00,0x03, /* Sequencer */
- /* CRT Controller */
- 0x37,0x27,0x2D,0x37, 0x31,0x15,0x04,0x11,
- 0x00,0x07,0x06,0x07, 0x00,0x00,0x00,0x00,
- 0xE1,0x24,0xC7,0x14, 0x08,0xE0,0xF0,0xA3, 0xFF,
- /* Graphics Controller */
- 0x00,0x00,0x00,0x00, 0x00,0x10,0x0E,0x00, 0xFF,
- /* Attribute Controller */
- 0x00,0x01,0x02,0x03, 0x04,0x05,0x14,0x07,
- 0x38,0x39,0x3A,0x3B, 0x3C,0x3D,0x3E,0x3F,
- 0x08,0x00,0x0F,0x00};
-
- static char mode_3[] = {
- 0xD4, /* CRTC Address */
- 0xA7, /* Miscellaneous Regs */
- 0x01,0x03,0x00,0x03, /* Sequencer */
- /* CRT Controller */
- 0x5B,0x4F,0x53,0x37, 0x51,0x5B,0x6C,0x1F,
- 0x00,0x0D,0x0B,0x0C, 0x00,0x00,0x00,0x00,
- 0x5E,0x2B,0x5D,0x28, 0x0F,0x5E,0x0A,0xA3, 0xFF,
- /* Graphics Controller */
- 0x00,0x00,0x00,0x00, 0x00,0x10,0x0E,0x00, 0xFF,
- /* Attribute Controller */
- 0x00,0x01,0x02,0x03, 0x04,0x05,0x14,0x07,
- 0x38,0x39,0x3A,0x3B, 0x3C,0x3D,0x3E,0x3F,
- 0x08,0x00,0x0F,0x00};
-
- static char mode_7[] = {
- 0xB4, /* CRTC Address */
- 0xA6, /* Miscellaneous Regs */
- 0x00,0x03,0x00,0x03, /* Sequencer */
- /* CRT Controller */
- 0x60,0x4F,0x56,0x3A, 0x51,0x60,0x70,0x1F,
- 0x00,0x0D,0x0B,0x0C, 0x00,0x00,0x00,0x00,
-
- 0x5E,0x2E,0x5D,0x28, 0x0D,0x5E,0x6E,0xA3, 0xFF,
- /* Graphics Controller */
- 0x00,0x00,0x00,0x00, 0x00,0x10,0x0A,0x00, 0xFF,
- /* Attribute Controller */
- 0x00,0x08,0x08,0x08, 0x08,0x08,0x08,0x08,
- 0x10,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,
- 0x0E,0x00,0x0F,0x08};
-
- if (get_display_type() == VCOLOR)
- {
- write_register_set(mode_3); /* Set VGA into mode 3 */
- getchar();
- set_mode(3);
- }
-
- else if (get_display_type() == MONO || get_display_type() == VMONO)
- {
- write_register_set(mode_7); /* Set EGA into mode 7 */
- getchar();
- set_mode(7);
- }
- else
- {
- write_register_set(mode_0); /* Set EGA into mode 0 */
- getchar();
- set_mode(3);
- }
- }