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
|
#include "file.h"
#include "system.h"
// Reset a system device.
void system_reset(SystemDevice *system) {
readbuf_set_pointer(&system->name);
readbuf_set_pointer(&system->authors);
}
// Return a bitmask representing the connected state of each device.
u16 connected_devices(void) {
bool devices[16] = {
/* SYSTEM */ true,
/* MEMORY */ true,
/* MATH */ true,
/* CLOCK */ true,
/* INPUT */ true,
/* SCREEN */ true,
/* TONE */ false,
/* SAMPLER */ false,
/* STREAM */ true,
/* FILE */ nds_filesystem_enabled(),
/* CLIPBOARD */ false,
/* REGISTRY */ false,
/* CUSTOM 1 */ false,
/* CUSTOM 2 */ false,
/* CUSTOM 3 */ false,
/* CUSTOM 4 */ false,
};
u16 mask = 0;
for (int i=0; i<16; i++) mask |= devices[i] << (15-i);
return mask;
}
|