parent
6fe8e73d7f
commit
45b6c19867
|
@ -11,7 +11,7 @@ however, effects are continuous, which means you only need to type it once and t
|
|||
- `04xy`: vibrato. `x` is the speed, while `y` is the depth.
|
||||
- maximum vibrato depth is ±1 semitone.
|
||||
- `08xy`: set panning. `x` is the left channel and `y` is the right one.
|
||||
- not all platforms support this effect.
|
||||
- not all systems support this effect.
|
||||
- `09xx`: set speed 1.
|
||||
- `0Axy`: volume slide.
|
||||
- if `x` is 0 then this is a slide down.
|
||||
|
@ -38,7 +38,7 @@ however, effects are continuous, which means you only need to type it once and t
|
|||
- range is ±1 semitone.
|
||||
- `EAxx`: toggle legato.
|
||||
- `EBxx`: set sample bank.
|
||||
- does not apply on Amiga platform.
|
||||
- does not apply on Amiga.
|
||||
- `ECxx`: note off after `xx` ticks.
|
||||
- `EDxx`: delay note by `xx` ticks.
|
||||
- `EExx`: send external command.
|
||||
|
@ -47,4 +47,4 @@ however, effects are continuous, which means you only need to type it once and t
|
|||
- this effect is rather weird. use with caution.
|
||||
- `80` is center.
|
||||
|
||||
additionally each system/platform has its own effects. more details in another section of the manual.
|
||||
additionally each system has its own effects. more details in another section of the manual.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# systems/platforms
|
||||
# systems
|
||||
|
||||
this is a list of systems (platforms) that Furnace supports, including each platform's effects.
|
||||
this is a list of systems that Furnace supports, including each system's effects.
|
||||
|
||||
- [Sega Genesis/Mega Drive](genesis.md)
|
||||
- [Sega Master System](sms.md)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Arcade (Yamaha YM2151/PCM)
|
||||
|
||||
this chip combination was used in the Sega OutRun, X and Y arcade boards, and perhaps a few others.
|
||||
the actual PCM chip had 16 channels, but the number has been cut to 5 in DefleMask for seemingly arbitrary reasons. a platform with all 16 channels may be coming soon.
|
||||
the actual PCM chip had 16 channels, but the number has been cut to 5 in DefleMask for seemingly arbitrary reasons. a system with all 16 channels may be coming soon.
|
||||
|
||||
# effects
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ this console is powered by two sound chips: the Yamaha YM2612 and a derivative o
|
|||
- this only works on channel 6.
|
||||
- `18xx`: toggle extended channel 3 mode.
|
||||
- 0 disables it and 1 enables it.
|
||||
- only in extended channel 3 platform.
|
||||
- only in extended channel 3 system.
|
||||
- `19xx`: set attack of all operators.
|
||||
- `1Axx`: set attack of operator 1.
|
||||
- `1Bxx`: set attack of operator 2.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Yamaha YM2151
|
||||
|
||||
the sound chip powering the Arcade platform, available for standalone use if you want to make X68000 music or pair it with a 16-channel Sega PCM when it comes.
|
||||
the sound chip powering the Arcade system, available for standalone use if you want to make X68000 music or pair it with a 16-channel Sega PCM when it comes.
|
||||
|
||||
# effects
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ its soundchip is a 3-in-1: FM, YM2149 (AY-3-8910 clone) and ADPCM in a single pa
|
|||
- `y` is the mutliplier.
|
||||
- `18xx`: toggle extended channel 2 mode.
|
||||
- 0 disables it and 1 enables it.
|
||||
- only in extended channel 2 platform.
|
||||
- only in extended channel 2 system.
|
||||
- `19xx`: set attack of all operators.
|
||||
- `1Axx`: set attack of operator 1.
|
||||
- `1Bxx`: set attack of operator 2.
|
||||
|
|
|
@ -19,7 +19,7 @@ one of two chips that powered the Sega Genesis.
|
|||
- this only works on channel 6.
|
||||
- `18xx`: toggle extended channel 3 mode.
|
||||
- 0 disables it and 1 enables it.
|
||||
- only in extended channel 3 platform.
|
||||
- only in extended channel 3 system.
|
||||
- `19xx`: set attack of all operators.
|
||||
- `1Axx`: set attack of operator 1.
|
||||
- `1Bxx`: set attack of operator 2.
|
||||
|
|
|
@ -8,4 +8,4 @@ this documentation is a work in progress! expect several sections to be incomple
|
|||
4. [instruments](4-instrument/README.md)
|
||||
5. [wavetables](5-wave/README.md)
|
||||
6. [samples](6-sample/README.md)
|
||||
7. [list of systems/platforms](7-systems/README.md)
|
||||
7. [list of systems](7-systems/README.md)
|
||||
|
|
|
@ -1930,8 +1930,8 @@ SafeWriter* DivEngine::saveFur() {
|
|||
SafeWriter* DivEngine::saveDMF() {
|
||||
// fail if more than one system
|
||||
if (song.systemLen!=1) {
|
||||
logE("cannot save multiple platforms in this format!\n");
|
||||
lastError="multiple platforms not possible on .dmf";
|
||||
logE("cannot save multiple systems in this format!\n");
|
||||
lastError="multiple systems not possible on .dmf";
|
||||
return NULL;
|
||||
}
|
||||
// fail if this is an YMU759 song
|
||||
|
@ -1942,8 +1942,8 @@ SafeWriter* DivEngine::saveDMF() {
|
|||
}
|
||||
// fail if the system is Furnace-exclusive
|
||||
if (systemToFile(song.system[0])&0x80) {
|
||||
logE("cannot save Furnace-exclusive platform song!\n");
|
||||
lastError="this platform is not possible on .dmf";
|
||||
logE("cannot save Furnace-exclusive system song!\n");
|
||||
lastError="this system is not possible on .dmf";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -658,7 +658,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
}
|
||||
ImGui::SliderScalar("Detune 2",ImGuiDataType_U8,&op.dt2,&_ZERO,&_THREE);
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Only for Arcade platform");
|
||||
ImGui::SetTooltip("Only for Arcade system");
|
||||
}
|
||||
bool ssgOn=op.ssgEnv&8;
|
||||
unsigned char ssgEnv=op.ssgEnv&7;
|
||||
|
@ -670,7 +670,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
op.ssgEnv=(op.ssgEnv&7)|(ssgOn<<3);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Only for Genesis and Neo Geo platforms");
|
||||
ImGui::SetTooltip("Only for Genesis and Neo Geo systems");
|
||||
}
|
||||
|
||||
bool amOn=op.am;
|
||||
|
@ -2862,7 +2862,7 @@ void FurnaceGUI::processDrags(int dragX, int dragY) {
|
|||
#define sysAddOption(x) \
|
||||
if (ImGui::MenuItem(e->getSystemName(x))) { \
|
||||
if (!e->addSystem(x)) { \
|
||||
showError("cannot add platform! ("+e->getLastError()+")"); \
|
||||
showError("cannot add system! ("+e->getLastError()+")"); \
|
||||
} \
|
||||
updateWindowTitle(); \
|
||||
}
|
||||
|
@ -2977,7 +2977,7 @@ bool FurnaceGUI::loop() {
|
|||
openFileDialog(GUI_FILE_SAVE);
|
||||
}
|
||||
ImGui::Separator();
|
||||
if (ImGui::BeginMenu("add platform...")) {
|
||||
if (ImGui::BeginMenu("add system...")) {
|
||||
sysAddOption(DIV_SYSTEM_GENESIS);
|
||||
sysAddOption(DIV_SYSTEM_GENESIS_EXT);
|
||||
sysAddOption(DIV_SYSTEM_SMS);
|
||||
|
@ -2998,7 +2998,7 @@ bool FurnaceGUI::loop() {
|
|||
sysAddOption(DIV_SYSTEM_AY8930);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
if (ImGui::BeginMenu("change platform...")) {
|
||||
if (ImGui::BeginMenu("change system...")) {
|
||||
for (int i=0; i<e->song.systemLen; i++) {
|
||||
if (ImGui::BeginMenu(fmt::sprintf("%d. %s##_SYSC%d",i+1,e->getSystemName(e->song.system[i]),i).c_str())) {
|
||||
sysChangeOption(i,DIV_SYSTEM_GENESIS);
|
||||
|
@ -3024,11 +3024,11 @@ bool FurnaceGUI::loop() {
|
|||
}
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
if (ImGui::BeginMenu("remove platform...")) {
|
||||
if (ImGui::BeginMenu("remove system...")) {
|
||||
for (int i=0; i<e->song.systemLen; i++) {
|
||||
if (ImGui::MenuItem(fmt::sprintf("%d. %s##_SYSR%d",i+1,e->getSystemName(e->song.system[i]),i).c_str())) {
|
||||
if (!e->removeSystem(i)) {
|
||||
showError("cannot remove platform! ("+e->getLastError()+")");
|
||||
showError("cannot remove system! ("+e->getLastError()+")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue