From e1720a37e2804c55bcaa3af85176925d3e9f67af Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 5 Feb 2018 18:48:41 +0100 Subject: new not working machine ----------------------------------- Super Medal Fighters (Japan 970228) [ShouTime, Surgeville, Sean Sutton, George Walsh, Evan Korzon, Dulleron, SpinalFeyd, Gyrovision, Bryce Van Horn, Paul Vining, Charles MacDonald, Smitdogg, The Dumping Union] --- src/mame/drivers/ggconnie.cpp | 117 +++++++++++++++++++++++++++++++++++++++--- src/mame/mame.lst | 1 + 2 files changed, 111 insertions(+), 7 deletions(-) diff --git a/src/mame/drivers/ggconnie.cpp b/src/mame/drivers/ggconnie.cpp index 4aa8723f3e0..c7deed82c70 100644 --- a/src/mame/drivers/ggconnie.cpp +++ b/src/mame/drivers/ggconnie.cpp @@ -41,12 +41,14 @@ public: , m_oki(*this, "oki") { } - required_device m_rtc; - required_device m_oki; DECLARE_WRITE8_MEMBER(lamp_w); DECLARE_WRITE8_MEMBER(output_w); DECLARE_WRITE8_MEMBER(oki_bank_w); void ggconnie(machine_config &config); + +private: + required_device m_rtc; + required_device m_oki; }; WRITE8_MEMBER(ggconnie_state::lamp_w) @@ -67,8 +69,8 @@ WRITE8_MEMBER(ggconnie_state::oki_bank_w) static ADDRESS_MAP_START( sgx_mem , AS_PROGRAM, 8, ggconnie_state ) - AM_RANGE( 0x000000, 0x0fffff) AM_ROM - AM_RANGE( 0x110000, 0x1edfff) AM_NOP + AM_RANGE( 0x000000, 0x17ffff) AM_ROM + AM_RANGE( 0x180000, 0x1edfff) AM_NOP AM_RANGE( 0x1ee800, 0x1effff) AM_NOP AM_RANGE( 0x1f0000, 0x1f5fff) AM_RAM AM_RANGE( 0x1f7000, 0x1f7000) AM_READ_PORT("SWA") @@ -179,6 +181,89 @@ static INPUT_PORTS_START(ggconnie) PORT_DIPSETTING(0x00, DEF_STR(On) ) 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_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") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME( "Payout" ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("SWA") + PORT_DIPNAME(0x03, 0x03, "Coin Set") PORT_DIPLOCATION("SWA:1,2") + PORT_DIPSETTING(0x03, DEF_STR(1C_1C) ) + PORT_DIPSETTING(0x02, "2") + PORT_DIPSETTING(0x01, "1") + PORT_DIPSETTING(0x00, "0") + PORT_DIPNAME(0x1c, 0x1c, "100 Yen -> Coin" ) PORT_DIPLOCATION("SWA:3,4,5") + PORT_DIPSETTING(0x08, "0 Coin") + PORT_DIPSETTING(0x0c, "5 Coin") + PORT_DIPSETTING(0x10, "6 Coin") + PORT_DIPSETTING(0x14, "7 Coin") + PORT_DIPSETTING(0x18, "8 Coin") + PORT_DIPSETTING(0x1c, "10 Coin") + PORT_DIPSETTING(0x00, "11 Coin") + PORT_DIPSETTING(0x04, "12 Coin") + PORT_DIPNAME( 0x60, 0x40, "10 Yen Set" ) PORT_DIPLOCATION("SWA:6,7") + PORT_DIPSETTING( 0x60, DEF_STR(1C_1C) ) + PORT_DIPSETTING( 0x40, DEF_STR(2C_1C) ) + PORT_DIPSETTING( 0x20, DEF_STR(3C_1C) ) + PORT_DIPSETTING( 0x00, DEF_STR(Off) ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SWA:8" ) + + PORT_START("SWB") + PORT_DIPNAME(0x07, 0x07, "Payout") PORT_DIPLOCATION("SWB:1,2,3") + PORT_DIPSETTING(0x00, "85%") + PORT_DIPSETTING(0x01, "90%") + 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_DIPUNUSED_DIPLOC( 0x08, 0x00, "SWB:4" ) + PORT_DIPUNUSED_DIPLOC( 0x10, 0x00, "SWB:5" ) + PORT_DIPNAME(0x20, 0x20, "Payout Info") PORT_DIPLOCATION("SWB:6") + PORT_DIPSETTING(0x00, DEF_STR(Off)) + PORT_DIPSETTING(0x20, DEF_STR(On)) + PORT_DIPNAME(0xc0, 0xc0, "Rate") PORT_DIPLOCATION("SWB:7,8") + PORT_DIPSETTING(0x00, "Few" ) + PORT_DIPSETTING(0x40, "Most" ) + PORT_DIPSETTING(0x80, "More" ) + PORT_DIPSETTING(0xc0, DEF_STR(Normal)) + + PORT_START("SWC") + PORT_DIPNAME(0x03, 0x03, "Demo Sound" ) PORT_DIPLOCATION("SWC:1,2") + PORT_DIPSETTING(0x00, DEF_STR(Off) ) + PORT_DIPSETTING(0x01, "1/3" ) + PORT_DIPSETTING(0x02, "1/2" ) + PORT_DIPSETTING(0x03, "1/1" ) + PORT_DIPUNUSED_DIPLOC( 0x04, 0x00, "SWC:3" ) + PORT_DIPUNUSED_DIPLOC( 0x08, 0x00, "SWC:4" ) + PORT_DIPUNUSED_DIPLOC( 0x10, 0x00, "SWC:5" ) + PORT_DIPUNUSED_DIPLOC( 0x20, 0x00, "SWC:6" ) + PORT_DIPNAME(0x40, 0x00, "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 + + MACHINE_CONFIG_START(ggconnie_state::ggconnie) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3) @@ -191,7 +276,7 @@ MACHINE_CONFIG_START(ggconnie_state::ggconnie) MCFG_SCREEN_UPDATE_DRIVER( ggconnie_state, screen_update ) MCFG_SCREEN_PALETTE("huc6260:palette") - MCFG_DEVICE_ADD( "huc6260", HUC6260, PCE_MAIN_CLOCK/3 ) + MCFG_DEVICE_ADD("huc6260", HUC6260, PCE_MAIN_CLOCK/3) MCFG_HUC6260_NEXT_PIXEL_DATA_CB(DEVREAD16("huc6202", huc6202_device, next_pixel)) MCFG_HUC6260_TIME_TIL_NEXT_EVENT_CB(DEVREAD16("huc6202", huc6202_device, time_until_next_event)) MCFG_HUC6260_VSYNC_CHANGED_CB(DEVWRITELINE("huc6202", huc6202_device, vsync_changed)) @@ -230,12 +315,30 @@ MACHINE_CONFIG_START(ggconnie_state::ggconnie) MACHINE_CONFIG_END ROM_START(ggconnie) - ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_REGION( 0x180000, "maincpu", 0 ) ROM_LOAD( "prg0_u3_ver.2.bin", 0x00000, 0x80000, CRC(5e104855) SHA1(3ab2b1ec1fc3aefbb57d9b2ba272e75b34b69383) ) ROM_LOAD( "prg1_u4.bin", 0x80000, 0x80000, CRC(513f0b18) SHA1(44c61dc1a06bb4c8b4840ea6a372f92114888490) ) + // u5 not populated ROM_REGION( 0x80000, "oki", 0 ) ROM_LOAD( "adpcm_u31.bin", 0x00000, 0x80000, CRC(de514c2b) SHA1(da73aa825d73646f556f6d4dbb46f43acf7c3357) ) ROM_END -GAME( 1996, ggconnie, 0, ggconnie, ggconnie, ggconnie_state, pce_common, ROT0, "Eighting", "Go! Go! Connie chan Jaka Jaka Janken", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +// TODO: runs too slow (seems to run ok removing the /3 divider), OKI banking, hopper, lamps +ROM_START(smf) + ROM_REGION( 0x180000, "maincpu", 0 ) + ROM_LOAD( "smf03.u3", 0x000000, 0x80000, CRC(2435ff3d) SHA1(4de1c5c2ed4ce2be5f3bb3fd31e176c8e24c7155) ) // 27c040 + ROM_LOAD( "smf05.u4", 0x080000, 0x80000, CRC(7c477ae1) SHA1(ecdc1bf7052121f4ce3ef222c0f51d72057a3a2b) ) // 27c040 + ROM_LOAD( "smf04.u5", 0x100000, 0x80000, CRC(8adc8ff6) SHA1(06bca0bf09bb6094700d2c3d4fc8aa7246e4b3f7) ) // 27c040 + + ROM_REGION( 0x80000, "oki", 0 ) + ROM_LOAD( "smf01.u31", 0x00000, 0x80000, CRC(141ff32a) SHA1(7a7ef623c5dd5fdfa7364c2b75136fe81aea3b43) ) // 27c040 + + 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 + +GAME( 1996, ggconnie, 0, ggconnie, ggconnie, ggconnie_state, pce_common, ROT0, "Eighting", "Go! Go! Connie chan Jaka Jaka Janken", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) +GAME( 1997, smf, 0, ggconnie, smf, ggconnie_state, pce_common, ROT0, "Eighting", "Super Medal Fighters (Japan 970228)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 95cdb27f1c4..48737be5788 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -13761,6 +13761,7 @@ pcvga // 198? PC-XT (VGA, MF2 Keyboard) @source:ggconnie.cpp ggconnie // (c) ???? Capcom +smf // (c) 1997 Capcom @source:ghosteo.cpp bballoon // (c) 2003 Eolith -- cgit v1.2.3