10PROCmain 20END 30DEFPROCNewBox(XL,YB,XR,YT) 40 50IF XL < Xbase AND Xbase < XR THEN PROCNewBox(XL,YB,Xbase,YT): PROCNewBox(Xbase,YB,XR,YT):ENDPROC 60IF YB < Ybase AND Ybase < YT THEN PROCNewBox(XL,YB,XR,Ybase): PROCNewBox(XL,Ybase,XR,YT):ENDPROC 70 80PROC_box((XL+Xbase) MOD 80, (YB+Ybase) MOD 64, (XR+Xbase) MOD 80, (YT+Ybase) MOD 64) 90 100ENDPROC 110 120DEFPROC_set_colour(Colour1,Colour2,Colour3,Colour4) 130 VDU 18,0,64 140 150 pair0 = (Colour1 AND 2) OR ((Colour2 AND 2) DIV 2) 160 pair0 = pair0 * 4 + pair0 170 pair1 = ((Colour1 AND 1)*2) OR (Colour2 AND 1) 180 pair1 = pair1 * 4 + pair1 190 pair2 = (Colour3 AND 2) OR ((Colour4 AND 2) DIV 2) 200 pair2 = pair2 * 4 + pair2 210 pair3 = ((Colour3 AND 1)*2) OR (Colour4 AND 1) 220 pair3 = pair3 * 4 + pair3 230 240 VDU pair0*16 OR pair1 250 VDU pair2*16 OR pair3 260 VDU pair0*16 OR pair1 270 VDU pair2*16 OR pair3 280ENDPROC 290 300DEFPROC_box(Xl,Yb,Xr,Yt) 310 Xl = Xl*(1280 DIV 80):Xr = Xr*(1280 DIV 80)-(1280 DIV 320) 320 Yb = Yb*(1024 DIV 64):Yb = Yb*(1024 DIV 64)-(1024 DIV 256) 330 MOVE Xl,Yb 340 MOVE Xl,Yt 350 PLOT 85,Xr,Yb 360 PLOT 85,Xr,Yt 370ENDPROC