Metropoli BBS
VIEWER: svgadata.eng MODE: TEXT (ASCII)
[comment]
	Graphics Mode: 640 x 480 x 256 colours.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x18
        BytesPerScanLine = 80
        XResolution      = 640
        YResolution      = 480
        TextRows         = 30
        BitsPerPixel     = 8
        NumberOfPlanes   = 1
        PageLength       = 307200
        SaveSize         = 307200
        InterlaceMode    = 0
        BufferAddress    = 0x0a0000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0xe3);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x5f; r1   = 0x4f; r2   = 0x50; r3   = 0x82; r4   = 0x54;
r5   = 0x80; r6   = 0x0b; r7   = 0x3e; r8   = 0x00; r9   = 0x40;
r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0xea; r17  = 0x8c; r18  = 0xdf; r19  = 0x28;
r20  = 0x40; r21  = 0xe7; r22  = 0x04; r23  = 0xa3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x02; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x08; r9   = 0x09;
r10  = 0x0a; r11  = 0x0b; r12  = 0x0c; r13  = 0x0d; r14  = 0x0e;
r15  = 0x0f; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x02; r12  = 0x14; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Graphics Mode: 800 x 600 x 16 colours.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x18
        BytesPerScanLine = 100
        XResolution      = 800
        YResolution      = 600
        TextRows         = 37
        BitsPerPixel     = 4
        NumberOfPlanes   = 4
        PageLength       = 60000
        SaveSize         = 240000
        InterlaceMode    = 0
        BufferAddress    = 0x0a0000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0xef);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x06;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x7a; r1   = 0x63; r2   = 0x64; r3   = 0x9d; r4   = 0x6a;
r5   = 0x97; r6   = 0x6f; r7   = 0xf0; r8   = 0x00; r9   = 0x60;
r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x59; r17  = 0x8b; r18  = 0x57; r19  = 0x32;
r20  = 0x00; r21  = 0x59; r22  = 0x6f; r23  = 0xe3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x00; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x02; r12  = 0x04; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Graphics Mode: 800 x 600 x 256 colours.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x18
        BytesPerScanLine = 100
        XResolution      = 800
        YResolution      = 600
        TextRows         = 37
        BitsPerPixel     = 8
        NumberOfPlanes   = 1
        PageLength       = 480000
        SaveSize         = 480000
        InterlaceMode    = 0
        BufferAddress    = 0x0a0000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0xef);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x7a; r1   = 0x63; r2   = 0x64; r3   = 0x9d; r4   = 0x6a;
r5   = 0x97; r6   = 0x6f; r7   = 0xf0; r8   = 0x00; r9   = 0x60;
r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x59; r17  = 0x8b; r18  = 0x57; r19  = 0x32;
r20  = 0x40; r21  = 0x59; r22  = 0x6f; r23  = 0xa3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x02; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x08; r9   = 0x09;
r10  = 0x0a; r11  = 0x0b; r12  = 0x0c; r13  = 0x0d; r14  = 0x0e;
r15  = 0x0f; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x02; r12  = 0x14; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Graphics Mode: 1024 x 768 x 16 colours.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x18
        BytesPerScanLine = 128
        XResolution      = 1024
        YResolution      = 768
        TextRows         = 48
        BitsPerPixel     = 4
        NumberOfPlanes   = 4
        PageLength       = 98304
        SaveSize         = 393216
        InterlaceMode    = 0
        BufferAddress    = 0x0a0000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0x2b);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x06;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x99; r1   = 0x7f; r2   = 0x80; r3   = 0x9c; r4   = 0x84;
r5   = 0x13; r6   = 0x9b; r7   = 0x1f; r8   = 0x00; r9   = 0x00;
r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x82; r17  = 0x8c; r18  = 0x7f; r19  = 0x80;
r20  = 0x00; r21  = 0x82; r22  = 0x99; r23  = 0xe3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x03; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
r15  = 0x3f; r16  = 0x01; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x00; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x00; r12  = 0x04; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Graphics Mode: 1024 x 768 x 256 colours.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x18
        BytesPerScanLine = 128
        XResolution      = 1024
        YResolution      = 768
        TextRows         = 48
        BitsPerPixel     = 8
        NumberOfPlanes   = 1
        PageLength       = 786432
        SaveSize         = 786432
        InterlaceMode    = 0
        BufferAddress    = 0x0a0000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0x2b);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x01; r2   = 0x0f; r3   = 0x00; r4   = 0x0e;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x99; r1   = 0x7f; r2   = 0x80; r3   = 0x9c; r4   = 0x84;
r5   = 0x13; r6   = 0x9b; r7   = 0x1f; r8   = 0x00; r9   = 0x00;
r10  = 0x00; r11  = 0x00; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x82; r17  = 0x8c; r18  = 0x7f; r19  = 0x80;
r20  = 0x40; r21  = 0x82; r22  = 0x99; r23  = 0xa3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x03; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x06; r7   = 0x07; r8   = 0x08; r9   = 0x09;
r10  = 0x0a; r11  = 0x0b; r12  = 0x0c; r13  = 0x0d; r14  = 0x0e;
r15  = 0x0f; r16  = 0x41; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x40; r6   = 0x05; r7   = 0x0f; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x00; r12  = 0x14; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Text Mode: 40 cols, 25 rows.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x08
        BytesPerScanLine = 40
        XResolution      = 360
        YResolution      = 400
        XCharSize        = 9
        YCharSize        = 16
        TextRows         = 25
        BitsPerPixel     = 4
        NumberOfPlanes   = 1
        PageLength       = 4000
        SaveSize         = 4000
        InterlaceMode    = 0
        BufferAddress    = 0x0b8000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0x67);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x08; r2   = 0x03; r3   = 0x00; r4   = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x2d; r1   = 0x27; r2   = 0x28; r3   = 0x90; r4   = 0x2b;
