diff options
| author | hrydgard <hrydgard@gmail.com> | 2009-07-01 19:14:24 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2009-07-01 19:14:24 +0000 |
| commit | c3547effe68efc17bd9b7c1a065ffad4ac975226 (patch) | |
| tree | feb44164eb1980e62db14e8ba8a8e5ac383939cf /Source | |
| parent | 7d7e2ec8a86d562ac0e1de0fa6bcb3661323b9c1 (diff) | |
bit of zelda ucode re
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3631 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h index 0d6a4c6e3b..d178c30aa3 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_Zelda.h @@ -36,29 +36,62 @@ struct ZeldaVoicePB u16 NeedsReset; // 0x04 | indicates if some values in PB need to be reset u16 ReachedEnd; // 0x05 | set to 1 when end reached u16 IsBlank; // 0x06 | 0 = normal sound, 1 = samples are always the same - u16 Unk07[0x29]; // 0x07 | unknown + u16 Unk07; // 0x07 | unknown + u16 Unk08[0x10]; // 0x08 | unknown // Buffer / something, see 036e/ZWW. there's a pattern here + u16 Unk18[0x10]; // 0x18 | unknown + u16 Unk28; // 0x28 | unknown + u16 Unk29; // 0x29 | unknown // multiplied by 0x2a @ 0d21/ZWW + u16 Unk2a; // 0x2A | unknown // loaded at 0d2e/ZWW + u16 Unk2b; // 0x2B | unknown + u16 Unk2C; // 0x2C | unknown // See 0337/ZWW + u16 Unk2D; // 0x2D | unknown + u16 Unk2E; // 0x2E | unknown + u16 Unk2F; // 0x2F | unknown u16 RatioFrac; // 0x30 | ??? ratio fractional part - u16 Unk31; // 0x31 | unknown + u16 Unk31; // 0x31 | unknown / unused u16 CurBlock; // 0x32 | current block? u16 FixedSample; // 0x33 | sample value for "blank" voices u32 RestartPos; // 0x34 | restart pos - u16 Unk36[2]; // 0x36 | unknown + u16 Unk36[2]; // 0x36 | unknown // loaded at 0adc/ZWW in 0x21 decoder u32 CurAddr; // 0x38 | current address u32 RemLength; // 0x3A | remaining length - u16 Unk3C[0x2A]; // 0x3C | unknown + u16 Unk3C; // 0x3C | something to do with the resampler - a DRAM address? + u16 Unk3D; // 0x3D | unknown + u16 Unk3E; // 0x3E | unknown + u16 Unk3F; // 0x3F | unknown + u16 Unk40[0x10]; // 0x40 | Used as some sort of buffer by IIR + u16 Unk50[0x8]; // 0x50 | Used as some sort of buffer by 06ff/ZWW + u16 Unk58[0x8]; // 0x58 | + u16 Unk60[0x6]; // 0x60 | u16 YN2; // 0x66 | YN2 u16 YN1; // 0x67 | YN1 - u16 Unk68[0x18]; // 0x68 | unknown + u16 Unk68[0x8]; // 0x68 | unknown + u16 Unk70[0x8]; // 0x70 | unknown // 034b/ZWW - weird + u16 Unk78; // 0x78 | unknown // ZWW: ModifySample loads and stores. Ramped volume? + u16 Unk79; // 0x79 | unknown // ZWW: ModifySample loads and stores. Ramped volume? + u16 Unk7A; // 0x7A | unknown + u16 Unk7B; // 0x7B | unknown + u16 Unk7C; // 0x7C | unknown + u16 Unk7D; // 0x7D | unknown + u16 Unk7E; // 0x7E | unknown + u16 Unk7F; // 0x7F | unknown // Read-only part u16 Format; // 0x80 | audio format u16 RepeatMode; // 0x81 | 0 = one-shot, non zero = loop - u16 Unk82[0x6]; // 0x82 | unknown + u16 Unk82; // 0x82 | unknown + u16 Unk83; // 0x83 | unknown + u16 Unk84; // 0x84 | IIR Filter # coefs? + u16 Unk85; // 0x85 | Decides the weird stuff at 035a/ZWW, alco 0cd3 + u16 Unk86; // 0x86 | unknown + u16 Unk87; // 0x87 | unknown u32 LoopStartPos; // 0x88 | loopstart pos u32 Length; // 0x8A | sound length u32 StartAddr; // 0x8C | sound start address u32 UnkAddr; // 0x8E | ??? - u16 Padding[0x30]; // 0x90 | padding + u16 Padding[0x10]; // 0x90 | padding + u16 Padding2[0x10]; // 0xa0 | FIR filter coefs of some sort + u16 Padding3[0x10]; // 0xb0 | padding }; namespace { |
