mirror of
https://github.com/rodamaral/lsnes.git
synced 2025-04-02 10:42:15 -04:00
53 lines
2.1 KiB
C++
Executable file
53 lines
2.1 KiB
C++
Executable file
#ifdef DSP_CPP
|
|
|
|
bool DSPDebugger::property(unsigned id, string &name, string &value) {
|
|
unsigned n = 0;
|
|
|
|
#define item(name_, value_) \
|
|
if(id == n++) { \
|
|
name = name_; \
|
|
value = value_; \
|
|
return true; \
|
|
}
|
|
|
|
item("Main Volume - Left", (unsigned)state.regs[0x0c]);
|
|
item("Main Volume - Right", (unsigned)state.regs[0x1c]);
|
|
item("Echo Volume - Left", (unsigned)state.regs[0x2c]);
|
|
item("Echo Volume - Right", (unsigned)state.regs[0x3c]);
|
|
item("Key On", string("0x", hex<2>(state.regs[0x4c])));
|
|
item("Key Off", string("0x", hex<2>(state.regs[0x5c])));
|
|
item("Flag - Reset", (bool)(state.regs[0x6c] & 0x80));
|
|
item("Flag - Mute", (bool)(state.regs[0x6c] & 0x40));
|
|
item("Flag - Echo Disable", (bool)(state.regs[0x6c] & 0x20));
|
|
item("Flag - Noise Clock", (unsigned)state.regs[0x6c] & 0x1f);
|
|
item("Source End Block", (unsigned)state.regs[0x7c]);
|
|
item("Echo Feedback", (unsigned)state.regs[0x0d]);
|
|
item("Pitch Modulation Enable", string("0x", hex<2>(state.regs[0x2d])));
|
|
item("Noise Enable", string("0x", hex<2>(state.regs[0x3d])));
|
|
item("Echo Enable", string("0x", hex<2>(state.regs[0x4d])));
|
|
item("Source Directory", (unsigned)state.regs[0x5d]);
|
|
item("Echo Start Address", (unsigned)state.regs[0x6d]);
|
|
item("Echo Directory", (unsigned)state.regs[0x7d]);
|
|
|
|
for(unsigned i = 0; i < 8; i++) {
|
|
item(string("Coefficient ", i), string("0x", hex<2>(state.regs[(i << 4) + 0x0f])));
|
|
}
|
|
|
|
for(unsigned i = 0; i < 8; i++) {
|
|
item(string("Voice ", i), "");
|
|
item("Volume - Left", (unsigned)state.regs[(i << 4) + 0x00]);
|
|
item("Volume - Right", (unsigned)state.regs[(i << 4) + 0x01]);
|
|
item("Pitch Height", string("0x", hex<4>(state.regs[(i << 4) + 0x02] + (state.regs[(i << 4) + 0x03] << 8))));
|
|
item("Source Number", (unsigned)state.regs[(i << 4) + 0x04]);
|
|
item("ADSR1", (unsigned)state.regs[(i << 4) + 0x05]);
|
|
item("ADSR2", (unsigned)state.regs[(i << 4) + 0x06]);
|
|
item("GAIN", (unsigned)state.regs[(i << 4) + 0x07]);
|
|
item("ENVX", (unsigned)state.regs[(i << 4) + 0x08]);
|
|
item("OUTX", (unsigned)state.regs[(i << 4) + 0x09]);
|
|
}
|
|
|
|
#undef item
|
|
return false;
|
|
}
|
|
|
|
#endif
|