//
//      S3enhanced.pmi - SVPMI File for standard S3 enhanced modes
//      1024K video memory only
//      MultiSync monitor
//
//      201             640x480 - 256
//      202             800x600 -  16
//      203             800x600 - 256
//      204             1024x768 - 16
//      205             1024x768 - 256
//      208             1280x1024 - 16
//        3             80x25                           text
//
//

[VERSION]
        1.0;

[ACTIVE_ADAPTER]
        VGA;

[GRAPHICS_MODE]
        0x205;

[TEXT_MODE]
        3;

[ADAPTER]
        VGA;

[ADAPTER_INFO]
        BoardType = VGA;
        SaveSize = 61;
        PaletteSize = 768;

//
// 640x480 - 256 colour
//
[MODE]
        0x201;

[MODEINFO]
        ModeAttributes          = 0xA18;
        WinAAttributes          = 0;
        WinBAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 0;
        WinABase                        = 0;
        BytesPerScanLine        = 1024;
        XResolution                     = 640;
        YResolution                     = 480;
        XCharSize                       = 0;
        YCharSize                       = 0;
        ColorModel                      = 1;
        BitsPerPixel            = 8;
        NumberOfColors          = 256;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0x12;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]
// AX:4F02  BX:8201
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2101 );
        outb( 0x3C2, 0xEF );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0xF02 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0xE04 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0x5F00 );
        outw( 0x3D4, 0x4F01 );
        outw( 0x3D4, 0x5002 );
        outw( 0x3D4, 0x8203 );
        outw( 0x3D4, 0x5404 );
        outw( 0x3D4, 0x8005 );
        outw( 0x3D4, 0xB06 );
        outw( 0x3D4, 0x3E07 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x4009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0xEA10 );
        outw( 0x3D4, 0x8C11 );
        outw( 0x3D4, 0xDF12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x6014 );
        outw( 0x3D4, 0xE715 );
        outw( 0x3D4, 0x416 );
        outw( 0x3D4, 0xAB17 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x15 );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x16 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x17 );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x41 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x4005 );
        outw( 0x3CE, 0x506 );
        outw( 0x3CE, 0xF07 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x940 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x242 );
        outw( 0x3C4, 0xE04 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xD40 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC11 );
        outb( 0x4AE8, 0x3 );
        outb( 0x3D4, 0x52 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x5E3B );
        outw( 0x3D4, 0x403C );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8D31 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x153A );
        outw( 0x3D4, 0xB42 );
        outw( 0x3D4, 0x6300 );
        outw( 0x3D4, 0x4F01 );
        outw( 0x3D4, 0x5002 );
        outw( 0x3D4, 0x8603 );
        outw( 0x3D4, 0x5304 );
        outw( 0x3D4, 0x9805 );
        outw( 0x3D4, 0x706 );
        outw( 0x3D4, 0x3E07 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x4009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0xE810 );
        outw( 0x3D4, 0x8B11 );
        outw( 0x3D4, 0xDF12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x6014 );
        outw( 0x3D4, 0xDF15 );
        outw( 0x3D4, 0x716 );
        outw( 0x3D4, 0xAB17 );
        outw( 0x3D4, 0xFF18 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x54 );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x858 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outw( 0x42E8, 0x9000 );
        outw( 0x42E8, 0x5000 );
        inw( r63, 0x9AE8 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outw( 0xBEE8, 0x1000 );
        outw( 0xBEE8, 0x33FF );
        outw( 0xBEE8, 0x2000 );
        outw( 0xBEE8, 0x43FF );
        outw( 0xAAE8, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xB11 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x3854 );
        outw( 0x3D4, 0x760 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8B11 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x24 );
        outb( 0x3C9, 0x24 );
        outb( 0x3C9, 0x24 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x28 );
        outb( 0x3C9, 0x28 );
        outb( 0x3C9, 0x28 );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x32 );
        outb( 0x3C9, 0x32 );
        outb( 0x3C9, 0x32 );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x38 );
        outb( 0x3C9, 0x38 );
        outb( 0x3C9, 0x38 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C8, 0x40 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x41 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x42 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x43 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x44 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x45 );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x46 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x47 );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x48 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x49 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C8, 0x4A );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x4B );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C8, 0x4C );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4D );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4E );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x50 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x51 );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x52 );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x53 );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x54 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x55 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C8, 0x56 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x36 );
        outb( 0x3C8, 0x57 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x31 );
        outb( 0x3C8, 0x58 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x59 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5B );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5E );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x60 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x61 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C8, 0x62 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x36 );
        outb( 0x3C8, 0x63 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3A );
        outb( 0x3C8, 0x64 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x65 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x66 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x67 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x68 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x69 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6A );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6D );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x6E );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x6F );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C8, 0x70 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x71 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x72 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x73 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x74 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x75 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x76 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x77 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x78 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x79 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x7 );
        outb( 0x3C8, 0x7A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x7B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x7C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7D );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7E );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x80 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x81 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x82 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x83 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x84 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x85 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x86 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x87 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x88 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x89 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8B );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8D );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8E );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8F );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x90 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x91 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x92 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x93 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x94 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x95 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x96 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x97 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x98 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x99 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9A );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9B );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9D );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C8, 0x9E );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x9F );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C8, 0xA0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA1 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA2 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA3 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA4 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA5 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA6 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA7 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA8 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA9 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x16 );
        outb( 0x3C8, 0xAA );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0xAB );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1A );
        outb( 0x3C8, 0xAC );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAD );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAE );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAF );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xB0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB1 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB2 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB3 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB5 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xB6 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xB7 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C8, 0xB8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xB9 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBD );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBF );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xC0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xC1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C8, 0xC2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xC3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xC4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC5 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC6 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC9 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCA );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCB );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0xCE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xCF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xA );
        outb( 0x3C8, 0xD0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD1 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD2 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD3 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD5 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD6 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD7 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD9 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xA );
        outb( 0x3C8, 0xDA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xDB );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0xDC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDD );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDF );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE0 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE1 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE2 );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE3 );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE5 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xF );
        outb( 0x3C8, 0xE6 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xD );
        outb( 0x3C8, 0xE7 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xE8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xE9 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xED );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEE );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEF );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xF0 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xF1 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xF2 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xD );
        outb( 0x3C8, 0xF3 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xF );
        outb( 0x3C8, 0xF4 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF5 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF6 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF7 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x101 );
        outb( 0x3C4, 0x4 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session

//
// 800x600 - 16 colour
//
[MODE]
        0x202;

[MODEINFO]
        ModeAttributes          = 0xA18;
        WinAAttributes          = 0;
        WinBAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 0;
        WinABase                        = 0;
        BytesPerScanLine        = 1024;
        XResolution                     = 800;
        YResolution                     = 600;
        XCharSize                       = 0;
        YCharSize                       = 0;
        ColorModel                      = 1;
        BitsPerPixel            = 4;
        NumberOfColors          = 16;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0x12;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]


