anchor.diff:             if (pixelCount >= pixelMidpoint)
                  patternIndex0 <= 1;
           end
  -        dataEnable <= (lineCount >= deLineCountMinimum && lineCount < deLineCountMaximum
  -                   && pixelCount >= dePixelCountMinimum && pixelCount < dePixelCountMaximum);
  -    endrule
  -
  -//width, blanking - offset, active + blanking-offset, active+blanking
  +        dataEnable <= (lineCount >= deLinePorch && lineCount < deLineVisible
  +                   && pixelCount >= dePixelPorch && pixelCount < dePixelVisible);
  +    endrule
  +
       rule output_data_rule if (!dataEnable);
           rgb888StageReg <= VideoData {de: 0, pixel: unpack(0),
                  vsync: pack(lineCount <= deLineWidth), hsync: pack(pixelCount <= dePixelWidth) };
  
positive.code:         method Action setTestPattern(Bit#(1) v);
              shadowTestPatternEnabled <= v;
          endmethod
          method Action setDePixel(Bit#(12) width, Bit#(12) min, Bit#(12) max, Bit#(12) last, Bit#(12) mid);
              dePixelWidth <= width;
              dePixelCountMinimum <= min;
              dePixelCountMaximum <= max;
              dePixelEnd <= last;
              pixelMidpoint <= mid;
          endmethod
          method Action setDeLine(Bit#(11) width, Bit#(11) min, Bit#(11) max, Bit#(11) last, Bit#(11) mid);
              deLineWidth <= width;
              deLineCountMinimum <= min;
              deLineCountMaximum <= max;
              deLineEnd <= last;
              lineMidpoint <= mid;
          endmethod
  
negative.code: interface HdmiInternalRequest;
      method Action setTestPattern(Bit#(1) v);
      method Action setPatternColor(Bit#(32) v);
      method Action setDePixel(Bit#(12) width, Bit#(12) porch, Bit#(12) visible, Bit#(12) last, Bit#(12) mid);
      method Action setDeLine(Bit#(11) width, Bit#(11) porch, Bit#(11) visible, Bit#(11) last, Bit#(11) mid);
      method Action waitForVsync(Bit#(32) unused);
  endinterface
  interface HdmiInternalIndication;
  