bongo: Transplant to modern galaxian.cpp driver

This commit is contained in:
AJR 2020-11-28 12:52:37 -05:00
parent c02a51c931
commit 005ebb35a9
6 changed files with 118 additions and 146 deletions

View File

@ -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 )

View File

@ -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' ?

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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;