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