35 lines
603 B
C
35 lines
603 B
C
|
#include <i86.h>
|
||
|
#include <conio.h>
|
||
|
|
||
|
extern void __cdecl enableUnchainedVGAMode();
|
||
|
extern void __cdecl enableTextMode();
|
||
|
|
||
|
char far *VGA = (char*)0xA0000;
|
||
|
|
||
|
int main(void) {
|
||
|
// activate unchained vga mode
|
||
|
// set up 8 very clear colors
|
||
|
// place some data into video memory to be latch copied
|
||
|
// show off the following
|
||
|
// * latch copies
|
||
|
// * masking
|
||
|
// * barrel shifting
|
||
|
|
||
|
int i,j;
|
||
|
|
||
|
enableUnchainedVGAMode();
|
||
|
|
||
|
outp(0x3c4, 0x02);
|
||
|
|
||
|
for (i = 0; i < 200; ++i) {
|
||
|
for (j = 0; j < 4; ++j) {
|
||
|
outp(0x3c5, 1 << j);
|
||
|
VGA[i] = j + 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
delay(5000);
|
||
|
|
||
|
enableTextMode();
|
||
|
}
|