mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-17 20:17:38 +01:00
109 lines
1.8 KiB
C
109 lines
1.8 KiB
C
|
#include "main.h"
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
RFU_RESET = 0x10,
|
||
|
RFU_LINK_STATUS,
|
||
|
RFU_VERSION_STATUS,
|
||
|
RFU_SYSTEM_STATUS,
|
||
|
RFU_SLOT_STATUS,
|
||
|
RFU_CONFIG_STATUS,
|
||
|
RFU_GAME_CONFIG,
|
||
|
RFU_SYSTEM_CONFIG,
|
||
|
RFU_UNK18,
|
||
|
RFU_SC_START,
|
||
|
RFU_SC_POLLING,
|
||
|
RFU_SC_END,
|
||
|
RFU_SP_START,
|
||
|
RFU_SP_POLLING,
|
||
|
RFU_SP_END,
|
||
|
RFU_CP_START,
|
||
|
RFU_CP_POLLING,
|
||
|
RFU_CP_END,
|
||
|
RFU_UNK22,
|
||
|
RFU_UNK23,
|
||
|
RFU_DATA_TX,
|
||
|
RFU_DATA_TX_AND_CHANGE,
|
||
|
RFU_DATA_RX,
|
||
|
RFU_MS_CHANGE,
|
||
|
RFU_DATA_READY_AND_CHANGE,
|
||
|
RFU_DISCONNECTED_AND_CHANGE,
|
||
|
RFU_UNK2A,
|
||
|
RFU_UNK2B,
|
||
|
RFU_UNK2C,
|
||
|
RFU_UNK2D,
|
||
|
RFU_UNK2E,
|
||
|
RFU_UNK2F,
|
||
|
RFU_DISCONNECT,
|
||
|
RFU_TEST_MODE,
|
||
|
RFU_CPR_START,
|
||
|
RFU_CPR_POLLING,
|
||
|
RFU_CPR_END,
|
||
|
RFU_UNK35,
|
||
|
RFU_UNK36,
|
||
|
RFU_RESUME_RETRANSMIT_AND_CHANGE,
|
||
|
RFU_UNK38,
|
||
|
RFU_UNK39,
|
||
|
RFU_UNK3A,
|
||
|
RFU_UNK3B,
|
||
|
RFU_UNK3C,
|
||
|
RFU_STOP_MODE, //3D
|
||
|
};
|
||
|
|
||
|
struct RfuPacket8
|
||
|
{
|
||
|
u8 data[0x74];
|
||
|
};
|
||
|
|
||
|
struct RfuPacket32
|
||
|
{
|
||
|
u32 command;
|
||
|
u32 data[0x1C];
|
||
|
};
|
||
|
|
||
|
union RfuPacket
|
||
|
{
|
||
|
struct RfuPacket32 rfuPacket32;
|
||
|
struct RfuPacket8 rfuPacket8;
|
||
|
};
|
||
|
|
||
|
struct RfuStruct
|
||
|
{
|
||
|
vs32 unk_0;
|
||
|
u8 txParams;
|
||
|
u8 unk_5;
|
||
|
u8 activeCommand;
|
||
|
u8 unk_7;
|
||
|
u8 unk_8;
|
||
|
u8 unk_9;
|
||
|
u8 timerSelect;
|
||
|
u8 unk_b;
|
||
|
int timerState;
|
||
|
vu8 timerActive;
|
||
|
u8 unk_11;
|
||
|
vu16 unk_12;
|
||
|
vu8 msMode;
|
||
|
u8 unk_15;
|
||
|
u8 unk_16;
|
||
|
u8 unk_17;
|
||
|
void (*callbackM)();
|
||
|
void (*callbackS)();
|
||
|
u32 callbackID;
|
||
|
union RfuPacket *txPacket;
|
||
|
union RfuPacket *rxPacket;
|
||
|
vu8 unk_2c;
|
||
|
u8 padding[3];
|
||
|
};
|
||
|
|
||
|
struct RfuIntrStruct
|
||
|
{
|
||
|
u8 rxPacketAlloc[0x74];
|
||
|
u8 txPacketAlloc[0x74];
|
||
|
u8 block1[0x960];
|
||
|
u8 block2[0x30];
|
||
|
};
|
||
|
|
||
|
extern struct RfuStruct *gRfuState;
|
||
|
|
||
|
void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam);
|