mirror of https://github.com/zeldaret/tp.git
130 lines
4.3 KiB
C++
130 lines
4.3 KiB
C++
#ifndef JASDSPINTERFACE_H
|
|
#define JASDSPINTERFACE_H
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
struct JASWaveInfo;
|
|
|
|
namespace JASDsp {
|
|
struct FxlineConfig_ {
|
|
u8 field_0x0;
|
|
u8 field_0x1;
|
|
u16 field_0x2;
|
|
s16 field_0x4;
|
|
u16 field_0x6;
|
|
s16 field_0x8;
|
|
u16 field_0xa;
|
|
u32 field_0xc;
|
|
s16 field_0x10[8];
|
|
};
|
|
|
|
typedef struct {
|
|
s16 field_0x0;
|
|
s16 field_0x2;
|
|
s16* field_0x4;
|
|
s16 field_0x8;
|
|
s16 field_0xa;
|
|
s16 field_0xc;
|
|
s16 field_0xe;
|
|
s16 field_0x10[8];
|
|
} FxBuf;
|
|
|
|
struct TChannel {
|
|
/* 8029DCA4 */ void init();
|
|
/* 8029DCE0 */ void playStart();
|
|
/* 8029DD44 */ void playStop();
|
|
/* 8029DD50 */ void replyFinishRequest();
|
|
/* 8029DD60 */ void forceStop();
|
|
/* 8029DD6C */ bool isActive() const;
|
|
/* 8029DD7C */ bool isFinish() const;
|
|
/* 8029DD8C */ void setWaveInfo(JASWaveInfo const&, u32, u32);
|
|
/* 8029DEAC */ void setOscInfo(u32);
|
|
/* 8029DEC4 */ void initAutoMixer();
|
|
/* 8029DEF0 */ void setAutoMixer(u16, u8, u8, u8, u8);
|
|
/* 8029DF1C */ void setPitch(u16);
|
|
/* 8029DF34 */ void setMixerInitVolume(u8, s16);
|
|
/* 8029DF54 */ void setMixerVolume(u8, s16);
|
|
/* 8029DF80 */ void setPauseFlag(u8);
|
|
/* 8029DF8C */ void flush();
|
|
/* 8029DFB0 */ void initFilter();
|
|
/* 8029E00C */ void setFilterMode(u16);
|
|
/* 8029E044 */ void setIIRFilterParam(s16*);
|
|
/* 8029E06C */ void setFIR8FilterParam(s16*);
|
|
/* 8029E094 */ void setDistFilter(s16);
|
|
/* 8029E09C */ void setBusConnect(u8, u8);
|
|
|
|
/* 0x000 */ u16 mIsActive;
|
|
/* 0x002 */ u16 mIsFinished;
|
|
/* 0x004 */ u16 mPitch;
|
|
/* 0x006 */ short field_0x006;
|
|
/* 0x008 */ u16 field_0x008;
|
|
/* 0x00A */ u8 field_0x00A[0x00C - 0x00A];
|
|
/* 0x00C */ s16 mPauseFlag;
|
|
/* 0x00E */ short field_0x00E;
|
|
/* 0x010 */ u16 field_0x010[1][4]; // array size unknown
|
|
/* 0x018 */ u8 field_0x018[0x050 - 0x018];
|
|
/* 0x050 */ short field_0x050;
|
|
/* 0x052 */ u16 field_0x052;
|
|
/* 0x054 */ u16 field_0x054;
|
|
/* 0x056 */ u16 field_0x056;
|
|
/* 0x058 */ u16 field_0x058;
|
|
/* 0x05A */ u8 field_0x05A[0x060 - 0x05A];
|
|
/* 0x060 */ short field_0x060;
|
|
/* 0x062 */ u8 field_0x062[0x064 - 0x062];
|
|
/* 0x064 */ u16 field_0x064;
|
|
/* 0x066 */ short field_0x066;
|
|
/* 0x068 */ int field_0x068;
|
|
/* 0x06C */ u8 field_0x06C[0x070 - 0x06C];
|
|
/* 0x070 */ int field_0x070;
|
|
/* 0x074 */ int field_0x074;
|
|
/* 0x078 */ short field_0x078[4];
|
|
/* 0x080 */ short field_0x080[20];
|
|
/* 0x0A8 */ short field_0x0a8[4];
|
|
/* 0x0B0 */ u16 field_0x0b0[16];
|
|
/* 0x0D0 */ u8 field_0x0D0[0x100 - 0x0D0];
|
|
/* 0x100 */ u16 field_0x100;
|
|
/* 0x102 */ u16 field_0x102;
|
|
/* 0x104 */ s16 field_0x104;
|
|
/* 0x106 */ s16 field_0x106;
|
|
/* 0x108 */ u16 mFilterMode;
|
|
/* 0x10A */ u16 mForcedStop;
|
|
/* 0x10C */ int field_0x10c;
|
|
/* 0x110 */ u32 field_0x110;
|
|
/* 0x114 */ u32 field_0x114;
|
|
/* 0x118 */ u32 field_0x118;
|
|
/* 0x11C */ int field_0x11c;
|
|
/* 0x120 */ s16 fir_filter_params[8];
|
|
/* 0x130 */ u8 field_0x130[0x148 - 0x130];
|
|
/* 0x148 */ s16 iir_filter_params[8];
|
|
/* 0x158 */ u8 field_0x158[0x180 - 0x158];
|
|
};
|
|
|
|
/* 8029D958 */ void boot(void (*)(void*));
|
|
/* 8029D9A4 */ void releaseHalt(u32);
|
|
/* 8029D9C4 */ void finishWork(u16);
|
|
/* 8029D9E4 */ void syncFrame(u32, u32, u32);
|
|
/* 8029DA04 */ void setDSPMixerLevel(f32);
|
|
/* 8029DA30 */ f32 getDSPMixerLevel();
|
|
/* 8029DA38 */ TChannel* getDSPHandle(int);
|
|
/* 8029DA48 */ void setFilterTable(s16*, s16*, u32);
|
|
/* 8029DA6C */ void flushBuffer();
|
|
/* 8029DAA0 */ void invalChannelAll();
|
|
/* 8029DAC8 */ void initBuffer();
|
|
/* 8029DB78 */ int setFXLine(u8, s16*, JASDsp::FxlineConfig_*);
|
|
|
|
extern u8 const DSPADPCM_FILTER[64];
|
|
extern u32 const DSPRES_FILTER[320];
|
|
extern u16 SEND_TABLE[];
|
|
extern TChannel* CH_BUF;
|
|
extern FxBuf* FX_BUF;
|
|
extern f32 sDSPVolume;
|
|
|
|
#ifdef DEBUG
|
|
extern s32 dspMutex;
|
|
#endif
|
|
};
|
|
|
|
u16 DSP_CreateMap2(u32 msg);
|
|
|
|
#endif /* JASDSPINTERFACE_H */
|