From 90308bc48f08cc7704b51f5f1a09eb46759b4f9b Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Wed, 8 Aug 2012 08:41:33 +0000 Subject: [PATCH] Removed NOTIMER hack from Z80 CTC interface (Star Force was the only one using it). The first parameter of the interface struct is now gone. --- src/emu/machine/ldv1000.c | 1 - src/emu/machine/z80ctc.c | 38 +++++++++++-------------------------- src/emu/machine/z80ctc.h | 15 +-------------- src/mame/audio/cchasm.c | 1 - src/mame/audio/cinemat.c | 1 - src/mame/audio/senjyo.c | 1 - src/mame/drivers/astrocde.c | 1 - src/mame/drivers/csplayh5.c | 1 - src/mame/drivers/dlair.c | 1 - src/mame/drivers/jankenmn.c | 1 - src/mame/drivers/nbmj9195.c | 2 -- src/mame/drivers/niyanpai.c | 1 - src/mame/drivers/pipeline.c | 1 - src/mame/drivers/proconn.c | 1 - src/mame/machine/mcr.c | 2 -- 15 files changed, 12 insertions(+), 56 deletions(-) diff --git a/src/emu/machine/ldv1000.c b/src/emu/machine/ldv1000.c index 6a9009a5846..14cf1ac7b49 100644 --- a/src/emu/machine/ldv1000.c +++ b/src/emu/machine/ldv1000.c @@ -128,7 +128,6 @@ static I8255_INTERFACE(ppi1intf) static Z80CTC_INTERFACE( ctcintf ) { - 0, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, pioneer_ldv1000_device, ctc_interrupt), DEVCB_NULL, DEVCB_NULL, diff --git a/src/emu/machine/z80ctc.c b/src/emu/machine/z80ctc.c index 22958ea5386..9466e442392 100644 --- a/src/emu/machine/z80ctc.c +++ b/src/emu/machine/z80ctc.c @@ -133,7 +133,6 @@ void z80ctc_device::device_config_complete() // or initialize to defaults if none provided else { - m_notimer = 0; memset(&m_intr_cb, 0, sizeof(m_intr_cb)); memset(&m_zc0_cb, 0, sizeof(m_zc0_cb)); memset(&m_zc1_cb, 0, sizeof(m_zc1_cb)); @@ -156,10 +155,10 @@ void z80ctc_device::device_start() // start each channel devcb_write_line nullcb = DEVCB_NULL; - m_channel[0].start(this, 0, (m_notimer & NOTIMER_0) != 0, m_zc0_cb); - m_channel[1].start(this, 1, (m_notimer & NOTIMER_1) != 0, m_zc1_cb); - m_channel[2].start(this, 2, (m_notimer & NOTIMER_2) != 0, m_zc2_cb); - m_channel[3].start(this, 3, (m_notimer & NOTIMER_3) != 0, nullcb); + m_channel[0].start(this, 0, m_zc0_cb); + m_channel[1].start(this, 1, m_zc1_cb); + m_channel[2].start(this, 2, m_zc2_cb); + m_channel[3].start(this, 3, nullcb); // register for save states save_item(NAME(m_vector)); @@ -301,8 +300,7 @@ void z80ctc_device::interrupt_check() //------------------------------------------------- z80ctc_device::ctc_channel::ctc_channel() - : m_notimer(false), - m_mode(0), + : m_mode(0), m_tconst(0), m_down(0), m_extclk(0), @@ -317,13 +315,12 @@ z80ctc_device::ctc_channel::ctc_channel() // start - set up at device start time //------------------------------------------------- -void z80ctc_device::ctc_channel::start(z80ctc_device *device, int index, bool notimer, const devcb_write_line &write_line) +void z80ctc_device::ctc_channel::start(z80ctc_device *device, int index, const devcb_write_line &write_line) { // initialize state m_device = device; m_index = index; m_zc.resolve(write_line, *m_device); - m_notimer = notimer; m_timer = m_device->machine().scheduler().timer_alloc(FUNC(static_timer_callback), this); // register for save states @@ -422,13 +419,8 @@ void z80ctc_device::ctc_channel::write(UINT8 data) // if we're triggering on the time constant, reset the down counter now if ((m_mode & TRIGGER) == TRIGGER_AUTO) { - if (!m_notimer) - { - attotime curperiod = period(); - m_timer->adjust(curperiod, m_index, curperiod); - } - else - m_timer->adjust(attotime::never); + attotime curperiod = period(); + m_timer->adjust(curperiod, m_index, curperiod); } // else set the bit indicating that we're waiting for the appropriate trigger @@ -491,17 +483,9 @@ void z80ctc_device::ctc_channel::trigger(UINT8 data) // if we're waiting for a trigger, start the timer if ((m_mode & WAITING_FOR_TRIG) && (m_mode & MODE) == MODE_TIMER) { - if (!m_notimer) - { - attotime curperiod = period(); - VPRINTF(("CTC period %s\n", curperiod.as_string())); - m_timer->adjust(curperiod, m_index, curperiod); - } - else - { - VPRINTF(("CTC disabled\n")); - m_timer->adjust(attotime::never); - } + attotime curperiod = period(); + VPRINTF(("CTC period %s\n", curperiod.as_string())); + m_timer->adjust(curperiod, m_index, curperiod); } // we're no longer waiting diff --git a/src/emu/machine/z80ctc.h b/src/emu/machine/z80ctc.h index 0e53cdc2179..567dfb677c3 100644 --- a/src/emu/machine/z80ctc.h +++ b/src/emu/machine/z80ctc.h @@ -30,17 +30,6 @@ #include "cpu/z80/z80daisy.h" -//************************************************************************** -// CONSTANTS -//************************************************************************** - -const int NOTIMER_0 = (1<<0); -const int NOTIMER_1 = (1<<1); -const int NOTIMER_2 = (1<<2); -const int NOTIMER_3 = (1<<3); - - - //************************************************************************** // DEVICE CONFIGURATION MACROS //************************************************************************** @@ -64,7 +53,6 @@ const int NOTIMER_3 = (1<<3); struct z80ctc_interface { - UINT8 m_notimer; // timer disabler mask devcb_write_line m_intr_cb; // callback when change interrupt status devcb_write_line m_zc0_cb; // ZC/TO0 callback devcb_write_line m_zc1_cb; // ZC/TO1 callback @@ -120,7 +108,7 @@ private: public: ctc_channel(); - void start(z80ctc_device *device, int index, bool notimer, const devcb_write_line &write_line); + void start(z80ctc_device *device, int index, const devcb_write_line &write_line); void reset(); UINT8 read(); @@ -133,7 +121,6 @@ private: z80ctc_device * m_device; // pointer back to our device int m_index; // our channel index devcb_resolved_write_line m_zc; // zero crossing callbacks - bool m_notimer; // timer disabled? UINT16 m_mode; // current mode UINT16 m_tconst; // time constant UINT16 m_down; // down counter (clock mode only) diff --git a/src/mame/audio/cchasm.c b/src/mame/audio/cchasm.c index 5d5e4d7ec9a..219bf01de3c 100644 --- a/src/mame/audio/cchasm.c +++ b/src/mame/audio/cchasm.c @@ -120,7 +120,6 @@ static WRITE_LINE_DEVICE_HANDLER( ctc_timer_2_w ) Z80CTC_INTERFACE( cchasm_ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("audiocpu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback */ DEVCB_LINE(ctc_timer_1_w), /* ZC/TO1 callback */ diff --git a/src/mame/audio/cinemat.c b/src/mame/audio/cinemat.c index 97d4a19260b..880c9bb8869 100644 --- a/src/mame/audio/cinemat.c +++ b/src/mame/audio/cinemat.c @@ -1397,7 +1397,6 @@ static const ay8910_interface demon_ay8910_interface_3 = static Z80CTC_INTERFACE( demon_z80ctc_interface ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("audiocpu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/audio/senjyo.c b/src/mame/audio/senjyo.c index aa5fd52a394..c6dc0efb9cb 100644 --- a/src/mame/audio/senjyo.c +++ b/src/mame/audio/senjyo.c @@ -33,7 +33,6 @@ Z80PIO_INTERFACE( senjyo_pio_intf ) /* z80 ctc */ Z80CTC_INTERFACE( senjyo_ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("sub", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_DEVICE_LINE_MEMBER("z80ctc", z80ctc_device, trg1), /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c index 9ddaed17d12..8b498ea96d8 100644 --- a/src/mame/drivers/astrocde.c +++ b/src/mame/drivers/astrocde.c @@ -501,7 +501,6 @@ WRITE8_MEMBER(astrocde_state::demndrgn_sound_w) static Z80CTC_INTERFACE( ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("sub", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/csplayh5.c b/src/mame/drivers/csplayh5.c index aaf4c008ed3..79a9acc052b 100644 --- a/src/mame/drivers/csplayh5.c +++ b/src/mame/drivers/csplayh5.c @@ -565,7 +565,6 @@ GFXDECODE_END static Z80CTC_INTERFACE( ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("audiocpu", INPUT_LINE_IRQ0),/* interrupt handler */ DEVCB_DEVICE_LINE_MEMBER("ctc", z80ctc_device, trg3), /* ZC/TO0 callback ctc1.zc0 -> ctc1.trg3 */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c index 9146a0901eb..bf910215778 100644 --- a/src/mame/drivers/dlair.c +++ b/src/mame/drivers/dlair.c @@ -169,7 +169,6 @@ static int serial_receive(device_t *device, int channel) static Z80CTC_INTERFACE( ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/jankenmn.c b/src/mame/drivers/jankenmn.c index 62791d55bd0..853e937409c 100644 --- a/src/mame/drivers/jankenmn.c +++ b/src/mame/drivers/jankenmn.c @@ -293,7 +293,6 @@ INPUT_PORTS_END static Z80CTC_INTERFACE( ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/nbmj9195.c b/src/mame/drivers/nbmj9195.c index 46d319f9dcd..98f7d02004c 100644 --- a/src/mame/drivers/nbmj9195.c +++ b/src/mame/drivers/nbmj9195.c @@ -620,7 +620,6 @@ static INTERRUPT_GEN( ctc0_trg1 ) static Z80CTC_INTERFACE( ctc_intf_main ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),/* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback ctc1.zc0 -> ctc1.trg3 */ DEVCB_NULL, /* ZC/TO1 callback */ @@ -629,7 +628,6 @@ static Z80CTC_INTERFACE( ctc_intf_main ) static Z80CTC_INTERFACE( ctc_intf_audio ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("audiocpu", INPUT_LINE_IRQ0),/* interrupt handler */ DEVCB_DEVICE_LINE_MEMBER("audio_ctc", z80ctc_device, trg3), /* ZC/TO0 callback ctc1.zc0 -> ctc1.trg3 */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c index cca70d7529b..79b322a35fd 100644 --- a/src/mame/drivers/niyanpai.c +++ b/src/mame/drivers/niyanpai.c @@ -237,7 +237,6 @@ WRITE8_MEMBER(niyanpai_state::tmpz84c011_0_dir_pe_w) static Z80CTC_INTERFACE( ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("audiocpu", INPUT_LINE_IRQ0),/* interrupt handler */ DEVCB_DEVICE_LINE_MEMBER("ctc", z80ctc_device, trg3), /* ZC/TO0 callback ctc1.zc0 -> ctc1.trg3 */ DEVCB_NULL, /* ZC/TO1 callback */ diff --git a/src/mame/drivers/pipeline.c b/src/mame/drivers/pipeline.c index 6ec85b6a9ae..58149aabfdb 100644 --- a/src/mame/drivers/pipeline.c +++ b/src/mame/drivers/pipeline.c @@ -314,7 +314,6 @@ GFXDECODE_END static Z80CTC_INTERFACE( ctc_intf ) { - 0, // timer disables DEVCB_CPU_INPUT_LINE("audiocpu", INPUT_LINE_IRQ0), // interrupt handler DEVCB_NULL, // ZC/TO0 callback DEVCB_NULL, // ZC/TO1 callback diff --git a/src/mame/drivers/proconn.c b/src/mame/drivers/proconn.c index 3a4fb875f2b..4fe618b2ce8 100644 --- a/src/mame/drivers/proconn.c +++ b/src/mame/drivers/proconn.c @@ -251,7 +251,6 @@ static Z80PIO_INTERFACE( pio_interface_5 ) static Z80CTC_INTERFACE( ctc_intf ) { - 0, // timer disables DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, // ZC/TO0 callback DEVCB_NULL, // ZC/TO1 callback diff --git a/src/mame/machine/mcr.c b/src/mame/machine/mcr.c index 13d90c5547f..7969d0cf3e8 100644 --- a/src/mame/machine/mcr.c +++ b/src/mame/machine/mcr.c @@ -104,7 +104,6 @@ const z80_daisy_config mcr_ipu_daisy_chain[] = Z80CTC_INTERFACE( mcr_ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_DEVICE_LINE_MEMBER("ctc", z80ctc_device, trg1), /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */ @@ -114,7 +113,6 @@ Z80CTC_INTERFACE( mcr_ctc_intf ) Z80CTC_INTERFACE( nflfoot_ctc_intf ) { - 0, /* timer disables */ DEVCB_CPU_INPUT_LINE("ipu", INPUT_LINE_IRQ0), /* interrupt handler */ DEVCB_NULL, /* ZC/TO0 callback */ DEVCB_NULL, /* ZC/TO1 callback */