... | ... |
@@ -5,59 +5,51 @@ |
5 | 5 |
|
6 | 6 |
|0000 |
7 | 7 |
|
8 |
- @dvd &x $2 &y $2 &dx $1 &dy $1 |
|
8 |
+ @dvd &x $2 &y $2 |
|
9 | 9 |
|
10 |
-|0100 ( -> ) |
|
10 |
+|0100 |
|
11 | 11 |
|
12 |
- ( theme ) |
|
12 |
+@on-reset ( -> ) |
|
13 |
+ ( | theme ) |
|
13 | 14 |
#4cfd .System/r DEO2 |
14 | 15 |
#4cf3 .System/g DEO2 |
15 | 16 |
#dcf2 .System/b DEO2 |
16 |
- ( vectors ) |
|
17 |
+ ( | vectors ) |
|
17 | 18 |
;on-frame .Screen/vector DEO2 |
18 |
- ( starting position ) |
|
19 |
+ ( | starting position ) |
|
19 | 20 |
.Screen/width DEI2 #01 SFT2 .dvd/x STZ2 |
20 | 21 |
.Screen/height DEI2 #01 SFT2 .dvd/y STZ2 |
21 |
- ( set collisions ) |
|
22 |
+ ( | set collisions ) |
|
22 | 23 |
.Screen/width DEI2 #0020 SUB2 ;on-frame/hit-hor STA2 |
23 | 24 |
.Screen/height DEI2 #0010 SUB2 ;on-frame/hit-ver STA2 |
24 |
- ( drawing mode ) |
|
25 |
+ ( | drawing mode ) |
|
25 | 26 |
[ LIT2 36 -Screen/auto ] DEO |
26 |
- #01 draw-dvd |
|
27 |
- |
|
28 |
-BRK |
|
27 |
+ #01 draw-dvd BRK |
|
29 | 28 |
|
30 | 29 |
@on-frame ( -> ) |
31 |
- |
|
32 | 30 |
#00 draw-dvd |
33 |
- ( x ) |
|
31 |
+ ( | x ) |
|
34 | 32 |
.dvd/x LDZ2 |
35 |
- DUP2 #0000 EQU2 ?&flip-x |
|
36 |
- DUP2 [ LIT2 &hit-hor $2 ] EQU2 ?&flip-x |
|
37 |
- &no-x |
|
38 |
- [ LIT2 00 -dvd/dx ] LDZ DUP2 ADD2 ADD2 #ffff ADD2 .dvd/x STZ2 |
|
39 |
- ( y ) |
|
33 |
+ ( left ) DUP2 #0000 NEQ2 ?{ #0001 ,&x STR2 } |
|
34 |
+ ( right ) DUP2 [ LIT2 &hit-hor $2 ] NEQ2 ?{ #ffff ,&x STR2 } |
|
35 |
+ [ LIT2 &x 0001 ] ADD2 .dvd/x STZ2 |
|
36 |
+ ( | y ) |
|
40 | 37 |
.dvd/y LDZ2 |
41 |
- DUP2 #0000 EQU2 ?&flip-y |
|
42 |
- DUP2 [ LIT2 &hit-ver $2 ] EQU2 ?&flip-y |
|
43 |
- &no-y |
|
44 |
- [ LIT2 00 -dvd/dy ] LDZ DUP2 ADD2 ADD2 #ffff ADD2 .dvd/y STZ2 |
|
45 |
- #01 draw-dvd |
|
46 |
- |
|
47 |
-BRK |
|
48 |
- &flip-x .dvd/dx LDZk #00 EQU SWP STZ !&no-x |
|
49 |
- &flip-y .dvd/dy LDZk #00 EQU SWP STZ !&no-y |
|
38 |
+ ( top ) DUP2 #0000 NEQ2 ?{ #0001 ,&y STR2 } |
|
39 |
+ ( bottom ) DUP2 [ LIT2 &hit-ver $2 ] NEQ2 ?{ #ffff ,&y STR2 } |
|
40 |
+ [ LIT2 &y 0001 ] ADD2 .dvd/y STZ2 |
|
41 |
+ #01 draw-dvd BRK |
|
50 | 42 |
|
51 | 43 |
@draw-dvd ( color -- ) |
52 |
- |
|
53 |
- ;dvd_icn .Screen/addr DEO2 |
|
44 |
+ ;dvd-icn .Screen/addr DEO2 |
|
54 | 45 |
.dvd/x LDZ2 .Screen/x DEO2 |
55 | 46 |
.dvd/y LDZ2 .Screen/y DEO2 |
56 |
- .Screen/sprite DEOk DEO |
|
57 |
- |
|
58 |
-JMP2r |
|
47 |
+ .Screen/sprite DEOk |
|
48 |
+ DEO |
|
49 |
+ JMP2r |
|
59 | 50 |
|
60 |
-@dvd_icn ( 4 x 2 ) [ |
|
51 |
+@dvd-icn ( 4 x 2 ) |
|
52 |
+ [ |
|
61 | 53 |
001f 3f38 3838 787f 00fe fe7e 7777 e3c3 |
62 | 54 |
000f 1f3b 7b77 e7c7 00fc fe8f 8707 0efc |
63 | 55 |
7f00 000f ff7f 0700 0301 00ff f0f8 ff00 |