TSIDX
outw(TSIDX, 0x0102); /* unmask plane #0 */
outb(TSIDX, 1);
outb(TSIDX, 0x02); buf[0] = inb(TSREG);
outb(TSIDX, 0x04); buf[1] = inb(TSREG);
outb(TSIDX, 0x00); outb(TSREG, 0x01);
outb(TSIDX, 0x02); outb(TSREG, 0x04);
outb(TSIDX, 0x04); outb(TSREG, 0x07);
outb(TSIDX, 0x00); outb(TSREG, 0x03);
outw(TSIDX, 0x0100);
outw(TSIDX, 0x0402);
outw(TSIDX, 0x0704);
outw(TSIDX, 0x0300);
outb(TSIDX, 0x00); outb(TSREG, 0x01);
outb(TSIDX, 0x02); outb(TSREG, buf[0]);
outb(TSIDX, 0x04); outb(TSREG, buf[1]);
outb(TSIDX, 0x00); outb(TSREG, 0x03);
outw(TSIDX, 0x0100);
outw(TSIDX, 0x0002 | (buf[0] << 8));
outw(TSIDX, 0x0004 | (buf[1] << 8));
outw(TSIDX, 0x0300);
outb(TSIDX, 0x00); outb(TSREG, 0x01);
outb(TSIDX, 0x01); val = inb(TSREG); /* disable screen */
outb(TSIDX, 0x01); outb(TSREG, val | 0x20);
outb(TSIDX, 0x00); outb(TSREG, 0x03);
outb(TSIDX, 0x00); outb(TSREG, 0x01);
outb(TSIDX, 0x01); outb(TSREG, val & 0xdf); /* enable screen */
outb(TSIDX, 0x00); outb(TSREG, 0x03);
outb(TSIDX, 0x00); outb(TSREG, 0x01);
outb(TSIDX, 0x01); val = inb(TSREG); /* disable screen */
outb(TSIDX, 0x01); outb(TSREG, val | 0x20);
outb(TSIDX, 0x00); outb(TSREG, 0x03);
outb(TSIDX, 0x00); outb(TSREG, 0x01);
outb(TSIDX, 0x01); outb(TSREG, val & 0xdf); /* enable screen */
outb(TSIDX, 0x00); outb(TSREG, 0x03);
outb(TSIDX, 0x03); outb(TSREG, cg[page]);
outb(TSIDX, 0x00); outb(TSREG, 0x01); /* stop sequencer */
outb(TSIDX, i + 1);
outb(TSIDX, 0x00); outb(TSREG, 0x03); /* start sequencer */
outb(TSIDX, 0x00); outb(TSREG, 0x01); /* stop sequencer */
outb(TSIDX, i + 1);
outb(TSIDX, 0x00); outb(TSREG, 0x03); /* start sequencer */
outb(TSIDX, 0x01);
outb(TSIDX, 0x01);
outb(TSIDX, 0x01);
outb(TSIDX, 0x01);
outb(TSIDX, 0x01);
outb(TSIDX, 0x01);