Add VRC6 support
2 Pulse channels: - 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume. - Furnace support PCM playback in pulse channels with duty cycle ignore mode. Sawtooth: - nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic). VRC6 instrument: - 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels. Duty, PCM mode command and Duty macro affects for pulse channel only.
This commit is contained in:
parent
09b5dd556e
commit
ef104ce0b0
17 changed files with 1228 additions and 3 deletions
|
|
@ -37,6 +37,7 @@
|
|||
#include "../engine/platform/saa.h"
|
||||
#include "../engine/platform/amiga.h"
|
||||
#include "../engine/platform/x1_010.h"
|
||||
#include "../engine/platform/vrc6.h"
|
||||
#include "../engine/platform/dummy.h"
|
||||
|
||||
#define GENESIS_DEBUG \
|
||||
|
|
@ -274,6 +275,33 @@ void putDispatchChan(void* data, int chanNum, int type) {
|
|||
ImGui::TextColored(ch->env.flag.envVinvL?colorOn:colorOff,">> EnvVinvL");
|
||||
break;
|
||||
}
|
||||
case DIV_SYSTEM_VRC6: {
|
||||
DivPlatformVRC6::Channel* ch=(DivPlatformVRC6::Channel*)data;
|
||||
ImGui::Text("> VRC6");
|
||||
ImGui::Text("* freq: %d",ch->freq);
|
||||
ImGui::Text(" - base: %d",ch->baseFreq);
|
||||
ImGui::Text(" - pitch: %d",ch->pitch);
|
||||
ImGui::Text("- note: %d",ch->note);
|
||||
ImGui::Text("* DAC:");
|
||||
ImGui::Text(" - period: %d",ch->dacPeriod);
|
||||
ImGui::Text(" - rate: %d",ch->dacRate);
|
||||
ImGui::Text(" - out: %d",ch->dacOut);
|
||||
ImGui::Text(" - pos: %d",ch->dacPos);
|
||||
ImGui::Text(" - sample: %d",ch->dacSample);
|
||||
ImGui::Text("- ins: %d",ch->ins);
|
||||
ImGui::Text("- duty: %d",ch->duty);
|
||||
ImGui::Text("- vol: %.2x",ch->vol);
|
||||
ImGui::Text("- outVol: %.2x",ch->outVol);
|
||||
ImGui::TextColored(ch->active?colorOn:colorOff,">> Active");
|
||||
ImGui::TextColored(ch->insChanged?colorOn:colorOff,">> InsChanged");
|
||||
ImGui::TextColored(ch->freqChanged?colorOn:colorOff,">> FreqChanged");
|
||||
ImGui::TextColored(ch->keyOn?colorOn:colorOff,">> KeyOn");
|
||||
ImGui::TextColored(ch->keyOff?colorOn:colorOff,">> KeyOff");
|
||||
ImGui::TextColored(ch->inPorta?colorOn:colorOff,">> InPorta");
|
||||
ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC");
|
||||
ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC");
|
||||
break;
|
||||
}
|
||||
default:
|
||||
ImGui::Text("Unknown system! Help!");
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue