mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
got rid of tmpz84c011 ctc trampolines
This commit is contained in:
parent
bf43a3db23
commit
70bf1b601e
@ -40,11 +40,7 @@ tmpz84c011_device::tmpz84c011_device(const machine_config &mconfig, const char *
|
||||
m_inportsb(*this),
|
||||
m_inportsc(*this),
|
||||
m_inportsd(*this),
|
||||
m_inportse(*this),
|
||||
m_intr_cb(*this),
|
||||
m_zc0_cb(*this),
|
||||
m_zc1_cb(*this),
|
||||
m_zc2_cb(*this)
|
||||
m_inportse(*this)
|
||||
{
|
||||
memset(m_pio_dir, 0, 5);
|
||||
memset(m_pio_latch, 0, 5);
|
||||
@ -72,11 +68,6 @@ void tmpz84c011_device::device_start()
|
||||
m_inportsd.resolve_safe(0);
|
||||
m_inportse.resolve_safe(0);
|
||||
|
||||
m_intr_cb.resolve_safe();
|
||||
m_zc0_cb.resolve_safe();
|
||||
m_zc1_cb.resolve_safe();
|
||||
m_zc2_cb.resolve_safe();
|
||||
|
||||
// register for save states
|
||||
save_item(NAME(m_pio_dir[0]));
|
||||
save_item(NAME(m_pio_latch[0]));
|
||||
@ -214,18 +205,17 @@ WRITE8_MEMBER(tmpz84c011_device::tmpz84c011_dir_pe_w)
|
||||
}
|
||||
|
||||
|
||||
WRITE_LINE_MEMBER( tmpz84c011_device::intr_cb_trampoline_w ) { m_intr_cb(state); }
|
||||
WRITE_LINE_MEMBER( tmpz84c011_device::zc0_cb_trampoline_w ) { m_zc0_cb(state); }
|
||||
WRITE_LINE_MEMBER( tmpz84c011_device::zc1_cb_trampoline_w ) { m_zc1_cb(state); }
|
||||
WRITE_LINE_MEMBER( tmpz84c011_device::zc2_cb_trampoline_w ) { m_zc2_cb(state); }
|
||||
|
||||
static const z80_daisy_config daisy_chain[] =
|
||||
{
|
||||
{ "ctc" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( tmpz84c011 )
|
||||
MCFG_DEVICE_ADD("ctc", Z80CTC, DERIVED_CLOCK(1,1) )
|
||||
MCFG_Z80CTC_INTR_CB(WRITELINE(tmpz84c011_device, intr_cb_trampoline_w))
|
||||
MCFG_Z80CTC_ZC0_CB(WRITELINE(tmpz84c011_device, zc0_cb_trampoline_w))
|
||||
MCFG_Z80CTC_ZC1_CB(WRITELINE(tmpz84c011_device, zc1_cb_trampoline_w))
|
||||
MCFG_Z80CTC_ZC2_CB(WRITELINE(tmpz84c011_device, zc2_cb_trampoline_w))
|
||||
MCFG_Z80CTC_INTR_CB(INPUTLINE(DEVICE_SELF, INPUT_LINE_IRQ0))
|
||||
MCFG_CPU_MODIFY(DEVICE_SELF)
|
||||
MCFG_CPU_CONFIG(daisy_chain)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor tmpz84c011_device::device_mconfig_additions() const
|
||||
|
@ -7,8 +7,9 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "z80.h"
|
||||
#include "machine/z80ctc.h"
|
||||
|
||||
|
||||
// NOTE: for CTC callbacks, see machine/z80ctc.h
|
||||
// TMPZ84C011 PIO callbacks
|
||||
#define MCFG_TMPZ84C011_PORTA_READ_CB(_devcb) \
|
||||
devcb = &tmpz84c011_device::set_inportsa_cb(*device, DEVCB_##_devcb);
|
||||
@ -42,20 +43,6 @@
|
||||
devcb = &tmpz84c011_device::set_outportse_cb(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
// CTC callbacks
|
||||
#define MCFG_TMPZ84C011_Z80CTC_INTR_CB(_devcb) \
|
||||
devcb = &tmpz84c011_device::set_intr_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
|
||||
#define MCFG_TMPZ84C011_Z80CTC_ZC0_CB(_devcb) \
|
||||
devcb = &tmpz84c011_device::set_zc0_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TMPZ84C011_Z80CTC_ZC1_CB(_devcb) \
|
||||
devcb = &tmpz84c011_device::set_zc1_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_TMPZ84C011_Z80CTC_ZC2_CB(_devcb) \
|
||||
devcb = &tmpz84c011_device::set_zc2_callback(*device, DEVCB_##_devcb);
|
||||
|
||||
class tmpz84c011_device : public z80_device
|
||||
{
|
||||
public:
|
||||
@ -73,11 +60,6 @@ public:
|
||||
template<class _Object> static devcb_base & set_inportsd_cb(device_t &device, _Object object) { return downcast<tmpz84c011_device &>(device).m_inportsd.set_callback(object); }
|
||||
template<class _Object> static devcb_base & set_inportse_cb(device_t &device, _Object object) { return downcast<tmpz84c011_device &>(device).m_inportse.set_callback(object); }
|
||||
|
||||
template<class _Object> static devcb_base &set_intr_callback(device_t &device, _Object object) { return downcast<tmpz84c011_device &>(device).m_intr_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_zc0_callback(device_t &device, _Object object) { return downcast<tmpz84c011_device &>(device).m_zc0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_zc1_callback(device_t &device, _Object object) { return downcast<tmpz84c011_device &>(device).m_zc1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb_base &set_zc2_callback(device_t &device, _Object object) { return downcast<tmpz84c011_device &>(device).m_zc2_cb.set_callback(object); }
|
||||
|
||||
DECLARE_READ8_MEMBER(tmpz84c011_pa_r);
|
||||
DECLARE_READ8_MEMBER(tmpz84c011_pb_r);
|
||||
DECLARE_READ8_MEMBER(tmpz84c011_pc_r);
|
||||
@ -99,11 +81,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(tmpz84c011_dir_pd_w);
|
||||
DECLARE_WRITE8_MEMBER(tmpz84c011_dir_pe_w);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(intr_cb_trampoline_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(zc0_cb_trampoline_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(zc1_cb_trampoline_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(zc2_cb_trampoline_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
@ -136,11 +113,6 @@ private:
|
||||
devcb_read8 m_inportsc;
|
||||
devcb_read8 m_inportsd;
|
||||
devcb_read8 m_inportse;
|
||||
|
||||
devcb_write_line m_intr_cb; // interrupt callback
|
||||
devcb_write_line m_zc0_cb; // channel 0 zero crossing callbacks
|
||||
devcb_write_line m_zc1_cb; // channel 1 zero crossing callbacks
|
||||
devcb_write_line m_zc2_cb; // channel 2 zero crossing callbacks
|
||||
};
|
||||
|
||||
extern const device_type TMPZ84C011;
|
||||
|
@ -60,9 +60,12 @@ void z80_daisy_chain::init(device_t *cpudevice, const z80_daisy_config *daisy)
|
||||
for ( ; daisy->devname != NULL; daisy++)
|
||||
{
|
||||
// find the device
|
||||
device_t *target = cpudevice->siblingdevice(daisy->devname);
|
||||
if (target == NULL)
|
||||
fatalerror("Unable to locate device '%s'\n", daisy->devname);
|
||||
device_t *target;
|
||||
if ((target = cpudevice->subdevice(daisy->devname)) == NULL)
|
||||
{
|
||||
if ((target = cpudevice->siblingdevice(daisy->devname)) == NULL)
|
||||
fatalerror("Unable to locate device '%s'\n", daisy->devname);
|
||||
}
|
||||
|
||||
// make sure it has an interface
|
||||
device_z80daisy_interface *intf;
|
||||
|
@ -30,7 +30,6 @@
|
||||
#include "cpu/z80/tmpz84c011.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/3812intf.h"
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "cpu/h8/h83002.h"
|
||||
|
||||
@ -449,12 +448,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(csplayh5_state::csplayh5_irq)
|
||||
}
|
||||
}
|
||||
|
||||
static const z80_daisy_config daisy_chain_sound[] =
|
||||
{
|
||||
{ "audiocpu:ctc" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( csplayh5, csplayh5_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -473,7 +466,6 @@ static MACHINE_CONFIG_START( csplayh5, csplayh5_state )
|
||||
#endif
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, unknown clock */
|
||||
MCFG_CPU_CONFIG(daisy_chain_sound)
|
||||
MCFG_CPU_PROGRAM_MAP(csplayh5_sound_map)
|
||||
MCFG_CPU_IO_MAP(csplayh5_sound_io_map)
|
||||
MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(csplayh5_state, soundcpu_porta_w))
|
||||
@ -481,8 +473,8 @@ static MACHINE_CONFIG_START( csplayh5, csplayh5_state )
|
||||
MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(csplayh5_state, soundcpu_dac1_w))
|
||||
MCFG_TMPZ84C011_PORTD_READ_CB(READ8(csplayh5_state, soundcpu_portd_r))
|
||||
MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(csplayh5_state, soundcpu_porte_w))
|
||||
MCFG_TMPZ84C011_Z80CTC_INTR_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0))
|
||||
MCFG_TMPZ84C011_Z80CTC_ZC0_CB(DEVWRITELINE("audiocpu:ctc", z80ctc_device, trg3))
|
||||
MCFG_DEVICE_MODIFY("audiocpu:ctc")
|
||||
MCFG_Z80CTC_ZC0_CB(DEVWRITELINE("ctc", z80ctc_device, trg3))
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
|
@ -140,9 +140,9 @@ GND | 20
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/tmpz84c011.h"
|
||||
#include "machine/mb89363b.h"
|
||||
#include "includes/cps1.h"
|
||||
#include "kenseim.lh"
|
||||
#include "machine/mb89363b.h"
|
||||
|
||||
class kenseim_state : public cps_state
|
||||
{
|
||||
@ -459,15 +459,10 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( kenseim_io_map, AS_IO, 8, kenseim_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x20, 0x27) AM_DEVREADWRITE("mb89363b", mb89363b_device, read, write)
|
||||
AM_RANGE(0x20, 0x27) AM_DEVREADWRITE("mb89363b", mb89363b_device, read, write)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static const z80_daisy_config daisy_chain_gamecpu[] =
|
||||
{
|
||||
{ "gamecpu:ctc" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED_CLASS( kenseim, cps1_12MHz, kenseim_state )
|
||||
@ -483,9 +478,6 @@ static MACHINE_CONFIG_DERIVED_CLASS( kenseim, cps1_12MHz, kenseim_state )
|
||||
MCFG_TMPZ84C011_PORTB_READ_CB(IOPORT("DSW2"))
|
||||
MCFG_TMPZ84C011_PORTC_READ_CB(IOPORT("CAB-IN"))
|
||||
MCFG_TMPZ84C011_PORTD_READ_CB(READ8(kenseim_state, cpu_portd_r))
|
||||
MCFG_CPU_CONFIG(daisy_chain_gamecpu)
|
||||
MCFG_TMPZ84C011_Z80CTC_INTR_CB(INPUTLINE("gamecpu", INPUT_LINE_IRQ0))
|
||||
|
||||
|
||||
MCFG_MB89363B_ADD("mb89363b")
|
||||
// a,b,c always $80: all ports set as output
|
||||
|
@ -25,7 +25,6 @@ Notes:
|
||||
#include "includes/nb1413m3.h" // needed for mahjong input controller
|
||||
#include "sound/3812intf.h"
|
||||
#include "sound/dac.h"
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "includes/nbmj9195.h"
|
||||
|
||||
|
||||
@ -2779,19 +2778,6 @@ static INPUT_PORTS_START( mjegolf )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const z80_daisy_config daisy_chain_main[] =
|
||||
{
|
||||
{ "maincpu:ctc" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const z80_daisy_config daisy_chain_sound[] =
|
||||
{
|
||||
{ "audiocpu:ctc" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
||||
// the only difference between these 2 setups is the DAC is swapped, is that intentional?
|
||||
#define OTHERS_TMZ84C011_SOUND_PORTS \
|
||||
MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(nbmj9195_state, soundcpu_porta_w)) \
|
||||
@ -2829,20 +2815,16 @@ static const z80_daisy_config daisy_chain_sound[] =
|
||||
static MACHINE_CONFIG_START( NBMJDRV1_base, nbmj9195_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMPZ84C011, 12000000/2) /* TMPZ84C011, 6.00 MHz */
|
||||
MCFG_CPU_CONFIG(daisy_chain_main)
|
||||
MCFG_CPU_ADD("maincpu", TMPZ84C011, 12000000/2) /* TMPZ84C011, 6.00 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(sailorws_map)
|
||||
MCFG_CPU_IO_MAP(sailorws_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj9195_state, ctc0_trg1) /* vblank is connect to ctc triggfer */
|
||||
MCFG_TMPZ84C011_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj9195_state, ctc0_trg1) /* vblank is connect to ctc trigger */
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */
|
||||
MCFG_CPU_CONFIG(daisy_chain_sound)
|
||||
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(sailorws_sound_map)
|
||||
MCFG_CPU_IO_MAP(sailorws_sound_io_map)
|
||||
MCFG_TMPZ84C011_Z80CTC_INTR_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0))
|
||||
MCFG_TMPZ84C011_Z80CTC_ZC0_CB(DEVWRITELINE("audiocpu:ctc", z80ctc_device, trg3))
|
||||
|
||||
MCFG_DEVICE_MODIFY("audiocpu:ctc")
|
||||
MCFG_Z80CTC_ZC0_CB(DEVWRITELINE("ctc", z80ctc_device, trg3))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -3167,7 +3149,6 @@ static MACHINE_CONFIG_DERIVED( shabdama, NBMJDRV1 )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(shabdama_map)
|
||||
MCFG_CPU_IO_MAP(shabdama_io_map)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -40,7 +40,6 @@ Memo:
|
||||
#include "includes/nb1413m3.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/3812intf.h"
|
||||
#include "cpu/z80/z80daisy.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "includes/niyanpai.h"
|
||||
|
||||
@ -761,13 +760,6 @@ INTERRUPT_GEN_MEMBER(niyanpai_state::niyanpai_interrupt)
|
||||
m_tmp68301->external_interrupt_0();
|
||||
}
|
||||
|
||||
static const z80_daisy_config daisy_chain_sound[] =
|
||||
{
|
||||
{ "audiocpu:ctc" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
|
||||
|
||||
@ -781,7 +773,6 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
|
||||
MCFG_TMP68301_OUT_PARALLEL_CB(WRITE16(niyanpai_state, tmp68301_parallel_port_w))
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */
|
||||
MCFG_CPU_CONFIG(daisy_chain_sound)
|
||||
MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map)
|
||||
MCFG_CPU_IO_MAP(niyanpai_sound_io_map)
|
||||
MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, cpu_portd_r))
|
||||
@ -789,9 +780,8 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
|
||||
MCFG_TMPZ84C011_PORTB_WRITE_CB(WRITE8(niyanpai_state, cpu_portb_w))
|
||||
MCFG_TMPZ84C011_PORTC_WRITE_CB(WRITE8(niyanpai_state, cpu_portc_w))
|
||||
MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, cpu_porte_w))
|
||||
MCFG_TMPZ84C011_Z80CTC_INTR_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0))
|
||||
MCFG_TMPZ84C011_Z80CTC_ZC0_CB(DEVWRITELINE("audiocpu:ctc", z80ctc_device, trg3))
|
||||
|
||||
MCFG_DEVICE_MODIFY("audiocpu:ctc")
|
||||
MCFG_Z80CTC_ZC0_CB(DEVWRITELINE("ctc", z80ctc_device, trg3))
|
||||
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user