summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/drivers/amstrad.c4
-rw-r--r--src/mess/includes/amstrad.h10
-rw-r--r--src/mess/machine/amstrad.c28
-rw-r--r--src/mess/machine/cpc_rom.c8
-rw-r--r--src/mess/machine/cpc_ssa1.c8
-rw-r--r--src/mess/machine/mface2.c8
6 files changed, 24 insertions, 42 deletions
diff --git a/src/mess/drivers/amstrad.c b/src/mess/drivers/amstrad.c
index d792949136b..65e4b0fb914 100644
--- a/src/mess/drivers/amstrad.c
+++ b/src/mess/drivers/amstrad.c
@@ -844,8 +844,8 @@ CPC_EXPANSION_INTERFACE(cpc_exp_intf)
DEVCB_CPU_INPUT_LINE("maincpu", 0),
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_NMI),
DEVCB_NULL, // RESET
- DEVCB_LINE(cpc_romdis), // ROMDIS
- DEVCB_LINE(cpc_romen) // /ROMEN
+ DEVCB_DRIVER_LINE_MEMBER(amstrad_state, cpc_romdis), // ROMDIS
+ DEVCB_DRIVER_LINE_MEMBER(amstrad_state, cpc_romen) // /ROMEN
};
static MACHINE_CONFIG_FRAGMENT( cpcplus_cartslot )
diff --git a/src/mess/includes/amstrad.h b/src/mess/includes/amstrad.h
index d64e61d49ac..8c984a1a84c 100644
--- a/src/mess/includes/amstrad.h
+++ b/src/mess/includes/amstrad.h
@@ -234,6 +234,9 @@ public:
DECLARE_READ8_MEMBER(amstrad_ppi_portb_r);
DECLARE_WRITE8_MEMBER(amstrad_ppi_portc_w);
+ DECLARE_WRITE_LINE_MEMBER( cpc_romdis );
+ DECLARE_WRITE_LINE_MEMBER( cpc_romen );
+
void aleste_interrupt(bool state);
DECLARE_FLOPPY_FORMATS( floppy_formats );
@@ -320,13 +323,6 @@ protected:
/*----------- defined in machine/amstrad.c -----------*/
-
-WRITE_LINE_DEVICE_HANDLER( cpc_irq_w );
-WRITE_LINE_DEVICE_HANDLER( cpc_nmi_w );
-WRITE_LINE_DEVICE_HANDLER( cpc_romdis );
-WRITE_LINE_DEVICE_HANDLER( cpc_romen );
-
-
extern const mc6845_interface amstrad_mc6845_intf;
extern const mc6845_interface amstrad_plus_mc6845_intf;
diff --git a/src/mess/machine/amstrad.c b/src/mess/machine/amstrad.c
index 00937f37878..c4674bb49a9 100644
--- a/src/mess/machine/amstrad.c
+++ b/src/mess/machine/amstrad.c
@@ -1142,33 +1142,19 @@ static device_t* get_expansion_device(running_machine &machine, const char* tag)
return NULL;
}
-WRITE_LINE_DEVICE_HANDLER(cpc_irq_w)
+WRITE_LINE_MEMBER(amstrad_state::cpc_romdis)
{
- device->machine().device("maincpu")->execute().set_input_line(0, state);
-}
-
-WRITE_LINE_DEVICE_HANDLER(cpc_nmi_w)
-{
- device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state);
-}
-
-WRITE_LINE_DEVICE_HANDLER(cpc_romdis)
-{
- amstrad_state *tstate = device->machine().driver_data<amstrad_state>();
-
- tstate->m_gate_array.romdis = state;
- tstate->amstrad_rethinkMemory();
+ m_gate_array.romdis = state;
+ amstrad_rethinkMemory();
}
-WRITE_LINE_DEVICE_HANDLER(cpc_romen)
+WRITE_LINE_MEMBER(amstrad_state::cpc_romen)
{
- amstrad_state *tstate = device->machine().driver_data<amstrad_state>();
-
if(state != 0)
- tstate->m_gate_array.mrer &= ~0x04;
+ m_gate_array.mrer &= ~0x04;
else
- tstate->m_gate_array.mrer |= 0x04;
- tstate->amstrad_rethinkMemory();
+ m_gate_array.mrer |= 0x04;
+ amstrad_rethinkMemory();
}
diff --git a/src/mess/machine/cpc_rom.c b/src/mess/machine/cpc_rom.c
index f11b774ab90..f671314b347 100644
--- a/src/mess/machine/cpc_rom.c
+++ b/src/mess/machine/cpc_rom.c
@@ -17,11 +17,11 @@ const device_type CPC_ROM = &device_creator<cpc_rom_device>;
CPC_EXPANSION_INTERFACE(sub_exp_intf)
{
- DEVCB_LINE(cpc_irq_w),
- DEVCB_LINE(cpc_nmi_w),//LINE_MEMBER(cpc_expansion_slot_device,nmi_w),
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, irq_w),
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, nmi_w),
DEVCB_NULL, // RESET
- DEVCB_LINE(cpc_romdis), // ROMDIS
- DEVCB_LINE(cpc_romen) // /ROMEN
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romdis_w), // ROMDIS
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romen_w) // /ROMEN
};
// device machine config
diff --git a/src/mess/machine/cpc_ssa1.c b/src/mess/machine/cpc_ssa1.c
index 0e02b0643aa..7e855493c66 100644
--- a/src/mess/machine/cpc_ssa1.c
+++ b/src/mess/machine/cpc_ssa1.c
@@ -19,11 +19,11 @@ const device_type CPC_DKSPEECH = &device_creator<cpc_dkspeech_device>;
CPC_EXPANSION_INTERFACE(sub_exp_intf)
{
- DEVCB_LINE(cpc_irq_w),
- DEVCB_LINE(cpc_nmi_w),
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, irq_w),
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, nmi_w),
DEVCB_NULL, // RESET
- DEVCB_LINE(cpc_romdis), // ROMDIS
- DEVCB_LINE(cpc_romen) // /ROMEN
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romdis_w), // ROMDIS
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romen_w) // /ROMEN
};
//-------------------------------------------------
diff --git a/src/mess/machine/mface2.c b/src/mess/machine/mface2.c
index badbf251c0c..9ee9006037f 100644
--- a/src/mess/machine/mface2.c
+++ b/src/mess/machine/mface2.c
@@ -16,11 +16,11 @@ const device_type CPC_MFACE2 = &device_creator<cpc_multiface2_device>;
CPC_EXPANSION_INTERFACE(sub_exp_intf)
{
- DEVCB_LINE(cpc_irq_w),
- DEVCB_LINE(cpc_nmi_w),//LINE_MEMBER(cpc_expansion_slot_device,nmi_w),
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, irq_w),
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, nmi_w),
DEVCB_NULL, // RESET
- DEVCB_LINE(cpc_romdis), // ROMDIS
- DEVCB_LINE(cpc_romen) // /ROMEN
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romdis_w), // ROMDIS
+ DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romen_w) // /ROMEN
};
// device machine config