Merge branch 'master' into decompile_battle_controllers
This commit is contained in:
@@ -137,6 +137,8 @@
|
||||
#define REG_OFFSET_DMA3CNT_H 0xde
|
||||
|
||||
#define REG_OFFSET_TMCNT 0x100
|
||||
#define REG_OFFSET_TMCNT_L 0x100
|
||||
#define REG_OFFSET_TMCNT_H 0x102
|
||||
#define REG_OFFSET_TM0CNT 0x100
|
||||
#define REG_OFFSET_TM0CNT_L 0x100
|
||||
#define REG_OFFSET_TM0CNT_H 0x102
|
||||
@@ -298,6 +300,8 @@
|
||||
#define REG_ADDR_DMA3CNT_H (REG_BASE + REG_OFFSET_DMA3CNT_H)
|
||||
|
||||
#define REG_ADDR_TMCNT (REG_BASE + REG_OFFSET_TMCNT)
|
||||
#define REG_ADDR_TMCNT_L (REG_BASE + REG_OFFSET_TMCNT_L)
|
||||
#define REG_ADDR_TMCNT_H (REG_BASE + REG_OFFSET_TMCNT_H)
|
||||
#define REG_ADDR_TM0CNT (REG_BASE + REG_OFFSET_TM0CNT)
|
||||
#define REG_ADDR_TM0CNT_L (REG_BASE + REG_OFFSET_TM0CNT_L)
|
||||
#define REG_ADDR_TM0CNT_H (REG_BASE + REG_OFFSET_TM0CNT_H)
|
||||
@@ -458,6 +462,8 @@
|
||||
#define REG_DMA3CNT_H (*(vu16 *)REG_ADDR_DMA3CNT_H)
|
||||
|
||||
#define REG_TMCNT(n) (*(vu16 *)(REG_ADDR_TMCNT + ((n) * 4)))
|
||||
#define REG_TMCNT_L(n) (*(vu16 *)(REG_ADDR_TMCNT_L + ((n) * 4)))
|
||||
#define REG_TMCNT_H(n) (*(vu16 *)(REG_ADDR_TMCNT_H + ((n) * 4)))
|
||||
#define REG_TM0CNT (*(vu32 *)REG_ADDR_TM0CNT)
|
||||
#define REG_TM0CNT_L (*(vu16 *)REG_ADDR_TM0CNT_L)
|
||||
#define REG_TM0CNT_H (*(vu16 *)REG_ADDR_TM0CNT_H)
|
||||
|
||||
@@ -86,4 +86,14 @@
|
||||
dmaRegs[5]; \
|
||||
}
|
||||
|
||||
#define IntrEnable(flags) \
|
||||
{ \
|
||||
u16 imeTemp; \
|
||||
\
|
||||
imeTemp = REG_IME; \
|
||||
REG_IME = 0; \
|
||||
REG_IE |= flags; \
|
||||
REG_IME = imeTemp; \
|
||||
} \
|
||||
|
||||
#endif // GUARD_GBA_MACRO_H
|
||||
|
||||
108
include/librfu.h
Normal file
108
include/librfu.h
Normal file
@@ -0,0 +1,108 @@
|
||||
#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);
|
||||
@@ -23,5 +23,7 @@ void reset_temp_tile_data_buffers(void);
|
||||
int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode);
|
||||
bool8 free_temp_tile_data_buffers_if_possible(void);
|
||||
u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
|
||||
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
|
||||
s8 sub_8198C58(void);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
Reference in New Issue
Block a user