mirror of
https://github.com/holub/mame
synced 2025-07-01 08:18:59 +03:00
bongo: Transplant to modern galaxian.cpp driver
This commit is contained in:
parent
c02a51c931
commit
005ebb35a9
@ -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 )
|
||||
|
@ -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' ?
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user