Merge branch 'x16' of https://github.com/AYCEdemo/furnace into x16
This commit is contained in:
commit
85b9f340a9
13 changed files with 583 additions and 15 deletions
|
|
@ -4739,6 +4739,7 @@ bool FurnaceGUI::loop() {
|
|||
sysAddOption(DIV_SYSTEM_LYNX);
|
||||
sysAddOption(DIV_SYSTEM_QSOUND);
|
||||
sysAddOption(DIV_SYSTEM_SWAN);
|
||||
sysAddOption(DIV_SYSTEM_VERA);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
if (ImGui::BeginMenu("configure system...")) {
|
||||
|
|
@ -4857,7 +4858,7 @@ bool FurnaceGUI::loop() {
|
|||
break;
|
||||
}
|
||||
case DIV_SYSTEM_YM2151:
|
||||
if (ImGui::RadioButton("NTSC (3.58MHz)",flags==0)) {
|
||||
if (ImGui::RadioButton("NTSC/X16 (3.58MHz)",flags==0)) {
|
||||
e->setSysFlags(i,0,restart);
|
||||
updateWindowTitle();
|
||||
}
|
||||
|
|
@ -5033,6 +5034,7 @@ bool FurnaceGUI::loop() {
|
|||
}
|
||||
case DIV_SYSTEM_GB:
|
||||
case DIV_SYSTEM_SWAN:
|
||||
case DIV_SYSTEM_VERA:
|
||||
case DIV_SYSTEM_YM2610:
|
||||
case DIV_SYSTEM_YM2610_EXT:
|
||||
case DIV_SYSTEM_YM2610_FULL:
|
||||
|
|
@ -5092,6 +5094,7 @@ bool FurnaceGUI::loop() {
|
|||
sysChangeOption(i,DIV_SYSTEM_LYNX);
|
||||
sysChangeOption(i,DIV_SYSTEM_QSOUND);
|
||||
sysChangeOption(i,DIV_SYSTEM_SWAN);
|
||||
sysChangeOption(i,DIV_SYSTEM_VERA);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
}
|
||||
|
|
@ -6636,6 +6639,13 @@ FurnaceGUI::FurnaceGUI():
|
|||
0
|
||||
}
|
||||
));*/
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Commander X16", {
|
||||
DIV_SYSTEM_YM2151, 64, 0, 0,
|
||||
DIV_SYSTEM_VERA, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Arcade systems");
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#include <imgui.h>
|
||||
#include "plot_nolerp.h"
|
||||
|
||||
const char* insTypes[24]={
|
||||
const char* insTypes[25]={
|
||||
"Standard",
|
||||
"FM (4-operator)",
|
||||
"Game Boy",
|
||||
|
|
@ -51,7 +51,8 @@ const char* insTypes[24]={
|
|||
"POKEY",
|
||||
"PC Beeper",
|
||||
"WonderSwan",
|
||||
"Atari Lynx"
|
||||
"Atari Lynx",
|
||||
"VERA"
|
||||
};
|
||||
|
||||
const char* ssgEnvTypes[8]={
|
||||
|
|
@ -791,9 +792,9 @@ void FurnaceGUI::drawInsEdit() {
|
|||
} else {
|
||||
DivInstrument* ins=e->song.ins[curIns];
|
||||
ImGui::InputText("Name",&ins->name);
|
||||
if (ins->type<0 || ins->type>23) ins->type=DIV_INS_FM;
|
||||
if (ins->type<0 || ins->type>24) ins->type=DIV_INS_FM;
|
||||
int insType=ins->type;
|
||||
if (ImGui::Combo("Type",&insType,insTypes,24,24)) {
|
||||
if (ImGui::Combo("Type",&insType,insTypes,25,24)) {
|
||||
ins->type=(DivInstrumentType)insType;
|
||||
}
|
||||
|
||||
|
|
@ -1355,7 +1356,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
float loopIndicator[256];
|
||||
const char* volumeLabel="Volume";
|
||||
|
||||
int volMax=(ins->type==DIV_INS_PCE || ins->type==DIV_INS_AY8930)?31:15;
|
||||
int volMax=15;
|
||||
int volMin=0;
|
||||
if (ins->type==DIV_INS_C64) {
|
||||
if (ins->c64.volIsCutoff) {
|
||||
|
|
@ -1368,6 +1369,12 @@ void FurnaceGUI::drawInsEdit() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if ((ins->type==DIV_INS_PCE || ins->type==DIV_INS_AY8930)) {
|
||||
volMax=31;
|
||||
}
|
||||
if (ins->type==DIV_INS_VERA) {
|
||||
volMax=63;
|
||||
}
|
||||
if (ins->type==DIV_INS_AMIGA) {
|
||||
volMax=64;
|
||||
}
|
||||
|
|
@ -1381,7 +1388,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
bool arpMode=ins->std.arpMacroMode;
|
||||
|
||||
const char* dutyLabel="Duty/Noise";
|
||||
int dutyMax=(ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930)?31:3;
|
||||
int dutyMax=3;
|
||||
if (ins->type==DIV_INS_C64) {
|
||||
dutyLabel="Duty";
|
||||
if (ins->c64.dutyIsAbs) {
|
||||
|
|
@ -1393,6 +1400,9 @@ void FurnaceGUI::drawInsEdit() {
|
|||
if (ins->type==DIV_INS_FM) {
|
||||
dutyMax=32;
|
||||
}
|
||||
if ((ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930)) {
|
||||
dutyMax=31;
|
||||
}
|
||||
if (ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || ins->type==DIV_INS_FM) {
|
||||
dutyLabel="Noise Freq";
|
||||
}
|
||||
|
|
@ -1416,9 +1426,13 @@ void FurnaceGUI::drawInsEdit() {
|
|||
if (ins->type==DIV_INS_OPLL || ins->type==DIV_INS_OPL) {
|
||||
dutyMax=0;
|
||||
}
|
||||
if (ins->type==DIV_INS_VERA) {
|
||||
dutyLabel="Duty";
|
||||
dutyMax=63;
|
||||
}
|
||||
bool dutyIsRel=(ins->type==DIV_INS_C64 && !ins->c64.dutyIsAbs);
|
||||
|
||||
int waveMax=(ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930)?3:63;
|
||||
int waveMax=(ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || ins->type==DIV_INS_VERA)?3:63;
|
||||
bool bitMode=false;
|
||||
if (ins->type==DIV_INS_C64 || ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || ins->type==DIV_INS_SAA1099) {
|
||||
bitMode=true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue