Skip to content

Commit

Permalink
New systems marked not working
Browse files Browse the repository at this point in the history
------------------------------
Bomberman Misobon Roulette (961028 JPN) [Steamy Jimmy, Sean Riddle]

Clones promoted to working
--------------------------
Head Panic (ver. 8.30) [trol]
  • Loading branch information
Osso13 committed Feb 3, 2025
1 parent e282e24 commit b72e630
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 23 deletions.
1 change: 1 addition & 0 deletions src/mame/jaleco/exerion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/***************************************************************************
Jaleco Exerion hardware
Jaleco EX-8313 + EX-8315 PCBs
****************************************************************************
Expand Down
1 change: 1 addition & 0 deletions src/mame/mame.lst
Original file line number Diff line number Diff line change
Expand Up @@ -36601,6 +36601,7 @@ tetriskr // (c) 1988? bootleg
tosh1000

@source:pce/ggconnie.cpp
bmanroul // (c) 1996 Eighting
fishingm // (c) 1997 Capcom
ggconnie // (c) ???? Capcom
smf // (c) 1997 Capcom
Expand Down
6 changes: 3 additions & 3 deletions src/mame/misc/esd16.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1312,8 +1312,8 @@ ROM_START( hedpanic830 ) // Story line & game instructions in English
ROM_LOAD16_BYTE( "esd2.cu03", 0x000000, 0x040000, CRC(955be87f) SHA1(835ec1c9a6d77d095bac7427e428ec25861d91dd) )
ROM_LOAD16_BYTE( "esd1.cu02", 0x000001, 0x040000, CRC(b56a4fe8) SHA1(dc64c81c1a04af8b248d3e46ddee73eca23c74fd) )

ROM_REGION( 0x40000, "audiocpu", 0 )
ROM_LOAD( "esd3.su06", 0x00000, 0x40000, BAD_DUMP CRC(f4588a2c) SHA1(c9c26561f7ce2574032dfada707fcf99b913b1d5) )
ROM_REGION( 0x40000, "audiocpu", 0 ) // couldn't read properly, but looking at the various reads it probably matches the other sets
ROM_LOAD( "esd3.su06", 0x00000, 0x40000, BAD_DUMP CRC(a88d4424) SHA1(eefb5ac79632931a36f360713c482cd079891f91) )

ROM_REGION( 0x600000, "spr", 0 ) // Sprites, 16x16x5
ROM_LOAD( "esd6.ju01", 0x200000, 0x200000, CRC(ffa6eb26) SHA1(c2e3371925604db0f46991cbfd39d763518ed89c) )
Expand Down Expand Up @@ -1849,7 +1849,7 @@ GAME( 1999, hedpanica, hedpanic, hedpanic, hedpanic, esd16_state, empty_init,
GAME( 2000, mchampdx, 0, mchampdx, hedpanic, esd16_state, empty_init, ROT0, "ESD", "Multi Champ Deluxe (ver. 0106, 06/01/2000)", MACHINE_SUPPORTS_SAVE )
GAME( 1999, mchampdxa, mchampdx, mchampdx, hedpanic, esd16_state, empty_init, ROT0, "ESD", "Multi Champ Deluxe (ver. 1126, 26/11/1999)", MACHINE_SUPPORTS_SAVE )
GAME( 1999, mchampdxb, mchampdx, mchampdx, hedpanic, esd16_state, empty_init, ROT0, "ESD", "Multi Champ Deluxe (ver. 1114, 14/11/1999)", MACHINE_SUPPORTS_SAVE )
GAME( 1999, hedpanic830, hedpanic, hedpanic, hedpanic, esd16_state, empty_init, ROT0, "ESD", "Head Panic (ver. 8.30)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // playable, just no sound
GAME( 1999, hedpanic830, hedpanic, hedpanic, hedpanic, esd16_state, empty_init, ROT0, "ESD", "Head Panic (ver. 8.30)", MACHINE_SUPPORTS_SAVE )
GAME( 2000, hedpanic, 0, hedpanic, hedpanic, esd16_state, empty_init, ROT0, "ESD", "Head Panic (ver. 0117, 17/01/2000)", MACHINE_SUPPORTS_SAVE )
GAME( 2000, hedpanicf, hedpanic, hedpanic, hedpanic, esd16_state, empty_init, ROT0, "ESD / Fuuki", "Head Panic (ver. 0315, 15/03/2000)", MACHINE_SUPPORTS_SAVE )

Expand Down
131 changes: 111 additions & 20 deletions src/mame/pce/ggconnie.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,22 @@
CPU :Hu6280
Video:Hu6202,Hu6260,Hu6270
OSC :21.47727MHz
OSC :21.47727MHz, 2.00MHz (resonator)
Other:XILINX XC7336-15,OKI M6295
****************************************************************************/

