summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/s100
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/s100')
-rw-r--r--src/devices/bus/s100/dj2db.cpp8
-rw-r--r--src/devices/bus/s100/dj2db.h8
-rw-r--r--src/devices/bus/s100/djdma.cpp2
-rw-r--r--src/devices/bus/s100/djdma.h2
-rw-r--r--src/devices/bus/s100/mm65k16s.cpp4
-rw-r--r--src/devices/bus/s100/mm65k16s.h4
-rw-r--r--src/devices/bus/s100/nsmdsa.cpp14
-rw-r--r--src/devices/bus/s100/nsmdsa.h5
-rw-r--r--src/devices/bus/s100/nsmdsad.cpp14
-rw-r--r--src/devices/bus/s100/nsmdsad.h5
-rw-r--r--src/devices/bus/s100/s100.cpp16
-rw-r--r--src/devices/bus/s100/s100.h121
-rw-r--r--src/devices/bus/s100/seals8k.cpp8
-rw-r--r--src/devices/bus/s100/wunderbus.cpp16
-rw-r--r--src/devices/bus/s100/wunderbus.h4
15 files changed, 88 insertions, 143 deletions
diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp
index f3cff259db3..7c33182ea5d 100644
--- a/src/devices/bus/s100/dj2db.cpp
+++ b/src/devices/bus/s100/dj2db.cpp
@@ -301,7 +301,7 @@ void s100_dj2db_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_dj2db_device::s100_smemr_r(address_space &space, offs_t offset)
+uint8_t s100_dj2db_device::s100_smemr_r(offs_t offset)
{
uint8_t data = 0;
@@ -380,7 +380,7 @@ uint8_t s100_dj2db_device::s100_smemr_r(address_space &space, offs_t offset)
// s100_mwrt_w - memory write
//-------------------------------------------------
-void s100_dj2db_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t data)
+void s100_dj2db_device::s100_mwrt_w(offs_t offset, uint8_t data)
{
// if (!(m_board_enbl & m_phantom)) return;
@@ -473,7 +473,7 @@ void s100_dj2db_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t
// s100_sinp_r - I/O read
//-------------------------------------------------
-uint8_t s100_dj2db_device::s100_sinp_r(address_space &space, offs_t offset)
+uint8_t s100_dj2db_device::s100_sinp_r(offs_t offset)
{
return 0xff;
}
@@ -483,7 +483,7 @@ uint8_t s100_dj2db_device::s100_sinp_r(address_space &space, offs_t offset)
// s100_sout_w - I/O write
//-------------------------------------------------
-void s100_dj2db_device::s100_sout_w(address_space &space, offs_t offset, uint8_t data)
+void s100_dj2db_device::s100_sout_w(offs_t offset, uint8_t data)
{
if (offset == 0x41)
{
diff --git a/src/devices/bus/s100/dj2db.h b/src/devices/bus/s100/dj2db.h
index e82b4431095..616113bb038 100644
--- a/src/devices/bus/s100/dj2db.h
+++ b/src/devices/bus/s100/dj2db.h
@@ -42,10 +42,10 @@ protected:
virtual ioport_constructor device_input_ports() const override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
- virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) override;
- virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) override;
- virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_smemr_r(offs_t offset) override;
+ virtual void s100_mwrt_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_sinp_r(offs_t offset) override;
+ virtual void s100_sout_w(offs_t offset, uint8_t data) override;
virtual void s100_phantom_w(int state) override;
private:
diff --git a/src/devices/bus/s100/djdma.cpp b/src/devices/bus/s100/djdma.cpp
index 39522d321b4..0ee7dab0a0c 100644
--- a/src/devices/bus/s100/djdma.cpp
+++ b/src/devices/bus/s100/djdma.cpp
@@ -146,7 +146,7 @@ void s100_djdma_device::device_reset()
// s100_sout_w - I/O write
//-------------------------------------------------
-void s100_djdma_device::s100_sout_w(address_space &space, offs_t offset, uint8_t data)
+void s100_djdma_device::s100_sout_w(offs_t offset, uint8_t data)
{
// O4 = /ATTN (responds to address EF only)
if (!BIT(m_cmdaddr[offset & 0xff], 3))
diff --git a/src/devices/bus/s100/djdma.h b/src/devices/bus/s100/djdma.h
index 29d07c5860f..d9453aef25c 100644
--- a/src/devices/bus/s100/djdma.h
+++ b/src/devices/bus/s100/djdma.h
@@ -34,7 +34,7 @@ protected:
virtual void device_reset() override;
// bus-level overrides;
- virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual void s100_sout_w(offs_t offset, uint8_t data) override;
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/s100/mm65k16s.cpp b/src/devices/bus/s100/mm65k16s.cpp
index 27cdc021d39..ae098a2e29c 100644
--- a/src/devices/bus/s100/mm65k16s.cpp
+++ b/src/devices/bus/s100/mm65k16s.cpp
@@ -233,7 +233,7 @@ void s100_mm65k16s_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_mm65k16s_device::s100_smemr_r(address_space &space, offs_t offset)
+uint8_t s100_mm65k16s_device::s100_smemr_r(offs_t offset)
{
uint8_t data = 0xff;
@@ -250,7 +250,7 @@ uint8_t s100_mm65k16s_device::s100_smemr_r(address_space &space, offs_t offset)
// s100_mwrt_w - memory write
//-------------------------------------------------
-void s100_mm65k16s_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t data)
+void s100_mm65k16s_device::s100_mwrt_w(offs_t offset, uint8_t data)
{
if (offset < 0xf800)
{
diff --git a/src/devices/bus/s100/mm65k16s.h b/src/devices/bus/s100/mm65k16s.h
index e46d13f955e..10fa1daff7a 100644
--- a/src/devices/bus/s100/mm65k16s.h
+++ b/src/devices/bus/s100/mm65k16s.h
@@ -38,8 +38,8 @@ protected:
virtual void device_reset() override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
- virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_smemr_r(offs_t offset) override;
+ virtual void s100_mwrt_w(offs_t offset, uint8_t data) override;
virtual void s100_phantom_w(int state) override;
private:
diff --git a/src/devices/bus/s100/nsmdsa.cpp b/src/devices/bus/s100/nsmdsa.cpp
index 8efa1c9f392..90d19b3fcb3 100644
--- a/src/devices/bus/s100/nsmdsa.cpp
+++ b/src/devices/bus/s100/nsmdsa.cpp
@@ -57,10 +57,11 @@ static void mds_a_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(s100_mds_a_device::device_add_mconfig)
- MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats)
-MACHINE_CONFIG_END
+void s100_mds_a_device::device_add_mconfig(machine_config &config)
+{
+ for (auto &floppy : m_floppy)
+ FLOPPY_CONNECTOR(config, floppy, mds_a_floppies, "525sd", floppy_image_device::default_floppy_formats);
+}
@@ -75,8 +76,7 @@ MACHINE_CONFIG_END
s100_mds_a_device::s100_mds_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, S100_MDS_A, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
- m_floppy0(*this, "floppy0"),
- m_floppy1(*this, "floppy1"),
+ m_floppy(*this, "floppy%u", 0U),
m_psel_rom(*this, "psel"),
m_pgm_rom(*this, "pgm")
{
@@ -105,7 +105,7 @@ void s100_mds_a_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_mds_a_device::s100_smemr_r(address_space &space, offs_t offset)
+uint8_t s100_mds_a_device::s100_smemr_r(offs_t offset)
{
return 0xff;
}
diff --git a/src/devices/bus/s100/nsmdsa.h b/src/devices/bus/s100/nsmdsa.h
index 5bcaf7505c0..a36f39127ec 100644
--- a/src/devices/bus/s100/nsmdsa.h
+++ b/src/devices/bus/s100/nsmdsa.h
@@ -39,11 +39,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
+ virtual uint8_t s100_smemr_r(offs_t offset) override;
private:
- required_device<floppy_connector> m_floppy0;
- required_device<floppy_connector> m_floppy1;
+ required_device_array<floppy_connector, 2> m_floppy;
required_memory_region m_psel_rom;
required_memory_region m_pgm_rom;
};
diff --git a/src/devices/bus/s100/nsmdsad.cpp b/src/devices/bus/s100/nsmdsad.cpp
index d13f6a7f748..d1358e85bf0 100644
--- a/src/devices/bus/s100/nsmdsad.cpp
+++ b/src/devices/bus/s100/nsmdsad.cpp
@@ -58,10 +58,11 @@ static void mds_ad_floppies(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(s100_mds_ad_device::device_add_mconfig)
- MCFG_FLOPPY_DRIVE_ADD("floppy0", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("floppy1", mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats)
-MACHINE_CONFIG_END
+void s100_mds_ad_device::device_add_mconfig(machine_config &config)
+{
+ for (auto &floppy : m_floppy)
+ FLOPPY_CONNECTOR(config, floppy, mds_ad_floppies, "525dd", floppy_image_device::default_floppy_formats);
+}
@@ -76,8 +77,7 @@ MACHINE_CONFIG_END
s100_mds_ad_device::s100_mds_ad_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, S100_MDS_AD, tag, owner, clock),
device_s100_card_interface(mconfig, *this),
- m_floppy0(*this, "floppy0"),
- m_floppy1(*this, "floppy1"),
+ m_floppy(*this, "floppy%u", 0U),
m_dsel_rom(*this, "dsel"),
m_dpgm_rom(*this, "dpgm"),
m_dwe_rom(*this, "dwe")
@@ -107,7 +107,7 @@ void s100_mds_ad_device::device_reset()
// s100_smemr_r - memory read
//-------------------------------------------------
-uint8_t s100_mds_ad_device::s100_smemr_r(address_space &space, offs_t offset)
+uint8_t s100_mds_ad_device::s100_smemr_r(offs_t offset)
{
return 0xff;
}
diff --git a/src/devices/bus/s100/nsmdsad.h b/src/devices/bus/s100/nsmdsad.h
index f10d3c0af23..ce5a248d553 100644
--- a/src/devices/bus/s100/nsmdsad.h
+++ b/src/devices/bus/s100/nsmdsad.h
@@ -39,11 +39,10 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
// device_s100_card_interface overrides
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override;
+ virtual uint8_t s100_smemr_r(offs_t offset) override;
private:
- required_device<floppy_connector> m_floppy0;
- required_device<floppy_connector> m_floppy1;
+ required_device_array<floppy_connector, 2> m_floppy;
required_memory_region m_dsel_rom;
required_memory_region m_dpgm_rom;
required_memory_region m_dwe_rom;
diff --git a/src/devices/bus/s100/s100.cpp b/src/devices/bus/s100/s100.cpp
index dd28ca385d3..23333ce500f 100644
--- a/src/devices/bus/s100/s100.cpp
+++ b/src/devices/bus/s100/s100.cpp
@@ -135,7 +135,7 @@ void s100_bus_device::add_card(device_s100_card_interface *card)
// smemr_r - memory read
//-------------------------------------------------
-READ8_MEMBER( s100_bus_device::smemr_r )
+uint8_t s100_bus_device::smemr_r(offs_t offset)
{
uint8_t data = 0xff;
@@ -143,7 +143,7 @@ READ8_MEMBER( s100_bus_device::smemr_r )
while (entry)
{
- data &= entry->s100_smemr_r(space, offset);
+ data &= entry->s100_smemr_r(offset);
entry = entry->next();
}
@@ -155,13 +155,13 @@ READ8_MEMBER( s100_bus_device::smemr_r )
// mwrt_w - memory write
//-------------------------------------------------
-WRITE8_MEMBER( s100_bus_device::mwrt_w )
+void s100_bus_device::mwrt_w(offs_t offset, uint8_t data)
{
device_s100_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->s100_mwrt_w(space, offset, data);
+ entry->s100_mwrt_w(offset, data);
entry = entry->next();
}
}
@@ -171,7 +171,7 @@ WRITE8_MEMBER( s100_bus_device::mwrt_w )
// sinp_r - I/O read
//-------------------------------------------------
-READ8_MEMBER( s100_bus_device::sinp_r )
+uint8_t s100_bus_device::sinp_r(offs_t offset)
{
uint8_t data = 0xff;
@@ -179,7 +179,7 @@ READ8_MEMBER( s100_bus_device::sinp_r )
while (entry)
{
- data &= entry->s100_sinp_r(space, offset);
+ data &= entry->s100_sinp_r(offset);
entry = entry->next();
}
@@ -191,13 +191,13 @@ READ8_MEMBER( s100_bus_device::sinp_r )
// sout_w - I/O write
//-------------------------------------------------
-WRITE8_MEMBER( s100_bus_device::sout_w )
+void s100_bus_device::sout_w(offs_t offset, uint8_t data)
{
device_s100_card_interface *entry = m_device_list.first();
while (entry)
{
- entry->s100_sout_w(space, offset, data);
+ entry->s100_sout_w(offset, data);
entry = entry->next();
}
}
diff --git a/src/devices/bus/s100/s100.h b/src/devices/bus/s100/s100.h
index 6336be291e4..f231520f694 100644
--- a/src/devices/bus/s100/s100.h
+++ b/src/devices/bus/s100/s100.h
@@ -68,68 +68,6 @@
//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_S100_SLOT_ADD(_tag, _slot_intf, _def_slot) \
- MCFG_DEVICE_ADD(_tag, S100_SLOT, DERIVED_CLOCK(1, 1)) \
- MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
-
-
-#define MCFG_S100_IRQ_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_NMI_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_nmi_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI0_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi0_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI1_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi1_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI2_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi2_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI3_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi3_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI4_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi4_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI5_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi5_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI6_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi6_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_VI7_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_vi7_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_DMA0_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_dma0_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_DMA1_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_dma1_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_DMA2_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_dma2_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_DMA3_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_dma3_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_RDY_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_rdy_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_HOLD_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_hold_wr_callback(DEVCB_##_write);
-
-#define MCFG_S100_ERROR_CALLBACK(_write) \
- downcast<s100_bus_device &>(*device).set_error_wr_callback(DEVCB_##_write);
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -161,12 +99,12 @@ public:
virtual void s100_vi7_w(int state) { }
// memory access
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) { return 0xff; }
- virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint8_t s100_smemr_r(offs_t offset) { return 0xff; }
+ virtual void s100_mwrt_w(offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) { return 0xff; }
- virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) { }
+ virtual uint8_t s100_sinp_r(offs_t offset) { return 0xff; }
+ virtual void s100_sout_w(offs_t offset, uint8_t data) { }
// configuration access
virtual void s100_phlda_w(int state) { }
@@ -201,31 +139,31 @@ public:
s100_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~s100_bus_device() { m_device_list.detach_all(); }
- template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_nmi_wr_callback(Object &&cb) { return m_write_nmi.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi0_wr_callback(Object &&cb) { return m_write_vi0.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi1_wr_callback(Object &&cb) { return m_write_vi1.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi2_wr_callback(Object &&cb) { return m_write_vi2.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi3_wr_callback(Object &&cb) { return m_write_vi3.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi4_wr_callback(Object &&cb) { return m_write_vi4.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi5_wr_callback(Object &&cb) { return m_write_vi5.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi6_wr_callback(Object &&cb) { return m_write_vi6.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_vi7_wr_callback(Object &&cb) { return m_write_vi7.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_dma0_wr_callback(Object &&cb) { return m_write_dma0.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_dma1_wr_callback(Object &&cb) { return m_write_dma1.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_dma2_wr_callback(Object &&cb) { return m_write_dma2.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_dma3_wr_callback(Object &&cb) { return m_write_dma3.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_rdy_wr_callback(Object &&cb) { return m_write_rdy.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_hold_wr_callback(Object &&cb) { return m_write_hold.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_error_wr_callback(Object &&cb) { return m_write_error.set_callback(std::forward<Object>(cb)); }
+ auto irq() { return m_write_irq.bind(); }
+ auto nmi() { return m_write_nmi.bind(); }
+ auto vi0() { return m_write_vi0.bind(); }
+ auto vi1() { return m_write_vi1.bind(); }
+ auto vi2() { return m_write_vi2.bind(); }
+ auto vi3() { return m_write_vi3.bind(); }
+ auto vi4() { return m_write_vi4.bind(); }
+ auto vi5() { return m_write_vi5.bind(); }
+ auto vi6() { return m_write_vi6.bind(); }
+ auto vi7() { return m_write_vi7.bind(); }
+ auto dma0() { return m_write_dma0.bind(); }
+ auto dma1() { return m_write_dma1.bind(); }
+ auto dma2() { return m_write_dma2.bind(); }
+ auto dma3() { return m_write_dma3.bind(); }
+ auto rdy() { return m_write_rdy.bind(); }
+ auto hold() { return m_write_hold.bind(); }
+ auto error() { return m_write_error.bind(); }
void add_card(device_s100_card_interface *card);
- DECLARE_READ8_MEMBER( smemr_r );
- DECLARE_WRITE8_MEMBER( mwrt_w );
+ uint8_t smemr_r(offs_t offset);
+ void mwrt_w(offs_t offset, uint8_t data);
- DECLARE_READ8_MEMBER( sinp_r );
- DECLARE_WRITE8_MEMBER( sout_w );
+ uint8_t sinp_r(offs_t offset);
+ void sout_w(offs_t offset, uint8_t data);
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); }
@@ -279,6 +217,15 @@ class s100_slot_device : public device_t, public device_slot_interface
{
public:
// construction/destruction
+ template <typename T>
+ s100_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
+ : s100_slot_device(mconfig, tag, owner, DERIVED_CLOCK(1, 1))
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(dflt);
+ set_fixed(false);
+ }
s100_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
diff --git a/src/devices/bus/s100/seals8k.cpp b/src/devices/bus/s100/seals8k.cpp
index 9191f8566df..949c7d6d2c5 100644
--- a/src/devices/bus/s100/seals8k.cpp
+++ b/src/devices/bus/s100/seals8k.cpp
@@ -51,8 +51,8 @@ protected:
virtual void device_start() override;
// S-100 memory access handlers
- virtual u8 s100_smemr_r(address_space &space, offs_t offset) override;
- virtual void s100_mwrt_w(address_space &space, offs_t offset, u8 data) override;
+ virtual u8 s100_smemr_r(offs_t offset) override;
+ virtual void s100_mwrt_w(offs_t offset, u8 data) override;
// internal state
std::unique_ptr<u8[]> m_ram;
@@ -203,7 +203,7 @@ bool s100_8k_sc_device::board_selected(offs_t offset) const
// s100_smemr_r - memory read
//-------------------------------------------------
-u8 s100_8k_sc_device::s100_smemr_r(address_space &space, offs_t offset)
+u8 s100_8k_sc_device::s100_smemr_r(offs_t offset)
{
if (board_selected(offset))
return m_ram[offset & 0x1fff];
@@ -216,7 +216,7 @@ u8 s100_8k_sc_device::s100_smemr_r(address_space &space, offs_t offset)
// s100_mwrt_w - memory write
//-------------------------------------------------
-void s100_8k_sc_device::s100_mwrt_w(address_space &space, offs_t offset, u8 data)
+void s100_8k_sc_device::s100_mwrt_w(offs_t offset, u8 data)
{
if (board_selected(offset))
m_ram[offset & 0x1fff] = data;
diff --git a/src/devices/bus/s100/wunderbus.cpp b/src/devices/bus/s100/wunderbus.cpp
index 9d307d9053b..c7db4417dcb 100644
--- a/src/devices/bus/s100/wunderbus.cpp
+++ b/src/devices/bus/s100/wunderbus.cpp
@@ -300,7 +300,7 @@ void s100_wunderbus_device::s100_vi2_w(int state)
// s100_sinp_r - I/O read
//-------------------------------------------------
-uint8_t s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
+uint8_t s100_wunderbus_device::s100_sinp_r(offs_t offset)
{
uint8_t address = (m_7c->read() & 0x3e) << 2;
if ((offset & 0xf8) != address) return 0xff;
@@ -388,15 +388,15 @@ uint8_t s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
break;
case 1:
- data = m_ace1->ins8250_r(space, offset & 0x07);
+ data = m_ace1->ins8250_r(machine().dummy_space(), offset & 0x07);
break;
case 2:
- data = m_ace2->ins8250_r(space, offset & 0x07);
+ data = m_ace2->ins8250_r(machine().dummy_space(), offset & 0x07);
break;
case 3:
- data = m_ace3->ins8250_r(space, offset & 0x07);
+ data = m_ace3->ins8250_r(machine().dummy_space(), offset & 0x07);
break;
}
}
@@ -409,7 +409,7 @@ uint8_t s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
// s100_sout_w - I/O write
//-------------------------------------------------
-void s100_wunderbus_device::s100_sout_w(address_space &space, offs_t offset, uint8_t data)
+void s100_wunderbus_device::s100_sout_w(offs_t offset, uint8_t data)
{
uint8_t address = (m_7c->read() & 0x3e) << 2;
if ((offset & 0xf8) != address) return;
@@ -511,15 +511,15 @@ void s100_wunderbus_device::s100_sout_w(address_space &space, offs_t offset, uin
break;
case 1:
- m_ace1->ins8250_w(space, offset & 0x07, data);
+ m_ace1->ins8250_w(machine().dummy_space(), offset & 0x07, data);
break;
case 2:
- m_ace2->ins8250_w(space, offset & 0x07, data);
+ m_ace2->ins8250_w(machine().dummy_space(), offset & 0x07, data);
break;
case 3:
- m_ace3->ins8250_w(space, offset & 0x07, data);
+ m_ace3->ins8250_w(machine().dummy_space(), offset & 0x07, data);
break;
}
}
diff --git a/src/devices/bus/s100/wunderbus.h b/src/devices/bus/s100/wunderbus.h
index 540c5cd8b6c..ca9a6d0e641 100644
--- a/src/devices/bus/s100/wunderbus.h
+++ b/src/devices/bus/s100/wunderbus.h
@@ -44,8 +44,8 @@ protected:
virtual void s100_vi0_w(int state) override;
virtual void s100_vi1_w(int state) override;
virtual void s100_vi2_w(int state) override;
- virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) override;
- virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) override;
+ virtual uint8_t s100_sinp_r(offs_t offset) override;
+ virtual void s100_sout_w(offs_t offset, uint8_t data) override;
private:
DECLARE_WRITE_LINE_MEMBER( pic_int_w );