static void wy700_update (cga_t *wy) { unsigned char ctl; ctl = wy->reg[WY700_CONTROL]; if (ctl & 0x08) { switch (ctl & 0xf0) { case 0xc0: wy700_update_1280x800 (wy); break; case 0xa0: wy700_update_1280x400 (wy); break; case 0x80: wy700_update_640x400 (wy); break; default: fprintf (stderr, "WY700: unknown mode (%02X)\n", ctl); break; } return; } cga_update (wy); }
static void m24_update (cga_t *m24) { unsigned char mode, spec; mode = m24->reg[CGA_MODE]; spec = m24->reg[M24_SPECIAL]; if (mode & CGA_MODE_G320) { if (mode & CGA_MODE_G640) { if (spec & M24_SPECIAL_400) { m24_update_640_400 (m24); return; } } } cga_update (m24); }