mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
cpc_expansion_slot_device: converted to devcb2 (nw)
This commit is contained in:
parent
61f179bdf9
commit
1b4f7107a2
@ -15,15 +15,6 @@ const device_type CPC_ROM = &device_creator<cpc_rom_device>;
|
|||||||
// DEVICE CONFIG INTERFACE
|
// DEVICE CONFIG INTERFACE
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
CPC_EXPANSION_INTERFACE(sub_exp_intf)
|
|
||||||
{
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, irq_w),
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, nmi_w),
|
|
||||||
DEVCB_NULL, // RESET
|
|
||||||
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
|
// device machine config
|
||||||
static MACHINE_CONFIG_FRAGMENT( cpc_rom )
|
static MACHINE_CONFIG_FRAGMENT( cpc_rom )
|
||||||
MCFG_ROMSLOT_ADD("rom1")
|
MCFG_ROMSLOT_ADD("rom1")
|
||||||
@ -34,7 +25,12 @@ static MACHINE_CONFIG_FRAGMENT( cpc_rom )
|
|||||||
MCFG_ROMSLOT_ADD("rom6")
|
MCFG_ROMSLOT_ADD("rom6")
|
||||||
|
|
||||||
// pass-through
|
// pass-through
|
||||||
MCFG_CPC_EXPANSION_SLOT_ADD("exp",sub_exp_intf,cpc_exp_cards,NULL)
|
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||||
|
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, NULL, false)
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romen_w)) // /ROMEN
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
@ -17,15 +17,6 @@
|
|||||||
const device_type CPC_SSA1 = &device_creator<cpc_ssa1_device>;
|
const device_type CPC_SSA1 = &device_creator<cpc_ssa1_device>;
|
||||||
const device_type CPC_DKSPEECH = &device_creator<cpc_dkspeech_device>;
|
const device_type CPC_DKSPEECH = &device_creator<cpc_dkspeech_device>;
|
||||||
|
|
||||||
CPC_EXPANSION_INTERFACE(sub_exp_intf)
|
|
||||||
{
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, irq_w),
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, nmi_w),
|
|
||||||
DEVCB_NULL, // RESET
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romdis_w), // ROMDIS
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, romen_w) // /ROMEN
|
|
||||||
};
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device I/O handlers
|
// device I/O handlers
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -124,7 +115,12 @@ static MACHINE_CONFIG_FRAGMENT( cpc_ssa1 )
|
|||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
||||||
|
|
||||||
// pass-through
|
// pass-through
|
||||||
MCFG_CPC_EXPANSION_SLOT_ADD("exp",sub_exp_intf,cpc_exp_cards,NULL)
|
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||||
|
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, NULL, false)
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romen_w)) // /ROMEN
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
@ -136,7 +132,12 @@ static MACHINE_CONFIG_FRAGMENT( cpc_dkspeech )
|
|||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
||||||
|
|
||||||
// pass-through
|
// pass-through
|
||||||
MCFG_CPC_EXPANSION_SLOT_ADD("exp",sub_exp_intf,cpc_exp_cards,NULL)
|
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||||
|
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, NULL, false)
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romen_w)) // /ROMEN
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
@ -41,7 +41,12 @@ device_cpc_expansion_card_interface::~device_cpc_expansion_card_interface()
|
|||||||
|
|
||||||
cpc_expansion_slot_device::cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
cpc_expansion_slot_device::cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||||
device_t(mconfig, CPC_EXPANSION_SLOT, "Amstrad CPC expansion port", tag, owner, clock, "cpc_expansion_slot", __FILE__),
|
device_t(mconfig, CPC_EXPANSION_SLOT, "Amstrad CPC expansion port", tag, owner, clock, "cpc_expansion_slot", __FILE__),
|
||||||
device_slot_interface(mconfig, *this)
|
device_slot_interface(mconfig, *this),
|
||||||
|
m_out_irq_cb(*this),
|
||||||
|
m_out_nmi_cb(*this),
|
||||||
|
m_out_reset_cb(*this),
|
||||||
|
m_out_romdis_cb(*this),
|
||||||
|
m_out_romen_cb(*this)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,33 +54,6 @@ cpc_expansion_slot_device::~cpc_expansion_slot_device()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// device_config_complete - perform any
|
|
||||||
// operations now that the configuration is
|
|
||||||
// complete
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
void cpc_expansion_slot_device::device_config_complete()
|
|
||||||
{
|
|
||||||
// inherit a copy of the static data
|
|
||||||
const cpc_expansion_slot_interface *intf = reinterpret_cast<const cpc_expansion_slot_interface *>(static_config());
|
|
||||||
if (intf != NULL)
|
|
||||||
{
|
|
||||||
*static_cast<cpc_expansion_slot_interface *>(this) = *intf;
|
|
||||||
}
|
|
||||||
|
|
||||||
// or initialize to defaults if none provided
|
|
||||||
else
|
|
||||||
{
|
|
||||||
memset(&m_out_irq_cb, 0, sizeof(m_out_irq_cb));
|
|
||||||
memset(&m_out_nmi_cb, 0, sizeof(m_out_nmi_cb));
|
|
||||||
memset(&m_out_reset_cb, 0, sizeof(m_out_reset_cb));
|
|
||||||
memset(&m_out_romdis_cb, 0, sizeof(m_out_romdis_cb));
|
|
||||||
memset(&m_out_romen_cb, 0, sizeof(m_out_romen_cb));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -85,11 +63,11 @@ void cpc_expansion_slot_device::device_start()
|
|||||||
m_card = dynamic_cast<device_cpc_expansion_card_interface *>(get_card_device());
|
m_card = dynamic_cast<device_cpc_expansion_card_interface *>(get_card_device());
|
||||||
|
|
||||||
// resolve callbacks
|
// resolve callbacks
|
||||||
m_out_irq_func.resolve(m_out_irq_cb, *this);
|
m_out_irq_cb.resolve_safe();
|
||||||
m_out_nmi_func.resolve(m_out_nmi_cb, *this);
|
m_out_nmi_cb.resolve_safe();
|
||||||
m_out_reset_func.resolve(m_out_reset_cb, *this);
|
m_out_reset_cb.resolve_safe();
|
||||||
m_out_romdis_func.resolve(m_out_romdis_cb, *this);
|
m_out_romdis_cb.resolve_safe();
|
||||||
m_out_romen_func.resolve(m_out_romen_cb, *this);
|
m_out_romen_cb.resolve_safe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -102,8 +80,8 @@ void cpc_expansion_slot_device::device_reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( cpc_expansion_slot_device::irq_w ) { m_out_irq_func(state); }
|
WRITE_LINE_MEMBER( cpc_expansion_slot_device::irq_w ) { m_out_irq_cb(state); }
|
||||||
WRITE_LINE_MEMBER( cpc_expansion_slot_device::nmi_w ) { m_out_nmi_func(state); }
|
WRITE_LINE_MEMBER( cpc_expansion_slot_device::nmi_w ) { m_out_nmi_cb(state); }
|
||||||
WRITE_LINE_MEMBER( cpc_expansion_slot_device::reset_w ) { m_out_reset_func(state); }
|
WRITE_LINE_MEMBER( cpc_expansion_slot_device::reset_w ) { m_out_reset_cb(state); }
|
||||||
WRITE_LINE_MEMBER( cpc_expansion_slot_device::romdis_w ) { m_out_romdis_func(state); }
|
WRITE_LINE_MEMBER( cpc_expansion_slot_device::romdis_w ) { m_out_romdis_cb(state); }
|
||||||
WRITE_LINE_MEMBER( cpc_expansion_slot_device::romen_w ) { m_out_romen_func(state); }
|
WRITE_LINE_MEMBER( cpc_expansion_slot_device::romen_w ) { m_out_romen_cb(state); }
|
||||||
|
@ -50,33 +50,25 @@
|
|||||||
// INTERFACE CONFIGURATION MACROS
|
// INTERFACE CONFIGURATION MACROS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
#define CPC_EXPANSION_INTERFACE(_name) \
|
#define MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(_devcb) \
|
||||||
const cpc_expansion_slot_interface (_name) =
|
devcb = &cpc_expansion_slot_device::set_out_irq_callback(*device, DEVCB2_##_devcb);
|
||||||
|
|
||||||
|
#define MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(_devcb) \
|
||||||
|
devcb = &cpc_expansion_slot_device::set_out_nmi_callback(*device, DEVCB2_##_devcb);
|
||||||
|
|
||||||
#define MCFG_CPC_EXPANSION_SLOT_ADD(_tag, _config, _slot_intf, _def_slot) \
|
#define MCFG_CPC_EXPANSION_SLOT_OUT_RESET_CB(_devcb) \
|
||||||
MCFG_DEVICE_ADD(_tag, CPC_EXPANSION_SLOT, 0) \
|
devcb = &cpc_expansion_slot_device::set_out_reset_callback(*device, DEVCB2_##_devcb);
|
||||||
MCFG_DEVICE_CONFIG(_config) \
|
|
||||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
|
||||||
|
|
||||||
|
#define MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(_devcb) \
|
||||||
|
devcb = &cpc_expansion_slot_device::set_out_romdis_callback(*device, DEVCB2_##_devcb);
|
||||||
|
|
||||||
|
#define MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(_devcb) \
|
||||||
|
devcb = &cpc_expansion_slot_device::set_out_romen_callback(*device, DEVCB2_##_devcb);
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// expansion slot interface
|
|
||||||
|
|
||||||
struct cpc_expansion_slot_interface
|
|
||||||
{
|
|
||||||
devcb_write_line m_out_irq_cb;
|
|
||||||
devcb_write_line m_out_nmi_cb;
|
|
||||||
devcb_write_line m_out_reset_cb;
|
|
||||||
devcb_write_line m_out_romdis_cb;
|
|
||||||
devcb_write_line m_out_romen_cb;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// ======================> device_cpc_expansion_card_interface
|
// ======================> device_cpc_expansion_card_interface
|
||||||
|
|
||||||
// class representing interface-specific live cpc_expansion card
|
// class representing interface-specific live cpc_expansion card
|
||||||
@ -95,13 +87,18 @@ public:
|
|||||||
// ======================> cpc_expansion_slot_device
|
// ======================> cpc_expansion_slot_device
|
||||||
|
|
||||||
class cpc_expansion_slot_device : public device_t,
|
class cpc_expansion_slot_device : public device_t,
|
||||||
public cpc_expansion_slot_interface,
|
|
||||||
public device_slot_interface
|
public device_slot_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||||
virtual ~cpc_expansion_slot_device();
|
virtual ~cpc_expansion_slot_device();
|
||||||
|
|
||||||
|
template<class _Object> static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_irq_cb.set_callback(object); }
|
||||||
|
template<class _Object> static devcb2_base &set_out_nmi_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_nmi_cb.set_callback(object); }
|
||||||
|
template<class _Object> static devcb2_base &set_out_reset_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_reset_cb.set_callback(object); }
|
||||||
|
template<class _Object> static devcb2_base &set_out_romdis_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romdis_cb.set_callback(object); }
|
||||||
|
template<class _Object> static devcb2_base &set_out_romen_callback(device_t &device, _Object object) { return downcast<cpc_expansion_slot_device &>(device).m_out_romen_cb.set_callback(object); }
|
||||||
|
|
||||||
DECLARE_WRITE_LINE_MEMBER( irq_w );
|
DECLARE_WRITE_LINE_MEMBER( irq_w );
|
||||||
DECLARE_WRITE_LINE_MEMBER( nmi_w );
|
DECLARE_WRITE_LINE_MEMBER( nmi_w );
|
||||||
@ -113,13 +110,12 @@ protected:
|
|||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual void device_start();
|
virtual void device_start();
|
||||||
virtual void device_reset();
|
virtual void device_reset();
|
||||||
virtual void device_config_complete();
|
|
||||||
|
|
||||||
devcb_resolved_write_line m_out_irq_func;
|
devcb2_write_line m_out_irq_cb;
|
||||||
devcb_resolved_write_line m_out_nmi_func;
|
devcb2_write_line m_out_nmi_cb;
|
||||||
devcb_resolved_write_line m_out_reset_func;
|
devcb2_write_line m_out_reset_cb;
|
||||||
devcb_resolved_write_line m_out_romdis_func;
|
devcb2_write_line m_out_romdis_cb;
|
||||||
devcb_resolved_write_line m_out_romen_func;
|
devcb2_write_line m_out_romen_cb;
|
||||||
|
|
||||||
device_cpc_expansion_card_interface *m_card;
|
device_cpc_expansion_card_interface *m_card;
|
||||||
};
|
};
|
||||||
|
@ -14,19 +14,15 @@
|
|||||||
|
|
||||||
const device_type CPC_MFACE2 = &device_creator<cpc_multiface2_device>;
|
const device_type CPC_MFACE2 = &device_creator<cpc_multiface2_device>;
|
||||||
|
|
||||||
CPC_EXPANSION_INTERFACE(sub_exp_intf)
|
|
||||||
{
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, irq_w),
|
|
||||||
DEVCB_DEVICE_LINE_MEMBER("^^", cpc_expansion_slot_device, nmi_w),
|
|
||||||
DEVCB_NULL, // RESET
|
|
||||||
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
|
// device machine config
|
||||||
static MACHINE_CONFIG_FRAGMENT( cpc_mface2 )
|
static MACHINE_CONFIG_FRAGMENT( cpc_mface2 )
|
||||||
// pass-through
|
// pass-through
|
||||||
MCFG_CPC_EXPANSION_SLOT_ADD("exp",sub_exp_intf,cpc_exp_cards,NULL)
|
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||||
|
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, NULL, false)
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romen_w)) // /ROMEN
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
DIRECT_UPDATE_MEMBER( cpc_multiface2_device::amstrad_default )
|
DIRECT_UPDATE_MEMBER( cpc_multiface2_device::amstrad_default )
|
||||||
|
@ -834,15 +834,6 @@ static SLOT_INTERFACE_START( aleste_floppies )
|
|||||||
SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
|
SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
|
||||||
SLOT_INTERFACE_END
|
SLOT_INTERFACE_END
|
||||||
|
|
||||||
CPC_EXPANSION_INTERFACE(cpc_exp_intf)
|
|
||||||
{
|
|
||||||
DEVCB_CPU_INPUT_LINE("maincpu", 0),
|
|
||||||
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_NMI),
|
|
||||||
DEVCB_NULL, // RESET
|
|
||||||
DEVCB_DRIVER_LINE_MEMBER(amstrad_state, cpc_romdis), // ROMDIS
|
|
||||||
DEVCB_DRIVER_LINE_MEMBER(amstrad_state, cpc_romen) // /ROMEN
|
|
||||||
};
|
|
||||||
|
|
||||||
static MACHINE_CONFIG_FRAGMENT( cpcplus_cartslot )
|
static MACHINE_CONFIG_FRAGMENT( cpcplus_cartslot )
|
||||||
MCFG_CARTSLOT_ADD("cart")
|
MCFG_CARTSLOT_ADD("cart")
|
||||||
MCFG_CARTSLOT_EXTENSION_LIST("cpr,bin")
|
MCFG_CARTSLOT_EXTENSION_LIST("cpr,bin")
|
||||||
@ -913,7 +904,12 @@ static MACHINE_CONFIG_START( amstrad_nofdc, amstrad_state )
|
|||||||
MCFG_CASSETTE_ADD( "cassette", amstrad_cassette_interface )
|
MCFG_CASSETTE_ADD( "cassette", amstrad_cassette_interface )
|
||||||
MCFG_SOFTWARE_LIST_ADD("cass_list","cpc_cass")
|
MCFG_SOFTWARE_LIST_ADD("cass_list","cpc_cass")
|
||||||
|
|
||||||
MCFG_CPC_EXPANSION_SLOT_ADD("exp",cpc_exp_intf,cpc_exp_cards,NULL)
|
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||||
|
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, NULL, false)
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(INPUTLINE("maincpu", INPUT_LINE_NMI))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(WRITELINE(amstrad_state, cpc_romdis)) // ROMDIS
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(WRITELINE(amstrad_state, cpc_romen)) // /ROMEN
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
MCFG_RAM_ADD(RAM_TAG)
|
MCFG_RAM_ADD(RAM_TAG)
|
||||||
@ -995,7 +991,12 @@ static MACHINE_CONFIG_START( cpcplus, amstrad_state )
|
|||||||
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", amstrad_state::floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", amstrad_state::floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "3ssdd", amstrad_state::floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "3ssdd", amstrad_state::floppy_formats)
|
||||||
|
|
||||||
MCFG_CPC_EXPANSION_SLOT_ADD("exp",cpc_exp_intf,cpc_exp_cards,NULL)
|
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||||
|
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, NULL, false)
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(INPUTLINE("maincpu", 0))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(INPUTLINE("maincpu", INPUT_LINE_NMI))
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(WRITELINE(amstrad_state, cpc_romdis)) // ROMDIS
|
||||||
|
MCFG_CPC_EXPANSION_SLOT_OUT_ROMEN_CB(WRITELINE(amstrad_state, cpc_romen)) // /ROMEN
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
MCFG_RAM_ADD(RAM_TAG)
|
MCFG_RAM_ADD(RAM_TAG)
|
||||||
|
Loading…
Reference in New Issue
Block a user