CRTCR
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0xbf));
if (!(si->ps.slaved_tmds1)) CRTCW(PIXEL, (CRTCR(PIXEL) & 0x03));
if (si->ps.slaved_tmds1) CRTCW(LCD, (CRTCR(LCD) | 0x01));
CRTCW(PIXEL, ((CRTCR(PIXEL) & 0xc7) | 0x80));
CRTCW(LCD, (CRTCR(LCD) & 0xfe));
CRTCW(VSYNCE, (CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE, ((CRTCR(VSYNCE) & 0xf0) | (vsync_e & 0x0f)));
CRTCW(HEB, (CRTCR(HEB) & 0xe0) |
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0xfb));
CRTCW(REPAINT1, (CRTCR(REPAINT1) | 0x04));
if (!(si->ps.monitors & CRTC1_TMDS)) CRTCW(PIXEL, (CRTCR(PIXEL) & 0x7f));
LOG(2,("CRTC: FP_HTIMING reg readback: $%02x\n", CRTCR(FP_HTIMING)));
LOG(2,("CRTC: FP_VTIMING reg readback: $%02x\n", CRTCR(FP_VTIMING)));
CRTCW(PIXEL, ((CRTCR(PIXEL) & 0xfc) | viddelay));
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0x7f));
CRTCW(REPAINT1, (CRTCR(REPAINT1) | 0x80));
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0xbf));
CRTCW(REPAINT1, (CRTCR(REPAINT1) | 0x40));
CRTCW(REPAINT0, ((CRTCR(REPAINT0) & 0x1f) | ((offset & 0x0700) >> 3)));
temp = (CRTCR(REPAINT0) & 0xe0);
temp = (CRTCR(HEB) & 0x9f);
CRTCW(CURCTL0, (CRTCR(CURCTL0) | 0x01));
CRTCW(CURCTL0, (CRTCR(CURCTL0) & 0xfe));
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTC2W(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
data = (CRTCR(WR_I2CBUS_0) & 0xf0) | 0x01;
data = (CRTCR(WR_I2CBUS_1) & 0xf0) | 0x01;
data = (CRTCR(WR_I2CBUS_2) & 0xf0) | 0x01;
if ((CRTCR(RD_I2CBUS_0) & 0x04)) return true;
if ((CRTCR(RD_I2CBUS_1) & 0x04)) return true;
if ((CRTCR(RD_I2CBUS_2) & 0x04)) return true;
if ((CRTCR(RD_I2CBUS_0) & 0x08)) return true;
if ((CRTCR(RD_I2CBUS_1) & 0x08)) return true;
if ((CRTCR(RD_I2CBUS_2) & 0x08)) return true;
CRTCW(I2C_LOCK ,(CRTCR(I2C_LOCK) | 0x04));
data = (CRTCR(WR_I2CBUS_0) & 0xf0) | 0x01;
data = (CRTCR(WR_I2CBUS_1) & 0xf0) | 0x01;
data = (CRTCR(WR_I2CBUS_2) & 0xf0) | 0x01;
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
LOG(2,("CRTC1: PIXEL register: $%02x\n", CRTCR(PIXEL)));
LOG(2,("CRTC1: LCD register: $%02x\n", CRTCR(LCD)));
LOG(2,("CRTC1: register $59: $%02x\n", CRTCR(0x59)));
LOG(2,("CRTC1: register $9f: $%02x\n", CRTCR(0x9f)));
slaved_for_dev1 = (CRTCR(PIXEL) & 0x80);
tvout1 = !(CRTCR(LCD) & 0x01);
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTC2W(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTC2W(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE, (CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE, ((CRTCR(VSYNCE) & 0xf0) | (vsync_e & 0x0f)));
CRTCW(HEB, (CRTCR(HEB) & 0xe0) |
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0xfb));
CRTCW(REPAINT1, (CRTCR(REPAINT1) | 0x04));
if (!si->ps.tmds1_active) CRTCW(PIXEL, (CRTCR(PIXEL) & 0x7f));
LOG(2,("CRTC: FP_HTIMING reg readback: $%02x\n", CRTCR(FP_HTIMING)));
LOG(2,("CRTC: FP_VTIMING reg readback: $%02x\n", CRTCR(FP_VTIMING)));
CRTCW(PIXEL, ((CRTCR(PIXEL) & 0xfc) | viddelay));
CRTCW(0x59, (CRTCR(0x59) | 0x01));
CRTCW(0x59, (CRTCR(0x59) & 0xfe));
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0x7f));
CRTCW(REPAINT1, (CRTCR(REPAINT1) | 0x80));
CRTCW(REPAINT1, (CRTCR(REPAINT1) & 0xbf));
CRTCW(REPAINT1, (CRTCR(REPAINT1) | 0x40));
*h = !(CRTCR(REPAINT1) & 0x80);
*v = !(CRTCR(REPAINT1) & 0x40);
CRTCW(REPAINT0, ((CRTCR(REPAINT0) & 0x1f) | ((offset & 0x0700) >> 3)));
temp = (CRTCR(REPAINT0) & 0xe0);
temp = (CRTCR(HEB) & 0x9f);
CRTCW(CURCTL0, (CRTCR(CURCTL0) | 0x01));
CRTCW(CURCTL0, (CRTCR(CURCTL0) & 0xfe));
CRTC2W(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
LOG(2,("CRTC1: PIXEL register: $%02x\n", CRTCR(PIXEL)));
LOG(2,("CRTC1: LCD register: $%02x\n", CRTCR(LCD)));
LOG(2,("CRTC1: register $59: $%02x\n", CRTCR(0x59)));
LOG(2,("CRTC1: register $9f: $%02x\n", CRTCR(0x9f)));
slaved_for_dev1 = (CRTCR(PIXEL) & 0x80);
tvout1 = !(CRTCR(LCD) & 0x01);
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTC2W(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTC2W(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
switch (((CRTCR(MEMCLK)) & 0x70) >> 4)
CRTCW(VSYNCE, (CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE, ((CRTCR(VSYNCE) & 0xf0) | (vsync_e & 0x0f)));
CRTCW(HTIMEXT1, (CRTCR(HTIMEXT1) & 0xc8) |
CRTCW(HTIMEXT2, (CRTCR(HTIMEXT2) & 0xf7) | ((htotal & 0x100) >> (8 - 3)));
CRTCW(VTIMEXT_PIT, (CRTCR(VTIMEXT_PIT) & 0xe0) |
LOG(2,("CRTC: FP_HTIMING reg readback: $%02x\n", CRTCR(FP_HTIMING)));
LOG(2,("CRTC: FP_VTIMING reg readback: $%02x\n", CRTCR(FP_VTIMING)));
CRTCW(0x59, (CRTCR(0x59) | 0x01));
CRTCW(0x59, (CRTCR(0x59) & 0xfe));
CRTCW(HTIMEXT2, (CRTCR(HTIMEXT2) & 0xef));
CRTCW(HTIMEXT2, (CRTCR(HTIMEXT2) | 0x10));
CRTCW(HTIMEXT2, (CRTCR(HTIMEXT2) & 0xdf));
CRTCW(HTIMEXT2, (CRTCR(HTIMEXT2) | 0x20));
*h = !(CRTCR(HTIMEXT2) & 0x10);
*v = !(CRTCR(HTIMEXT2) & 0x20);
CRTCW(VTIMEXT_PIT, (((CRTCR(VTIMEXT_PIT)) & 0x1f) | ((offset & 0x0700) >> 3)));
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
CRTCW(VSYNCE ,(CRTCR(VSYNCE) & 0x7f));
LOG(2,("CRTC1: PIXEL register: $%02x\n", CRTCR(PIXEL)));
LOG(2,("CRTC1: LCD register: $%02x\n", CRTCR(LCD)));
LOG(2,("CRTC1: register $59: $%02x\n", CRTCR(0x59)));
LOG(2,("CRTC1: register $9f: $%02x\n", CRTCR(0x9f)));
slaved_for_dev1 = (CRTCR(PIXEL) & 0x80);
tvout1 = !(CRTCR(LCD) & 0x01);