| ... | ... |
@@ -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 |