FBC_WRITE
FBC_WRITE(sc, FFB_FBC_UCSR, r);
FBC_WRITE(sc, FFB_FBC_PPC,
FBC_WRITE(sc, FFB_FBC_FBC,
FBC_WRITE(sc, FFB_FBC_ROP, FBC_ROP_NEW);
FBC_WRITE(sc, FFB_FBC_DRAWOP, FBC_DRAWOP_RECTANGLE);
FBC_WRITE(sc, FFB_FBC_PMASK, 0xffffffff);
FBC_WRITE(sc, FFB_FBC_FONTINC, 0x10000);
FBC_WRITE(sc, FFB_FBC_FG, sc->sc_fg_cache);
FBC_WRITE(sc, FFB_FBC_BY, 0);
FBC_WRITE(sc, FFB_FBC_BX, 0);
FBC_WRITE(sc, FFB_FBC_BH, ri->ri_height);
FBC_WRITE(sc, FFB_FBC_BW, ri->ri_width);
FBC_WRITE(sc, FFB_FBC_BY, ri->ri_yorigin + row);
FBC_WRITE(sc, FFB_FBC_BX, ri->ri_xorigin);
FBC_WRITE(sc, FFB_FBC_BH, n * ri->ri_font->fontheight);
FBC_WRITE(sc, FFB_FBC_BW, ri->ri_emuwidth);
FBC_WRITE(sc, FFB_FBC_BY, ri->ri_yorigin + row);
FBC_WRITE(sc, FFB_FBC_BX, ri->ri_xorigin + col);
FBC_WRITE(sc, FFB_FBC_BH, ri->ri_font->fontheight);
FBC_WRITE(sc, FFB_FBC_BW, n - 1);
FBC_WRITE(sc, FFB_FBC_ROP, FBC_ROP_NEW);
FBC_WRITE(sc, FFB_FBC_DRAWOP, FBC_DRAWOP_RECTANGLE);
FBC_WRITE(sc, FFB_FBC_ROP, FBC_ROP_OLD | (FBC_ROP_OLD << 8));
FBC_WRITE(sc, FFB_FBC_DRAWOP, FBC_DRAWOP_VSCROLL);
FBC_WRITE(sc, FFB_FBC_BY, ri->ri_yorigin + src);
FBC_WRITE(sc, FFB_FBC_BX, ri->ri_xorigin);
FBC_WRITE(sc, FFB_FBC_DY, ri->ri_yorigin + dst);
FBC_WRITE(sc, FFB_FBC_DX, ri->ri_xorigin);
FBC_WRITE(sc, FFB_FBC_BH, n);
FBC_WRITE(sc, FFB_FBC_BW, ri->ri_emuwidth);
FBC_WRITE(sc, FFB_FBC_FG, fg);
FBC_WRITE(sc, FFB_FBC_FEM, ascr & 0x3f);
FBC_WRITE(sc, FFB_FBC_ASCR, FBC_ASCR_STOP);
FBC_WRITE(sc, FFB_FBC_FEM, ascr & 0x3e);
FBC_WRITE(sc, FFB_FBC_FEM, ascr & 0x01);
FBC_WRITE(sc, FFB_FBC_FEM, ascr & 0x3f);
FBC_WRITE(sc, FFB_FBC_ASCR, FBC_ASCR_RESTART);
FBC_WRITE(sc, FFB_FBC_SRAMAR, 0);
FBC_WRITE(sc, FBC_CTRL, fbc);
FBC_WRITE(sc, CG6_FBC_CLIPMINX, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMAXX, ri->ri_width - 1);
FBC_WRITE(sc, CG6_FBC_CLIPMAXY, ri->ri_height - 1);
FBC_WRITE(sc, CG6_FBC_ALU, FBC_ALU_FLIP);
FBC_WRITE(sc, CG6_FBC_ARECTY, ri->ri_yorigin + row);
FBC_WRITE(sc, CG6_FBC_ARECTX, ri->ri_xorigin + col);
FBC_WRITE(sc, CG6_FBC_ARECTY,
FBC_WRITE(sc, CG6_FBC_ARECTX,
FBC_WRITE(sc, CG6_FBC_MODE, m);
FBC_WRITE(sc, CG6_FBC_CLIP, 0);
FBC_WRITE(sc, CG6_FBC_S, 0);
FBC_WRITE(sc, CG6_FBC_OFFX, 0);
FBC_WRITE(sc, CG6_FBC_OFFY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINX, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMAXX, ri->ri_width - 1);
FBC_WRITE(sc, CG6_FBC_CLIPMAXY, ri->ri_height - 1);
FBC_WRITE(sc, CG6_FBC_ALU, FBC_ALU_COPY);
FBC_WRITE(sc, CG6_FBC_X0, ri->ri_xorigin);
FBC_WRITE(sc, CG6_FBC_Y0, ri->ri_yorigin + src);
FBC_WRITE(sc, CG6_FBC_X1, ri->ri_xorigin + ri->ri_emuwidth - 1);
FBC_WRITE(sc, CG6_FBC_Y1, ri->ri_yorigin + src + n - 1);
FBC_WRITE(sc, CG6_FBC_X2, ri->ri_xorigin);
FBC_WRITE(sc, CG6_FBC_Y2, ri->ri_yorigin + dst);
FBC_WRITE(sc, CG6_FBC_X3, ri->ri_xorigin + ri->ri_emuwidth - 1);
FBC_WRITE(sc, CG6_FBC_Y3, ri->ri_yorigin + dst + n - 1);
FBC_WRITE(sc, CG6_FBC_CLIP, 0);
FBC_WRITE(sc, CG6_FBC_S, 0);
FBC_WRITE(sc, CG6_FBC_OFFX, 0);
FBC_WRITE(sc, CG6_FBC_OFFY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINX, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMAXX, ri->ri_width - 1);
FBC_WRITE(sc, CG6_FBC_CLIPMAXY, ri->ri_height - 1);
FBC_WRITE(sc, CG6_FBC_ALU, FBC_ALU_COPY);
FBC_WRITE(sc, CG6_FBC_X0, ri->ri_xorigin + src);
FBC_WRITE(sc, CG6_FBC_Y0, ri->ri_yorigin + row);
FBC_WRITE(sc, CG6_FBC_X1, ri->ri_xorigin + src + n - 1);
FBC_WRITE(sc, CG6_FBC_Y1,
FBC_WRITE(sc, CG6_FBC_X2, ri->ri_xorigin + dst);
FBC_WRITE(sc, CG6_FBC_Y2, ri->ri_yorigin + row);
FBC_WRITE(sc, CG6_FBC_X3, ri->ri_xorigin + dst + n - 1);
FBC_WRITE(sc, CG6_FBC_Y3,
FBC_WRITE(sc, CG6_FBC_CLIP, 0);
FBC_WRITE(sc, CG6_FBC_S, 0);
FBC_WRITE(sc, CG6_FBC_OFFX, 0);
FBC_WRITE(sc, CG6_FBC_OFFY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINX, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMAXX, ri->ri_width - 1);
FBC_WRITE(sc, CG6_FBC_CLIPMAXY, ri->ri_height - 1);
FBC_WRITE(sc, CG6_FBC_ALU, FBC_ALU_FILL);
FBC_WRITE(sc, CG6_FBC_FG, ri->ri_devcmap[bg]);
FBC_WRITE(sc, CG6_FBC_ARECTY, ri->ri_yorigin + row);
FBC_WRITE(sc, CG6_FBC_ARECTX, ri->ri_xorigin + col);
FBC_WRITE(sc, CG6_FBC_ARECTY,
FBC_WRITE(sc, CG6_FBC_ARECTX, ri->ri_xorigin + col + n - 1);
FBC_WRITE(sc, CG6_FBC_CLIP, 0);
FBC_WRITE(sc, CG6_FBC_S, 0);
FBC_WRITE(sc, CG6_FBC_OFFX, 0);
FBC_WRITE(sc, CG6_FBC_OFFY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINX, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMINY, 0);
FBC_WRITE(sc, CG6_FBC_CLIPMAXX, ri->ri_width - 1);
FBC_WRITE(sc, CG6_FBC_CLIPMAXY, ri->ri_height - 1);
FBC_WRITE(sc, CG6_FBC_ALU, FBC_ALU_FILL);
FBC_WRITE(sc, CG6_FBC_FG, ri->ri_devcmap[bg]);
FBC_WRITE(sc, CG6_FBC_ARECTY, 0);
FBC_WRITE(sc, CG6_FBC_ARECTX, 0);
FBC_WRITE(sc, CG6_FBC_ARECTY, ri->ri_height - 1);
FBC_WRITE(sc, CG6_FBC_ARECTX, ri->ri_width - 1);
FBC_WRITE(sc, CG6_FBC_ARECTY, ri->ri_yorigin + row);
FBC_WRITE(sc, CG6_FBC_ARECTX, ri->ri_xorigin);
FBC_WRITE(sc, CG6_FBC_ARECTY,
FBC_WRITE(sc, CG6_FBC_ARECTX,
FBC_WRITE(sc, CG6_FBC_CLIP, 0);
FBC_WRITE(sc, CG6_FBC_S, 0);
FBC_WRITE(sc, CG6_FBC_OFFX, 0);
FBC_WRITE(sc, CG6_FBC_OFFY, 0);
FBC_WRITE(sc, CG3_FBC_VCTRL + j,
FBC_WRITE(sc, CG3_FBC_CTRL, ctrl);
FBC_WRITE(sc, CG3_FBC_CTRL, fbc);