program FillMem; uses OpRoot; const FillCh : Byte = 0; var P : Pointer; A : Word; B : Boolean; S : String[3]; begin if ParamCount <> 0 then begin S := ParamStr(1); if S[1] <> '$' then S := '$'+S; Val(S, FillCh, A); if A <> 0 then exit; end; A := $8000; while True do begin B := GetMemCheck(P, A); if B then FillChar(P^, A, FillCh) else begin if A <= 8 then exit; A := A shr 1; end; end; end.