From 005ebb35a9c7872e35d5784cae2a3f648a2cf557 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 28 Nov 2020 12:52:37 -0500 Subject: bongo: Transplant to modern galaxian.cpp driver --- src/mame/drivers/galaxian.cpp | 119 +++++++++++++++++++++++++++++++++++++-- src/mame/drivers/galaxold.cpp | 127 ------------------------------------------ src/mame/includes/galaxian.h | 3 + src/mame/includes/galaxold.h | 4 -- src/mame/mame.lst | 2 +- src/mame/video/galaxold.cpp | 9 --- 6 files changed, 118 insertions(+), 146 deletions(-) diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 37030008498..800b0233db2 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -630,6 +630,21 @@ p) 'mooncrgx' as a consequence, square around letters is wrong when entering player name for hi-score table when screen not is flipped +q) 'bongo' + + - IN0 bit 1 is supposed to be COIN2 (see coinage routine at 0x0288), but + there is a test on it at 0x0082 (in NMI routine) which jumps to 0xc003 + (unmapped memory) if it pressed (HIGH). + - IN0 bit 7 is tested on startup (code at 0x0048) in combination with bits 0 and 1 + (which are supposed to be COIN1 and COIN2). If all of them are pressed (HIGH), + the game displays a "CREDIT FAULT" message then jumps back to 0x0048. + - IN0 bit 4 and IN1 bit 4 should have been IPT_JOYSTICK_DOWN (Upright and Cocktail) + but their status is discarded with 3 'NOP' instructions at 0x06ca. + - IN0 bit 7 and IN0 bit 6 should have been IPT_BUTTON1 (Upright and Cocktail) + but their status is discarded with 3 'NOP' instructions at 0x06d1. + - IN2 is read via code at 0x2426, but its contents is directly overwritten + with value read from DSW (AY port A) via code at 0x3647. + TODO: @@ -1631,17 +1646,12 @@ void galaxian_state::mooncrst_map_base(address_map &map) map(0x9000, 0x93ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); map(0x9800, 0x98ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram"); map(0xa000, 0xa000).mirror(0x07ff).portr("IN0"); - map(0xa000, 0xa002).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_gfxbank_w)); - map(0xa003, 0xa003).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w)); -// map(0xa004, 0xa007).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::lfo_freq_w)); map(0xa800, 0xa800).mirror(0x07ff).portr("IN1"); -// map(0xa800, 0xa807).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::sound_w)); map(0xb000, 0xb000).mirror(0x07ff).portr("IN2"); map(0xb000, 0xb000).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w)); map(0xb004, 0xb004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w)); map(0xb006, 0xb006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); map(0xb007, 0xb007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); -// map(0xb800, 0xb800).mirror(0x07ff).w("cust", FUNC(galaxian_sound_device::pitch_w)); map(0xb800, 0xb800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r)); } @@ -1654,12 +1664,15 @@ void galaxian_state::mooncrst_map(address_map &map) { mooncrst_map_base(map); mooncrst_map_discrete(map); + map(0xa000, 0xa002).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_gfxbank_w)); + map(0xa003, 0xa003).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w)); } void galaxian_state::froggermc_map(address_map &map) { mooncrst_map_base(map); // no discrete sound map(0x8400, 0x87ff).ram(); // actually needs 2k of RAM + map(0xa003, 0xa003).mirror(0x7f8).w(FUNC(galaxian_state::coin_count_0_w)); map(0xa800, 0xa800).mirror(0x7ff).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::froggermc_sound_control_w)); } @@ -1698,6 +1711,22 @@ void galaxian_state::scorpnmc_map(address_map &map) map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w)); } +void galaxian_state::bongo_map(address_map &map) +{ + mooncrst_map_base(map); // no discrete sound + map(0x0000, 0x5fff).rom().region("maincpu", 0); // extend ROM + map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved + map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w)); + map(0xb800, 0xb800).mirror(0x7ff).nopw(); // written once at start +} + +void galaxian_state::bongo_io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x01).w(m_ay8910[0], FUNC(ay8910_device::address_data_w)); + map(0x02, 0x02).r(m_ay8910[0], FUNC(ay8910_device::data_r)); +} + void galaxian_state::fantastc_map(address_map &map) { @@ -4058,6 +4087,52 @@ static INPUT_PORTS_START( kong ) INPUT_PORTS_END +/* verified from Z80 code */ +static INPUT_PORTS_START( bongo ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* see notes */ + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN2") + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ + + PORT_START("DSW") + PORT_DIPUNUSED( 0x01, IP_ACTIVE_HIGH ) + PORT_DIPNAME( 0x06, 0x02, DEF_STR( Lives ) ) + PORT_DIPSETTING( 0x00, "2" ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPSETTING( 0x06, "5" ) + PORT_DIPNAME( 0x08, 0x00, "Infinite Lives (Cheat)" ) /* always gives 3 lives */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_DIPUNUSED( 0x10, IP_ACTIVE_HIGH ) + PORT_DIPUNUSED( 0x20, IP_ACTIVE_HIGH ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) /* also 1C_3C for Coin B if it existed */ + PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) /* also 1C_6C for Coin B if it existed */ + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) +INPUT_PORTS_END + + static INPUT_PORTS_START( tdpgal ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -6501,6 +6576,21 @@ void galaxian_state::scorpnmc(machine_config &config) } +void galaxian_state::bongo(machine_config &config) +{ + galaxian_base(config); + + // alternate memory map + m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::bongo_map); + m_maincpu->set_addrmap(AS_IO, &galaxian_state::bongo_io_map); + + // sound hardware + AY8910(config, m_ay8910[0], GALAXIAN_PIXEL_CLOCK/3/4); + m_ay8910[0]->port_a_read_callback().set_ioport("DSW"); + m_ay8910[0]->add_route(ALL_OUTPUTS, "speaker", 0.5); +} + + void galaxian_state::fantastc(machine_config &config) { galaxian_base(config); @@ -10723,6 +10813,24 @@ ROM_START( kong ) ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP ) ROM_END +ROM_START( bongo ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bg1.bin", 0x0000, 0x1000, CRC(de9a8ec6) SHA1(b5ee99b26d1a39e31b643ad0f5723ee8e364023e) ) + ROM_LOAD( "bg2.bin", 0x1000, 0x1000, CRC(a19da662) SHA1(a2674392d489c5e5eeb9abc51572a37cc6045220) ) + ROM_LOAD( "bg3.bin", 0x2000, 0x1000, CRC(9f6f2150) SHA1(26a1f872686ddddcdb690d7b826ba26c20cdec35) ) + ROM_LOAD( "bg4.bin", 0x3000, 0x1000, CRC(f80372d2) SHA1(078e2c8b947103c168c0c85430f8ebc9d09f8ba7) ) + ROM_LOAD( "bg5.bin", 0x4000, 0x1000, CRC(fc92eade) SHA1(f4012a1c4631388a3e8109a8381bc4084ddc8757) ) + ROM_LOAD( "bg6.bin", 0x5000, 0x1000, CRC(561d9e5d) SHA1(68d7fab3cfb5b3360fe8064c70bf21bb1341032f) ) + + ROM_REGION( 0x2000, "gfx1", 0 ) + ROM_LOAD( "b-h.bin", 0x0000, 0x1000, CRC(fc79d103) SHA1(dac1152221ebdc4cd9bf353b4cc5d45021ca5d9e) ) + ROM_LOAD( "b-k.bin", 0x1000, 0x1000, CRC(94d17bf3) SHA1(2a70968249946de52c5a4cfabafbbf4ecda844a8) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "b-clr.bin", 0x0000, 0x0020, CRC(c4761ada) SHA1(067d12b2d3635ffa6337ed234ba42717447bea00) ) +ROM_END + + ROM_START( mooncmw ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "60.1x", 0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) ) @@ -13720,6 +13828,7 @@ GAME( 1980, moonal2b, moonal2, mooncrst, moonal2, galaxian_state, init_ // Larger romspace, interrupt enable moved GAME( 198?, thepitm, thepit, thepitm, thepitm, galaxian_state, init_mooncrsu, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", MACHINE_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta +GAME( 1983, bongo, 0, bongo, bongo, galaxian_state, init_kong, ROT90, "Jetsoft", "Bongo", MACHINE_SUPPORTS_SAVE ) // Other games on basic mooncrst hardware GAME( 1982, skybase, 0, skybase, skybase, galaxian_state, init_skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp index faaf405670f..0b03692c66e 100644 --- a/src/mame/drivers/galaxold.cpp +++ b/src/mame/drivers/galaxold.cpp @@ -64,21 +64,6 @@ Stephh's notes (based on the games Z80 code and some tests) for other games : settings (code at 0x5805 for player 1 and player 2 in "Upright" cabinet, or 0x5563 for player 2 in "Cocktail" cabinet). -5) 'bongo' - - - IN0 bit 1 is supposed to be COIN2 (see coinage routine at 0x0288), but - there is a test on it at 0x0082 (in NMI routine) which jumps to 0xc003 - (unmapped memory) if it pressed (HIGH). - - IN0 bit 7 is tested on startup (code at 0x0048) in combination with bits 0 and 1 - (which are supposed to be COIN1 and COIN2). If all of them are pressed (HIGH), - the game displays a "CREDIT FAULT" message then jumps back to 0x0048. - - IN0 bit 4 and IN1 bit 4 should have been IPT_JOYSTICK_DOWN (Upright and Cocktail) - but their status is discarded with 3 'NOP' instructions at 0x06ca. - - IN0 bit 7 and IN0 bit 6 should have been IPT_BUTTON1 (Upright and Cocktail) - but their status is discarded with 3 'NOP' instructions at 0x06d1. - - DSW0 is read via code at 0x2426, but its contents is directly overwritten - with value read from DSW1 (AY port A) via code at 0x3647. - 4) 'ozon1' - Player 2 controls are used for player 2 regardless of the "Cabinet" Dip Switch @@ -613,34 +598,6 @@ void galaxold_state::tazzmang_map(address_map &map) } -void galaxold_state::bongo_map(address_map &map) -{ - map(0x0000, 0x5fff).rom(); - map(0x8000, 0x83ff).ram(); - map(0x8400, 0x87ff).nopw(); // not used - map(0x9000, 0x93ff).ram().w(FUNC(galaxold_state::galaxold_videoram_w)).share("videoram"); - map(0x9400, 0x97ff).nopw(); // not used - map(0x9800, 0x983f).ram().w(FUNC(galaxold_state::galaxold_attributesram_w)).share("attributesram"); - map(0x9840, 0x985f).ram().share("spriteram"); - map(0x9860, 0x987f).ram().share("bulletsram"); - map(0xa000, 0xa000).portr("IN0"); - map(0xa800, 0xa800).portr("IN1"); - map(0xb000, 0xb000).portr("DSW0"); - map(0xb001, 0xb001).w(FUNC(galaxold_state::galaxold_nmi_enable_w)); - map(0xb004, 0xb004).w(FUNC(galaxold_state::galaxold_stars_enable_w)); - map(0xb006, 0xb006).w(FUNC(galaxold_state::galaxold_flip_screen_x_w)); - map(0xb007, 0xb007).w(FUNC(galaxold_state::galaxold_flip_screen_y_w)); - map(0xb800, 0xb800).r("watchdog", FUNC(watchdog_timer_device::reset_r)).nopw(); -} - -void galaxold_state::bongo_io(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x01).w("aysnd", FUNC(ay8910_device::address_data_w)); - map(0x02, 0x02).r("aysnd", FUNC(ay8910_device::data_r)); -} - - void galaxold_state::ozon1_map(address_map &map) { map(0x0000, 0x2fff).rom(); @@ -1837,52 +1794,6 @@ static INPUT_PORTS_START( tazzmang ) INPUT_PORTS_END -/* verified from Z80 code */ -static INPUT_PORTS_START( bongo ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* see notes */ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START("DSW0") - PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) /* see notes */ - - PORT_START("DSW1") - PORT_DIPUNUSED( 0x01, IP_ACTIVE_HIGH ) - PORT_DIPNAME( 0x06, 0x02, DEF_STR( Lives ) ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x02, "3" ) - PORT_DIPSETTING( 0x04, "4" ) - PORT_DIPSETTING( 0x06, "5" ) - PORT_DIPNAME( 0x08, 0x00, "Infinite Lives (Cheat)" ) /* always gives 3 lives */ - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPUNUSED( 0x10, IP_ACTIVE_HIGH ) - PORT_DIPUNUSED( 0x20, IP_ACTIVE_HIGH ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) /* also 1C_3C for Coin B if it existed */ - PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) /* also 1C_6C for Coin B if it existed */ - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) -INPUT_PORTS_END - - /* verified from Z80 code */ static INPUT_PORTS_START( ozon1 ) PORT_START("IN0") @@ -2604,26 +2515,6 @@ void galaxold_state::drivfrcg(machine_config &config) } -void galaxold_state::bongo(machine_config &config) -{ - galaxold_base(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &galaxold_state::bongo_map); - m_maincpu->set_addrmap(AS_IO, &galaxold_state::bongo_io); - - /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(galaxold_state,bongo) - - m_screen->set_screen_update(FUNC(galaxold_state::screen_update_galaxold)); - - /* sound hardware */ - ay8910_device &aysnd(AY8910(config, "aysnd", PIXEL_CLOCK/4)); - aysnd.port_a_read_callback().set_ioport("DSW1"); - aysnd.add_route(ALL_OUTPUTS, "speaker", 0.5); -} - - void galaxold_state::hunchbkg(machine_config &config) { galaxold_base(config); @@ -3392,23 +3283,6 @@ ROM_START( tazzmang2 ) // Original Sparcade set ROM_END -ROM_START( bongo ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bg1.bin", 0x0000, 0x1000, CRC(de9a8ec6) SHA1(b5ee99b26d1a39e31b643ad0f5723ee8e364023e) ) - ROM_LOAD( "bg2.bin", 0x1000, 0x1000, CRC(a19da662) SHA1(a2674392d489c5e5eeb9abc51572a37cc6045220) ) - ROM_LOAD( "bg3.bin", 0x2000, 0x1000, CRC(9f6f2150) SHA1(26a1f872686ddddcdb690d7b826ba26c20cdec35) ) - ROM_LOAD( "bg4.bin", 0x3000, 0x1000, CRC(f80372d2) SHA1(078e2c8b947103c168c0c85430f8ebc9d09f8ba7) ) - ROM_LOAD( "bg5.bin", 0x4000, 0x1000, CRC(fc92eade) SHA1(f4012a1c4631388a3e8109a8381bc4084ddc8757) ) - ROM_LOAD( "bg6.bin", 0x5000, 0x1000, CRC(561d9e5d) SHA1(68d7fab3cfb5b3360fe8064c70bf21bb1341032f) ) - - ROM_REGION( 0x2000, "gfx1", 0 ) - ROM_LOAD( "b-h.bin", 0x0000, 0x1000, CRC(fc79d103) SHA1(dac1152221ebdc4cd9bf353b4cc5d45021ca5d9e) ) - ROM_LOAD( "b-k.bin", 0x1000, 0x1000, CRC(94d17bf3) SHA1(2a70968249946de52c5a4cfabafbbf4ecda844a8) ) - - ROM_REGION( 0x0020, "proms", 0 ) - ROM_LOAD( "b-clr.bin", 0x0000, 0x0020, CRC(c4761ada) SHA1(067d12b2d3635ffa6337ed234ba42717447bea00) ) -ROM_END - ROM_START( ozon1 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "rom1.bin", 0x0000, 0x1000, CRC(54899e8b) SHA1(270af76ae4396ebda767f160535fa77c0b49726a) ) @@ -3805,7 +3679,6 @@ GAME( 1982, porter, dockman, porter, porter, galaxold_state, empty_ini GAME( 1982, portera, dockman, porter, porter, galaxold_state, empty_init, ROT90, "bootleg", "El Estivador (Spanish bootleg of Port Man on Galaxian hardware)", MACHINE_IMPERFECT_COLORS | MACHINE_NO_COCKTAIL ) GAME( 1982, tazzmang, tazmania, tazzmang, tazzmang, galaxold_state, empty_init, ROT90, "bootleg", "Tazz-Mania (bootleg on Galaxian hardware)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) GAME( 1982, tazzmang2, tazmania, tazzmang, tazzmang, galaxold_state, empty_init, ROT90, "bootleg", "Tazz-Mania (bootleg on Galaxian hardware with Starfield)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) -GAME( 1983, bongo, 0, bongo, bongo, galaxold_state, empty_init, ROT90, "Jetsoft", "Bongo", MACHINE_SUPPORTS_SAVE ) GAME( 1983, ozon1, 0, ozon1, ozon1, galaxold_state, empty_init, ROT90, "Proma", "Ozon I", MACHINE_SUPPORTS_SAVE ) GAME( 1982, guttangt, locomotn, guttang, guttangt, galaxold_state, init_guttangt, ROT270, "bootleg (Recreativos Franco?)", "Guttang Gottong (bootleg on Galaxian type hardware)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // or by 'Tren' ? diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h index 393057579c2..c6194f0a5ed 100644 --- a/src/mame/includes/galaxian.h +++ b/src/mame/includes/galaxian.h @@ -354,6 +354,7 @@ public: void thepitm(machine_config &config); void skybase(machine_config &config); void kong(machine_config &config); + void bongo(machine_config &config); void scorpnmc(machine_config &config); void fourplay(machine_config &config); void videight(machine_config &config); @@ -367,6 +368,8 @@ protected: void anteatergg_map(address_map &map); void anteateruk_map(address_map &map); void astroamb_map(address_map &map); + void bongo_map(address_map &map); + void bongo_io_map(address_map &map); void checkmaj_sound_map(address_map &map); void checkman_sound_map(address_map &map); void checkman_sound_portmap(address_map &map); diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h index ffe07214594..3cb112fe1b9 100644 --- a/src/mame/includes/galaxold.h +++ b/src/mame/includes/galaxold.h @@ -201,7 +201,6 @@ public: DECLARE_VIDEO_START(rockclim); DECLARE_VIDEO_START(galaxold_plain); DECLARE_VIDEO_START(ozon1); - DECLARE_VIDEO_START(bongo); DECLARE_VIDEO_START(ckongs); DECLARE_VIDEO_START(darkplnt); DECLARE_VIDEO_START(rescue); @@ -274,7 +273,6 @@ public: void galaxold_base(machine_config &config); void ckongg(machine_config &config); void _4in1(machine_config &config); - void bongo(machine_config &config); void racknrol(machine_config &config); void hunchbkg(machine_config &config); void videotron(machine_config &config); @@ -301,8 +299,6 @@ public: void mooncrst_audio(machine_config &config); void _4in1_map(address_map &map); void bagmanmc_map(address_map &map); - void bongo_map(address_map &map); - void bongo_io(address_map &map); void bullsdrtg_data_map(address_map &map); void ckongg_map(address_map &map); void ckongmc_map(address_map &map); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e59a2eafe3b..df06e963ca2 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14185,6 +14185,7 @@ azurian // (c) 1982 Rait Electronics Ltd batman2 // bootleg blkhole // TDS (Tokyo Denshi Sekkei) & MINTS bomber // +bongo // (c) 1983 Jetsoft calipso // (c) 1982 Tago catacomb // 1982 MTM Games checkman // (c) 1982 Zilec-Zenitone @@ -14399,7 +14400,6 @@ zigzagb2 // (c) 1982 LAX (bootleg) 4in1 // (c) 1981 Armenia / Food and Fun bagmanm2 // (c) 1984 Valadon Automation / GIB bagmanmc // bootleg -bongo // (c) 1983 Jetsoft bullsdrtg // 1985 Senko ckongcv // 19?? Competitive Video? ckongg // 1981 bootleg diff --git a/src/mame/video/galaxold.cpp b/src/mame/video/galaxold.cpp index 7f3a46a8238..d53ff3008b0 100644 --- a/src/mame/video/galaxold.cpp +++ b/src/mame/video/galaxold.cpp @@ -703,15 +703,6 @@ VIDEO_START_MEMBER(galaxold_state,ozon1) m_bg_tilemap->set_scrolldx(0, 384-256); } -VIDEO_START_MEMBER(galaxold_state,bongo) -{ - VIDEO_START_CALL_MEMBER(galaxold_plain); - - m_bg_tilemap->set_scrolldx(0, 384-256); - - m_modify_spritecode = &galaxold_state::batman2_modify_spritecode; -} - TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2) { uint8_t x = tile_index & 0x1f; -- cgit v1.2.3