From ced471f7adad0950c3e128170c1882c7789b3fbe Mon Sep 17 00:00:00 2001 From: Felipe Correa da Silva Sanches Date: Wed, 12 Nov 2025 13:21:06 -0300 Subject: [PATCH 1/6] Layout for Access Virus C --- src/mame/access/acvirus.cpp | 41 +- src/mame/layout/virusc.lay | 1273 +++++++++++++++++++++++++++++++++++ 2 files changed, 1294 insertions(+), 20 deletions(-) create mode 100644 src/mame/layout/virusc.lay diff --git a/src/mame/access/acvirus.cpp b/src/mame/access/acvirus.cpp index f3d94709a765f..44f0b71b9eb93 100644 --- a/src/mame/access/acvirus.cpp +++ b/src/mame/access/acvirus.cpp @@ -79,6 +79,7 @@ #include "virusa.lh" #include "virusb.lh" +#include "virusc.lh" namespace { @@ -355,7 +356,7 @@ void acvirus_state::virusc(machine_config &config) m_dsp->set_hard_omr(0xe); PALETTE(config, "palette", FUNC(acvirus_state::red_palette_init), 2); - // TODO: config.set_default_layout(layout_virusc); + config.set_default_layout(layout_virusc); } @@ -499,7 +500,7 @@ INPUT_PORTS_START( virusc_knobs ) PORT_ADJUSTER(64, "Osc: Wave Sel / PW") PORT_MINMAX(0, 127) PORT_START("knob_13") - PORT_ADJUSTER(64, "Osc: Detune") PORT_MINMAX(0, 127) + PORT_ADJUSTER(64, "Osc: Detune 2/3") PORT_MINMAX(0, 127) PORT_START("knob_14") PORT_ADJUSTER(64, "Osc: FM Amount") PORT_MINMAX(0, 127) @@ -674,23 +675,23 @@ static INPUT_PORTS_START( virusc ) PORT_INCLUDE( virusc_knobs ) PORT_START("ROW0") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_1) PORT_NAME("ArpEdit") - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_2) PORT_NAME("ModFxEdit") - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_3) PORT_NAME("DelayEdit") // hold at boot: RAM test & key test - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_4) PORT_NAME("ArpSwitch") - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_5) PORT_NAME("ModFxSelect") - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_6) PORT_NAME("LFO: Edit") - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_7) PORT_NAME("LFO: Amount") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_1) PORT_NAME("Arp: Edit") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_2) PORT_NAME("Effects: Edit") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_3) PORT_NAME("Delay: Edit") // hold at boot: RAM test & key test + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_4) PORT_NAME("Arp: On") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_5) PORT_NAME("Effects: Select") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_6) PORT_NAME("LFOs/Mod: Edit") + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_7) PORT_NAME("LFOs/Mod: Amount") PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("ROW1") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_8) PORT_NAME("LFO: Select") - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_9) PORT_NAME("LFO: Shape") - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_0) PORT_NAME("Edit") - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_Q) PORT_NAME("Global") - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_W) PORT_NAME("OSC: Edit") - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_E) PORT_NAME("Sync") - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_R) PORT_NAME("OSC 1: Select") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_8) PORT_NAME("LFOs/Mod: Select") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_9) PORT_NAME("LFOs/Mod: Shape") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_0) PORT_NAME("Edit")//? + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_Q) PORT_NAME("Global")//? + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_W) PORT_NAME("Osc: Edit") + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_E) PORT_NAME("Osc: Sync") + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_R) PORT_NAME("Osc 1: Select") PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("ROW2") @@ -704,7 +705,7 @@ static INPUT_PORTS_START( virusc ) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("ROW3") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_A) PORT_NAME("OSC 2: Select") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_A) PORT_NAME("Osc 2: Select") PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_S) PORT_NAME("Part -") PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_D) PORT_NAME("Parameter <") PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_F) PORT_NAME("Value -") @@ -714,9 +715,9 @@ static INPUT_PORTS_START( virusc ) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED) PORT_START("ROW4") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_K) PORT_NAME("OSC 3: Select") - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_L) PORT_NAME("OSC 3: Switch") - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_Z) PORT_NAME("Filter Edit") + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_K) PORT_NAME("Osc 3: Select") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_L) PORT_NAME("Osc 3 On") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_Z) PORT_NAME("Filters: Edit") PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_X) PORT_NAME("Filter 1 Mode") // hold at boot: "GlobalBuff checks" PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_C) PORT_NAME("Filter 2 Mode") PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_CODE(KEYCODE_V) PORT_NAME("Filter 1 Select") diff --git a/src/mame/layout/virusc.lay b/src/mame/layout/virusc.lay new file mode 100644 index 0000000000000..d63b891ba9654 --- /dev/null +++ b/src/mame/layout/virusc.lay @@ -0,0 +1,1273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + ]]> + + + + + + + ]]> + + + + + + + ]]> + + + + + + + ]]> + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 888da348b0102ecbb915d3cfc7f461433f04a527 Mon Sep 17 00:00:00 2001 From: Felipe Correa da Silva Sanches Date: Sat, 15 Nov 2025 11:53:23 -0300 Subject: [PATCH 2/6] adjust color palette --- src/mame/layout/virusc.lay | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/mame/layout/virusc.lay b/src/mame/layout/virusc.lay index d63b891ba9654..2ffc62bbf1131 100644 --- a/src/mame/layout/virusc.lay +++ b/src/mame/layout/virusc.lay @@ -9,14 +9,14 @@ license:CC0-1.0 - + - - + + @@ -77,13 +77,10 @@ license:CC0-1.0 - + - - - - + + - - + + @@ -209,7 +207,7 @@ license:CC0-1.0 - + @@ -217,7 +215,7 @@ license:CC0-1.0 - + @@ -351,7 +349,7 @@ license:CC0-1.0 - + From 450f68914f02efb77fe20a7063fef48735f81c5a Mon Sep 17 00:00:00 2001 From: Felipe Correa da Silva Sanches Date: Sat, 15 Nov 2025 15:36:54 -0300 Subject: [PATCH 3/6] adding more details --- src/mame/layout/virusc.lay | 179 +++++++++++++++++++++++++++---------- 1 file changed, 132 insertions(+), 47 deletions(-) diff --git a/src/mame/layout/virusc.lay b/src/mame/layout/virusc.lay index 2ffc62bbf1131..d6304f0aaa1b8 100644 --- a/src/mame/layout/virusc.lay +++ b/src/mame/layout/virusc.lay @@ -166,6 +166,16 @@ license:CC0-1.0 + + + + @@ -250,17 +261,83 @@ license:CC0-1.0 - + + - + + + + ]]> + + + + + + + ]]> + + + + + ]]> + + + + + + + ]]> + + + + + + + ]]> + + + + + + + ]]> + + + + + + + ]]> + + @@ -445,7 +522,7 @@ license:CC0-1.0 - + @@ -460,7 +537,7 @@ license:CC0-1.0 - + @@ -472,17 +549,17 @@ license:CC0-1.0 - + - - + + - - + + @@ -537,8 +614,8 @@ license:CC0-1.0 - - + + @@ -579,7 +656,7 @@ license:CC0-1.0 - + @@ -591,7 +668,9 @@ license:CC0-1.0 - + + + @@ -712,7 +791,9 @@ license:CC0-1.0 - + + + @@ -766,28 +847,29 @@ license:CC0-1.0 - + - + - + - + - + + @@ -799,9 +881,9 @@ license:CC0-1.0 - + - + @@ -857,6 +939,7 @@ license:CC0-1.0 + @@ -889,6 +972,7 @@ license:CC0-1.0 + @@ -905,16 +989,16 @@ license:CC0-1.0 - + - + - + @@ -925,17 +1009,17 @@ license:CC0-1.0 - + - + - + @@ -964,31 +1048,32 @@ license:CC0-1.0 - + - + - + - + - + - - - + + + + @@ -1032,29 +1117,29 @@ license:CC0-1.0 - + - + - + - + - + - + - + - + - + From 21ae3208ee53f58b36afcaf91d0e8bef80ef5309 Mon Sep 17 00:00:00 2001 From: Felipe Correa da Silva Sanches Date: Sat, 15 Nov 2025 18:00:12 -0300 Subject: [PATCH 4/6] Saturation placeholder on Virus B layout --- src/mame/layout/virusb.lay | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/mame/layout/virusb.lay b/src/mame/layout/virusb.lay index 2b90414d882a0..a9454d7a2c9a5 100644 --- a/src/mame/layout/virusb.lay +++ b/src/mame/layout/virusb.lay @@ -168,6 +168,16 @@ license:CC0-1.0 + + + + From 07a1ca4f6f54a36ffdc1c1e176ef35c22b83043c Mon Sep 17 00:00:00 2001 From: Felipe Correa da Silva Sanches Date: Sat, 15 Nov 2025 18:41:27 -0300 Subject: [PATCH 5/6] final touches ;-) --- src/mame/layout/virusc.lay | 62 ++++++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 19 deletions(-) diff --git a/src/mame/layout/virusc.lay b/src/mame/layout/virusc.lay index d6304f0aaa1b8..bebc9ea31c275 100644 --- a/src/mame/layout/virusc.lay +++ b/src/mame/layout/virusc.lay @@ -140,6 +140,16 @@ license:CC0-1.0 + + + + + + + + + + @@ -307,6 +317,16 @@ license:CC0-1.0 ]]> + + + + + ]]> + + @@ -315,6 +335,16 @@ license:CC0-1.0 ]]> + + + + + ]]> + + @@ -549,17 +579,13 @@ license:CC0-1.0 - - - - @@ -879,7 +905,8 @@ license:CC0-1.0 - + + @@ -958,8 +985,7 @@ license:CC0-1.0 - - + @@ -979,13 +1005,13 @@ license:CC0-1.0 - + - + @@ -993,22 +1019,20 @@ license:CC0-1.0 - - + + - - - - - + + + + - - + @@ -1016,7 +1040,7 @@ license:CC0-1.0 - + From 503bc35bf4a0432eefc1cce2283ac9025fbbf3b6 Mon Sep 17 00:00:00 2001 From: Felipe Correa da Silva Sanches Date: Sun, 16 Nov 2025 00:56:42 -0300 Subject: [PATCH 6/6] fix button input mask --- src/mame/layout/virusc.lay | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mame/layout/virusc.lay b/src/mame/layout/virusc.lay index bebc9ea31c275..80baf4e6b648d 100644 --- a/src/mame/layout/virusc.lay +++ b/src/mame/layout/virusc.lay @@ -745,7 +745,7 @@ license:CC0-1.0 - +