... | ... |
@@ -33,6 +33,7 @@ |
33 | 33 |
|
34 | 34 |
|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 ] |
35 | 35 |
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 ] |
36 |
+|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &length $2 &addr $2 &volume $1 &pitch $1 ] |
|
36 | 37 |
|80 @Controller [ &vector $2 &button $1 &key $1 ] |
37 | 38 |
|90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &wheel $1 ] |
38 | 39 |
|
... | ... |
@@ -87,7 +88,7 @@ BRK |
87 | 88 |
BANK2 STH2k GET-SIZE ++ STH2r |
88 | 89 |
&clear-loop |
89 | 90 |
DUP2 #0000 SWP2 STA2 |
90 |
- #0002 ++ GTH2k ,&clear-loop JCN |
|
91 |
+ INC2 INC2 GTH2k ,&clear-loop JCN |
|
91 | 92 |
POP2 POP2 |
92 | 93 |
|
93 | 94 |
( run grid ) |
... | ... |
@@ -112,8 +113,7 @@ BRK |
112 | 113 |
©-loop |
113 | 114 |
DUP2 LDA2k |
114 | 115 |
SWP2 #2000 -- STA2 |
115 |
- #0002 ++ |
|
116 |
- GTH2k ,©-loop JCN |
|
116 |
+ INC2 INC2 GTH2k ,©-loop JCN |
|
117 | 117 |
POP2 POP2 |
118 | 118 |
|
119 | 119 |
;draw-grid JSR2 |
... | ... |
@@ -99,9 +99,9 @@ BRK |
99 | 99 |
&loop |
100 | 100 |
.adsr-view/x2 LDZ2 #003a -- .Screen/x DEO2 |
101 | 101 |
#10 OVR - .Audio0/output DEI #0f AND < .Screen/pixel DEO |
102 |
- .adsr-view/x2 LDZ2 #003a -- #0002 ++ .Screen/x DEO2 |
|
102 |
+ .adsr-view/x2 LDZ2 #003a -- INC2 INC2 .Screen/x DEO2 |
|
103 | 103 |
#10 OVR - .Audio0/output DEI #04 SFT < .Screen/pixel DEO |
104 |
- .Screen/y DEI2 #0002 ++ .Screen/y DEO2 |
|
104 |
+ .Screen/y DEI2 INC2 INC2 .Screen/y DEO2 |
|
105 | 105 |
INC GTHk ,&loop JCN |
106 | 106 |
POP2 |
107 | 107 |
|
... | ... |
@@ -26,7 +26,7 @@ static Uint16 (*pop8)(Stack *s); |
26 | 26 |
static Uint16 (*pop)(Stack *s); |
27 | 27 |
static void (*poke)(Uint8 *m, Uint16 a, Uint16 b); |
28 | 28 |
static Uint16 (*peek)(Uint8 *m, Uint16 a); |
29 |
-static void (*devw)(Device *d, Uint8 a, Uint16 b); |
|
29 |
+static int (*devw)(Device *d, Uint8 a, Uint16 b); |
|
30 | 30 |
static Uint16 (*devr)(Device *d, Uint8 a); |
31 | 31 |
static void (*warp)(Uxn *u, Uint16 a); |
32 | 32 |
static void (*pull)(Uxn *u); |
... | ... |
@@ -63,7 +63,7 @@ system_talk(Device *d, Uint8 b0, Uint8 w) |
63 | 63 |
case 0xf: return 0; |
64 | 64 |
} |
65 | 65 |
} |
66 |
- return 1; |
|
66 |
+ return 1; |
|
67 | 67 |
} |
68 | 68 |
|
69 | 69 |
static int |
... | ... |
@@ -71,7 +71,7 @@ console_talk(Device *d, Uint8 b0, Uint8 w) |
71 | 71 |
{ |
72 | 72 |
if(w && b0 > 0x7) |
73 | 73 |
write(b0 - 0x7, (char *)&d->dat[b0], 1); |
74 |
- return 1; |
|
74 |
+ return 1; |
|
75 | 75 |
} |
76 | 76 |
|
77 | 77 |
static int |
... | ... |
@@ -91,7 +91,7 @@ file_talk(Device *d, Uint8 b0, Uint8 w) |
91 | 91 |
} |
92 | 92 |
poke16(d->dat, 0x2, result); |
93 | 93 |
} |
94 |
- return 1; |
|
94 |
+ return 1; |
|
95 | 95 |
} |
96 | 96 |
|
97 | 97 |
static int |
... | ... |
@@ -111,7 +111,7 @@ datetime_talk(Device *d, Uint8 b0, Uint8 w) |
111 | 111 |
d->dat[0xa] = t->tm_isdst; |
112 | 112 |
(void)b0; |
113 | 113 |
(void)w; |
114 |
- return 1; |
|
114 |
+ return 1; |
|
115 | 115 |
} |
116 | 116 |
|
117 | 117 |
static int |
... | ... |
@@ -120,7 +120,7 @@ nil_talk(Device *d, Uint8 b0, Uint8 w) |
120 | 120 |
(void)d; |
121 | 121 |
(void)b0; |
122 | 122 |
(void)w; |
123 |
- return 1; |
|
123 |
+ return 1; |
|
124 | 124 |
} |
125 | 125 |
|
126 | 126 |
#pragma mark - Generics |
... | ... |
@@ -306,7 +306,7 @@ system_talk(Device *d, Uint8 b0, Uint8 w) |
306 | 306 |
if(b0 > 0x7 && b0 < 0xe) |
307 | 307 |
docolors(d); |
308 | 308 |
} |
309 |
- return 1; |
|
309 |
+ return 1; |
|
310 | 310 |
} |
311 | 311 |
|
312 | 312 |
static int |
... | ... |
@@ -314,7 +314,7 @@ console_talk(Device *d, Uint8 b0, Uint8 w) |
314 | 314 |
{ |
315 | 315 |
if(w && b0 > 0x7) |
316 | 316 |
write(b0 - 0x7, (char *)&d->dat[b0], 1); |
317 |
- return 1; |
|
317 |
+ return 1; |
|
318 | 318 |
} |
319 | 319 |
|
320 | 320 |
static int |
... | ... |
@@ -337,7 +337,7 @@ screen_talk(Device *d, Uint8 b0, Uint8 w) |
337 | 337 |
ppu_1bpp(&ppu, layer, x, y, addr, d->dat[0xf] & 0xf, d->dat[0xf] >> 0x4 & 0x1, d->dat[0xf] >> 0x5 & 0x1); |
338 | 338 |
reqdraw = 1; |
339 | 339 |
} |
340 |
- return 1; |
|
340 |
+ return 1; |
|
341 | 341 |
} |
342 | 342 |
|
343 | 343 |
static int |
... | ... |
@@ -359,7 +359,7 @@ file_talk(Device *d, Uint8 b0, Uint8 w) |
359 | 359 |
} |
360 | 360 |
poke16(d->dat, 0x2, result); |
361 | 361 |
} |
362 |
- return 1; |
|
362 |
+ return 1; |
|
363 | 363 |
} |
364 | 364 |
|
365 | 365 |
static int |
... | ... |
@@ -383,7 +383,7 @@ audio_talk(Device *d, Uint8 b0, Uint8 w) |
383 | 383 |
SDL_UnlockAudioDevice(audio_id); |
384 | 384 |
SDL_PauseAudioDevice(audio_id, 0); |
385 | 385 |
} |
386 |
- return 1; |
|
386 |
+ return 1; |
|
387 | 387 |
} |
388 | 388 |
|
389 | 389 |
static int |
... | ... |
@@ -403,7 +403,7 @@ datetime_talk(Device *d, Uint8 b0, Uint8 w) |
403 | 403 |
d->dat[0xa] = t->tm_isdst; |
404 | 404 |
(void)b0; |
405 | 405 |
(void)w; |
406 |
- return 1; |
|
406 |
+ return 1; |
|
407 | 407 |
} |
408 | 408 |
|
409 | 409 |
static int |
... | ... |
@@ -412,7 +412,7 @@ nil_talk(Device *d, Uint8 b0, Uint8 w) |
412 | 412 |
(void)d; |
413 | 413 |
(void)b0; |
414 | 414 |
(void)w; |
415 |
- return 1; |
|
415 |
+ return 1; |
|
416 | 416 |
} |
417 | 417 |
|
418 | 418 |
#pragma mark - Generics |