2022-10-16 00:58:24 +00:00
|
|
|
#ifndef _DOLPHIN_GBAPRIV
|
|
|
|
#define _DOLPHIN_GBAPRIV
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
#include <dolphin/gba.h>
|
|
|
|
#include <dolphin/os.h>
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2022-10-16 05:53:55 +00:00
|
|
|
|
|
|
|
typedef void (*GBATransferCallback)(s32 chan);
|
|
|
|
|
2022-10-16 00:58:24 +00:00
|
|
|
typedef struct GBASecParams {
|
|
|
|
u8 data[0x40];
|
|
|
|
} GBASecParams;
|
|
|
|
|
|
|
|
typedef struct GBA {
|
|
|
|
u8 command;
|
|
|
|
u8 src[4];
|
2022-10-16 02:14:54 +00:00
|
|
|
u8 dst[4];
|
|
|
|
u8 _09;
|
2022-10-16 00:58:24 +00:00
|
|
|
s8 _0a;
|
|
|
|
s8 _0b;
|
|
|
|
s32 _0c;
|
|
|
|
s32 _10;
|
|
|
|
u8* status;
|
|
|
|
u8* buffer;
|
|
|
|
GBACallback callback;
|
|
|
|
s32 result;
|
|
|
|
OSThreadQueue thread_queue;
|
2022-10-16 02:14:54 +00:00
|
|
|
OSTime delay;
|
2022-10-16 05:53:55 +00:00
|
|
|
GBATransferCallback _38;
|
2022-10-16 02:14:54 +00:00
|
|
|
s32 _3c;
|
2022-10-16 00:58:24 +00:00
|
|
|
s32 palette_color;
|
|
|
|
s32 palette_speed;
|
|
|
|
u8* program;
|
|
|
|
s32 program_length;
|
|
|
|
s32 jboot_status;
|
|
|
|
GBACallback jboot_callback;
|
|
|
|
char data2[0x74u - 0x58u];
|
|
|
|
u8* challenge_cipher;
|
|
|
|
char data3[0xf8 - 0x78u];
|
|
|
|
GBASecParams* param;
|
|
|
|
char data4[0x100u - 0xfcu];
|
|
|
|
} GBA;
|
|
|
|
|
|
|
|
extern GBA __GBA[4];
|
|
|
|
extern BOOL __GBAReset;
|
|
|
|
|
2022-10-16 06:01:20 +00:00
|
|
|
void __GBAHandler(s32 chan, u32 sr, OSContext* context);
|
2022-10-16 00:58:24 +00:00
|
|
|
void __GBASyncCallback(s32 chan, s32 ret);
|
|
|
|
s32 __GBASync(s32 chan);
|
2022-10-16 02:14:54 +00:00
|
|
|
OSTime __GBASetDelay(s32 chan, OSTime delay);
|
2022-10-16 05:53:55 +00:00
|
|
|
s32 __GBATransfer(s32 chan, s32 w1, s32 w2, GBATransferCallback callback);
|
2022-10-16 00:58:24 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif // _DOLPHIN_GBAPRIV
|