
!****************************************************************
!*                                                              *
!*                HTONE: Play with half-tones                   *
!*                                                              *
!*                  Version 1.1 14 May 1987                     *
!*                                                              *
!****************************************************************

%include "level1:graphinc.imp"

%begin
%constinteger ht=128, wid=128
%integer i,j,p,t1,t2,t3,t4
%bytearray ad(0:ht*wid-1)

%routine Set Up
%integer i
%integer zero = 0
  %on 0 %start
    Print String ("Software requires a graphics system")
    Newlines (2)
    %stop
  %finish
  Offset (0,0)
  enable(16_FF)
  Colour (White)
  %for i = 0, 8, 248 %cycle
     Colour Map (i) = zero
     Colour Map (i+1) = 31
     Colour Map (i+2) = 31<<5
     Colour Map (i+3) = 31<<5+31
     Colour Map (i+4) = 31<<10
     Colour Map (i+5) = 31<<10+31
     Colour Map (i+6) = 31<<10+31<<5
     Colour Map (i+7) = 31<<10+31<<5+31
  %repeat
%end

%routine Mix Colour (%byte Col, %integer Red, Green, Blue)
   Colour Map(Col)=Red+Green<<5+Blue<<10
%end

setup

%cycle
  read(t1); read(t2); read(t3); read(t4)

  p=0
  %for i=0, 2, ht-2 %cycle
    %for j=0, 2, wid-2 %cycle
      ad(p) = t1; p=p+1
      ad(p) = t2; p=p+1
    %repeat
    %for j=0, 2, wid-2 %cycle
      ad(p) = t3; p=p+1
      ad(p) = t4; p=p+1
    %repeat
  %repeat
  
  col fill(192, 192, wid-1+192, ht-1+192, ad(0))

%repeat

%endofprogram

