From 4d45aa5f7249f25a18cbe2f107732c561fea4a9d Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Sat, 23 Mar 2013 13:21:21 +0000 Subject: [PATCH] clean up. nw. --- src/mess/drivers/megadriv.c | 4 ++-- src/mess/machine/md_slot.h | 12 ++++++++---- src/mess/machine/md_svp.c | 5 +++++ src/mess/machine/md_svp.h | 2 ++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c index 3c6080aa84b..ac1c73484f5 100644 --- a/src/mess/drivers/megadriv.c +++ b/src/mess/drivers/megadriv.c @@ -123,8 +123,8 @@ static UINT8 mess_md_io_read_data_port(running_machine &machine, int portnum) else { UINT8 svp_test = 0; - if (machine.root_device().ioport(":mdslot:rom_svp:MEMORY_TEST")) - svp_test = state->ioport(":mdslot:rom_svp:MEMORY_TEST")->read(); + if (state->m_slotcart) + svp_test = state->m_slotcart->read_test(); // handle test input for SVP test if (portnum == 0 && svp_test) diff --git a/src/mess/machine/md_slot.h b/src/mess/machine/md_slot.h index 7aa79fcc7ce..f13be90b26e 100644 --- a/src/mess/machine/md_slot.h +++ b/src/mess/machine/md_slot.h @@ -95,10 +95,12 @@ public: // reading and writing virtual DECLARE_READ16_MEMBER(read) { return 0xffff; } virtual DECLARE_WRITE16_MEMBER(write) {} - virtual DECLARE_READ16_MEMBER(read_a13) { return 0xffff; }; - virtual DECLARE_WRITE16_MEMBER(write_a13) {}; - virtual DECLARE_READ16_MEMBER(read_a15) { return 0xffff; }; - virtual DECLARE_WRITE16_MEMBER(write_a15) {}; + virtual DECLARE_READ16_MEMBER(read_a13) { return 0xffff; } + virtual DECLARE_WRITE16_MEMBER(write_a13) {} + virtual DECLARE_READ16_MEMBER(read_a15) { return 0xffff; } + virtual DECLARE_WRITE16_MEMBER(write_a15) {} + + virtual int read_test() { return 0; } // used by Virtua Racing test /* this probably should do more, like make Genesis V2 'die' if the SEGA string is not written promptly */ virtual DECLARE_WRITE16_MEMBER(write_tmss_bank) { logerror("Write to TMSS bank: offset %x data %x\n", 0xa14000 + (offset << 1), data); }; @@ -183,6 +185,8 @@ public: virtual DECLARE_WRITE16_MEMBER(write_a15); virtual DECLARE_WRITE16_MEMBER(write_tmss_bank) { if (m_cart) m_cart->write_tmss_bank(space, offset, data, mem_mask); }; + virtual int read_test() { if (m_cart) return m_cart->read_test(); else return 0; } // used by Virtua Racing test + // TODO: this only needs to be public because megasvp copies rom into memory region, so we need to rework that code... //private: diff --git a/src/mess/machine/md_svp.c b/src/mess/machine/md_svp.c index 5dddc1c3213..3389b2b9e7f 100644 --- a/src/mess/machine/md_svp.c +++ b/src/mess/machine/md_svp.c @@ -301,6 +301,11 @@ READ16_MEMBER( md_rom_svp_device::rom_read2 ) return m_rom[offset + 0x800/2]; } +int md_rom_svp_device::read_test() +{ + return m_test_ipt->read(); +} + static INPUT_PORTS_START( md_svp ) PORT_START("MEMORY_TEST") /* special memtest mode */ diff --git a/src/mess/machine/md_svp.h b/src/mess/machine/md_svp.h index 48e50f8b48f..9f7cda8acb3 100644 --- a/src/mess/machine/md_svp.h +++ b/src/mess/machine/md_svp.h @@ -35,6 +35,8 @@ public: virtual DECLARE_READ16_MEMBER(read_a15); virtual DECLARE_WRITE16_MEMBER(write_a15); + virtual int read_test(); + virtual DECLARE_READ16_MEMBER(rom_read1); virtual DECLARE_READ16_MEMBER(rom_read2);