anchor.diff:              shadowTestPatternEnabled <= v;
           endmethod
           method Action setDePixel(Bit#(12) porch, Bit#(12) width, Bit#(12) visible, Bit#(12) last, Bit#(12) mid);
  -            dePixelWidth <= width;
  -            dePixelPorch <= porch;
  -            dePixelVisible <= visible;
  +            dePixelStartPorch <= porch;
  +            dePixelEndPorch <= width;
  +            dePixelStartVisible <= visible;
               dePixelEnd <= last;
  -            pixelMidpoint <= mid;
  +            dePixelMid <= mid;
           endmethod
           method Action setDeLine(Bit#(11) porch, Bit#(11) width, Bit#(11) visible, Bit#(11) last, Bit#(11) mid);
  -            deLineWidth <= width;
  -            deLinePorch <= porch;
  -            deLineVisible <= visible;
  +            deLineStartPorch <= porch;
  +            deLineEndPorch <= width;
  +            deLineStartVisible <= visible;
               deLineEnd <= last;
  -            lineMidpoint <= mid;
  +            deLineMid <= mid;
           endmethod
           method Action waitForVsync(Bit#(32) unused);
               waitingForVsync <= True;
  
positive.code: 	          sendVsyncIndication.send();
             end
             else begin
                 if (lineCount == deLineVisible)
                     lineVisible <= True;
                 lineCount <= lineCount+1;
                 if (lineCount >= lineMidpoint)
                     patternIndex1 <= 1;
             end
          end
          else begin
             if (lineCount == deLinePorch) begin
                vsync <= 1;
                if (pixelCount == 0 && testPatternEnabled == 0) begin
                    vsyncCounter <= vsyncCounter+1;
                    startDMA.send();
                end
             end
             else if (lineCount == deLineWidth)
                vsync <= 0;
             if (pixelCount == dePixelPorch)
                hsync <= 1;
             else if (pixelCount == dePixelWidth)
                hsync <= 0;
             if (pixelCount == dePixelVisible)
                 dataEnable <= lineVisible;
             pixelCount <= pixelCount + 1;
             if (pixelCount == pixelMidpoint)
                 patternIndex0 <= 1;
          end
      endrule
  
negative.code:     interface Put pdata;
          method Action put(Bit#(32) v) if (testPatternEnabled == 0 && dataEnable);
             rgb888StageReg <= VideoData {de: 1, vsync: 0, hsync: 0, pixel: unpack(v[23:0])};
             $display("HDMI::pdata         [%d:%d] = %x", lineCount, pixelCount, v);
          endmethod
      endinterface
  
  