summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2019-04-12 00:39:27 +0200
committer couriersud <couriersud@gmx.org>2019-04-12 00:44:22 +0200
commit1a3b85c781e5231d12bcf937294d52709bc4dd79 (patch)
treeb075467de20cdc03792f36196991d98d41d0ab46
parentbd365f5eab3ff38fd4cc30b0bbd35b35cea280e0 (diff)
zaccaria: Add frontiers to netlist audio and fix AY8910 interfacing.
The setup needs AY8910_RESISTOR_OUTPUT. Frontiers boosted performance.
-rw-r--r--src/mame/audio/nl_zac1b11142.cpp24
-rw-r--r--src/mame/audio/zaccaria.cpp2
2 files changed, 19 insertions, 7 deletions
diff --git a/src/mame/audio/nl_zac1b11142.cpp b/src/mame/audio/nl_zac1b11142.cpp
index ff4a4174dfc..41af8233c1d 100644
--- a/src/mame/audio/nl_zac1b11142.cpp
+++ b/src/mame/audio/nl_zac1b11142.cpp
@@ -9,6 +9,7 @@
#endif
+#define USE_FRONTIERS 1
NETLIST_START(zac1b11142_schematics)
@@ -279,22 +280,19 @@ NETLIST_END()
NETLIST_START(zac1b11142)
- //SOLVER(Solver, 48000)
SOLVER(Solver, 48000)
- //PARAM(Solver.ACCURACY, 1e-10)
- PARAM(Solver.ACCURACY, 1e-6)
- PARAM(Solver.NR_LOOPS, 3000)
+ PARAM(Solver.ACCURACY, 1e-7)
+ PARAM(Solver.NR_LOOPS, 300)
PARAM(Solver.METHOD, "MAT_CR")
- PARAM(Solver.PARALLEL, 2)
+ PARAM(Solver.PARALLEL, 4)
PARAM(Solver.DYNAMIC_TS, 0)
- PARAM(Solver.DYNAMIC_LTE, 5e-4)
+ PARAM(Solver.DYNAMIC_LTE, 5e-2)
PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-7)
LOCAL_SOURCE(zac1b11142_schematics)
ANALOG_INPUT(I_P12, 11.3) // +12V dropped with a 1N4004
ANALOG_INPUT(I_P5, 5)
- //ANALOG_INPUT(I_V0, 0)
ANALOG_INPUT(I_M5, -5)
ALIAS(VCC, I_P5.Q)
ALIAS(I_V0.Q, GND)
@@ -347,4 +345,16 @@ NETLIST_START(zac1b11142)
// FIXME: connect other sounds to netlist as well for proper mixing
// FIXME: make P1 controllable by mame ui (see pong for an example)
+
+ #if (USE_FRONTIERS)
+ OPTIMIZE_FRONTIER(R124.1, RES_K(39), 50)
+ OPTIMIZE_FRONTIER(R105.1, RES_K(56), 50)
+ OPTIMIZE_FRONTIER(R106.1, RES_K(68), 50)
+ // R80 not connected
+ //OPTIMIZE_FRONTIER(R80.1, RES_K(10), 50)
+
+ OPTIMIZE_FRONTIER(R90.1, RES_K(68), 50)
+ OPTIMIZE_FRONTIER(R96.1, RES_K(4.7), 50)
+ #endif
+
NETLIST_END()
diff --git a/src/mame/audio/zaccaria.cpp b/src/mame/audio/zaccaria.cpp
index cc2a102ee72..666fc5351eb 100644
--- a/src/mame/audio/zaccaria.cpp
+++ b/src/mame/audio/zaccaria.cpp
@@ -413,12 +413,14 @@ void zac1b11142_audio_device::device_add_mconfig(machine_config &config)
m_melodypsg1->add_route(0, "sound_nl", 1.0, 0);
m_melodypsg1->add_route(1, "sound_nl", 1.0, 1);
m_melodypsg1->add_route(2, "sound_nl", 1.0, 2);
+ m_melodypsg1->set_flags(AY8910_RESISTOR_OUTPUT);
m_melodypsg2->port_a_write_callback().set(FUNC(zac1b11142_audio_device::ay_4h_porta_w));
m_melodypsg2->port_b_write_callback().set(FUNC(zac1b11142_audio_device::ay_4h_portb_w));
m_melodypsg2->add_route(0, "sound_nl", 1.0, 3);
m_melodypsg2->add_route(1, "sound_nl", 1.0, 4);
m_melodypsg2->add_route(2, "sound_nl", 1.0, 5);
+ m_melodypsg2->set_flags(AY8910_RESISTOR_OUTPUT);
M6802(config, m_audiocpu, XTAL(3'579'545)); // verified on pcb
m_audiocpu->set_addrmap(AS_PROGRAM, &zac1b11142_audio_device::zac1b11142_audio_map);