WritePIO_8
WritePIO_8(0x3d4, index);
WritePIO_8(0x3d4, index);
WritePIO_8(0x3d5, value);
WritePIO_8(0x3d4, index);
WritePIO_8(0x3d5, (ReadPIO_8(0x3d5) & ~mask) | (value & mask));
WritePIO_8(0x3c4, index);
WritePIO_8(0x3c4, index);
WritePIO_8(0x3c5, value);
WritePIO_8(0x3c4, index);
WritePIO_8(0x3c5, (ReadPIO_8(0x3c5) & ~mask) | (value & mask));
WritePIO_8(0x3c2, value);
WritePIO_8(0x3c8, index); // color index
WritePIO_8(0x3c9, red);
WritePIO_8(0x3c9, green);
WritePIO_8(0x3c9, blue);
WritePIO_8(VGA_ENABLE, ReadPIO_8(VGA_ENABLE) | 0x01);
WritePIO_8(MISC_OUT_W, ReadPIO_8(MISC_OUT_R) | 0x01); // enable color
WritePIO_8(CRTC_INDEX, 0x53);
WritePIO_8(CRTC_DATA, ReadPIO_8(CRTC_DATA) | 0x8); // enable MMIO
WritePIO_8(VGA_ENABLE, ReadPIO_8(VGA_ENABLE) | 0x01); // enable VGA
WritePIO_8(MISC_OUT_W, ReadPIO_8(MISC_OUT_R) | 0x01); // enable color
WritePIO_8(CRTC_INDEX, 0x59);
WritePIO_8(CRTC_DATA, (uint8)((uint32)(si.videoMemPCI) >> 24));
WritePIO_8(CRTC_INDEX, 0x5A);
WritePIO_8(CRTC_DATA, (uint8)((uint32)(si.videoMemPCI) >> 16));
WritePIO_8(CRTC_INDEX, 0x53);
WritePIO_8(CRTC_DATA, ReadPIO_8(CRTC_DATA) | 0x8);