anchor.diff:  		vsync: pack(vstate == Sync),
   		hsync: pack(hstate == Sync),
   		active_video: active_video_reg,
  -		video_data: xsvi_video_data_wire //videodata
  +		video_data: videodata
   	    };
   	endmethod
       endinterface: out
  
positive.code: module mkImageonXsviFromSensor#(Clock slow_clock, Reset slow_reset, ImageonVita host)(ImageonXsviFromSensor);
      Clock defaultClock <- exposeCurrentClock();
      Reset defaultReset <- exposeCurrentReset();
      Gearbox#(4, 1, Bit#(10)) dataGearbox <- mkNto1Gearbox(slow_clock, slow_reset, defaultClock, defaultReset); 
      Gearbox#(4, 1, Bit#(1))  syncGearbox <- mkNto1Gearbox(slow_clock, slow_reset, defaultClock, defaultReset); 
  
      Reg#(Bit#(1)) active_video_reg <- mkReg(0);
      Wire#(Bit#(10)) xsvi_video_data_wire <- mkDWire(0);
      Reg#(Bit#(1))  framestart_wire <- mkSyncReg(0, slow_clock, slow_reset, defaultClock);
  
      Reg#(State)       hstate <- mkReg(Idle);
      Reg#(State)       vstate <- mkReg(Idle);
  
negative.code: 	    in[1] = framestart_delay_reg;
  	    syncGearbox.enq(in);
  	endmethod
  	method Action video_data(Bit#(40) v);// if (active_video_reg == 1);
  	    // least signifcant 10 bits shifted out first
  	    Vector#(4, Bit#(10)) in = unpack(v);
  	    dataGearbox.enq(in);
  