summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/lsasquad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/lsasquad.cpp')
-rw-r--r--src/mame/drivers/lsasquad.cpp799
1 files changed, 0 insertions, 799 deletions
diff --git a/src/mame/drivers/lsasquad.cpp b/src/mame/drivers/lsasquad.cpp
deleted file mode 100644
index 2328fde0742..00000000000
--- a/src/mame/drivers/lsasquad.cpp
+++ /dev/null
@@ -1,799 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nicola Salmoria
-/***************************************************************************
-
-Land Sea Air Squad / Storming Party (c) 1986 Taito
-
-driver by Nicola Salmoria
-
-TODO:
-- Wrong sprite/tilemap priority. Sprites can appear above and below the middle
- layer, it's not clear how this is selected since there are no free attribute
- bits.
- The priority seems to involve split transparency on the tilemap and also
- priority on sprites (so that people pass below doors but airplanes above).
- It is confirmed that priority is controlled by PROM a64-06.9 (grounding A9
- makes sprites disappear).
-- Scrollram not entirely understood - it's most likely wrong, but more than
- enough to run this particular game.
-- The video driver is pretty slow and could be optimized using temporary bitmaps
- (or tilemaps), however I haven't done that because the video circuitry is not
- entirely understood and if other games are found running on this hardware, they
- might not like the optimizations.
-- Unknown writes to YM2203 output ports (filters?)
-
-TS 2006.05.28:
---------------
-Added 'Daikaijuu no Gyakushuu'
-- more sprite ram
-- a bit different sound hardware (diff. communciation with sub cpu, no NMI)
-- same video board as LSA Squad, but different features are used
-
-
-Difficulty level Damage from..
- Bullet Enemy plane
-A (easy) 1 2
-B (medium) 2 3
-C (hard) 2 5
-D (hardest) 3 6
-
-Rank A and B are described as normal. In rank C, some enemies shoot
-more bullets. In rank D, all enemies shoot more bullets.
-
----------------------------------------------------------------------------
-
-Daikaiju no Gyakushu
-Taito, 1986
-
-(Info from a Japanese friend...)
-The Japanese letters on the title screen say "Daikaizyuu no Gyakusyuu"
-Pronunciation is like "Dai-Kai-ju-no-Ghi-yaku-shu"
-The correct spelling is "Daikaiju no Gyakushu"
-
-PCB Layout
-----------
-
-J1100064A
-K1100152A
-CPU PCB
-(sticker) M4300046A
-|--------------------------------------------------------------|
-| MB3731 YM3014 PC010SA A74_09.IC24 |
-|H 4556 PC010SA A74_08.IC23 |-|
-| LM3900 A74_07.IC22 | |
-| VOL PC040DA | |
-|-| YM2203 PC040DA | |
- | PC040DA | |
-|-| YM2149 A74_06.IC9| |
-| | |
-| Z80A |-|
-| |
-|G A74_04.IC44 |
-| |
-| 6116 |
-| Z80B |-|
-| A74_05.IC35 | |
-|-| A74_01.IC4| |
- | PC030CM | |
-|-| PAL16L8 A74_02.IC3| |
-| (A64-18) | |
-| A74_03.IC2| |
-| |-|
-| DSWB DSWA TL7700 6264 |
-|--------------------------------------------------------------|
-Notes:
- Z80A clock - 3.000MHz [24/8]
- Z80B clock - 6.000MHz [24/4]
- YM2203 clock - 3.000MHz [24/8]
- YM2149 clock - 3.000MHz [24/8]
- PC030CM - Taito custom ceramic I/O module (SIL20)
- PC010SA - Taito custom ceramic sound DAC module (SIL14)
- PC040DA - Taito custom ceramic video DAC module (SIL19)
- TL7700 - Texas Instruments TL7700 Voltage Supervisor/Reset IC (DIP8)
- 6264 - Mitsubishi M5M5165P-10 8k x8 SRAM (DIP28)
- 6116 - Sony CXK5816P-12L 2k x8 SRAM (DIP24)
- MB3731 - Fujitsu MB3731 audio amp IC (SIL12)
- G - 22-way edge connector
- H - 12 pin Taito power connector (gnd,gnd,gnd,gnd,5,5,5,-5,12,key,12,12)
- A74_05.IC35 - Motorola 68705P5S Micro-controller, clock 3.000MHz [24/8] (protected, DIP28)
- VSync - 60Hz
-
- ROMs
- ----
- A74_06/07/08/09 - MMI 63S441 1k x4 Bipolar PROM (DIP18)
- A74_01/02/03/04 - Fujitsu 27C256 EPROM (DIP28)
-
-
-
-Bottom board
-------------
-J1100065A
-K1100153A
-VIDEO BOARD
-|--------------------------------------------------------------|
-| A74_10.IC27 A74_11.IC40 6116 6116 |
-| A74_12.IC28 A74_12.IC41 6116 6116 |-|
-| | |
-| | |
-|-| 2018 | |
- | | |
-|-| | |
-| 2018 24MHz | |
-| |-|
-| |
-|T |
-| |
-| 2018 |
-| 2018 |-|
-|-| | |
- | | |
-|-| | |
-| | |
-| | |
-| A74_14.IC2 A74_15.IC25 | |
-| A74_16.IC3 A74_17.IC26 |-|
-| 2018 |
-|--------------------------------------------------------------|
-Notes:
- 2018 - Toshiba TMM2018 or Sony CXK5813 2k x8 SRAM (NDIP28)
- 6116 - Hitachi HM6116LP-3 2k x8 SRAM (DIP24)
- T - 18-way edge connector
- All A74_x - Fujitsu 27C256 EPROM (DIP28)
-
-
-***************************************************************************/
-
-#include "emu.h"
-#include "includes/lsasquad.h"
-
-#include "cpu/m6805/m6805.h"
-#include "cpu/z80/z80.h"
-#include "sound/2203intf.h"
-#include "sound/ay8910.h"
-#include "screen.h"
-#include "speaker.h"
-
-
-#define MASTER_CLOCK XTAL(24'000'000)
-
-
-WRITE8_MEMBER(lsasquad_state::lsasquad_bankswitch_w)
-{
- /* bits 0-2 select ROM bank */
- membank("bank1")->set_entry(data & 0x07);
-
- /* bit 3 is zeroed on startup, maybe reset sound CPU */
-
- /* bit 4 flips screen */
- flip_screen_set(data & 0x10);
-
- /* other bits unknown */
-}
-
-void lsasquad_state::lsasquad_map(address_map &map)
-{
- map(0x0000, 0x7fff).rom();
- map(0x8000, 0x9fff).bankr("bank1");
- map(0xa000, 0xbfff).ram(); /* SRAM */
- map(0xc000, 0xdfff).ram().share("videoram"); /* SCREEN RAM */
- map(0xe000, 0xe3ff).ram().share("scrollram"); /* SCROLL RAM */
- map(0xe400, 0xe5ff).ram().share("spriteram"); /* OBJECT RAM */
- map(0xe800, 0xe800).portr("DSWA");
- map(0xe801, 0xe801).portr("DSWB");
- map(0xe802, 0xe802).portr("DSWC");
- map(0xe803, 0xe803).r(FUNC(lsasquad_state::lsasquad_mcu_status_r)); /* COIN + 68705 status */
- map(0xe804, 0xe804).portr("P1");
- map(0xe805, 0xe805).portr("P2");
- map(0xe806, 0xe806).portr("START");
- map(0xe807, 0xe807).portr("SERVICE");
- map(0xea00, 0xea00).w(FUNC(lsasquad_state::lsasquad_bankswitch_w));
- map(0xec00, 0xec00).r(m_soundlatch2, FUNC(generic_latch_8_device::read));
- map(0xec00, 0xec00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0xec01, 0xec01).r(FUNC(lsasquad_state::lsasquad_sound_status_r));
- map(0xee00, 0xee00).rw(m_bmcu, FUNC(taito68705_mcu_device::data_r), FUNC(taito68705_mcu_device::data_w));
-}
-
-void lsasquad_state::lsasquad_sound_map(address_map &map)
-{
- map(0x0000, 0x7fff).rom();
- map(0x8000, 0x87ff).ram();
- map(0xa000, 0xa001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
- map(0xc000, 0xc001).w("aysnd", FUNC(ay8910_device::address_data_w));
- map(0xd000, 0xd000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
- map(0xd000, 0xd000).w(m_soundlatch2, FUNC(generic_latch_8_device::write));
- map(0xd400, 0xd400).w(FUNC(lsasquad_state::lsasquad_sh_nmi_disable_w));
- map(0xd800, 0xd800).w(FUNC(lsasquad_state::lsasquad_sh_nmi_enable_w));
- map(0xd800, 0xd800).r(FUNC(lsasquad_state::lsasquad_sound_status_r));
- map(0xe000, 0xefff).rom(); /* space for diagnostic ROM? */
-}
-
-
-
-void lsasquad_state::storming_map(address_map &map)
-{
- map(0x0000, 0x7fff).rom();
- map(0x8000, 0x9fff).bankr("bank1");
- map(0xa000, 0xbfff).ram(); /* SRAM */
- map(0xc000, 0xdfff).ram().share("videoram"); /* SCREEN RAM */
- map(0xe000, 0xe3ff).ram().share("scrollram"); /* SCROLL RAM */
- map(0xe400, 0xe5ff).ram().share("spriteram"); /* OBJECT RAM */
- map(0xe800, 0xe800).portr("DSWA");
- map(0xe801, 0xe801).portr("DSWB");
- map(0xe802, 0xe802).portr("DSWC");
- map(0xe803, 0xe803).portr("COINS");
- map(0xe804, 0xe804).portr("P1");
- map(0xe805, 0xe805).portr("P2");
- map(0xe806, 0xe806).portr("START");
- map(0xe807, 0xe807).portr("SERVICE");
- map(0xea00, 0xea00).w(FUNC(lsasquad_state::lsasquad_bankswitch_w));
- map(0xec00, 0xec00).r(m_soundlatch2, FUNC(generic_latch_8_device::read));
- map(0xec00, 0xec00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0xec01, 0xec01).r(FUNC(lsasquad_state::lsasquad_sound_status_r));
-}
-
-
-static INPUT_PORTS_START( lsasquad )
- PORT_START("DSWA")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
-
- PORT_START("DSWB")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x08, "50000 100000" )
- PORT_DIPSETTING( 0x0c, "80000 150000" )
- PORT_DIPSETTING( 0x04, "100000 200000" )
- PORT_DIPSETTING( 0x00, "150000 300000" )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "1" )
- PORT_DIPSETTING( 0x30, "3" )
- PORT_DIPSETTING( 0x10, "4" )
- PORT_DIPSETTING( 0x20, "5" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Language ) )
- PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Japanese ) )
-
- PORT_START("DSWC")
- PORT_DIPNAME( 0x01, 0x01, "Freeze" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "Invulnerability (Cheat)")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("MCU")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 68705 ready to receive cmd */
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 0 = 68705 has sent result */
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("P1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("START")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( storming )
- PORT_INCLUDE( lsasquad ) // no MCU
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
-INPUT_PORTS_END
-
-
-/* DAIKAIJU */
-
-void lsasquad_state::daikaiju_map(address_map &map)
-{
- map(0x0000, 0x7fff).rom();
- map(0x8000, 0x9fff).bankr("bank1");
- map(0xa000, 0xbfff).ram(); /* SRAM */
- map(0xc000, 0xdfff).ram().share("videoram"); /* SCREEN RAM */
- map(0xe000, 0xe3ff).ram().share("scrollram"); /* SCROLL RAM */
- map(0xe400, 0xe7ff).ram().share("spriteram"); /* OBJECT RAM */
- map(0xe800, 0xe800).portr("DSWA");
- map(0xe801, 0xe801).portr("DSWB");
- map(0xe803, 0xe803).r(FUNC(lsasquad_state::daikaiju_mcu_status_r)); /* COIN + 68705 status */
- map(0xe804, 0xe804).portr("P1");
- map(0xe805, 0xe805).portr("P2");
- map(0xe806, 0xe806).portr("START");
- map(0xe807, 0xe807).portr("SERVICE");
- map(0xea00, 0xea00).w(FUNC(lsasquad_state::lsasquad_bankswitch_w));
- map(0xec00, 0xec00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0xee00, 0xee00).rw(m_bmcu, FUNC(taito68705_mcu_device::data_r), FUNC(taito68705_mcu_device::data_w));
-}
-
-void lsasquad_state::daikaiju_sound_map(address_map &map)
-{
- map(0x0000, 0x7fff).rom();
- map(0x8000, 0x87ff).ram();
- map(0xa000, 0xa001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
- map(0xc000, 0xc001).w("aysnd", FUNC(ay8910_device::address_data_w));
- map(0xd000, 0xd000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
- map(0xd400, 0xd400).w(FUNC(lsasquad_state::lsasquad_sh_nmi_disable_w));
- map(0xd800, 0xd800).rw(FUNC(lsasquad_state::daikaiju_sound_status_r), FUNC(lsasquad_state::lsasquad_sh_nmi_enable_w));
- map(0xdc00, 0xdc00).nopw();
- map(0xe000, 0xefff).rom(); /* space for diagnostic ROM? */
-}
-
-static INPUT_PORTS_START( daikaiju )
- PORT_START("DSWA")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x02, DEF_STR( On ) )
- PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) //test mode
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x08, DEF_STR( On ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
-
- PORT_START("DSWB")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) // detailed description at the top of file
- PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Medium ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
- PORT_DIPSETTING( 0x08, "100000" )
- PORT_DIPSETTING( 0x0c, "30000" )
- PORT_DIPSETTING( 0x04, "50000" )
- PORT_DIPSETTING( 0x00, DEF_STR( None ) )
- PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
- PORT_DIPSETTING( 0x00, "Infinite (Cheat)" )
- PORT_DIPSETTING( 0x30, "3" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x20, "4" )
- PORT_DIPNAME( 0x40, 0x40, "Invulnerability (Cheat)")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Freeze" ) //stop mode
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSWC")
- //unused
-
-
- PORT_START("MCU")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 68705 ready to receive cmd */
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* 0 = 68705 has sent result */
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
-
- PORT_START("P1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("START")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static const gfx_layout charlayout =
-{
- 8,8,
- RGN_FRAC(1,2),
- 4,
- { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4, 0, 4 },
- { 3, 2, 1, 0, 8+3, 8+2, 8+1, 8+0 },
- { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
- 16*8
-};
-
-static const gfx_layout spritelayout =
-{
- 16,16,
- RGN_FRAC(1,2),
- 4,
- { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4, 0, 4 },
- { 3, 2, 1, 0, 8+3, 8+2, 8+1, 8+0,
- 16*8+3, 16*8+2, 16*8+1, 16*8+0, 16*8+8+3, 16*8+8+2, 16*8+8+1, 16*8+8+0 },
- { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
- 16*16, 17*16, 18*16, 19*16, 20*16, 21*16, 22*16, 23*16 },
- 64*8
-};
-
-static GFXDECODE_START( gfx_lsasquad )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 256, 16 )
-GFXDECODE_END
-
-
-WRITE8_MEMBER(lsasquad_state::unk)
-{
-}
-
-MACHINE_START_MEMBER(lsasquad_state,lsasquad)
-{
- uint8_t *ROM = memregion("maincpu")->base();
-
- membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
-}
-
-MACHINE_RESET_MEMBER(lsasquad_state,lsasquad)
-{
-}
-
-/* Note: lsasquad clock values are not verified */
-void lsasquad_state::lsasquad(machine_config &config)
-{
- /* basic machine hardware */
- Z80(config, m_maincpu, MASTER_CLOCK / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &lsasquad_state::lsasquad_map);
- m_maincpu->set_vblank_int("screen", FUNC(lsasquad_state::irq0_line_hold));
-
- Z80(config, m_audiocpu, MASTER_CLOCK / 8);
- m_audiocpu->set_addrmap(AS_PROGRAM, &lsasquad_state::lsasquad_sound_map);
- /* IRQs are triggered by the YM2203 */
- TAITO68705_MCU(config, m_bmcu, MASTER_CLOCK / 8);
-
-
- config.set_maximum_quantum(attotime::from_hz(30000)); /* 500 CPU slices per frame - a high value to ensure proper */
- /* synchronization of the CPUs */
- /* main<->sound synchronization depends on this */
-
- MCFG_MACHINE_START_OVERRIDE(lsasquad_state,lsasquad)
- MCFG_MACHINE_RESET_OVERRIDE(lsasquad_state,lsasquad)
-
- GENERIC_LATCH_8(config, m_soundlatch);
- m_soundlatch->data_pending_callback().set("soundnmi", FUNC(input_merger_device::in_w<0>));
-
- INPUT_MERGER_ALL_HIGH(config, "soundnmi").output_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
-
- GENERIC_LATCH_8(config, m_soundlatch2);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0, 32*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(lsasquad_state::screen_update_lsasquad));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_lsasquad);
- PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 512);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2149(config, "aysnd", MASTER_CLOCK / 8).add_route(ALL_OUTPUTS, "mono", 0.12);
-
- ym2203_device &ymsnd(YM2203(config, "ymsnd", MASTER_CLOCK / 8));
- ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
- ymsnd.port_a_write_callback().set(FUNC(lsasquad_state::unk));
- ymsnd.port_b_write_callback().set(FUNC(lsasquad_state::unk));
- ymsnd.add_route(0, "mono", 0.12);
- ymsnd.add_route(1, "mono", 0.12);
- ymsnd.add_route(2, "mono", 0.12);
- ymsnd.add_route(3, "mono", 0.63);
-}
-
-void lsasquad_state::storming(machine_config &config)
-{
- lsasquad(config);
-
- m_maincpu->set_addrmap(AS_PROGRAM, &lsasquad_state::storming_map);
-
- config.device_remove("bmcu");
-
- AY8910(config.replace(), "aysnd", MASTER_CLOCK / 8).add_route(ALL_OUTPUTS, "mono", 0.12); // AY-3-8910A
-}
-
-void lsasquad_state::daikaiju(machine_config &config)
-{
- /* basic machine hardware */
- Z80(config, m_maincpu, MASTER_CLOCK / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &lsasquad_state::daikaiju_map);
- m_maincpu->set_vblank_int("screen", FUNC(lsasquad_state::irq0_line_hold));
-
- Z80(config, m_audiocpu, MASTER_CLOCK / 8);
- m_audiocpu->set_addrmap(AS_PROGRAM, &lsasquad_state::daikaiju_sound_map);
- /* IRQs are triggered by the YM2203 */
-
- TAITO68705_MCU(config, m_bmcu, MASTER_CLOCK / 8);
-
- config.set_maximum_quantum(attotime::from_hz(30000)); /* 500 CPU slices per frame - a high value to ensure proper */
- /* synchronization of the CPUs */
- /* main<->sound synchronization depends on this */
-
- MCFG_MACHINE_START_OVERRIDE(lsasquad_state,lsasquad)
- MCFG_MACHINE_RESET_OVERRIDE(lsasquad_state,lsasquad)
-
- GENERIC_LATCH_8(config, m_soundlatch);
- m_soundlatch->data_pending_callback().set("soundnmi", FUNC(input_merger_device::in_w<0>));
-
- INPUT_MERGER_ALL_HIGH(config, "soundnmi").output_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(32*8, 32*8);
- screen.set_visarea(0, 32*8-1, 2*8, 30*8-1);
- screen.set_screen_update(FUNC(lsasquad_state::screen_update_daikaiju));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_lsasquad);
- PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 512);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2149(config, "aysnd", MASTER_CLOCK / 8).add_route(ALL_OUTPUTS, "mono", 0.12);
-
- ym2203_device &ymsnd(YM2203(config, "ymsnd", MASTER_CLOCK / 8));
- ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
- ymsnd.port_a_write_callback().set(FUNC(lsasquad_state::unk));
- ymsnd.port_b_write_callback().set(FUNC(lsasquad_state::unk));
- ymsnd.add_route(0, "mono", 0.12);
- ymsnd.add_route(1, "mono", 0.12);
- ymsnd.add_route(2, "mono", 0.12);
- ymsnd.add_route(3, "mono", 0.63);
-}
-
-
-/***************************************************************************
-
- Game driver(s)
-
-***************************************************************************/
-
-ROM_START( lsasquad )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "a64-21.4", 0x00000, 0x8000, CRC(5ff6b017) SHA1(96cc74edba1208bb8e82f93d2d3a88ea24922dc0) )
- /* ROMs banked at 8000-9fff */
- ROM_LOAD( "a64-20.3", 0x10000, 0x8000, CRC(7f8b4979) SHA1(975b1a678e1f7d7b5789565063177593639645ce) )
- ROM_LOAD( "a64-19.2", 0x18000, 0x8000, CRC(ba31d34a) SHA1(e2c515ae8146a37534b19403c03fc5a8719f115f) )
-
- ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the second CPU */
- ROM_LOAD( "a64-04.44", 0x0000, 0x8000, CRC(c238406a) SHA1(bb8f9d952c4568edb375328a1f9f6681a1bb5907) )
-
- ROM_REGION( 0x0800, "bmcu:mcu", 0 ) /* 2k for the microcontroller */
- ROM_LOAD( "a64-05.35", 0x0000, 0x0800, CRC(572677b9) SHA1(e098d5d842bcc81221ba56652a7019505d8be082) )
-
- ROM_REGION( 0x20000, "gfx1", ROMREGION_INVERT )
- ROM_LOAD( "a64-10.27", 0x00000, 0x8000, CRC(bb4f1b37) SHA1(ce8dc962a3d04a624e36b57dc678e7ca7726ba1d) )
- ROM_LOAD( "a64-22.28", 0x08000, 0x8000, CRC(58e03b89) SHA1(ccec83bcd7cb2be3ba46e9fbc7952349fa8faadf) )
- ROM_LOAD( "a64-11.40", 0x10000, 0x8000, CRC(a3bbc0b3) SHA1(f565d323575af3c2e95412c50130e88954fc238c) )
- ROM_LOAD( "a64-23.41", 0x18000, 0x8000, CRC(377a538b) SHA1(1174838309a331ffec7b60d6ceaa98a02fdbe210) )
-
- ROM_REGION( 0x20000, "gfx2", ROMREGION_INVERT )
- ROM_LOAD( "a64-14.2", 0x00000, 0x8000, CRC(a72e2041) SHA1(c537d1620fe8562aef39a0279b35139eb0668bf9) )
- ROM_LOAD( "a64-16.3", 0x08000, 0x8000, CRC(05206333) SHA1(a7463279446de9d633ea18f1e1eb5f610d982a37) )
- ROM_LOAD( "a64-15.25", 0x10000, 0x8000, CRC(01ed5851) SHA1(6034376d30d1d17fe9aab07cb40009c4f3c03690) )
- ROM_LOAD( "a64-17.26", 0x18000, 0x8000, CRC(6eaf3735) SHA1(a91fd7c9a6f2f58d311e40edc29d1e4f97746146) )
-
- ROM_REGION( 0x0600, "proms", 0 )
- ROM_LOAD( "a64-07.22", 0x0000, 0x0200, CRC(82802bbb) SHA1(4f54c9364a12809898eabd1eb13d16a6c9f0f532) ) /* red (bottom half unused) */
- ROM_IGNORE( 0x200 )
- ROM_LOAD( "a64-08.23", 0x0200, 0x0200, CRC(aa9e1dbd) SHA1(be7dfabf5306747fa3d5f1f735d0064673f19c91) ) /* green (bottom half unused) */
- ROM_IGNORE( 0x200 )
- ROM_LOAD( "a64-09.24", 0x0400, 0x0200, CRC(dca86295) SHA1(a6f6af60caaad9f49d72a8c2ff1e6115471f8c63) ) /* blue (bottom half unused) */
- ROM_IGNORE( 0x200 )
-
- ROM_REGION( 0x0400, "prio_prom", 0 )
- ROM_LOAD( "a64-06.9", 0x0000, 0x0400, CRC(7ced30ba) SHA1(f22de13d4fd49b7b2ffd06032eb5e14fbdeec91c) ) /* priority */
-
- ROM_REGION( 0x0200, "plds", 0 )
- ROM_LOAD( "pal16l8a.14", 0x0000, 0x0104, CRC(a7cc157d) SHA1(f06f750636d59a610e0b0eda8cb791780ebc57a5) )
-ROM_END
-
-ROM_START( storming )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "stpartyj.001", 0x00000, 0x8000, CRC(07e6bc61) SHA1(6989a1401868dd93c9466cfd1636ac48a734a5d4) )
- /* ROMs banked at 8000-9fff */
- ROM_LOAD( "stpartyj.002", 0x10000, 0x8000, CRC(1c7fe5d5) SHA1(15c09e3301d8ce55e59fe90db9f50ee19584ab7b) )
- ROM_LOAD( "stpartyj.003", 0x18000, 0x8000, CRC(159f23a6) SHA1(2cb4ed78e54dc2acbbfc2d4cfb2d29ff604aa9ae) )
-
- ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the second CPU */
- ROM_LOAD( "a64-04.44", 0x0000, 0x8000, CRC(c238406a) SHA1(bb8f9d952c4568edb375328a1f9f6681a1bb5907) )
-
- ROM_REGION( 0x20000, "gfx1", ROMREGION_INVERT )
- ROM_LOAD( "a64-10.27", 0x00000, 0x8000, CRC(bb4f1b37) SHA1(ce8dc962a3d04a624e36b57dc678e7ca7726ba1d) )
- ROM_LOAD( "stpartyj.009", 0x08000, 0x8000, CRC(8ee2443b) SHA1(855d8189efcfc796daa6b36f86d2872cc48adfde) )
- ROM_LOAD( "a64-11.40", 0x10000, 0x8000, CRC(a3bbc0b3) SHA1(f565d323575af3c2e95412c50130e88954fc238c) )
- ROM_LOAD( "stpartyj.011", 0x18000, 0x8000, CRC(f342d42f) SHA1(ef9367ad9763f4b38e0f12805c1eee7c430758c2) )
-
- ROM_REGION( 0x20000, "gfx2", ROMREGION_INVERT )
- ROM_LOAD( "a64-14.2", 0x00000, 0x8000, CRC(a72e2041) SHA1(c537d1620fe8562aef39a0279b35139eb0668bf9) )
- ROM_LOAD( "a64-16.3", 0x08000, 0x8000, CRC(05206333) SHA1(a7463279446de9d633ea18f1e1eb5f610d982a37) )
- ROM_LOAD( "a64-15.25", 0x10000, 0x8000, CRC(01ed5851) SHA1(6034376d30d1d17fe9aab07cb40009c4f3c03690) )
- ROM_LOAD( "a64-17.26", 0x18000, 0x8000, CRC(6eaf3735) SHA1(a91fd7c9a6f2f58d311e40edc29d1e4f97746146) )
-
- ROM_REGION( 0x0600, "proms", 0 )
- ROM_LOAD( "a64-07.22", 0x0000, 0x0200, CRC(82802bbb) SHA1(4f54c9364a12809898eabd1eb13d16a6c9f0f532) ) /* red (bottom half unused) */
- ROM_IGNORE( 0x200 )
- ROM_LOAD( "a64-08.23", 0x0200, 0x0200, CRC(aa9e1dbd) SHA1(be7dfabf5306747fa3d5f1f735d0064673f19c91) ) /* green (bottom half unused) */
- ROM_IGNORE( 0x200 )
- ROM_LOAD( "a64-09.24", 0x0400, 0x0200, CRC(dca86295) SHA1(a6f6af60caaad9f49d72a8c2ff1e6115471f8c63) ) /* blue (bottom half unused) */
- ROM_IGNORE( 0x200 )
-
- ROM_REGION( 0x0400, "prio_prom", 0 )
- ROM_LOAD( "a64-06.9", 0x0000, 0x0400, CRC(7ced30ba) SHA1(f22de13d4fd49b7b2ffd06032eb5e14fbdeec91c) ) /* priority */
-
- ROM_REGION( 0x0200, "plds", 0 )
- ROM_LOAD( "pal16l8a.14", 0x0000, 0x0104, CRC(a7cc157d) SHA1(f06f750636d59a610e0b0eda8cb791780ebc57a5) )
-ROM_END
-
-ROM_START( daikaiju )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "a74_01-1.ic4", 0x00000, 0x8000, CRC(89c13d7f) SHA1(2eaec80d7aa360b700387df00b37a692acc50d74) )
- /* ROMs banked at 8000-9fff */
- ROM_LOAD( "a74_02.ic3", 0x10000, 0x8000, CRC(8ddf6131) SHA1(b5b23550e7ee52554bc1f045ed6f42e254a05bf4) )
- ROM_LOAD( "a74_03.ic2", 0x18000, 0x8000, CRC(3911ffed) SHA1(ba6dbd74d37ef26621a02baf3479e2764d10d2ba) )
-
- ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the second CPU */
- ROM_LOAD( "a74_04.ic44", 0x0000, 0x8000, CRC(98a6a703) SHA1(0c169a7a5f8b26606f67ee7f14bd487951536ac5) )
-
- ROM_REGION( 0x0800, "bmcu:mcu", 0 )
- ROM_LOAD( "a74_05.ic35", 0x0000, 0x0800, CRC(d66df06f) SHA1(6a61eb15aef7f3b7a66ec9d87c0bdd731d6cb079) )
-
- ROM_REGION( 0x20000, "gfx1", ROMREGION_INVERT )
- ROM_LOAD( "a74_10.ic27", 0x00000, 0x8000, CRC(3123158e) SHA1(cdebf63c283c5c042596b0a13361fd01245e9c42) )
- ROM_LOAD( "a74_12.ic28", 0x08000, 0x8000, CRC(8a4e6c3a) SHA1(85b5c8630fe9d4faea6787f80a66ee41da64e64b) )
- ROM_LOAD( "a74_11.ic40", 0x10000, 0x8000, CRC(6432ae38) SHA1(5514c5259c5ced393b1c39436025dd13c0c61d82) )
- ROM_LOAD( "a74_13.ic41", 0x18000, 0x8000, CRC(1a1be4bb) SHA1(cbe647b2291db6432ea2cb61b8108cc089adb3c7) )
-
- ROM_REGION( 0x20000, "gfx2", ROMREGION_INVERT )
- ROM_LOAD( "a74_14.ic2", 0x00000, 0x8000, CRC(c28e9c35) SHA1(e9c697a91e5281ab08a43169004c235ada9391db) )
- ROM_LOAD( "a74_16.ic3", 0x08000, 0x8000, CRC(4b1c7921) SHA1(37e26a9007bfdf71af021fb218ea2b16f91d9c37) )
- ROM_LOAD( "a74_16.ic25", 0x10000, 0x8000, CRC(ef4d1945) SHA1(6b5e898e486d5786fc5d151f1fcca0015829365d) )
- ROM_LOAD( "a74_17.ic26", 0x18000, 0x8000, CRC(d1077878) SHA1(e69893db6b63d5a5192b521d61a86f60b7029b7e) )
-
- ROM_REGION( 0x0600, "proms", 0 )
- ROM_LOAD( "a74_07.ic22", 0x0000, 0x0200, CRC(66132341) SHA1(8c6723dfc4f856ef27998411a98c40783d13ac41) ) /* red (bottom half unused) */
- ROM_IGNORE( 0x200 )
- ROM_LOAD( "a74_08.ic23", 0x0200, 0x0200, CRC(fb3f0273) SHA1(591577c94865e2e6465e0016350450a19000e52d) ) /* green (bottom half unused) */
- ROM_IGNORE( 0x200 )
- ROM_LOAD( "a74_09.ic24", 0x0400, 0x0200, CRC(bed6709d) SHA1(ba5435728d6b7847bc86878f6122ce1f86982f0a) ) /* blue (bottom half unused) */
- ROM_IGNORE( 0x200 )
-
- ROM_REGION( 0x0400, "prio_prom", 0 )
- ROM_LOAD( "a74_06.ic9", 0x0000, 0x0400, CRC(cad554e7) SHA1(7890d948bfef198309df810f8401d224224a73a1) ) /* priority */
-ROM_END
-
-
-GAME( 1986, lsasquad, 0, lsasquad, lsasquad, lsasquad_state, empty_init, ROT270, "Taito", "Land Sea Air Squad / Riku Kai Kuu Saizensen", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1986, storming, lsasquad, storming, storming, lsasquad_state, empty_init, ROT270, "bootleg", "Storming Party / Riku Kai Kuu Saizensen", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1986, daikaiju, 0, daikaiju, daikaiju, lsasquad_state, empty_init, ROT270, "Taito", "Daikaiju no Gyakushu", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )