SPX_REG
SPX_REG(0x3170) = 0xffffffff;
SPX_REG(0x3174) = 0xffffffff;
SPX_REG(SPX_COMMAND) = 0x84884648 | direction; /* 0x848c4648? */
SPX_REG(SPX_XSTART) = dxpos << 16;
SPX_REG(SPX_YSTART) = dypos << 16;
SPX_REG(SPX_XEND) = (dxpos + xdim) << 16;
SPX_REG(SPX_YEND) = (dypos + ydim) << 16;
SPX_REG(SPX_DSTPIX) = temp + LINEAR(dxpos, dypos);
SPX_REG(SPX_SRCPIX) = temp + LINEAR(sxpos, sypos);
SPX_REG(SPX_SRCPIX1) = 0;
SPX_REG(SPX_STRIDE) = (spx_xsize << 16) | spx_xsize;
SPX_REG(SPX_SRCMASK) = 0xff;
SPX_REG(SPX_DSTMASK) = 0xff;
SPX_REG(SPX_DESTLOOP) = 0x00112003;
SPX_REG(SPX_MPC) = 0x2000 | SPX_OP_COPYRECT;
SPX_REG(SPX_COMMAND) = 0x84884608;
SPX_REG(SPX_XSTART) = xpos << 16;
SPX_REG(SPX_YSTART) = ypos << 16;
SPX_REG(SPX_XEND) = (xpos + xdim) << 16;
SPX_REG(SPX_YEND) = (ypos + ydim) << 16;
SPX_REG(SPX_STRIDE) = (spx_xsize << 16) | spx_xsize;
SPX_REG(SPX_DESTLOOP) = 0x20102003;
SPX_REG(SPX_DSTPIX) = temp + LINEAR(xpos, ypos);
SPX_REG(SPX_FG) = COLOR(color);
SPX_REG(SPX_MPC) = 0x2000 | SPX_OP_FILLRECT;
SPX_REG(SPX_FG) = COLOR(dot_fg);
SPX_REG(SPX_BG) = COLOR(dot_bg);
SPX_REG(SPX_MAIN3) = 0x01010101;
SPX_REG(SPX_COMMAND) = 0x84884648;
SPX_REG(SPX_XSTART) = (col * spx_font.fontwidth) << 16;
SPX_REG(SPX_YSTART) = (row * spx_font.fontheight) << 16;
SPX_REG(SPX_XEND) = ((col + 1) * spx_font.fontwidth) << 16;
SPX_REG(SPX_YEND) = ((row + 1) * spx_font.fontheight) << 16;
SPX_REG(SPX_DSTPIX) = temp + LINEAR(col * spx_font.fontwidth,
SPX_REG(SPX_SRCPIX) = temp + FONT_STORAGE_START
SPX_REG(SPX_SRCPIX1) = 0;
SPX_REG(SPX_STRIDE) = (spx_font.fontwidth << 16) | spx_xsize;
SPX_REG(SPX_SRCMASK) = 0xff;
SPX_REG(SPX_DSTMASK) = 0xff;
SPX_REG(SPX_DESTLOOP) = 0x20142003;
SPX_REG(SPX_MPC) = 0x2000 | SPX_OP_COPYRECT;