procedure read_image;
var imagefile : file;
    i,j : integer;
    attr1, attr2 : byte;
    ver : string[4];
begin
  assign(imagefile,'NET.IMG');
  {$I-}
  reset(imagefile);
  if (IOresult = 0)
  then
    begin
      blockread(imagefile, image, 32);
      blockread(imagefile, pattern1, 11);
      blockread(imagefile, pattern2, 13);
      close(imagefile);
    end
  else
    begin
      writeln('File NET.IMG must be on default drive/directory.');
      delay(5000);
      restore_entry_screen;
      halt;
    end;
  for i := 0 to 1999 do
  begin
    image[i SHL 1 + 1] := border_attribute;
  end;
  for i := 0 to 699 do
    pattern1[i SHL 1 + 1] := border_attribute;
  for i := 0 to 799 do
    pattern2[i SHL 1 + 1] := border_attribute;
  attr1 := norm_b SHL 4 + norm_f;
  attr2 := aux_b SHL 4 + aux_f;
  for i := 0 to 6 do
    for j := 0 to 5 do
    begin
      pattern2[  3 + 2*j + 14*i] := attr1;
      pattern2[203 + 2*j + 14*i] := attr1;
      pattern2[403 + 2*j + 14*i] := attr2;
      pattern2[603 + 2*j + 14*i] := attr2;
    end;
  ver := version;
  for i := 1 to length(ver) do
    image[3896 + (i SHL 1)] := ord(ver[i]);
end;

procedure norm_blanks;
var i : integer;
begin
  if VideoMode = 7
    then for i := 0 to 3 do
           move(pattern2[100*i],mono_video[540+160*i],100)
    else for i := 0 to 3 do
           move(pattern2[100*i],colr_video[540+160*i],100);
end;

procedure brite_blanks;
var i : integer;
begin
  if VideoMode = 7
     then for i := 0 to 3 do
            move(pattern2[400+100*i],mono_video[540+160*i],100)
     else for i := 0 to 3 do
            move(pattern2[400+100*i],colr_video[540+160*i],100);
end;

procedure over_img1;
var i : integer;
begin
  if VideoMode = 7
     then for i := 0 to 6 do
            move(pattern1[100*i],mono_video[2780+160*i],100)
     else for i := 0 to 6 do
            move(pattern1[100*i],colr_video[2780+160*i],100);
end;

procedure over_img2;
var i : integer;
begin
  if VideoMode = 7
     then for i := 7 to 13 do
            move(pattern1[100*i],mono_video[1660+160*i],100)
     else for i := 7 to 13 do
            move(pattern1[100*i],colr_video[1660+160*i],100);
end;

