diff options
Diffstat (limited to 'arm9/lib')
34 files changed, 64 insertions, 229 deletions
diff --git a/arm9/lib/include/CARD_rom.h b/arm9/lib/include/CARD_rom.h index e72d653f..b6fca60b 100644 --- a/arm9/lib/include/CARD_rom.h +++ b/arm9/lib/include/CARD_rom.h @@ -6,6 +6,7 @@ #include "MI_dma.h" #include "CARD_common.h" #include "OS_tcm.h" +#include "mmap.h" #define CARD_ROM_PAGE_SIZE 512 diff --git a/arm9/lib/include/GX_g3x.h b/arm9/lib/include/GX_g3x.h index a0512b28..aa65a190 100644 --- a/arm9/lib/include/GX_g3x.h +++ b/arm9/lib/include/GX_g3x.h @@ -3,6 +3,8 @@ #include "fx.h" +#include "registers.h" + void GXi_NopClearFifo128_(void *reg); void G3X_Init(); void G3X_ResetMtxStack(); diff --git a/arm9/lib/include/MI_exMemory.h b/arm9/lib/include/MI_exMemory.h index aa90a73c..5e21d7e6 100644 --- a/arm9/lib/include/MI_exMemory.h +++ b/arm9/lib/include/MI_exMemory.h @@ -1,7 +1,7 @@ #ifndef POKEDIAMOND_MI_EXMEMORY_H #define POKEDIAMOND_MI_EXMEMORY_H -#include "consts.h" +#include "registers.h" typedef enum { MI_PROCESSOR_ARM9 = 0, diff --git a/arm9/lib/include/OS_entropy.h b/arm9/lib/include/OS_entropy.h index b0f2781a..7c39aadd 100644 --- a/arm9/lib/include/OS_entropy.h +++ b/arm9/lib/include/OS_entropy.h @@ -5,8 +5,7 @@ #ifndef POKEDIAMOND_OS_ENTROPY_H #define POKEDIAMOND_OS_ENTROPY_H -#include "consts.h" -#include "userInfo.h" +#include "registers.h" void OS_GetLowEntropyData(u32 * arr); diff --git a/arm9/lib/include/OS_interrupt.h b/arm9/lib/include/OS_interrupt.h index 130ad2de..19dd0da2 100644 --- a/arm9/lib/include/OS_interrupt.h +++ b/arm9/lib/include/OS_interrupt.h @@ -1,7 +1,7 @@ #ifndef POKEDIAMOND_ARM9_OS_INTERRUPT_H #define POKEDIAMOND_ARM9_OS_INTERRUPT_H -#include "consts.h" +#include "registers.h" #include "nitro/OS_interrupt_shared.h" #define REG_OS_IME_IME_SHIFT 0 diff --git a/arm9/lib/include/OS_irqHandler.h b/arm9/lib/include/OS_irqHandler.h index ea12a0ad..e845298b 100644 --- a/arm9/lib/include/OS_irqHandler.h +++ b/arm9/lib/include/OS_irqHandler.h @@ -1,8 +1,8 @@ #ifndef POKEDIAMOND_OS_IRQHANDLER_H #define POKEDIAMOND_OS_IRQHANDLER_H -#include "consts.h" #include "OS_interrupt.h" +#include "mmap.h" static inline void OS_ClearIrqCheckFlag(OSIrqMask intr) { diff --git a/arm9/lib/include/OS_irqTable.h b/arm9/lib/include/OS_irqTable.h index 10165a11..ba8b45a8 100644 --- a/arm9/lib/include/OS_irqTable.h +++ b/arm9/lib/include/OS_irqTable.h @@ -1,7 +1,7 @@ #ifndef POKEDIAMOND_ARM9_OS_IRQTABLE_H #define POKEDIAMOND_ARM9_OS_IRQTABLE_H -#include "consts.h" +#include "mmap.h" #include "OS_interrupt.h" void OS_IrqDummy(void); diff --git a/arm9/lib/include/OS_reset.h b/arm9/lib/include/OS_reset.h index b5d43bad..756de9fb 100644 --- a/arm9/lib/include/OS_reset.h +++ b/arm9/lib/include/OS_reset.h @@ -1,9 +1,8 @@ #ifndef POKEDIAMOND_ARM9_OS_RESET_H #define POKEDIAMOND_ARM9_OS_RESET_H -#include "consts.h" #include "nitro/OS_reset_shared.h" -#include "PXI_fifo.h" +#include "mmap.h" void OS_InitReset(void); void OS_ResetSystem(u32 parameter); diff --git a/arm9/lib/include/PAD_pad.h b/arm9/lib/include/PAD_pad.h index a4b5d570..f3de4198 100644 --- a/arm9/lib/include/PAD_pad.h +++ b/arm9/lib/include/PAD_pad.h @@ -1,7 +1,7 @@ #ifndef NITRO_PAD_PAD_H_ #define NITRO_PAD_PAD_H_ -#include "consts.h" +#include "registers.h" //================================================================================ // BUTTONS diff --git a/arm9/lib/include/SND_alarm.h b/arm9/lib/include/SND_alarm.h index cf5db862..07b77f45 100644 --- a/arm9/lib/include/SND_alarm.h +++ b/arm9/lib/include/SND_alarm.h @@ -2,24 +2,13 @@ #define GUARD_SND_ALARM_H #include "global.h" -#include "OS_alarm.h" +#include "nitro/SND_alarm_shared.h" typedef void (*SNDAlarmCallback)(void *); -struct SNDAlarm { - u8 enable; // 0x00 - u8 id; // 0x01 - u16 unk_2; // 0x02 - OSTick tick; // 0x04 - OSTick period; // 0x0C - OSAlarm alarm; // 0x14 -}; // size = 0x40 - void SND_AlarmInit(void); void SNDi_IncAlarmId(u32 idx); u8 SNDi_SetAlarmHandler(u32 idx, SNDAlarmCallback cb, void *data); void SNDi_CallAlarmHandler(s32 idx); -#define SND_ALARM_COUNT 8 - #endif diff --git a/arm9/lib/include/SND_interface.h b/arm9/lib/include/SND_interface.h index bd2c3869..d0898f85 100644 --- a/arm9/lib/include/SND_interface.h +++ b/arm9/lib/include/SND_interface.h @@ -4,6 +4,7 @@ #include "global.h" #include "SND_bank.h" #include "SND_work.h" +#include "SND_alarm.h" void SND_StartSeq(s32 player, const void *seqBasePtr, u32 seqOffset, struct SNDBankData *bankData); void SND_StopSeq(s32 player); diff --git a/arm9/lib/include/SND_main.h b/arm9/lib/include/SND_main.h index e35f1ee1..8fa9364e 100644 --- a/arm9/lib/include/SND_main.h +++ b/arm9/lib/include/SND_main.h @@ -3,6 +3,8 @@ #include "global.h" +#include "nitro/SND_main_shared.h" + void SNDi_UnlockMutex(void); void SNDi_LockMutex(void); void SND_Init(void); @@ -21,165 +23,4 @@ typedef struct SNDBinaryBlockHeader { u32 size; // 0x4 } SNDBinaryBlockHeader; // size = 0x8 -struct SNDWaveParam { - u8 format; // 0x0 - u8 loopEnabled; // 0x1 - u16 samplerate; // 0x2 - u16 timer; // 0x4 - u16 loopStart; // 0x6 - u32 loopLength; // 0x8 -}; // size = 0xC - -struct SNDLfoParam { - u8 target; // 0x0 - u8 speed; // 0x1 - u8 depth; // 0x2 - u8 range; // 0x3 - u16 delay; // 0x4 -}; // size = 0x6 - -struct SNDLfo { - struct SNDLfoParam param; // 0x0 - u16 delayCounter; // 0x6 - u16 counter; // 0x8 -}; // size = 0xA - -struct SNDExChannel { - u8 id; // 0x00 - u8 type; // 0x01 - u8 envStatus; // 0x02 - - struct { - u8 active : 1; - u8 start : 1; - u8 autoSweep : 1; - u8 syncFlag : 5; - } flags; // 0x03 - - u8 panRange; // 0x04 - u8 rootMidiKey; // 0x05 - s16 userDecay2; // 0x06 - - u8 midiKey; // 0x08 - u8 velocity; // 0x09 - s8 initPan; // 0x0A - s8 userPan; // 0x0B - - s16 userDecay; // 0x0C - s16 userPitch; // 0x0E - - s32 envAttenuation; // 0x10 - s32 sweepCounter; // 0x14 - s32 sweepLength; // 0x18 - - u8 envAttack; // 0x1C - u8 envSustain; // 0x1D - u16 envDecay; // 0x1E - u16 envRelease; // 0x20 - u8 priority; // 0x22 - u8 pan; // 0x23 - u16 volume; // 0x24 - u16 timer; // 0x26 - - struct SNDLfo lfo; // 0x28 - - s16 sweepPitch; // 0x32 - - s32 length; // 0x34 - - struct SNDWaveParam waveParam; // 0x38 - - union { - const void *waveDataPtr; - u32 dutyCycle; - }; // 0x44 - - void (*callback)(struct SNDExChannel *chn, u32 status, void *userData); // 0x48 - void *callbackUserData; // 0x4C - - struct SNDExChannel *channelLLNext; // 0x50 -}; // size = 0x54 - -#define SND_TRACK_COUNT_PER_PLAYER 16 -#define SND_INVALID_TRACK_INDEX 0xFF - -struct SNDPlayer { - struct { - u8 active : 1; - u8 prepared : 1; - u8 paused : 1; - } flags; // 0x0 - - u8 playerId; // 0x1 - u8 unk_2[2]; // 0x2 - - u8 prio; // 0x4 - u8 volume; // 0x5 - s16 extFader; // 0x6 - - u8 tracks[SND_TRACK_COUNT_PER_PLAYER]; // 0x8 - - u16 tempo; // 0x18 - u16 tempoRatio; // 0x1A - u16 tempoCounter; // 0x1C - u8 unk_1E[2]; // 0x1E - - struct SNDBankData *bank; // 0x20 -}; // size = 0x24 - -#define SND_TRACK_MAX_CALL 3 - -struct SNDBankData; - -struct SNDTrack { - struct { - u8 active : 1; - u8 noteWait : 1; - u8 muted : 1; - u8 tie : 1; - u8 noteFinishWait : 1; - u8 portamento : 1; - u8 cmp : 1; // ??? - u8 channelMask : 1; - } flags; // 0x00 - - u8 panRange; // 0x01 - u16 program; // 0x02 - - u8 volume; // 0x04 - u8 expression; // 0x05 - s8 pitchBend; // 0x06 - u8 bendRange; // 0x07 - - s8 pan; // 0x08 - s8 extPan; // 0x09 - s16 extFader; // 0x0A - s16 extPitch; // 0x0C - u8 envAttack; // 0x0E - u8 envDecay; // 0x0F - u8 envSustain; // 0x10 - u8 envRelease; // 0x11 - u8 priority; // 0x12 - s8 transpose; // 0x13 - - u8 portamentoKey; // 0x14 - u8 portamentoTime; // 0x15 - s16 sweepPitch; // 0x16 - - struct SNDLfoParam mod; // 0x18 - u16 channelMask; // 0x1E - - s32 wait; // 0x20 - - const u8 *trackDataStart; // 0x24 - const u8 *trackDataPos; // 0x28 - const u8 *posCallStack[SND_TRACK_MAX_CALL]; // 0x34 - u8 loopCount[SND_TRACK_MAX_CALL]; // 0x38 - u8 callStackDepth; // 0x3B - - struct SNDExChannel *channelLLHead; // 0x3C -}; // size = 0x40 - - - #endif // GUARD_SND_MAIN_H diff --git a/arm9/lib/include/SND_work.h b/arm9/lib/include/SND_work.h index dec2bd71..a8a3d62b 100644 --- a/arm9/lib/include/SND_work.h +++ b/arm9/lib/include/SND_work.h @@ -4,31 +4,7 @@ #include "global.h" #include "SND_main.h" -#include "SND_alarm.h" - -#define SND_PLAYER_COUNT 16 -#define SND_CHANNEL_COUNT 16 -#define SND_TRACK_COUNT 32 - -struct SNDWork { - struct SNDExChannel channels[SND_CHANNEL_COUNT]; // 0x00 - struct SNDPlayer players[SND_PLAYER_COUNT]; // 0x540 - struct SNDTrack tracks[SND_TRACK_COUNT]; // 0x780 - struct SNDAlarm alarms[SND_ALARM_COUNT]; // 0xF80 -}; // size = 0x1180 - -struct SNDSharedWork { - u32 finishedCommandTag; // 0x0 - u32 playerStatus; // 0x4 - u16 channelStatus; // 0x8 - u16 captureStatus; // 0xA - u8 unk_C[0x14]; // 0xC - struct { - s16 localVars[16]; // local 0x0 - u32 tickCounter; // local 0x20 - } players[SND_PLAYER_COUNT]; // 0x20 - s16 globalVars[16]; // 0x260 -}; // size = 0x280 +#include "nitro/SND_work_shared.h" struct SNDDriverInfo { struct SNDWork work; // 0x0000 diff --git a/arm9/lib/include/consts.h b/arm9/lib/include/consts.h index 1ad79b93..127339ca 100644 --- a/arm9/lib/include/consts.h +++ b/arm9/lib/include/consts.h @@ -2,9 +2,6 @@ #define POKEDIAMOND_ARM9_CONSTS_H #include "nitro/consts_shared.h" -#include "mmap.h" -#include "registers.h" -#include "systemWork.h" #define HW_C5_PERMIT_MASK 0xf diff --git a/arm9/lib/include/fx.h b/arm9/lib/include/fx.h index 38506194..bdf49037 100644 --- a/arm9/lib/include/fx.h +++ b/arm9/lib/include/fx.h @@ -1,6 +1,8 @@ #ifndef GUARD_FX_H #define GUARD_FX_H +#include "nitro/types.h" + typedef s16 fx16; typedef s32 fx32; typedef s64 fx64; diff --git a/arm9/lib/include/systemWork.h b/arm9/lib/include/systemWork.h index b7660985..1e3ba46b 100644 --- a/arm9/lib/include/systemWork.h +++ b/arm9/lib/include/systemWork.h @@ -1,7 +1,6 @@ #ifndef POKEDIAMOND_ARM9_SYSTEMWORK_H #define POKEDIAMOND_ARM9_SYSTEMWORK_H -#include "OS_context.h" #include "nitro/OS_systemWork_shared.h" #endif //POKEDIAMOND_ARM9_SYSTEMWORK_H diff --git a/arm9/lib/src/CARD_common.c b/arm9/lib/src/CARD_common.c index f820027e..fd66c7ce 100644 --- a/arm9/lib/src/CARD_common.c +++ b/arm9/lib/src/CARD_common.c @@ -8,6 +8,7 @@ #include "OS_cache.h" #include "MB_mb.h" #include "PXI_fifo.h" +#include "mmap.h" CARDiCommon cardi_common ALIGN(32); static CARDiCommandArg cardi_arg ALIGN(32); diff --git a/arm9/lib/src/CARD_pullOut.c b/arm9/lib/src/CARD_pullOut.c index 3456df48..d5c7737f 100644 --- a/arm9/lib/src/CARD_pullOut.c +++ b/arm9/lib/src/CARD_pullOut.c @@ -8,6 +8,7 @@ #include "PAD_pad.h" #include "SPI_pm.h" #include "syscall.h" +#include "mmap.h" static CARDPulledOutCallback CARD_UserCallback; static BOOL CARDi_IsPulledOutFlag = FALSE; diff --git a/arm9/lib/src/CP_context.c b/arm9/lib/src/CP_context.c index 4e928c06..6567f516 100644 --- a/arm9/lib/src/CP_context.c +++ b/arm9/lib/src/CP_context.c @@ -1,6 +1,6 @@ #include "CP_context.h" #include "function_target.h" -#include "consts.h" +#include "registers.h" ARM_FUNC asm void CP_SaveContext(register CPContext *context) { diff --git a/arm9/lib/src/CTRDG_common.c b/arm9/lib/src/CTRDG_common.c index 3d80cf24..df3ec0b6 100644 --- a/arm9/lib/src/CTRDG_common.c +++ b/arm9/lib/src/CTRDG_common.c @@ -7,6 +7,7 @@ #include "PXI_fifo.h" #include "MI_dma.h" #include "MI_memory.h" +#include "mmap.h" CTRDGWork CTRDGi_Work; diff --git a/arm9/lib/src/FX_cp.c b/arm9/lib/src/FX_cp.c index c8069146..0c5d4ff8 100644 --- a/arm9/lib/src/FX_cp.c +++ b/arm9/lib/src/FX_cp.c @@ -1,6 +1,8 @@ -#include "global.h" #include "fx.h" +#include "global.h" +#include "registers.h" + ARM_FUNC fx32 FX_Div(fx32 numerator, fx32 denominator){ FX_DivAsync(numerator, denominator); diff --git a/arm9/lib/src/FX_vec.c b/arm9/lib/src/FX_vec.c index 39dd3076..005872ac 100644 --- a/arm9/lib/src/FX_vec.c +++ b/arm9/lib/src/FX_vec.c @@ -1,6 +1,8 @@ -#include "global.h" #include "fx.h" +#include "global.h" +#include "registers.h" + ARM_FUNC void VEC_Add(struct Vecx32 *a, struct Vecx32 *b, struct Vecx32 *dst){ dst->x = a->x + b->x; dst->y = a->y + b->y; diff --git a/arm9/lib/src/GX.c b/arm9/lib/src/GX.c index 688e41b7..f47c0131 100644 --- a/arm9/lib/src/GX.c +++ b/arm9/lib/src/GX.c @@ -1,6 +1,9 @@ -#include "global.h" #include "gx.h" +#include "global.h" +#include "OS_spinLock.h" +#include "OS_terminate_proc.h" + u32 GXi_DmaId = 3; vu16 GXi_VRamLockId = 0; diff --git a/arm9/lib/src/MI_wram.c b/arm9/lib/src/MI_wram.c index a65bbb6f..c1433f07 100644 --- a/arm9/lib/src/MI_wram.c +++ b/arm9/lib/src/MI_wram.c @@ -1,7 +1,8 @@ -#include "function_target.h" -#include "consts.h" #include "MI_wram.h" +#include "global.h" +#include "registers.h" + ARM_FUNC void MI_SetWramBank(MIWram cnt) { reg_GX_VRAMCNT_WRAM = (u8)cnt; diff --git a/arm9/lib/src/OS_arena.c b/arm9/lib/src/OS_arena.c index df9c2fd8..de7cb9fe 100644 --- a/arm9/lib/src/OS_arena.c +++ b/arm9/lib/src/OS_arena.c @@ -1,8 +1,9 @@ -#include "function_target.h"
-#include "consts.h"
#include "OS_arena.h"
+
+#include "global.h"
#include "OS_protectionRegion.h"
#include "OS_emulator.h"
+#include "mmap.h"
static BOOL OSi_Initialized = FALSE;
static BOOL OSi_MainExArenaEnabled = FALSE;
diff --git a/arm9/lib/src/OS_entropy.c b/arm9/lib/src/OS_entropy.c index b33781cc..5d466f82 100644 --- a/arm9/lib/src/OS_entropy.c +++ b/arm9/lib/src/OS_entropy.c @@ -2,10 +2,13 @@ // Created by red031000 on 2020-05-03. // -#include "function_target.h" -#include "consts.h" #include "OS_entropy.h" +#include "global.h" +#include "registers.h" +#include "systemWork.h" +#include "userInfo.h" + ARM_FUNC void OS_GetLowEntropyData(u32 * arr) { const OSSystemWork* work = OS_GetSystemWork(); diff --git a/arm9/lib/src/OS_exception.c b/arm9/lib/src/OS_exception.c index 3aaaa2f2..63cd6d58 100644 --- a/arm9/lib/src/OS_exception.c +++ b/arm9/lib/src/OS_exception.c @@ -1,6 +1,8 @@ #include "OS_exception.h" -#include "function_target.h" + +#include "global.h" #include "OS_protectionUnit.h" +#include "mmap.h" static OSiExContext OSi_ExContext; diff --git a/arm9/lib/src/OS_interrupt.c b/arm9/lib/src/OS_interrupt.c index c7c0704d..699c7929 100644 --- a/arm9/lib/src/OS_interrupt.c +++ b/arm9/lib/src/OS_interrupt.c @@ -1,6 +1,8 @@ -#include "consts.h" -#include "function_target.h" #include "OS_interrupt.h" + +#include "global.h" +#include "registers.h" +#include "mmap.h" #include "OS_thread.h" #pragma optimize_for_size on diff --git a/arm9/lib/src/OS_ownerInfo.c b/arm9/lib/src/OS_ownerInfo.c index 10a638fb..6693f73f 100644 --- a/arm9/lib/src/OS_ownerInfo.c +++ b/arm9/lib/src/OS_ownerInfo.c @@ -1,5 +1,7 @@ -#include "function_target.h" #include "OS_ownerInfo.h" + +#include "global.h" +#include "systemWork.h" #include "MI_memory.h" ARM_FUNC void OS_GetMacAddress(u8 *macAddress) diff --git a/arm9/lib/src/OS_reset.c b/arm9/lib/src/OS_reset.c index 45d2bb13..083f2321 100644 --- a/arm9/lib/src/OS_reset.c +++ b/arm9/lib/src/OS_reset.c @@ -1,5 +1,6 @@ -#include "function_target.h" #include "OS_reset.h" + +#include "global.h" #include "MB_mb.h" #include "OS_terminate_proc.h" #include "OS_interrupt.h" diff --git a/arm9/lib/src/OS_spinLock.c b/arm9/lib/src/OS_spinLock.c index c0398be9..576e03ad 100644 --- a/arm9/lib/src/OS_spinLock.c +++ b/arm9/lib/src/OS_spinLock.c @@ -3,9 +3,10 @@ // #include "OS_spinLock.h" + #include "OS_system.h" #include "function_target.h" -#include "consts.h" +#include "mmap.h" #include "MI_exMemory.h" extern void MIi_CpuClear32(u32 param1, void * addr, u32 length); //not too sure about names diff --git a/arm9/lib/src/OS_thread.c b/arm9/lib/src/OS_thread.c index 35e91c22..a52b1f6d 100644 --- a/arm9/lib/src/OS_thread.c +++ b/arm9/lib/src/OS_thread.c @@ -6,7 +6,8 @@ #include "OS_system.h" #include "OS_context.h" #include "OS_terminate_proc.h" -#include "consts.h" +#include "systemWork.h" +#include "mmap.h" extern void SDK_SYS_STACKSIZE(void); extern void SDK_IRQ_STACKSIZE(void); diff --git a/arm9/lib/src/SND_command.c b/arm9/lib/src/SND_command.c index 4ad80be5..044d960f 100644 --- a/arm9/lib/src/SND_command.c +++ b/arm9/lib/src/SND_command.c @@ -1,7 +1,10 @@ +#include "SND_alarm.h" #include "SND_command.h" #include "SND_work.h" +#include "OS_emulator.h" #include "OS_system.h" #include "OS_cache.h" +#include "PXI_fifo.h" #define SND_CMD_WAIT_QUEUE_COUNT 8 diff --git a/arm9/lib/src/custom_allocator.c b/arm9/lib/src/custom_allocator.c index 1b1375bc..283c3500 100644 --- a/arm9/lib/src/custom_allocator.c +++ b/arm9/lib/src/custom_allocator.c @@ -1,6 +1,8 @@ -#include "global.h" #include "custom_allocator.h" +#include "global.h" +#include "OS_alloc.h" + static FreeFunc sDestructor; static AllocFunc sAllocator; |