set8
set8(mmRegs+0x8f, 0x3c, bltDir);
set8(mmRegs+0x92, 0x80, 0x02); /* 4x1 source wrap */
set8(mmRegs+0x92, 0x80, 0x0a); /* 3x1 source wrap */
set8(mmRegs+0x9c, 0x00, 0x33); /* mask=1 always, always use FGR */
set8(mmRegs+0x9f, 0x00, 0xcc); /* FGR ROP = copy of source */
set8(mmRegs+0x8f, 0x18, 0x40);
set8(mmRegs+0x93, 0x1a, 0x00);
set8(mmRegs+0x31, 0xef, 0x10); /* let ACL to operate */
set8(mmRegs+0x30, 0, 0x00);
set8(mmRegs+0x30, 0, 0x01);
set8(mmRegs+0x30, 0, 0x00);
set8(mmRegs+0x30, 0, 0x10);
set8(mmRegs+0x30, 0, 0x00);
set8(mmRegs+0x31, 0xef, 0x10); /* let ACL to operate */
set8(mmRegs+0x32, 0x99, 0x00); /* maximize the performance */
set8(mmRegs+0x8e, 0xcf, (bpp - 1) << 4); /* set pixel color depth */
set8(mmRegs+0x91, 0x80, 0x00); /* maximize the performance */
set8(mmRegs+0x9d, 0x00, 0x00); /* maximize the performance */
set8(mmRegs+0x92, 0x80, 0x77); /* no source wrap */
set8(mmRegs+0x9c, 0x00, 0x33); /* mask=1 always, always use FGR */
set8(mmRegs+0x9f, 0x00, 0xcc); /* FGR ROP = copy of source */
set8(&((volatile char *)base)[0x34], 0x7f, 0x80);
set8(&((volatile char *)base)[0x34], 0x7f, 0x00);
set8(&((volatile char *)base)[0x34], 0xfd, 0x02);
set8(&((volatile char *)base)[0x34], 0xfd, 0x00);
set8(&((volatile char *)base)[0x34], 0xfe, 0x01);
set8(&((volatile char *)base)[0x34], 0xfe, 0x00);
set8(&((volatile char *)base)[0x35], 0xfd, 0x02);
set8(&((volatile char *)base)[0x34], 0xfe, 0x00);
__inline void set8(volatile char *addr, char mask, char val);