anchor.diff:  	    seq
   	       //$display("responseArbiter echoEngine completion");
   	       //$display("status write handle=%d address=%h burst=%h tag=%h",
  -	//	  statusRing.memhandle, statusRing.bufferfirst, 8, statusTag);
  +	//	  statusRing.mempointer, statusRing.bufferfirst, 8, statusTag);
   	       status_write_chan.writeReq.put(
  -		  DmaRequest{handle: statusRing.memhandle, 
  -		     address: statusRing.bufferfirst, burstLen: 8, tag: statusTag});
  +		  DmaRequest{pointer: statusRing.mempointer, 
  +		     offset: statusRing.bufferfirst, burstLen: 8, tag: statusTag});
   	       for (respCtr <= 0; respCtr < 8; respCtr <= respCtr + 1)
   		  action
   		     let rv <- echoEngine.response.get();
  
positive.code:    method Action set(Bit#(1) cmd, Bit#(3) regist, Bit#(64) addr);
     method Action get(Bit#(1) cmd, Bit#(3) regist);
     method Action hwenable(Bit#(1) en);
     method Action doCommandIndirect(Bit#(64) addr);
     method Action doCommandImmediate(Bit#(64) data);
  endinterface
  
  
negative.code: 	       seq
  	       if (cmdRing.bufferfirst != cmdRing.bufferlast) 
  		  seq
  		     //$display ("cmdFetch handle=%h address=%h burst=%h tag=%h", cmdRing.mempointer, cmdRing.bufferlast, 8, cmdFetchTag);
  		     cmd_read_chan.readReq.put(
  			DmaRequest{pointer: cmdRing.mempointer,
  			   offset: cmdRing.bufferlast, burstLen: 8, tag: cmdFetchTag});
  		     cmdRing.pop(64);
  		     cmdFetchTag <= cmdFetchTag + 1;
  		  endseq
  