anchor.diff:  
           if (!testPatternEnabled)
               stageData.pixel = unpack(d[23:0]);
  -        hdmioutput.rgb(Rgb888VideoData{active_video: pack(stageData.de),
  +        hdmioutput.rgb(Rgb888VideoData{active_video: stageData.de,
               vsync: stageData.vsync, hsync: stageData.hsync,
               r: stageData.pixel.r, g: stageData.pixel.g, b: stageData.pixel.b });
       endrule
  
positive.code:     method Action rgb(Rgb888VideoData videoData);
          rgb888StageReg <= Rgb888Stage {
              vsync: videoData.vsync, hsync: videoData.hsync,
              de: videoData.active_video == 1 ? True : False,
              pixel: Rgb888 { r: videoData.r, g: videoData.g, b: videoData.b}};
      endmethod
      interface HDMI hdmi;
  
negative.code:     Reset defaultReset <- exposeCurrentReset();
      Reg#(Rgb888Stage) rgb888StageReg <- mkReg(unpack(0));
      Reg#(Yuv444IntermediatesStage) yuv444IntermediatesStageReg <- mkReg(
          Yuv444IntermediatesStage { vsync: 0, hsync: 0, de: 0, data: unpack(0) });
      Reg#(Yuv444Stage) yuv444StageReg <- mkReg(
          Yuv444Stage { vsync: 0, hsync: 0, de: 0, data: unpack(0) });
      Reg#(Yuv422Stage) yuv422StageReg <- mkReg(
          Yuv422Stage { vsync: 0, hsync: 0, de: 0, data: unpack(0) });
      Reg#(Bool) evenOddPixelReg <- mkReg(False);
  
      rule yuv444IntermediatesStage;
  