... | ... |
@@ -11,14 +11,18 @@ |
11 | 11 |
#7f0a .System/g DEO2 |
12 | 12 |
#8e0a .System/b DEO2 |
13 | 13 |
( screen size ) |
14 |
- #0140 .Screen/width DEO2 |
|
15 |
- #0140 .Screen/height DEO2 |
|
16 |
- ( draw ) |
|
17 |
- #03ff #0000 |
|
18 |
- &l |
|
19 |
- STH2k INC2k d2xy STH2r d2xy #01 draw-line |
|
20 |
- INC2 GTH2k ?&l |
|
21 |
- POP2 POP2 |
|
14 |
+ #00c0 |
|
15 |
+ DUP2 .Screen/width DEO2 |
|
16 |
+ .Screen/height DEO2 |
|
17 |
+ ( vector ) |
|
18 |
+ ;on-frame .Screen/vector DEO2 |
|
19 |
+ |
|
20 |
+BRK |
|
21 |
+ |
|
22 |
+@on-frame ( -> ) |
|
23 |
+ |
|
24 |
+ [ LIT2 &f $2 ] INC2k ,&f STR2 |
|
25 |
+ INC2k d2xy ROT2 d2xy #01 draw-line |
|
22 | 26 |
|
23 | 27 |
BRK |
24 | 28 |
|
... | ... |
@@ -28,27 +32,27 @@ BRK |
28 | 32 |
#0000 |
29 | 33 |
DUP2 ,&x STR2 |
30 | 34 |
,&y STR2 |
31 |
- #0020 #0001 |
|
35 |
+ #2001 |
|
32 | 36 |
&l |
33 |
- STH2k |
|
37 |
+ #00 OVR STH2 |
|
34 | 38 |
[ LIT2 &t $2 ] |
35 | 39 |
DUP2 DUP2 #01 SFT2 #0001 AND2 DUP2 ,&rx STR2 |
36 | 40 |
EOR2 #0001 AND2 ,&ry STR2 |
37 | 41 |
#02 SFT2 ,&t STR2 |
38 | 42 |
[ LIT2 &x $2 ] [ LIT2 &y $2 ] [ LIT2 &rx $2 ] [ LIT2 &ry $2 ] |
39 |
- STH2kr rot |
|
43 |
+ STH2kr rot |
|
40 | 44 |
STH2kr ,&ry LDR2 MUL2 ADD2 ,&y STR2 |
41 | 45 |
STH2r ,&rx LDR2 MUL2 ADD2 ,&x STR2 |
42 |
- DUP2 ADD2 GTH2k ?&l |
|
43 |
- POP2 POP2 |
|
44 |
- ,&x LDR2 #30 SFT2 #0020 ADD2 |
|
45 |
- ,&y LDR2 #30 SFT2 #0020 ADD2 |
|
46 |
+ DUP ADD GTHk ?&l |
|
47 |
+ POP2 |
|
48 |
+ ,&x LDR2 #20 SFT2 #0020 ADD2 |
|
49 |
+ ,&y LDR2 #20 SFT2 #0020 ADD2 |
|
46 | 50 |
|
47 | 51 |
JMP2r |
48 | 52 |
|
49 | 53 |
@rot ( x* y* rx* ry* n* -- x* y* ) |
50 | 54 |
|
51 |
- ( n-1 ) #0001 SUB2 STH2 |
|
55 |
+ #0001 SUB2 STH2 |
|
52 | 56 |
SWP2 ,&rx STR2 |
53 | 57 |
ORA ?&skipy |
54 | 58 |
[ LIT2 &rx $2 ] #0001 NEQ2 ?&skipx |