// AX:4F02  BX:8202

        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2101 );
        outb( 0x3C2, 0xEF );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0xF02 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0xE04 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0x8800 );
        outw( 0x3D4, 0x6301 );
        outw( 0x3D4, 0x6402 );
        outw( 0x3D4, 0x8B03 );
        outw( 0x3D4, 0x6B04 );
        outw( 0x3D4, 0x5 );
        outw( 0x3D4, 0x7406 );
        outw( 0x3D4, 0xF007 );
        outw( 0x3D4, 0x8008 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0x800A );
        outw( 0x3D4, 0x800B );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x5910 );
        outw( 0x3D4, 0x8511 );
        outw( 0x3D4, 0x5712 );
        outw( 0x3D4, 0x3213 );
        outw( 0x3D4, 0x8014 );
        outw( 0x3D4, 0x5815 );
        outw( 0x3D4, 0x6E16 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x38 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x39 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x3A );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x3B );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x3C );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x3D );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x3E );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x3F );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x5 );
        outw( 0x3CE, 0x506 );
        outw( 0x3CE, 0xF07 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x940 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x242 );
        outw( 0x3C4, 0xE04 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xD40 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x511 );
        outb( 0x4AE8, 0x7 );
        outb( 0x3D4, 0x52 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x783B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8F31 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x442 );
        outw( 0x3D4, 0x7D00 );
        outw( 0x3D4, 0x6301 );
        outw( 0x3D4, 0x6402 );
        outw( 0x3D4, 0x8003 );
        outw( 0x3D4, 0x6C04 );
        outw( 0x3D4, 0x1B05 );
        outw( 0x3D4, 0x9806 );
        outw( 0x3D4, 0xF007 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x7C10 );
        outw( 0x3D4, 0xA211 );
        outw( 0x3D4, 0x5712 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x14 );
        outw( 0x3D4, 0x5715 );
        outw( 0x3D4, 0x9816 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x4854 );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x2F60 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x858 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outw( 0x42E8, 0x9000 );
        outw( 0x42E8, 0x5000 );
        inw( r63, 0x9AE8 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outw( 0xBEE8, 0x1000 );
        outw( 0xBEE8, 0x33FF );
        outw( 0xBEE8, 0x2000 );
        outw( 0xBEE8, 0x47FF );
        outw( 0xAAE8, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x2211 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xA211 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x101 );
        outb( 0x3C4, 0xC );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session

//
// 800x600 - 256 colour
//
[MODE]
        0x203;

[MODEINFO]
        ModeAttributes          = 0xA18;
        WinAAttributes          = 0;
        WinBAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 0;
        WinABase                        = 0;
        BytesPerScanLine        = 1024;
        XResolution                     = 800;
        YResolution                     = 600;
        XCharSize                       = 0;
        YCharSize                       = 0;
        ColorModel                      = 1;
        BitsPerPixel            = 8;
        NumberOfColors          = 256;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0x12;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]


