diff options
Diffstat (limited to 'src/devices/bus/s100')
-rw-r--r-- | src/devices/bus/s100/dj2db.cpp | 8 | ||||
-rw-r--r-- | src/devices/bus/s100/dj2db.h | 8 | ||||
-rw-r--r-- | src/devices/bus/s100/djdma.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/s100/djdma.h | 2 | ||||
-rw-r--r-- | src/devices/bus/s100/mm65k16s.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/s100/mm65k16s.h | 4 | ||||
-rw-r--r-- | src/devices/bus/s100/nsmdsa.cpp | 14 | ||||
-rw-r--r-- | src/devices/bus/s100/nsmdsa.h | 5 | ||||
-rw-r--r-- | src/devices/bus/s100/nsmdsad.cpp | 14 | ||||
-rw-r--r-- | src/devices/bus/s100/nsmdsad.h | 5 | ||||
-rw-r--r-- | src/devices/bus/s100/s100.cpp | 16 | ||||
-rw-r--r-- | src/devices/bus/s100/s100.h | 121 | ||||
-rw-r--r-- | src/devices/bus/s100/seals8k.cpp | 8 | ||||
-rw-r--r-- | src/devices/bus/s100/wunderbus.cpp | 16 | ||||
-rw-r--r-- | src/devices/bus/s100/wunderbus.h | 4 |
15 files changed, 143 insertions, 88 deletions
diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp index 7c33182ea5d..f3cff259db3 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(offs_t offset) +uint8_t s100_dj2db_device::s100_smemr_r(address_space &space, offs_t offset) { uint8_t data = 0; @@ -380,7 +380,7 @@ uint8_t s100_dj2db_device::s100_smemr_r(offs_t offset) // s100_mwrt_w - memory write //------------------------------------------------- -void s100_dj2db_device::s100_mwrt_w(offs_t offset, uint8_t data) +void s100_dj2db_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) { // if (!(m_board_enbl & m_phantom)) return; @@ -473,7 +473,7 @@ void s100_dj2db_device::s100_mwrt_w(offs_t offset, uint8_t data) // s100_sinp_r - I/O read //------------------------------------------------- -uint8_t s100_dj2db_device::s100_sinp_r(offs_t offset) +uint8_t s100_dj2db_device::s100_sinp_r(address_space &space, offs_t offset) { return 0xff; } @@ -483,7 +483,7 @@ uint8_t s100_dj2db_device::s100_sinp_r(offs_t offset) // s100_sout_w - I/O write //------------------------------------------------- -void s100_dj2db_device::s100_sout_w(offs_t offset, uint8_t data) +void s100_dj2db_device::s100_sout_w(address_space &space, 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 616113bb038..e82b4431095 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(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 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 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 0ee7dab0a0c..39522d321b4 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(offs_t offset, uint8_t data) +void s100_djdma_device::s100_sout_w(address_space &space, 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 d9453aef25c..29d07c5860f 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(offs_t offset, uint8_t data) override; + virtual void s100_sout_w(address_space &space, 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 ae098a2e29c..27cdc021d39 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(offs_t offset) +uint8_t s100_mm65k16s_device::s100_smemr_r(address_space &space, offs_t offset) { uint8_t data = 0xff; @@ -250,7 +250,7 @@ uint8_t s100_mm65k16s_device::s100_smemr_r(offs_t offset) // s100_mwrt_w - memory write //------------------------------------------------- -void s100_mm65k16s_device::s100_mwrt_w(offs_t offset, uint8_t data) +void s100_mm65k16s_device::s100_mwrt_w(address_space &space, 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 10fa1daff7a..e46d13f955e 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(offs_t offset) override; - virtual void s100_mwrt_w(offs_t offset, uint8_t data) override; + 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 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 90d19b3fcb3..8efa1c9f392 100644 --- a/src/devices/bus/s100/nsmdsa.cpp +++ b/src/devices/bus/s100/nsmdsa.cpp @@ -57,11 +57,10 @@ static void mds_a_floppies(device_slot_interface &device) // device_add_mconfig - add device configuration //------------------------------------------------- -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); -} +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 @@ -76,7 +75,8 @@ void s100_mds_a_device::device_add_mconfig(machine_config &config) 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_floppy(*this, "floppy%u", 0U), + m_floppy0(*this, "floppy0"), + m_floppy1(*this, "floppy1"), 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(offs_t offset) +uint8_t s100_mds_a_device::s100_smemr_r(address_space &space, offs_t offset) { return 0xff; } diff --git a/src/devices/bus/s100/nsmdsa.h b/src/devices/bus/s100/nsmdsa.h index a36f39127ec..5bcaf7505c0 100644 --- a/src/devices/bus/s100/nsmdsa.h +++ b/src/devices/bus/s100/nsmdsa.h @@ -39,10 +39,11 @@ protected: virtual void device_add_mconfig(machine_config &config) override; // device_s100_card_interface overrides - virtual uint8_t s100_smemr_r(offs_t offset) override; + virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override; private: - required_device_array<floppy_connector, 2> m_floppy; + required_device<floppy_connector> m_floppy0; + required_device<floppy_connector> m_floppy1; 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 d1358e85bf0..d13f6a7f748 100644 --- a/src/devices/bus/s100/nsmdsad.cpp +++ b/src/devices/bus/s100/nsmdsad.cpp @@ -58,11 +58,10 @@ static void mds_ad_floppies(device_slot_interface &device) // device_add_mconfig - add device configuration //------------------------------------------------- -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); -} +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 @@ -77,7 +76,8 @@ void s100_mds_ad_device::device_add_mconfig(machine_config &config) 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_floppy(*this, "floppy%u", 0U), + m_floppy0(*this, "floppy0"), + m_floppy1(*this, "floppy1"), 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(offs_t offset) +uint8_t s100_mds_ad_device::s100_smemr_r(address_space &space, offs_t offset) { return 0xff; } diff --git a/src/devices/bus/s100/nsmdsad.h b/src/devices/bus/s100/nsmdsad.h index ce5a248d553..f10d3c0af23 100644 --- a/src/devices/bus/s100/nsmdsad.h +++ b/src/devices/bus/s100/nsmdsad.h @@ -39,10 +39,11 @@ protected: virtual void device_add_mconfig(machine_config &config) override; // device_s100_card_interface overrides - virtual uint8_t s100_smemr_r(offs_t offset) override; + virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) override; private: - required_device_array<floppy_connector, 2> m_floppy; + required_device<floppy_connector> m_floppy0; + required_device<floppy_connector> m_floppy1; 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 23333ce500f..dd28ca385d3 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 //------------------------------------------------- -uint8_t s100_bus_device::smemr_r(offs_t offset) +READ8_MEMBER( s100_bus_device::smemr_r ) { uint8_t data = 0xff; @@ -143,7 +143,7 @@ uint8_t s100_bus_device::smemr_r(offs_t offset) while (entry) { - data &= entry->s100_smemr_r(offset); + data &= entry->s100_smemr_r(space, offset); entry = entry->next(); } @@ -155,13 +155,13 @@ uint8_t s100_bus_device::smemr_r(offs_t offset) // mwrt_w - memory write //------------------------------------------------- -void s100_bus_device::mwrt_w(offs_t offset, uint8_t data) +WRITE8_MEMBER( s100_bus_device::mwrt_w ) { device_s100_card_interface *entry = m_device_list.first(); while (entry) { - entry->s100_mwrt_w(offset, data); + entry->s100_mwrt_w(space, offset, data); entry = entry->next(); } } @@ -171,7 +171,7 @@ void s100_bus_device::mwrt_w(offs_t offset, uint8_t data) // sinp_r - I/O read //------------------------------------------------- -uint8_t s100_bus_device::sinp_r(offs_t offset) +READ8_MEMBER( s100_bus_device::sinp_r ) { uint8_t data = 0xff; @@ -179,7 +179,7 @@ uint8_t s100_bus_device::sinp_r(offs_t offset) while (entry) { - data &= entry->s100_sinp_r(offset); + data &= entry->s100_sinp_r(space, offset); entry = entry->next(); } @@ -191,13 +191,13 @@ uint8_t s100_bus_device::sinp_r(offs_t offset) // sout_w - I/O write //------------------------------------------------- -void s100_bus_device::sout_w(offs_t offset, uint8_t data) +WRITE8_MEMBER( s100_bus_device::sout_w ) { device_s100_card_interface *entry = m_device_list.first(); while (entry) { - entry->s100_sout_w(offset, data); + entry->s100_sout_w(space, offset, data); entry = entry->next(); } } diff --git a/src/devices/bus/s100/s100.h b/src/devices/bus/s100/s100.h index f231520f694..6336be291e4 100644 --- a/src/devices/bus/s100/s100.h +++ b/src/devices/bus/s100/s100.h @@ -68,6 +68,68 @@ //************************************************************************** +// 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 //************************************************************************** @@ -99,12 +161,12 @@ public: virtual void s100_vi7_w(int state) { } // memory access - virtual uint8_t s100_smemr_r(offs_t offset) { return 0xff; } - virtual void s100_mwrt_w(offs_t offset, uint8_t data) { } + 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) { } // I/O access - virtual uint8_t s100_sinp_r(offs_t offset) { return 0xff; } - virtual void s100_sout_w(offs_t offset, uint8_t data) { } + 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) { } // configuration access virtual void s100_phlda_w(int state) { } @@ -139,31 +201,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(); } - 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(); } + 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)); } void add_card(device_s100_card_interface *card); - uint8_t smemr_r(offs_t offset); - void mwrt_w(offs_t offset, uint8_t data); + DECLARE_READ8_MEMBER( smemr_r ); + DECLARE_WRITE8_MEMBER( mwrt_w ); - uint8_t sinp_r(offs_t offset); - void sout_w(offs_t offset, uint8_t data); + DECLARE_READ8_MEMBER( sinp_r ); + DECLARE_WRITE8_MEMBER( sout_w ); DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); } DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); } @@ -217,15 +279,6 @@ 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 949c7d6d2c5..9191f8566df 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(offs_t offset) override; - virtual void s100_mwrt_w(offs_t offset, u8 data) override; + 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; // 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(offs_t offset) +u8 s100_8k_sc_device::s100_smemr_r(address_space &space, offs_t offset) { if (board_selected(offset)) return m_ram[offset & 0x1fff]; @@ -216,7 +216,7 @@ u8 s100_8k_sc_device::s100_smemr_r(offs_t offset) // s100_mwrt_w - memory write //------------------------------------------------- -void s100_8k_sc_device::s100_mwrt_w(offs_t offset, u8 data) +void s100_8k_sc_device::s100_mwrt_w(address_space &space, 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 c7db4417dcb..9d307d9053b 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(offs_t offset) +uint8_t s100_wunderbus_device::s100_sinp_r(address_space &space, 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(offs_t offset) break; case 1: - data = m_ace1->ins8250_r(machine().dummy_space(), offset & 0x07); + data = m_ace1->ins8250_r(space, offset & 0x07); break; case 2: - data = m_ace2->ins8250_r(machine().dummy_space(), offset & 0x07); + data = m_ace2->ins8250_r(space, offset & 0x07); break; case 3: - data = m_ace3->ins8250_r(machine().dummy_space(), offset & 0x07); + data = m_ace3->ins8250_r(space, offset & 0x07); break; } } @@ -409,7 +409,7 @@ uint8_t s100_wunderbus_device::s100_sinp_r(offs_t offset) // s100_sout_w - I/O write //------------------------------------------------- -void s100_wunderbus_device::s100_sout_w(offs_t offset, uint8_t data) +void s100_wunderbus_device::s100_sout_w(address_space &space, 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(offs_t offset, uint8_t data) break; case 1: - m_ace1->ins8250_w(machine().dummy_space(), offset & 0x07, data); + m_ace1->ins8250_w(space, offset & 0x07, data); break; case 2: - m_ace2->ins8250_w(machine().dummy_space(), offset & 0x07, data); + m_ace2->ins8250_w(space, offset & 0x07, data); break; case 3: - m_ace3->ins8250_w(machine().dummy_space(), offset & 0x07, data); + m_ace3->ins8250_w(space, offset & 0x07, data); break; } } diff --git a/src/devices/bus/s100/wunderbus.h b/src/devices/bus/s100/wunderbus.h index ca9a6d0e641..540c5cd8b6c 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(offs_t offset) override; - virtual void s100_sout_w(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; private: DECLARE_WRITE_LINE_MEMBER( pic_int_w ); |