From 65721319dc13035256604bf315e8356a13c2a80c Mon Sep 17 00:00:00 2001 From: etabeta78 Date: Wed, 14 Jan 2015 07:58:42 +0100 Subject: nes: fixed game genie passthrough. nw. --- src/emu/bus/nes/ggenie.c | 10 +++++++--- src/emu/bus/nes/ggenie.h | 1 + src/emu/bus/nes/nes_slot.h | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/emu/bus/nes/ggenie.c b/src/emu/bus/nes/ggenie.c index 00b2b843ae6..6bcc253cf21 100644 --- a/src/emu/bus/nes/ggenie.c +++ b/src/emu/bus/nes/ggenie.c @@ -48,6 +48,13 @@ void nes_ggenie_device::device_start() save_item(NAME(m_gg_bypass)); } +void nes_ggenie_device::pcb_start(running_machine &machine, UINT8 *ciram_ptr, bool cart_mounted) +{ + device_nes_cart_interface::pcb_start(machine, ciram_ptr, cart_mounted); + if (m_ggslot->m_cart) + m_ggslot->pcb_start(m_ciram); +} + void nes_ggenie_device::pcb_reset() { m_chr_source = m_vrom_chunks ? CHRROM : CHRRAM; @@ -58,10 +65,7 @@ void nes_ggenie_device::pcb_reset() m_gg_bypass = 0; if (m_ggslot->m_cart) - { - m_ggslot->pcb_start(m_ciram); m_ggslot->m_cart->pcb_reset(); - } } diff --git a/src/emu/bus/nes/ggenie.h b/src/emu/bus/nes/ggenie.h index 1b14c9cd416..8f208f5b54d 100644 --- a/src/emu/bus/nes/ggenie.h +++ b/src/emu/bus/nes/ggenie.h @@ -33,6 +33,7 @@ public: virtual machine_config_constructor device_mconfig_additions() const; virtual void pcb_reset(); + virtual void pcb_start(running_machine &machine, UINT8 *ciram_ptr, bool cart_mounted); private: // emulate the Game Genie! diff --git a/src/emu/bus/nes/nes_slot.h b/src/emu/bus/nes/nes_slot.h index 9c73d95d17d..de504c15eea 100644 --- a/src/emu/bus/nes/nes_slot.h +++ b/src/emu/bus/nes/nes_slot.h @@ -216,7 +216,7 @@ public: virtual void scanline_irq(int scanline, int vblank, int blanked) {} virtual void pcb_reset() {} // many pcb expect specific PRG/CHR banking at start - void pcb_start(running_machine &machine, UINT8 *ciram_ptr, bool cart_mounted); + virtual void pcb_start(running_machine &machine, UINT8 *ciram_ptr, bool cart_mounted); void pcb_reg_postload(running_machine &machine); void nes_banks_restore(); -- cgit v1.2.3