mirror of
https://github.com/pret/pokediamond.git
synced 2024-10-07 03:03:25 +00:00
cleanup header includes and orders
Not complete, but a good start.
This commit is contained in:
parent
ac7337cc64
commit
9ff579dac8
12
arm7/lib/include/SND_alarm.h
Normal file
12
arm7/lib/include/SND_alarm.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_SND_ALARM_H
|
||||
#define GUARD_SND_ALARM_H
|
||||
|
||||
#include "global.h"
|
||||
#include "SND_alarm_shared.h"
|
||||
|
||||
void SND_StopAlarm(u32 idx);
|
||||
void SND_StartAlarm(u32 idx);
|
||||
void SND_SetupAlarm();
|
||||
void SND_AlarmInit();
|
||||
|
||||
#endif //GUARD_SND_ALARM_H
|
8
arm7/lib/include/SND_exChannel.h
Normal file
8
arm7/lib/include/SND_exChannel.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_SND_EXCHANNEL_H
|
||||
#define GUARD_SND_EXCHANNEL_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
bool SND_IsChannelActive(u32 idx);
|
||||
|
||||
#endif //GUARD_SND_EXCHANNEL_H
|
4
arm7/lib/include/SND_work.h
Normal file
4
arm7/lib/include/SND_work.h
Normal file
@ -0,0 +1,4 @@
|
||||
#ifndef GUARD_SND_WORK_H
|
||||
#define GUARD_SND_WORK_H
|
||||
|
||||
#endif //GUARD_SND_WORK_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
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
#include "fx.h"
|
||||
|
||||
#include "registers.h"
|
||||
|
||||
void GXi_NopClearFifo128_(void *reg);
|
||||
void G3X_Init();
|
||||
void G3X_ResetMtxStack();
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef NITRO_PAD_PAD_H_
|
||||
#define NITRO_PAD_PAD_H_
|
||||
|
||||
#include "consts.h"
|
||||
#include "registers.h"
|
||||
|
||||
//================================================================================
|
||||
// BUTTONS
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "PXI_fifo.h"
|
||||
#include "MI_dma.h"
|
||||
#include "MI_memory.h"
|
||||
#include "mmap.h"
|
||||
|
||||
CTRDGWork CTRDGi_Work;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#include "global.h"
|
||||
#include "custom_allocator.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "OS_alloc.h"
|
||||
|
||||
static FreeFunc sDestructor;
|
||||
static AllocFunc sAllocator;
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#include "mod21_02254A6C.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "heap.h"
|
||||
#include "mod21_02254A6C.h"
|
||||
#include "registers.h"
|
||||
#include "MI_memory.h"
|
||||
|
||||
extern void MOD20_022536F4(u32 *param0, u32 param1);
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include "save_block_2.h"
|
||||
#include "heap.h"
|
||||
#include "CARD_backup.h"
|
||||
#include "OS_spinLock.h"
|
||||
|
||||
#pragma thumb on
|
||||
|
||||
|
@ -1,5 +1,11 @@
|
||||
#include "timer3.h"
|
||||
|
||||
#include "OS_interrupt.h"
|
||||
#include "OS_irqTable.h"
|
||||
#include "OS_timer.h"
|
||||
#include "OS_system.h"
|
||||
#include "registers.h"
|
||||
|
||||
static BOOL timer3_needReset;
|
||||
static vu64 timer3_counter;
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "MWC_string.h"
|
||||
#include "function_target.h"
|
||||
#include "nitro.h"
|
||||
#include "nitro/types.h"
|
||||
#include "constants/global.h"
|
||||
#include "error_handling.h"
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define POKEDIAMOND_HEAP_H
|
||||
|
||||
#include "global.h"
|
||||
#include "nitro/OS_arena_shared.h"
|
||||
#include "NNS_FND_expheap.h"
|
||||
#include "NNS_FND_allocator.h"
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
#include "nitro/types.h"
|
||||
#include "nitro/OS_tick_shared.h"
|
||||
#include "nitro/OS_thread_shared.h"
|
||||
|
||||
typedef void (*OSAlarmHandler) (void *);
|
||||
|
||||
|
@ -15,6 +15,9 @@
|
||||
|
||||
#include "nitro/types.h"
|
||||
|
||||
/* UGLY HACK: include proc specific header for OSContext */
|
||||
#include "OS_context.h"
|
||||
|
||||
typedef struct OSiAlarm OSAlarm;
|
||||
|
||||
typedef struct _OSThread OSThread;
|
||||
|
30
include/nitro/SND_alarm_shared.h
Normal file
30
include/nitro/SND_alarm_shared.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* NOTE:
|
||||
* This file is shared between ARM9 and ARM7
|
||||
* DO NOT PUT PROC SPECIFIC CODE IN HERE
|
||||
* Thank You!
|
||||
*/
|
||||
|
||||
/*
|
||||
* DO NOT INCLUDE THIS FILE DIRECTLY
|
||||
* Include SND_alarm.h from the specific proc's lib
|
||||
*/
|
||||
|
||||
#ifndef POKEDIAMOND_SND_ALARM_SHARED_H
|
||||
#define POKEDIAMOND_SND_ALARM_SHARED_H
|
||||
|
||||
#include "nitro/OS_tick_shared.h"
|
||||
#include "nitro/OS_alarm_shared.h"
|
||||
|
||||
struct SNDAlarm {
|
||||
u8 enable; // 0x00
|
||||
u8 id; // 0x01
|
||||
u16 unk_2; // 0x02
|
||||
OSTick tick; // 0x04
|
||||
OSTick period; // 0x0C
|
||||
OSAlarm alarm; // 0x14
|
||||
}; // size = 0x40
|
||||
|
||||
#define SND_ALARM_COUNT 8
|
||||
|
||||
#endif //POKEDIAMOND_SND_ALARM_SHARED_H
|
176
include/nitro/SND_main_shared.h
Normal file
176
include/nitro/SND_main_shared.h
Normal file
@ -0,0 +1,176 @@
|
||||
/*
|
||||
* NOTE:
|
||||
* This file is shared between ARM9 and ARM7
|
||||
* DO NOT PUT PROC SPECIFIC CODE IN HERE
|
||||
* Thank You!
|
||||
*/
|
||||
|
||||
/*
|
||||
* DO NOT INCLUDE THIS FILE DIRECTLY
|
||||
* Include SND_main.h from the specific proc's lib
|
||||
*/
|
||||
|
||||
#ifndef POKEDIAMOND_SND_MAIN_SHARED_H
|
||||
#define POKEDIAMOND_SND_MAIN_SHARED_H
|
||||
|
||||
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 SNDBankData;
|
||||
|
||||
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 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 //POKEDIAMOND_SND_MAIN_SHARED_H
|
||||
|
46
include/nitro/SND_work_shared.h
Normal file
46
include/nitro/SND_work_shared.h
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* NOTE:
|
||||
* This file is shared between ARM9 and ARM7
|
||||
* DO NOT PUT PROC SPECIFIC CODE IN HERE
|
||||
* Thank You!
|
||||
*/
|
||||
|
||||
/*
|
||||
* DO NOT INCLUDE THIS FILE DIRECTLY
|
||||
* Include SND_work.h from the specific proc's lib
|
||||
*/
|
||||
|
||||
#ifndef POKEDIAMOND_SND_WORK_SHARED_H
|
||||
#define POKEDIAMOND_SND_WORK_SHARED_H
|
||||
|
||||
#include "nitro/SND_alarm_shared.h"
|
||||
#include "nitro/SND_main_shared.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
|
||||
|
||||
extern struct SNDWork SNDi_Work;
|
||||
extern struct SNDSharedWork *SNDi_SharedWork;
|
||||
|
||||
#endif //POKEDIAMOND_SND_WORK_SHARED_H
|
Loading…
Reference in New Issue
Block a user