diff options
Diffstat (limited to 'src/mame/drivers/kyugo.cpp')
-rw-r--r-- | src/mame/drivers/kyugo.cpp | 196 |
1 files changed, 148 insertions, 48 deletions
diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp index 9852b5cbbd1..6c0bcb02c67 100644 --- a/src/mame/drivers/kyugo.cpp +++ b/src/mame/drivers/kyugo.cpp @@ -20,6 +20,106 @@ Known issues: * attract mode in Son of Phoenix doesn't work + *************************************************************************** + +Repulse bootleg +Hardware Info By Guru + +PCB Layout +---------- + +Top PCB + + |------------------------------------------------| + | PAL | +|-| 2016 PAL | +| | | +| | ROM.2K Z80 | +| | | +| | ROM.2J ROM.4J | +| | | +|-| ROM.2H ROM.4H | + | | + | ROM.2F ROM.4F AY-3-8910 | + | | + |1 Z80 AY-3-8910 | + |8 | + |W DSW2 | + |A | + |Y DSW1 | + | AMP VOL | + |------------------------------------------------| +Notes: + 2016 - 2kx8 SRAM + Z80 - Clock 3.072MHz [18.432/6] (both) + AY-3-8910 - Clock 1.536MHz [18.432/12] (both) + HSync - 15.5154kHz + VSync - 59.6575Hz + + ALL ROMs match the original set. + ROM CRC32 Table (to match ROMs from original to bootleg locations) + ------------------------------------------------------------------ + Location CRC32 Repulse ROM-set Name + 2K 86b267f3 repulse.b4 + 2J 197e314c 3.j2 + 2H b3c6a886 2.h2 + 2F c485c621 1.f2 + 4J 57a8e900 7.j4 + 4H 99129918 repulse.b6 + 4F fb2b7c9d repulse.b5 + + +Bottom PCB + + |-----------------------------------------------------------------------------| + | 18.432MHz | +|-| | +| | | +| | | +| | 2016 2016 2016 | +| | | +| | 2114 | +|-| | + | 6148 2114 | + | ROM.9H ROM.10H ROM.11H | + | 6148 6148 | + | PROM.5H% | + | 6148 | + | | + | PROM.1H | + | PROM.1G | + | PROM.1F | + | | + | | + | ROM.4A ROM.6A ROM.7A ROM.8A ROM.9A ROM.10A ROM.11A | + | | + |-----------------------------------------------------------------------------| +Notes: + 2016 - 2kx8 SRAM + 6148 - 1kx4 SRAM + 2114 - 1kx4 SRAM + PROM* - 82S129 Bi-Polar PROM + PROM% - Package looks like other PROMs so it might be a PROM but no part# on it + + ALL ROMs match the original set. + ROM CRC32 Table (to match ROMs from original to bootleg locations) + ------------------------------------------------------------------ + Location CRC32 Repulse ROM-set Name + 4A c79f05eb* repulse.a11 + 6A 0e9f757e 8.6a + 7A f7d2e650 9.7a + 8A e717baf4 10.8a + 9A 04b2250b 11.9a + 10A d110e140 12.10a + 11A 8fdc713c 13.11a + 9H c9213469 15.9h + 10H 7de5d39e 16.10h + 11H 0ba5f72c 17.11h + + * This ROM is a 2764 with the data doubled. The original dumped ROM at A11 is only 4k + so held in a 2732 EPROM. The original ROM might be the same and doubled to fill a + 2764 like the bootleg was but possibly chopped in half for emulation, hence the 4k + size of the original ROM compared to the 8k size of the bootleg ROM. ***************************************************************************/ @@ -198,7 +298,7 @@ void kyugo_state::srdmissn_sub_portmap(address_map &map) static INPUT_PORTS_START( common ) PORT_START("DSW2") - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) + PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 3C_2C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) @@ -207,7 +307,7 @@ static INPUT_PORTS_START( common ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) + PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW2:4,5,6") PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) @@ -216,8 +316,8 @@ static INPUT_PORTS_START( common ) PORT_DIPSETTING( 0x20, DEF_STR( 3C_4C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) ) - PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) + PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DSW2:7") + PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DSW2:8") PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) @@ -252,23 +352,23 @@ INPUT_PORTS_END static INPUT_PORTS_START( gyrodine ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPUNUSED( 0x04, IP_ACTIVE_LOW ) - PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Difficulty ) ) + PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "DSW1:3" ) + PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "DSW1:4" ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, "20000 50000" ) PORT_DIPSETTING( 0x00, "40000 70000" ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -277,34 +377,34 @@ INPUT_PORTS_END static INPUT_PORTS_START( repulse ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Every 50000" ) PORT_DIPSETTING( 0x00, "Every 70000" ) - PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) + PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME(0x10, 0x10, "Invulnerability (Cheat)") + PORT_DIPNAME(0x10, 0x10, "Invulnerability (Cheat)") PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) + PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_INCLUDE( common ) PORT_MODIFY("DSW2") - PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:7,8") PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) @@ -313,27 +413,27 @@ INPUT_PORTS_END static INPUT_PORTS_START( airwolf ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "4" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x01, "6" ) PORT_DIPSETTING( 0x00, "7" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Allow_Continue ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) + PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Invulnerability (Cheat)") + PORT_DIPNAME( 0x10, 0x10, "Invulnerability (Cheat)") PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) + PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -345,7 +445,7 @@ static INPUT_PORTS_START( skywolf ) PORT_INCLUDE( airwolf ) PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) @@ -354,27 +454,27 @@ INPUT_PORTS_END static INPUT_PORTS_START( flashgal ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Every 50000" ) PORT_DIPSETTING( 0x00, "Every 70000" ) - PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) + PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Allow_Continue ) ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) + PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -383,27 +483,27 @@ INPUT_PORTS_END static INPUT_PORTS_START( srdmissn ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPNAME( 0x04, 0x04, "Bonus Life/Continue" ) + PORT_DIPNAME( 0x04, 0x04, "Bonus Life/Continue" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Every 50000/No" ) PORT_DIPSETTING( 0x00, "Every 70000/Yes" ) - PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) + PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME(0x10, 0x10, "Invulnerability (Cheat)") + PORT_DIPNAME(0x10, 0x10, "Invulnerability (Cheat)") PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) + PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -412,27 +512,27 @@ INPUT_PORTS_END static INPUT_PORTS_START( legend ) PORT_START("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x01, "5" ) PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPNAME( 0x04, 0x04, "Bonus Life/Continue" ) + PORT_DIPNAME( 0x04, 0x04, "Bonus Life/Continue" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Every 50000/No" ) PORT_DIPSETTING( 0x00, "Every 70000/Yes" ) - PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) + PORT_DIPNAME( 0x08, 0x08, "Slow Motion" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) /* probably unused */ + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5") /* probably unused */ PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) + PORT_DIPNAME( 0x20, 0x20, "Sound Test" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x80, 0x80, "Freeze" ) + PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |