Entry name: Peripheral Drift Illusion Category: Graphics Publisher/Developer: Rosetta Code Year: 2021 Code: amarok Programming language: Action!   Listing 1
```PROC DrawTile(INT x BYTE y,flip,c1,c2)
BYTE i

Color=1
FOR i=y+2 TO y+11
DO
Plot(x+1,i) DrawTo(x+5,i)
OD
Color=c1
IF flip THEN
Plot(x,y+12) DrawTo(x,y) DrawTo(x+6,y)
ELSE
Plot(x,y) DrawTo(x+6,y) DrawTo(x+6,y+12)
FI
Plot(x+1,y+1) DrawTo(x+5,y+1)
Color=c2
IF flip THEN
Plot(x,y+13) DrawTo(x+6,y+13) DrawTo(x+6,y+1)
ELSE
Plot(x,y+1) DrawTo(x,y+13) DrawTo(x+6,y+13)
FI
Plot(x+1,y+12) DrawTo(x+5,y+12)
RETURN

PROC Draw()
INT x,y,n
BYTE flip,c1,c2

FOR y=0 TO 8
DO
FOR x=0 TO 15
DO
n=(x-y)&15
IF (n RSH 2)&1 THEN
flip=1
ELSE
flip=0
FI
IF (n RSH 3)&1 THEN
c1=3 c2=2
ELSE
c1=2 c2=3
FI
DrawTile(x*10,y*20+6,flip,c1,c2)
OD
OD
RETURN

PROC Main()
BYTE CH=\$02FC ;Internal hardware value for last key pressed
BYTE PALNTSC=\$D014 ;To check if PAL or NTSC system is used

Graphics(15+16)
IF PALNTSC=15 THEN
SetColor(4,14,10) ;yellow for NTSC
SetColor(0,8,4)   ;blue for NTSC
ELSE
SetColor(4,13,10) ;yellow for PAL
SetColor(0,7,4)   ;blue for PAL
FI
SetColor(1,0,0)
SetColor(2,0,14)
Draw()

DO UNTIL CH#\$FF OD
CH=\$FF
RETURN  ```

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.