summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/champbas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/champbas.cpp')
-rw-r--r--src/mame/drivers/champbas.cpp80
1 files changed, 39 insertions, 41 deletions
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index f4eea5c2f34..6c532d607a4 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -82,7 +82,6 @@ TODO:
#include "includes/champbas.h"
#include "cpu/z80/z80.h"
#include "cpu/m6805/m68705.h"
-#include "machine/74259.h"
#include "machine/gen_latch.h"
#include "machine/watchdog.h"
#include "sound/ay8910.h"
@@ -193,7 +192,7 @@ void champbas_state::champbas_map(address_map &map)
map(0xa080, 0xa080).mirror(0x0020).portr("DSW");
map(0xa0c0, 0xa0c0).portr("SYSTEM");
- map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
+ map(0xa000, 0xa007).w(m_mainlatch, FUNC(ls259_device::write_d0));
map(0xa060, 0xa06f).writeonly().share("spriteram");
map(0xa080, 0xa080).w("soundlatch", FUNC(generic_latch_8_device::write));
@@ -534,15 +533,15 @@ MACHINE_CONFIG_START(champbas_state::talbot)
MCFG_DEVICE_PROGRAM_MAP(champbasj_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", champbas_state, vblank_irq)
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, champbas_state, irq_enable_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(NOOP) // !WORK board output (no use?)
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(NOOP) // no gfxbank
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, champbas_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // no palettebank
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP) // n.c.
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, champbas_state, mcu_start_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, champbas_state, mcu_switch_w))
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(champbas_state::irq_enable_w));
+ m_mainlatch->q_out_cb<1>().set_nop(); // !WORK board output (no use?)
+ m_mainlatch->q_out_cb<2>().set_nop(); // no gfxbank
+ m_mainlatch->q_out_cb<3>().set(FUNC(champbas_state::flipscreen_w));
+ m_mainlatch->q_out_cb<4>().set_nop(); // no palettebank
+ m_mainlatch->q_out_cb<5>().set_nop(); // n.c.
+ m_mainlatch->q_out_cb<6>().set(FUNC(champbas_state::mcu_start_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(champbas_state::mcu_switch_w));
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL(18'432'000)/6/8)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
@@ -580,15 +579,15 @@ MACHINE_CONFIG_START(champbas_state::champbas)
MCFG_DEVICE_PROGRAM_MAP(champbas_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", champbas_state, vblank_irq)
- MCFG_DEVICE_ADD("mainlatch", LS259, 0) // 9D; 8G on Champion Baseball II Double Board Configuration
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, champbas_state, irq_enable_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(NOOP) // !WORK board output (no use?)
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, champbas_state, gfxbank_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, champbas_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, champbas_state, palette_bank_w))
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP) // n.c.
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(NOOP) // no MCU
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(NOOP) // no MCU
+ LS259(config, m_mainlatch); // 9D; 8G on Champion Baseball II Double Board Configuration
+ m_mainlatch->q_out_cb<0>().set(FUNC(champbas_state::irq_enable_w));
+ m_mainlatch->q_out_cb<1>().set_nop(); // !WORK board output (no use?)
+ m_mainlatch->q_out_cb<2>().set(FUNC(champbas_state::gfxbank_w));
+ m_mainlatch->q_out_cb<3>().set(FUNC(champbas_state::flipscreen_w));
+ m_mainlatch->q_out_cb<4>().set(FUNC(champbas_state::palette_bank_w));
+ m_mainlatch->q_out_cb<5>().set_nop(); // n.c.
+ m_mainlatch->q_out_cb<6>().set_nop(); // no MCU
+ m_mainlatch->q_out_cb<7>().set_nop(); // no MCU
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(18'432'000)/6)
MCFG_DEVICE_PROGRAM_MAP(champbas_sound_map)
@@ -629,9 +628,8 @@ MACHINE_CONFIG_START(champbas_state::champbasj)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(champbasj_map)
- MCFG_DEVICE_MODIFY("mainlatch")
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, champbas_state, mcu_start_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, champbas_state, mcu_switch_w))
+ m_mainlatch->q_out_cb<6>().set(FUNC(champbas_state::mcu_start_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(champbas_state::mcu_switch_w));
MCFG_DEVICE_ADD("alpha_8201", ALPHA_8201, XTAL(18'432'000)/6/8) // note: 8302 rom on champbb2 (same device!)
MCFG_QUANTUM_PERFECT_CPU("alpha_8201:mcu")
@@ -686,15 +684,15 @@ MACHINE_CONFIG_START(exctsccr_state::exctsccr)
MCFG_DEVICE_PROGRAM_MAP(exctsccr_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", exctsccr_state, vblank_irq)
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, exctsccr_state, irq_enable_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(NOOP) // !WORK board output (no use?)
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, exctsccr_state, gfxbank_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, exctsccr_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // no palettebank
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP) // n.c.
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, exctsccr_state, mcu_start_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, exctsccr_state, mcu_switch_w))
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(exctsccr_state::irq_enable_w));
+ m_mainlatch->q_out_cb<1>().set_nop(); // !WORK board output (no use?)
+ m_mainlatch->q_out_cb<2>().set(FUNC(exctsccr_state::gfxbank_w));
+ m_mainlatch->q_out_cb<3>().set(FUNC(exctsccr_state::flipscreen_w));
+ m_mainlatch->q_out_cb<4>().set_nop(); // no palettebank
+ m_mainlatch->q_out_cb<5>().set_nop(); // n.c.
+ m_mainlatch->q_out_cb<6>().set(FUNC(exctsccr_state::mcu_start_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(exctsccr_state::mcu_switch_w));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(14'318'181)/4 )
MCFG_DEVICE_PROGRAM_MAP(exctsccr_sound_map)
@@ -756,15 +754,15 @@ MACHINE_CONFIG_START(exctsccr_state::exctsccrb)
MCFG_DEVICE_PROGRAM_MAP(exctsccrb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", exctsccr_state, vblank_irq)
- MCFG_DEVICE_ADD("mainlatch", LS259, 0)
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, exctsccr_state, irq_enable_w))
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(NOOP) // !WORK board output (no use?)
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, exctsccr_state, gfxbank_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, exctsccr_state, flipscreen_w))
- MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // no palettebank
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP) // n.c.
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, exctsccr_state, mcu_start_w))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, exctsccr_state, mcu_switch_w))
+ LS259(config, m_mainlatch);
+ m_mainlatch->q_out_cb<0>().set(FUNC(exctsccr_state::irq_enable_w));
+ m_mainlatch->q_out_cb<1>().set_nop(); // !WORK board output (no use?)
+ m_mainlatch->q_out_cb<2>().set(FUNC(exctsccr_state::gfxbank_w));
+ m_mainlatch->q_out_cb<3>().set(FUNC(exctsccr_state::flipscreen_w));
+ m_mainlatch->q_out_cb<4>().set_nop(); // no palettebank
+ m_mainlatch->q_out_cb<5>().set_nop(); // n.c.
+ m_mainlatch->q_out_cb<6>().set(FUNC(exctsccr_state::mcu_start_w));
+ m_mainlatch->q_out_cb<7>().set(FUNC(exctsccr_state::mcu_switch_w));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(18'432'000)/6)
MCFG_DEVICE_PROGRAM_MAP(champbas_sound_map)