#include "emu.h"

#include "pcecommn.h"

#include "sound/okim6295.h"
#include "video/huc6270.h"
#include "video/huc6260.h"
#include "video/huc6202.h"
#include "machine/input_merger.h"
#include "machine/msm6242.h"
#include "sound/okim6295.h"
#include "video/huc6202.h"
#include "video/huc6260.h"
#include "video/huc6270.h"

#include "screen.h"
#include "speaker.h"
Expand Down Expand Up @@ -71,13 +72,13 @@ void ggconnie_state::machine_start()
{
m_lamp.resolve();

for(auto &okibank : m_okibank)
for (auto &okibank : m_okibank)
okibank->configure_entries(0, 8, memregion("oki")->base(), 0x10000);
}

void ggconnie_state::lamp_w(uint8_t data)
{
m_lamp =!BIT(data, 0);
m_lamp = !BIT(data, 0);
}

void ggconnie_state::output_w(uint8_t data)
Expand Down Expand Up @@ -111,9 +112,9 @@ void ggconnie_state::sgx_mem(address_map &map)
map(0x1f7500, 0x1f750f).rw(m_rtc, FUNC(msm6242_device::read), FUNC(msm6242_device::write));
map(0x1f7700, 0x1f7700).portr("IN1");
map(0x1f7800, 0x1f7800).w(FUNC(ggconnie_state::output_w));
map(0x1fe000, 0x1fe007).rw("huc6270_0", FUNC(huc6270_device::read), FUNC(huc6270_device::write)).mirror(0x03E0);
map(0x1fe008, 0x1fe00f).rw("huc6202", FUNC(huc6202_device::read), FUNC(huc6202_device::write)).mirror(0x03E0);
map(0x1fe010, 0x1fe017).rw("huc6270_1", FUNC(huc6270_device::read), FUNC(huc6270_device::write)).mirror(0x03E0);
map(0x1fe000, 0x1fe007).rw("huc6270_0", FUNC(huc6270_device::read), FUNC(huc6270_device::write)).mirror(0x03e0);
map(0x1fe008, 0x1fe00f).rw("huc6202", FUNC(huc6202_device::read), FUNC(huc6202_device::write)).mirror(0x03e0);
map(0x1fe010, 0x1fe017).rw("huc6270_1", FUNC(huc6270_device::read), FUNC(huc6270_device::write)).mirror(0x03e0);
map(0x1fe400, 0x1fe7ff).rw(m_huc6260, FUNC(huc6260_device::read), FUNC(huc6260_device::write));
}