// AX:4F02  BX:8203

        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2101 );
        outb( 0x3C2, 0xEF );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0xF02 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0xE04 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0x8800 );
        outw( 0x3D4, 0x6301 );
        outw( 0x3D4, 0x6402 );
        outw( 0x3D4, 0x8B03 );
        outw( 0x3D4, 0x6B04 );
        outw( 0x3D4, 0x5 );
        outw( 0x3D4, 0x7406 );
        outw( 0x3D4, 0xF007 );
        outw( 0x3D4, 0x8008 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0x800A );
        outw( 0x3D4, 0x800B );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x5910 );
        outw( 0x3D4, 0x8511 );
        outw( 0x3D4, 0x5712 );
        outw( 0x3D4, 0x3213 );
        outw( 0x3D4, 0x8014 );
        outw( 0x3D4, 0x5815 );
        outw( 0x3D4, 0x6E16 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x38 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x39 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x3A );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x3B );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x3C );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x3D );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x3E );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x3F );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x5 );
        outw( 0x3CE, 0x506 );
        outw( 0x3CE, 0xF07 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x940 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x242 );
        outw( 0x3C4, 0xE04 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xD40 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x511 );
        outb( 0x4AE8, 0x7 );
        outb( 0x3D4, 0x52 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x793B );
        outw( 0x3D4, 0x403C );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8D31 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x153A );
        outw( 0x3D4, 0x442 );
        outw( 0x3D4, 0x7D00 );
        outw( 0x3D4, 0x6301 );
        outw( 0x3D4, 0x6402 );
        outw( 0x3D4, 0x8003 );
        outw( 0x3D4, 0x6C04 );
        outw( 0x3D4, 0x1B05 );
        outw( 0x3D4, 0x9806 );
        outw( 0x3D4, 0xF007 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x7C10 );
        outw( 0x3D4, 0xA211 );
        outw( 0x3D4, 0x5712 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x14 );
        outw( 0x3D4, 0x5715 );
        outw( 0x3D4, 0x9816 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x4854 );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x2F60 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xC962 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x858 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outw( 0x42E8, 0x9000 );
        outw( 0x42E8, 0x5000 );
        inw( r63, 0x9AE8 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outw( 0xBEE8, 0x1000 );
        outw( 0xBEE8, 0x33FF );
        outw( 0xBEE8, 0x2000 );
        outw( 0xBEE8, 0x43FF );
        outw( 0xAAE8, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x2211 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xA211 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x24 );
        outb( 0x3C9, 0x24 );
        outb( 0x3C9, 0x24 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x28 );
        outb( 0x3C9, 0x28 );
        outb( 0x3C9, 0x28 );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x32 );
        outb( 0x3C9, 0x32 );
        outb( 0x3C9, 0x32 );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x38 );
        outb( 0x3C9, 0x38 );
        outb( 0x3C9, 0x38 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C8, 0x40 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x41 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x42 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x43 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x44 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x45 );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x46 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x47 );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x48 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x49 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C8, 0x4A );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x4B );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C8, 0x4C );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4D );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4E );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x50 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x51 );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x52 );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x53 );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x54 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x55 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C8, 0x56 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x36 );
        outb( 0x3C8, 0x57 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x31 );
        outb( 0x3C8, 0x58 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x59 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5B );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5E );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x60 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x61 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C8, 0x62 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x36 );
        outb( 0x3C8, 0x63 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3A );
        outb( 0x3C8, 0x64 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x65 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x66 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x67 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x68 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x69 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6A );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6D );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x6E );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x6F );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C8, 0x70 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x71 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x72 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x73 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x74 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x75 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x76 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x77 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x78 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x79 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x7 );
        outb( 0x3C8, 0x7A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x7B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x7C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7D );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7E );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x80 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x81 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x82 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x83 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x84 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x85 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x86 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x87 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x88 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x89 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8B );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8D );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8E );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8F );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x90 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x91 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x92 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x93 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x94 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x95 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x96 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x97 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x98 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x99 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9A );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9B );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9D );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C8, 0x9E );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x9F );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C8, 0xA0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA1 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA2 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA3 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA4 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA5 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA6 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA7 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA8 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA9 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x16 );
        outb( 0x3C8, 0xAA );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0xAB );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1A );
        outb( 0x3C8, 0xAC );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAD );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAE );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAF );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xB0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB1 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB2 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB3 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB5 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xB6 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xB7 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C8, 0xB8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xB9 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBD );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBF );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xC0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xC1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C8, 0xC2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xC3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xC4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC5 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC6 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC9 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCA );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCB );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0xCE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xCF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xA );
        outb( 0x3C8, 0xD0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD1 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD2 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD3 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD5 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD6 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD7 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD9 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xA );
        outb( 0x3C8, 0xDA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xDB );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0xDC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDD );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDF );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE0 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE1 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE2 );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE3 );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE5 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xF );
        outb( 0x3C8, 0xE6 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xD );
        outb( 0x3C8, 0xE7 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xE8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xE9 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xED );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEE );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEF );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xF0 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xF1 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xF2 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xD );
        outb( 0x3C8, 0xF3 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xF );
        outb( 0x3C8, 0xF4 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF5 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF6 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF7 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x101 );
        outb( 0x3C4, 0x4 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session

//
// 1024x768 - 16 colour
//
[MODE]
        0x204;

[MODEINFO]
        ModeAttributes          = 0xA18;
        WinAAttributes          = 0;
        WinBAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 0;
        WinABase                        = 0;
        BytesPerScanLine        = 1024;
        XResolution                     = 1024;
        YResolution                     = 768;
        XCharSize                       = 0;
        YCharSize                       = 0;
        ColorModel                      = 1;
        BitsPerPixel            = 4;
        NumberOfColors          = 16;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0x12;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]


