diff options
Diffstat (limited to 'src/mess')
-rw-r--r-- | src/mess/drivers/amstrad.c | 4 | ||||
-rw-r--r-- | src/mess/includes/amstrad.h | 10 | ||||
-rw-r--r-- | src/mess/machine/amstrad.c | 28 | ||||
-rw-r--r-- | src/mess/machine/cpc_rom.c | 8 | ||||
-rw-r--r-- | src/mess/machine/cpc_ssa1.c | 8 | ||||
-rw-r--r-- | src/mess/machine/mface2.c | 8 |
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 |