... | ... |
@@ -11,6 +11,8 @@ |
11 | 11 |
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } |
12 | 12 |
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } |
13 | 13 |
|
14 |
+%10** { #40 SFT2 } |
|
15 |
+ |
|
14 | 16 |
%MOD { DIVk MUL SUB } |
15 | 17 |
%DEC { #01 - } |
16 | 18 |
%RTN { JMP2r } |
... | ... |
@@ -64,7 +66,7 @@ |
64 | 66 |
#dd .Audio0/volume DEO ( TODO: turn ON ) |
65 | 67 |
|
66 | 68 |
( place ) |
67 |
- #0080 .browser/x STZ2 |
|
69 |
+ #0088 .browser/x STZ2 |
|
68 | 70 |
#0010 .browser/y STZ2 |
69 | 71 |
|
70 | 72 |
( draw mascot ) |
... | ... |
@@ -75,6 +77,8 @@ |
75 | 77 |
( theme support ) |
76 | 78 |
;load-theme JSR2 |
77 | 79 |
|
80 |
+ #00 ;select-file JSR2 |
|
81 |
+ |
|
78 | 82 |
BRK |
79 | 83 |
|
80 | 84 |
@on-frame ( -> ) |
... | ... |
@@ -113,6 +117,9 @@ BRK |
113 | 117 |
DUP #20 ! ,&no-down JCN |
114 | 118 |
.browser/sel LDZ ;dir/lines LDA LTHk SWP? POP INC ;select-file JSR2 |
115 | 119 |
&no-down |
120 |
+ DUP #01 ! ,&no-a JCN |
|
121 |
+ .browser/sel LDZ ;run-file JSR2 |
|
122 |
+ &no-a |
|
116 | 123 |
POP |
117 | 124 |
|
118 | 125 |
BRK |
... | ... |
@@ -134,27 +141,72 @@ BRK |
134 | 141 |
POP2 |
135 | 142 |
STHr #02 - ;dir/lines STA |
136 | 143 |
|
137 |
- ;draw-browser JSR2 |
|
138 |
- |
|
139 | 144 |
RTN |
140 | 145 |
|
141 | 146 |
@select-file ( id -- ) |
142 | 147 |
|
148 |
+ .browser/x LDZ2 #0018 -- .browser/y LDZ2 [ .browser/sel LDZ TOS 10** ++ ] |
|
149 |
+ #0010 #0010 |
|
150 |
+ ;hand-icn #00 ;draw-icn JSR2 |
|
151 |
+ |
|
143 | 152 |
DUP |
144 | 153 |
.browser/sel STZ |
145 | 154 |
#40 + .Audio0/pitch DEO |
146 | 155 |
;draw-browser JSR2 |
147 | 156 |
|
157 |
+ .browser/x LDZ2 #0018 -- .browser/y LDZ2 [ .browser/sel LDZ TOS 10** ++ ] |
|
158 |
+ #0010 #0010 |
|
159 |
+ ;hand-icn #02 ;draw-icn JSR2 |
|
160 |
+ |
|
161 |
+RTN |
|
162 |
+ |
|
163 |
+@run-file ( id -- ) |
|
164 |
+ |
|
165 |
+ STH |
|
166 |
+ ( count lines ) |
|
167 |
+ LITr 00 |
|
168 |
+ ;dir/data |
|
169 |
+ &while |
|
170 |
+ LDAk #0a ! ,&no-lb JCN |
|
171 |
+ INCr |
|
172 |
+ &no-lb |
|
173 |
+ EQUkr STHr ,&end JCN |
|
174 |
+ INC2 LDAk ,&while JCN |
|
175 |
+ &end |
|
176 |
+ POP2r |
|
177 |
+ |
|
178 |
+ DUP2 INC2 ;close-path JSR2 |
|
179 |
+ #0006 ++ DUP2 ;print-string JSR2 |
|
180 |
+ #0a .Console/write DEO |
|
181 |
+ ;load-rom JSR2 |
|
182 |
+ |
|
183 |
+RTN |
|
184 |
+ |
|
185 |
+@close-path ( addr* -- ) |
|
186 |
+ |
|
187 |
+ &while |
|
188 |
+ LDAk #0a ! ,&no-lb JCN |
|
189 |
+ STH2k #00 STH2r STA |
|
190 |
+ ,&end JMP |
|
191 |
+ &no-lb |
|
192 |
+ INC2 LDAk ,&while JCN |
|
193 |
+ &end |
|
194 |
+ POP2 |
|
195 |
+ |
|
196 |
+RTN |
|
197 |
+ |
|
198 |
+@print-string ( addr* -- ) |
|
199 |
+ |
|
200 |
+ &loop |
|
201 |
+ LDAk .Console/write DEO |
|
202 |
+ INC2 LDAk ,&loop JCN |
|
203 |
+ POP2 |
|
204 |
+ |
|
148 | 205 |
RTN |
149 | 206 |
|
150 | 207 |
@redraw ( -- ) |
151 | 208 |
|
152 |
- RTN |
|
153 |
- #0018 #0020 #0040 #0040 ;logo-icn #03 ;draw-icn JSR2 |
|
154 |
- #0020 #0070 ;welcome-txt #01 ;draw-label JSR2 |
|
155 |
- ;draw-time JSR2 |
|
156 |
- #0020 #00b0 ;prompt-txt #01 ;draw-label JSR2 |
|
157 |
- #0020 #00c0 ;do-txt #03 ;draw-label JSR2 |
|
209 |
+ ( unused ) |
|
158 | 210 |
|
159 | 211 |
RTN |
160 | 212 |
|
... | ... |
@@ -166,7 +218,7 @@ RTN |
166 | 218 |
;dir/data |
167 | 219 |
&loop |
168 | 220 |
LDAk #0a ! ,&no-lb JCN |
169 |
- #0080 .Screen/x DEO2 |
|
221 |
+ .browser/x LDZ2 .Screen/x DEO2 |
|
170 | 222 |
.Screen/y DEI2 #0010 ++ .Screen/y DEO2 |
171 | 223 |
( incr line counter ) INCr |
172 | 224 |
,&skip JMP |
... | ... |
@@ -314,6 +366,11 @@ RTN |
314 | 366 |
80c0 e0f0 f8e0 1000 |
315 | 367 |
@cursor-icn |
316 | 368 |
ffff ffff ffff ffff |
369 |
+@hand-icn |
|
370 |
+ 000c 0a0a 1224 4780 |
|
371 |
+ 0000 0000 0000 fc02 |
|
372 |
+ 8180 8080 8040 3f00 |
|
373 |
+ fc20 c020 c020 c000 |
|
317 | 374 |
|
318 | 375 |
@sin-pcm |
319 | 376 |
8083 8689 8c8f 9295 989b 9ea1 a4a7 aaad |