diff options
Diffstat (limited to 'src/mess/drivers')
-rw-r--r-- | src/mess/drivers/mac.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/megadriv.c | 22 | ||||
-rw-r--r-- | src/mess/drivers/segapico.c | 33 |
3 files changed, 26 insertions, 31 deletions
diff --git a/src/mess/drivers/mac.c b/src/mess/drivers/mac.c index 56a4c7f95a8..5ba63ada537 100644 --- a/src/mess/drivers/mac.c +++ b/src/mess/drivers/mac.c @@ -202,7 +202,7 @@ READ8_MEMBER( mac_state::mac_sonora_vctl_r ) if (offset == 2) { // printf("Sonora: read monitor ID at PC=%x\n", m_maincpu->pc()); - return (m_montype->read_safe(6)<<4); + return ((m_montype ? m_montype->read() : 6)<<4); } return m_sonora_vctl[offset]; diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c index 34e17a29190..63164a11d0f 100644 --- a/src/mess/drivers/megadriv.c +++ b/src/mess/drivers/megadriv.c @@ -54,14 +54,14 @@ READ8_MEMBER(md_cons_state::mess_md_io_read_data_port) { /* here we read B, C & the additional buttons */ retdata = (m_megadrive_io_data_regs[portnum] & helper_6b) | - (((m_io_pad6b[0][portnum]->read_safe(0) & 0x30) | - (m_io_pad6b[1][portnum]->read_safe(0) & 0x0f)) & ~helper_6b); + ((((m_io_pad6b[0][portnum] ? m_io_pad6b[0][portnum]->read() : 0) & 0x30) | + ((m_io_pad6b[1][portnum] ? m_io_pad6b[1][portnum]->read() : 0) & 0x0f)) & ~helper_6b); } else { /* here we read B, C & the directional buttons */ retdata = (m_megadrive_io_data_regs[portnum] & helper_6b) | - ((m_io_pad6b[0][portnum]->read_safe(0) & 0x3f) & ~helper_6b); + (((m_io_pad6b[0][portnum] ? m_io_pad6b[0][portnum]->read() : 0) & 0x3f) & ~helper_6b); } } else @@ -70,20 +70,20 @@ READ8_MEMBER(md_cons_state::mess_md_io_read_data_port) { /* here we read ((Start & A) >> 2) | 0x00 */ retdata = (m_megadrive_io_data_regs[portnum] & helper_6b) | - (((m_io_pad6b[0][portnum]->read_safe(0) & 0xc0) >> 2) & ~helper_6b); + ((((m_io_pad6b[0][portnum] ? m_io_pad6b[0][portnum]->read() : 0) & 0xc0) >> 2) & ~helper_6b); } else if (m_io_stage[portnum]==2) { /* here we read ((Start & A) >> 2) | 0x0f */ retdata = (m_megadrive_io_data_regs[portnum] & helper_6b) | - ((((m_io_pad6b[0][portnum]->read_safe(0) & 0xc0) >> 2) | 0x0f) & ~helper_6b); + (((((m_io_pad6b[0][portnum] ? m_io_pad6b[0][portnum]->read() : 0) & 0xc0) >> 2) | 0x0f) & ~helper_6b); } else { /* here we read ((Start & A) >> 2) | Up and Down */ retdata = (m_megadrive_io_data_regs[portnum] & helper_6b) | - ((((m_io_pad6b[0][portnum]->read_safe(0) & 0xc0) >> 2) | - (m_io_pad6b[0][portnum]->read_safe(0) & 0x03)) & ~helper_6b); + (((((m_io_pad6b[0][portnum] ? m_io_pad6b[0][portnum]->read() : 0) & 0xc0) >> 2) | + ((m_io_pad6b[0][portnum] ? m_io_pad6b[0][portnum]->read() : 0) & 0x03)) & ~helper_6b); } } @@ -107,14 +107,14 @@ READ8_MEMBER(md_cons_state::mess_md_io_read_data_port) { /* here we read B, C & the directional buttons */ retdata = (m_megadrive_io_data_regs[portnum] & helper_3b) | - (((m_io_pad3b[portnum]->read_safe(0) & 0x3f) | 0x40) & ~helper_3b); + ((((m_io_pad3b[portnum] ? m_io_pad3b[portnum]->read() : 0) & 0x3f) | 0x40) & ~helper_3b); } else { /* here we read ((Start & A) >> 2) | Up and Down */ retdata = (m_megadrive_io_data_regs[portnum] & helper_3b) | - ((((m_io_pad3b[portnum]->read_safe(0) & 0xc0) >> 2) | - (m_io_pad3b[portnum]->read_safe(0) & 0x03) | 0x40) & ~helper_3b); + (((((m_io_pad3b[portnum] ? m_io_pad3b[portnum]->read() : 0) & 0xc0) >> 2) | + ((m_io_pad3b[portnum] ? m_io_pad3b[portnum]->read() : 0) & 0x03) | 0x40) & ~helper_3b); } } @@ -311,7 +311,7 @@ MACHINE_RESET_MEMBER(md_cons_state, ms_megadriv) // same as screen_eof_megadriv but with addition of 32x and SegaCD/MegaCD pieces void md_cons_state::screen_eof_console(screen_device &screen, bool state) { - if (m_io_reset->read_safe(0x00) & 0x01) + if (m_io_reset && (m_io_reset->read() & 0x01)) m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); // rising edge diff --git a/src/mess/drivers/segapico.c b/src/mess/drivers/segapico.c index 805aa14db7c..df93af5705b 100644 --- a/src/mess/drivers/segapico.c +++ b/src/mess/drivers/segapico.c @@ -130,14 +130,19 @@ class pico_base_state : public md_cons_state public: pico_base_state(const machine_config &mconfig, device_type type, const char *tag) : md_cons_state(mconfig, type, tag), - m_upd7759(*this, "7759") { } + m_upd7759(*this, "7759"), + m_io_page(*this, "PAGE"), + m_io_pad(*this, "PAD"), + m_io_penx(*this, "PENX"), + m_io_peny(*this, "PENY") + { } optional_device<upd7759_device> m_upd7759; - ioport_port *m_io_page; - ioport_port *m_io_pad; - ioport_port *m_io_penx; - ioport_port *m_io_peny; + required_ioport m_io_page; + required_ioport m_io_pad; + required_ioport m_io_penx; + required_ioport m_io_peny; UINT8 m_page_register; @@ -171,13 +176,13 @@ UINT16 pico_base_state::pico_read_penpos(int pen) switch (pen) { case PICO_PENX: - penpos = m_io_penx->read_safe(0); + penpos = m_io_penx->read(); penpos |= 0x6; penpos = penpos * 320 / 255; penpos += 0x3d; break; case PICO_PENY: - penpos = m_io_peny->read_safe(0); + penpos = m_io_peny->read(); penpos |= 0x6; penpos = penpos * 251 / 255; penpos += 0x1fc; @@ -197,7 +202,7 @@ READ16_MEMBER(pico_base_state::pico_68k_io_read ) retdata = m_version_hi_nibble; break; case 1: - retdata = m_io_pad->read_safe(0); + retdata = m_io_pad->read(); break; /* @@ -230,7 +235,7 @@ READ16_MEMBER(pico_base_state::pico_68k_io_read ) either page 5 or page 6 is often unused. */ { - UINT8 tmp = m_io_page->read_safe(0); + UINT8 tmp = m_io_page->read(); if (tmp == 2 && m_page_register != 0x3f) { m_page_register <<= 1; @@ -336,11 +341,6 @@ SLOT_INTERFACE_END MACHINE_START_MEMBER(pico_state,pico) { - m_io_page = ioport("PAGE"); - m_io_pad = ioport("PAD"); - m_io_penx = ioport("PENX"); - m_io_peny = ioport("PENY"); - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7fffff, read16_delegate(FUNC(base_md_cart_slot_device::read),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write),(base_md_cart_slot_device*)m_picocart)); m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xa13000, 0xa130ff, read16_delegate(FUNC(base_md_cart_slot_device::read_a13),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write_a13),(base_md_cart_slot_device*)m_picocart)); m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xa15000, 0xa150ff, read16_delegate(FUNC(base_md_cart_slot_device::read_a15),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write_a15),(base_md_cart_slot_device*)m_picocart)); @@ -547,11 +547,6 @@ SLOT_INTERFACE_END MACHINE_START_MEMBER(copera_state,copera) { - m_io_page = ioport("PAGE"); - m_io_pad = ioport("PAD"); - m_io_penx = ioport("PENX"); - m_io_peny = ioport("PENY"); - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7fffff, read16_delegate(FUNC(base_md_cart_slot_device::read),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write),(base_md_cart_slot_device*)m_picocart)); m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xa13000, 0xa130ff, read16_delegate(FUNC(base_md_cart_slot_device::read_a13),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write_a13),(base_md_cart_slot_device*)m_picocart)); m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xa15000, 0xa150ff, read16_delegate(FUNC(base_md_cart_slot_device::read_a15),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write_a15),(base_md_cart_slot_device*)m_picocart)); |