r5   = 0xa0; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x14;
r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x00; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x08;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x02; r12  = 0x04; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Text Mode: 80 cols, 25 rows.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x08
        BytesPerScanLine = 80
        XResolution      = 720
        YResolution      = 400
        XCharSize        = 9
        YCharSize        = 16
        TextRows         = 25
        BitsPerPixel     = 4
        NumberOfPlanes   = 1
        PageLength       = 4000
        SaveSize         = 4000
        InterlaceMode    = 0
        BufferAddress    = 0x0b8000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0x67);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x00; r2   = 0x03; r3   = 0x00; r4   = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x5f; r1   = 0x4f; r2   = 0x50; r3   = 0x82; r4   = 0x55;
r5   = 0x81; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4f;
r10  = 0x0d; r11  = 0x0e; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x9c; r17  = 0x8e; r18  = 0x8f; r19  = 0x28;
r20  = 0x1f; r21  = 0x96; r22  = 0xb9; r23  = 0xa3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x00; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
r15  = 0x3f; r16  = 0x0c; r17  = 0x00; r18  = 0x0f; r19  = 0x08;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x02; r12  = 0x04; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[comment]
	Text Mode: 132 cols, 25 rows.

[AdapterType]
        ALI

[ChipSet]
        Engine

[ModeInfo]
        ModeAttributes   = 0x08
        BytesPerScanLine = 132
        XResolution      = 1056
        YResolution      = 350
        XCharSize        = 8
        YCharSize        = 14
        TextRows         = 25
        BitsPerPixel     = 4
        NumberOfPlanes   = 1
        PageLength       = 6600
        SaveSize         = 6600
        InterlaceMode    = 0
        BufferAddress    = 0x0b8000

[TrapRegs]
	0x3c2;
	0x3d4, 0x00-0x18, 0x19-0x1d, 0x21-0x21, 0x23-0x23;
	0x3d5;
	0x3d6;
	0x3d7;
	0x3c4, 0x00-0x04;
	0x3c5;
	0x3c0, 0x00-0x14;
	0x3c1;
	0x3ce, 0x00-0x08, 0x09-0x0f;
	0x3cf;

[Lock]
/*
 *	Lock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x00);

[UnLock]
/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

[SetMode]

/*
 *	Set Miscellaneous Output Register
 */

outb(0x3c2, 0xaf);


/*
 *	Unlock Extended Registers
 */

outb(0x3d4, 0x1a);
outb(0x3d5, 0x10);

outw(0x3d6, 0x0000);

outw(0x3d7, 0x0000);

/*
 *	Set Sequencer Registers
 */

r0   = 0x03; r1   = 0x01; r2   = 0x03; r3   = 0x00; r4   = 0x02;
boutb(5, 0x00, 0x3c4, 0x3c5);

/*
 *	Set CRT Registers
 */

r17 = 0x0e;
boutb(1, 17, 0x3d4, 0x3d5);
r0   = 0x9f; r1   = 0x83; r2   = 0x84; r3   = 0x82; r4   = 0x8a;
r5   = 0x98; r6   = 0xbf; r7   = 0x1f; r8   = 0x00; r9   = 0x4d;
r10  = 0x0b; r11  = 0x0c; r12  = 0x00; r13  = 0x00; r14  = 0x00;
r15  = 0x00; r16  = 0x81; r17  = 0x85; r18  = 0x5d; r19  = 0x42;
r20  = 0x1f; r21  = 0x61; r22  = 0xbc; r23  = 0xa3; r24  = 0xff;
boutb(25, 0x00, 0x3d4, 0x3d5);

r25  = 0x00; r26  = 0xd0; r27  = 0x3f; r28  = 0xff; r29  = 0xfc;
boutb(5, 0x19, 0x3d4, 0x3d5);

r33  = 0x00; 
boutb(1, 0x21, 0x3d4, 0x3d5);

r35  = 0x00; 
boutb(1, 0x23, 0x3d4, 0x3d5);

/*
 *	Set Attribute Registers
 */

r0   = 0x00; r1   = 0x01; r2   = 0x02; r3   = 0x03; r4   = 0x04;
r5   = 0x05; r6   = 0x14; r7   = 0x07; r8   = 0x38; r9   = 0x39;
r10  = 0x3a; r11  = 0x3b; r12  = 0x3c; r13  = 0x3d; r14  = 0x3e;
r15  = 0x3f; r16  = 0x08; r17  = 0x00; r18  = 0x0f; r19  = 0x00;
r20  = 0x00; 
boutb(21, 0x00, 0x3c0, 0x3c1);

/*
 *	Set GDC Registers
 */

r0   = 0x00; r1   = 0x00; r2   = 0x00; r3   = 0x00; r4   = 0x00;
r5   = 0x10; r6   = 0x0e; r7   = 0x00; r8   = 0xff; 
boutb(9, 0x00, 0x3ce, 0x3cf);

r9   = 0x00; r10  = 0x00; r11  = 0x02; r12  = 0x24; r13  = 0x04;
r14  = 0x00; r15  = 0x00; 
boutb(7, 0x09, 0x3ce, 0x3cf);

[ RETURN TO DIRECTORY ]