Expand All @@ -133,9 +134,9 @@ void ggconnie_state::oki_map(address_map &map)
static INPUT_PORTS_START(ggconnie)
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME( "Medal" )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) /* 100 Yen */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) /* 10 Yen */
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) /* run */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // 100 Yen
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) // 10 Yen
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) // run
PORT_SERVICE_NO_TOGGLE(0x10, IP_ACTIVE_LOW) PORT_DIPLOCATION("SWC:8")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hopper")
Expand Down Expand Up @@ -218,9 +219,9 @@ INPUT_PORTS_END
static INPUT_PORTS_START(smf)
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME( "Medal" )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) /* 100 Yen */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) /* 10 Yen */
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) /* run */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // 100 Yen
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) // 10 Yen
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) // run
PORT_SERVICE_NO_TOGGLE(0x10, IP_ACTIVE_LOW) PORT_DIPLOCATION("SWC:8")
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Hopper")
Expand Down Expand Up @@ -323,18 +324,92 @@ static INPUT_PORTS_START(fishingm)
PORT_DIPUNUSED_DIPLOC(0x80, 0x80, "SWB:8")
INPUT_PORTS_END

static INPUT_PORTS_START(bmanroul)
PORT_INCLUDE(smf)

PORT_MODIFY("IN0")
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_MODIFY("IN1")
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )

// manual states default is all off
PORT_MODIFY("SWA")
PORT_DIPNAME( 0x03, 0x03, "Medal Settings" ) PORT_DIPLOCATION("SWA:1,2")
PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) )
PORT_DIPSETTING( 0x01, DEF_STR(2C_1C) )
PORT_DIPSETTING( 0x03, DEF_STR(1C_1C) )
PORT_DIPSETTING( 0x02, DEF_STR(1C_2C) )
PORT_DIPNAME( 0x1c, 0x1c, "100 Yen -> Coin" ) PORT_DIPLOCATION("SWA:3,4,5")
PORT_DIPSETTING( 0x08, "No Coin Exchange" )
PORT_DIPSETTING( 0x0c, "5 Coins" )
PORT_DIPSETTING( 0x10, "6 Coins" )
PORT_DIPSETTING( 0x14, "7 Coins" )
PORT_DIPSETTING( 0x18, "8 Coins" )
PORT_DIPSETTING( 0x1c, "10 Coins" )
PORT_DIPSETTING( 0x00, "11 Coins" )
PORT_DIPSETTING( 0x04, "12 Coins" )
PORT_DIPNAME( 0x60, 0x60, "10 Yen Set" ) PORT_DIPLOCATION("SWA:6,7")
PORT_DIPSETTING( 0x00, DEF_STR(3C_1C) )
PORT_DIPSETTING( 0x20, DEF_STR(2C_1C) )
PORT_DIPSETTING( 0x60, DEF_STR(1C_1C) )
PORT_DIPSETTING( 0x40, DEF_STR(1C_2C) )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SWA:8" )

PORT_MODIFY("SWB")
PORT_DIPNAME( 0x07, 0x07, "Payout" ) PORT_DIPLOCATION("SWB:1,2,3")
PORT_DIPSETTING( 0x02, "55%" )
PORT_DIPSETTING( 0x03, "60%" )
PORT_DIPSETTING( 0x04, "65%" )
PORT_DIPSETTING( 0x05, "70%" )
PORT_DIPSETTING( 0x06, "75%" )
PORT_DIPSETTING( 0x07, "80%" )
PORT_DIPSETTING( 0x00, "85%" )
PORT_DIPSETTING( 0x01, "90%" )
PORT_DIPNAME( 0x18, 0x18, "Max Number of Credits" ) PORT_DIPLOCATION("SWB:4,5")
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x10, "4" )
PORT_DIPSETTING( 0x18, "5" )
PORT_DIPSETTING( 0x00, "5" ) // marked as unused in the manual, actually is a duplicate of 5
PORT_DIPNAME( 0x20, 0x20, "Payout Info" ) PORT_DIPLOCATION("SWB:6")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SWB:7" )
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SWB:8" )

