mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Move guttangt to newer galaxian driver, promote to working. (#8151)
* Moved guttangt from galaxold.cpp to galaxian.cpp. * Improved graphics, and inputs. clones promoted to WORKING ------- Guttang Gottong (bootleg on Galaxian type hardware) [David Haywood]
This commit is contained in:
parent
ba3e5baffc
commit
fbd58b3a63
@ -2522,6 +2522,37 @@ void galaxian_state::froggeram_map(address_map &map)
|
||||
map(0xb807, 0xb807).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); // always set to 0?
|
||||
}
|
||||
|
||||
void guttangt_state::guttangt_rombank_w(uint8_t data)
|
||||
{
|
||||
m_rombank->set_entry(data & 1);
|
||||
}
|
||||
|
||||
// map not derived from schematics
|
||||
void guttangt_state::guttangt_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).rom().nopw();
|
||||
map(0x2000, 0x27ff).bankr(m_rombank); // 0x2000-0x27ff is banked (so they have room for the new music player), see init / rom loading
|
||||
map(0x2800, 0x3fff).rom().nopw();
|
||||
|
||||
map(0x4000, 0x47ff).ram();
|
||||
|
||||
map(0x5000, 0x53ff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
|
||||
map(0x5800, 0x58ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
|
||||
|
||||
map(0x6000, 0x6000).portr("IN0").w(FUNC(guttangt_state::guttangt_rombank_w));
|
||||
map(0x6800, 0x6800).portr("IN1");
|
||||
|
||||
galaxian_map_discrete(map);
|
||||
|
||||
map(0x7000, 0x7000).portr("IN2");
|
||||
map(0x7001, 0x7001).w(FUNC(galaxian_state::irq_enable_w));
|
||||
|
||||
map(0x7006, 0x7006).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); // always set to 0?
|
||||
map(0x7007, 0x7007).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); // always set to 0?
|
||||
|
||||
map(0x7800, 0x7800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Sound CPU memory maps
|
||||
@ -6765,6 +6796,63 @@ static INPUT_PORTS_START( highroll )
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( guttangt )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
PORT_DIPNAME( 0x20, 0x20, "IN0:5" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) // also acts as button 1 / speedup
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) // ^
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
|
||||
PORT_DIPNAME( 0x20, 0x20, "IN1:6" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x40, "A: 2C/1C B: 1C/3C" )
|
||||
PORT_DIPSETTING( 0x00, "A: 1C/1C B: 1C/6C" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "IN1:8" )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_DIPNAME( 0x01, 0x01, "IN2:1" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
PORT_DIPSETTING( 0x0c, "5" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "IN2:5" )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "IN2:6" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "IN2:7" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "IN2:8" )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Graphics layouts
|
||||
@ -7249,6 +7337,13 @@ void galaxian_state::timefgtr(machine_config &config)
|
||||
TIMER(config, "scantimer").configure_scanline(FUNC(galaxian_state::timefgtr_scanline), "screen", 0, 1);
|
||||
}
|
||||
|
||||
void guttangt_state::guttangt(machine_config &config)
|
||||
{
|
||||
galaxian(config);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &guttangt_state::guttangt_map);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void galaxian_state::jumpbug(machine_config &config)
|
||||
{
|
||||
@ -8201,6 +8296,14 @@ void galaxian_state::init_videight()
|
||||
common_init(NULL, NULL, &galaxian_state::videight_extend_tile_info, &galaxian_state::videight_extend_sprite_info);
|
||||
}
|
||||
|
||||
void guttangt_state::init_guttangt()
|
||||
{
|
||||
common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, &galaxian_state::guttangt_extend_sprite_info);
|
||||
|
||||
m_rombank->configure_entry( 0, memregion("maincpu")->base() + 0x2000);
|
||||
m_rombank->configure_entry( 1, memregion("maincpu")->base() + 0x4000);
|
||||
m_rombank->set_entry(0);
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -14744,6 +14847,29 @@ ROM_START( victorycb )
|
||||
ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(25329e5a) SHA1(aff60d02aa4d1d5f16e2d32155c315deee8b4089) )
|
||||
ROM_END
|
||||
|
||||
// PCB made by Recreativos Franco
|
||||
ROM_START( guttangt )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "gg1-2716.rom", 0x0000, 0x0800, CRC(7f338d91) SHA1(d203f229f4f5934467b80ed0f2208e5551aaa383) )
|
||||
ROM_LOAD( "gg2-2758.rom", 0x0800, 0x0800, CRC(ecdbb62b) SHA1(c2eb0316ab789a69b74aeec25e5c690b4334c7c2) )
|
||||
ROM_LOAD( "gg3-2716.rom", 0x1000, 0x0800, CRC(38d71df3) SHA1(f1771256b52ba1bfc1bd472f8a78d6302a7b1299) )
|
||||
ROM_LOAD( "gg4-2716.rom", 0x1800, 0x0800, CRC(7623125a) SHA1(3f3abb9c66751908918fa52e22e153da5fdc0902) )
|
||||
ROM_LOAD( "gg5-2732.rom", 0x2000, 0x0800, CRC(1fe33f92) SHA1(d3e00459015b8bf43fe2e8f6cb57cef775bbb330) )
|
||||
ROM_CONTINUE(0x4000,0x800) // double sized ROM containing banked code, maps at 0x2000
|
||||
ROM_LOAD( "gg6-2716.rom", 0x2800, 0x0800, CRC(60606cd5) SHA1(9a4bf0134c7fa66d2ecd3a745421091b0a086572) )
|
||||
ROM_LOAD( "gg7-2516.rom", 0x3000, 0x0800, CRC(ce0d0a93) SHA1(339bd9c6c40eb2501d1a1adcea0cfa82e3224967) )
|
||||
ROM_LOAD( "gg8-2716.rom", 0x3800, 0x0800, CRC(b8716081) SHA1(e2d1db27ad44876b891cc0a2232ac887bcc5516f) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", 0 )
|
||||
// some tile corruption so one of these is bad
|
||||
ROM_LOAD( "gg9-2732.rom", 0x0000, 0x1000, BAD_DUMP CRC(be6bf522) SHA1(23a09409b7de4bfdb970e4ff23d89a2439a0aee5) )
|
||||
ROM_LOAD( "gg10-2732.rom", 0x1000, 0x1000, BAD_DUMP CRC(b04c34c5) SHA1(a37db70ce67d64daa5f0c41cce1136d1c9d8c175) )
|
||||
|
||||
ROM_REGION( 0x0020, "proms", 0 )
|
||||
// no PROM was present, standard one used as this was a conversion, but it might be incorrect
|
||||
ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -14811,6 +14937,7 @@ GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian_state, init_
|
||||
GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian_state, init_galaxian, ROT90, "MTM Games", "Catacomb", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 19??, omegab, theend, galaxian, omegab, galaxian_state, init_galaxian, ROT270, "bootleg?", "Omega (bootleg?)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1982, highroll, 0, highroll, highroll, galaxian_state, init_highroll, ROT90, "bootleg?", "High Roller", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // auto starts game after inserting coin, bad cards GFX, bad inputs response, not all inputs are mapped
|
||||
GAME( 1982, guttangt, locomotn, guttangt, guttangt, guttangt_state, init_guttangt, ROT90, "bootleg (Recreativos Franco?)", "Guttang Gottong (bootleg on Galaxian type hardware)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) // or by 'Tren' ?
|
||||
|
||||
// Basic hardware + extra RAM
|
||||
GAME( 1982, victoryc, 0, victoryc, victoryc, galaxian_state, init_victoryc, ROT270, "Comsoft", "Victory (Comsoft)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -339,41 +339,8 @@ void galaxold_state::scrambleo_map(address_map &map)
|
||||
map(0x7001, 0x7001).w(FUNC(galaxold_state::galaxold_nmi_enable_w));
|
||||
}
|
||||
|
||||
void galaxold_state::guttang_rombank_w(uint8_t data)
|
||||
{
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
// printf("rombank %02x\n",data);
|
||||
space.install_rom(0x2000, 0x27ff, memregion("maincpu")->base() + (data & 1 ? 0x4000 : 0x2000));
|
||||
}
|
||||
|
||||
|
||||
void galaxold_state::guttang_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).rom().nopw(); // 0x2000-0x27ff is banked (so they have room for the new music player), see init
|
||||
map(0x4000, 0x47ff).ram();
|
||||
|
||||
map(0x5000, 0x53ff).ram().w(FUNC(galaxold_state::galaxold_videoram_w)).share("videoram");
|
||||
|
||||
map(0x5800, 0x583f).ram().w(FUNC(galaxold_state::galaxold_attributesram_w)).share("attributesram");
|
||||
map(0x5840, 0x585f).ram().share("spriteram");
|
||||
map(0x5860, 0x587f).ram().share("bulletsram");
|
||||
map(0x5880, 0x58ff).ram();
|
||||
|
||||
map(0x6000, 0x6000).portr("IN0").w(FUNC(galaxold_state::guttang_rombank_w));
|
||||
map(0x6800, 0x6800).portr("IN1");
|
||||
|
||||
map(0x6800, 0x6802).w("cust", FUNC(galaxian_sound_device::background_enable_w));
|
||||
map(0x6803, 0x6803).w("cust", FUNC(galaxian_sound_device::noise_enable_w));
|
||||
map(0x6805, 0x6805).w("cust", FUNC(galaxian_sound_device::fire_enable_w));
|
||||
map(0x6806, 0x6807).w("cust", FUNC(galaxian_sound_device::vol_w));
|
||||
|
||||
|
||||
map(0x7000, 0x7000).portr("IN2");
|
||||
map(0x7001, 0x7001).w(FUNC(galaxold_state::galaxold_nmi_enable_w));
|
||||
|
||||
map(0x7800, 0x7800).r("watchdog", FUNC(watchdog_timer_device::reset_r)).w("cust", FUNC(galaxian_sound_device::pitch_w));
|
||||
|
||||
}
|
||||
|
||||
|
||||
void galaxold_state::_4in1_map(address_map &map)
|
||||
@ -1593,68 +1560,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( guttangt )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
PORT_DIPNAME( 0x40, 0x40, "IN0:6" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_DIPNAME( 0x04, 0x00, "IN1:3" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "IN1:4" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "IN1:5" )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "IN1:6" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "IN1:7" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "IN1:8" )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_DIPNAME( 0x01, 0x01, "IN2:1" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "IN2:2" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, "IN2:3" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "IN2:4" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "IN2:5" )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "IN2:6" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "IN2:7" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "IN2:8" )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout galaxold_charlayout =
|
||||
{
|
||||
@ -1895,22 +1800,6 @@ void galaxold_state::scrambleo(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &galaxold_state::scrambleo_map);
|
||||
}
|
||||
|
||||
void galaxold_state::guttang(machine_config &config)
|
||||
{
|
||||
galaxian(config);
|
||||
|
||||
// basic machine hardware
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &galaxold_state::guttang_map);
|
||||
|
||||
// video hardware
|
||||
m_palette->set_entries(32+2+64+1); // 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background
|
||||
m_palette->set_init(FUNC(galaxold_state::galaxold_palette));
|
||||
// m_palette->set_init(FUNC(galaxold_state::scrambold_palette));
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(galaxold_state,mooncrst)
|
||||
}
|
||||
|
||||
|
||||
void galaxold_state::_4in1(machine_config &config)
|
||||
{
|
||||
galaxian(config);
|
||||
@ -2710,26 +2599,7 @@ ROM_START( trvchlng )
|
||||
ROM_END
|
||||
|
||||
|
||||
// PCB made by Recreativos Franco
|
||||
ROM_START( guttangt )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "gg1-2716.rom", 0x0000, 0x0800, CRC(7f338d91) SHA1(d203f229f4f5934467b80ed0f2208e5551aaa383) )
|
||||
ROM_LOAD( "gg2-2758.rom", 0x0800, 0x0800, CRC(ecdbb62b) SHA1(c2eb0316ab789a69b74aeec25e5c690b4334c7c2) )
|
||||
ROM_LOAD( "gg3-2716.rom", 0x1000, 0x0800, CRC(38d71df3) SHA1(f1771256b52ba1bfc1bd472f8a78d6302a7b1299) )
|
||||
ROM_LOAD( "gg4-2716.rom", 0x1800, 0x0800, CRC(7623125a) SHA1(3f3abb9c66751908918fa52e22e153da5fdc0902) )
|
||||
ROM_LOAD( "gg5-2732.rom", 0x2000, 0x0800, CRC(1fe33f92) SHA1(d3e00459015b8bf43fe2e8f6cb57cef775bbb330) )
|
||||
ROM_CONTINUE(0x4000,0x800) // banked code, maps at 0x2000
|
||||
ROM_LOAD( "gg6-2716.rom", 0x2800, 0x0800, CRC(60606cd5) SHA1(9a4bf0134c7fa66d2ecd3a745421091b0a086572) )
|
||||
ROM_LOAD( "gg7-2516.rom", 0x3000, 0x0800, CRC(ce0d0a93) SHA1(339bd9c6c40eb2501d1a1adcea0cfa82e3224967) )
|
||||
ROM_LOAD( "gg8-2716.rom", 0x3800, 0x0800, CRC(b8716081) SHA1(e2d1db27ad44876b891cc0a2232ac887bcc5516f) )
|
||||
|
||||
ROM_REGION( 0x2000, "gfx1", 0 )
|
||||
ROM_LOAD( "gg9-2732.rom", 0x0000, 0x1000, CRC(be6bf522) SHA1(23a09409b7de4bfdb970e4ff23d89a2439a0aee5) )
|
||||
ROM_LOAD( "gg10-2732.rom", 0x1000, 0x1000, CRC(b04c34c5) SHA1(a37db70ce67d64daa5f0c41cce1136d1c9d8c175) )
|
||||
|
||||
ROM_REGION( 0x0020, "proms", 0 ) // no PROM was present..
|
||||
ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*
|
||||
@ -2779,10 +2649,6 @@ ROM_START( bullsdrtg )
|
||||
ROM_LOAD( "prom.bin", 0x0000, 0x0020, CRC(16b19bfa) SHA1(a0e9217f9bc5b06212d5f22dcc3dc4b2838788ba) )
|
||||
ROM_END
|
||||
|
||||
void galaxold_state::init_guttangt()
|
||||
{
|
||||
m_maincpu->space(AS_PROGRAM).install_rom(0x2000, 0x27ff, memregion("maincpu")->base() + 0x2000);
|
||||
}
|
||||
|
||||
|
||||
// Z80 games
|
||||
@ -2799,7 +2665,6 @@ GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, galaxold_state, empty_ini
|
||||
GAME( 1982, dkongjrmc, dkongjr, dkongjrmc, dkongjrmc, galaxold_state, empty_init, ROT90, "bootleg (Centromatic)", "Donkey Kong Jr. (bootleg on Moon Cresta hardware, set 2)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // sprites leave artifacts
|
||||
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( 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' ?
|
||||
|
||||
// Videotron cartridge system
|
||||
GAME( 1981, hustlerb3, hustler, videotron, hustlerb3, galaxold_state, empty_init, ROT90, "bootleg (Videotron)", "Video Pool (Video Hustler bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -240,6 +240,7 @@ public:
|
||||
void init_mimonkey();
|
||||
void init_mimonkeyb();
|
||||
void init_victoryc();
|
||||
|
||||
TILE_GET_INFO_MEMBER(bg_get_tile_info);
|
||||
void galaxian_palette(palette_device &palette);
|
||||
void moonwar_palette(palette_device &palette);
|
||||
@ -295,6 +296,7 @@ public:
|
||||
void mimonkey_extend_sprite_info(const uint8_t *base, uint8_t *sx, uint8_t *sy, uint8_t *flipx, uint8_t *flipy, uint16_t *code, uint8_t *color);
|
||||
void namenayo_extend_tile_info(uint16_t *code, uint8_t *color, uint8_t attrib, uint8_t x, uint8_t y);
|
||||
void namenayo_extend_sprite_info(const uint8_t *base, uint8_t *sx, uint8_t *sy, uint8_t *flipx, uint8_t *flipy, uint16_t *code, uint8_t *color);
|
||||
void guttangt_extend_sprite_info(const uint8_t *base, uint8_t *sx, uint8_t *sy, uint8_t *flipx, uint8_t *flipy, uint16_t *code, uint8_t *color);
|
||||
void monsterz_set_latch();
|
||||
void decode_mooncrst(int length, uint8_t *dest);
|
||||
void decode_checkman();
|
||||
@ -577,4 +579,24 @@ private:
|
||||
void namenayo_unk_d800_w(uint8_t data);
|
||||
};
|
||||
|
||||
class guttangt_state : public galaxian_state
|
||||
{
|
||||
public:
|
||||
guttangt_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: galaxian_state(mconfig, type, tag)
|
||||
, m_rombank(*this, "rombank")
|
||||
{
|
||||
}
|
||||
|
||||
void guttangt(machine_config &config);
|
||||
void init_guttangt();
|
||||
|
||||
private:
|
||||
void guttangt_map(address_map &map);
|
||||
void guttangt_rombank_w(uint8_t data);
|
||||
|
||||
required_memory_bank m_rombank;
|
||||
};
|
||||
|
||||
|
||||
#endif // MAME_INCLUDES_GALAXIAN_H
|
||||
|
@ -149,7 +149,6 @@ public:
|
||||
void galaxold_gfxbank_w(offs_t offset, uint8_t data);
|
||||
void rockclim_videoram_w(offs_t offset, uint8_t data);
|
||||
void rockclim_scroll_w(offs_t offset, uint8_t data);
|
||||
void guttang_rombank_w(uint8_t data);
|
||||
uint8_t rockclim_videoram_r(offs_t offset);
|
||||
void dambustr_bg_split_line_w(uint8_t data);
|
||||
void dambustr_bg_color_w(uint8_t data);
|
||||
@ -163,7 +162,6 @@ public:
|
||||
void init_bullsdrtg();
|
||||
void init_ladybugg();
|
||||
void init_4in1();
|
||||
void init_guttangt();
|
||||
|
||||
TILE_GET_INFO_MEMBER(drivfrcg_get_tile_info);
|
||||
TILE_GET_INFO_MEMBER(racknrol_get_tile_info);
|
||||
@ -282,7 +280,6 @@ public:
|
||||
void scramb2(machine_config &config);
|
||||
void scramb3(machine_config &config);
|
||||
void mooncrst(machine_config &config);
|
||||
void guttang(machine_config &config);
|
||||
void galaxian_audio(machine_config &config);
|
||||
void mooncrst_audio(machine_config &config);
|
||||
void _4in1_map(address_map &map);
|
||||
@ -292,7 +289,6 @@ public:
|
||||
void drivfrcg_program(address_map &map);
|
||||
void drivfrcg_io(address_map &map);
|
||||
void galaxold_map(address_map &map);
|
||||
void guttang_map(address_map &map);
|
||||
void hexpoola_data(address_map &map);
|
||||
void hexpoola_io(address_map &map);
|
||||
void hunchbkg_map(address_map &map);
|
||||
|
@ -14396,6 +14396,7 @@ gteikoku // (c) Irem
|
||||
gteikokub // bootleg
|
||||
gteikokub2 // bootleg
|
||||
gteikokub3 // bootleg (Honly Enterprises)
|
||||
guttangt //
|
||||
highroll //
|
||||
jumpbug // (c) 1981 Rock-ola
|
||||
jumpbugb // (c) 1981 Sega
|
||||
@ -14567,7 +14568,6 @@ drivfrcsg // [1984] Seatongrove
|
||||
drivfrcsga // [1984] Seatongrove
|
||||
drivfrct // bootleg
|
||||
froggerv // bootleg
|
||||
guttangt //
|
||||
hexpool // (c) 1986 Shinkia (Senko Kit)
|
||||
hexpoola // (c) 1986 Shinkia (Senko Kit)
|
||||
hunchbgb // bootleg
|
||||
|
@ -1441,6 +1441,13 @@ void galaxian_state::namenayo_draw_background(bitmap_rgb32 &bitmap, const rectan
|
||||
m_bg_tilemap->draw(*m_screen, bitmap, draw, TILEMAP_DRAW_OPAQUE, 0);
|
||||
}
|
||||
|
||||
// Guttang Gottong bootleg
|
||||
void galaxian_state::guttangt_extend_sprite_info(const uint8_t *base, uint8_t *sx, uint8_t *sy, uint8_t *flipx, uint8_t *flipy, uint16_t *code, uint8_t *color)
|
||||
{
|
||||
// is this configurable or a hardwired mod?
|
||||
*code |= 0x40;
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user