Some notes about the program: We rotate a viewport of 80x80 pixels (square) and so when it moves 45 degrees, the vertical or horizontal lines are able to show: 80 pix / cos 45º = 114 pixels You can 'cook' any drawing in Pmode3 ensuring that the image to be rotated remains centered. As we use an area of 128x128 pixels, this means that we leave out of sight both the first 32 rows and the last 32 rows too, just because 192-32-32 = 128. The image can use the whole width of Pmode3 (128 pixels) remember we'll see 114 only! Despite the image in Pmode3 is 128x128 pixels, it shows on screen as a rectangle that has exactly double width than height (factor 2:1). In order to 'show' a rotating square, we use Pmode1 wich compensates size because the resolution in that mode is 128x96, so each Pmode1 row is double height than Pmode3. When working on a drawing to be rotated, keep in mind this detail, it will show double height than seen in Pmode3. Once you have an image ready and saved to disk, to create the texture, use the program : - GENPIX.BAS for 32k machines. This will create a filename finished in 'X' - CRT2FIL.BAS for 64k machines. This creates 2 files finished in 1 and 2 Once created the texture file(s), you can verify the resulting files running - RDPIX.BAS for 32k machines. Reads the texture and recreates the PM3 image - VERIFIER.BAS for 64k machines. Reads the two files and recreates the PM3 image Finally, to see the image rotating, you run, in all machines: - EXEROT.BAS To quit you will have to press the Reset button In these virtual disk files you will find two images: - SQUARE.BIN that is an image 128x128 pixels that I used to verify the program in the first steps. - QBERT.BIN is a screen capture of the Cuthbert character from the loading screen of some Microdeal games. I cut it to center it in the middle, but it is too big and shows partially. cheers pere