Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (70 commits) whoops GUI: AY8930 credits GUI: fix inability to close subsongs BANK OPN: wire up ExtCh system fix build failure dev95 - multiple songs in a single file (READ) DO NOT USE - THIS FAILS - WORK IN PROGRESS enforce asset limits old .dmf loading improvements add AICA and YMZ ADPCM formats allocate ID for YMZ280B harden .fur file saver Fix AY VGM output, Fix presets preparations for UI improvements GUI: add more presets prepare for ExtCh OPN/OPNA GUI: clarify that lock layout doesn't work yet GUI: remember last state of order edit mode GUI: store edit/followOrders/followPattern state ... # Conflicts: # src/engine/fileOps.cpp # src/engine/platform/ym2610.cpp # src/engine/platform/ym2610b.cpp # src/engine/sample.cpp # src/engine/sample.h # src/engine/sysDef.cpp # src/gui/doAction.cpp # src/gui/sysConf.cpp
This commit is contained in:
commit
028adf2c8e
84 changed files with 7825 additions and 1146 deletions
|
|
@ -31,27 +31,41 @@
|
|||
// ));
|
||||
|
||||
void FurnaceGUI::initSystemPresets() {
|
||||
sysCategories.clear();
|
||||
|
||||
FurnaceGUISysCategory cat;
|
||||
|
||||
cat=FurnaceGUISysCategory("FM");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2612", {
|
||||
DIV_SYSTEM_YM2612, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2612 (extended channel 3)", {
|
||||
DIV_SYSTEM_YM2612_EXT, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat=FurnaceGUISysCategory("FM","chips which use frequency modulation (FM) to generate sound.\nsome of these also pack more (like square and sample channels).");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2151", {
|
||||
DIV_SYSTEM_YM2151, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2203", {
|
||||
DIV_SYSTEM_OPN, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2203 (extended channel 3)", {
|
||||
DIV_SYSTEM_OPN_EXT, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2608", {
|
||||
DIV_SYSTEM_PC98, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2608 (extended channel 3)", {
|
||||
DIV_SYSTEM_PC98_EXT, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2610", {
|
||||
DIV_SYSTEM_YM2610_FULL, 64, 0, 0,
|
||||
|
|
@ -76,6 +90,18 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2612", {
|
||||
DIV_SYSTEM_YM2612, 64, 0, (int)0x80000000,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2612 (extended channel 3)", {
|
||||
DIV_SYSTEM_YM2612_EXT, 64, 0, (int)0x80000000,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2413", {
|
||||
DIV_SYSTEM_OPLL, 64, 0, 0,
|
||||
|
|
@ -94,6 +120,18 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM3438", {
|
||||
DIV_SYSTEM_YM2612, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM3438 (extended channel 3)", {
|
||||
DIV_SYSTEM_YM2612_EXT, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM3526", {
|
||||
DIV_SYSTEM_OPL, 64, 0, 0,
|
||||
|
|
@ -106,6 +144,18 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha Y8950", {
|
||||
DIV_SYSTEM_Y8950, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha Y8950 (drums mode)", {
|
||||
DIV_SYSTEM_Y8950_DRUMS, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM3812", {
|
||||
DIV_SYSTEM_OPL2, 64, 0, 0,
|
||||
|
|
@ -130,11 +180,25 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
if (settings.hiddenSystems) {
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YMU759", {
|
||||
DIV_SYSTEM_YMU759, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
}
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Square");
|
||||
cat=FurnaceGUISysCategory("Square","these chips generate square/pulse tones only (but may include noise).");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"TI SN76489", {
|
||||
DIV_SYSTEM_SMS, 64, 0, 4,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Sega PSG (SN76489-like)", {
|
||||
DIV_SYSTEM_SMS, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
|
|
@ -145,15 +209,33 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Yamaha YM2149(F)", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 16,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Philips SAA1099", {
|
||||
DIV_SYSTEM_SAA1099, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"PC Speaker", {
|
||||
DIV_SYSTEM_PCSPKR, 32, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Commodore VIC", {
|
||||
DIV_SYSTEM_VIC20, 64, 0, 1,
|
||||
0
|
||||
}
|
||||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Sample");
|
||||
cat=FurnaceGUISysCategory("Sample","chips/systems which use PCM or ADPCM samples for sound synthesis.");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Amiga", {
|
||||
DIV_SYSTEM_AMIGA, 64, 0, 0,
|
||||
|
|
@ -186,7 +268,129 @@ void FurnaceGUI::initSystemPresets() {
|
|||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Game consoles");
|
||||
cat=FurnaceGUISysCategory("Wavetable","chips which use user-specified waveforms to generate sound.");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"PC Engine", {
|
||||
DIV_SYSTEM_PCE, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Commodore PET (pseudo-wavetable)", {
|
||||
DIV_SYSTEM_PET, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Konami Bubble System WSG", {
|
||||
DIV_SYSTEM_BUBSYS_WSG, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Konami SCC", {
|
||||
DIV_SYSTEM_SCC, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Konami SCC+", {
|
||||
DIV_SYSTEM_SCC_PLUS, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Namco 163", {
|
||||
DIV_SYSTEM_N163, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Famicom Disk System (chip)", {
|
||||
DIV_SYSTEM_FDS, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"WonderSwan", {
|
||||
DIV_SYSTEM_SWAN, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Seta/Allumer X1-010", {
|
||||
DIV_SYSTEM_X1_010, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Specialized","chips/systems with unique sound synthesis methods.");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MOS Technology SID (6581)", {
|
||||
DIV_SYSTEM_C64_6581, 64, 0, 1,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MOS Technology SID (8580)", {
|
||||
DIV_SYSTEM_C64_8580, 64, 0, 1,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Microchip AY8930", {
|
||||
DIV_SYSTEM_AY8930, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Game Boy", {
|
||||
DIV_SYSTEM_GB, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Atari Lynx", {
|
||||
DIV_SYSTEM_LYNX, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Atari TIA", {
|
||||
DIV_SYSTEM_TIA, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Commander X16 (VERA only)", {
|
||||
DIV_SYSTEM_VERA, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"ZX Spectrum (beeper only)", {
|
||||
DIV_SYSTEM_SFX_BEEPER, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
if (settings.hiddenSystems) {
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Dummy System", {
|
||||
DIV_SYSTEM_DUMMY, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"tildearrow Sound Unit", {
|
||||
DIV_SYSTEM_SOUND_UNIT, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
}
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Game consoles","let's play some chiptune making games!");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Sega Genesis", {
|
||||
DIV_SYSTEM_YM2612, 64, 0, 0,
|
||||
|
|
@ -263,7 +467,7 @@ void FurnaceGUI::initSystemPresets() {
|
|||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"NES with Sunsoft 5B", {
|
||||
DIV_SYSTEM_NES, 64, 0, 0,
|
||||
DIV_SYSTEM_AY8910, 64, 0, 38,
|
||||
DIV_SYSTEM_AY8910, 64, 0, 32,
|
||||
0
|
||||
}
|
||||
));
|
||||
|
|
@ -345,7 +549,7 @@ void FurnaceGUI::initSystemPresets() {
|
|||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Computers");
|
||||
cat=FurnaceGUISysCategory("Computers","let's get to work on chiptune today.");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Commodore PET", {
|
||||
DIV_SYSTEM_PET, 64, 0, 0,
|
||||
|
|
@ -417,6 +621,20 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MSX + MSX-AUDIO", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 16,
|
||||
DIV_SYSTEM_Y8950, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MSX + MSX-AUDIO (drums mode)", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 16,
|
||||
DIV_SYSTEM_Y8950_DRUMS, 64, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MSX + MSX-MUSIC", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 16,
|
||||
|
|
@ -431,6 +649,15 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MSX + Darky", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 16,
|
||||
DIV_SYSTEM_AY8930, 64, 0, 139, // 3.58MHz
|
||||
DIV_SYSTEM_AY8930, 64, 0, 139, // 3.58MHz or 3.6MHz selectable via register
|
||||
// per-channel mixer (soft panning, post processing) isn't emulated at all
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"MSX + SCC", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 16,
|
||||
|
|
@ -445,6 +672,30 @@ void FurnaceGUI::initSystemPresets() {
|
|||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"NEC PC-98 (with PC-9801-26K)", {
|
||||
DIV_SYSTEM_OPN, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"NEC PC-98 (with PC-9801-26K; extended channel 3)", {
|
||||
DIV_SYSTEM_OPN_EXT, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"NEC PC-98 (with PC-9801-86)", {
|
||||
DIV_SYSTEM_PC98, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"NEC PC-98 (with PC-9801-86; extended channel 3)", {
|
||||
DIV_SYSTEM_PC98_EXT, 64, 0, 3,
|
||||
0
|
||||
}
|
||||
));
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"ZX Spectrum (48K)", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 2,
|
||||
|
|
@ -605,13 +856,13 @@ void FurnaceGUI::initSystemPresets() {
|
|||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Commander X16", {
|
||||
DIV_SYSTEM_VERA, 64, 0, 0,
|
||||
DIV_SYSTEM_YM2151, 64, 0, 0,
|
||||
DIV_SYSTEM_YM2151, 32, 0, 0,
|
||||
0
|
||||
}
|
||||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("Arcade systems");
|
||||
cat=FurnaceGUISysCategory("Arcade systems","INSERT COIN");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Bally Midway MCR", {
|
||||
DIV_SYSTEM_AY8910, 64, 0, 0,
|
||||
|
|
@ -693,7 +944,7 @@ void FurnaceGUI::initSystemPresets() {
|
|||
));
|
||||
sysCategories.push_back(cat);
|
||||
|
||||
cat=FurnaceGUISysCategory("DefleMask-compatible");
|
||||
cat=FurnaceGUISysCategory("DefleMask-compatible","these configurations are compatible with DefleMask.\nselect this if you need to save as .dmf or work with that program.");
|
||||
cat.systems.push_back(FurnaceGUISysDef(
|
||||
"Sega Genesis", {
|
||||
DIV_SYSTEM_YM2612, 64, 0, 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue