public void rola()//very suspicious to recheck
    {
        if(m6809log!=null) fprintf(m6809log,"M6809#%d rola(before):PC:%d,PPC:%d,A:%d,B:%d,D:%d,DP:%d,U:%d,S:%d,X:%d,Y:%d,CC:%d,EA:%d\n", cpu_getactivecpu(),m6809.pc,m6809.ppc,m6809.a,m6809.b,getDreg(),m6809.dp,m6809.u,m6809.s,m6809.x,m6809.y,m6809.cc,ea);
 
 //BUGGY have to figure it out!
        int t,r;
    	t = m6809.a;
   	r = ((m6809.cc & CC_C) | ((t<<1))) &0xFFFF;//is that correct???
    	CLR_NZVC(); 
        SET_FLAGS8(t,t,r);
    	m6809.a = r & 0xFF;
        if(m6809log!=null) fprintf(m6809log,"M6809#%d rola:PC:%d,PPC:%d,A:%d,B:%d,D:%d,DP:%d,U:%d,S:%d,X:%d,Y:%d,CC:%d,EA:%d\n", cpu_getactivecpu(),m6809.pc,m6809.ppc,m6809.a,m6809.b,getDreg(),m6809.dp,m6809.u,m6809.s,m6809.x,m6809.y,m6809.cc,ea);
        
    }