add ins type for Pokémon Mini and GA20
This commit is contained in:
parent
dafa0189a8
commit
b619580b4b
|
@ -915,7 +915,13 @@ void DivInstrument::putInsData2(SafeWriter* w, bool fui, const DivSong* song) {
|
|||
featureSM=true;
|
||||
featureSL=true;
|
||||
break;
|
||||
|
||||
case DIV_INS_GA20:
|
||||
featureSM=true;
|
||||
featureSL=true;
|
||||
break;
|
||||
case DIV_INS_POKEMINI:
|
||||
break;
|
||||
|
||||
case DIV_INS_MAX:
|
||||
break;
|
||||
case DIV_INS_NULL:
|
||||
|
|
|
@ -76,6 +76,8 @@ enum DivInstrumentType: unsigned short {
|
|||
DIV_INS_MSM5232=43,
|
||||
DIV_INS_T6W28=44,
|
||||
DIV_INS_K007232=45,
|
||||
DIV_INS_GA20=46,
|
||||
DIV_INS_POKEMINI=47,
|
||||
DIV_INS_MAX,
|
||||
DIV_INS_NULL
|
||||
};
|
||||
|
|
|
@ -116,6 +116,7 @@ enum DivSystem {
|
|||
DIV_SYSTEM_MSM5232,
|
||||
DIV_SYSTEM_T6W28,
|
||||
DIV_SYSTEM_K007232,
|
||||
DIV_SYSTEM_GA20,
|
||||
DIV_SYSTEM_PCM_DAC,
|
||||
DIV_SYSTEM_PONG,
|
||||
DIV_SYSTEM_DUMMY
|
||||
|
|
|
@ -1174,7 +1174,7 @@ void DivEngine::registerSystems() {
|
|||
{"Square"},
|
||||
{"SQ"},
|
||||
{DIV_CH_PULSE},
|
||||
{DIV_INS_BEEPER}
|
||||
{DIV_INS_POKEMINI}
|
||||
);
|
||||
|
||||
sysDefs[DIV_SYSTEM_SEGAPCM]=new DivSysDef(
|
||||
|
@ -1703,6 +1703,16 @@ void DivEngine::registerSystems() {
|
|||
{DIV_INS_AMIGA, DIV_INS_AMIGA}
|
||||
);
|
||||
|
||||
sysDefs[DIV_SYSTEM_GA20]=new DivSysDef(
|
||||
"Irem GA20", NULL, 0xc7, 0, 4, false, true, 0x171, false, 1U<<DIV_SAMPLE_DEPTH_8BIT,
|
||||
"yet another PCM chip from Irem.",
|
||||
{"Channel 1", "Channel 2", "Channel 3", "Channel 4"},
|
||||
{"CH1", "CH2", "CH3", "CH4"},
|
||||
{DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM},
|
||||
{DIV_INS_GA20, DIV_INS_GA20, DIV_INS_GA20, DIV_INS_GA20},
|
||||
{DIV_INS_AMIGA, DIV_INS_AMIGA}
|
||||
);
|
||||
|
||||
sysDefs[DIV_SYSTEM_DUMMY]=new DivSysDef(
|
||||
"Dummy System", NULL, 0xfd, 0, 8, false, true, 0, false, 0,
|
||||
"this is a system designed for testing purposes.",
|
||||
|
|
|
@ -422,6 +422,14 @@ void FurnaceGUI::drawInsList(bool asChild) {
|
|||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_K007232]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_GA20:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_GA20]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
case DIV_INS_POKEMINI:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_POKEMINI]);
|
||||
name=fmt::sprintf(ICON_FA_BAR_CHART "##_INS%d",i);
|
||||
break;
|
||||
default:
|
||||
ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_INSTR_UNKNOWN]);
|
||||
name=fmt::sprintf(ICON_FA_QUESTION "##_INS%d",i);
|
||||
|
|
|
@ -186,6 +186,8 @@ enum FurnaceGUIColors {
|
|||
GUI_COLOR_INSTR_MSM5232,
|
||||
GUI_COLOR_INSTR_T6W28,
|
||||
GUI_COLOR_INSTR_K007232,
|
||||
GUI_COLOR_INSTR_GA20,
|
||||
GUI_COLOR_INSTR_POKEMINI,
|
||||
GUI_COLOR_INSTR_UNKNOWN,
|
||||
|
||||
GUI_COLOR_CHANNEL_BG,
|
||||
|
|
|
@ -126,6 +126,8 @@ const char* insTypes[DIV_INS_MAX+1]={
|
|||
"MSM5232",
|
||||
"T6W28",
|
||||
"K007232",
|
||||
"GA20",
|
||||
"Pokémon Mini",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
@ -810,6 +812,8 @@ const FurnaceGUIColorDef guiColors[GUI_COLOR_MAX]={
|
|||
D(GUI_COLOR_INSTR_MSM5232,"",ImVec4(0.5f,0.9f,1.0f,1.0f)),
|
||||
D(GUI_COLOR_INSTR_T6W28,"",ImVec4(1.0f,0.8f,0.1f,1.0f)),
|
||||
D(GUI_COLOR_INSTR_K007232,"",ImVec4(1.0f,0.8f,0.1f,1.0f)),
|
||||
D(GUI_COLOR_INSTR_GA20,"",ImVec4(0.1f,1.0f,0.4f,1.0f)),
|
||||
D(GUI_COLOR_INSTR_POKEMINI,"",ImVec4(1.0f,1.0f,0.3f,1.0f)),
|
||||
D(GUI_COLOR_INSTR_UNKNOWN,"",ImVec4(0.3f,0.3f,0.3f,1.0f)),
|
||||
|
||||
D(GUI_COLOR_CHANNEL_BG,"",ImVec4(0.4f,0.6f,0.8f,1.0f)),
|
||||
|
|
|
@ -4949,6 +4949,9 @@ void FurnaceGUI::drawInsEdit() {
|
|||
if (ins->type==DIV_INS_QSOUND) {
|
||||
volMax=16383;
|
||||
}
|
||||
if (ins->type==DIV_INS_POKEMINI) {
|
||||
volMax=2;
|
||||
}
|
||||
|
||||
const char* dutyLabel="Duty/Noise";
|
||||
int dutyMin=0;
|
||||
|
@ -4982,7 +4985,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
dutyLabel="Group Ctrl";
|
||||
dutyMax=5;
|
||||
}
|
||||
if (ins->type==DIV_INS_BEEPER) {
|
||||
if (ins->type==DIV_INS_BEEPER || ins->type==DIV_INS_POKEMINI) {
|
||||
dutyLabel="Pulse Width";
|
||||
dutyMax=255;
|
||||
}
|
||||
|
@ -5079,6 +5082,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
if (ins->type==DIV_INS_MSM6295) waveMax=0;
|
||||
if (ins->type==DIV_INS_SEGAPCM) waveMax=0;
|
||||
if (ins->type==DIV_INS_K007232) waveMax=0;
|
||||
if (ins->type==DIV_INS_POKEMINI) waveMax=0;
|
||||
if (ins->type==DIV_INS_SU) waveMax=7;
|
||||
if (ins->type==DIV_INS_PET) {
|
||||
waveMax=8;
|
||||
|
|
|
@ -1787,7 +1787,10 @@ void FurnaceGUI::drawSettings() {
|
|||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_QSOUND,"QSound");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_YMZ280B,"YMZ280B");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_RF5C68,"RF5C68");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_MSM5232,"MSM5232");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_K007232,"K007232");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_GA20,"GA20");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_POKEMINI,"Pokémon Mini");
|
||||
UI_COLOR_CONFIG(GUI_COLOR_INSTR_UNKNOWN,"Other/Unknown");
|
||||
ImGui::TreePop();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue