rgb.nv
· 6.7 KiB · Text
原始文件
Playground
|--| Constants.
|x:128|x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,
x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,
x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,
x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x
|y:128|y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,
y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,
y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,
y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y
|pr=x:128|pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,
pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x
|pg=y:128|pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,
pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y
|pb=x+y:128|pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,
pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y
|px=x:128|px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,
px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x
|py=y:128|py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,
py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y
|--| 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
| 1 | |--| Constants. |
| 2 | |x:128|x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x, |
| 3 | x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x, |
| 4 | x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x, |
| 5 | x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x |
| 6 | |y:128|y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y, |
| 7 | y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y, |
| 8 | y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y, |
| 9 | y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y |
| 10 | |pr=x:128|pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 11 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 12 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 13 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 14 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 15 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 16 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 17 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 18 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 19 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 20 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x, |
| 21 | pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x,pr=x |
| 22 | |pg=y:128|pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 23 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 24 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 25 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 26 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 27 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 28 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 29 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 30 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 31 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 32 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y, |
| 33 | pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y,pg=y |
| 34 | |pb=x+y:128|pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 35 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 36 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 37 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 38 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 39 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 40 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 41 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 42 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 43 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 44 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 45 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 46 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 47 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 48 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 49 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 50 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 51 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 52 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 53 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 54 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 55 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 56 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y, |
| 57 | pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y,pb=x+y |
| 58 | |px=x:128|px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 59 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 60 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 61 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 62 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 63 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 64 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x, |
| 65 | px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x,px=x |
| 66 | |py=y:128|py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 67 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 68 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 69 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 70 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 71 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 72 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y, |
| 73 | py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y,py=y |
| 74 | |
| 75 | |--| Are we at the end of a line? |
| 76 | |eol?,x|x,~eol|eol?|eol |
| 77 | |
| 78 | |--| Are we at the end of the screen? |
| 79 | |eos?,y|y,~eos|eos?|eos |
| 80 | |
| 81 | |--| Copy the pixel coordinates from `x/y` to `@pixel-x/@pixel-y`. |
| 82 | |px=x,x|*x,@pixel-x,px=x |
| 83 | |px=x| |
| 84 | |py=y,y|*y,@pixel-y,py=y |
| 85 | |py=y| |
| 86 | |
| 87 | |--| Compute some pixel colors based on the `x/y` coordinates. |
| 88 | |--| r = x, g = y, b = x + y |
| 89 | |pr=x,x|*x,@pixel-r,pr=x|pr=x| |
| 90 | |pg=y,y|*y,@pixel-g,pg=y|pg=y| |
| 91 | |pb=x+y,x|*x,@pixel-b,pb=x+y |
| 92 | |pb=x+y,y|*y,@pixel-b,pb=x+y |
| 93 | |pb=x+y| |
| 94 | |
| 95 | |--| Copy temporaries back to their respective variables. |
| 96 | |*x|x|*y|y |
| 97 | |
| 98 | |--| Plot a pixel. |
| 99 | |pp|px,py,pr,pg,pb,ps |
| 100 | |px|px=x:128 |
| 101 | |py|py=y:128 |
| 102 | |pr|pr=x:128 |
| 103 | |pg|pg=y:128 |
| 104 | |pb|pb=x+y:128 |
| 105 | |ps|@set-pixel |
| 106 | |
| 107 | |--| Move the `x/y` coordinates. |
| 108 | |x-,x||x-||y-,y||y-| |
| 109 | |
| 110 | |--| Clear the previous color values before computing a new color. |
| 111 | |@pixel-r||@pixel-g||@pixel-b| |
| 112 | |
| 113 | |--| Main loop. |
| 114 | ||x:128,y:128 |
| 115 | |f,eol,x|f,eol,f |
| 116 | |f,eol|f,eos?, @display |
| 117 | |f,~eol|pp,x-,f |
| 118 | |f,eos|pp,x:128,y:128 |
| 119 | |f,~eos,x|f,~eos |
| 120 | |f,~eos|y-,x:128,f |
| 121 | |f|eol?,f |
| 122 | ||f |