| ... | ... |
@@ -7,13 +7,6 @@ |
| 7 | 7 |
- Locking ports |
| 8 | 8 |
- Detect capitalization |
| 9 | 9 |
- Draw Interface |
| 10 |
- - Position |
|
| 11 |
- - Frame |
|
| 12 |
- - BPM |
|
| 13 |
- - Toggle Guides |
|
| 14 |
- - New |
|
| 15 |
- - Save |
|
| 16 |
- - Load |
|
| 17 | 10 |
- Comments |
| 18 | 11 |
- Load/Save |
| 19 | 12 |
- Copy/Paste |
| ... | ... |
@@ -21,6 +14,7 @@ |
| 21 | 14 |
) |
| 22 | 15 |
|
| 23 | 16 |
%RTN { JMP2r }
|
| 17 |
+%8+ { #0008 ADD2 }
|
|
| 24 | 18 |
%8* { #0008 MUL2 } %8/ { #0008 DIV2 }
|
| 25 | 19 |
%MOD { DUP2 DIV MUL SUB }
|
| 26 | 20 |
|
| ... | ... |
@@ -281,6 +275,38 @@ RTN |
| 281 | 275 |
|
| 282 | 276 |
RTN |
| 283 | 277 |
|
| 278 |
+@draw-interface ( -- ) |
|
| 279 |
+ |
|
| 280 |
+ ~Screen.height #0008 SUB2 =Sprite.y |
|
| 281 |
+ |
|
| 282 |
+ ( TODO: Position ) |
|
| 283 |
+ ( TODO: Frame ) |
|
| 284 |
+ ( TODO: BPM ) |
|
| 285 |
+ |
|
| 286 |
+ ~Screen.width #0028 SUB2 =Sprite.x |
|
| 287 |
+ |
|
| 288 |
+ ( TODO: Toggle Guides ) |
|
| 289 |
+ ~Sprite.x 8+ =Sprite.x |
|
| 290 |
+ ,eye_icns =Sprite.addr |
|
| 291 |
+ #01 =Sprite.color |
|
| 292 |
+ |
|
| 293 |
+ ( TODO: New ) |
|
| 294 |
+ ~Sprite.x 8+ =Sprite.x |
|
| 295 |
+ ,filestate_icn =Sprite.addr |
|
| 296 |
+ #01 =Sprite.color |
|
| 297 |
+ |
|
| 298 |
+ ( TODO: Load ) |
|
| 299 |
+ ~Sprite.x 8+ =Sprite.x |
|
| 300 |
+ ,load_icn =Sprite.addr |
|
| 301 |
+ #01 =Sprite.color |
|
| 302 |
+ |
|
| 303 |
+ ( TODO: Save ) |
|
| 304 |
+ ~Sprite.x 8+ =Sprite.x |
|
| 305 |
+ ,save_icn =Sprite.addr |
|
| 306 |
+ #01 =Sprite.color |
|
| 307 |
+ |
|
| 308 |
+RTN |
|
| 309 |
+ |
|
| 284 | 310 |
@redraw ( -- ) |
| 285 | 311 |
|
| 286 | 312 |
#00 ~grid.height |
| ... | ... |
@@ -299,6 +325,8 @@ RTN |
| 299 | 325 |
DUP2 LTH ^$ver JNZ |
| 300 | 326 |
POP2 |
| 301 | 327 |
|
| 328 |
+ ,draw-interface JSR2 |
|
| 329 |
+ |
|
| 302 | 330 |
RTN |
| 303 | 331 |
|
| 304 | 332 |
( char to b36 ) |
| ... | ... |
@@ -326,18 +354,24 @@ RTN |
| 326 | 354 |
( b36 to char-lc ) |
| 327 | 355 |
|
| 328 | 356 |
@b36clc [ |
| 329 |
- |
|
| 330 | 357 |
30 31 32 33 34 35 36 37 |
| 331 | 358 |
38 39 61 62 63 64 65 66 |
| 332 | 359 |
67 68 69 6a 6b 6c 6d 6e |
| 333 | 360 |
6f 70 71 72 73 74 75 76 |
| 334 | 361 |
77 78 79 7a |
| 335 |
- |
|
| 336 | 362 |
] |
| 337 | 363 |
|
| 338 | 364 |
@cursor_icn [ 80c0 e0f0 f8e0 1000 ] |
| 339 | 365 |
@blank_icn [ 0000 0000 0000 0000 ] |
| 340 | 366 |
|
| 367 |
+@eye_icns |
|
| 368 |
+ [ 0038 4492 2810 0000 ] ( open ) |
|
| 369 |
+ [ 0000 0082 4438 0000 ] ( closed ) |
|
| 370 |
+ |
|
| 371 |
+@filestate_icn [ 1054 28c6 2854 1000 ] |
|
| 372 |
+@load_icn [ feaa d6aa d4aa f400 ] |
|
| 373 |
+@save_icn [ fe82 8282 848a f400 ] |
|
| 374 |
+ |
|
| 341 | 375 |
@font ( specter8-frag font ) |
| 342 | 376 |
[ |
| 343 | 377 |
0000 0000 0000 0000 0008 0808 0800 0800 |
| ... | ... |
@@ -17,8 +17,6 @@ WITH REGARD TO THIS SOFTWARE. |
| 17 | 17 |
#include "ppu.h" |
| 18 | 18 |
#include "apu.h" |
| 19 | 19 |
|
| 20 |
-int initapu(Uxn *u, Uint8 id); |
|
| 21 |
- |
|
| 22 | 20 |
static SDL_AudioDeviceID audio_id; |
| 23 | 21 |
static SDL_Window *gWindow; |
| 24 | 22 |
static SDL_Renderer *gRenderer; |
| ... | ... |
@@ -27,14 +25,11 @@ static Ppu ppu; |
| 27 | 25 |
static Apu apu; |
| 28 | 26 |
static Device *devsystem, *devscreen, *devmouse, *devkey, *devctrl, *devapu; |
| 29 | 27 |
|
| 30 |
-#pragma mark - Helpers |
|
| 31 |
- |
|
| 32 |
-/* clang-format off */ |
|
| 33 |
-int clamp(int val, int min, int max) { return (val >= min) ? (val <= max) ? val : max : min; }
|
|
| 34 |
-void setflag(Uint8 *a, char flag, int b) { if(b) *a |= flag; else *a &= (~flag); }
|
|
| 35 |
-/* clang-format on */ |
|
| 36 |
- |
|
| 37 |
-#pragma mark - Core |
|
| 28 |
+int |
|
| 29 |
+clamp(int val, int min, int max) |
|
| 30 |
+{
|
|
| 31 |
+ return (val >= min) ? (val <= max) ? val : max : min; |
|
| 32 |
+} |
|
| 38 | 33 |
|
| 39 | 34 |
int |
| 40 | 35 |
error(char *msg, const char *err) |
| ... | ... |
@@ -188,7 +183,10 @@ doctrl(Uxn *u, SDL_Event *event, int z) |
| 188 | 183 |
case SDLK_LEFT: flag = 0x40; break; |
| 189 | 184 |
case SDLK_RIGHT: flag = 0x80; break; |
| 190 | 185 |
} |
| 191 |
- setflag(&u->ram.dat[addr], flag, z); |
|
| 186 |
+ if(z) |
|
| 187 |
+ u->ram.dat[addr] |= flag; |
|
| 188 |
+ else |
|
| 189 |
+ u->ram.dat[addr] &= (~flag); |
|
| 192 | 190 |
} |
| 193 | 191 |
|
| 194 | 192 |
#pragma mark - Devices |