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
37
38
pub fn translate_rom_size(input: u8) -> Option<u16> {
match input {
0 => Some(2),
1 => Some(4),
2 => Some(8),
3 => Some(16),
4 => Some(32),
5 => Some(64),
6 => Some(128),
7 => Some(256),
8 => Some(512),
0x52 => Some(72),
0x53 => Some(80),
0x54 => Some(96),
_ => None,
}
}
pub fn translate_ram_size(input: u8) -> Option<(u8, u16)> {
const TWO_KB: u16 = 2 << 10;
const EIGHT_KB: u16 = 2 << 12;
match input {
0 => Some((0, 0)),
1 => Some((1, TWO_KB)),
2 => Some((1, EIGHT_KB)),
3 => Some((4, EIGHT_KB)),
4 => Some((16, EIGHT_KB)),
5 => Some((8, EIGHT_KB)),
_ => None,
}
}