| ... | ... |
@@ -271,18 +271,3 @@ file_deo(Uint8 id, Uint8 *ram, Uint8 *d, Uint8 port) |
| 271 | 271 |
break; |
| 272 | 272 |
} |
| 273 | 273 |
} |
| 274 |
- |
|
| 275 |
-Uint8 |
|
| 276 |
-file_dei(Uint8 id, Uint8 *d, Uint8 port) |
|
| 277 |
-{
|
|
| 278 |
- UxnFile *c = &uxn_file[id]; |
|
| 279 |
- Uint16 res; |
|
| 280 |
- switch(port) {
|
|
| 281 |
- case 0xc: |
|
| 282 |
- case 0xd: |
|
| 283 |
- res = file_read(c, &d[port], 1); |
|
| 284 |
- POKE16(d + 0x2, res); |
|
| 285 |
- break; |
|
| 286 |
- } |
|
| 287 |
- return d[port]; |
|
| 288 |
-} |
| ... | ... |
@@ -34,13 +34,16 @@ WITH REGARD TO THIS SOFTWARE. |
| 34 | 34 |
#define PUT2(o, v) { tmp = (v); s->dat[s->ptr - o - 2] = tmp >> 8; s->dat[s->ptr - o - 1] = tmp; }
|
| 35 | 35 |
#define PUSH(stack, v) { stack->dat[stack->ptr++] = (v); }
|
| 36 | 36 |
#define PUSH2(stack, v) { tmp = (v); stack->dat[stack->ptr] = (v) >> 8; stack->dat[stack->ptr + 1] = (v); stack->ptr += 2; }
|
| 37 |
-#define SEND(a, b) { u->dev[a] = b; if((callbacks[(a) >> 4] >> ((a) & 0xf)) & 0x1) u->deo(u, a); }
|
|
| 37 |
+#define SEND(a, b) { u->dev[a] = b; if((send_events[(a) >> 4] >> ((a) & 0xf)) & 0x1) u->deo(u, a); }
|
|
| 38 | 38 |
|
| 39 | 39 |
static |
| 40 |
-Uint16 callbacks[] = {
|
|
| 40 |
+Uint16 send_events[] = {
|
|
| 41 | 41 |
0x6a08, 0x0300, 0xc028, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, |
| 42 |
- 0x0000, 0x0000, 0xa260, 0xa260, 0x0000, 0x0000, 0x0000, 0x0000 |
|
| 43 |
-}; |
|
| 42 |
+ 0x0000, 0x0000, 0xa260, 0xa260, 0x0000, 0x0000, 0x0000, 0x0000 }; |
|
| 43 |
+static |
|
| 44 |
+Uint16 receive_events[] = {
|
|
| 45 |
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
| 46 |
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }; |
|
| 44 | 47 |
|
| 45 | 48 |
int |
| 46 | 49 |
uxn_eval(Uxn *u, Uint16 pc) |
| ... | ... |
@@ -52,8 +52,6 @@ emu_dei(Uxn *u, Uint8 addr) |
| 52 | 52 |
{
|
| 53 | 53 |
Uint8 p = addr & 0x0f, d = addr & 0xf0; |
| 54 | 54 |
switch(d) {
|
| 55 |
- case 0xa0: return file_dei(0, &u->dev[d], p); |
|
| 56 |
- case 0xb0: return file_dei(1, &u->dev[d], p); |
|
| 57 | 55 |
case 0xc0: return datetime_dei(u, addr); |
| 58 | 56 |
} |
| 59 | 57 |
return u->dev[addr]; |
| ... | ... |
@@ -118,8 +118,6 @@ emu_dei(Uxn *u, Uint8 addr) |
| 118 | 118 |
case 0x40: return audio_dei(1, &u->dev[d], p); |
| 119 | 119 |
case 0x50: return audio_dei(2, &u->dev[d], p); |
| 120 | 120 |
case 0x60: return audio_dei(3, &u->dev[d], p); |
| 121 |
- case 0xa0: return file_dei(0, &u->dev[d], p); |
|
| 122 |
- case 0xb0: return file_dei(1, &u->dev[d], p); |
|
| 123 | 121 |
case 0xc0: return datetime_dei(u, addr); |
| 124 | 122 |
} |
| 125 | 123 |
return u->dev[addr]; |