static void snarf(Vga* vga, Ctlr* ctlr) { int i; /* * Generic VGA registers: * misc, feature; * sequencer; * crt; * graphics; * attribute; * palette. */ vga->misc = vgai(MiscR); vga->feature = vgai(FeatureR); for(i = 0; i < NSeqx; i++) vga->sequencer[i] = vgaxi(Seqx, i); for(i = 0; i < NCrtx; i++) vga->crt[i] = vgaxi(Crtx, i); for(i = 0; i < NGrx; i++) vga->graphics[i] = vgaxi(Grx, i); for(i = 0; i < NAttrx; i++) vga->attribute[i] = vgaxi(Attrx, i); if(dflag) palette.snarf(vga, ctlr); ctlr->flag |= Fsnarf; }
uchar tvp3026xi(uchar index) { uchar crt55, r; crt55 = tvp3026io(Index, index); vgaxo(Crtx, 0x55, crt55|((Data>>2) & 0x03)); r = vgai(dacxreg[Data & 0x03]); vgaxo(Crtx, 0x55, crt55); return r; }
static uchar tvp3026i(uchar reg) { uchar crt55, r; crt55 = vgaxi(Crtx, 0x55) & 0xFC; vgaxo(Crtx, 0x55, crt55|((reg>>2) & 0x03)); r = vgai(dacxreg[reg & 0x03]); vgaxo(Crtx, 0x55, crt55); return r; }
static uint8_t tvp3026i(uint8_t reg) { uint8_t crt55, r; crt55 = vgaxi(Crtx, 0x55) & 0xFC; vgaxo(Crtx, 0x55, crt55|((reg>>2) & 0x03)); r = vgai(dacxreg[reg & 0x03]); vgaxo(Crtx, 0x55, crt55); return r; }