|------------------------------------------------------|
|#| constant, @resolution-x, 400
|#| constant, @resolution-y, 400
||window, @resolution-x:400, @resolution-y:400, display
|window| @set-resolution

|#| constant, Loop x, 400
|#| constant, Loop y, 400
|#| constant, x->p, 400
|#| constant, y->p, 400
|#| constant, x->x1, 400
|#| constant, y->x1, 400
|#| constant, xss, 200
|#| constant, yss, 200
|#| constant, ox, 200
|#| constant, oy, 200
|#| constant, sx, 2
|#| constant, sy, 2
|------------------------------------------------------|

|| Loop y:400, Perform y transfer, Perform x transfer

|Perform y transfer, x| Perform y transfer

|Loop y, Perform y transfer|
  , Loop x:400
  , Increment y

|Loop x, Perform x transfer|
  , x->p:400
  , y->p:400
  , Set the color

|x->p,x|@pixel-x,~x
|x->p|
|Set the color,~x|Set the color,x

|y->p,y|@pixel-y,~y
|y->p|
|Set the color,~y|Set the color,y

|Set the color|
  , x->x1:400
  , y->y1:400
  , t1
  , xss:200
  , yss:200
  , ox:200
  , oy:200
  , Square ox
  , Square oy
  , Set the pixel

|x->x1,x|x1,mx,~x
|x->x1|
|t1,~x|t1,x
|y->y1,y|y1,my,~y
|y->y1|
|t1,~y|t1,y
|t1|
|xss,mx|
|xss|
|mx|sx:2
|x1,sx|
|sx|
|yss,my|
|yss|
|my|sy:2
|y1,sy|
|sy|
|ox,x1|
|oy,y1|

|ox|@pixel-r
|oy|@pixel-g

|Set the pixel|
  , @set-pixel
  , Increment x

|Increment x| 
  , x
  , Perform x transfer

|Increment y|
  , y
  , Perform y transfer

|------------------------------------------------------|
|display| @display, loop

|loop, @quit|
|loop| loop, @poll-input
|------------------------------------------------------|