diff options
-rw-r--r-- | src/devices/bus/cpc/cpc_rs232.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/cpc/playcity.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/vme/vme.cpp | 30 | ||||
-rw-r--r-- | src/devices/bus/vme/vme.h | 1 | ||||
-rw-r--r-- | src/devices/bus/vme/vme_mzr8300.cpp | 16 | ||||
-rw-r--r-- | src/devices/bus/wangpc/mcc.cpp | 8 | ||||
-rw-r--r-- | src/devices/bus/wangpc/wdc.cpp | 16 | ||||
-rw-r--r-- | src/devices/machine/z80ctc.cpp | 4 | ||||
-rw-r--r-- | src/devices/machine/z80ctc.h | 4 | ||||
-rw-r--r-- | src/devices/machine/z80dart.cpp | 8 | ||||
-rw-r--r-- | src/devices/machine/z80dart.h | 26 | ||||
-rw-r--r-- | src/devices/machine/z80sio.cpp | 8 | ||||
-rw-r--r-- | src/devices/machine/z80sio.h | 28 | ||||
-rw-r--r-- | src/mame/drivers/abc1600.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/ampro.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/apricot.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/compis.cpp | 6 | ||||
-rw-r--r-- | src/mame/drivers/fs3216.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/mmm.cpp | 33 | ||||
-rw-r--r-- | src/mame/drivers/onyx.cpp | 16 | ||||
-rw-r--r-- | src/mame/drivers/pasopia7.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/proconn.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/rainbow.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/tiki100.cpp | 8 |
24 files changed, 152 insertions, 114 deletions
diff --git a/src/devices/bus/cpc/cpc_rs232.cpp b/src/devices/bus/cpc/cpc_rs232.cpp index d4439ff1eaf..40fc0853539 100644 --- a/src/devices/bus/cpc/cpc_rs232.cpp +++ b/src/devices/bus/cpc/cpc_rs232.cpp @@ -137,12 +137,12 @@ WRITE_LINE_MEMBER(cpc_rs232_device::pit_out2_w) READ8_MEMBER(cpc_rs232_device::dart_r) { - return m_dart->ba_cd_r(space,offset); + return m_dart->ba_cd_r(offset); } WRITE8_MEMBER(cpc_rs232_device::dart_w) { - m_dart->ba_cd_w(space,offset,data); + m_dart->ba_cd_w(offset,data); } READ8_MEMBER(cpc_rs232_device::pit_r) diff --git a/src/devices/bus/cpc/playcity.cpp b/src/devices/bus/cpc/playcity.cpp index 1e6f3b0cfa6..7d444abb03b 100644 --- a/src/devices/bus/cpc/playcity.cpp +++ b/src/devices/bus/cpc/playcity.cpp @@ -87,12 +87,12 @@ void cpc_playcity_device::device_reset() READ8_MEMBER(cpc_playcity_device::ctc_r) { - return m_ctc->read(space,offset); + return m_ctc->read(offset); } WRITE8_MEMBER(cpc_playcity_device::ctc_w) { - m_ctc->write(space,offset,data); + m_ctc->write(offset,data); if(offset == 0) update_ymz_clock(); } diff --git a/src/devices/bus/vme/vme.cpp b/src/devices/bus/vme/vme.cpp index 757874abae2..61ca35c2199 100644 --- a/src/devices/bus/vme/vme.cpp +++ b/src/devices/bus/vme/vme.cpp @@ -359,6 +359,36 @@ void vme_device::install_device(vme_amod_t amod, offs_t start, offs_t end, read8 } } +void vme_device::install_device(vme_amod_t amod, offs_t start, offs_t end, read8smo_delegate rhandler, write8smo_delegate whandler, uint32_t mask) +{ + LOG("%s %s AM%d D%02x\n", tag(), FUNCNAME, amod, m_prgwidth); + + LOG(" - width:%d\n", m_prgwidth); + + // TODO: support address modifiers and buscycles other than single access cycles + switch(amod) + { + case A16_SC: break; + case A24_SC: break; + case A32_SC: break; + default: fatalerror("VME D8: Non supported Address modifier: AM%02x\n", amod); + } + + switch(m_prgwidth) + { + case 16: + m_prgspace->install_readwrite_handler(start, end, rhandler, whandler, (uint16_t)(mask & 0x0000ffff)); + break; + case 24: + m_prgspace->install_readwrite_handler(start, end, rhandler, whandler, (uint32_t)(mask & 0x00ffffff)); + break; + case 32: + m_prgspace->install_readwrite_handler(start, end, rhandler, whandler, mask); + break; + default: fatalerror("VME D8: Bus width %d not supported\n", m_prgwidth); + } +} + // D16 bit devices in A16, A24 and A32 void vme_device::install_device(vme_amod_t amod, offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler, uint32_t mask) { diff --git a/src/devices/bus/vme/vme.h b/src/devices/bus/vme/vme.h index 755330f7689..2849b07f8b3 100644 --- a/src/devices/bus/vme/vme.h +++ b/src/devices/bus/vme/vme.h @@ -183,6 +183,7 @@ public: }; void install_device(vme_amod_t amod, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler, uint32_t mask); void install_device(vme_amod_t amod, offs_t start, offs_t end, read8sm_delegate rhandler, write8sm_delegate whandler, uint32_t mask); + void install_device(vme_amod_t amod, offs_t start, offs_t end, read8smo_delegate rhandler, write8smo_delegate whandler, uint32_t mask); // void install_device(vme_amod_t amod, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler); void install_device(vme_amod_t amod, offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler, uint32_t mask); void install_device(vme_amod_t amod, offs_t start, offs_t end, read32_delegate rhandler, write32_delegate whandler, uint32_t mask); diff --git a/src/devices/bus/vme/vme_mzr8300.cpp b/src/devices/bus/vme/vme_mzr8300.cpp index 362beef2546..133c17e9f49 100644 --- a/src/devices/bus/vme/vme_mzr8300.cpp +++ b/src/devices/bus/vme/vme_mzr8300.cpp @@ -175,17 +175,17 @@ void vme_mzr8300_card_device::device_start() // m_vme->static_set_custom_spaces(*this); m_vme->install_device(vme_device::A16_SC, base + 0, base + 1, // Channel B - Data - read8_delegate(FUNC(z80sio_device::db_r), subdevice<z80sio_device>("sio0")), - write8_delegate(FUNC(z80sio_device::db_w), subdevice<z80sio_device>("sio0")), 0x00ff); + read8smo_delegate(FUNC(z80sio_device::db_r), subdevice<z80sio_device>("sio0")), + write8smo_delegate(FUNC(z80sio_device::db_w), subdevice<z80sio_device>("sio0")), 0x00ff); m_vme->install_device(vme_device::A16_SC, base + 2, base + 3, // Channel B - Control - read8_delegate(FUNC(z80sio_device::cb_r), subdevice<z80sio_device>("sio0")), - write8_delegate(FUNC(z80sio_device::cb_w), subdevice<z80sio_device>("sio0")), 0x00ff); + read8smo_delegate(FUNC(z80sio_device::cb_r), subdevice<z80sio_device>("sio0")), + write8smo_delegate(FUNC(z80sio_device::cb_w), subdevice<z80sio_device>("sio0")), 0x00ff); m_vme->install_device(vme_device::A16_SC, base + 4, base + 5, // Channel A - Data - read8_delegate(FUNC(z80sio_device::da_r), subdevice<z80sio_device>("sio0")), - write8_delegate(FUNC(z80sio_device::da_w), subdevice<z80sio_device>("sio0")), 0x00ff); + read8smo_delegate(FUNC(z80sio_device::da_r), subdevice<z80sio_device>("sio0")), + write8smo_delegate(FUNC(z80sio_device::da_w), subdevice<z80sio_device>("sio0")), 0x00ff); m_vme->install_device(vme_device::A16_SC, base + 6, base + 7, // Channel A - Control - read8_delegate(FUNC(z80sio_device::ca_r), subdevice<z80sio_device>("sio0")), - write8_delegate(FUNC(z80sio_device::ca_w), subdevice<z80sio_device>("sio0")), 0x00ff); + read8smo_delegate(FUNC(z80sio_device::ca_r), subdevice<z80sio_device>("sio0")), + write8smo_delegate(FUNC(z80sio_device::ca_w), subdevice<z80sio_device>("sio0")), 0x00ff); m_vme->install_device(vme_device::A16_SC, base + 0x10, base + 0x13, // Am9513 read8sm_delegate(FUNC(am9513_device::read8), subdevice<am9513_device>("stc")), write8sm_delegate(FUNC(am9513_device::write8), subdevice<am9513_device>("stc")), 0x00ff); diff --git a/src/devices/bus/wangpc/mcc.cpp b/src/devices/bus/wangpc/mcc.cpp index 5b029ed38d2..a3419f7c373 100644 --- a/src/devices/bus/wangpc/mcc.cpp +++ b/src/devices/bus/wangpc/mcc.cpp @@ -143,7 +143,7 @@ uint16_t wangpc_mcc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) case 0x06/2: if (ACCESSING_BITS_0_7) { - data = 0xff00 | m_sio->cd_ba_r(machine().dummy_space(), offset >> 1); + data = 0xff00 | m_sio->cd_ba_r(offset >> 1); } break; @@ -153,7 +153,7 @@ uint16_t wangpc_mcc_device::wangpcbus_iorc_r(offs_t offset, uint16_t mem_mask) case 0x0e/2: if (ACCESSING_BITS_0_7) { - data = 0xff00 | m_dart->cd_ba_r(machine().dummy_space(), offset >> 1); + data = 0xff00 | m_dart->cd_ba_r(offset >> 1); } break; @@ -208,14 +208,14 @@ void wangpc_mcc_device::wangpcbus_aiowc_w(offs_t offset, uint16_t mem_mask, uint case 0x02/2: case 0x04/2: case 0x06/2: - m_sio->cd_ba_w(machine().dummy_space(), offset >> 1, data & 0xff); + m_sio->cd_ba_w(offset >> 1, data & 0xff); break; case 0x08/2: case 0x0a/2: case 0x0c/2: case 0x0e/2: - m_dart->cd_ba_w(machine().dummy_space(), offset >> 1, data & 0xff); + m_dart->cd_ba_w(offset >> 1, data & 0xff); break; case 0x12/2: diff --git a/src/devices/bus/wangpc/wdc.cpp b/src/devices/bus/wangpc/wdc.cpp index 2ad74d8c8fd..8b816a50ece 100644 --- a/src/devices/bus/wangpc/wdc.cpp +++ b/src/devices/bus/wangpc/wdc.cpp @@ -325,11 +325,11 @@ WRITE8_MEMBER( wangpc_wdc_device::status_w ) } -READ8_MEMBER( wangpc_wdc_device::ctc_ch0_r ) { return m_ctc->read(machine().dummy_space(), 0); } -WRITE8_MEMBER( wangpc_wdc_device::ctc_ch0_w ) { m_ctc->write(machine().dummy_space(), 0, data); } -READ8_MEMBER( wangpc_wdc_device::ctc_ch1_r ) { return m_ctc->read(machine().dummy_space(), 1); } -WRITE8_MEMBER( wangpc_wdc_device::ctc_ch1_w ) { m_ctc->write(machine().dummy_space(), 1, data); } -READ8_MEMBER( wangpc_wdc_device::ctc_ch2_r ) { return m_ctc->read(machine().dummy_space(), 2); } -WRITE8_MEMBER( wangpc_wdc_device::ctc_ch2_w ) { m_ctc->write(machine().dummy_space(), 2, data); } -READ8_MEMBER( wangpc_wdc_device::ctc_ch3_r ) { return m_ctc->read(machine().dummy_space(), 3); } -WRITE8_MEMBER( wangpc_wdc_device::ctc_ch3_w ) { m_ctc->write(machine().dummy_space(), 3, data); } +READ8_MEMBER( wangpc_wdc_device::ctc_ch0_r ) { return m_ctc->read(0); } +WRITE8_MEMBER( wangpc_wdc_device::ctc_ch0_w ) { m_ctc->write(0, data); } +READ8_MEMBER( wangpc_wdc_device::ctc_ch1_r ) { return m_ctc->read(1); } +WRITE8_MEMBER( wangpc_wdc_device::ctc_ch1_w ) { m_ctc->write(1, data); } +READ8_MEMBER( wangpc_wdc_device::ctc_ch2_r ) { return m_ctc->read(2); } +WRITE8_MEMBER( wangpc_wdc_device::ctc_ch2_w ) { m_ctc->write(2, data); } +READ8_MEMBER( wangpc_wdc_device::ctc_ch3_r ) { return m_ctc->read(3); } +WRITE8_MEMBER( wangpc_wdc_device::ctc_ch3_w ) { m_ctc->write(3, data); } diff --git a/src/devices/machine/z80ctc.cpp b/src/devices/machine/z80ctc.cpp index 1bd0f887397..74adf998feb 100644 --- a/src/devices/machine/z80ctc.cpp +++ b/src/devices/machine/z80ctc.cpp @@ -91,7 +91,7 @@ z80ctc_device::z80ctc_device(const machine_config &mconfig, const char *tag, dev // read - standard handler for reading //------------------------------------------------- -READ8_MEMBER( z80ctc_device::read ) +uint8_t z80ctc_device::read(offs_t offset) { return m_channel[offset & 3]->read(); } @@ -101,7 +101,7 @@ READ8_MEMBER( z80ctc_device::read ) // write - standard handler for writing //------------------------------------------------- -WRITE8_MEMBER( z80ctc_device::write ) +void z80ctc_device::write(offs_t offset, uint8_t data) { m_channel[offset & 3]->write(data); } diff --git a/src/devices/machine/z80ctc.h b/src/devices/machine/z80ctc.h index 0b388eb3933..98dd852ddd2 100644 --- a/src/devices/machine/z80ctc.h +++ b/src/devices/machine/z80ctc.h @@ -88,8 +88,8 @@ public: template <int Channel> void set_clk(const XTAL &xtal) { channel_config(Channel).set_clock(xtal); } // read/write handlers - DECLARE_READ8_MEMBER( read ); - DECLARE_WRITE8_MEMBER( write ); + uint8_t read(offs_t offset); + void write(offs_t offset, uint8_t data); DECLARE_WRITE_LINE_MEMBER( trg0 ); DECLARE_WRITE_LINE_MEMBER( trg1 ); DECLARE_WRITE_LINE_MEMBER( trg2 ); diff --git a/src/devices/machine/z80dart.cpp b/src/devices/machine/z80dart.cpp index 05a7aef03f3..116f9264598 100644 --- a/src/devices/machine/z80dart.cpp +++ b/src/devices/machine/z80dart.cpp @@ -392,7 +392,7 @@ int z80dart_device::m1_r() // cd_ba_r - //------------------------------------------------- -READ8_MEMBER( z80dart_device::cd_ba_r ) +uint8_t z80dart_device::cd_ba_r(offs_t offset) { int ba = BIT(offset, 0); int cd = BIT(offset, 1); @@ -406,7 +406,7 @@ READ8_MEMBER( z80dart_device::cd_ba_r ) // cd_ba_w - //------------------------------------------------- -WRITE8_MEMBER( z80dart_device::cd_ba_w ) +void z80dart_device::cd_ba_w(offs_t offset, uint8_t data) { int ba = BIT(offset, 0); int cd = BIT(offset, 1); @@ -423,7 +423,7 @@ WRITE8_MEMBER( z80dart_device::cd_ba_w ) // ba_cd_r - //------------------------------------------------- -READ8_MEMBER( z80dart_device::ba_cd_r ) +uint8_t z80dart_device::ba_cd_r(offs_t offset) { int ba = BIT(offset, 1); int cd = BIT(offset, 0); @@ -437,7 +437,7 @@ READ8_MEMBER( z80dart_device::ba_cd_r ) // ba_cd_w - //------------------------------------------------- -WRITE8_MEMBER( z80dart_device::ba_cd_w ) +void z80dart_device::ba_cd_w(offs_t offset, uint8_t data) { int ba = BIT(offset, 1); int cd = BIT(offset, 0); diff --git a/src/devices/machine/z80dart.h b/src/devices/machine/z80dart.h index 6abceefa5d9..976eafe7f7b 100644 --- a/src/devices/machine/z80dart.h +++ b/src/devices/machine/z80dart.h @@ -418,20 +418,20 @@ public: m_txcb = txb; } - DECLARE_READ8_MEMBER( cd_ba_r ); - DECLARE_WRITE8_MEMBER( cd_ba_w ); - DECLARE_READ8_MEMBER( ba_cd_r ); - DECLARE_WRITE8_MEMBER( ba_cd_w ); + uint8_t cd_ba_r(offs_t offset); + void cd_ba_w(offs_t offset, uint8_t data); + uint8_t ba_cd_r(offs_t offset); + void ba_cd_w(offs_t offset, uint8_t data); - DECLARE_READ8_MEMBER( da_r ) { return m_chanA->data_read(); } - DECLARE_WRITE8_MEMBER( da_w ) { m_chanA->data_write(data); } - DECLARE_READ8_MEMBER( db_r ) { return m_chanB->data_read(); } - DECLARE_WRITE8_MEMBER( db_w ) { m_chanB->data_write(data); } + uint8_t da_r() { return m_chanA->data_read(); } + void da_w(uint8_t data) { m_chanA->data_write(data); } + uint8_t db_r() { return m_chanB->data_read(); } + void db_w(uint8_t data) { m_chanB->data_write(data); } - DECLARE_READ8_MEMBER( ca_r ) { return m_chanA->control_read(); } - DECLARE_WRITE8_MEMBER( ca_w ) { m_chanA->control_write(data); } - DECLARE_READ8_MEMBER( cb_r ) { return m_chanB->control_read(); } - DECLARE_WRITE8_MEMBER( cb_w ) { m_chanB->control_write(data); } + uint8_t ca_r() { return m_chanA->control_read(); } + void ca_w(uint8_t data) { m_chanA->control_write(data); } + uint8_t cb_r() { return m_chanB->control_read(); } + void cb_w(uint8_t data) { m_chanB->control_write(data); } // interrupt acknowledge int m1_r(); @@ -580,7 +580,7 @@ public: // construction/destruction i8274_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_READ8_MEMBER( inta_r ) { return m1_r(); }; + uint8_t inta_r() { return m1_r(); }; }; diff --git a/src/devices/machine/z80sio.cpp b/src/devices/machine/z80sio.cpp index 8337aeafdf6..b985340e576 100644 --- a/src/devices/machine/z80sio.cpp +++ b/src/devices/machine/z80sio.cpp @@ -845,7 +845,7 @@ int i8274_new_device::m1_r() //------------------------------------------------- // cd_ba_r - //------------------------------------------------- -READ8_MEMBER( z80sio_device::cd_ba_r ) +uint8_t z80sio_device::cd_ba_r(offs_t offset) { int ba = BIT(offset, 0); int cd = BIT(offset, 1); @@ -858,7 +858,7 @@ READ8_MEMBER( z80sio_device::cd_ba_r ) //------------------------------------------------- // cd_ba_w - //------------------------------------------------- -WRITE8_MEMBER( z80sio_device::cd_ba_w ) +void z80sio_device::cd_ba_w(offs_t offset, uint8_t data) { int ba = BIT(offset, 0); int cd = BIT(offset, 1); @@ -874,7 +874,7 @@ WRITE8_MEMBER( z80sio_device::cd_ba_w ) //------------------------------------------------- // ba_cd_r - //------------------------------------------------- -READ8_MEMBER( z80sio_device::ba_cd_r ) +uint8_t z80sio_device::ba_cd_r(offs_t offset) { int ba = BIT(offset, 1); int cd = BIT(offset, 0); @@ -887,7 +887,7 @@ READ8_MEMBER( z80sio_device::ba_cd_r ) //------------------------------------------------- // ba_cd_w - //------------------------------------------------- -WRITE8_MEMBER( z80sio_device::ba_cd_w ) +void z80sio_device::ba_cd_w(offs_t offset, uint8_t data) { int ba = BIT(offset, 1); int cd = BIT(offset, 0); diff --git a/src/devices/machine/z80sio.h b/src/devices/machine/z80sio.h index eff587dc281..fabe6a20bfc 100644 --- a/src/devices/machine/z80sio.h +++ b/src/devices/machine/z80sio.h @@ -305,20 +305,20 @@ public: template <typename T> void set_cputag(T &&tag) { m_hostcpu.set_tag(std::forward<T>(tag)); } - DECLARE_READ8_MEMBER( cd_ba_r ); - DECLARE_WRITE8_MEMBER( cd_ba_w ); - DECLARE_READ8_MEMBER( ba_cd_r ); - DECLARE_WRITE8_MEMBER( ba_cd_w ); - - DECLARE_READ8_MEMBER( da_r ) { return m_chanA->data_read(); } - DECLARE_WRITE8_MEMBER( da_w ) { m_chanA->data_write(data); } - DECLARE_READ8_MEMBER( db_r ) { return m_chanB->data_read(); } - DECLARE_WRITE8_MEMBER( db_w ) { m_chanB->data_write(data); } - - DECLARE_READ8_MEMBER( ca_r ) { return m_chanA->control_read(); } - DECLARE_WRITE8_MEMBER( ca_w ) { m_chanA->control_write(data); } - DECLARE_READ8_MEMBER( cb_r ) { return m_chanB->control_read(); } - DECLARE_WRITE8_MEMBER( cb_w ) { m_chanB->control_write(data); } + uint8_t cd_ba_r(offs_t offset); + void cd_ba_w(offs_t offset, uint8_t data); + uint8_t ba_cd_r(offs_t offset); + void ba_cd_w(offs_t offset, uint8_t data); + + uint8_t da_r() { return m_chanA->data_read(); } + void da_w(uint8_t data) { m_chanA->data_write(data); } + uint8_t db_r() { return m_chanB->data_read(); } + void db_w(uint8_t data) { m_chanB->data_write(data); } + + uint8_t ca_r() { return m_chanA->control_read(); } + void ca_w(uint8_t data) { m_chanA->control_write(data); } + uint8_t cb_r() { return m_chanB->control_read(); } + void cb_w(uint8_t data) { m_chanB->control_write(data); } // interrupt acknowledge virtual int m1_r(); diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp index c2d2c817d0a..0b04337d1cb 100644 --- a/src/mame/drivers/abc1600.cpp +++ b/src/mame/drivers/abc1600.cpp @@ -605,12 +605,12 @@ void abc1600_state::update_drdy2() READ8_MEMBER( abc1600_state::dart_r ) { - return m_dart->ba_cd_r(space, A2_A1 ^ 0x03); + return m_dart->ba_cd_r(A2_A1 ^ 0x03); } WRITE8_MEMBER( abc1600_state::dart_w ) { - m_dart->ba_cd_w(space, A2_A1 ^ 0x03, data); + m_dart->ba_cd_w(A2_A1 ^ 0x03, data); } //------------------------------------------------- diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp index 74a7b2e1f43..b5c7cbce501 100644 --- a/src/mame/drivers/ampro.cpp +++ b/src/mame/drivers/ampro.cpp @@ -88,17 +88,17 @@ WRITE8_MEMBER( ampro_state::port00_w ) READ8_MEMBER( ampro_state::io_r ) { if (offset < 0x40) - return m_ctc->read(space, offset>>4); + return m_ctc->read(offset>>4); else - return m_dart->ba_cd_r(space, offset>>2); + return m_dart->ba_cd_r(offset>>2); } WRITE8_MEMBER( ampro_state::io_w ) { if (offset < 0x40) - m_ctc->write(space, offset>>4, data); + m_ctc->write(offset>>4, data); else - m_dart->ba_cd_w(space, offset>>2, data); + m_dart->ba_cd_w(offset>>2, data); } void ampro_state::ampro_mem(address_map &map) diff --git a/src/mame/drivers/apricot.cpp b/src/mame/drivers/apricot.cpp index b27900d1abe..9d605409ffc 100644 --- a/src/mame/drivers/apricot.cpp +++ b/src/mame/drivers/apricot.cpp @@ -212,7 +212,7 @@ READ8_MEMBER( apricot_state::sio_da_r ) if (m_bus_locked) return m_sio->m1_r(); - return m_sio->da_r(space, offset); + return m_sio->da_r(); } READ8_MEMBER( apricot_state::sio_ca_r ) @@ -220,7 +220,7 @@ READ8_MEMBER( apricot_state::sio_ca_r ) if (m_bus_locked) return m_sio->m1_r(); - return m_sio->ca_r(space, offset); + return m_sio->ca_r(); } READ8_MEMBER( apricot_state::sio_cb_r ) @@ -228,7 +228,7 @@ READ8_MEMBER( apricot_state::sio_cb_r ) if (m_bus_locked) return m_sio->m1_r(); - return m_sio->cb_r(space, offset); + return m_sio->cb_r(); } READ8_MEMBER( apricot_state::sio_db_r ) @@ -236,7 +236,7 @@ READ8_MEMBER( apricot_state::sio_db_r ) if (m_bus_locked) return m_sio->m1_r(); - return m_sio->db_r(space, offset); + return m_sio->db_r(); } diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp index b8d28f9254e..8883140629e 100644 --- a/src/mame/drivers/compis.cpp +++ b/src/mame/drivers/compis.cpp @@ -199,7 +199,7 @@ READ16_MEMBER( compis_state::pcs6_2_3_r ) { if (ACCESSING_BITS_0_7) { - return m_mpsc->inta_r(space, 0); + return m_mpsc->inta_r(); } else { @@ -222,7 +222,7 @@ READ16_MEMBER( compis_state::pcs6_4_5_r ) { if (ACCESSING_BITS_0_7) { - return m_mpsc->cd_ba_r(space, offset & 0x03); + return m_mpsc->cd_ba_r(offset & 0x03); } else { @@ -237,7 +237,7 @@ WRITE16_MEMBER( compis_state::pcs6_4_5_w ) { if (ACCESSING_BITS_0_7) { - m_mpsc->cd_ba_w(space, offset & 0x03, data); + m_mpsc->cd_ba_w(offset & 0x03, data); } else { diff --git a/src/mame/drivers/fs3216.cpp b/src/mame/drivers/fs3216.cpp index cbe6aa178df..19dbda235b7 100644 --- a/src/mame/drivers/fs3216.cpp +++ b/src/mame/drivers/fs3216.cpp @@ -58,8 +58,8 @@ private: u16 irq_r(); IRQ_CALLBACK_MEMBER(intack); - DECLARE_READ8_MEMBER(ctc_r); - DECLARE_WRITE8_MEMBER(ctc_w); + u8 ctc_r(offs_t offset); + void ctc_w(offs_t offset, u8 data); u16 earom_recall_r(); u16 earom_store_r(); @@ -226,14 +226,14 @@ IRQ_CALLBACK_MEMBER(fs3216_state::intack) return m_vecprom[irqline]; } -READ8_MEMBER(fs3216_state::ctc_r) +u8 fs3216_state::ctc_r(offs_t offset) { - return m_ctc->read(space, offset >> 1); + return m_ctc->read(offset >> 1); } -WRITE8_MEMBER(fs3216_state::ctc_w) +void fs3216_state::ctc_w(offs_t offset, u8 data) { - m_ctc->write(space, offset >> 1, data); + m_ctc->write(offset >> 1, data); } u16 fs3216_state::earom_recall_r() diff --git a/src/mame/drivers/mmm.cpp b/src/mame/drivers/mmm.cpp index 0f077d6d761..2e2e2f9dc45 100644 --- a/src/mame/drivers/mmm.cpp +++ b/src/mame/drivers/mmm.cpp @@ -26,9 +26,12 @@ public: void mmm(machine_config &config); private: - DECLARE_WRITE8_MEMBER(strobe_w); - DECLARE_READ8_MEMBER(inputs_r); - DECLARE_WRITE8_MEMBER(ay_porta_w); + void strobe_w(u8 data); + u8 inputs_r(); + void ay_porta_w(u8 data); + + u8 ctc_r(offs_t offset); + void ctc_w(offs_t offset, u8 data); void io_map(address_map &map); void mem_map(address_map &map); @@ -40,12 +43,12 @@ private: }; -WRITE8_MEMBER(mmm_state::strobe_w) +void mmm_state::strobe_w(u8 data) { m_strobe = data; } -READ8_MEMBER(mmm_state::inputs_r) +u8 mmm_state::inputs_r() { u8 result = 0xff; for (int i = 0; i < 8; i++) @@ -54,11 +57,21 @@ READ8_MEMBER(mmm_state::inputs_r) return result; } -WRITE8_MEMBER(mmm_state::ay_porta_w) +void mmm_state::ay_porta_w(u8 data) { logerror("Writing %02X to AY-3-8910 port A\n", data); } +u8 mmm_state::ctc_r(offs_t offset) +{ + return m_ctc->read(offset >> 4); +} + +void mmm_state::ctc_w(offs_t offset, u8 data) +{ + m_ctc->write(offset >> 4, data); +} + void mmm_state::mem_map(address_map &map) { map(0x0000, 0x3fff).rom(); @@ -72,13 +85,7 @@ void mmm_state::io_map(address_map &map) map(0x03, 0x03).w("aysnd", FUNC(ay8910_device::address_w)); map(0x04, 0x04).w("aysnd", FUNC(ay8910_device::data_w)); map(0x05, 0x05).r("aysnd", FUNC(ay8910_device::data_r)); - map(0x06, 0x06).select(0x30).lrw8("ctc_rw", - [this](address_space &space, offs_t offset, u8 mem_mask) { - return m_ctc->read(space, offset >> 4, mem_mask); - }, - [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { - m_ctc->write(space, offset >> 4, data, mem_mask); - }); + map(0x06, 0x06).select(0x30).rw(FUNC(mmm_state::ctc_r), FUNC(mmm_state::ctc_w)); map(0x07, 0x07).r(FUNC(mmm_state::inputs_r)); } diff --git a/src/mame/drivers/onyx.cpp b/src/mame/drivers/onyx.cpp index 2159d1f04a4..69fe4f6be11 100644 --- a/src/mame/drivers/onyx.cpp +++ b/src/mame/drivers/onyx.cpp @@ -98,14 +98,14 @@ void onyx_state::z8002_m1_w(uint8_t data) void onyx_state::c8002_io(address_map &map) { - map(0xff00, 0xff07).lrw8("sio1_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio[0]->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio[0]->cd_ba_w(space, offset >> 1, data, mem_mask); }); - map(0xff08, 0xff0f).lrw8("sio2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio[1]->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio[1]->cd_ba_w(space, offset >> 1, data, mem_mask); }); - map(0xff10, 0xff17).lrw8("sio3_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio[2]->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio[2]->cd_ba_w(space, offset >> 1, data, mem_mask); }); - map(0xff18, 0xff1f).lrw8("sio4_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio[3]->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio[3]->cd_ba_w(space, offset >> 1, data, mem_mask); }); - map(0xff20, 0xff27).lrw8("sio5_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_sio[4]->cd_ba_r(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_sio[4]->cd_ba_w(space, offset >> 1, data, mem_mask); }); - map(0xff30, 0xff37).lrw8("ctc1_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ctc[0]->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ctc[0]->write(space, offset >> 1, data, mem_mask); }); - map(0xff38, 0xff3f).lrw8("ctc2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ctc[1]->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ctc[1]->write(space, offset >> 1, data, mem_mask); }); - map(0xff40, 0xff47).lrw8("ctc3_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_ctc[2]->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_ctc[2]->write(space, offset >> 1, data, mem_mask); }); + map(0xff00, 0xff07).lrw8("sio1_rw", [this](offs_t offset) { return m_sio[0]->cd_ba_r(offset >> 1); }, [this](offs_t offset, u8 data) { m_sio[0]->cd_ba_w(offset >> 1, data); }); + map(0xff08, 0xff0f).lrw8("sio2_rw", [this](offs_t offset) { return m_sio[1]->cd_ba_r(offset >> 1); }, [this](offs_t offset, u8 data) { m_sio[1]->cd_ba_w(offset >> 1, data); }); + map(0xff10, 0xff17).lrw8("sio3_rw", [this](offs_t offset) { return m_sio[2]->cd_ba_r(offset >> 1); }, [this](offs_t offset, u8 data) { m_sio[2]->cd_ba_w(offset >> 1, data); }); + map(0xff18, 0xff1f).lrw8("sio4_rw", [this](offs_t offset) { return m_sio[3]->cd_ba_r(offset >> 1); }, [this](offs_t offset, u8 data) { m_sio[3]->cd_ba_w(offset >> 1, data); }); + map(0xff20, 0xff27).lrw8("sio5_rw", [this](offs_t offset) { return m_sio[4]->cd_ba_r(offset >> 1); }, [this](offs_t offset, u8 data) { m_sio[4]->cd_ba_w(offset >> 1, data); }); + map(0xff30, 0xff37).lrw8("ctc1_rw", [this](offs_t offset, u8 mem_mask) { return m_ctc[0]->read(offset >> 1); }, [this](offs_t offset, u8 data) { m_ctc[0]->write(offset >> 1, data); }); + map(0xff38, 0xff3f).lrw8("ctc2_rw", [this](offs_t offset) { return m_ctc[1]->read(offset >> 1); }, [this](offs_t offset, u8 data) { m_ctc[1]->write(offset >> 1, data); }); + map(0xff40, 0xff47).lrw8("ctc3_rw", [this](offs_t offset) { return m_ctc[2]->read(offset >> 1); }, [this](offs_t offset, u8 data) { m_ctc[2]->write(offset >> 1, data); }); map(0xff50, 0xff57).lrw8("pio1_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_pio[0]->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_pio[0]->write(space, offset >> 1, data, mem_mask); }); map(0xff58, 0xff5f).lrw8("pio2_rw", [this](address_space &space, offs_t offset, u8 mem_mask) { return m_pio[1]->read(space, offset >> 1, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask) { m_pio[1]->write(space, offset >> 1, data, mem_mask); }); map(0xffb9, 0xffb9).w(FUNC(onyx_state::z8002_m1_w)); diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp index 96ba59b0c1c..3ee610c955f 100644 --- a/src/mame/drivers/pasopia7.cpp +++ b/src/mame/drivers/pasopia7.cpp @@ -630,7 +630,7 @@ READ8_MEMBER( pasopia7_state::pasopia7_io_r ) } else if(io_port >= 0x28 && io_port <= 0x2b) - return m_ctc->read(space,io_port & 3); + return m_ctc->read(io_port & 3); else if(io_port >= 0x30 && io_port <= 0x33) return m_pio->read(space, io_port & 3); @@ -681,7 +681,7 @@ WRITE8_MEMBER( pasopia7_state::pasopia7_io_w ) } else if(io_port >= 0x28 && io_port <= 0x2b) - m_ctc->write(space, io_port & 3, data); + m_ctc->write(io_port & 3, data); else if(io_port >= 0x30 && io_port <= 0x33) m_pio->write(space, io_port & 3, data); diff --git a/src/mame/drivers/proconn.cpp b/src/mame/drivers/proconn.cpp index 949c1cc24f4..45f469e39b6 100644 --- a/src/mame/drivers/proconn.cpp +++ b/src/mame/drivers/proconn.cpp @@ -61,9 +61,9 @@ public: private: template <unsigned N> DECLARE_WRITE8_MEMBER( ay_w ) { m_ay->address_data_w(N, data); } - template <unsigned N> DECLARE_WRITE8_MEMBER( ctc_w ) { m_z80ctc->write(space, N, data); } + template <unsigned N> DECLARE_WRITE8_MEMBER( ctc_w ) { m_z80ctc->write(N, data); } - template <unsigned N> DECLARE_WRITE8_MEMBER( sio_w ) { m_z80sio->cd_ba_w(space, N, data); } + template <unsigned N> DECLARE_WRITE8_MEMBER( sio_w ) { m_z80sio->cd_ba_w(N, data); } template <unsigned N> DECLARE_WRITE8_MEMBER( pio1_w ) { m_z80pio[0]->write(space, N, data); } template <unsigned N> DECLARE_WRITE8_MEMBER( pio2_w ) { m_z80pio[1]->write(space, N, data); } @@ -71,9 +71,9 @@ private: template <unsigned N> DECLARE_WRITE8_MEMBER( pio4_w ) { m_z80pio[3]->write(space, N, data); } template <unsigned N> DECLARE_WRITE8_MEMBER( pio5_w ) { m_z80pio[4]->write(space, N, data); } - template <unsigned N> DECLARE_READ8_MEMBER( ctc_r ) { return m_z80ctc->read(space, N); } + template <unsigned N> DECLARE_READ8_MEMBER( ctc_r ) { return m_z80ctc->read(N); } - template <unsigned N> DECLARE_READ8_MEMBER( sio_r ) { return m_z80sio->cd_ba_r(space, N); } + template <unsigned N> DECLARE_READ8_MEMBER( sio_r ) { return m_z80sio->cd_ba_r(N); } template <unsigned N> DECLARE_READ8_MEMBER( pio1_r ) { return m_z80pio[0]->read(space, N); } template <unsigned N> DECLARE_READ8_MEMBER( pio2_r ) { return m_z80pio[1]->read(space, N); } diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp index 8a5a415c846..d743b9afad3 100644 --- a/src/mame/drivers/rainbow.cpp +++ b/src/mame/drivers/rainbow.cpp @@ -2756,7 +2756,7 @@ WRITE8_MEMBER(rainbow_state::diagnostic_w) // 8088 (port 0A WRITTEN). Fig.4-28 + // Install 8088 read / write handler once loopback test is over if ( !(data & 32) && (m_diagnostic & 32) ) { - io.install_readwrite_handler(0x40, 0x43, READ8_DEVICE_DELEGATE(m_mpsc, upd7201_new_device,cd_ba_r), WRITE8_DEVICE_DELEGATE(m_mpsc, upd7201_new_device, cd_ba_w) ); + io.install_readwrite_handler(0x40, 0x43, read8sm_delegate(FUNC(upd7201_new_device::cd_ba_r), &*m_mpsc), write8sm_delegate(FUNC(upd7201_new_device::cd_ba_w), &*m_mpsc)); logerror("\n **** COMM HANDLER INSTALLED **** "); //popmessage("Autoboot from drive %c", m_p_nvram[0xab] ? (64 + m_p_nvram[0xab]) : 0x3F ); } diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp index 28c4802139f..11e533f549d 100644 --- a/src/mame/drivers/tiki100.cpp +++ b/src/mame/drivers/tiki100.cpp @@ -98,7 +98,7 @@ READ8_MEMBER( tiki100_state::iorq_r ) break; case 0x01: // SERS - data = m_dart->cd_ba_r(space, offset & 0x03); + data = m_dart->cd_ba_r(offset & 0x03); break; case 0x02: // PARS @@ -119,7 +119,7 @@ READ8_MEMBER( tiki100_state::iorq_r ) break; case 0x06: // TIMS - data = m_ctc->read(space, offset & 0x03); + data = m_ctc->read(offset & 0x03); break; } @@ -137,7 +137,7 @@ WRITE8_MEMBER( tiki100_state::iorq_w ) break; case 0x01: // SERS - m_dart->cd_ba_w(space, offset & 0x03, data); + m_dart->cd_ba_w(offset & 0x03, data); break; case 0x02: // PARS @@ -170,7 +170,7 @@ WRITE8_MEMBER( tiki100_state::iorq_w ) break; case 0x06: // TIMS - m_ctc->write(space, offset & 0x03, data); + m_ctc->write(offset & 0x03, data); break; case 0x07: // SYL |