From a0a3fffa8b6f254fb13a19f94de1d38eb5edbbf1 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Thu, 7 Jun 2012 18:41:49 +0000 Subject: [PATCH] Experimental, and somewhat gross, fix for the MIE issues [O. Galibert] --- src/mame/machine/maple-dc.c | 2 +- src/mame/machine/mapledev.c | 5 +++++ src/mame/machine/mapledev.h | 1 + src/mame/machine/mie.c | 4 +++- src/mame/machine/mie.h | 1 + 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mame/machine/maple-dc.c b/src/mame/machine/maple-dc.c index 489ec114e1e..baab18ccee8 100644 --- a/src/mame/machine/maple-dc.c +++ b/src/mame/machine/maple-dc.c @@ -157,7 +157,7 @@ void maple_dc_device::dma_step() break; case 3: // reset if(devices[dma_port]) - devices[dma_port]->reset(); + devices[dma_port]->maple_reset(); break; case 4: // sdckb occupy cancel logerror("MAPLE: sdckb occupy cancel\n"); diff --git a/src/mame/machine/mapledev.c b/src/mame/machine/mapledev.c index ffe35fde062..4b13c5536b2 100644 --- a/src/mame/machine/mapledev.c +++ b/src/mame/machine/mapledev.c @@ -29,6 +29,11 @@ void maple_device::device_start() save_item(NAME(reply_partial)); } +void maple_device::maple_reset() +{ + device_reset(); +} + void maple_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) { if(id != TIMER_ID) diff --git a/src/mame/machine/mapledev.h b/src/mame/machine/mapledev.h index a3130ebdc13..20b2df80481 100644 --- a/src/mame/machine/mapledev.h +++ b/src/mame/machine/mapledev.h @@ -13,6 +13,7 @@ public: static void static_set_host(device_t &device, const char *_host_tag, int _host_port); virtual void maple_w(const UINT32 *data, UINT32 in_size) = 0; void maple_r(UINT32 *data, UINT32 &out_size, bool &partial); + virtual void maple_reset(); protected: enum { TIMER_ID = 1000 }; diff --git a/src/mame/machine/mie.c b/src/mame/machine/mie.c index ec5aef155eb..56f136e2f5f 100644 --- a/src/mame/machine/mie.c +++ b/src/mame/machine/mie.c @@ -361,4 +361,6 @@ READ8_MEMBER(mie_device::jvs_sense_r) return 0x8c | (jvs->get_address_set_line() ? 2 : 0) | (jvs->get_presence_line() ? 0 : 1); } - +void mie_device::maple_reset() +{ +} diff --git a/src/mame/machine/mie.h b/src/mame/machine/mie.h index 59cb41377a1..ddfa68eecb0 100644 --- a/src/mame/machine/mie.h +++ b/src/mame/machine/mie.h @@ -69,6 +69,7 @@ public: static IRQ_CALLBACK(irq_callback_1); void maple_w(const UINT32 *data, UINT32 in_size); + virtual void maple_reset(); protected: const char *gpio_name[8];