pnozz_write_dac_ctl_reg(pPnozz, DAC_CURSOR_HOT_X, 63); pnozz_write_dac_ctl_reg(pPnozz, DAC_CURSOR_HOT_Y, 63);  pnozz_read_4(pPnozz, VID_DACSYNC);
pPnozz->Cursor.set = FB_CUR_SETSHAPE; pPnozz->Cursor.image = src; pPnozz->Cursor.mask = src + 0x200;  if (ioctl(pPnozz->psdp->fd, FBIOSCURSOR, &pPnozz->Cursor) == -1) xf86Msg(X_ERROR, "FB_CUR_SETSHAPE failed\n");
PnozzLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src){    PnozzPtr pPnozz = GET_PNOZZ_FROM_SCRN(pScrn);    int i;    /*     * this DAC is funky. Sometimes it messes up the index and we end up      * stomping all over the video timing registers, the result looks funny.     * so we're paranoid and write the index for every single byte.     */         pnozz_write_dac_ctl_reg(pPnozz, DAC_CURSOR_CTL,         DAC_CURSOR_X11| DAC_CURSOR_64);    /* we use a 64x64, 2bit cursor image -> 0x400 bytes */    for (i = 0; i < 0x400; i++)	pnozz_write_dac_ctl_reg(pPnozz, i + 0x100, src[i]);        /* write the hotspot coordinates, sometimes they seem to get lost */    pnozz_write_dac_ctl_reg(pPnozz, DAC_CURSOR_HOT_X, 63);    pnozz_write_dac_ctl_reg(pPnozz, DAC_CURSOR_HOT_Y, 63);    pnozz_read_4(pPnozz, VID_DACSYNC);}