35 lines
482 B
C
35 lines
482 B
C
|
|
void savevgastate(unsigned char *vbp)
|
|
{
|
|
int a,b;
|
|
// read / store regs
|
|
*vbp++=inp(0x3cc);
|
|
for(a=0;a<=0x4;a++)
|
|
{
|
|
outp(0x3c4,a);
|
|
b=inp(0x3c5);
|
|
*vbp++=b;
|
|
}
|
|
for(a=0;a<=0x18;a++)
|
|
{
|
|
outp(0x3d4,a);
|
|
b=inp(0x3d5);
|
|
*vbp++=b;
|
|
}
|
|
for(a=0;a<=0x8;a++)
|
|
{
|
|
outp(0x3ce,a);
|
|
b=inp(0x3cf);
|
|
*vbp++=b;
|
|
}
|
|
for(a=0;a<=0x14;a++)
|
|
{
|
|
inp(0x3d4+6);
|
|
outp(0x3c0,a);
|
|
b=inp(0x3c1);
|
|
*vbp++=b;
|
|
outp(0x3c0,b);
|
|
outp(0x3c0,32);
|
|
}
|
|
*vbp++=0;
|
|
}
|