rem: ACCW(CONTROL, (si->engine.control | 0x800c0000));
add: ACCW(CONTROL, ( 0x800c0000));
context: status_t nm_acc_blit(uint16 xs,uint16 ys,uint16 xd,uint16 yd,uint16 w,uint16 h){	/* make sure the previous command (if any) is completed *///	does not work yet://	nm_acc_wait_fifo(4);//	so:	nm_acc_wait_idle();    if ((yd < ys) || ((yd == ys) && (xd < xs)))    {		/* start with upper left corner */		switch (si->ps.card_type)		{		case NM2070:			/* use ROP GXcopy (b16-19), and use linear adressing system */			ACCW(CONTROL, si->engine.control | 0x000c0000);			/* send command and exexute (warning: order of programming regs is important!) */			ACCW(2070_XYEXT, ((h << 16) | (w & 0x0000ffff)));			ACCW(SRCSTARTOFF, ((ys * si->fbc.bytes_per_row) + (xs * si->engine.depth)));			ACCW(2070_DSTSTARTOFF, ((yd * si->fbc.bytes_per_row) + (xd * si->engine.depth)));			break;		case NM2097:		case NM2160:			/* use ROP GXcopy (b16-19), and use XY coord. system (b24-25) */			ACCW(CONTROL, si->engine.control | 0x830c0000);			/* send command and exexute (warning: order of programming regs is important!) */			ACCW(SRCSTARTOFF, ((ys << 16) | (xs & 0x0000ffff)));			ACCW(2090_DSTSTARTOFF, ((yd << 16) | (xd & 0x0000ffff)));			ACCW(2090_XYEXT, (((h + 1) << 16) | ((w + 1) & 0x0000ffff)));			break;		default: /* NM2200 and later */			/* use ROP GXcopy (b16-19), and use linear adressing system */			//fixme? it seems CONTROL nolonger needs direction, and can be pgm'd just once...			ACCW(CONTROL, (si->engine.control | 0x800c0000));			/* send command and exexute (warning: order of programming regs is important!) */			ACCW(SRCSTARTOFF, ((ys * si->fbc.bytes_per_row) + (xs * si->engine.depth)));			ACCW(2090_DSTSTARTOFF, ((yd * si->fbc.bytes_per_row) + (xd * si->engine.depth)));			ACCW(2090_XYEXT, (((h + 1) << 16) | ((w + 1) & 0x0000ffff)));			break;		}	}    else    {		/* start with lower right corner */		switch (si->ps.card_type)		{		case NM2070:			/* use ROP GXcopy (b16-19), and use linear adressing system */			ACCW(CONTROL, (si->engine.control | 0x000c0013));			/* send command and exexute (warning: order of programming regs is important!) */			ACCW(2070_XYEXT, ((h << 16) | (w & 0x0000ffff)));			ACCW(SRCSTARTOFF, (((ys + h) * si->fbc.bytes_per_row) + ((xs + w) * si->engine.depth)));			ACCW(2070_DSTSTARTOFF, (((yd + h) * si->fbc.bytes_per_row) + ((xd + w) * si->engine.depth)));			break;		case NM2097:		case NM2160:			/* use ROP GXcopy (b16-19), and use XY coord. system (b24-25) */			ACCW(CONTROL, (si->engine.control | 0x830c0013));			/* send command and exexute (warning: order of programming regs is important!) */			ACCW(SRCSTARTOFF, (((ys + h) << 16) | ((xs + w) & 0x0000ffff)));			ACCW(2090_DSTSTARTOFF, (((yd + h) << 16) | ((xd + w) & 0x0000ffff)));			ACCW(2090_XYEXT, (((h + 1) << 16) | ((w + 1) & 0x0000ffff)));			break;		default: /* NM2200 and later */			/* use ROP GXcopy (b16-19), and use linear adressing system */			//fixme? it seems CONTROL nolonger needs direction, and can be pgm'd just once...			ACCW(CONTROL, (si->engine.control | 0x800c0013));			/* send command and exexute (warning: order of programming regs is important!) */			ACCW(SRCSTARTOFF, (((ys + h) * si->fbc.bytes_per_row) + ((xs + w) * si->engine.depth)));			ACCW(2090_DSTSTARTOFF, (((yd + h) * si->fbc.bytes_per_row) + ((xd + w) * si->engine.depth)));			ACCW(2090_XYEXT, (((h + 1) << 16) | ((w + 1) & 0x0000ffff)));			break;		}	}	return B_OK;}