anchor.diff:      procedure ReverseBits(Source: Pointer; PackedSize: Integer);
       function FillRun(RunLength: Cardinal): Boolean;
       function DoFiniteStateMachine(const states: TStateArray): Integer;
  -    function FindBlackCode: Integer;
  -    function FindWhiteCode: Integer;
  +    function FindRunLength: Integer;
       function Find2DCode:    Integer;
       function NextBit: Boolean;
   
  
positive.code:       FIsWhite := True;
        // decode one line
        repeat
          if FIsWhite then
            RunLength := FindWhiteCode
          else
            RunLength := FindBlackCode;
          //populating array for 2D compression (if needed)
          if ((FOptions and 1) <> 0) then begin
            inc(fBitPos, RunLength);
  
negative.code: 
    // main loop
    repeat
      RunLength:=FindRunLength;
      if RunLength > 0 then
        if FillRun(RunLength) then
          AdjustEOL;
  