maikor_platform/
input.rs

1/// Values to check against when a button is pressed
2pub mod mask {
3    /// Bit mask for mem::INPUT
4    pub const UP: u8 = 0b00000001;
5    pub const DOWN: u8 = 0b00000010;
6    pub const LEFT: u8 = 0b00000100;
7    pub const RIGHT: u8 = 0b00001000;
8
9    /// Bit mask for mem::INPUT+1
10    pub const A: u8 = 0b00000001;
11    pub const B: u8 = 0b00000010;
12    pub const START: u8 = 0b00000100;
13    pub const L: u8 = 0b00001000;
14    pub const R: u8 = 0b00010000;
15    pub const X: u8 = 0b00100000;
16    pub const Y: u8 = 0b01000000;
17}
18
19/// Type of the active controller
20/// Controlled by host
21/// Controls CONTROLLER_GRAPHICS bank
22pub mod controller_type {
23    pub const UNKNOWN: u8 = 0;
24    pub const XBOX: u8 = 1;
25    pub const PLAYSTATION: u8 = 2;
26    pub const SWITCH: u8 = 3;
27    pub const SCREEN: u8 = 4;
28    pub const KEYBOARD1: u8 = 5;
29    pub const KEYBOARD2: u8 = 6;
30    pub const KEYBOARD3: u8 = 7;
31    pub const KEYBOARD4: u8 = 8;
32
33    pub const COUNT: usize = 9;
34}
35
36/// Mask for controller sprite control byte
37pub mod control {
38    pub const ENABLED: u8 = 0b10000000;
39    pub const ID: u8 = 0b01111000;
40}
41
42/// Button ID for controller sprite control byte
43pub mod id {
44    pub const UP: u8 = 0b00000000; //0, x0
45    pub const DOWN: u8 = 0b00001000; //8, x08
46    pub const LEFT: u8 = 0b00010000; //16, x10
47    pub const RIGHT: u8 = 0b00011000; //24, x18
48    pub const START: u8 = 0b00100000; //32, x20
49    pub const A: u8 = 0b01000000; //64, x40
50    pub const B: u8 = 0b01001000; //72, x48
51    pub const X: u8 = 0b01010000; //80, x50
52    pub const Y: u8 = 0b01011000; //88, x58
53    pub const L: u8 = 0b01100000; //96, x60
54    pub const R: u8 = 0b01101000; //104, x68
55}