|--| Are we at the end of a line? |eol?,x|x,~eol|eol?|eol |--| Are we at the end of the screen? |eos?,y|y,~eos|eos?|eos |--| Copy the pixel coordinates from `x/y` to `@pixel-x/@pixel-y`. |px=x,x|*x,@pixel-x,px=x |px=x| |py=y,y|*y,@pixel-y,py=y |py=y| |--| Compute some pixel colors based on the `x/y` coordinates. |--| r = x, g = y, b = x + y |pr=x,x|*x,@pixel-r,pr=x|pr=x| |pg=y,y|*y,@pixel-g,pg=y|pg=y| |pb=x+y,x|*x,@pixel-b,pb=x+y |pb=x+y,y|*y,@pixel-b,pb=x+y |pb=x+y| |--| Copy temporaries back to their respective variables. |*x|x|*y|y |--| Plot a pixel. |pp|px,py,pr,pg,pb,ps |px|px=x:128 |py|py=y:128 |pr|pr=x:128 |pg|pg=y:128 |pb|pb=x+y:128 |ps|@set-pixel |--| Move the `x/y` coordinates. |x-,x||x-||y-,y||y-| |--| Clear the previous color values before computing a new color. |@pixel-r||@pixel-g||@pixel-b| |--| Main loop. ||x:128,y:128 |f,eol,x|f,eol,f |f,eol|f,eos?, @display |f,~eol|pp,x-,f |f,eos|pp,x:128,y:128 |f,~eos,x|f,~eos |f,~eos|y-,x:128,f |f|eol?,f ||f