anchor.diff:  end;
   
   
  -procedure DoLogKamRandom(aValue: Extended; aCaller: String; aKaMRandomFunc: String); overload;
  +procedure DoLogKamRandom(aValue: Extended; const aCaller: AnsiString; const aKaMRandomFunc: AnsiString); overload;
   begin
     if ((gLog <> nil) and gLog.CanLogRandomChecks()) then
       gLog.LogRandomChecks(Format('%12s: %30s Caller: %s', [aKaMRandomFunc, FormatFloat('0.##############################', aValue), aCaller]));
   end;
   
   
  -procedure LogKamRandom(aValue: Single; aCaller: String; aKaMRandomFunc: String); overload;
  +procedure LogKamRandom(aValue: Single; const aCaller: AnsiString; const aKaMRandomFunc: AnsiString); overload;
   begin
     DoLogKamRandom(aValue, aCaller, aKaMRandomFunc);
   
     {$IFDEF WDC}
     if SAVE_RANDOM_CHECKS and (gRandomCheckLogger <> nil) then
  -    gRandomCheckLogger.AddToLog(AnsiString(aCaller), aValue);
  +    gRandomCheckLogger.AddToLog(aCaller, aValue);
     {$ENDIF}
   end;
   
   
  -procedure LogKamRandom(aValue: Extended; aCaller: String; aKaMRandomFunc: String); overload;
  +procedure LogKamRandom(aValue: Extended; const aCaller: AnsiString; const aKaMRandomFunc: AnsiString); overload;
   begin
     DoLogKamRandom(aValue, aCaller, aKaMRandomFunc);
   
     {$IFDEF WDC}
     if SAVE_RANDOM_CHECKS and (gRandomCheckLogger <> nil) then
  -    gRandomCheckLogger.AddToLog(AnsiString(aCaller), aValue);
  +    gRandomCheckLogger.AddToLog(aCaller, aValue);
     {$ENDIF}
   end;
   
   
  -procedure LogKamRandom(aValue: Integer; aCaller: String; aKaMRandomFunc: String); overload;
  +procedure LogKamRandom(aValue: Integer; const aCaller: AnsiString; const aKaMRandomFunc: AnsiString); overload;
   begin
     DoLogKamRandom(aValue, aCaller, aKaMRandomFunc);
   
     {$IFDEF WDC}
     if SAVE_RANDOM_CHECKS and (gRandomCheckLogger <> nil) then
  -    gRandomCheckLogger.AddToLog(AnsiString(aCaller), aValue);
  +    gRandomCheckLogger.AddToLog(aCaller, aValue);
     {$ENDIF}
   end;
   
  
positive.code:   function GetKaMSeed: Integer;
    function KaMRandomWSeed(var aSeed: Integer): Extended; overload;
    function KaMRandomWSeed(var aSeed: Integer; aMax: Integer): Integer; overload;
    function KaMRandom(const aCaller: String; aLogRng: Boolean = True): Extended; overload;
    function KaMRandom(aMax: Integer; const aCaller: String; aLogRng: Boolean = True): Integer; overload;
    function KaMRandomS1(aMax: Single; const aCaller: String): Single;
    function KaMRandomS2(Range_Both_Directions: Integer; const aCaller: String): Integer; overload;
    function KaMRandomS2(Range_Both_Directions: Single; const aCaller: String): Single; overload;
  
    function IsGameStartAllowed(aGameStartMode: TKMGameStartMode): Boolean;
    function GetGameVersionNum(const aGameVersionStr: AnsiString): Integer; overload;
  
negative.code: end;
  
  
  function HexToStr(const H: String): String;
  var I: Integer;
  begin
    Result:= '';
  