mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
Changed cocoloco to netlist output. Emulation ends at amplifier input.
This commit is contained in:
parent
3ee013fa3d
commit
6b0b281570
@ -77,6 +77,8 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
#include "sound/ay8910.h"
|
#include "sound/ay8910.h"
|
||||||
|
#include "machine/netlist.h"
|
||||||
|
#include "netlist/devices/net_lib.h"
|
||||||
|
|
||||||
|
|
||||||
class cocoloco_state : public driver_device
|
class cocoloco_state : public driver_device
|
||||||
@ -102,6 +104,52 @@ public:
|
|||||||
required_device<palette_device> m_palette;
|
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 *
|
* Video Hardware *
|
||||||
@ -328,7 +376,25 @@ static MACHINE_CONFIG_START( cocoloco, cocoloco_state )
|
|||||||
MCFG_SOUND_ADD("ay8910", AY8910, SND_CLOCK) /* confirmed */
|
MCFG_SOUND_ADD("ay8910", AY8910, SND_CLOCK) /* confirmed */
|
||||||
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1"))
|
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1"))
|
||||||
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2"))
|
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(0, "mono", 0.75)
|
||||||
// MCFG_SOUND_ROUTE(1, "mono", 1.40)
|
// MCFG_SOUND_ROUTE(1, "mono", 1.40)
|
||||||
// MCFG_SOUND_ROUTE(2, "mono", 0.75)
|
// 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(0, "mono", 1.50)
|
||||||
MCFG_SOUND_ROUTE(1, "mono", 4.50)
|
MCFG_SOUND_ROUTE(1, "mono", 4.50)
|
||||||
MCFG_SOUND_ROUTE(2, "mono", 1.50)
|
MCFG_SOUND_ROUTE(2, "mono", 1.50)
|
||||||
|
#endif
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user