void NewportRestoreXmap9s( ScrnInfoPtr pScrn) { NewportPtr pNewport = NEWPORTPTR(pScrn); NewportRegsPtr pNewportRegs = NEWPORTREGSPTR(pScrn); /* mode register 0 */ NewportXmap9SetModeRegister( pNewportRegs , 0, pNewport->txt_xmap9_mod0 ); NewportBfwait(pNewport->pNewportRegs); /* mode index register */ pNewportRegs->set.dcbmode = (DCB_XMAP_ALL | W_DCB_XMAP9_PROTOCOL | XM9_CRS_MODE_REG_INDEX | NPORT_DMODE_W1 ); pNewportRegs->set.dcbdata0.bytes.b3 = pNewport->txt_xmap9_mi; NewportBfwait(pNewport->pNewportRegs); /* cfg xmap0 */ pNewportRegs->set.dcbmode = (DCB_XMAP0 | W_DCB_XMAP9_PROTOCOL | XM9_CRS_CONFIG | NPORT_DMODE_W1 ); pNewportRegs->set.dcbdata0.bytes.b3 = pNewport->txt_xmap9_cfg0; NewportBfwait(pNewport->pNewportRegs); /* cfg xmap1 */ pNewportRegs->set.dcbmode = (DCB_XMAP1 | W_DCB_XMAP9_PROTOCOL | XM9_CRS_CONFIG | NPORT_DMODE_W1 ); pNewportRegs->set.dcbdata0.bytes.b3 = pNewport->txt_xmap9_cfg1; /* cursor cmap msb */ pNewportRegs->set.dcbmode = (DCB_XMAP0 | R_DCB_XMAP9_PROTOCOL | XM9_CRS_CURS_CMAP_MSB | NPORT_DMODE_W1 ); pNewportRegs->set.dcbdata0.bytes.b3 = pNewport->txt_xmap9_ccmsb; }
void NewportBackupXmap9s( ScrnInfoPtr pScrn) { NewportPtr pNewport = NEWPORTPTR(pScrn); NewportRegsPtr pNewportRegs = NEWPORTREGSPTR(pScrn); NewportBfwait(pNewport->pNewportRegs); /* config of xmap0 */ pNewportRegs->set.dcbmode = (DCB_XMAP0 | R_DCB_XMAP9_PROTOCOL | XM9_CRS_CONFIG | NPORT_DMODE_W1 ); pNewport->txt_xmap9_cfg0 = pNewportRegs->set.dcbdata0.bytes.b3; NewportBfwait(pNewport->pNewportRegs); /* config of xmap1 */ pNewportRegs->set.dcbmode = (DCB_XMAP1 | R_DCB_XMAP9_PROTOCOL | XM9_CRS_CONFIG | NPORT_DMODE_W1 ); pNewport->txt_xmap9_cfg1 = pNewportRegs->set.dcbdata0.bytes.b3; NewportBfwait(pNewport->pNewportRegs); /* mode index register of xmap0 */ pNewportRegs->set.dcbmode = (DCB_XMAP0 | R_DCB_XMAP9_PROTOCOL | XM9_CRS_MODE_REG_INDEX | NPORT_DMODE_W1 ); pNewport->txt_xmap9_mi = pNewportRegs->set.dcbdata0.bytes.b3; /* mode register 0 of xmap 0 */ pNewport->txt_xmap9_mod0 = NewportXmap9GetModeRegister(pNewportRegs, 0, 0); /* cursor cmap msb */ pNewportRegs->set.dcbmode = (DCB_XMAP0 | R_DCB_XMAP9_PROTOCOL | XM9_CRS_CURS_CMAP_MSB | NPORT_DMODE_W1 ); pNewport->txt_xmap9_ccmsb = pNewportRegs->set.dcbdata0.bytes.b3; }
void NewportRestoreVc2( ScrnInfoPtr pScrn) { NewportPtr pNewport = NEWPORTPTR(pScrn); NewportRegsPtr pNewportRegs = NEWPORTREGSPTR(pScrn); NewportVc2Set( pNewportRegs, VC2_IREG_CONTROL, pNewport->txt_vc2ctrl ); NewportVc2Set( pNewportRegs, VC2_IREG_CURSX, pNewport->txt_vc2cur_x ); NewportVc2Set( pNewportRegs, VC2_IREG_CURSY, pNewport->txt_vc2cur_y ); }
void NewportBackupVc2( ScrnInfoPtr pScrn) { NewportPtr pNewport = NEWPORTPTR(pScrn); NewportRegsPtr pNewportRegs = NEWPORTREGSPTR(pScrn); pNewport->txt_vc2ctrl = NewportVc2Get( pNewportRegs, VC2_IREG_CONTROL ); pNewport->txt_vc2cur_x = NewportVc2Get( pNewportRegs, VC2_IREG_CURSX ); pNewport->txt_vc2cur_y = NewportVc2Get( pNewportRegs, VC2_IREG_CURSY ); }
void NewportBackupPalette(ScrnInfoPtr pScrn) { int i; NewportPtr pNewport = NEWPORTPTR(pScrn); NewportWait(pNewport->pNewportRegs); for(i = 0; i < 256; i++) { NewportCmapGetRGB(pNewport->pNewportRegs, i, &(pNewport->txt_colormap[i])); } }
/* Load a colormap into the hardware */ void NewportLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, \ LOCO* colors, VisualPtr pVisual) { int i,index; NewportRegsPtr pNewportRegs = NEWPORTPTR(pScrn)->pNewportRegs; for(i = 0; i < numColors; i++) { index=indices[i]; NewportBfwait(pNewportRegs); NewportCmapSetRGB(pNewportRegs, index, colors[index]); } }
void NewportRestoreRex3( ScrnInfoPtr pScrn) { NewportPtr pNewport = NEWPORTPTR(pScrn); NewportRegsPtr pNewportRegs = NEWPORTREGSPTR(pScrn); pNewportRegs->set.drawmode0 = pNewport->txt_drawmode0; pNewportRegs->set.drawmode1 = pNewport->txt_drawmode1; pNewportRegs->set.wrmask = pNewport->txt_wrmask; pNewportRegs->cset.smask1x = pNewport->txt_smask1x; pNewportRegs->cset.smask1y = pNewport->txt_smask1y; pNewportRegs->cset.smask2x = pNewport->txt_smask2x; pNewportRegs->cset.smask2y = pNewport->txt_smask2y; pNewportRegs->cset.clipmode = pNewport->txt_clipmode; }
/* restore the default colormap */ void NewportRestorePalette(ScrnInfoPtr pScrn) { int i; NewportPtr pNewport = NEWPORTPTR(pScrn); #ifdef linux for (i = 0; i < 16; i++) { pNewport->txt_colormap[color_table[i]].red = default_red[i]; pNewport->txt_colormap[color_table[i]].green = default_grn[i]; pNewport->txt_colormap[color_table[i]].blue = default_blu[i]; } #endif for(i = 0; i < 256; i++) { NewportCmapSetRGB(pNewport->pNewportRegs, i, pNewport->txt_colormap[i]); } }
void NewportBackupVc2Cursor( ScrnInfoPtr pScrn) { int i; CARD16 tmp, *data; NewportPtr pNewport = NEWPORTPTR(pScrn); NewportRegsPtr pNewportRegs = NEWPORTREGSPTR(pScrn); data = (CARD16*)pNewport->txt_vc2cur_data; /* address of cursor data in vc2's ram */ tmp = NewportVc2Get( pNewportRegs, VC2_IREG_CENTRY); /* this is where we want to write to: */ NewportVc2Set( pNewportRegs, VC2_IREG_RADDR, tmp); pNewportRegs->set.dcbmode = (NPORT_DMODE_AVC2 | VC2_REGADDR_RAM | NPORT_DMODE_W2 | VC2_PROTOCOL); /* read cursor data */ for (i = 0; i < 128; i++) { NewportBfwait(pNewportRegs); *data = pNewportRegs->set.dcbdata0.hwords.s1; data++; } }
void NewportRestoreVc2Cursor( ScrnInfoPtr pScrn) { NewportPtr pNewport = NEWPORTPTR(pScrn); NewportLoadCursorImage( pScrn, (CARD8*)pNewport->txt_vc2cur_data); }