Skip to content

Commit f344b33

Browse files
committed
pce/ggconnie.cpp: use input_merger for irqs, fix ggconnie freezes
1 parent 3a1ad99 commit f344b33

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/mame/pce/ggconnie.cpp

+10-4
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@
2121
#include "emu.h"
2222
#include "pcecommn.h"
2323

24+
#include "sound/okim6295.h"
2425
#include "video/huc6270.h"
2526
#include "video/huc6260.h"
2627
#include "video/huc6202.h"
27-
#include "sound/okim6295.h"
28+
#include "machine/input_merger.h"
2829
#include "machine/msm6242.h"
30+
2931
#include "screen.h"
3032
#include "speaker.h"
3133

@@ -41,6 +43,7 @@ class ggconnie_state : public pce_common_state
4143
, m_oki(*this, "oki")
4244
, m_okibank(*this, "okibank")
4345
, m_lamp(*this, "lamp")
46+
, m_irqs(*this, "irqs")
4447
{ }
4548

4649
void ggconnie(machine_config &config);
@@ -60,6 +63,7 @@ class ggconnie_state : public pce_common_state
6063
required_device <okim6295_device> m_oki;
6164
required_memory_bank m_okibank;
6265
output_finder<> m_lamp;
66+
required_device<input_merger_device> m_irqs;
6367
};
6468

6569

@@ -335,13 +339,15 @@ void ggconnie_state::ggconnie(machine_config &config)
335339
m_huc6260->vsync_changed().set("huc6202", FUNC(huc6202_device::vsync_changed));
336340
m_huc6260->hsync_changed().set("huc6202", FUNC(huc6202_device::hsync_changed));
337341

342+
INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set_inputline(m_maincpu, 0);
343+
338344
huc6270_device &huc6270_0(HUC6270(config, "huc6270_0", 0));
339345
huc6270_0.set_vram_size(0x10000);
340-
huc6270_0.irq().set_inputline(m_maincpu, 0); // needs input merger?
346+
huc6270_0.irq().set(m_irqs, FUNC(input_merger_device::in_w<0>));
341347

342348
huc6270_device &huc6270_1(HUC6270(config, "huc6270_1", 0));
343349
huc6270_1.set_vram_size(0x10000);
344-
huc6270_1.irq().set_inputline(m_maincpu, 0); // needs input merger?
350+
huc6270_1.irq().set(m_irqs, FUNC(input_merger_device::in_w<1>));
345351

346352
huc6202_device &huc6202(HUC6202(config, "huc6202", 0 ));
347353
huc6202.next_pixel_0_callback().set("huc6270_0", FUNC(huc6270_device::next_pixel));
@@ -412,6 +418,6 @@ ROM_END
412418
} // anonymous namespace
413419

414420

415-
GAME( 1996, ggconnie, 0, ggconnie, ggconnie, ggconnie_state, init_pce_common, ROT0, "Eighting", "Go! Go! Connie chan Jaka Jaka Janken", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
421+
GAME( 1996, ggconnie, 0, ggconnie, ggconnie, ggconnie_state, init_pce_common, ROT0, "Eighting", "Go! Go! Connie chan Jaka Jaka Janken", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // Throws Hopper Empty when winning, sound banking
416422
GAME( 1997, smf, 0, ggconnie, smf, ggconnie_state, init_pce_common, ROT0, "Eighting (Capcom license)", "Super Medal Fighters (Japan 970228)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
417423
GAME( 1997, fishingm, 0, ggconnie, fishingm, ggconnie_state, init_pce_common, ROT0, "Capcom", "Fishing Master (971107 JPN)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // Hopper Jam Error

0 commit comments

Comments
 (0)