// AX:4F02  BX:8204

        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2101 );
        outb( 0x3C2, 0xEF );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0xF02 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0x604 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0x9900 );
        outw( 0x3D4, 0x7F01 );
        outw( 0x3D4, 0x7F02 );
        outw( 0x3D4, 0x9C03 );
        outw( 0x3D4, 0x8304 );
        outw( 0x3D4, 0x1905 );
        outw( 0x3D4, 0x9706 );
        outw( 0x3D4, 0x1F07 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x4009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x8110 );
        outw( 0x3D4, 0x8311 );
        outw( 0x3D4, 0x7F12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x14 );
        outw( 0x3D4, 0x8015 );
        outw( 0x3D4, 0x9616 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x38 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x39 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x3A );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x3B );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x3C );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x3D );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x3E );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x3F );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x5 );
        outw( 0x3CE, 0x506 );
        outw( 0x3CE, 0xF07 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x940 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x242 );
        outw( 0x3C4, 0xE04 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xD40 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x311 );
        outb( 0x4AE8, 0x7 );
        outb( 0x3D4, 0x52 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x9D3B );
        outw( 0x3D4, 0x403C );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8F31 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0xE42 );
        outw( 0x3D4, 0xA100 );
        outw( 0x3D4, 0x7F01 );
        outw( 0x3D4, 0x8002 );
        outw( 0x3D4, 0x8403 );
        outw( 0x3D4, 0x8404 );
        outw( 0x3D4, 0x9505 );
        outw( 0x3D4, 0x2406 );
        outw( 0x3D4, 0xF507 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x210 );
        outw( 0x3D4, 0x8811 );
        outw( 0x3D4, 0xFF12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x6014 );
        outw( 0x3D4, 0xFF15 );
        outw( 0x3D4, 0x2416 );
        outw( 0x3D4, 0xEB17 );
        outw( 0x3D4, 0xFF18 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x4854 );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x2F60 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0x8062 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x858 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outw( 0x42E8, 0x9000 );
        outw( 0x42E8, 0x5000 );
        inw( r63, 0x9AE8 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outw( 0xBEE8, 0x1000 );
        outw( 0xBEE8, 0x33FF );
        outw( 0xBEE8, 0x2000 );
        outw( 0xBEE8, 0x47FF );
        outw( 0xAAE8, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x811 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8811 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x101 );
        outb( 0x3C4, 0x4 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session

//
// 1024x768 - 256 colour
//
[MODE]
        0x205;

[MODEINFO]
        ModeAttributes          = 0xA18;
        WinAAttributes          = 0;
        WinBAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 0;
        WinABase                        = 0;
        BytesPerScanLine        = 1024;
        XResolution                     = 1024;
        YResolution                     = 768;
        XCharSize                       = 0;
        YCharSize                       = 0;
        ColorModel                      = 1;
        BitsPerPixel            = 8;
        NumberOfColors          = 256;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0x12;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]


// AX:4F02  BX:8205

        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2101 );
        outb( 0x3C2, 0xEF );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0xF02 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0x604 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0x9900 );
        outw( 0x3D4, 0x7F01 );
        outw( 0x3D4, 0x7F02 );
        outw( 0x3D4, 0x9C03 );
        outw( 0x3D4, 0x8304 );
        outw( 0x3D4, 0x1905 );
        outw( 0x3D4, 0x9706 );
        outw( 0x3D4, 0x1F07 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x4009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x8110 );
        outw( 0x3D4, 0x8311 );
        outw( 0x3D4, 0x7F12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x14 );
        outw( 0x3D4, 0x8015 );
        outw( 0x3D4, 0x9616 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x38 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x39 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x3A );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x3B );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x3C );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x3D );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x3E );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x3F );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x5 );
        outw( 0x3CE, 0x506 );
        outw( 0x3CE, 0xF07 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x940 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x242 );
        outw( 0x3C4, 0xE04 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xD40 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x311 );
        outb( 0x4AE8, 0x7 );
        outb( 0x3D4, 0x52 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x9D3B );
        outw( 0x3D4, 0x9B3C );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8D31 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x153A );
        outw( 0x3D4, 0xE42 );
        outw( 0x3D4, 0xA100 );
        outw( 0x3D4, 0x7F01 );
        outw( 0x3D4, 0x8002 );
        outw( 0x3D4, 0x8403 );
        outw( 0x3D4, 0x8404 );
        outw( 0x3D4, 0x9505 );
        outw( 0x3D4, 0x2406 );
        outw( 0x3D4, 0xF507 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x210 );
        outw( 0x3D4, 0x8811 );
        outw( 0x3D4, 0xFF12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x6014 );
        outw( 0x3D4, 0xFF15 );
        outw( 0x3D4, 0x2416 );
        outw( 0x3D4, 0xEB17 );
        outw( 0x3D4, 0xFF18 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x4854 );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x2F60 );
        outw( 0x3D4, 0x8161 );
        outw( 0x3D4, 0x62 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x858 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outw( 0x42E8, 0x9000 );
        outw( 0x42E8, 0x5000 );
        inw( r63, 0x9AE8 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outw( 0xBEE8, 0x1000 );
        outw( 0xBEE8, 0x33FF );
        outw( 0xBEE8, 0x2000 );
        outw( 0xBEE8, 0x43FF );
        outw( 0xAAE8, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x811 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8811 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C9, 0x5 );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C9, 0x20 );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x24 );
        outb( 0x3C9, 0x24 );
        outb( 0x3C9, 0x24 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x28 );
        outb( 0x3C9, 0x28 );
        outb( 0x3C9, 0x28 );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x32 );
        outb( 0x3C9, 0x32 );
        outb( 0x3C9, 0x32 );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x38 );
        outb( 0x3C9, 0x38 );
        outb( 0x3C9, 0x38 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C8, 0x40 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x41 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x42 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x43 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x44 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x45 );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x46 );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x47 );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x48 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C8, 0x49 );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C8, 0x4A );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C8, 0x4B );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C8, 0x4C );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4D );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4E );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x4F );
        outb( 0x3C9, 0x1F );
        outb( 0x3C9, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x50 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x51 );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x52 );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x53 );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x54 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x55 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C8, 0x56 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x36 );
        outb( 0x3C8, 0x57 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x31 );
        outb( 0x3C8, 0x58 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x59 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5B );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5E );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x5F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x60 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2D );
        outb( 0x3C8, 0x61 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x31 );
        outb( 0x3C8, 0x62 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x36 );
        outb( 0x3C8, 0x63 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3A );
        outb( 0x3C8, 0x64 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x65 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x3A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x66 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x67 );
        outb( 0x3C9, 0x2D );
        outb( 0x3C9, 0x31 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x68 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x69 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6A );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x6D );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x6E );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x6F );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C8, 0x70 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x71 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x72 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x73 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x74 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x75 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x76 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x77 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x78 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x79 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x7 );
        outb( 0x3C8, 0x7A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x7B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x7C );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7D );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7E );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x7F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x7 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x80 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x81 );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x82 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x83 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x84 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x85 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x86 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x87 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x88 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x89 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8B );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8D );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8E );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x8F );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x90 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0x91 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x11 );
        outb( 0x3C8, 0x92 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x93 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x94 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x95 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x96 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x97 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x11 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x98 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x99 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9A );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9B );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0x9D );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C8, 0x9E );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0x9F );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C8, 0xA0 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA1 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA2 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA3 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA4 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA5 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA6 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA7 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA8 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x14 );
        outb( 0x3C8, 0xA9 );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x16 );
        outb( 0x3C8, 0xAA );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x18 );
        outb( 0x3C8, 0xAB );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1A );
        outb( 0x3C8, 0xAC );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAD );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x1A );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAE );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x18 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xAF );
        outb( 0x3C9, 0x14 );
        outb( 0x3C9, 0x16 );
        outb( 0x3C9, 0x1C );
        outb( 0x3C8, 0xB0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB1 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB2 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB3 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xB5 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xB6 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xB7 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C8, 0xB8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xB9 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBD );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xBF );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xC0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0xC1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C8, 0xC2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xC3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xC4 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC5 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC6 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC7 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xC9 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCA );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCB );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xCD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0xCE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xCF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xA );
        outb( 0x3C8, 0xD0 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD1 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD2 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD3 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD5 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD6 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD7 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD8 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C8, 0xD9 );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xA );
        outb( 0x3C8, 0xDA );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xDB );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xE );
        outb( 0x3C8, 0xDC );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDD );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xE );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDE );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xDF );
        outb( 0x3C9, 0x8 );
        outb( 0x3C9, 0xA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE0 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE1 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE2 );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE3 );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE4 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xE5 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xF );
        outb( 0x3C8, 0xE6 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xD );
        outb( 0x3C8, 0xE7 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xE8 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xE9 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEA );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xED );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEE );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xEF );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xF0 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xB );
        outb( 0x3C8, 0xF1 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xC );
        outb( 0x3C8, 0xF2 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xD );
        outb( 0x3C8, 0xF3 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0xF );
        outb( 0x3C8, 0xF4 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0x10 );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF5 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xF );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF6 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xD );
        outb( 0x3C9, 0x10 );
        outb( 0x3C8, 0xF7 );
        outb( 0x3C9, 0xB );
        outb( 0x3C9, 0xC );
        outb( 0x3C9, 0x10 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x101 );
        outb( 0x3C4, 0x4 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session

//
// 1280x1024 - 16 colour
//
[MODE]
        0x208;

[MODEINFO]
        ModeAttributes          = 0xA18;
        WinAAttributes          = 0;
        WinBAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 0;
        WinABase                        = 0;
        BytesPerScanLine        = 1024;
        XResolution                     = 1280;
        YResolution                     = 1024;
        XCharSize                       = 0;
        YCharSize                       = 0;
        ColorModel                      = 1;
        BitsPerPixel            = 4;
        NumberOfColors          = 16;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0x12;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]


