include c:\cxpl\codes; \intrinsic 'code' declarations def Width=180, Height=135, Color=$123456; proc WriteImage; \Write screen image to a a PPM file int X, Y, C; [Text(3,"P6 "); IntOut(3,Width); ChOut(3,^ ); IntOut(3,Height); Text(3," 255 "); for Y:= 0 to Height-1 do for X:= 0 to Width-1 do [C:= ReadPix(X, Y); ChOut(3, C>>16); ChOut(3, C>>8); ChOut(3, C); ]; ]; proc OpenOutFile(FN); \Open for output the named file char FN; \file name string int H; \handle [H:= FOpen(FN, 1); FSet(H, ^o); \small buffer allows multiple files, and it is OpenO(3); \ closed automatically when the program exits ]; proc MakeImage; \Make a bitmap image int X, Y; [for Y:= 0 to Height-1 do \fill area with Color for X:= 0 to Width-1 do Point(X, Y, Color); Move(60, 60); HexOut(6, ReadPix(0,0)); \show hex value of color of pixel at 0,0 ]; [SetVid($112); \set display for 640x480 graphics in 24-bit RGB color MakeImage; OpenOutFile("IMAGE.PPM"); WriteImage; SetVid(3); \restore display to normal text mode ]