bio2: add definitions for 20th anniversary model

This commit is contained in:
Will Xyen
2021-09-12 19:17:18 -07:00
committed by 6fe20d9b80a9661a09ef66dfd58832d49592386b
parent 85c9c444f1
commit cac09f8f87
2 changed files with 61 additions and 0 deletions

56
src/main/bio2/bi2a-ddr.h Normal file
View File

@@ -0,0 +1,56 @@
#ifndef BIO2_BI2A_DDR
#define BIO2_BI2A_DDR
#include "bio2/bio2.h"
#pragma pack(push, 1)
struct bi2a_ddr_system_panel {
uint8_t b_unk1 : 1;
uint8_t b_coin : 1;
uint8_t b_service : 1;
uint8_t b_test : 1;
uint8_t b_un2 : 4;
};
struct bi2a_ddr_player_1_panel {
uint8_t b_unk : 3;
uint8_t b_right : 1;
uint8_t b_left : 1;
uint8_t b_down : 1;
uint8_t b_up : 1;
uint8_t b_start : 1;
};
struct bi2a_ddr_player_2_panel {
uint8_t b_unk1 : 1;
uint8_t b_right : 1;
uint8_t b_left : 1;
uint8_t b_down : 1;
uint8_t b_up : 1;
uint8_t b_start : 1;
uint8_t b_unk2 : 2;
};
struct bi2a_ddr_state_in {
uint8_t unk1;
struct bi2a_ddr_system_panel system;
uint8_t unk2[7];
struct bi2a_ddr_player_1_panel player_1;
struct bi2a_ddr_player_2_panel player_2;
uint8_t unk3[5];
};
struct bi2a_ddr_state_out {
uint8_t unk1[40];
};
_Static_assert(
sizeof(struct bi2a_ddr_state_in) == 16,
"bi2a_ddr_state_in is the wrong size");
_Static_assert(
sizeof(struct bi2a_ddr_state_out) == 40,
"bi2a_ddr_state_out is the wrong size");
#pragma pack(pop)
#endif

View File

@@ -11,6 +11,11 @@ enum bio2_bi2a_cmd {
BIO2_BI2A_CMD_INIT = 0x0100,
BIO2_BI2A_CMD_WATCHDOG = 0x0120,
BIO2_BI2A_CMD_POLL = 0x0152, // For IIDX
// For games using libacio for BIO2 communication
BIO2_BI2A_CMD_ACIO_POLL_NOWD = 0x0112,
BIO2_BI2A_CMD_ACIO_POLL_WD = 0x0113,
BIO2_BI2A_CMD_TAPELED_INIT = 0x0140,
BIO2_BI2A_CMD_TAPELED_SEND = 0x0141,
};
#endif