PORT_MODIFY("SWC")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWC:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, "Once Every 3 Attract Cycles" )
PORT_DIPSETTING( 0x02, "Once Every 2 Attract Cycles" )
PORT_DIPSETTING( 0x03, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, "Start Time" ) PORT_DIPLOCATION("SWC:3,4")
PORT_DIPSETTING( 0x00, "4 Seconds" )
PORT_DIPSETTING( 0x0c, "5 Seconds" )
PORT_DIPSETTING( 0x08, "6 Seconds" )
PORT_DIPSETTING( 0x04, "8 Seconds" )
PORT_DIPUNUSED_DIPLOC( 0x10, 0x00, "SWC:5" )
PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SWC:6" )
PORT_DIPNAME( 0x40, 0x40, "RAM Clear" ) PORT_DIPLOCATION("SWC:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SWC:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END

void ggconnie_state::ggconnie(machine_config &config)
{
/* basic machine hardware */
H6280(config, m_maincpu, PCE_MAIN_CLOCK/3);
// basic machine hardware
H6280(config, m_maincpu, PCE_MAIN_CLOCK / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &ggconnie_state::sgx_mem);
m_maincpu->set_addrmap(AS_IO, &ggconnie_state::sgx_io);
m_maincpu->port_in_cb().set_ioport("IN0");
m_maincpu->port_out_cb().set(FUNC(ggconnie_state::lamp_w));
m_maincpu->add_route(0, "lspeaker", 1.00);
m_maincpu->add_route(1, "rspeaker", 1.00);

/* video hardware */
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
screen.set_screen_update(FUNC(ggconnie_state::screen_update));
Expand Down Expand Up @@ -375,7 +450,7 @@ void ggconnie_state::ggconnie(machine_config &config)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();

OKIM6295(config, m_oki, PCE_MAIN_CLOCK/12, okim6295_device::PIN7_HIGH); /* unknown clock / pin 7 */
OKIM6295(config, m_oki, 2_MHz_XTAL, okim6295_device::PIN7_HIGH); // 2MHz resonator, unverified pin 7
m_oki->set_addrmap(0, &ggconnie_state::oki_map);
m_oki->add_route(ALL_OUTPUTS, "lspeaker", 1.00);
m_oki->add_route(ALL_OUTPUTS, "rspeaker", 1.00);
Expand Down Expand Up @@ -422,9 +497,25 @@ ROM_START(fishingm)
ROM_LOAD( "gal16v8b.u8", 0x400, 0x117, NO_DUMP )
ROM_END

ROM_START(bmanroul)
ROM_REGION( 0x180000, "maincpu", 0 )
ROM_LOAD( "bon_prg0.u3", 0x000000, 0x80000, CRC(0db0960d) SHA1(59cbd9d87608894d8965268c1a0eb81d55a6d742) )
ROM_LOAD( "bon_prg1.u4", 0x080000, 0x80000, CRC(412fd212) SHA1(35f8e94076beff9a637f508f74a89315f02de130) )
// u5 not populated

ROM_REGION( 0x80000, "oki", 0 )
ROM_LOAD( "bon_adpcm.u31", 0x00000, 0x80000, CRC(dc7734a0) SHA1(296166f1a7dd2ec4571a77297653a3dc3a97a086) )

ROM_REGION( 0x600, "plds", 0 ) // protected
ROM_LOAD( "gal16v8b.u6", 0x000, 0x117, NO_DUMP )
ROM_LOAD( "gal16v8b.u7", 0x200, 0x117, NO_DUMP )
ROM_LOAD( "gal16v8b.u8", 0x400, 0x117, NO_DUMP )
ROM_END

} // anonymous namespace


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
GAME( 1996, bmanroul, 0, ggconnie, bmanroul, ggconnie_state, init_pce_common, ROT0, "Eighting (Hudson Soft license)", "Bomberman Misobon Roulette (961028 JPN)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // "
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 ) // Throws Hopper Jam when using COIN1, sound
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
1 change: 1 addition & 0 deletions src/mame/tecmo/wc90.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// copyright-holders:Ernesto Corvi
/*
World Cup 90 ( Tecmo ) driver
Tecmo 6303A + 6303B PCBs
-----------------------------
Ernesto Corvi
Expand Down

0 comments on commit b72e630

Please sign in to comment.