+enum nkeys_bits {
+ NKEYB_A = 0,
+ NKEYB_B,
+ NKEYB_SELECT,
+ NKEYB_START,
+ NKEYB_UP,
+ NKEYB_DOWN,
+ NKEYB_LEFT,
+ NKEYB_RIGHT,
+ NKEYB_A_TURBO,
+ NKEYB_B_TURBO,
+};
+
+enum nkeys {
+ NKEY_A = 1 << NKEYB_A,
+ NKEY_B = 1 << NKEYB_B,
+ NKEY_SELECT = 1 << NKEYB_SELECT,
+ NKEY_START = 1 << NKEYB_START,
+ NKEY_UP = 1 << NKEYB_UP,
+ NKEY_DOWN = 1 << NKEYB_DOWN,
+ NKEY_LEFT = 1 << NKEYB_LEFT,
+ NKEY_RIGHT = 1 << NKEYB_RIGHT,
+ NKEY_A_TURBO = 1 << NKEYB_A_TURBO,
+ NKEY_B_TURBO = 1 << NKEYB_B_TURBO,
+};
+
+enum emu_actions_bits {
+ EACTB_SAVE_STATE = 31,
+ EACTB_LOAD_STATE = 30,
+ EACTB_NEXT_SLOT = 29,
+ EACTB_PREV_SLOT = 28,
+ EACTB_FDS_INSERT = 27,
+ EACTB_FDS_SELECT = 26,
+ EACTB_INSERT_COIN = 25,
+ EACTB_ENTER_MENU = 24,
+ EACTB_VOLUME_UP = 23,
+ EACTB_VOLUME_DOWN = 22,
+};
+
+enum emu_actions {
+ EACT_SAVE_STATE = 1 << EACTB_SAVE_STATE,
+ EACT_LOAD_STATE = 1 << EACTB_LOAD_STATE,
+ EACT_NEXT_SLOT = 1 << EACTB_NEXT_SLOT,
+ EACT_PREV_SLOT = 1 << EACTB_PREV_SLOT,
+ EACT_FDS_INSERT = 1 << EACTB_FDS_INSERT,
+ EACT_FDS_SELECT = 1 << EACTB_FDS_SELECT,
+ EACT_INSERT_COIN = 1 << EACTB_INSERT_COIN,
+ EACT_ENTER_MENU = 1 << EACTB_ENTER_MENU,
+ EACT_VOLUME_UP = 1 << EACTB_VOLUME_UP,
+ EACT_VOLUME_DOWN = 1 << EACTB_VOLUME_DOWN,
+};
+