summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/genpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/genpc.h')
-rw-r--r--src/devices/machine/genpc.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/devices/machine/genpc.h b/src/devices/machine/genpc.h
index 4c412a9a720..107255431ec 100644
--- a/src/devices/machine/genpc.h
+++ b/src/devices/machine/genpc.h
@@ -25,8 +25,7 @@
#define MCFG_IBM5160_MOTHERBOARD_ADD(_tag, _cputag) \
MCFG_DEVICE_ADD(_tag, IBM5160_MOTHERBOARD, 0) \
- downcast<ibm5160_mb_device &>(*device).set_cputag(_cputag); \
- (*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
+ downcast<ibm5160_mb_device &>(*device).set_cputag(_cputag);
// ======================> ibm5160_mb_device
class ibm5160_mb_device : public device_t
@@ -36,7 +35,12 @@ public:
ibm5160_mb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
- void set_cputag(const char *tag) { m_maincpu.set_tag(tag); }
+ template <typename T> void set_cputag(T &&tag)
+ {
+ m_maincpu.set_tag(std::forward<T>(tag));
+ subdevice<isa8_device>("isa")->set_memspace(std::forward<T>(tag), AS_PROGRAM);
+ subdevice<isa8_device>("isa")->set_iospace(std::forward<T>(tag), AS_IO);
+ }
void map(address_map &map);
@@ -119,6 +123,7 @@ protected:
DECLARE_WRITE_LINE_MEMBER( pc_dack1_w );
DECLARE_WRITE_LINE_MEMBER( pc_dack2_w );
DECLARE_WRITE_LINE_MEMBER( pc_dack3_w );
+ DECLARE_WRITE_LINE_MEMBER( iochck_w );
void pc_select_dma_channel(int channel, bool state);
};
@@ -130,8 +135,7 @@ DECLARE_DEVICE_TYPE(IBM5160_MOTHERBOARD, ibm5160_mb_device)
#define MCFG_IBM5150_MOTHERBOARD_ADD(_tag, _cputag) \
MCFG_DEVICE_ADD(_tag, IBM5150_MOTHERBOARD, 0) \
- downcast<ibm5150_mb_device &>(*device).set_cputag(_cputag); \
- (*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
+ downcast<ibm5150_mb_device &>(*device).set_cputag(_cputag);
// ======================> ibm5150_mb_device
class ibm5150_mb_device : public ibm5160_mb_device
@@ -165,8 +169,7 @@ DECLARE_DEVICE_TYPE(IBM5150_MOTHERBOARD, ibm5150_mb_device)
#define MCFG_EC1841_MOTHERBOARD_ADD(_tag, _cputag) \
MCFG_DEVICE_ADD(_tag, EC1841_MOTHERBOARD, 0) \
- downcast<ec1841_mb_device &>(*device).set_cputag(_cputag); \
- (*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
+ downcast<ec1841_mb_device &>(*device).set_cputag(_cputag);
class ec1841_mb_device : public ibm5160_mb_device
{
@@ -191,8 +194,7 @@ DECLARE_DEVICE_TYPE(EC1841_MOTHERBOARD, ec1841_mb_device)
#define MCFG_PCNOPPI_MOTHERBOARD_ADD(_tag, _cputag) \
MCFG_DEVICE_ADD(_tag, PCNOPPI_MOTHERBOARD, 0) \
- downcast<pc_noppi_mb_device &>(*device).set_cputag(_cputag); \
- (*device->subdevice<isa8_device>("isa")).set_cputag(_cputag);
+ downcast<pc_noppi_mb_device &>(*device).set_cputag(_cputag);
class pc_noppi_mb_device : public ibm5160_mb_device
{