1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,65 @@ |
1 |
+;scroll { x 2 y 2 wait 1 } |
|
2 |
+ |
|
3 |
+( devices ) |
|
4 |
+ |
|
5 |
+|0100 ;System { vector 2 pad 6 r 2 g 2 b 2 } |
|
6 |
+|0110 ;Console { vector 2 pad 6 char 1 byte 1 short 2 string 2 } |
|
7 |
+|0120 ;Screen { vector 2 width 2 height 2 pad 2 x 2 y 2 addr 2 color 1 } |
|
8 |
+|0130 ;Audio { wave 2 envelope 2 pad 4 volume 1 pitch 1 play 1 value 2 delay 2 finish 1 } |
|
9 |
+|0140 ;Controller { vector 2 button 1 key 1 } |
|
10 |
+|0160 ;Mouse { vector 2 x 2 y 2 state 1 chord 1 } |
|
11 |
+|0170 ;File { vector 2 pad 6 name 2 length 2 load 2 save 2 } |
|
12 |
+|01a0 ;DateTime { year 2 month 1 day 1 hour 1 minute 1 second 1 dotw 1 doty 2 isdst 1 refresh 1 } |
|
13 |
+ |
|
14 |
+|0200 @RESET |
|
15 |
+ #90ff =System.r #9000 =System.g #900f =System.b |
|
16 |
+ #08e0 ~Screen.width #0001 SFT2 SUB2 =scroll.x |
|
17 |
+ #09b0 =scroll.y |
|
18 |
+ ,frame =Screen.vector |
|
19 |
+ #30 =scroll.wait |
|
20 |
+ BRK |
|
21 |
+ |
|
22 |
+@frame |
|
23 |
+ #ffff |
|
24 |
+ $loop |
|
25 |
+ DUP2 ^row JSR |
|
26 |
+ #0001 ADD2 |
|
27 |
+ DUP2 ~Screen.height LTH2 ^$loop JNZ |
|
28 |
+ POP2 |
|
29 |
+ ~scroll.wait ^$noscroll JNZ |
|
30 |
+ ~scroll.y #0001 ADD2 =scroll.y |
|
31 |
+ BRK |
|
32 |
+ |
|
33 |
+ $noscroll |
|
34 |
+ ~scroll.wait #01 SUB =scroll.wait |
|
35 |
+ BRK |
|
36 |
+ |
|
37 |
+@row ( y* -- ) |
|
38 |
+ DUP2 =Screen.y |
|
39 |
+ ~scroll.y ADD2 |
|
40 |
+ |
|
41 |
+ ~Screen.width |
|
42 |
+ $loop |
|
43 |
+ #0001 SUB2 |
|
44 |
+ OVR2 OVR2 ~scroll.x ADD2 EOR2 DUP2 #0013 DIV2 #0013 MUL2 SUB2 |
|
45 |
+ DUP #00 EQU ^$draw JNZ |
|
46 |
+ DUP #05 EQU ^$draw JNZ |
|
47 |
+ POP2 |
|
48 |
+ $rest |
|
49 |
+ DUP2 ORA ^$loop JNZ |
|
50 |
+ POP2 POP2 |
|
51 |
+ JMP2r |
|
52 |
+ |
|
53 |
+ #15 =Screen.color |
|
54 |
+ JMP2r |
|
55 |
+ |
|
56 |
+ $draw |
|
57 |
+ OVR2 =Screen.x |
|
58 |
+ #05 ADD =Screen.color |
|
59 |
+ ~Screen.y |
|
60 |
+ DUP2 #0001 ADD2 =Screen.y |
|
61 |
+ #00 =Screen.color |
|
62 |
+ =Screen.y |
|
63 |
+ POP |
|
64 |
+ ^$rest JMP |
|
65 |
+ |