{**********************************************************************}
{ Save content of screen into a file 'picture.001' }
{**********************************************************************}
procedure save_screen;
const
MONO = 5;
COLOR = 4;
VMONO = 7;
var
i,j,x,y,pcolor : integer;
begin { Display a pattern on the screen }
clear_screen; { Clear screen }
i := get_display_type;
if i = MONO then set_mode($0F)
else if i = VMONO then set_mode($0F)
else if i = COLOR then set_mode($0E)
else set_mode($10);
for j := 0 to 3 do begin { Loop over rows of b's}
for i := 0 to 3 do begin { Loop over columns }
y := j * 200 div 4; { Draw the box }
x := i * 640 div 4;
pcolor := i + j * 4;
solid_box(x, y, x+640 div 4, y+200 div 4, pcolor);
end;
end;
i := screen_dump;
if i = 0 then writeln('...Error while saving screen')
else writeln('...Picture sucessfully saved');
i := integer(readkey);
{--- Set default text mode }
i := get_display_type;
if i = MONO then set_mode(7)
else if i = VMONO then set_mode(7)
else set_mode(3);
end;