mirror of
https://github.com/tildearrow/furnace.git
synced 2024-12-31 20:11:29 +00:00
parent
a3beab6815
commit
8d45236cce
3 changed files with 16 additions and 7 deletions
|
@ -211,6 +211,7 @@ void DivPlatformSMS::forceIns() {
|
||||||
chan[i].freqChanged=true;
|
chan[i].freqChanged=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
updateSNMode=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* DivPlatformSMS::getChanState(int ch) {
|
void* DivPlatformSMS::getChanState(int ch) {
|
||||||
|
|
|
@ -136,11 +136,13 @@ struct DivSong {
|
||||||
// - 0: NTSC (3.58MHz)
|
// - 0: NTSC (3.58MHz)
|
||||||
// - 1: PAL (3.55MHz)
|
// - 1: PAL (3.55MHz)
|
||||||
// - 2: Other (4MHz)
|
// - 2: Other (4MHz)
|
||||||
|
// - 3: half NTSC (1.79MHz)
|
||||||
// - bit 2-3: noise type
|
// - bit 2-3: noise type
|
||||||
// - 0: Sega VDP (16-bit noise)
|
// - 0: Sega VDP (16-bit noise)
|
||||||
// - 1: real SN76489 (15-bit noise)
|
// - 1: real SN76489 (15-bit noise)
|
||||||
// - 2: real SN76489 with Atari-like short noise buzz (15-bit noise)
|
// - 2: real SN76489 with Atari-like short noise buzz (15-bit noise)
|
||||||
// - 3: Game Gear (16-bit noise, stereo)
|
// - 3: Game Gear (16-bit noise, stereo)
|
||||||
|
// - bit 4: disable noise phase reset
|
||||||
// - YM2612:
|
// - YM2612:
|
||||||
// - bit 0-1: clock rate
|
// - bit 0-1: clock rate
|
||||||
// - 0: Genesis NTSC (7.67MHz)
|
// - 0: Genesis NTSC (7.67MHz)
|
||||||
|
|
|
@ -5688,7 +5688,7 @@ bool FurnaceGUI::loop() {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DIV_SYSTEM_SMS:
|
case DIV_SYSTEM_SMS: {
|
||||||
ImGui::Text("Clock rate:");
|
ImGui::Text("Clock rate:");
|
||||||
if (ImGui::RadioButton("NTSC (3.58MHz)",(flags&3)==0)) {
|
if (ImGui::RadioButton("NTSC (3.58MHz)",(flags&3)==0)) {
|
||||||
e->setSysFlags(i,(flags&(~3))|0,restart);
|
e->setSysFlags(i,(flags&(~3))|0,restart);
|
||||||
|
@ -5700,19 +5700,25 @@ bool FurnaceGUI::loop() {
|
||||||
e->setSysFlags(i,(flags&(~3))|2,restart);
|
e->setSysFlags(i,(flags&(~3))|2,restart);
|
||||||
}
|
}
|
||||||
ImGui::Text("Chip type:");
|
ImGui::Text("Chip type:");
|
||||||
if (ImGui::RadioButton("Sega VDP/Master System",(flags>>2)==0)) {
|
if (ImGui::RadioButton("Sega VDP/Master System",((flags>>2)&3)==0)) {
|
||||||
e->setSysFlags(i,(flags&3)|0,restart);
|
e->setSysFlags(i,(flags&(~12))|0,restart);
|
||||||
}
|
}
|
||||||
if (ImGui::RadioButton("TI SN76489",(flags>>2)==1)) {
|
if (ImGui::RadioButton("TI SN76489",((flags>>2)&3)==1)) {
|
||||||
e->setSysFlags(i,(flags&3)|4,restart);
|
e->setSysFlags(i,(flags&(~12))|4,restart);
|
||||||
}
|
}
|
||||||
if (ImGui::RadioButton("TI SN76489 with Atari-like short noise",(flags>>2)==2)) {
|
if (ImGui::RadioButton("TI SN76489 with Atari-like short noise",((flags>>2)&3)==2)) {
|
||||||
e->setSysFlags(i,(flags&3)|8,restart);
|
e->setSysFlags(i,(flags&(~12))|8,restart);
|
||||||
}
|
}
|
||||||
/*if (ImGui::RadioButton("Game Gear",(flags>>2)==3)) {
|
/*if (ImGui::RadioButton("Game Gear",(flags>>2)==3)) {
|
||||||
e->setSysFlags(i,(flags&3)|12);
|
e->setSysFlags(i,(flags&3)|12);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
bool noPhaseReset=flags&16;
|
||||||
|
if (ImGui::Checkbox("Disable noise period change phase reset",&noPhaseReset)) {
|
||||||
|
e->setSysFlags(i,(flags&(~16))|(noPhaseReset<<4),restart);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case DIV_SYSTEM_ARCADE:
|
case DIV_SYSTEM_ARCADE:
|
||||||
case DIV_SYSTEM_YM2151:
|
case DIV_SYSTEM_YM2151:
|
||||||
if (ImGui::RadioButton("NTSC (3.58MHz)",flags==0)) {
|
if (ImGui::RadioButton("NTSC (3.58MHz)",flags==0)) {
|
||||||
|
|
Loading…
Reference in a new issue