aboutsummaryrefslogtreecommitdiffstats
path: root/src/uxn-core.c
blob: 8a2c97138889c0a521def568858b6b688f83f077 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
extern void uxn_eval_asm(u16 pc);

// Stacks (On IWRAM).
extern u8 wst[256];
extern u8 rst[256];
extern uintptr_t wst_ptr;
extern uintptr_t rst_ptr;

// DEO/DEI mapping functiosn and device data (On IWRAM).
extern uintptr_t deo_map[16];
extern uintptr_t dei_map[16];
extern u8 device_data[256];

// DEBUG: ONLY
// extern u8 device_0[16];
// extern u8 device_1[16];
// extern u8 device_2[16];
// extern u8 device_3[16];
// extern u8 device_4[16];
// extern u8 device_5[16];
// extern u8 device_6[16];
// extern u8 device_7[16];
// extern u8 device_8[16];
// extern u8 device_a[16];
// extern u8 device_b[16];
// extern u8 device_c[16];
// extern u8 device_d[16];
// extern u8 device_e[16];
// extern u8 device_f[16];

EWRAM_BSS
u8 uxn_ram[KB(64)];

#define PAGE_PROGRAM 0x0100
#define POKE2(d, v) do { (d)[0] = (v) >> 8; (d)[1] = (v); } while(0)
#define PEEK2(d) ((d)[0] << 8 | (d)[1])