Changed cocoloco to netlist output. Emulation ends at amplifier input.

This commit is contained in:
Couriersud 2014-05-12 22:31:22 +00:00
parent 3ee013fa3d
commit 6b0b281570

View File

@ -77,6 +77,8 @@
#include "emu.h"
#include "cpu/m6502/m6502.h"
#include "sound/ay8910.h"
#include "machine/netlist.h"
#include "netlist/devices/net_lib.h"
class cocoloco_state : public driver_device
@ -102,6 +104,52 @@ public:
required_device<palette_device> m_palette;
};
/***********************************
* Sound Hardware *
***********************************/
static NETLIST_START(nl_cocoloco)
/* Standard stuff */
SOLVER(Solver, 48000)
PARAM(Solver.ACCURACY, 1e-5)
ANALOG_INPUT(V5, 5)
/* AY 8910 internal resistors */
RES(R_AY1_1, 1000);
RES(R_AY1_2, 1000);
RES(R_AY1_3, 1000);
RES(R1, 4700)
RES(R2, 4700)
RES(R3, 4700)
RES(RAMP, 150000)
//RES(RAMP, 150)
POT(P1, 5000)
PARAM(P1.DIAL, 0.5) // 50%
CAP(C1, 10e-6)
NET_C(V5, R_AY1_1.1, R_AY1_2.1, R_AY1_3.1)
NET_C(R_AY1_1.2, R1.1)
NET_C(R_AY1_2.2, R2.1)
NET_C(R_AY1_3.2, R3.1)
NET_C(R1.2, R2.2, R3.2, P1.1)
NET_C(P1.3, RAMP.2, GND)
NET_C(P1.2, C1.1)
NET_C(C1.2, RAMP.1)
#if 0
CAP(C2, 0.1e-6)
NET_C(C2.2, GND)
NET_C(C2.1, RAMP.1)
#endif
NETLIST_END()
/***********************************
* Video Hardware *
@ -328,7 +376,25 @@ static MACHINE_CONFIG_START( cocoloco, cocoloco_state )
MCFG_SOUND_ADD("ay8910", AY8910, SND_CLOCK) /* confirmed */
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1"))
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2"))
MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT)
MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0)
MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1)
MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2)
/* NETLIST configuration using internal AY8910 resistor values */
MCFG_SOUND_ADD("snd_nl", NETLIST_SOUND, 48000)
MCFG_NETLIST_SETUP(nl_cocoloco)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_NETLIST_STREAM_INPUT("snd_nl", 0, "R_AY1_1.R")
MCFG_NETLIST_STREAM_INPUT("snd_nl", 1, "R_AY1_2.R")
MCFG_NETLIST_STREAM_INPUT("snd_nl", 2, "R_AY1_3.R")
MCFG_NETLIST_STREAM_OUTPUT("snd_nl", 0, "RAMP.1")
MCFG_NETLIST_ANALOG_MULT_OFFSET(30000.0 * 1.5, 0)
#if 0
// MCFG_SOUND_ROUTE(0, "mono", 0.75)
// MCFG_SOUND_ROUTE(1, "mono", 1.40)
// MCFG_SOUND_ROUTE(2, "mono", 0.75)
@ -337,6 +403,7 @@ static MACHINE_CONFIG_START( cocoloco, cocoloco_state )
MCFG_SOUND_ROUTE(0, "mono", 1.50)
MCFG_SOUND_ROUTE(1, "mono", 4.50)
MCFG_SOUND_ROUTE(2, "mono", 1.50)
#endif
MACHINE_CONFIG_END