mirror of https://github.com/PrimeDecomp/prime.git
Properly split GBA library
This commit is contained in:
parent
3434469fc6
commit
f49d43abdc
|
@ -14,7 +14,8 @@
|
|||
"stddef.h": "c",
|
||||
"errno.h": "c",
|
||||
"ansi_files.h": "c",
|
||||
"types.h": "c"
|
||||
"types.h": "c",
|
||||
"gba.h": "c"
|
||||
},
|
||||
"files.autoSave": "onFocusChange",
|
||||
"files.insertFinalNewline": true,
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
.section .data, "wa"
|
||||
.balign 8
|
||||
|
||||
lbl_803F71A0:
|
||||
D35:
|
||||
.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2,255, 0, 33
|
||||
.byte 19, 6, 18, 3, 18, 4, 19, 5, 0,146, 0,255, 0,136,255,255
|
||||
|
@ -216,9 +216,9 @@ __GBAX02:
|
|||
/* 803CB12C 003C808C 38 80 00 20 */ li r4, 0x20
|
||||
/* 803CB130 003C8090 4B FB 39 81 */ bl DCFlushRange
|
||||
/* 803CB134 003C8094 38 00 00 FF */ li r0, 0xff
|
||||
/* 803CB138 003C8098 3C 80 80 3F */ lis r4, lbl_803F71A0@ha
|
||||
/* 803CB138 003C8098 3C 80 80 3F */ lis r4, D35@ha
|
||||
/* 803CB13C 003C809C 90 1F 00 AC */ stw r0, 0xac(r31)
|
||||
/* 803CB140 003C80A0 38 84 71 A0 */ addi r4, r4, lbl_803F71A0@l
|
||||
/* 803CB140 003C80A0 38 84 71 A0 */ addi r4, r4, D35@l
|
||||
/* 803CB144 003C80A4 3C 04 80 00 */ addis r0, r4, 0x8000
|
||||
/* 803CB148 003C80A8 90 1F 00 B4 */ stw r0, 0xb4(r31)
|
||||
/* 803CB14C 003C80AC 38 00 03 80 */ li r0, 0x380
|
||||
|
|
|
@ -1011,6 +1011,8 @@ LIBS = [
|
|||
"cflags": "$cflags_base",
|
||||
"objects": [
|
||||
"Dolphin/GBA/GBA",
|
||||
"Dolphin/GBA/GBAGetProcessStatus",
|
||||
"Dolphin/GBA/GBAJoyBoot",
|
||||
"Dolphin/GBA/GBARead",
|
||||
"Dolphin/GBA/GBAWrite",
|
||||
"Dolphin/GBA/GBAXfer",
|
||||
|
|
|
@ -1,10 +1,63 @@
|
|||
#ifndef _DOLPHIN_GBA
|
||||
#define _DOLPHIN_GBA
|
||||
|
||||
#include <types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void GBAInit();
|
||||
|
||||
#define GBA_CHAN0 0
|
||||
#define GBA_CHAN1 1
|
||||
#define GBA_CHAN2 2
|
||||
#define GBA_CHAN3 3
|
||||
#define GBA_MAX_CHAN 4
|
||||
|
||||
#define GBA_ALL_KEY_MASK 0x03ff
|
||||
#define GBA_A_BUTTON 0x0001
|
||||
#define GBA_B_BUTTON 0x0002
|
||||
#define GBA_SELECT_BUTTON 0x0004
|
||||
#define GBA_START_BUTTON 0x0008
|
||||
#define GBA_R_KEY 0x0010
|
||||
#define GBA_L_KEY 0x0020
|
||||
#define GBA_U_KEY 0x0040
|
||||
#define GBA_D_KEY 0x0080
|
||||
#define GBA_R_BUTTON 0x0100
|
||||
#define GBA_L_BUTTON 0x0200
|
||||
|
||||
#define GBA_JSTAT_MASK 0x3a
|
||||
#define GBA_JSTAT_FLAGS_SHIFT 4
|
||||
#define GBA_JSTAT_FLAGS_MASK 0x30
|
||||
#define GBA_JSTAT_PSF1 0x20
|
||||
#define GBA_JSTAT_PSF0 0x10
|
||||
#define GBA_JSTAT_SEND 0x08
|
||||
#define GBA_JSTAT_RECV 0x02
|
||||
|
||||
#define GBA_READY 0
|
||||
#define GBA_NOT_READY 1
|
||||
#define GBA_BUSY 2
|
||||
#define GBA_JOYBOOT_UNKNOWN_STATE 3
|
||||
#define GBA_JOYBOOT_ERR_INVALID 4
|
||||
|
||||
#define GBA_JOYBOOT_PROGRAM_SIZE_MAX 0x40000
|
||||
|
||||
#define GBA_JOYBOOT_BOOTPARAM_OFFSET 0xc8
|
||||
#define GBA_JOYBOOT_BOOTPARAM_SIZE 0x18
|
||||
typedef void (*GBACallback)(s32 chan, s32 ret);
|
||||
void GBAInit(void);
|
||||
s32 GBAGetStatus(s32 chan, u8* status);
|
||||
s32 GBAGetStatusAsync(s32 chan, u8* status, GBACallback callback);
|
||||
s32 GBAReset(s32 chan, u8* status);
|
||||
s32 GBAResetAsync(s32 chan, u8* status, GBACallback callback);
|
||||
s32 GBAGetProcessStatus(s32 chan, u8* percentp);
|
||||
s32 GBARead(s32 chan, u8* dst, u8* status);
|
||||
s32 GBAReadAsync(s32 chan, u8* dst, u8* status, GBACallback callback);
|
||||
s32 GBAWrite(s32 chan, u8* src, u8* status);
|
||||
s32 GBAWriteAsync(s32 chan, u8* src, u8* status, GBACallback callback);
|
||||
s32 GBAJoyBoot(s32 chan, s32 palette_color, s32 palette_speed, u8* programp, s32 length,
|
||||
u8* status);
|
||||
s32 GBAJoyBootAsync(s32 chan, s32 palette_color, s32 palette_speed, u8* programp, s32 length,
|
||||
u8* status, GBACallback callback);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue