summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ccastles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ccastles.cpp')
-rw-r--r--src/mame/drivers/ccastles.cpp32
1 files changed, 13 insertions, 19 deletions
diff --git a/src/mame/drivers/ccastles.cpp b/src/mame/drivers/ccastles.cpp
index 8f8824da2ad..feeac10c134 100644
--- a/src/mame/drivers/ccastles.cpp
+++ b/src/mame/drivers/ccastles.cpp
@@ -247,12 +247,6 @@ WRITE8_MEMBER(ccastles_state::irq_ack_w)
}
-template<int C> WRITE_LINE_MEMBER(ccastles_state::ccounter_w)
-{
- machine().bookkeeping().coin_counter_w(C, state);
-}
-
-
READ8_MEMBER(ccastles_state::leta_r)
{
static const char *const letanames[] = { "LETA0", "LETA1", "LETA2", "LETA3" };
@@ -440,19 +434,19 @@ GFXDECODE_END
MACHINE_CONFIG_START(ccastles_state::ccastles)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M6502, MASTER_CLOCK/8)
- MCFG_DEVICE_PROGRAM_MAP(main_map)
-
- MCFG_DEVICE_ADD("outlatch0", LS259, 0) // 8N
- MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(OUTPUT("led0")) MCFG_DEVCB_INVERT
- MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(OUTPUT("led1")) MCFG_DEVCB_INVERT
- MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, ccastles_state, nvram_store_w))
- MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, ccastles_state, nvram_store_w))
- MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, ccastles_state, ccounter_w<0>))
- MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, ccastles_state, ccounter_w<1>))
- MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(MEMBANK("bank1"))
-
- MCFG_DEVICE_ADD("outlatch1", LS259, 0) // 6P
+ M6502(config, m_maincpu, MASTER_CLOCK/8);
+ m_maincpu->set_addrmap(AS_PROGRAM, &ccastles_state::main_map);
+
+ LS259(config, m_outlatch[0]); // 8N
+ m_outlatch[0]->q_out_cb<0>().set_output("led0").invert();
+ m_outlatch[0]->q_out_cb<1>().set_output("led1").invert();
+ m_outlatch[0]->q_out_cb<2>().set(FUNC(ccastles_state::nvram_store_w));
+ m_outlatch[0]->q_out_cb<3>().set(FUNC(ccastles_state::nvram_store_w));
+ m_outlatch[0]->q_out_cb<5>().set([this] (int state) { machine().bookkeeping().coin_counter_w(0, state); });
+ m_outlatch[0]->q_out_cb<6>().set([this] (int state) { machine().bookkeeping().coin_counter_w(1, state); });
+ m_outlatch[0]->q_out_cb<7>().set_membank("bank1");
+
+ LS259(config, m_outlatch[1]); // 6P
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)