diff --git a/papers/doc/7-systems/README.md b/papers/doc/7-systems/README.md index e4b6cf5b..c4dc6d49 100644 --- a/papers/doc/7-systems/README.md +++ b/papers/doc/7-systems/README.md @@ -26,7 +26,7 @@ this is a list of systems that Furnace supports, including each system's effects - [Seta/Allumer X1-010](x1-010.md) - [WonderSwan](wonderswan.md) - [Bubble System WSG](bubblesystem.md) -- [Namco C163](n163.md) +- [Namco 163](n163.md) - [Namco WSG](namco.md) - [Yamaha OPL](opl.md) - [PC Speaker](pcspkr.md) diff --git a/papers/doc/7-systems/n163.md b/papers/doc/7-systems/n163.md index d3ece830..3c2f389f 100644 --- a/papers/doc/7-systems/n163.md +++ b/papers/doc/7-systems/n163.md @@ -1,24 +1,4 @@ -# - ANNOUNCEMENT - - -Start calling it C163! The TRUE name of the chip! - -The line will be consistent with your help: -- Namco C15 -- Namco C30 -- Namco C140 -- **Namco C163** -- Namco C219 -- Namco C352 - -The C names are official as indicated by: - -- MAME -- VGMPlay -- Korg × Bandai Namco (from Kamata info page) - -C stands for Custom! Call it C163! - -# Namco 163 (also called Namco C163, 106, 160 or 129) +# Namco 163 (also called N163, Namco C163, Namco 106 (sic), Namco 160 or Namco 129) This is one of Namco's NES mappers, with up to 8 wavetable channels. It has also 128 byte of internal RAM, and both channel register and wavetables are stored here. Wavetables are variable size and freely allocable anywhere in RAM, it means it can use part of or continuously pre-loaded waveform and its sequences in RAM. But waveform RAM area becomes smaller as more channels are activated; as channel registers consumes 8 bytes for each channel. You must avoid conflict with channel register area and waveform for avoid broken channel playback. diff --git a/src/engine/platform/gb.h b/src/engine/platform/gb.h index d4f6ca53..58cce880 100644 --- a/src/engine/platform/gb.h +++ b/src/engine/platform/gb.h @@ -32,6 +32,7 @@ class DivPlatformGB: public DivDispatch { bool active, insChanged, freqChanged, sweepChanged, keyOn, keyOff, inPorta; signed char vol, outVol, wave; unsigned char envVol, envDir, envLen, soundLen; + unsigned short hwSeqPos, hwSeqDelay; DivMacroInt std; void macroInit(DivInstrument* which) { std.init(which); @@ -59,7 +60,9 @@ class DivPlatformGB: public DivDispatch { envVol(0), envDir(0), envLen(0), - soundLen(0) {} + soundLen(0), + hwSeqPos(0), + hwSeqDelay(0) {} }; Channel chan[4]; DivDispatchOscBuffer* oscBuf[4]; diff --git a/src/gui/about.cpp b/src/gui/about.cpp index e65413fc..587aba84 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -135,7 +135,7 @@ const char* aboutLine[]={ "VICE VIC-20 sound core by Rami Rasanen and viznut", "VERA sound core by Frank van den Hoef", "K005289 emulator by cam900", - "Namco C163 emulator by cam900", + "Namco 163 emulator by cam900", "Seta X1-010 emulator by cam900", "Konami VRC6 emulator by cam900", "Konami SCC emulator by cam900", diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 6c0bb891..59c917ae 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -97,7 +97,7 @@ const char* insTypes[DIV_INS_MAX+1]={ "FM (OPL)", "FDS", "Virtual Boy", - "Namco C163", + "Namco 163", "Konami SCC/Bubble System WSG", "FM (OPZ)", "POKEY", diff --git a/src/gui/presets.cpp b/src/gui/presets.cpp index f8e7a522..571cda44 100644 --- a/src/gui/presets.cpp +++ b/src/gui/presets.cpp @@ -409,7 +409,7 @@ void FurnaceGUI::initSystemPresets() { } )); cat.systems.push_back(FurnaceGUISysDef( - "Namco C163", { + "Namco 163", { DIV_SYSTEM_N163, 64, 0, 0, 0 } @@ -617,7 +617,7 @@ void FurnaceGUI::initSystemPresets() { } )); cat.systems.push_back(FurnaceGUISysDef( - "Famicom with Namco C163", { + "Famicom with Namco 163", { DIV_SYSTEM_NES, 64, 0, 0, DIV_SYSTEM_N163, 64, 0, 112, 0 diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 2ad3ef23..73e9d233 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -1201,7 +1201,7 @@ void FurnaceGUI::drawSettings() { ImGui::Separator(); - ImGui::Text("N163/C163 chip name"); + ImGui::Text("Namco 163 chip name"); ImGui::SameLine(); ImGui::InputTextWithHint("##C163Name",DIV_C163_DEFAULT_NAME,&settings.c163Name); @@ -2028,7 +2028,6 @@ void FurnaceGUI::syncSettings() { settings.audioDevice=e->getConfString("audioDevice",""); settings.midiInDevice=e->getConfString("midiInDevice",""); settings.midiOutDevice=e->getConfString("midiOutDevice",""); - // I'm sorry, but the C163 education program has failed... settings.c163Name=e->getConfString("c163Name",DIV_C163_DEFAULT_NAME); settings.audioQuality=e->getConfInt("audioQuality",0); settings.audioBufSize=e->getConfInt("audioBufSize",1024);