// AX:4F02  BX:8208

        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2101 );
        outb( 0x3C2, 0x2F );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0xF02 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0x604 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0xC000 );
        outw( 0x3D4, 0x9F01 );
        outw( 0x3D4, 0x9F02 );
        outw( 0x3D4, 0x8303 );
        outw( 0x3D4, 0xA404 );
        outw( 0x3D4, 0x1F05 );
        outw( 0x3D4, 0x1A06 );
        outw( 0x3D4, 0xB207 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x6009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x110 );
        outw( 0x3D4, 0x8511 );
        outw( 0x3D4, 0xFF12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x14 );
        outw( 0x3D4, 0x15 );
        outw( 0x3D4, 0x1916 );
        outw( 0x3D4, 0xA317 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x38 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x39 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x3A );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x3B );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x3C );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x3D );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x3E );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x3F );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x5 );
        outw( 0x3CE, 0x506 );
        outw( 0x3CE, 0xF07 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x940 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x242 );
        outw( 0x3C4, 0xE04 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xD40 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x511 );
        outb( 0x4AE8, 0x7 );
        outb( 0x3D4, 0x52 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xBB3B );
        outw( 0x3D4, 0x603C );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8F31 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0xC42 );
        outw( 0x3D4, 0xD300 );
        outw( 0x3D4, 0x9F01 );
        outw( 0x3D4, 0xA002 );
        outw( 0x3D4, 0x9603 );
        outw( 0x3D4, 0xA504 );
        outw( 0x3D4, 0x1905 );
        outw( 0x3D4, 0x3306 );
        outw( 0x3D4, 0x5207 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x4009 );
        outw( 0x3D4, 0xA );
        outw( 0x3D4, 0xB );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xFF0E );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x510 );
        outw( 0x3D4, 0x8C11 );
        outw( 0x3D4, 0xFF12 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x14 );
        outw( 0x3D4, 0x15 );
        outw( 0x3D4, 0x3116 );
        outw( 0x3D4, 0xE317 );
        outw( 0x3D4, 0xFF18 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x4854 );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x2F60 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x858 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x8013 );
        outw( 0x3D4, 0x555E );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x1034 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outw( 0x42E8, 0x9000 );
        outw( 0x42E8, 0x5000 );
        inw( r63, 0x9AE8 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outw( 0xBEE8, 0x1000 );
        outw( 0xBEE8, 0x33FF );
        outw( 0xBEE8, 0x2000 );
        outw( 0xBEE8, 0x47FF );
        outw( 0xAAE8, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC11 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8C11 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x101 );
        outb( 0x3C4, 0x4 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session








//
// Text mode
//
[MODE]
        3;

[MODEINFO]
        ModeAttributes          = 0x8;
        WinAAttributes          = 0;
        WinAGranularity         = 0;
        WinASize                        = 8;
        WinABase                        = 0xB8000;
        BytesPerScanLine        = 80;
        XResolution                     = 80;
        YResolution                     = 25;
        XCharSize                       = 9;
        YCharSize                       = 16;
        ColorModel                      = 3;
        BitsPerPixel            = 4;
        NumberOfColors          = 16;
        BitsRGB                         = 6;
        NumberOfBanks           = 1;
        BankSize                        = 0;
        MemoryModel                     = 0;
        ImagePages                      = 1;

[MODEDETECT]
        r0 = 1;

[SETMODE]
// AX:   3  BX:   0
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x38 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        inb( r63, 0x3CC );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        inw( r63, 0x9AE8 );
        outb( 0x3D4, 0x41 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x35 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x100 );
        outw( 0x3C4, 0x2001 );
        outb( 0x3C2, 0x67 );
        outw( 0x3C4, 0x300 );
        outw( 0x3C4, 0x302 );
        outw( 0x3C4, 0x3 );
        outw( 0x3C4, 0x204 );
        outw( 0x3D4, 0x11 );
        outw( 0x3D4, 0x5F00 );
        outw( 0x3D4, 0x4F01 );
        outw( 0x3D4, 0x5002 );
        outw( 0x3D4, 0x8203 );
        outw( 0x3D4, 0x5504 );
        outw( 0x3D4, 0x8105 );
        outw( 0x3D4, 0xBF06 );
        outw( 0x3D4, 0x1F07 );
        outw( 0x3D4, 0x8 );
        outw( 0x3D4, 0x4F09 );
        outw( 0x3D4, 0xD0A );
        outw( 0x3D4, 0xE0B );
        outw( 0x3D4, 0xC );
        outw( 0x3D4, 0xD );
        outw( 0x3D4, 0xE );
        outw( 0x3D4, 0xF );
        outw( 0x3D4, 0x9C10 );
        outw( 0x3D4, 0x8E11 );
        outw( 0x3D4, 0x8F12 );
        outw( 0x3D4, 0x2813 );
        outw( 0x3D4, 0x1F14 );
        outw( 0x3D4, 0x9615 );
        outw( 0x3D4, 0xB916 );
        outw( 0x3D4, 0xA317 );
        outw( 0x3D4, 0xFF18 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x1 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x2 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x3 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x4 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x5 );
        outb( 0x3C0, 0x6 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x7 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x38 );
        outb( 0x3C0, 0x9 );
        outb( 0x3C0, 0x39 );
        outb( 0x3C0, 0xA );
        outb( 0x3C0, 0x3A );
        outb( 0x3C0, 0xB );
        outb( 0x3C0, 0x3B );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x3C );
        outb( 0x3C0, 0xD );
        outb( 0x3C0, 0x3D );
        outb( 0x3C0, 0xE );
        outb( 0x3C0, 0x3E );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x3F );
        outb( 0x3C0, 0x10 );
        outb( 0x3C0, 0xC );
        outb( 0x3C0, 0x11 );
        outb( 0x3C0, 0x0 );
        outb( 0x3C0, 0x12 );
        outb( 0x3C0, 0xF );
        outb( 0x3C0, 0x13 );
        outb( 0x3C0, 0x8 );
        outb( 0x3C0, 0x14 );
        outb( 0x3C0, 0x0 );
        outb( 0x3CC, 0x0 );
        outb( 0x3CA, 0x1 );
        outw( 0x3CE, 0x0 );
        outw( 0x3CE, 0x1 );
        outw( 0x3CE, 0x2 );
        outw( 0x3CE, 0x3 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x1005 );
        outw( 0x3CE, 0xE06 );
        outw( 0x3CE, 0x7 );
        outw( 0x3CE, 0xFF08 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x5530 );
        outb( 0x3D4, 0x30 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x140 );
        outb( 0x4AE8, 0x2 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0x4838 );
        outw( 0x3D4, 0xA539 );
        outb( 0x3D4, 0x31 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8531 );
        outw( 0x3D4, 0x50 );
        outw( 0x3D4, 0x51 );
        outw( 0x3D4, 0x53 );
        outw( 0x3D4, 0x3854 );
        outb( 0x3D4, 0x58 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8858 );
        outw( 0x3D4, 0x5C );
        outw( 0x3D4, 0x5D );
        outw( 0x3D4, 0x5E );
        outw( 0x3D4, 0x760 );
        outw( 0x3D4, 0x8061 );
        outw( 0x3D4, 0xA162 );
        outb( 0x3D4, 0x32 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x32 );
        outw( 0x3D4, 0x33 );
        outw( 0x3D4, 0x34 );
        outb( 0x3D4, 0x35 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x35 );
        outb( 0x3D4, 0x3A );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x53A );
        outw( 0x3D4, 0x5A3B );
        outw( 0x3D4, 0x103C );
        outb( 0x3D4, 0x40 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xC40 );
        outw( 0x3D4, 0x43 );
        outw( 0x3D4, 0x45 );
        outw( 0x3D4, 0x46 );
        outw( 0x3D4, 0xFF47 );
        outw( 0x3D4, 0xFC48 );
        outw( 0x3D4, 0xFF49 );
        outw( 0x3D4, 0xFF4A );
        outw( 0x3D4, 0xFF4B );
        outw( 0x3D4, 0xFF4C );
        outw( 0x3D4, 0xFF4D );
        outw( 0x3D4, 0xFF4E );
        outw( 0x3D4, 0xDF4F );
        outb( 0x3D4, 0x42 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xB42 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0xE11 );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x36 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x3854 );
        outw( 0x3D4, 0x760 );
        inb( r63, 0x3C7 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        inb( r63, 0x3C6 );
        outb( 0x3C6, 0x0 );
        inb( r63, 0x3C7 );
        outb( 0x3C6, 0xFF );
        inb( r63, 0x3CC );
        outb( 0x3D4, 0x43 );
        inb( r63, 0x3D5 );
        outb( 0x3D5, 0x0 );
        outb( 0x3D4, 0x11 );
        inb( r63, 0x3D5 );
        outw( 0x3D4, 0x8E11 );
        inb( r63, 0x3C6 );
        outb( 0x3C8, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x1 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x2 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x3 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x4 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x5 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x6 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x7 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x8 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x9 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xA );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xB );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xC );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xD );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0xE );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0xF );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x10 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x11 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x12 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x13 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x14 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x16 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x17 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x18 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x19 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1B );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1C );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1D );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x1E );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x1F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x20 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x21 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x22 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x23 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x24 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x25 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x26 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x27 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x28 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x29 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x2E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x2F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x30 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x31 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x32 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x33 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x34 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x35 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x36 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x0 );
        outb( 0x3C8, 0x37 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x2A );
        outb( 0x3C8, 0x38 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x39 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3A );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3B );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3C );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3D );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C9, 0x3F );
        outb( 0x3C8, 0x3E );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x15 );
        outb( 0x3C8, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        outb( 0x3C9, 0x3F );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x0 );
        outw( 0x3C4, 0x402 );
        outw( 0x3C4, 0x704 );
        outw( 0x3CE, 0x204 );
        outw( 0x3CE, 0x5 );
        outw( 0x3CE, 0x406 );
        outw( 0x3C4, 0x302 );
        outw( 0x3C4, 0x304 );
        outw( 0x3CE, 0x4 );
        outw( 0x3CE, 0x1005 );
        outw( 0x3CE, 0xE06 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3DA );
        outb( 0x3C0, 0x20 );
        inb( r63, 0x3C4 );
        outb( 0x3C4, 0x1 );
        inb( r63, 0x3C5 );
        outw( 0x3C4, 0x1 );
        outb( 0x3C4, 0x4 );
        inb( r63, 0x3CC );
        outw( 0x3D4, 0xB738 );
        outw( 0x3D4, 0x5A39 );

// End of session


