| ... | ... |
@@ -1,16 +1,23 @@ |
| 1 | 1 |
( Orca |
| 2 | 2 |
|
| 3 | 3 |
TODO |
| 4 |
+ - Display guides |
|
| 4 | 5 |
- Clamp selection to grid |
| 5 |
- - Chorded copy/paste |
|
| 6 |
+ - Synthax highlight |
|
| 6 | 7 |
- Locking ports |
| 7 | 8 |
- Detect capitalization |
| 8 |
- - Fill grid with . characters on start |
|
| 9 |
- - Display guides |
|
| 10 |
- - Draw Frame number in UI |
|
| 9 |
+ - Draw Interface |
|
| 10 |
+ - Position |
|
| 11 |
+ - Frame |
|
| 12 |
+ - BPM |
|
| 13 |
+ - Toggle Guides |
|
| 14 |
+ - New |
|
| 15 |
+ - Save |
|
| 16 |
+ - Load |
|
| 11 | 17 |
- Comments |
| 12 | 18 |
- Load/Save |
| 13 | 19 |
- Copy/Paste |
| 20 |
+ - Copy/paste(chorded) |
|
| 14 | 21 |
) |
| 15 | 22 |
|
| 16 | 23 |
%RTN { JMP2r }
|
| ... | ... |
@@ -36,7 +43,7 @@ |
| 36 | 43 |
|
| 37 | 44 |
|0200 |
| 38 | 45 |
|
| 39 |
- ( theme ) #0faf =System.r #0fff =System.g #0f5f =System.b |
|
| 46 |
+ ( theme ) #08f3 =System.r #08fc =System.g #08f9 =System.b |
|
| 40 | 47 |
( vectors ) ,on-button =Controller.vector |
| 41 | 48 |
( vectors ) ,on-key =Keys.vector |
| 42 | 49 |
( vectors ) ,on-mouse =Mouse.vector |
| ... | ... |
@@ -196,6 +203,24 @@ RTN |
| 196 | 203 |
|
| 197 | 204 |
RTN |
| 198 | 205 |
|
| 206 |
+@get-char-sprite-grid ( x y -- addr ) |
|
| 207 |
+ |
|
| 208 |
+ DUP2 ,get-char JSR2 |
|
| 209 |
+ ( if character is dot ) |
|
| 210 |
+ DUP #2e NEQ ^$no-bar JNZ |
|
| 211 |
+ ( check if x,y is grid ) |
|
| 212 |
+ POP |
|
| 213 |
+ #08 MOD #00 EQU |
|
| 214 |
+ SWP |
|
| 215 |
+ #08 MOD #00 EQU |
|
| 216 |
+ ( make it a + ) #0101 EQU2 #00 SWP #0058 MUL2 ,font ADD2 |
|
| 217 |
+ RTN |
|
| 218 |
+ $no-bar |
|
| 219 |
+ STH POP2 STHr |
|
| 220 |
+ #20 SUB #00 SWP #0008 MUL2 ,font ADD2 |
|
| 221 |
+ |
|
| 222 |
+RTN |
|
| 223 |
+ |
|
| 199 | 224 |
@op-a ( x y char -- ) |
| 200 | 225 |
|
| 201 | 226 |
POP |
| ... | ... |
@@ -210,7 +235,13 @@ RTN |
| 210 | 235 |
|
| 211 | 236 |
@op-b ( x y char -- ) |
| 212 | 237 |
|
| 213 |
- POP POP2 |
|
| 238 |
+ POP |
|
| 239 |
+ ( get left ) DUP2 SWP #01 SUB SWP ,get-value JSR2 STH |
|
| 240 |
+ ( get right ) DUP2 SWP #01 ADD SWP ,get-value JSR2 STH |
|
| 241 |
+ ( incr y ) #01 ADD |
|
| 242 |
+ ( get result ) SUBr STHr |
|
| 243 |
+ ,get-value-char JSR2 |
|
| 244 |
+ ,put-char JSR2 |
|
| 214 | 245 |
|
| 215 | 246 |
RTN |
| 216 | 247 |
|
| ... | ... |
@@ -240,7 +271,6 @@ RTN |
| 240 | 271 |
( get x,y ) SWP2 OVR STH SWP2 OVR STHr DUP2 |
| 241 | 272 |
,get-char JSR2 |
| 242 | 273 |
,run-char JSR2 |
| 243 |
- $next-char |
|
| 244 | 274 |
( incr ) SWP #01 ADD SWP |
| 245 | 275 |
DUP2 LTH ^$hor JNZ |
| 246 | 276 |
POP2 |
| ... | ... |
@@ -260,8 +290,8 @@ RTN |
| 260 | 290 |
$hor |
| 261 | 291 |
( pos-x ) OVR #00 SWP #0008 MUL2 =Sprite.x |
| 262 | 292 |
( get x,y ) SWP2 OVR STH SWP2 OVR STHr |
| 263 |
- ( sprite ) DUP2 ,get-char-sprite JSR2 =Sprite.addr |
|
| 264 |
- ( draw ) ,is-selected JSR2 #08 MUL #01 ADD =Sprite.color |
|
| 293 |
+ ( sprite ) DUP2 ,get-char-sprite-grid JSR2 =Sprite.addr |
|
| 294 |
+ ( draw ) ,is-selected JSR2 #0d MUL #01 ADD =Sprite.color |
|
| 265 | 295 |
( incr ) SWP #01 ADD SWP |
| 266 | 296 |
DUP2 LTH ^$hor JNZ |
| 267 | 297 |
POP2 |