summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/deco32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/deco32.cpp')
-rw-r--r--src/mame/drivers/deco32.cpp3922
1 files changed, 0 insertions, 3922 deletions
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
deleted file mode 100644
index 149a1ba0c31..00000000000
--- a/src/mame/drivers/deco32.cpp
+++ /dev/null
@@ -1,3922 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Bryan McPhail
-/***************************************************************************
-
- Data East 32 bit ARM based games:
-
- Captain America
- Dragon Gun
- Fighter's History
- Locked 'n Loaded
- Night Slashers
- Tattoo Assassins
-
-
- Emulation by Bryan McPhail, mish@tendril.co.uk. Thank you to Tim,
- Avedis and Stiletto for many things including work on Fighter's
- History protection and tracking down Tattoo Assassins!
-
- Captain America & Fighter's History - reset with both start buttons
- held down for test mode. Reset with player 1 start held in Fighter's
- History for 'Pattern Editor'.
-
- For version information:
- Captain America - Reset with Player 1 start held
- Fighter's History - Reset with Player 1 button 1 & 2 held
- Night Slashers - Reset with Player 1 & 2 start held
- Locked 'n Loaded - Reset with Player 1 & 2 start held
-
- Tattoo Assassins is a prototype, it is thought only 25 test units
- were manufactured and distributed to test arcades before the game
- was recalled. TA is the only game developed by Data East Pinball
- in USA, rather than Data East Corporation in Japan.
-
- Tattoo Assassins uses DE Pinball soundboard 520-5077-00 R
-
-
- TODO:
-
- Tattoo Assassins & Night slashers use an less emulated chip (Ace/Jack) for
- special blending effects. It's exact effect is unclear.
-
- Video backgrounds(intel DVI) in Dragongun?
-
- Locked 'n Loaded (parent set) is a slightly different hardware
- revision: board # DE-0420-1 where the US set is DE-0359-2.
- The sound is _not_ hooked up correctly for this set.
-
- Z80 Sound cpu version games : Music tempo is unverified (it has external timer / IRQ controller?).
-
-
-
-Locked 'n Loaded (US)
-Data East Corporation (c) 1994
-
-DE-0359-2 PCB Layout - Same PCB as used for Dragon Gun, see comment below:
-
-------------------------------------------------------------
-| 32.220MHz 28.000MHz 8M-7 8M-3 |
-| MBM-05 MBM-03 |
-| NH06-0 HuC6280A 8M-5 8M-1 |
-| YM2151 MBM-04 MBM-02 |
---+ |
---+ MBM-07 |
-| MAR-07 74 |
-| M6295 M6295 MBM-06 MBM-01 NH05-0 |
-| M6295 MBM-00 NH04-0 |
-| 74 |
-|J |
-|A |
-|M |
-|M 2M-5 2M-4 |
-|A 113 NH03-0 NH01-0 |
-| 101 2M-7 2M-6 |
---+ NH02-0 NH00-0 |
---+ DSW1 146 |
-|A 93C45 |
-|U +-------------------------+
-|X | DE-0406-1 |
---| ADC0808CCN | AUX PCB with |
- --------------------------------| Gun Connectors |
- --------------------------+
-
-2M-4 through 2M-7 are empty sockets for additional program ROMs (used by dragon Gun)
-Odd numbered 8M are empty sockets
-AUX edge connector is a 48 pin type similar to those used on Namco System 11, 12, etc
-
-
-DE-0360-4 ROM board Layout:
-
-------------------------------------------------------------
-| CN2 TC524256BZ-10 TC524256BZ-10 MAR-17|
-| TC524256BZ-10 TC524256BZ-10 MAR-18|
-| HM65256BLSP-10 TC524256BZ-10 TC524256BZ-10 MAR-19|
-| 16 of these chips TC524256BZ-10 TC524256BZ-10 MAR-20|
-| in this area MAR-21|
-| Intel i750 MAR-22|
-| 187 23.000MHz MAR-23|
-|MBM-08 MAR-24|
-|MBM-09 20.0000MHz MAR-25|
-|MBM-10 145 MAR-26|
-|MBM-11 186 MAR-27|
-|MBM-12 MAR-28|
-|MBM-13 |
-|MBM-14 PAL16L8BCN Intel i750 |
-|MBM-15 PAL16L8BCN |
-| CN1 25.000MHz PAL16L8BCN |
-------------------------------------------------------------
-
-CN1 = Triple row 32 pin connector
-CN2 = Dual row 32 pin connector
-
-Locked 'n Loaded appears to be a conversion of Dragon Gun (c) 1993 as
-there are 12 surface mounted GFX roms and 1 surface mounted sample rom
-left over from the conversion. The roms labeled "MAR-xx" are those
-from Dragon Gun.
-
-
-
-Night Slashers
-Data East, 1993
-
-PCB Layout
-----------
-
-DE-0397-0 DEC-22VO
-|-----------------------------------------------------|
-| TA8205AH Z80 |-----| HBM-07 |
-| 6164 YM2151 | 52 | |
-| LX02 | | HBM-09 HBM-06 |
-| YM3012 32MHz |-----| |
-| JP1 HBM-11 93C45 HBM-05 |
-|CN2 HBM-10 |-----| |
-| M6295(1) | 52 | HBM-04 |
-| M6295(2) | | |
-| |-----| |-----| |-----| |-----| HBM-03 |
-|J | 104 | | 153 | | 52 | |
-|A | | | | |-----| | | HBM-02 |
-|M |-----| |-----| | 153 | |-----| |
-|M | | 28.322MHz|
-|A |-----| |
-| |-----| PAL |
-| | 99 | PROM |-----| 6164 HBM-01 |
-| | | | 74 | 6164 |
-| |-----| | | HBM-00 |
-| |-----| |-----| |-----| |
-| | 153 | | 200 | |-----| 6164 |
-| | | | | | 141 | 6164 |
-| |-----| |-----| | | PAL |
-|TEST_SW |-----| PAL |-----| |
-| | 156 | |
-| LH52250 LH52250 LX-01 | | |
-| CN3 LH52250 LH52250 LX-00 |-----| |
-|-----------------------------------------------------|
-Notes:
- The CPU is chip 156. It's an encrypted ARM-based CPU. The CPU is running at 7.0805MHz [28.322/4]
-
- Z80B - Goldstar Z8400B, running at 3.5555MHz [32/9]
- YM2151 - Yamaha YM2151 sound chip, running at 3.5555MHz [32/9]
- OKI M6295 - Oki M6295 PCM Sample chip, (1) running at 1.000MHz [32/32]. Sample rate = 1000000 / 132
- (2) running at 2.000MHz [32/16]. Sample rate = 2000000 / 132
- 6164 - UM6164BK-20 8K x8 SRAM
- LH52250 - Sharp LH52250 32K x8 SRAM
- 93C45 - 128bytes x8 Serial EEPROM
- PALs - PAL 16L8ACN (x 2, near program ROMs, one at 3D labelled 'VM-00', one at 4D labelled 'VM-01')
- PAL 16l8ACN (near chip 99, located at 8J, labelled 'VM-02')
- HSync - 15.86kHz
- VSync - 58Hz
- Custom ICs-
- DE # Package Type Additional #'s (for reference of scratched-off chips on other PCB's)
- ------------------------------------------------------------------------------------------------------
- 156 (CPU) 100 Pin PQFP 932EV 301801
- 141 160 Pin PQFP 24220F008
- 74 160 Pin PQFP 24220F009
- 99 208 Pin PQFP L7A0967
- 52 (x3) 128 Pin PQFP 9322EV 298251 VC5259-0001
- 153 (x3) 144 Pin PQFP L7A0888 9328
- 104 100 Pin PQFP L7A0717 9148
- 200 100 Pin PQFP JAPAN 9320PD027 (chip is darker black)
-
- Other - There's a small push button near the JAMMA connector to access test mode.
- All settings are via an on-board menu.
-
- All pinouts conform to standard JAMMA pinout. Joystick is 8-way with 3 buttons used.
-
- JP1: 1-2 Sound Output in MONO
- 2-3 Sound Output in STEREO
-
- CN2: 4 Pin connector (use when JP1 = 2-3)
- Pin # Signal
- 1 L-Speaker +
- 2 L-Speaker -
- 3 R-Speaker -
- 4 R-Speaker +
-
- CN3: 15 Pin connector (Player 3)
- Pin # Signal
- 1 COIN SW3
- 2 3P PUSH 3
- 3 3P LEFT
- 4 3P RIGHT
- 5 3P UP
- 6 3P DOWN
- 7 3P PUSH 1
- 8 3P PUSH 2
- 9-13 NOT USED
- 14-15 GND
-
-
- ROMs - MAINPRG1.1F HN27C4096 \
- MAINPRG2.2F HN27C4096 / Main Program (no ROM stickers attached, DE ROM code unknown)
-
- Japanese Version
- LX01-.2F HN27C4096 \
- LX00-.1F HN27C4096 / Main Program (Japan version)
-
- MBH-00.8C 42 pin 16M MASK (read as 27C160) \
- MBH-01.9C 42 pin 16M MASK (read as 27C160) |
- MBH-02.14C 42 pin 16M MASK (read as 27C160) |
- MBH-03.15C 40 pin 4M MASK (read as MX27C4100) |
- MBH-04.16C 42 pin 16M MASK (read as 27C160) |
- MBH-05.17C 40 pin 4M MASK (read as MX27C4100) | GFX
- MBH-06.18C 32 pin 8M MASK (read as 27C080) |
- MBH-07.19C 32 pin 2M MASK (read as 27C020) |
- MBH-08.16E 40 pin 4M MASK (read as MX27C2100) |
- MBH-09.18E 40 pin 4M MASK (read as MX27C2100) /
-
- MBH-10.14L 32 pin 4M MASK (read as 27C040) \
- MBH-11.16L 32 pin 4M MASK (read as 27C040) / Sound (Samples)
-
- LX02-.17L 27C512 Sound Program
-
- PROM.9J Fujitsu MB7124 compatible with 82S147 Labelled 'LN-00'
-
-Night Slashers
-Data East, 1993
-
-DE-0395-1 DEC-22VO
-|-----------------------------------------------------|
-| TA8205AH 6164 |-----| 2M-16M* MBH-07|
-| 02- HuC6280A | 52 | MBH-09 MBH-06|
-| YM2151 | | 2M-16M* MBH-05|
-| YM3012 32.220MHz |-----| MBH-08 MBH-04|
-| JP1 MBH-11 93C45 |-----| MBH-03|
-|CN2 MBH-10 | 52 | MBH-02|
-| M6295(1) | | |
-| M6295(2) |-----| |
-| |-----| |-----| |
-|J | 104 | |-----| |-----| | 52 | |
-|A | | | 153 | | 113 | | | |
-|M |-----| | | | | |-----| |
-|M |-----| |-----| 28MHz |
-|A |-----| |
-| | 99 | VM-02 |
-| | | LN-00 |-----| 6164 MBH-01 |
-| |-----| | 74 | 6164 |
-| | | MBH-00 |
-| |-----| |-----| |-----| |
-| | 113 | | 200 | |-----| 6164 |
-| | | | | | 141 | 6164 |
-| |-----| |-----| | | VE-01A |
-|TEST_SW |-----| VE-00 |-----| |
-| | 156 | |
-| CN4 LH52250 LH52250 01- | | |
-| CN3 LH52250 LH52250 00- |-----| |
-|-----------------------------------------------------|
-
-NOTE: Program EPROMs did NOT have regional letter codes, just 00, 01 & 02
-
-Same PCB as shown below for Fighter's History, but populated with more
-chips as needed. It is worth noting that Night Slashers uses the encryption
-features of the 156 chip where as Fighter's History does not.
-
-*****************************************************************************************************
-
-Fighter's History
-Data East, 1993
-
-PCB Layout
-----------
-
-DE-0395-1 DEC-22VO
-|-----------------------------------------------------|
-| TA8205AH 6164 MBF-05 2M-8M*|
-| LE02 HuC6280A MBF-04 8M*|
-| YM2151 52* MBF-03 4M-16M*|
-| YM3012 32.220MHz MBF-02 16M*|
-| JP1 MBF-07 93C45 4M-16M*|
-|CN2 MBF-06 16M*|
-| M6295(1) 52* |
-| M6295(2) |
-| |-----| |-----| |
-|J | 75 | 113/153* | 52 | |
-|A | | |-----| | | |
-|M |-----| | 113 | |-----| |
-|M | | 28MHz |
-|A |-----| |
-| PAL* |
-| 99* KT-00 |-----| 6164 MBF-01 |
-| | 74 | 6164 |
-| | | MBF-00 |
-| |-----| |-----| |-----| |
-| | 113 | | 200 | |-----| 6164 |
-| | | | | | 56 | 6164 |
-| |-----| |-----| | | VE-01A |
-|TEST_SW |-----| VE-00 |-----| |
-| | 156 | |
-| CN4 LH52250 LH52250 LE01 | | |
-| CN3* LH52250 LH52250 LE00 |-----| |
-|-----------------------------------------------------|
-
-
-Very similar to the DE-0396-0 described below with the notable exceptions:
- The sound area reworked to use the HuC6280A instead of a standard Z80
- Uses the larger 113 instead of the 153 chips, however both PCBs have
- solder pads in the same locations for either chip.
- Uses the 56 instead of the 141
-
-
-DE-0396-0 DEC-22VO
-|-----------------------------------------------------|
-| TA8205AH Z80 MBF-05 2M-8M*|
-| 6164 YM2151 MBF-04 8M*|
-| LJ02 52* MBF-03 4M-16M*|
-| YM3012 32.220MHz MBF-02 16M*|
-| JP1 MBF-07 93C45 4M-16M*|
-|CN2 MBF-06 16M*|
-| M6295(1) 52* |
-| M6295(2) |
-| |-----| |-----| |
-|J | 75 | 113/153* | 52 | |
-|A | | |-----| | | |
-|M |-----| | 153 | |-----| |
-|M | | 28MHz |
-|A |-----| |
-| PAL* |
-| 99* KT-00 |-----| 6164 MBF-01 |
-| | 74 | 6164 |
-| | | MBF-00 |
-| |-----| |-----| |-----| |
-| | 153 | | 200 | |-----| 6164 |
-| | | | | | 141 | 6164 |
-| |-----| |-----| | | VE-01A |
-|TEST_SW |-----| VE-00 |-----| |
-| | 156 | |
-| CN4 LH52250 LH52250 LJ01-3 | | |
-| CN3* LH52250 LH52250 LJ00-3 |-----| |
-|-----------------------------------------------------|
-
-This PCB is very close to the DE-397-0 listed above
-
- Custom ICs-
- DE # Package Type Additional #'s (for reference of scratched-off chips on other PCB's)
- ------------------------------------------------------------------------------------------------------
- 156 (CPU) 100 Pin PQFP 9321EV 301811 (Doesn't use encryption functions of the 156)
- 141 160 Pin PQFP 24220F008
- 74 160 Pin PQFP 24220F009
- 52 128 Pin PQFP 9313EV 211771 VC5259-0001
- 153 (x2) 144 Pin PQFP L7A0888 9312
- 75 100 Pin PQFP L7A0680 9143
- 200 100 Pin PQFP JAPAN 9315PP002 (chip is darker black)
-
-NOTE: There are several unpopulated locations (denoted by *) for additional rom chips
- or more custom ICs.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "includes/deco32.h"
-
-#include "cpu/arm/arm.h"
-#include "cpu/m6809/m6809.h"
-#include "cpu/z80/z80.h"
-#include "machine/decocrpt.h"
-#include "machine/deco156.h"
-#include "machine/input_merger.h"
-#include "speaker.h"
-
-#include <algorithm>
-
-
-//**************************************************************************
-// ADDRESS MAPS
-//**************************************************************************
-
-void captaven_state::captaven_map(address_map &map)
-{
- map(0x000000, 0x0fffff).rom();
- map(0x100000, 0x100007).r(FUNC(captaven_state::_71_r));
- map(0x100000, 0x100003).w(FUNC(captaven_state::buffer_spriteram_w<0>));
- map(0x108000, 0x108003).nopw(); /* ? */
- map(0x110000, 0x111fff).rw(FUNC(captaven_state::spriteram_r<0>), FUNC(captaven_state::spriteram_w<0>));
- map(0x120000, 0x127fff).ram(); /* Main RAM */
- map(0x128000, 0x12ffff).rw(FUNC(captaven_state::ioprot_r), FUNC(captaven_state::ioprot_w)).umask32(0x0000ffff);
- map(0x130000, 0x131fff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette");
- map(0x148000, 0x14800f).m(m_deco_irq, FUNC(deco_irq_device::map)).umask32(0x000000ff);
- map(0x160000, 0x167fff).ram(); /* Extra work RAM */
- map(0x168000, 0x168000).lr8(NAME([this] () { return m_io_dsw[0]->read(); }));
- map(0x168001, 0x168001).lr8(NAME([this] () { return m_io_dsw[1]->read(); }));
- map(0x168002, 0x168002).lr8(NAME([this] () { return m_io_dsw[2]->read(); }));
- map(0x168003, 0x168003).r(FUNC(captaven_state::captaven_soundcpu_status_r));
- map(0x178000, 0x178003).w(FUNC(captaven_state::pri_w));
- map(0x180000, 0x18001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x190000, 0x191fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x192000, 0x193fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w)); /* Mirror address - bug in program code */
- map(0x194000, 0x195fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1a0000, 0x1a3fff).ram().w(FUNC(captaven_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x1a4000, 0x1a5fff).ram().w(FUNC(captaven_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x1c0000, 0x1c001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x1d0000, 0x1d1fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x1d4000, 0x1d5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w)); // unused
- map(0x1e0000, 0x1e3fff).ram().w(FUNC(captaven_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1e4000, 0x1e5fff).ram().w(FUNC(captaven_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32"); // unused
-}
-
-void fghthist_state::fghthist_map(address_map &map)
-{
- map.unmap_value_high();
-// map(0x000000, 0x001fff).rom().w(FUNC(fghthist_state::pf1_data_w)); // wtf??
- map(0x000000, 0x0fffff).rom();
- map(0x100000, 0x11ffff).ram();
- map(0x120020, 0x120021).lr16(NAME([this] () { return m_io_in[0]->read(); }));
- map(0x120024, 0x120025).lr16(NAME([this] () { return m_io_in[1]->read(); }));
- map(0x120028, 0x120028).r(FUNC(fghthist_state::eeprom_r));
- map(0x12002c, 0x12002c).w(FUNC(fghthist_state::eeprom_w));
- map(0x12002d, 0x12002d).w(FUNC(fghthist_state::volume_w));
- map(0x1201fc, 0x1201fc).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0x140000, 0x140003).w(FUNC(fghthist_state::vblank_ack_w));
- map(0x168000, 0x169fff).ram().w(FUNC(fghthist_state::buffered_palette_w)).share("paletteram");
- map(0x16c008, 0x16c00b).w(FUNC(fghthist_state::palette_dma_w));
- map(0x16c010, 0x16c013).r(FUNC(fghthist_state::unk_status_r));
- map(0x178000, 0x179fff).rw(FUNC(fghthist_state::spriteram_r<0>), FUNC(fghthist_state::spriteram_w<0>));
- map(0x17c010, 0x17c013).w(FUNC(fghthist_state::buffer_spriteram_w<0>));
- map(0x17c020, 0x17c023).r(FUNC(fghthist_state::unk_status_r));
- map(0x182000, 0x183fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x184000, 0x185fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x192000, 0x193fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x194000, 0x195fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x1a0000, 0x1a001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x1c2000, 0x1c3fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x1c4000, 0x1c5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1d2000, 0x1d3fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1d4000, 0x1d5fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
- map(0x1e0000, 0x1e001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x200000, 0x207fff).rw(FUNC(fghthist_state::ioprot_r), FUNC(fghthist_state::ioprot_w)).umask32(0xffff0000).share("prot32ram"); // only maps on 16-bits
- map(0x208800, 0x208803).nopw(); /* ? */
-}
-
-void fghthist_state::fghthsta_memmap(address_map &map)
-{
- map(0x000000, 0x0fffff).rom();
- map(0x100000, 0x11ffff).ram();
- map(0x140000, 0x140003).w(FUNC(fghthist_state::vblank_ack_w));
- map(0x150000, 0x150000).w(FUNC(fghthist_state::eeprom_w));
- map(0x150001, 0x150001).w(FUNC(fghthist_state::volume_w));
- map(0x168000, 0x169fff).ram().w(FUNC(fghthist_state::buffered_palette_w)).share("paletteram");
- map(0x16c008, 0x16c00b).w(FUNC(fghthist_state::palette_dma_w));
- map(0x16c010, 0x16c013).r(FUNC(fghthist_state::unk_status_r));
- map(0x178000, 0x179fff).rw(FUNC(fghthist_state::spriteram_r<0>), FUNC(fghthist_state::spriteram_w<0>));
- map(0x17c010, 0x17c013).w(FUNC(fghthist_state::buffer_spriteram_w<0>));
- map(0x17c020, 0x17c023).r(FUNC(fghthist_state::unk_status_r));
- map(0x182000, 0x183fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x184000, 0x185fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x192000, 0x193fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x194000, 0x195fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x1a0000, 0x1a001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x1c2000, 0x1c3fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x1c4000, 0x1c5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1d2000, 0x1d3fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1d4000, 0x1d5fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
- map(0x1e0000, 0x1e001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x200000, 0x207fff).rw(FUNC(fghthist_state::ioprot_r), FUNC(fghthist_state::ioprot_w)).umask32(0xffff0000).share("prot32ram"); // only maps on 16-bits
-}
-
-// the video drawing (especially sprite) code on this is too slow to cope with proper partial updates
-// raster effects appear to need some work on it anyway?
-void dragngun_state::dragngun_map(address_map &map)
-{
- map(0x0000000, 0x00fffff).rom().region("maincpu", 0x000000);
- map(0x0100000, 0x011ffff).ram();
- map(0x0120000, 0x0127fff).rw(FUNC(dragngun_state::ioprot_r), FUNC(dragngun_state::ioprot_w)).umask32(0x0000ffff);
-// map(0x01204c0, 0x01204c3).w(FUNC(dragngun_state::sound_w));
- map(0x0128000, 0x012800f).m(m_deco_irq, FUNC(deco_irq_device::map)).umask32(0x000000ff);
- map(0x0130000, 0x0131fff).ram().w(FUNC(dragngun_state::buffered_palette_w)).share("paletteram");
- map(0x0138000, 0x0138003).noprw(); /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
- map(0x0138008, 0x013800b).w(FUNC(dragngun_state::palette_dma_w));
-// map(0x0150000, 0x0150003).nopw(); // Unknown; Masking related?
-// map(0x0160000, 0x0160003).w(FUNC(dragngun_state::pri_w)); // priority
- map(0x0170100, 0x0170103).nopw();
- map(0x0170038, 0x017003b).nopw();
- map(0x017002C, 0x017002f).nopw();
- map(0x0170224, 0x0170227).nopw();
- map(0x0180000, 0x018001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x0190000, 0x0191fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x0194000, 0x0195fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x01a0000, 0x01a3fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x01a4000, 0x01a5fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x01c0000, 0x01c001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x01d0000, 0x01d1fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x01d4000, 0x01d5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w)); // unused
- map(0x01e0000, 0x01e3fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x01e4000, 0x01e5fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32"); // unused
- map(0x0204800, 0x0204fff).ram(); // ace? 0x10 byte increments only // 13f ff stuff
- map(0x0208000, 0x0208fff).ram().share("lay0");
- map(0x020c000, 0x020cfff).ram().share("lay1");
- map(0x0210000, 0x0217fff).ram().share("look0");
- map(0x0218000, 0x021ffff).ram().share("look1");
- map(0x0220000, 0x0221fff).ram().share("spriteram"); /* Main spriteram */
- map(0x0228000, 0x02283ff).ram(); //0x10 byte increments only
- map(0x0230000, 0x0230003).w(FUNC(dragngun_state::spriteram_dma_w));
- map(0x0300000, 0x03fffff).rom().region("maincpu", 0x100000);
- map(0x0400000, 0x0400000).rw("oki3", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x0410000, 0x0410003).w(FUNC(dragngun_state::volume_w));
- map(0x0418000, 0x0418003).w(FUNC(dragngun_state::speaker_switch_w));
- map(0x0420000, 0x0420000).rw(FUNC(dragngun_state::eeprom_r), FUNC(dragngun_state::eeprom_w));
- map(0x0430000, 0x043001f).w(FUNC(dragngun_state::lightgun_w));
- map(0x0438000, 0x0438003).r(FUNC(dragngun_state::lightgun_r));
- map(0x0440000, 0x0440003).portr("IN2");
- map(0x0500000, 0x0500003).w(FUNC(dragngun_state::sprite_control_w));
- // this is clearly the dvi video related area
- map(0x1000000, 0x1000007).r(FUNC(dragngun_state::unk_video_r));
- map(0x1000100, 0x1007fff).ram();
- map(0x10b0000, 0x10b01ff).ram();
- map(0x1400000, 0x1ffffff).rom().region("dvi", 0x00000); // reads from here during boss battles when the videos should be displayed at the offsets where the DVI headers are // as a result it ends up writing what looks like pointers to the frame data in the ram area above
-}
-
-void dragngun_state::lockloadu_map(address_map &map)
-{
- dragngun_map(map);
- map(0x0170000, 0x0170007).r(FUNC(dragngun_state::lockload_gun_mirror_r)); /* Not on Dragongun */
-}
-
-void dragngun_state::lockload_map(address_map &map)
-{
- map(0x000000, 0x0fffff).rom().region("maincpu", 0x000000);
- map(0x100000, 0x11ffff).ram();
- map(0x120000, 0x127fff).rw(FUNC(dragngun_state::ioprot_r), FUNC(dragngun_state::ioprot_w)).umask32(0x0000ffff);
- map(0x128000, 0x12800f).m(m_deco_irq, FUNC(deco_irq_device::map)).umask32(0x000000ff);
- map(0x130000, 0x131fff).ram().w(FUNC(dragngun_state::buffered_palette_w)).share("paletteram");
- map(0x138000, 0x138003).readonly().nopw(); //palette dma complete in bit 0x8? ack? return 0 else tight loop
- map(0x138008, 0x13800b).w(FUNC(dragngun_state::palette_dma_w));
- map(0x170000, 0x170007).r(FUNC(dragngun_state::lockload_gun_mirror_r)); /* Not on Dragongun */
- map(0x178008, 0x17800f).w(FUNC(dragngun_state::gun_irq_ack_w)); /* Gun read ACK's */
- map(0x180000, 0x18001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x190000, 0x191fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x194000, 0x195fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1a0000, 0x1a3fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x1a4000, 0x1a5fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x1c0000, 0x1c001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x1d0000, 0x1d1fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x1d4000, 0x1d5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w)); // unused
- map(0x1e0000, 0x1e3fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1e4000, 0x1e5fff).ram().w(FUNC(dragngun_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32"); // unused
- map(0x204800, 0x204fff).ram(); //0x10 byte increments only
- map(0x208000, 0x208fff).ram().share("lay0");
- map(0x20c000, 0x20cfff).ram().share("lay1");
- map(0x210000, 0x217fff).ram().share("look0");
- map(0x218000, 0x21ffff).ram().share("look1");
- map(0x220000, 0x221fff).ram().share("spriteram"); /* Main spriteram */
- map(0x228000, 0x2283ff).ram(); //0x10 byte increments only
- map(0x230000, 0x230003).w(FUNC(dragngun_state::spriteram_dma_w));
- map(0x300000, 0x3fffff).rom().region("maincpu", 0x100000);
- map(0x410000, 0x410003).w(FUNC(dragngun_state::volume_w));
- map(0x420000, 0x420000).rw(FUNC(dragngun_state::eeprom_r), FUNC(dragngun_state::eeprom_w));
- map(0x440000, 0x440003).portr("IN2");
- map(0x500000, 0x500003).w(FUNC(dragngun_state::sprite_control_w));
-}
-
-void nslasher_state::tattass_map(address_map &map)
-{
- map(0x000000, 0x0f7fff).rom();
- map(0x0f8000, 0x0fffff).rom().nopw();
- map(0x100000, 0x11ffff).ram();
- map(0x120000, 0x120003).noprw(); /* ACIA (unused) */
- map(0x130000, 0x130003).nopw(); /* Coin port (unused?) */
- map(0x140000, 0x140003).w(FUNC(nslasher_state::vblank_ack_w));
- map(0x150000, 0x150003).w(FUNC(nslasher_state::tattass_control_w)); /* Volume port/Eprom/Priority */
- map(0x162000, 0x162fff).ram(); /* 'Jack' RAM!? */
- map(0x163000, 0x16309f).rw(m_deco_ace, FUNC(deco_ace_device::ace_r), FUNC(deco_ace_device::ace_w)).umask32(0x0000ffff); /* 'Ace' RAM */
- map(0x164000, 0x164003).nopw(); /* Palette control BG2/3 ($1a constant) */
- map(0x164004, 0x164007).nopw(); /* Palette control Obj1 ($6 constant) */
- map(0x164008, 0x16400b).nopw(); /* Palette control Obj2 ($5 constant) */
- map(0x16400c, 0x16400f).nopw();
- map(0x168000, 0x169fff).rw(m_deco_ace, FUNC(deco_ace_device::buffered_palette_r), FUNC(deco_ace_device::buffered_palette_w));
- map(0x16c000, 0x16c003).nopw();
- map(0x16c008, 0x16c00b).w(m_deco_ace, FUNC(deco_ace_device::palette_dma_w));
- map(0x170000, 0x171fff).rw(FUNC(nslasher_state::spriteram_r<0>), FUNC(nslasher_state::spriteram_w<0>));
- map(0x174000, 0x174003).nopw(); /* Sprite DMA mode (2) */
- map(0x174010, 0x174013).w(FUNC(nslasher_state::buffer_spriteram_w<0>));
- map(0x174018, 0x17401b).nopw(); /* Sprite 'CPU' (unused) */
- map(0x178000, 0x179fff).rw(FUNC(nslasher_state::spriteram_r<1>), FUNC(nslasher_state::spriteram_w<1>));
- map(0x17c000, 0x17c003).nopw(); /* Sprite DMA mode (2) */
- map(0x17c010, 0x17c013).w(FUNC(nslasher_state::buffer_spriteram_w<1>));
- map(0x17c018, 0x17c01b).nopw(); /* Sprite 'CPU' (unused) */
- map(0x182000, 0x183fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x184000, 0x185fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x192000, 0x193fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x194000, 0x195fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x1a0000, 0x1a001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x1c2000, 0x1c3fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x1c4000, 0x1c5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1d2000, 0x1d3fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1d4000, 0x1d5fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
- map(0x1e0000, 0x1e001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x200000, 0x207fff).rw(FUNC(nslasher_state::ioprot_r), FUNC(nslasher_state::ioprot_w)).umask32(0xffff0000);
- map(0x200000, 0x207fff).r(FUNC(nslasher_state::nslasher_debug_r)).umask32(0x0000ffff);
-}
-
-void nslasher_state::nslasher_map(address_map &map)
-{
- map(0x000000, 0x0fffff).rom();
- map(0x100000, 0x11ffff).ram();
- map(0x120000, 0x1200ff).noprw(); /* ACIA (unused) */
- map(0x140000, 0x140003).w(FUNC(nslasher_state::vblank_ack_w));
- map(0x150000, 0x150000).w(FUNC(nslasher_state::eeprom_w));
- map(0x150001, 0x150001).w(FUNC(nslasher_state::volume_w));
- map(0x163000, 0x16309f).rw(m_deco_ace, FUNC(deco_ace_device::ace_r), FUNC(deco_ace_device::ace_w)).umask32(0x0000ffff); /* 'Ace' RAM */
- map(0x164000, 0x164003).nopw(); /* Palette control BG2/3 ($1a constant) */
- map(0x164004, 0x164007).nopw(); /* Palette control Obj1 ($4 constant) */
- map(0x164008, 0x16400b).nopw(); /* Palette control Obj2 ($6 constant) */
- map(0x16400c, 0x16400f).nopw();
- map(0x168000, 0x169fff).rw(m_deco_ace, FUNC(deco_ace_device::buffered_palette_r), FUNC(deco_ace_device::buffered_palette_w));
- map(0x16c000, 0x16c003).nopw();
- map(0x16c008, 0x16c00b).w(m_deco_ace, FUNC(deco_ace_device::palette_dma_w));
- map(0x170000, 0x171fff).rw(FUNC(nslasher_state::spriteram_r<0>), FUNC(nslasher_state::spriteram_w<0>));
- map(0x174000, 0x174003).nopw(); /* Sprite DMA mode (2) */
- map(0x174010, 0x174013).w(FUNC(nslasher_state::buffer_spriteram_w<0>));
- map(0x174018, 0x17401b).nopw(); /* Sprite 'CPU' (unused) */
- map(0x178000, 0x179fff).rw(FUNC(nslasher_state::spriteram_r<1>), FUNC(nslasher_state::spriteram_w<1>));
- map(0x17c000, 0x17c003).nopw(); /* Sprite DMA mode (2) */
- map(0x17c010, 0x17c013).w(FUNC(nslasher_state::buffer_spriteram_w<1>));
- map(0x17c018, 0x17c01b).nopw(); /* Sprite 'CPU' (unused) */
- map(0x182000, 0x183fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x184000, 0x185fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x192000, 0x193fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x194000, 0x195fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
- map(0x1a0000, 0x1a001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x1c2000, 0x1c3fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x1c4000, 0x1c5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1d2000, 0x1d3fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1d4000, 0x1d5fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
- map(0x1e0000, 0x1e001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x200000, 0x207fff).rw(FUNC(nslasher_state::ioprot_r), FUNC(nslasher_state::ioprot_w)).umask32(0xffff0000);
- map(0x200000, 0x207fff).r(FUNC(nslasher_state::nslasher_debug_r)).umask32(0x0000ffff); // seems to be debug switches / code activated by this?
-}
-
-// H6280 based sound
-void deco32_state::h6280_sound_map(address_map &map)
-{
- map(0x000000, 0x00ffff).rom();
- map(0x110000, 0x110001).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0x120000, 0x120001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x130000, 0x130001).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x140000, 0x140000).r(m_ioprot, FUNC(deco_146_base_device::soundlatch_r));
- map(0x1f0000, 0x1f1fff).ram();
-}
-
-void deco32_state::h6280_sound_custom_latch_map(address_map &map)
-{
- h6280_sound_map(map);
- map(0x140000, 0x140000).r("soundlatch", FUNC(generic_latch_8_device::read));
-}
-
-// Z80 based sound
-void deco32_state::z80_sound_map(address_map &map)
-{
- map(0x0000, 0x7fff).rom();
- map(0x8000, 0x87ff).ram();
- map(0xa000, 0xa001).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0xb000, 0xb000).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0xc000, 0xc000).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0xd000, 0xd000).r(m_ioprot, FUNC(deco_146_base_device::soundlatch_r));
-}
-
-void deco32_state::z80_sound_io(address_map &map)
-{
- map(0x0000, 0xffff).rom().region("audiocpu", 0);
-}
-
-// lockload needs hi bits of OKI2 bankswitching
-void dragngun_state::lockload_sound_map(address_map &map)
-{
- z80_sound_map(map);
- map(0xe000, 0xe000).w(FUNC(dragngun_state::lockload_okibank_hi_w));
-}
-
-void dragngun_state::lockloadu_sound_map(address_map &map)
-{
- h6280_sound_map(map);
- map(0x150000, 0x150000).w(FUNC(dragngun_state::lockload_okibank_hi_w));
-}
-
-
-//**************************************************************************
-// PROTECTION
-//**************************************************************************
-
-u16 deco32_state::ioprot_r(offs_t offset)
-{
- offs_t real_address = 0 + (offset * 2);
- offs_t deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff;
- u8 cs = 0;
-
- return m_ioprot->read_data(deco146_addr, cs);
-}
-
-void deco32_state::ioprot_w(offs_t offset, u16 data, u16 mem_mask)
-{
- offs_t real_address = 0 + (offset * 2);
- offs_t deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff;
- u8 cs = 0;
-
- m_ioprot->write_data( deco146_addr, data, mem_mask, cs );
-}
-
-
-//**************************************************************************
-// SOUND
-//**************************************************************************
-
-void deco32_state::volume_w(u8 data)
-{
- // TODO: assume linear with a 0.0-1.0 dB scale for now
- const u8 raw_vol = 0xff - data;
- float vol_output = ((float)raw_vol) / 255.0f;
-
- m_ym2151->set_output_gain(ALL_OUTPUTS, vol_output);
- m_oki[0]->set_output_gain(ALL_OUTPUTS, vol_output);
- m_oki[1]->set_output_gain(ALL_OUTPUTS, vol_output);
-}
-
-u8 captaven_state::captaven_soundcpu_status_r()
-{
- // 7------- sound cpu status (0 = busy)
- // -6543210 unknown
-
- return 0xff;
-}
-
-void dragngun_state::volume_w(u32 data)
-{
- m_vol_main->ce_w(BIT(data, 2));
- m_vol_main->clk_w(BIT(data, 1));
- m_vol_main->di_w(BIT(data, 0));
-
- if (m_vol_gun.found())
- {
- m_vol_gun->ce_w(BIT(data, 2));
- m_vol_gun->clk_w(BIT(data, 1));
- m_vol_gun->di_w(BIT(data, 0));
- }
-}
-
-void dragngun_state::speaker_switch_w(u32 data)
-{
- // TODO: This should switch the oki3 output between the gun speaker and the standard speakers
- m_gun_speaker_disabled = bool(BIT(data, 0));
-
- logerror("Gun speaker: %s\n", m_gun_speaker_disabled ? "Disabled" : "Enabled");
-}
-
-LC7535_VOLUME_CHANGED( dragngun_state::volume_main_changed )
-{
- // TODO: Support loudness
- logerror("Main speaker volume: left = %d dB, right %d dB, loudness = %s\n", attenuation_left, attenuation_right, loudness ? "on" :"off");
-
- // convert to 0.0 - 1.0
- float gain_l = m_vol_main->normalize(attenuation_left);
- float gain_r = m_vol_main->normalize(attenuation_right);
-
- m_ym2151->set_output_gain(0, gain_l);
- m_ym2151->set_output_gain(1, gain_r); // left and right are always set to the same value
- m_oki[0]->set_output_gain(ALL_OUTPUTS, gain_l);
- m_oki[1]->set_output_gain(ALL_OUTPUTS, gain_l);
-
- if (m_oki[2].found() && m_gun_speaker_disabled)
- m_oki[2]->set_output_gain(ALL_OUTPUTS, gain_l);
-}
-
-LC7535_VOLUME_CHANGED( dragngun_state::volume_gun_changed )
-{
- logerror("Gun speaker volume: left = %d dB, right %d dB, loudness = %s\n", attenuation_left, attenuation_right, loudness ? "on" :"off");
-
- if (m_oki[2].found() && !m_gun_speaker_disabled)
- m_oki[2]->set_output_gain(ALL_OUTPUTS, m_vol_gun->normalize(attenuation_left));
-}
-
-WRITE_LINE_MEMBER( nslasher_state::tattass_sound_irq_w )
-{
- if (state)
- {
- u8 data = m_ioprot->soundlatch_r();
- // Swap bits 0 and 3 to correct for design error from BSMT schematic
- data = bitswap<8>(data, 7, 6, 5, 4, 0, 2, 1, 3);
- m_decobsmt->bsmt_comms_w(data);
- }
-}
-
-void deco32_state::sound_bankswitch_w(u8 data)
-{
- m_oki[0]->set_rom_bank((data >> 0) & 1);
- m_oki[1]->set_rom_bank((data >> 1) & 1);
-}
-
-void dragngun_state::lockload_okibank_lo_w(u8 data)
-{
- m_oki2_bank = (m_oki2_bank & 2) | ((data >> 1) & 1);
- logerror("Load OKI2 Bank Low bits: %02x, Current : %02x\n",(data >> 1) & 1, m_oki2_bank);
- m_oki[0]->set_rom_bank((data >> 0) & 1);
- m_oki[1]->set_rom_bank(m_oki2_bank);
-}
-
-void dragngun_state::lockload_okibank_hi_w(u8 data)
-{
- m_oki2_bank = (m_oki2_bank & 1) | ((data & 1) << 1); // TODO : Actually value unverified
- logerror("Load OKI2 Bank Hi bits: %02x, Current : %02x\n",((data & 1) << 1), m_oki2_bank);
- m_oki[1]->set_rom_bank(m_oki2_bank);
-}
-
-
-//**************************************************************************
-// VIDEO
-//**************************************************************************
-
-void deco32_state::vblank_ack_w(u32 data)
-{
- m_maincpu->set_input_line(ARM_IRQ_LINE, CLEAR_LINE);
-}
-
-template<int Chip>
-u32 deco32_state::spriteram_r(offs_t offset)
-{
- return m_spriteram16[Chip][offset] ^ 0xffff0000;
-}
-
-template<int Chip>
-void deco32_state::spriteram_w(offs_t offset, u32 data, u32 mem_mask)
-{
- data &= 0x0000ffff;
- mem_mask &= 0x0000ffff;
- COMBINE_DATA(&m_spriteram16[Chip][offset]);
-}
-
-template<int Chip>
-void deco32_state::buffer_spriteram_w(u32 data)
-{
- std::copy(&m_spriteram16[Chip][0], &m_spriteram16[Chip][0x2000/4], &m_spriteram16_buffered[Chip][0]);
-}
-
-// tattass tests these as 32-bit ram, even if only 16-bits are hooked up to the tilemap chip - does it mirror parts of the dword?
-template <int TileMap> void deco32_state::pf_rowscroll_w(offs_t offset, u32 data, u32 mem_mask) { COMBINE_DATA(&m_pf_rowscroll32[TileMap][offset]); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&m_pf_rowscroll[TileMap][offset]); }
-
-u32 dragngun_state::unk_video_r()
-{
- return machine().rand();
-}
-
-DECOSPR_PRIORITY_CB_MEMBER( captaven_state::captaven_pri_callback )
-{
- if ((pri & 0x60) == 0x00)
- {
- return 0; // above everything
- }
- else if ((pri & 0x60) == 0x20)
- {
- return 0xfff0; // above the 2nd playfield
- }
- else if ((pri & 0x60) == 0x40)
- {
- return 0xfffc; // above the 1st playfield
- }
- else
- {
- return 0xfffe; // under everything
- }
-}
-
-DECO16IC_BANK_CB_MEMBER( captaven_state::bank_callback )
-{
- return (bank & 0x20) << 9;
-}
-
-DECO16IC_BANK_CB_MEMBER( fghthist_state::bank_callback )
-{
- bank = (bank & 0x10) | ((bank & 0x40) >> 1) | ((bank & 0x20) << 1);
-
- return bank << 8;
-}
-
-DECO16IC_BANK_CB_MEMBER( dragngun_state::bank_1_callback )
-{
- return (bank & ~0xf) << 8;
-}
-
-DECO16IC_BANK_CB_MEMBER( dragngun_state::bank_2_callback )
-{
- return (bank & ~0x1f) << 7;
-}
-
-DECO16IC_BANK_CB_MEMBER( nslasher_state::bank_callback )
-{
- return (bank & ~0xf) << 8;
-}
-
-
-//**************************************************************************
-// INPUTS
-//**************************************************************************
-
-// TODO: probably clears both player 1 and player 2
-void dragngun_state::gun_irq_ack_w(u32 data)
-{
- m_deco_irq->lightgun_irq_ack_w(data);
-}
-
-// TODO: improve this, Y axis not understood at all
-u32 dragngun_state::lockload_gun_mirror_r(offs_t offset)
-{
-//logerror("%08x:Read gun %d\n",m_maincpu->pc(),offset);
-
- switch (offset)
- {
- case 0:
- return ((m_io_inputs->read() & 0x30) << 5) | (m_io_light_x[0]->read()) | 0xffff800;
-
- case 1:
- return ((m_io_inputs->read() & 0x3000) >> 3) | (m_io_light_x[1]->read()) | 0xffff800;
- }
-
- return ~0;
-}
-
-u32 dragngun_state::lightgun_r()
-{
- /* Ports 0-3 are read, but seem unused */
- switch (m_lightgun_port)
- {
- case 4: return m_io_light_x[0]->read();
- case 5: return m_io_light_x[1]->read();
- case 6: return m_io_light_y[0]->read();
- case 7: return m_io_light_y[1]->read();
- }
-
-// logerror("Illegal lightgun port %d read \n",m_lightgun_port);
- return 0;
-}
-
-void dragngun_state::lightgun_w(offs_t offset, u32 data)
-{
-// logerror("Lightgun port %d\n",m_lightgun_port);
- m_lightgun_port = offset;
-}
-
-INPUT_CHANGED_MEMBER( dragngun_state::lockload_gun_trigger )
-{
- switch (param)
- {
- case 0: m_deco_irq->lightgun1_trigger_w(!newval); break;
- case 1: m_deco_irq->lightgun2_trigger_w(!newval); break;
- }
-}
-
-
-//**************************************************************************
-// EEPROM
-//**************************************************************************
-
-u8 deco32_state::eeprom_r()
-{
- return 0xfe | m_eeprom->do_read();
-}
-
-void deco32_state::eeprom_w(u8 data)
-{
- // 7------- unknown
- // -6------ eeprom cs
- // --5----- eeprom clk
- // ---4---- eeprom di
- // ----32-- unknown
- // ------1- bg2/3 joint mode (8bpp) (not used by fghthist?)
- // -------0 layer priority
-
- m_eeprom->clk_write(BIT(data, 5) ? ASSERT_LINE : CLEAR_LINE);
- m_eeprom->di_write(BIT(data, 4));
- m_eeprom->cs_write(BIT(data, 6) ? ASSERT_LINE : CLEAR_LINE);
-
- pri_w(data & 0x03);
-}
-
-void dragngun_state::eeprom_w(u8 data)
-{
- // 76543--- unknown
- // -----2-- eeprom cs
- // ------1- eeprom clk
- // -------0 eeprom di
-
- m_eeprom->clk_write(BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE);
- m_eeprom->di_write(BIT(data, 0));
- m_eeprom->cs_write(BIT(data, 2) ? ASSERT_LINE : CLEAR_LINE);
-}
-
-void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
-{
- /* Eprom in low byte */
- if (ACCESSING_BITS_0_7)
- { /* Byte write to low byte only (different from word writing including low byte) */
- /*
- The Tattoo Assassins eprom seems strange... It's 1024 bytes in size, and 8 bit
- in width, but offers a 'multiple read' mode where a bit stream can be read
- starting at any byte boundary.
-
- Multiple read mode:
- Write 110aa000 [Read command, top two bits of address, 4 zeroes]
- Write 00000000 [8 zeroes]
- Write aaaaaaaa [Bottom 8 bits of address]
-
- Then bits are read back per clock, for as many bits as needed (NOT limited to byte
- boundaries).
-
- Write mode:
- Write 000aa000 [Write command, top two bits of address, 4 zeroes]
- Write 00000000 [8 zeroes]
- Write aaaaaaaa [Bottom 8 bits of address]
- Write dddddddd [8 data bits]
-
- */
- if ((BIT(data, 6)) == 0)
- {
- if (m_buf_ptr)
- {
- logerror("Eprom reset (bit count %d): ", m_read_bit_count);
- for (int i = 0; i < m_buf_ptr; i++)
- logerror("%s", BIT(m_buffer, m_buf_ptr - 1 - i) ? "1" : "0");
- logerror("\n");
-
- }
- m_buf_ptr = 0;
- m_pending_command = 0;
- m_read_bit_count = 0;
- }
-
- /* Eprom has been clocked */
- if (m_last_clock == 0 && BIT(data, 5) && BIT(data, 6))
- {
- if (m_buf_ptr >= 32)
- {
- logerror("Eprom overflow!");
- m_buf_ptr = 0;
- }
-
- /* Handle pending read */
- if (m_pending_command == 1)
- {
- const int d = m_read_bit_count >> 3;
- const int m = 7 - (m_read_bit_count & 0x7);
- const int a = (m_byte_addr + d) & 0x3ff;
- const int b = m_eeprom->internal_read(a);
-
- m_tattass_eprom_bit = (b >> m) & 1;
-
- m_read_bit_count++;
- m_last_clock = BIT(data, 5);
- return;
- }
-
- /* Handle pending write */
- if (m_pending_command == 2)
- {
- m_buffer = (m_buffer << 1) | BIT(data, 4);
-
- m_buf_ptr++;
- if (m_buf_ptr == 32)
- {
- m_eeprom->internal_write(m_byte_addr, m_buffer & 0xff);
- }
- m_last_clock = BIT(data, 5);
- return;
- }
-
- m_buffer = (m_buffer << 1) | BIT(data, 4);
-
- m_buf_ptr++;
- if (m_buf_ptr == 24)
- {
- /* Decode addr */
- m_byte_addr = ((m_buffer & 0x180000) >> 11) | (m_buffer & 0x0000ff);
-
- /* Check for read command */
- if ((m_buffer & 0xc00000) == 0xc00000)
- {
- m_tattass_eprom_bit = (m_eeprom->internal_read(m_byte_addr) >> 7) & 1;
- m_read_bit_count = 1;
- m_pending_command = 1;
- }
-
- /* Check for write command */
- else if ((m_buffer & 0xc00000) == 0x0)
- {
- m_pending_command = 2;
- }
- else
- {
- logerror("Detected unknown eprom command\n");
- }
- }
- }
- else
- {
- if (!(BIT(data, 6)))
- {
- logerror("Cs set low\n");
- m_buf_ptr = 0;
- }
- }
-
- m_last_clock = BIT(data, 5);
- }
-
- /* Volume in high byte */
- if (ACCESSING_BITS_8_15)
- {
- //TODO: volume attenuation == ((data >> 8) & 0xff);
- // TODO: is it really there?
- }
-
- /* Playfield control - Only written in full word memory accesses */
- pri_w(data & 0x3); /* Bit 0 - layer priority toggle, Bit 1 - BG2/3 Joint mode (8bpp) */
-
- /* Sound board reset control */
- if (BIT(data, 7))
- m_decobsmt->bsmt_reset_line(CLEAR_LINE);
- else
- m_decobsmt->bsmt_reset_line(ASSERT_LINE);
-
- /* bit 0x4 fade cancel? */
- /* bit 0x8 ?? */
- /* Bit 0x100 ?? */
- //logerror("%08x: %08x data\n",data,mem_mask);
-}
-
-u16 nslasher_state::port_b_tattass()
-{
- return m_tattass_eprom_bit;
-}
-
-
-//**************************************************************************
-// MACHINE
-//**************************************************************************
-
-u32 fghthist_state::unk_status_r()
-{
- // bit 3 needs to be 0
- return 0xfffffff7;
-}
-
-u16 nslasher_state::nslasher_debug_r()
-{
- return 0xffff;
-}
-
-u32 captaven_state::_71_r()
-{
- /* Bit 0x80 goes high when sprite DMA is complete, and low
- while it's in progress, we don't bother to emulate it */
- return 0xffffffff;
-}
-
-void captaven_state::init_captaven()
-{
- deco56_decrypt_gfx(machine(), "gfx1");
- deco56_decrypt_gfx(machine(), "gfx2");
-}
-
-extern void process_dvi_data(device_t *device,u8* dvi_data, int offset, int regionsize);
-
-void dragngun_state::dragngun_init_common()
-{
- const u8 *SRC_RAM = memregion("gfx1")->base();
- u8 *DST_RAM = memregion("gfx2")->base();
-
- deco74_decrypt_gfx(machine(), "gfx1");
- deco74_decrypt_gfx(machine(), "gfx2");
- deco74_decrypt_gfx(machine(), "gfx3");
-
- std::copy(&SRC_RAM[0x00000], &SRC_RAM[0x10000], &DST_RAM[0x080000]);
- std::copy(&SRC_RAM[0x10000], &SRC_RAM[0x20000], &DST_RAM[0x110000]);
-
-#if 0
- {
- u8 *ROM = memregion("dvi")->base();
-
- FILE *fp;
- char filename[256];
- sprintf(filename,"video.dvi");
- fp=fopen(filename, "w+b");
- if (fp)
- {
- fwrite(ROM, 0xc00000, 1, fp);
- fclose(fp);
- }
- }
-#endif
-
- save_item(NAME(m_lightgun_port));
-
- // there are DVI headers at 0x000000, 0x580000, 0x800000, 0xB10000, 0xB80000
-// process_dvi_data(this,memregion("dvi")->base(),0x000000, 0x1000000);
-// process_dvi_data(this,memregion("dvi")->base(),0x580000, 0x1000000);
-// process_dvi_data(this,memregion("dvi")->base(),0x800000, 0x1000000);
-// process_dvi_data(this,memregion("dvi")->base(),0xB10000, 0x1000000);
-// process_dvi_data(this,memregion("dvi")->base(),0xB80000, 0x1000000);
-}
-
-void dragngun_state::init_dragngun()
-{
- dragngun_init_common();
-
- u32 *ROM = (u32 *)memregion("maincpu")->base();
- ROM[0x01b32c/4] = 0xe1a00000; // bl $ee000: NOP test switch lock
-}
-
-void dragngun_state::init_dragngunj()
-{
- dragngun_init_common();
-
- u32 *ROM = (u32 *)memregion("maincpu")->base();
- ROM[0x01a1b4/4] = 0xe1a00000; // bl $ee000: NOP test switch lock
-}
-
-void fghthist_state::init_fghthist()
-{
- deco56_decrypt_gfx(machine(), "gfx1");
- deco74_decrypt_gfx(machine(), "gfx2");
-}
-
-void dragngun_state::init_lockload()
-{
-// u32 *ROM = (u32 *)memregion("maincpu")->base();
-
- deco74_decrypt_gfx(machine(), "gfx1");
- deco74_decrypt_gfx(machine(), "gfx2");
- deco74_decrypt_gfx(machine(), "gfx3");
-
-// ROM[0x1fe3c0/4] = 0xe1a00000;// NOP test switch lock
-// ROM[0x1fe3cc/4] = 0xe1a00000;// NOP test switch lock
-// ROM[0x1fe40c/4] = 0xe1a00000;// NOP test switch lock
-
- save_item(NAME(m_oki2_bank));
-}
-
-void nslasher_state::init_tattass()
-{
- u8 *RAM = memregion("gfx1")->base();
- std::vector<u8> tmp(0x80000);
-
- /* Reorder bitplanes to make decoding easier */
- std::copy(&RAM[0x080000], &RAM[0x100000], tmp.begin());
- std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
- std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
-
- RAM = memregion("gfx2")->base();
- std::copy(&RAM[0x080000], &RAM[0x100000], tmp.begin());
- std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
- std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
-
- deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
- deco56_decrypt_gfx(machine(), "gfx2"); /* 141 */
-
- save_item(NAME(m_tattass_eprom_bit));
- save_item(NAME(m_last_clock));
- save_item(NAME(m_buffer));
- save_item(NAME(m_buf_ptr));
- save_item(NAME(m_pending_command));
- save_item(NAME(m_read_bit_count));
- save_item(NAME(m_byte_addr));
-}
-
-void nslasher_state::init_nslasher()
-{
- u8 *RAM = memregion("gfx1")->base();
- std::vector<u8> tmp(0x80000);
-
- /* Reorder bitplanes to make decoding easier */
- std::copy(&RAM[0x080000], &RAM[0x100000], tmp.begin());
- std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
- std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
-
- RAM = memregion("gfx2")->base();
- std::copy(&RAM[0x080000], &RAM[0x100000], tmp.begin());
- std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
- std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
-
- deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
- deco74_decrypt_gfx(machine(), "gfx2");
-
- deco156_decrypt(machine());
-
- /* The board for Night Slashers is very close to the Fighter's History and
- Tattoo Assassins boards, but has an encrypted ARM cpu. */
-}
-
-
-//**************************************************************************
-// INPUT DEFINITIONS
-//**************************************************************************
-
-/* Notes (2002.02.05) :
-
-When the "Continue Coin" Dip Switch is set to "2 Start/1 Continue",
-the "Coinage" Dip Switches have no effect.
-
-START, BUTTON1 and COIN effects :
-
- 2 players, common coin slots
-
-STARTn starts a game for player n. It adds 100 energy points each time it is pressed
-(provided there are still some credits, and energy is <= 900).
-
-BUTTON1n selects the character for player n.
-
-COIN1n adds credit(s)/coin(s).
-
- 2 players, individual coin slots
-
-NO STARTn button !
-
-BUTTON1n starts a game for player n. It also adds 100 energy points for each credit
-inserted for the player. It then selects the character for player n.
-
-COIN1n adds 100 energy points (based on "Coinage") for player n when ingame if energy
-<= 900, else adds credit(s)/coin(s) for player n.
-
- 4 players, common coin slots
-
-NO STARTn button !
-
-BUTTON1n starts a game for player n. It gives 100 energy points. It then selects the
-character for player n.
-
- 4 players, individual coin slots
-
-NO STARTn button !
-
-BUTTON1n starts a game for player n. It also adds 100 energy points for each credit
-inserted for the player. It then selects the character for player n.
-
-COIN1n adds 100 energy points (based on "Coinage") for player n when ingame if energy
-<= 900, else adds credit(s)/coin(s) for player n.
-
-*/
-
-static INPUT_PORTS_START( captaven )
- PORT_START("IN0")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(4) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN4 )
-
- PORT_START("DSW1")
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW1:1,2,3")
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x02, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DSW1:4,5,6")
- PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_6C ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DSW1:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Continue Coin" ) PORT_DIPLOCATION("DSW1:8")
- PORT_DIPSETTING( 0x80, "1 Start/1 Continue" )
- PORT_DIPSETTING( 0x00, "2 Start/1 Continue" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("DSW2:1,2")
- PORT_DIPSETTING( 0x01, "1" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPSETTING( 0x03, "3" )
- PORT_DIPSETTING( 0x02, "4" )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DSW2:3,4")
- PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x10, 0x10, "Coin Slots" ) PORT_DIPLOCATION("DSW2:5")
- PORT_DIPSETTING( 0x10, "Common" )
- PORT_DIPSETTING( 0x00, "Individual" )
- PORT_DIPNAME( 0x20, 0x20, "Play Mode" ) PORT_DIPLOCATION("DSW2:6")
- PORT_DIPSETTING( 0x20, "2 Player" )
- PORT_DIPSETTING( 0x00, "4 Player" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DSW2:7")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DSW2:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- // This one isn't documented in the manual
- PORT_START("DSW3")
- PORT_DIPUNKNOWN_DIPLOC(0x01, IP_ACTIVE_LOW, "DSW3:1")
- PORT_DIPUNKNOWN_DIPLOC(0x02, IP_ACTIVE_LOW, "DSW3:2")
- PORT_DIPUNKNOWN_DIPLOC(0x04, IP_ACTIVE_LOW, "DSW3:3")
- PORT_DIPUNKNOWN_DIPLOC(0x08, IP_ACTIVE_LOW, "DSW3:4")
- PORT_DIPNAME( 0x10, 0x10, "Reset") PORT_DIPLOCATION("DSW3:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ))
- PORT_DIPSETTING( 0x00, DEF_STR( On ))
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Free_Play )) PORT_DIPLOCATION("DSW3:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ))
- PORT_DIPSETTING( 0x00, DEF_STR( On ))
- PORT_DIPNAME( 0x40, 0x40, "Stage Select") PORT_DIPLOCATION("DSW3:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ))
- PORT_DIPSETTING( 0x00, DEF_STR( On ))
- PORT_DIPNAME( 0x80, 0x80, "Debug Mode") PORT_DIPLOCATION("DSW3:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ))
- PORT_DIPSETTING( 0x00, DEF_STR( On ))
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( fghthist )
- PORT_START("IN0")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( dragngun )
- PORT_START("INPUTS")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
-
- PORT_START("DSW")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) /* Would be a dipswitch, but only 1 present on board */
- PORT_DIPNAME( 0x0100, 0x0000, "Reset" ) /* Behaves like Reset */
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "Stage Select" )
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, "Debug Mode" )
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("IN2")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") // is this actually vblank?
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) //check //test BUTTON F2
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("LIGHT0_X")
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(1)
-
- PORT_START("LIGHT1_X")
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(2)
-
- PORT_START("LIGHT0_Y")
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(1)
-
- PORT_START("LIGHT1_Y")
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(2)
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( lockload )
- PORT_START("INPUTS")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Fire") PORT_CHANGED_MEMBER(DEVICE_SELF, dragngun_state, lockload_gun_trigger, 0)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Reload")
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Fire") PORT_CHANGED_MEMBER(DEVICE_SELF, dragngun_state, lockload_gun_trigger, 1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Reload")
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("SYSTEM")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
-
- PORT_START("DSW")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) /* Would be a dipswitch, but only 1 present on board */
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x0000, "Reset" )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, "Debug Mode" )
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
-
- PORT_START("IN2")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
- PORT_BIT( 0x00f8, IP_ACTIVE_LOW, IPT_UNUSED ) //check //test BUTTON F2
-
- PORT_START("LIGHT0_X")
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(1)
-
- PORT_START("LIGHT0_Y")
- PORT_BIT( 0xff, 49, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(1) PORT_MINMAX(16,82)
-
- PORT_START("LIGHT1_X")
- PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(2)
-
- PORT_START("LIGHT1_Y")
- PORT_BIT( 0xff, 49, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(20) PORT_KEYDELTA(25) PORT_PLAYER(2) PORT_MINMAX(16,82)
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( tattass )
- PORT_START("IN0")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( nslasher )
- PORT_START("IN0")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
-
- PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
- PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START3 )
-INPUT_PORTS_END
-
-
-//**************************************************************************
-// GFXDECODE LAYOUTS
-//**************************************************************************
-
-static const gfx_layout charlayout =
-{
- 8,8,
- RGN_FRAC(1,2),
- 4,
- { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 },
- { STEP8(0,1) },
- { STEP8(0,8*2) },
- 16*8 /* every char takes 8 consecutive bytes */
-};
-
-static const gfx_layout tilelayout =
-{
- 16,16,
- RGN_FRAC(1,2),
- 4,
- { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 },
- { STEP8(16*8*2,1), STEP8(0,1) },
- { STEP16(0,8*2) },
- 64*8
-};
-
-static const gfx_layout tilelayout_8bpp =
-{
- 16,16,
- RGN_FRAC(1,4),
- 8,
- { RGN_FRAC(3,4)+8, RGN_FRAC(3,4)+0, RGN_FRAC(2,4)+8, RGN_FRAC(2,4)+0, RGN_FRAC(1,4)+8, RGN_FRAC(1,4)+0, 8, 0 },
- { STEP8(16*8*2,1), STEP8(0,1) },
- { STEP16(0,8*2) },
- 64*8
-};
-
-static const gfx_layout tilelayout_5bpp =
-{
- 16,16,
- RGN_FRAC(1,1),
- 5,
- { 8*0, 8*1, 8*2, 8*3, 8*4 },
- { STEP8(16*8*5,1), STEP8(0,1) },
- { STEP16(0,8*5) },
- 16*16*5
-};
-
-static const gfx_layout spritelayout4 =
-{
- 16,16,
- RGN_FRAC(1,1),
- 4,
- { STEP4(0,1) },
- { STEP16(0,8) },
- { STEP16(0,16*8) },
- 16*16*8
-};
-
-static const gfx_layout spritelayout5 =
-{
- 16,16,
- RGN_FRAC(1,1),
- 4,
- { STEP4(4,1) },
- { STEP16(0,8) },
- { STEP16(0,16*8) },
- 16*16*8
-};
-
-static GFXDECODE_START( gfx_captaven )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout_8bpp, 0, 8 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 32 ) /* Sprites 16x16 */
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_fghthist )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 1024, 32 ) /* Sprites 16x16 */
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_dragngun )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 64 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout_8bpp, 0, 8 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx4", 0, spritelayout4, 0, 32 ) /* Sprites 16x16 */
- GFXDECODE_ENTRY( "gfx4", 0, spritelayout5, 0, 32 ) /* Sprites 16x16 */
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_tattass )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout_5bpp, 1536, 16 ) /* Sprites 16x16 */
- GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 1024+256, 32 ) /* Sprites 16x16 */
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_nslasher )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout_5bpp, 1024, 16 ) /* Sprites 16x16 */
- GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 1536, 32 ) /* Sprites 16x16 */
-GFXDECODE_END
-
-
-//**************************************************************************
-// MACHINE DEFINITIONS
-//**************************************************************************
-
-void captaven_state::captaven(machine_config &config)
-{
- /* basic machine hardware */
- ARM(config, m_maincpu, XTAL(28'000'000)/4); /* verified on pcb (Data East 101 custom)*/
- m_maincpu->set_addrmap(AS_PROGRAM, &captaven_state::captaven_map);
-
- h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000)/4/3)); /* pin 10 is 32mhz/4, pin 14 is High so internal divisor is 3 (verified on pcb) */
- audiocpu.set_addrmap(AS_PROGRAM, &captaven_state::h6280_sound_map);
- audiocpu.add_route(ALL_OUTPUTS, "lspeaker", 0); // internal sound unused
- audiocpu.add_route(ALL_OUTPUTS, "rspeaker", 0);
-
- INPUT_MERGER_ANY_HIGH(config, "irq_merger").output_handler().set_inputline(m_maincpu, ARM_IRQ_LINE);
-
- DECO_IRQ(config, m_deco_irq, 0);
- m_deco_irq->set_screen_tag(m_screen);
- m_deco_irq->raster2_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
- m_deco_irq->vblank_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(captaven_state::screen_update));
- m_screen->set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_captaven);
- PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048);
-
- DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf1_col_bank(0x20);
- m_deco_tilegen[0]->set_pf2_col_bank(0x30);
- m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf12_8x8_bank(0);
- m_deco_tilegen[0]->set_pf12_16x16_bank(1);
- m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO16IC(config, m_deco_tilegen[1], 0); // pf3 is in 8bpp mode, pf4 is not used
- m_deco_tilegen[1]->set_pf1_size(DECO_32x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_32x32);
- m_deco_tilegen[1]->set_pf1_trans_mask(0xff);
- m_deco_tilegen[1]->set_pf2_trans_mask(0x00);
- m_deco_tilegen[1]->set_pf1_col_bank(0x10);
- m_deco_tilegen[1]->set_pf2_col_bank(0x00);
- m_deco_tilegen[1]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_col_mask(0x00);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(captaven_state::bank_callback));
- // no bank2 callback
- m_deco_tilegen[1]->set_pf12_8x8_bank(0);
- m_deco_tilegen[1]->set_pf12_16x16_bank(2);
- m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_SPRITE(config, m_sprgen[0], 0);
- m_sprgen[0]->set_gfx_region(3);
- m_sprgen[0]->set_pri_callback(FUNC(captaven_state::captaven_pri_callback));
- m_sprgen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO146PROT(config, m_ioprot, 0);
- m_ioprot->port_a_cb().set_ioport("IN0");
- m_ioprot->port_b_cb().set_ioport("SYSTEM");
- m_ioprot->port_c_cb().set_ioport("IN1");
- m_ioprot->soundlatch_irq_cb().set_inputline(m_audiocpu, 0);
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- YM2151(config, m_ym2151, XTAL(32'220'000)/9); /* verified on pcb */
- m_ym2151->irq_handler().set_inputline(m_audiocpu, 1);
- m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w));
- m_ym2151->add_route(0, "lspeaker", 0.42);
- m_ym2151->add_route(1, "rspeaker", 0.42);
-
- OKIM6295(config, m_oki[0], XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH); /* verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High */
- m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
-
- OKIM6295(config, m_oki[1], XTAL(32'220'000)/16, okim6295_device::PIN7_HIGH); /* verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High */
- m_oki[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.35);
- m_oki[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.35);
-}
-
-// DE-0380-2
-void fghthist_state::fghthist(machine_config &config)
-{
- ARM(config, m_maincpu, XTAL(28'000'000) / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &fghthist_state::fghthist_map);
- m_maincpu->set_vblank_int("screen", FUNC(deco32_state::irq0_line_assert));
-
- h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000) / 8));
- audiocpu.set_addrmap(AS_PROGRAM, &fghthist_state::h6280_sound_custom_latch_map);
- audiocpu.add_route(ALL_OUTPUTS, "lspeaker", 0); // internal sound unused
- audiocpu.add_route(ALL_OUTPUTS, "rspeaker", 0);
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(fghthist_state::screen_update));
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_fghthist);
- PALETTE(config, m_palette).set_entries(2048);
-
- DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf1_col_bank(0x00);
- m_deco_tilegen[0]->set_pf2_col_bank(0x10);
- m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_bank1_callback(FUNC(fghthist_state::bank_callback));
- m_deco_tilegen[0]->set_bank2_callback(FUNC(fghthist_state::bank_callback));
- m_deco_tilegen[0]->set_pf12_8x8_bank(0);
- m_deco_tilegen[0]->set_pf12_16x16_bank(1);
- m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[1]->set_pf1_col_bank(0x20);
- m_deco_tilegen[1]->set_pf2_col_bank(0x30);
- m_deco_tilegen[1]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(fghthist_state::bank_callback));
- m_deco_tilegen[1]->set_bank2_callback(FUNC(fghthist_state::bank_callback));
- m_deco_tilegen[1]->set_pf12_8x8_bank(0);
- m_deco_tilegen[1]->set_pf12_16x16_bank(2);
- m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_SPRITE(config, m_sprgen[0], 0);
- m_sprgen[0]->set_gfx_region(3);
- m_sprgen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO146PROT(config, m_ioprot, 0);
- m_ioprot->port_a_cb().set_ioport("IN0");
- m_ioprot->port_b_cb().set("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)).lshift(0);
- m_ioprot->port_c_cb().set_ioport("IN1");
- m_ioprot->set_interface_scramble_interleave();
- m_ioprot->set_use_magic_read_address_xor(true);
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- GENERIC_LATCH_8(config, m_soundlatch);
- m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0);
-
- YM2151(config, m_ym2151, 32220000/9);
- m_ym2151->irq_handler().set_inputline(m_audiocpu, 1);
- m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w));
- m_ym2151->add_route(0, "lspeaker", 0.42);
- m_ym2151->add_route(1, "rspeaker", 0.42);
-
- OKIM6295(config, m_oki[0], 32220000/32, okim6295_device::PIN7_HIGH);
- m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
-
- OKIM6295(config, m_oki[1], 32220000/16, okim6295_device::PIN7_HIGH);
- m_oki[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.35);
- m_oki[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.35);
-}
-
-// DE-0395-1
-void fghthist_state::fghthsta(machine_config &config)
-{
- fghthist(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &fghthist_state::fghthsta_memmap);
- m_audiocpu->set_addrmap(AS_PROGRAM, &fghthist_state::h6280_sound_map);
-
- config.device_remove("soundlatch");
-
- m_ioprot->soundlatch_irq_cb().set_inputline(m_audiocpu, 0);
-}
-
-// DE-0396-0
-void fghthist_state::fghthistu(machine_config &config)
-{
- fghthsta(config);
-
- Z80(config.replace(), m_audiocpu, XTAL(32'220'000) / 9);
- m_audiocpu->set_addrmap(AS_PROGRAM, &fghthist_state::z80_sound_map);
- m_audiocpu->set_addrmap(AS_IO, &fghthist_state::z80_sound_io);
-
- INPUT_MERGER_ANY_HIGH(config, "sound_irq_merger").output_handler().set_inputline(m_audiocpu, INPUT_LINE_IRQ0);
-
- m_ioprot->soundlatch_irq_cb().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
-
- m_ym2151->irq_handler().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
- m_ym2151->reset_routes();
- m_ym2151->add_route(0, "lspeaker", 0.40);
- m_ym2151->add_route(1, "rspeaker", 0.40);
-}
-
-// DE-0359-2 + Bottom board DE-0360-4
-void dragngun_state::dragngun(machine_config &config)
-{
- /* basic machine hardware */
- ARM(config, m_maincpu, XTAL(28'000'000) / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &dragngun_state::dragngun_map);
-
- h6280_device &audiocpu(H6280(config, m_audiocpu, 32220000/8));
- audiocpu.set_addrmap(AS_PROGRAM, &dragngun_state::h6280_sound_map);
- audiocpu.add_route(ALL_OUTPUTS, "lspeaker", 0); // internal sound unused
- audiocpu.add_route(ALL_OUTPUTS, "rspeaker", 0);
-
- INPUT_MERGER_ANY_HIGH(config, "irq_merger").output_handler().set_inputline("maincpu", ARM_IRQ_LINE);
-
- DECO_IRQ(config, m_deco_irq, 0);
- m_deco_irq->set_screen_tag(m_screen);
- m_deco_irq->raster2_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
- m_deco_irq->vblank_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- /* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(dragngun_state::screen_update));
- //m_screen->set_palette(m_palette);
-
- BUFFERED_SPRITERAM32(config, m_spriteram);
-
- DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf1_col_bank(0x20);
- m_deco_tilegen[0]->set_pf2_col_bank(0x30);
- m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_bank1_callback(FUNC(dragngun_state::bank_1_callback));
- m_deco_tilegen[0]->set_bank2_callback(FUNC(dragngun_state::bank_1_callback));
- m_deco_tilegen[0]->set_pf12_8x8_bank(0);
- m_deco_tilegen[0]->set_pf12_16x16_bank(1);
- m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf1_trans_mask(0xff);
- m_deco_tilegen[1]->set_pf2_trans_mask(0xff);
- m_deco_tilegen[1]->set_pf1_col_bank(0x04);
- m_deco_tilegen[1]->set_pf2_col_bank(0x04);
- m_deco_tilegen[1]->set_pf1_col_mask(0x03);
- m_deco_tilegen[1]->set_pf2_col_mask(0x03);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(dragngun_state::bank_2_callback));
- // no bank2 callback
- m_deco_tilegen[1]->set_pf12_8x8_bank(0);
- m_deco_tilegen[1]->set_pf12_16x16_bank(2);
- m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_ZOOMSPR(config, m_sprgenzoom, 0);
- m_sprgenzoom->set_gfxdecode(m_gfxdecode);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_dragngun);
- PALETTE(config, m_palette).set_entries(2048);
-
- DECO146PROT(config, m_ioprot, 0);
- m_ioprot->port_a_cb().set_ioport("INPUTS");
- m_ioprot->port_b_cb().set_ioport("SYSTEM");
- m_ioprot->port_c_cb().set_ioport("DSW");
- m_ioprot->soundlatch_irq_cb().set_inputline(m_audiocpu, 0);
- m_ioprot->set_interface_scramble_reverse();
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- YM2151(config, m_ym2151, 32220000/9);
- m_ym2151->irq_handler().set_inputline(m_audiocpu, 1);
- m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w));
- m_ym2151->add_route(0, "lspeaker", 0.42);
- m_ym2151->add_route(1, "rspeaker", 0.42);
-
- OKIM6295(config, m_oki[0], 32220000/32, okim6295_device::PIN7_HIGH);
- m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
-
- OKIM6295(config, m_oki[1], 32220000/16, okim6295_device::PIN7_HIGH);
- m_oki[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.35);
- m_oki[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.35);
-
- SPEAKER(config, "gun_speaker").front_center();
-
- OKIM6295(config, m_oki[2], 32220000/32, okim6295_device::PIN7_HIGH);
- m_oki[2]->add_route(ALL_OUTPUTS, "gun_speaker", 1.0);
-
- LC7535(config, m_vol_main);
- m_vol_main->select().set_constant(1);
- m_vol_main->set_volume_callback(FUNC(dragngun_state::volume_main_changed));
-
- LC7535(config, m_vol_gun);
- m_vol_gun->select().set_constant(0);
- m_vol_gun->set_volume_callback(FUNC(dragngun_state::volume_gun_changed));
-}
-
-void dragngun_state::lockloadu(machine_config &config)
-{
- dragngun(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &dragngun_state::lockloadu_map);
- m_audiocpu->set_addrmap(AS_PROGRAM, &dragngun_state::lockloadu_sound_map);
-
- m_deco_irq->lightgun_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<2>));
-
- m_deco_tilegen[1]->set_pf1_size(DECO_32x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_32x32); // lockload definitely wants pf34 half width..
-
- m_ym2151->port_write_handler().set(FUNC(dragngun_state::lockload_okibank_lo_w));
-}
-
-// DE-0420-1 + Bottom board DE-0421-0
-void dragngun_state::lockload(machine_config &config)
-{
- /* basic machine hardware */
- ARM(config, m_maincpu, XTAL(28'000'000) / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &dragngun_state::lockload_map);
-
- INPUT_MERGER_ANY_HIGH(config, "irq_merger").output_handler().set_inputline("maincpu", ARM_IRQ_LINE);
-
- Z80(config, m_audiocpu, 32220000/8);
- m_audiocpu->set_addrmap(AS_PROGRAM, &dragngun_state::lockload_sound_map);
- m_audiocpu->set_addrmap(AS_IO, &dragngun_state::z80_sound_io);
-
- INPUT_MERGER_ANY_HIGH(config, "sound_irq_merger").output_handler().set_inputline("audiocpu", INPUT_LINE_IRQ0);
-
- DECO_IRQ(config, m_deco_irq, 0);
- m_deco_irq->set_screen_tag(m_screen);
- m_deco_irq->lightgun1_callback().set_ioport("LIGHT0_Y");
- m_deco_irq->lightgun2_callback().set_ioport("LIGHT1_Y");
- m_deco_irq->raster2_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
- m_deco_irq->vblank_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
- m_deco_irq->lightgun_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<2>));
-
- config.set_maximum_quantum(attotime::from_hz(6000)); /* to improve main<->audio comms */
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- /* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(dragngun_state::screen_update));
-
- BUFFERED_SPRITERAM32(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_dragngun);
- PALETTE(config, m_palette).set_entries(2048);
-
- DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf1_col_bank(0x20);
- m_deco_tilegen[0]->set_pf2_col_bank(0x30);
- m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_bank1_callback(FUNC(dragngun_state::bank_1_callback));
- m_deco_tilegen[0]->set_bank2_callback(FUNC(dragngun_state::bank_1_callback));
- m_deco_tilegen[0]->set_pf12_8x8_bank(0);
- m_deco_tilegen[0]->set_pf12_16x16_bank(1);
- m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_pf1_size(DECO_32x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_32x32); // lockload definitely wants pf34 half width..
- m_deco_tilegen[1]->set_pf1_trans_mask(0xff);
- m_deco_tilegen[1]->set_pf2_trans_mask(0xff);
- m_deco_tilegen[1]->set_pf1_col_bank(0x04);
- m_deco_tilegen[1]->set_pf2_col_bank(0x04);
- m_deco_tilegen[1]->set_pf1_col_mask(0x03);
- m_deco_tilegen[1]->set_pf2_col_mask(0x03);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(dragngun_state::bank_2_callback));
- // no bank2 callback
- m_deco_tilegen[1]->set_pf12_8x8_bank(0);
- m_deco_tilegen[1]->set_pf12_16x16_bank(2);
- m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_ZOOMSPR(config, m_sprgenzoom, 0);
- m_sprgenzoom->set_gfxdecode(m_gfxdecode);
-
- DECO146PROT(config, m_ioprot, 0);
- m_ioprot->port_a_cb().set_ioport("INPUTS");
- m_ioprot->port_b_cb().set_ioport("SYSTEM");
- m_ioprot->port_c_cb().set_ioport("DSW");
- m_ioprot->soundlatch_irq_cb().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
- m_ioprot->set_interface_scramble_reverse();
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- YM2151(config, m_ym2151, 32220000/9);
- m_ym2151->irq_handler().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
- m_ym2151->port_write_handler().set(FUNC(dragngun_state::lockload_okibank_lo_w));
- m_ym2151->add_route(0, "lspeaker", 0.42);
- m_ym2151->add_route(1, "rspeaker", 0.42);
-
- OKIM6295(config, m_oki[0], 32220000/32, okim6295_device::PIN7_HIGH);
- m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
- m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
-
- OKIM6295(config, m_oki[1], 32220000/16, okim6295_device::PIN7_HIGH);
- m_oki[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.35);
- m_oki[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.35);
-
- LC7535(config, m_vol_main);
- m_vol_main->select().set_constant(1);
- m_vol_main->set_volume_callback(FUNC(dragngun_state::volume_main_changed));
-}
-
-void nslasher_state::tattass(machine_config &config)
-{
- /* basic machine hardware */
- ARM(config, m_maincpu, 28000000/4); // unconfirmed
- m_maincpu->set_addrmap(AS_PROGRAM, &nslasher_state::tattass_map);
- m_maincpu->set_vblank_int("screen", FUNC(deco32_state::irq0_line_assert));
-
- EEPROM_93C76_8BIT(config, m_eeprom);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(nslasher_state::screen_update));
-
- DECO_ACE(config, m_deco_ace, 0);
-
- DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf1_col_bank(0x00);
- m_deco_tilegen[0]->set_pf2_col_bank(0x10);
- m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_bank1_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[0]->set_bank2_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[0]->set_pf12_8x8_bank(0);
- m_deco_tilegen[0]->set_pf12_16x16_bank(1);
- m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[1]->set_pf1_col_bank(0x20);
- m_deco_tilegen[1]->set_pf2_col_bank(0x30);
- m_deco_tilegen[1]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[1]->set_bank2_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[1]->set_pf12_8x8_bank(0);
- m_deco_tilegen[1]->set_pf12_16x16_bank(2);
- m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_SPRITE(config, m_sprgen[0], 0);
- m_sprgen[0]->set_gfx_region(3);
- m_sprgen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_SPRITE(config, m_sprgen[1], 0);
- m_sprgen[1]->set_gfx_region(4);
- m_sprgen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- GFXDECODE(config, m_gfxdecode, m_deco_ace, gfx_tattass);
-
- DECO104PROT(config, m_ioprot, 0);
- m_ioprot->port_a_cb().set_ioport("IN0");
- m_ioprot->port_b_cb().set(FUNC(nslasher_state::port_b_tattass));
- m_ioprot->port_c_cb().set_ioport("IN1");
- m_ioprot->soundlatch_irq_cb().set(FUNC(nslasher_state::tattass_sound_irq_w));
- m_ioprot->set_interface_scramble_interleave();
-
- /* sound hardware */
- DECOBSMT(config, m_decobsmt, 0);
-}
-
-void nslasher_state::nslasher(machine_config &config)
-{
- /* basic machine hardware */
- ARM(config, m_maincpu, XTAL(28'322'000) / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &nslasher_state::nslasher_map);
- m_maincpu->set_vblank_int("screen", FUNC(deco32_state::irq0_line_assert));
-
- Z80(config, m_audiocpu, 32220000/9);
- m_audiocpu->set_addrmap(AS_PROGRAM, &nslasher_state::z80_sound_map);
- m_audiocpu->set_addrmap(AS_IO, &nslasher_state::z80_sound_io);
-
- INPUT_MERGER_ANY_HIGH(config, "sound_irq_merger").output_handler().set_inputline("audiocpu", INPUT_LINE_IRQ0);
-
- config.set_maximum_quantum(attotime::from_hz(6000)); /* to improve main<->audio comms */
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(XTAL(28'322'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(nslasher_state::screen_update));
-
- DECO_ACE(config, m_deco_ace, 0);
-
- DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[0]->set_pf1_col_bank(0x00);
- m_deco_tilegen[0]->set_pf2_col_bank(0x10);
- m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_bank1_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[0]->set_bank2_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[0]->set_pf12_8x8_bank(0);
- m_deco_tilegen[0]->set_pf12_16x16_bank(1);
- m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
- m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_trans_mask(0x0f);
- m_deco_tilegen[1]->set_pf1_col_bank(0x20);
- m_deco_tilegen[1]->set_pf2_col_bank(0x30);
- m_deco_tilegen[1]->set_pf1_col_mask(0x0f);
- m_deco_tilegen[1]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[1]->set_bank2_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[1]->set_pf12_8x8_bank(0);
- m_deco_tilegen[1]->set_pf12_16x16_bank(2);
- m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_SPRITE(config, m_sprgen[0], 0);
- m_sprgen[0]->set_gfx_region(3);
- m_sprgen[0]->set_gfxdecode_tag(m_gfxdecode);
-
- DECO_SPRITE(config, m_sprgen[1], 0);
- m_sprgen[1]->set_gfx_region(4);
- m_sprgen[1]->set_gfxdecode_tag(m_gfxdecode);
-
- GFXDECODE(config, m_gfxdecode, m_deco_ace, gfx_nslasher);
-
- DECO104PROT(config, m_ioprot, 0);
- m_ioprot->port_a_cb().set_ioport("IN0");
- m_ioprot->port_b_cb().set("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)).lshift(0);
- m_ioprot->port_c_cb().set_ioport("IN1");
- m_ioprot->soundlatch_irq_cb().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
- m_ioprot->set_interface_scramble_interleave();
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- YM2151(config, m_ym2151, 32220000/9);
- m_ym2151->irq_handler().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
- m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w));
- m_ym2151->add_route(0, "lspeaker", 0.40);
- m_ym2151->add_route(1, "rspeaker", 0.40);
-
- OKIM6295(config, m_oki[0], 32220000/32, okim6295_device::PIN7_HIGH);
- m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 0.80);
- m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 0.80);
-
- OKIM6295(config, m_oki[1], 32220000/16, okim6295_device::PIN7_HIGH);
- m_oki[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.10);
- m_oki[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.10);
-}
-
-// the US release uses a H6280 instead of a Z80, much like Lock 'n' Loaded
-void nslasher_state::nslasheru(machine_config &config)
-{
- nslasher(config);
- config.device_remove("audiocpu");
-
- h6280_device &audiocpu(H6280(config, m_audiocpu, 32220000/8));
- audiocpu.set_addrmap(AS_PROGRAM, &nslasher_state::h6280_sound_map);
- audiocpu.add_route(ALL_OUTPUTS, "lspeaker", 0); // internal sound unused
- audiocpu.add_route(ALL_OUTPUTS, "rspeaker", 0);
-
- config.device_remove("sound_irq_merger");
-
- m_ym2151->irq_handler().set_inputline(m_audiocpu, 1);
-
- m_ioprot->soundlatch_irq_cb().set_inputline("audiocpu", 0);
-}
-
-
-//**************************************************************************
-// ROM DEFINITIONS
-//**************************************************************************
-
-// used for 5bpp gfxs
-#define ROM_LOAD40_BYTE(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_SKIP(4))
-#define ROM_LOAD40_WORD(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_SKIP(3))
-#define ROM_LOAD40_WORD_SWAP(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_SKIP(3))
-
-ROM_START( captaven ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hn_00-4.1e", 0x000000, 0x20000, CRC(147fb094) SHA1(6bd759c42f4b7f9e1c3f2d3ece0b3ec72de1a982) )
- ROM_LOAD32_BYTE( "hn_01-4.1h", 0x000001, 0x20000, CRC(11ecdb95) SHA1(832b56f05ae7e15e67fbdd321da8c1cc5e7629a0) )
- ROM_LOAD32_BYTE( "hn_02-4.1k", 0x000002, 0x20000, CRC(35d2681f) SHA1(3af7d959dc4842238a7f79926adf449cb7f0b2e9) )
- ROM_LOAD32_BYTE( "hn_03-4.1m", 0x000003, 0x20000, CRC(3b59ba05) SHA1(400e868e59977e56a4fa1870321c643983ba4162) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
-ROM_END
-
-ROM_START( captavena ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hn_00.e1", 0x000000, 0x20000, CRC(12dd0c71) SHA1(77bd0e5f1b105ec70de5e76cb9c8138f02a496be) )
- ROM_LOAD32_BYTE( "hn_01.h1", 0x000001, 0x20000, CRC(ac5ea492) SHA1(e08fa2b3e3a40cba6dcdf07049d67056d59ed72a) )
- ROM_LOAD32_BYTE( "hn_02.k1", 0x000002, 0x20000, CRC(0c5e13f6) SHA1(d9ebf503db7da8663f45fe307e432545651cfc13) )
- ROM_LOAD32_BYTE( "hn_03.l1", 0x000003, 0x20000, CRC(bc050740) SHA1(bee425e76734251444c9cfa9287e1eb9383625bc) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
-ROM_END
-
-ROM_START( captavene ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hg_00-4.1e", 0x000000, 0x20000, CRC(7008d43c) SHA1(a39143e13075ebc58ecc576391f04d2649675dfb) )
- ROM_LOAD32_BYTE( "hg_01-4.1h", 0x000001, 0x20000, CRC(53dc1042) SHA1(4547ad20e5bc3b9cedae53f73f1628fa3493aafa) )
- ROM_LOAD32_BYTE( "hg_02-4.1k", 0x000002, 0x20000, CRC(9e3f9ee2) SHA1(a56a68bdac58a337be48b346b6939c3f68da8e9d) )
- ROM_LOAD32_BYTE( "hg_03-4.1m", 0x000003, 0x20000, CRC(bc050740) SHA1(bee425e76734251444c9cfa9287e1eb9383625bc) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0800, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
- ROM_LOAD( "pal16r8b.14c", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
-ROM_END
-
-ROM_START( captavenu ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hh_00-19.1e", 0x000000, 0x20000, CRC(08b870e0) SHA1(44c837e3c5dfc9764d89b0ebb3e9b7a40fe4d76f) )
- ROM_LOAD32_BYTE( "hh_01-19.1h", 0x000001, 0x20000, CRC(0dc0feca) SHA1(cb1c97aac59dabcf6c37bc1562cf2f62bca951f1) )
- ROM_LOAD32_BYTE( "hh_02-19.1k", 0x000002, 0x20000, CRC(26ef94c0) SHA1(985fae62a6a7ca7e1e64dba2db053b08206c65e7) )
- ROM_LOAD32_BYTE( "hn_03-4.1m", 0x000003, 0x20000, CRC(3b59ba05) SHA1(400e868e59977e56a4fa1870321c643983ba4162) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
-ROM_END
-
-ROM_START( captavenuu ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hh-00.1e", 0x000000, 0x20000, CRC(c34da654) SHA1(a1988a6a45991db6dee10b484049f6703b4671c9) )
- ROM_LOAD32_BYTE( "hh-01.1h", 0x000001, 0x20000, CRC(55abe63f) SHA1(98772eff3ebb5a4f243c7a77d398eb142d1505cb) )
- ROM_LOAD32_BYTE( "hh-02.1k", 0x000002, 0x20000, CRC(6096a9fb) SHA1(aa81189b9c185dc5d59f888afcb17a1e4935c241) )
- ROM_LOAD32_BYTE( "hh-03.1m", 0x000003, 0x20000, CRC(93631ded) SHA1(b4c8a6cbf586f895e637c0ed38f0842327624423) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
-ROM_END
-
-ROM_START( captavenua ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hh_00-4.2e", 0x000000, 0x20000, CRC(0e1acc05) SHA1(7eb6206efad233f9f4ee51102f9fe6b58f0719ea) )
- ROM_LOAD32_BYTE( "hh_01-4.2h", 0x000001, 0x20000, CRC(4ff0351d) SHA1(15fc2662ff0d32986c4d4d074b985ad853da34e1) )
- ROM_LOAD32_BYTE( "hh_02-4.2k", 0x000002, 0x20000, CRC(e84c0665) SHA1(d846f04315af49abeca00314b3d23e1d8c638dcd) )
- ROM_LOAD32_BYTE( "hh_03-4.2m", 0x000003, 0x20000, CRC(bc050740) SHA1(bee425e76734251444c9cfa9287e1eb9383625bc) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
-ROM_END
-
-ROM_START( captavenj ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "hj_00-2.1e", 0x000000, 0x20000, CRC(10b1faaf) SHA1(9d76885200a846b4751c8d44ff591e2aff7c4148) )
- ROM_LOAD32_BYTE( "hj_01-2.1h", 0x000001, 0x20000, CRC(62c59f27) SHA1(20bbb7f3ff63a8c795686c1d56d51e90305daa77) )
- ROM_LOAD32_BYTE( "hj_02-2.1k", 0x000002, 0x20000, CRC(ce946cad) SHA1(9f1e92f5149e8a8d0236d5a7ba854ee100fd8488) )
- ROM_LOAD32_BYTE( "hj_03-2.1m", 0x000003, 0x20000, CRC(140cf9ce) SHA1(e2260ca4cea2fd7b64b8a78fd5444a7628bdafbb) )
- ROM_LOAD32_BYTE( "man-12.3e", 0x080000, 0x20000, CRC(d6261e98) SHA1(f3707be37ca926d9a341b9253a6bb2f3de0e25f6) )
- ROM_LOAD32_BYTE( "man-13.3h", 0x080001, 0x20000, CRC(40f0764d) SHA1(a6715c4a2accacf96f41c885579f314367c70dde) )
- ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
- ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
-
- ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x140000, 0x40000 )
- ROM_CONTINUE( 0x280000, 0x40000 )
- ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x180000, 0x40000 )
- ROM_CONTINUE( 0x2c0000, 0x40000 )
- ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x1c0000, 0x40000 )
- ROM_CONTINUE( 0x300000, 0x40000 )
- ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x200000, 0x40000 )
- ROM_CONTINUE( 0x340000, 0x40000 )
- ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
- ROM_CONTINUE( 0x240000, 0x40000 )
- ROM_CONTINUE( 0x380000, 0x40000 )
- ROM_CONTINUE( 0x4c0000, 0x40000 )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
- ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
- ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
- ROM_LOAD( "man-09.21c", 0x100000, 0x100000, CRC(1921245d) SHA1(88d3b69a38c18c83d5658d057b95974f1bd371e6) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "man-10.14k", 0x000000, 0x80000, CRC(0132c578) SHA1(70952f39508360bab51e1151531536f0ea6bbe06) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "man-11.16k", 0x000000, 0x80000, CRC(0dc60a4c) SHA1(4d0daa6a0272852a37f341a0cdc48baee0ad9dd8) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
- ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
- ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
-ROM_END
-
-ROM_START( dragngun )
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "kb02.a9", 0x000000, 0x40000, CRC(4fb9cfea) SHA1(e20fbae32682fc5fdc82070d2d6c73b5b7ac13f8) )
- ROM_LOAD32_BYTE( "kb06.c9", 0x000001, 0x40000, CRC(2395efec) SHA1(3c08299a6cdeebf9d3d5d367ab435eec76986194) )
- ROM_LOAD32_BYTE( "kb00.a5", 0x000002, 0x40000, CRC(1539ff35) SHA1(6c82fe01f5ebf5cdd3a914cc823499fa6a26f9a9) )
- ROM_LOAD32_BYTE( "kb04.c5", 0x000003, 0x40000, CRC(5b5c1ec2) SHA1(3c5c02b7e432cf1861e0c8db23b302dc47774a42) )
- ROM_LOAD32_BYTE( "kb03.a10", 0x100000, 0x40000, CRC(6c6a4f42) SHA1(ae96fe81f9ba587eb3194dbffa0233413d63c4c6) )
- ROM_LOAD32_BYTE( "kb07.c10", 0x100001, 0x40000, CRC(2637e8a1) SHA1(7bcd1b1f3a4e6aaa0a3b78ca77dc666948c87547) )
- ROM_LOAD32_BYTE( "kb01.a7", 0x100002, 0x40000, CRC(d780ba8d) SHA1(0e315c718c038962b6020945b48bcc632de6f5e1) )
- ROM_LOAD32_BYTE( "kb05.c7", 0x100003, 0x40000, CRC(fbad737b) SHA1(04e16abe8c4cec4f172bea29516535511db9db90) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "kb10.n25", 0x00000, 0x10000, CRC(ec56f560) SHA1(feb9491683ba7f1000edebb568d6b3471fcc87fb) )
-
- ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "kb08.a15", 0x00000, 0x10000, CRC(8fe4e5f5) SHA1(922b94f8ce0c35e965259c11e95891ef4be913d4) ) /* Encrypted tiles */
- ROM_LOAD16_BYTE( "kb09.a17", 0x00001, 0x10000, CRC(e9dcac3f) SHA1(0621e601ffae73bbf69623042c9c8ab0526c3de6) )
-
- ROM_REGION( 0x120000, "gfx2", 0 )
- ROM_LOAD( "mar-00.bin", 0x000000, 0x80000, CRC(d0491a37) SHA1(cc0ae1e9e5f42ba30159fb79bccd2e237cd037d0) ) /* Encrypted tiles */
- ROM_LOAD( "mar-01.bin", 0x090000, 0x80000, CRC(d5970365) SHA1(729baf1efbef15c9f3e1d700717f5ba4f10d3014) )
-
- ROM_REGION( 0x400000, "gfx3", 0 )
- ROM_LOAD( "mar-02.bin", 0x000000, 0x40000, CRC(c6cd4baf) SHA1(350286829a330b64f463d0a9cbbfdb71eecf5188) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x100000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-03.bin", 0x040000, 0x40000, CRC(793006d7) SHA1(7d8aba2fe75917f580a3a931a7defe5939a0874e) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-04.bin", 0x080000, 0x40000, CRC(56631a2b) SHA1(0fa3d6215df8ce923c153b96f39161ba88b2dd53) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x180000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-05.bin", 0x0c0000, 0x40000, CRC(ac16e7ae) SHA1(dca32e0a677a99f47a7b8e8f105483c57382f218) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 3/4 */
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD32_BYTE( "mar-09.bin", 0x000003, 0x100000, CRC(18fec9e1) SHA1(1290a9c13b4fd7d2197b39ec616206796e3a17a8) )
- ROM_LOAD32_BYTE( "mar-10.bin", 0x400003, 0x100000, CRC(73126fbc) SHA1(9b9c31335e4db726863b219072c83810008f88f9) )
- ROM_LOAD32_BYTE( "mar-11.bin", 0x000002, 0x100000, CRC(1fc638a4) SHA1(003dcfbb65a8f32a1a030502a11432287cf8b4e0) )
- ROM_LOAD32_BYTE( "mar-12.bin", 0x400002, 0x100000, CRC(4c412512) SHA1(ccd5014bc9f9648cf5fa56bb8d54fc72a7099ca3) )
- ROM_LOAD32_BYTE( "mar-13.bin", 0x000001, 0x100000, CRC(d675821c) SHA1(ff195422d0bef62d1f9c7784bba1e6b7ab5cd211) )
- ROM_LOAD32_BYTE( "mar-14.bin", 0x400001, 0x100000, CRC(22d38c71) SHA1(62273665975f3e6000fa4b01755aeb70e5dd002d) )
- ROM_LOAD32_BYTE( "mar-15.bin", 0x000000, 0x100000, CRC(ec976b20) SHA1(c120b3c56d5e02162e41dc7f726c260d0f8d2f1a) )
- ROM_LOAD32_BYTE( "mar-16.bin", 0x400000, 0x100000, CRC(8b329bc8) SHA1(6e34eb6e2628a01a699d20a5155afb2febc31255) )
-
- // this is standard DVI data, see http://www.fileformat.info/format/dvi/egff.htm
- // there are DVI headers at 0x000000, 0x580000, 0x800000, 0xB10000, 0xB80000
- ROM_REGION32_LE( 0x1000000, "dvi", 0 ) /* Video data - unused for now */
- ROM_LOAD32_BYTE( "mar-17.bin", 0x000003, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) ) // 56 V / 41 A
- ROM_LOAD32_BYTE( "mar-20.bin", 0x000002, 0x100000, CRC(fa0462f0) SHA1(1a52617ad4d7abebc0f273dd979f4cf2d6a0306b) ) // 44 D / 56 V
- ROM_LOAD32_BYTE( "mar-28.bin", 0x000001, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) ) // 56 V / 53 S
- ROM_LOAD32_BYTE( "mar-25.bin", 0x000000, 0x100000, CRC(d65d895c) SHA1(4508dfff95a7aff5109dc74622cbb4503b0b5840) ) // 49 I / 53 S
- ROM_LOAD32_BYTE( "mar-18.bin", 0x400003, 0x100000, CRC(ded66da9) SHA1(5134cb47043cc190a35ebdbf1912166669f9c055) )
- ROM_LOAD32_BYTE( "mar-21.bin", 0x400002, 0x100000, CRC(2d0a28ae) SHA1(d87f6f71bb76880e4d4f1eab8e0451b5c3df69a5) )
- ROM_LOAD32_BYTE( "mar-27.bin", 0x400001, 0x100000, CRC(3fcbd10f) SHA1(70fc7b88bbe35bbae1de14364b03d0a06d541de5) )
- ROM_LOAD32_BYTE( "mar-24.bin", 0x400000, 0x100000, CRC(5cec45c8) SHA1(f99a26afaca9d9320477e469b09e3873bc8c156f) )
- ROM_LOAD32_BYTE( "mar-19.bin", 0x800003, 0x100000, CRC(bdd1ed20) SHA1(2435b23210b8fee4d39c30d4d3c6ea40afaa3b93) ) // 56 V / 41 A
- ROM_LOAD32_BYTE( "mar-22.bin", 0x800002, 0x100000, CRC(c85f3559) SHA1(a5d5cf9b18c9ef6a92d7643ca1ec9052de0d4a01) ) // 44 D / 56 V
- ROM_LOAD32_BYTE( "mar-26.bin", 0x800001, 0x100000, CRC(246a06c5) SHA1(447252be976a5059925f4ad98df8564b70198f62) ) // 56 V / 53 S
- ROM_LOAD32_BYTE( "mar-23.bin", 0x800000, 0x100000, CRC(ba907d6a) SHA1(1fd99b66e6297c8d927c1cf723a613b4ee2e2f90) ) // 49 I / 53 S
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mar-06.n17", 0x000000, 0x80000, CRC(3e006c6e) SHA1(55786e0fde2bf6ba9802f3f4fa8d4c21625b976a) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mar-08.n21", 0x000000, 0x80000, CRC(b9281dfd) SHA1(449faf5d36f3b970d0a9b483e2152a5f68604a77) )
-
- // TODO : Japan version uses first bank of oki3, US version uses second half. it has bankswitched dynamic? or address shuffle?
- ROM_REGION(0x80000, "oki3", 0 )
- // Remove this hack if oki3 bankswitching is verified
- ROM_LOAD( "mar-07.n19", 0x40000, 0x40000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) )
- ROM_CONTINUE( 0x00000, 0x40000 )
- //ROM_LOAD( "mar-07.n19", 0x000000, 0x80000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) )
-ROM_END
-
-ROM_START( dragngunj )
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "ka-02.a9", 0x000000, 0x40000, CRC(402a03f9) SHA1(cdd5da9e35191bd716eb6245360702adb6078a94) )
- ROM_LOAD32_BYTE( "ka-06.c9", 0x000001, 0x40000, CRC(26822853) SHA1(8a9e61c9ac9a5aa4b21f063f700acfebac8d408b) )
- ROM_LOAD32_BYTE( "ka-00.a5", 0x000002, 0x40000, CRC(cc9e321b) SHA1(591d5f13a558960dbf286ca4541be0e42b234f2f) )
- ROM_LOAD32_BYTE( "ka-04.c5", 0x000003, 0x40000, CRC(5fd9d935) SHA1(8fd87b05325fae84860bbf1e169a3946f3197307) )
- ROM_LOAD32_BYTE( "ka-03.a10", 0x100000, 0x40000, CRC(e213c859) SHA1(aa0610427bbaa22da7f44289fdf9baf37b636710) )
- ROM_LOAD32_BYTE( "ka-07.c10", 0x100001, 0x40000, CRC(f34c54eb) SHA1(6b67cdb1d2dcc272de96292254914a212ff351cd) )
- ROM_LOAD32_BYTE( "ka-01.a7", 0x100002, 0x40000, CRC(1b52364c) SHA1(151365adc26bc7d71a4d2fc73bca598d3aa09f81) )
- ROM_LOAD32_BYTE( "ka-05.c7", 0x100003, 0x40000, CRC(4c975f52) SHA1(3c6b287c77a049e3f8822ed9d545733e8ea3357b) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "ka-10.n25", 0x00000, 0x10000, CRC(ec56f560) SHA1(feb9491683ba7f1000edebb568d6b3471fcc87fb) )
-
- ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "ka-08.a15", 0x00000, 0x10000, CRC(8fe4e5f5) SHA1(922b94f8ce0c35e965259c11e95891ef4be913d4) ) /* Encrypted tiles */
- ROM_LOAD16_BYTE( "ka-09.a17", 0x00001, 0x10000, CRC(e9dcac3f) SHA1(0621e601ffae73bbf69623042c9c8ab0526c3de6) )
-
- ROM_REGION( 0x120000, "gfx2", 0 )
- ROM_LOAD( "mar-00.bin", 0x000000, 0x80000, CRC(d0491a37) SHA1(cc0ae1e9e5f42ba30159fb79bccd2e237cd037d0) ) /* Encrypted tiles */
- ROM_LOAD( "mar-01.bin", 0x090000, 0x80000, CRC(d5970365) SHA1(729baf1efbef15c9f3e1d700717f5ba4f10d3014) )
-
- ROM_REGION( 0x400000, "gfx3", 0 )
- ROM_LOAD( "mar-02.bin", 0x000000, 0x40000, CRC(c6cd4baf) SHA1(350286829a330b64f463d0a9cbbfdb71eecf5188) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x100000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-03.bin", 0x040000, 0x40000, CRC(793006d7) SHA1(7d8aba2fe75917f580a3a931a7defe5939a0874e) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-04.bin", 0x080000, 0x40000, CRC(56631a2b) SHA1(0fa3d6215df8ce923c153b96f39161ba88b2dd53) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x180000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-05.bin", 0x0c0000, 0x40000, CRC(ac16e7ae) SHA1(dca32e0a677a99f47a7b8e8f105483c57382f218) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 3/4 */
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD32_BYTE( "mar-09.bin", 0x000003, 0x100000, CRC(18fec9e1) SHA1(1290a9c13b4fd7d2197b39ec616206796e3a17a8) )
- ROM_LOAD32_BYTE( "mar-10.bin", 0x400003, 0x100000, CRC(73126fbc) SHA1(9b9c31335e4db726863b219072c83810008f88f9) )
- ROM_LOAD32_BYTE( "mar-11.bin", 0x000002, 0x100000, CRC(1fc638a4) SHA1(003dcfbb65a8f32a1a030502a11432287cf8b4e0) )
- ROM_LOAD32_BYTE( "mar-12.bin", 0x400002, 0x100000, CRC(4c412512) SHA1(ccd5014bc9f9648cf5fa56bb8d54fc72a7099ca3) )
- ROM_LOAD32_BYTE( "mar-13.bin", 0x000001, 0x100000, CRC(d675821c) SHA1(ff195422d0bef62d1f9c7784bba1e6b7ab5cd211) )
- ROM_LOAD32_BYTE( "mar-14.bin", 0x400001, 0x100000, CRC(22d38c71) SHA1(62273665975f3e6000fa4b01755aeb70e5dd002d) )
- ROM_LOAD32_BYTE( "mar-15.bin", 0x000000, 0x100000, CRC(ec976b20) SHA1(c120b3c56d5e02162e41dc7f726c260d0f8d2f1a) )
- ROM_LOAD32_BYTE( "mar-16.bin", 0x400000, 0x100000, CRC(8b329bc8) SHA1(6e34eb6e2628a01a699d20a5155afb2febc31255) )
-
- ROM_REGION32_LE( 0x1000000, "dvi", 0 ) /* Video data - unused for now */
- ROM_LOAD32_BYTE( "mar-17.bin", 0x000003, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) ) // 56 V / 41 A
- ROM_LOAD32_BYTE( "mar-20.bin", 0x000002, 0x100000, CRC(fa0462f0) SHA1(1a52617ad4d7abebc0f273dd979f4cf2d6a0306b) ) // 44 D / 56 V
- ROM_LOAD32_BYTE( "mar-28.bin", 0x000001, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) ) // 56 V / 53 S
- ROM_LOAD32_BYTE( "mar-25.bin", 0x000000, 0x100000, CRC(d65d895c) SHA1(4508dfff95a7aff5109dc74622cbb4503b0b5840) ) // 49 I / 53 S
- ROM_LOAD32_BYTE( "mar-18.bin", 0x400003, 0x100000, CRC(ded66da9) SHA1(5134cb47043cc190a35ebdbf1912166669f9c055) )
- ROM_LOAD32_BYTE( "mar-21.bin", 0x400002, 0x100000, CRC(2d0a28ae) SHA1(d87f6f71bb76880e4d4f1eab8e0451b5c3df69a5) )
- ROM_LOAD32_BYTE( "mar-27.bin", 0x400001, 0x100000, CRC(3fcbd10f) SHA1(70fc7b88bbe35bbae1de14364b03d0a06d541de5) )
- ROM_LOAD32_BYTE( "mar-24.bin", 0x400000, 0x100000, CRC(5cec45c8) SHA1(f99a26afaca9d9320477e469b09e3873bc8c156f) )
- ROM_LOAD32_BYTE( "mar-19.bin", 0x800003, 0x100000, CRC(bdd1ed20) SHA1(2435b23210b8fee4d39c30d4d3c6ea40afaa3b93) ) // 56 V / 41 A
- ROM_LOAD32_BYTE( "mar-22.bin", 0x800002, 0x100000, CRC(c85f3559) SHA1(a5d5cf9b18c9ef6a92d7643ca1ec9052de0d4a01) ) // 44 D / 56 V
- ROM_LOAD32_BYTE( "mar-26.bin", 0x800001, 0x100000, CRC(246a06c5) SHA1(447252be976a5059925f4ad98df8564b70198f62) ) // 56 V / 53 S
- ROM_LOAD32_BYTE( "mar-23.bin", 0x800000, 0x100000, CRC(ba907d6a) SHA1(1fd99b66e6297c8d927c1cf723a613b4ee2e2f90) ) // 49 I / 53 S
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mar-06.n17", 0x000000, 0x80000, CRC(3e006c6e) SHA1(55786e0fde2bf6ba9802f3f4fa8d4c21625b976a) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mar-08.n21", 0x000000, 0x80000, CRC(b9281dfd) SHA1(449faf5d36f3b970d0a9b483e2152a5f68604a77) )
-
- ROM_REGION(0x80000, "oki3", 0 )
- ROM_LOAD( "mar-07.n19", 0x000000, 0x80000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) )
-ROM_END
-
-ROM_START( fghthist ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "lc00-1.1f", 0x000000, 0x80000, CRC(61a76a16) SHA1(b69cd3e11cf133f1b14a017391035855a5038d46) ) /* Version 43-09, Overseas */
- ROM_LOAD32_WORD( "lc01-1.2f", 0x000002, 0x80000, CRC(6f2740d1) SHA1(4fa1fe4714236028ef70d42e15a58cfd25e45363) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "lc02-1.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthista ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kx00-3.1f", 0x000000, 0x80000, CRC(fe5eaba1) SHA1(c8a3784af487a1bbd2150abf4b1c8f3ad33da8a4) ) /* Version 43-07, Overseas */
- ROM_LOAD32_WORD( "kx01-3.2f", 0x000002, 0x80000, CRC(3fb8d738) SHA1(2fca7a3ea483f01c97fb28a0adfa6d7980d8236c) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "kx02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
-ROM_END
-
-ROM_START( fghthistb ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kx00-2.1f", 0x000000, 0x80000, CRC(a7c36bbd) SHA1(590937818343da53a6bccbd3ea1d7102abd4f27e) ) /* Version 43-05, Overseas */
- ROM_LOAD32_WORD( "kx01-2.2f", 0x000002, 0x80000, CRC(bdc60bb1) SHA1(e621c5cf357f49aa62deef4da1e2227021f552ce) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "kx02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistu ) /* DE-0396-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "lj00-3.1f", 0x000000, 0x80000, CRC(17543d60) SHA1(ff206e8552587b41d075b3c99f9ad733f1c2b5e0) ) /* Version 42-09, US */
- ROM_LOAD32_WORD( "lj01-3.2f", 0x000002, 0x80000, CRC(e255d48f) SHA1(30444832cfed7eeb6082010eb219362adbafb826) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "lj02-.17k", 0x00000, 0x10000, CRC(146a1063) SHA1(d16734c2443bf38add54040b9dd2628ba523638d) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistua ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "le00-1.1f", 0x000000, 0x80000, CRC(fccacafb) SHA1(b7236a90a09dbd5870a16aa4e4eac5ab5c098418) ) /* Version 42-06, US */
- ROM_LOAD32_WORD( "le01-1.2f", 0x000002, 0x80000, CRC(06a3c326) SHA1(3d8842fb69def93fc544e89fd0e56ada416157dc) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "le02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistub ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "le00.1f", 0x000000, 0x80000, CRC(a5c410eb) SHA1(e2b0cb2351782e1155ecc4029010beb7326fd874) ) /* Version 42-05, US */
- ROM_LOAD32_WORD( "le01.2f", 0x000002, 0x80000, CRC(7e148aa2) SHA1(b21e16604c4d29611f91d629deb9f041eaf41e9b) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "le02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistuc ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kz00-1.1f", 0x000000, 0x80000, CRC(3a3dd15c) SHA1(689b51adf73402b12191a75061b8e709468c91bc) ) /* Version 42-03, US */
- ROM_LOAD32_WORD( "kz01-1.2f", 0x000002, 0x80000, CRC(86796cd6) SHA1(c397c07d7a1d03ba96ccb2fe7a0ad25b8331e945) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "kz02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistj ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "lb00.1f", 0x000000, 0x80000, CRC(321099ad) SHA1(c5f8cedc1d349fb24b0d7b942dcda02190b1b536) ) /* Version 41-07, Japan */
- ROM_LOAD32_WORD( "lb01.2f", 0x000002, 0x80000, CRC(22f45755) SHA1(02ba35b557085e379be98705ca5395b677a264fd) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "lb02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistja ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kw00-3.1f", 0x000000, 0x80000, CRC(ade9581a) SHA1(c1302e921f119ff9baeb52f9c338df652e64a9ee) ) /* Version 41-05, Japan */
- ROM_LOAD32_WORD( "kw01-3.2f", 0x000002, 0x80000, CRC(63580acf) SHA1(03372b168fe461542dd1cf64b4021d948d07e15c) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "kw02-.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( fghthistjb ) /* DE-0380-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kw00-2.1f", 0x000000, 0x80000, CRC(f4749806) SHA1(acdbd19b350d5d8670db879c446633a991e28c05) ) /* Version 41-04, Japan */
- ROM_LOAD32_WORD( "kw01-2.2f", 0x000002, 0x80000, CRC(7e0ee66a) SHA1(d62321eb9942bfe8629010fabeb42356cf7dd4d6) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "kw02-.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
-
- ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
-
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
- ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
- ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
- ROM_LOAD( "mbf05-16.19d", 0x600000, 0x200000, CRC(137be66d) SHA1(3fde345183ce04a7a65b4cedfd050d771df7d026) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbf06.15k", 0x000000, 0x80000, CRC(fb513903) SHA1(7727a49ff7977f159ed36d097020edef3b5b36ba) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
-
- ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
-
- ROM_REGION( 0x0400, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
-ROM_END
-
-ROM_START( lockload ) /* Board No. DE-0420-1 + Bottom board DE-0421-0 slightly different hardware, a unique PCB and not a Dragongun conversion */
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "nl-00-1.a6", 0x000002, 0x80000, CRC(7a39bf8d) SHA1(8b1a6407bab74b3960a243a6c04c0005a82126f1) )
- ROM_LOAD32_BYTE( "nl-01-1.a8", 0x000000, 0x80000, CRC(d23afcb7) SHA1(de7b5bc936a87cc6511d588b0bf082bbf745581c) )
- ROM_LOAD32_BYTE( "nl-02-1.d6", 0x000003, 0x80000, CRC(730e0168) SHA1(fdfa0d335c03c2c528326f90948e642f9ea43150) )
- ROM_LOAD32_BYTE( "nl-03-1.d8", 0x000001, 0x80000, CRC(51a53ece) SHA1(ee2c8858844a47fa1e83c30c06d78cf49219dc33) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "nm-06-.p22", 0x00000, 0x10000, CRC(31d1c245) SHA1(326e35e7ebd8ea761d90e856c50d86512327f2a5) )
-
- ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "nl-04-.a15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) /* Encrypted tiles */
- ROM_LOAD16_BYTE( "nl-05-.a17", 0x00001, 0x10000, CRC(448fec1e) SHA1(9a107959621cbb3688fd3ad9a8320aa5584f7d13) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) /* Encrypted tiles */
- ROM_LOAD( "mbm-01.d17", 0x80000, 0x80000, CRC(6d4b8fa0) SHA1(56e2b9adb4d010ba2592eccba654a24141441141) )
-
- ROM_REGION( 0x800000, "gfx3", 0 )
- ROM_LOAD( "mbm-02.b21", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x400000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x600000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x040000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x440000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x640000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-03.b22", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x480000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x680000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x0c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x4c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x6c0000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-04.e21", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x500000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x700000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x540000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x740000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-05.e22", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x580000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x780000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x5c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x7c0000, 0x40000 ) /* 3/4 */
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD32_BYTE( "mbm-08.a14", 0x000003, 0x100000, CRC(5358a43b) SHA1(778637fc63a0957338c7da3adb2555ffada177c4) )
- ROM_LOAD32_BYTE( "mbm-09.a16", 0x400003, 0x100000, CRC(2cce162f) SHA1(db5795465a36971861e8fb7436db0805717ad101) )
- ROM_LOAD32_BYTE( "mbm-10.a19", 0x000002, 0x100000, CRC(232e1c91) SHA1(868d4eb4873ecc210cbb3a266cae0b6ad8f11add) )
- ROM_LOAD32_BYTE( "mbm-11.a20", 0x400002, 0x100000, CRC(8a2a2a9f) SHA1(d11e0ea2785e35123bc56a8f18ce22f58432b599) )
- ROM_LOAD32_BYTE( "mbm-12.a21", 0x000001, 0x100000, CRC(7d221d66) SHA1(25c9c20485e443969c0bf4d74c4211c3881dabcd) )
- ROM_LOAD32_BYTE( "mbm-13.a22", 0x400001, 0x100000, CRC(678b9052) SHA1(ae8fc921813e53e9dbc3960e772c1c4de94c22a7) )
- ROM_LOAD32_BYTE( "mbm-14.a23", 0x000000, 0x100000, CRC(5aaaf929) SHA1(5ee30db9b83db664d77e6b5e0988ce3366460df6) )
- ROM_LOAD32_BYTE( "mbm-15.a25", 0x400000, 0x100000, CRC(789ce7b1) SHA1(3fb390ce0620ce7a63f7f46eac1ff0eb8ed76d26) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbm-07.n19", 0x00000, 0x80000, CRC(414f3793) SHA1(ed5f63e57390d503193fd1e9f7294ae1da6d3539) )
-
- ROM_REGION(0x100000, "oki2", 0 )
- ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
-ROM_END
-
-ROM_START( gunhard ) /* Board No. DE-0420-1 + Bottom board DE-0421-0 slightly different hardware, a unique PCB and not a Dragongun conversion */
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "nf-00-1.a6", 0x000002, 0x80000, CRC(2c8045d4) SHA1(4c900951d56bd22e30905969b8eb687d9b4363bd) )
- ROM_LOAD32_BYTE( "nf-01-1.a8", 0x000000, 0x80000, CRC(6f160117) SHA1(05738f61890e9d6d2b25330958c0e7369f2ff4a6) )
- ROM_LOAD32_BYTE( "nf-02-1.d6", 0x000003, 0x80000, CRC(bd353948) SHA1(ddcc12b3d1c8919eb7eb961d61f6286e6b37a58e) )
- ROM_LOAD32_BYTE( "nf-03-1.d8", 0x000001, 0x80000, CRC(118a9a72) SHA1(e0b2fd21f477e531d6a04256767874f13e031a48) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "nj-06-1.p22", 0x00000, 0x10000, CRC(31d1c245) SHA1(326e35e7ebd8ea761d90e856c50d86512327f2a5) )
-
- ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "nf-04-1.a15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) /* Encrypted tiles */
- ROM_LOAD16_BYTE( "nf-05-1.a17", 0x00001, 0x10000, CRC(448fec1e) SHA1(9a107959621cbb3688fd3ad9a8320aa5584f7d13) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) /* Encrypted tiles */
- ROM_LOAD( "mbm-01.d17", 0x80000, 0x80000, CRC(6d4b8fa0) SHA1(56e2b9adb4d010ba2592eccba654a24141441141) )
-
- ROM_REGION( 0x800000, "gfx3", 0 )
- ROM_LOAD( "mbm-02.b21", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x400000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x600000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x040000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x440000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x640000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-03.b22", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x480000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x680000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x0c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x4c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x6c0000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-04.e21", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x500000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x700000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x540000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x740000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-05.e22", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x580000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x780000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x5c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x7c0000, 0x40000 ) /* 3/4 */
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD32_BYTE( "mbm-08.a14", 0x000003, 0x100000, CRC(5358a43b) SHA1(778637fc63a0957338c7da3adb2555ffada177c4) )
- ROM_LOAD32_BYTE( "mbm-09.a16", 0x400003, 0x100000, CRC(2cce162f) SHA1(db5795465a36971861e8fb7436db0805717ad101) )
- ROM_LOAD32_BYTE( "mbm-10.a19", 0x000002, 0x100000, CRC(232e1c91) SHA1(868d4eb4873ecc210cbb3a266cae0b6ad8f11add) )
- ROM_LOAD32_BYTE( "mbm-11.a20", 0x400002, 0x100000, CRC(8a2a2a9f) SHA1(d11e0ea2785e35123bc56a8f18ce22f58432b599) )
- ROM_LOAD32_BYTE( "mbm-12.a21", 0x000001, 0x100000, CRC(7d221d66) SHA1(25c9c20485e443969c0bf4d74c4211c3881dabcd) )
- ROM_LOAD32_BYTE( "mbm-13.a22", 0x400001, 0x100000, CRC(678b9052) SHA1(ae8fc921813e53e9dbc3960e772c1c4de94c22a7) )
- ROM_LOAD32_BYTE( "mbm-14.a23", 0x000000, 0x100000, CRC(5aaaf929) SHA1(5ee30db9b83db664d77e6b5e0988ce3366460df6) )
- ROM_LOAD32_BYTE( "mbm-15.a25", 0x400000, 0x100000, CRC(789ce7b1) SHA1(3fb390ce0620ce7a63f7f46eac1ff0eb8ed76d26) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbm-07.n19", 0x00000, 0x80000, CRC(414f3793) SHA1(ed5f63e57390d503193fd1e9f7294ae1da6d3539) )
-
- ROM_REGION(0x100000, "oki2", 0 )
- ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
-ROM_END
-
-ROM_START( lockloadu ) /* Board No. DE-0359-2 + Bottom board DE-0360-4, a Dragongun conversion */
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_BYTE( "nh-00-0.b5", 0x000002, 0x80000, CRC(b8a57164) SHA1(b700a08db2ad1aa1bf0a32635ffbd5d3f08713ee) )
- ROM_LOAD32_BYTE( "nh-01-0.b8", 0x000000, 0x80000, CRC(e371ac50) SHA1(c448b54bc8962844b490994607b21b0c806d7714) )
- ROM_LOAD32_BYTE( "nh-02-0.d5", 0x000003, 0x80000, CRC(3e361e82) SHA1(b5445d44f2a775c141fdc561d5489234c39445a4) )
- ROM_LOAD32_BYTE( "nh-03-0.d8", 0x000001, 0x80000, CRC(d08ee9c3) SHA1(9a85710a11940df047e83e8d5977a23d6c67d665) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "nh-06-0.n25", 0x00000, 0x10000, CRC(7a1af51d) SHA1(54e6b16d3f5b787d3c6eb7203d8854e6e0fb9803) )
-
- ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "nh-04-0.b15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) /* Encrypted tiles */
- ROM_LOAD16_BYTE( "nh-05-0.b17", 0x00001, 0x10000, CRC(448fec1e) SHA1(9a107959621cbb3688fd3ad9a8320aa5584f7d13) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) /* Encrypted tiles */
- ROM_LOAD( "mbm-01.d17", 0x80000, 0x80000, CRC(6d4b8fa0) SHA1(56e2b9adb4d010ba2592eccba654a24141441141) )
-
- ROM_REGION( 0x800000, "gfx3", 0 )
- ROM_LOAD( "mbm-02.b23", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x400000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x600000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x040000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x440000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x640000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-03.b26", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x480000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x680000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x0c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x4c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x6c0000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-04.e23", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x500000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x700000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x540000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x740000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-05.e26", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x580000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x780000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x5c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x7c0000, 0x40000 ) /* 3/4 */
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD32_BYTE( "mbm-08.a14", 0x000003, 0x100000, CRC(5358a43b) SHA1(778637fc63a0957338c7da3adb2555ffada177c4) )
- ROM_LOAD32_BYTE( "mbm-09.a16", 0x400003, 0x100000, CRC(2cce162f) SHA1(db5795465a36971861e8fb7436db0805717ad101) )
- ROM_LOAD32_BYTE( "mbm-10.a19", 0x000002, 0x100000, CRC(232e1c91) SHA1(868d4eb4873ecc210cbb3a266cae0b6ad8f11add) )
- ROM_LOAD32_BYTE( "mbm-11.a20", 0x400002, 0x100000, CRC(8a2a2a9f) SHA1(d11e0ea2785e35123bc56a8f18ce22f58432b599) )
- ROM_LOAD32_BYTE( "mbm-12.a21", 0x000001, 0x100000, CRC(7d221d66) SHA1(25c9c20485e443969c0bf4d74c4211c3881dabcd) )
- ROM_LOAD32_BYTE( "mbm-13.a22", 0x400001, 0x100000, CRC(678b9052) SHA1(ae8fc921813e53e9dbc3960e772c1c4de94c22a7) )
- ROM_LOAD32_BYTE( "mbm-14.a23", 0x000000, 0x100000, CRC(5aaaf929) SHA1(5ee30db9b83db664d77e6b5e0988ce3366460df6) )
- ROM_LOAD32_BYTE( "mbm-15.a25", 0x400000, 0x100000, CRC(789ce7b1) SHA1(3fb390ce0620ce7a63f7f46eac1ff0eb8ed76d26) )
-
- ROM_REGION32_LE( 0x1000000, "dvi", ROMREGION_ERASE00 ) /* Video data - same as Dragongun, probably leftover from a conversion */
-// ROM_LOAD( "mar-17.bin", 0x00000, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) )
-// ROM_LOAD( "mar-18.bin", 0x00000, 0x100000, CRC(ded66da9) SHA1(5134cb47043cc190a35ebdbf1912166669f9c055) )
-// ROM_LOAD( "mar-19.bin", 0x00000, 0x100000, CRC(bdd1ed20) SHA1(2435b23210b8fee4d39c30d4d3c6ea40afaa3b93) )
-// ROM_LOAD( "mar-20.bin", 0x00000, 0x100000, CRC(fa0462f0) SHA1(1a52617ad4d7abebc0f273dd979f4cf2d6a0306b) )
-// ROM_LOAD( "mar-21.bin", 0x00000, 0x100000, CRC(2d0a28ae) SHA1(d87f6f71bb76880e4d4f1eab8e0451b5c3df69a5) )
-// ROM_LOAD( "mar-22.bin", 0x00000, 0x100000, CRC(c85f3559) SHA1(a5d5cf9b18c9ef6a92d7643ca1ec9052de0d4a01) )
-// ROM_LOAD( "mar-23.bin", 0x00000, 0x100000, CRC(ba907d6a) SHA1(1fd99b66e6297c8d927c1cf723a613b4ee2e2f90) )
-// ROM_LOAD( "mar-24.bin", 0x00000, 0x100000, CRC(5cec45c8) SHA1(f99a26afaca9d9320477e469b09e3873bc8c156f) )
-// ROM_LOAD( "mar-25.bin", 0x00000, 0x100000, CRC(d65d895c) SHA1(4508dfff95a7aff5109dc74622cbb4503b0b5840) )
-// ROM_LOAD( "mar-26.bin", 0x00000, 0x100000, CRC(246a06c5) SHA1(447252be976a5059925f4ad98df8564b70198f62) )
-// ROM_LOAD( "mar-27.bin", 0x00000, 0x100000, CRC(3fcbd10f) SHA1(70fc7b88bbe35bbae1de14364b03d0a06d541de5) )
-// ROM_LOAD( "mar-28.bin", 0x00000, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) )
-
- // not sure why the IC positions are swapped compared to Dragon Gun
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbm-07.n21", 0x00000, 0x80000, CRC(414f3793) SHA1(ed5f63e57390d503193fd1e9f7294ae1da6d3539) )
-
- ROM_REGION(0x100000, "oki2", ROMREGION_ERASE00 )
- ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
-
- ROM_REGION(0x80000, "oki3", ROMREGION_ERASE00 )
- ROM_LOAD( "mar-07.n19", 0x00000, 0x80000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) ) // same as dragngun, unused
-ROM_END
-
-ROM_START( tattass )
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "pp44.cpu", 0x000000, 0x80000, CRC(c3ca5b49) SHA1(c6420b0c20df1ae166b279504880ade65b1d8048) )
- ROM_LOAD32_WORD( "pp45.cpu", 0x000002, 0x80000, CRC(d3f30de0) SHA1(5a0aa0f96d29299b3b337b4b51bc84e447eb74d0) )
-
- ROM_REGION(0x10000, "soundcpu", 0 ) /* Sound CPU */
- ROM_LOAD( "u7.snd", 0x00000, 0x10000, CRC(6947be8a) SHA1(4ac6c3c7f54501f23c434708cea6bf327bc8cf95) )
-
- ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "abak_b01.s02", 0x000000, 0x80000, CRC(bc805680) SHA1(ccdbca23fc843ef82a3524020999542f43b3c618) )
- ROM_LOAD16_BYTE( "abak_b01.s13", 0x000001, 0x80000, CRC(350effcd) SHA1(0452d95be9fc28bd00d846a2cc5828899d69601e) )
- ROM_LOAD16_BYTE( "abak_b23.s02", 0x100000, 0x80000, CRC(91abdc21) SHA1(ba08e59bc0417e863d35ea295cf58cfe8faf57b5) )
- ROM_LOAD16_BYTE( "abak_b23.s13", 0x100001, 0x80000, CRC(80eb50fe) SHA1(abfe1a5417ceff9d6d52372d11993bf9b1db9432) )
-
- ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD16_BYTE( "bbak_b01.s02", 0x000000, 0x80000, CRC(611be9a6) SHA1(86263c8beb562e0607a65aa30fbbe030a044cd75) )
- ROM_LOAD16_BYTE( "bbak_b01.s13", 0x000001, 0x80000, CRC(097e0604) SHA1(6ae241b37b6bb15fc66679cf66f500b8f8a19f44) )
- ROM_LOAD16_BYTE( "bbak_b23.s02", 0x100000, 0x80000, CRC(3836531a) SHA1(57bead820ac396ee0ed8fb2ac5c15929896d75bf) )
- ROM_LOAD16_BYTE( "bbak_b23.s13", 0x100001, 0x80000, CRC(1210485a) SHA1(9edc4c96f389e231066ef164a7b2851cd7ade038) )
-
- ROM_REGION( 0xa00000, "gfx3", 0 )
- ROM_LOAD40_BYTE( "ob1_c0.b0", 0x000004, 0x80000, CRC(053fecca) SHA1(319efc71042238d9012d2c3dddab9d11205decc6) )
- ROM_LOAD40_BYTE( "ob1_c1.b0", 0x000003, 0x80000, CRC(e183e6bc) SHA1(d9cce277861967f403a882879e1baefa84696bdc) )
- ROM_LOAD40_BYTE( "ob1_c2.b0", 0x000002, 0x80000, CRC(1314f828) SHA1(6a91543d4e70af30de287ba775c69ffb1cde719d) )
- ROM_LOAD40_BYTE( "ob1_c3.b0", 0x000001, 0x80000, CRC(c63866df) SHA1(a897835d8a33002f1bd54f27d1a6393c4e1864b9) )
- ROM_LOAD40_BYTE( "ob1_c4.b0", 0x000000, 0x80000, CRC(f71cdd1b) SHA1(6fbccdbe460c8ddfeed972ebe766a6f8a2d4c466) )
-
- ROM_LOAD40_BYTE( "ob1_c0.b1", 0x280004, 0x80000, CRC(385434b0) SHA1(ea764bd9844e13f5b10207022135dbe07bf0258a) )
- ROM_LOAD40_BYTE( "ob1_c1.b1", 0x280003, 0x80000, CRC(0a3ec489) SHA1(1a2e1252d6acda43019ded5a31ae60bef40e4bd9) )
- ROM_LOAD40_BYTE( "ob1_c2.b1", 0x280002, 0x80000, CRC(52f06081) SHA1(c630f45b110b9423dfb0bf92359fdb28b75c8cf1) )
- ROM_LOAD40_BYTE( "ob1_c3.b1", 0x280001, 0x80000, CRC(a8a5cfbe) SHA1(7afc8f7c7f3826a276e4840e4fc8b8bb645dd3bd) )
- ROM_LOAD40_BYTE( "ob1_c4.b1", 0x280000, 0x80000, CRC(09d0acd6) SHA1(1b162f5b76852e49ae6a24db2031d66ca59d87e9) )
-
- ROM_LOAD40_BYTE( "ob1_c0.b2", 0x500004, 0x80000, CRC(946e9f59) SHA1(46a0d35641b381fe553caa00451c30f1950b5dfd) )
- ROM_LOAD40_BYTE( "ob1_c1.b2", 0x500003, 0x80000, CRC(9f66ad54) SHA1(6e6ac6edee2f2dda46e7cd85db8d79c8335c73cd) )
- ROM_LOAD40_BYTE( "ob1_c2.b2", 0x500002, 0x80000, CRC(a8df60eb) SHA1(c971e66eec6accccaf2bdd87dde7adde79322da9) )
- ROM_LOAD40_BYTE( "ob1_c3.b2", 0x500001, 0x80000, CRC(a1a753be) SHA1(1666a32bb69db36dba029a835592d00a21ad8c5e) )
- ROM_LOAD40_BYTE( "ob1_c4.b2", 0x500000, 0x80000, CRC(b65b3c4b) SHA1(f636a682b506e3ce5ca07ba8fd3166158d1ab667) )
-
- ROM_LOAD40_BYTE( "ob1_c0.b3", 0x780004, 0x80000, CRC(cbbbc696) SHA1(6f2383655461ac35f3178e0f7c0146cff89c8295) )
- ROM_LOAD40_BYTE( "ob1_c1.b3", 0x780003, 0x80000, CRC(f7b1bdee) SHA1(1d505d8d4ede55246de0b5fbc6ca20f836699b60) )
- ROM_LOAD40_BYTE( "ob1_c2.b3", 0x780002, 0x80000, CRC(97815619) SHA1(b1b694310064971aa5438671d0f9992b7e4bf277) )
- ROM_LOAD40_BYTE( "ob1_c3.b3", 0x780001, 0x80000, CRC(fc3ccb7a) SHA1(4436fcbd830912589bd6c838eb63b7d41a2bb56e) )
- ROM_LOAD40_BYTE( "ob1_c4.b3", 0x780000, 0x80000, CRC(dfdfd0ff) SHA1(79dc686351d41d635359936efe97c7ade305dc84) )
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD16_BYTE( "ob2_c0.b0", 0x000000, 0x80000, CRC(9080ebe4) SHA1(1cfabe045532e16f203fe054449149451a280f56) )
- ROM_LOAD16_BYTE( "ob2_c1.b0", 0x000001, 0x80000, CRC(c0464970) SHA1(2bd87c9a7ed0742a8f1ee0c0de225e18a0351168) )
- ROM_LOAD16_BYTE( "ob2_c2.b0", 0x400000, 0x80000, CRC(35a2e621) SHA1(ff7687e30c379cbcee4f80c0c737cef891509881) )
- ROM_LOAD16_BYTE( "ob2_c3.b0", 0x400001, 0x80000, CRC(99c7cc2d) SHA1(c761e5b7f1e2afdafef36390f7141ebcb5e8f254) )
- ROM_LOAD16_BYTE( "ob2_c0.b1", 0x100000, 0x80000, CRC(2c2c15c9) SHA1(fdc48fab6dad97d16d4e77479fa77bb320eb3767) )
- ROM_LOAD16_BYTE( "ob2_c1.b1", 0x100001, 0x80000, CRC(d2c49a14) SHA1(49d92233d6d5f77fbbf9d31607c568efef6d94f0) )
- ROM_LOAD16_BYTE( "ob2_c2.b1", 0x500000, 0x80000, CRC(fbe957e8) SHA1(4f0bb0e434771316bcd8796878ffd3e5cafebb2b) )
- ROM_LOAD16_BYTE( "ob2_c3.b1", 0x500001, 0x80000, CRC(d7238829) SHA1(6fef08a518be69251852d3204413b4b8b6615be2) )
- ROM_LOAD16_BYTE( "ob2_c0.b2", 0x200000, 0x80000, CRC(aefa1b01) SHA1(bbd4b432b36d64f80065c56559ea9675acf3151e) )
- ROM_LOAD16_BYTE( "ob2_c1.b2", 0x200001, 0x80000, CRC(4af620ca) SHA1(f3753235b2e72f011c9b94f26a425b9a79577201) )
- ROM_LOAD16_BYTE( "ob2_c2.b2", 0x600000, 0x80000, CRC(8e58be07) SHA1(d8a8662e800da0892d70c628de0ca27ff983006c) )
- ROM_LOAD16_BYTE( "ob2_c3.b2", 0x600001, 0x80000, CRC(1b5188c5) SHA1(4792a36b889a2c2dfab9ec78d848d3d8bf10d20f) )
- ROM_LOAD16_BYTE( "ob2_c0.b3", 0x300000, 0x80000, CRC(a2a5dafd) SHA1(2baadcfe9ae8fa30ae4226caa10fe3d58f8af3e0) )
- ROM_LOAD16_BYTE( "ob2_c1.b3", 0x300001, 0x80000, CRC(6f0afd05) SHA1(6a4bf3466a77d14b3bc18377537f86108774badd) )
- ROM_LOAD16_BYTE( "ob2_c2.b3", 0x700000, 0x80000, CRC(90fe5f4f) SHA1(2149e9eae152556c632ebd4d0b2de49e40916a77) )
- ROM_LOAD16_BYTE( "ob2_c3.b3", 0x700001, 0x80000, CRC(e3517e6e) SHA1(68ac60570423d8f0d7cff3db1901c9c050d0be91) )
-
- ROM_REGION(0x1000000, "bsmt", 0 )
- ROM_LOAD( "u17.snd", 0x000000, 0x80000, CRC(b945c18d) SHA1(6556bbb4a7057df3680132f24687fa944006c784) )
- ROM_LOAD( "u21.snd", 0x080000, 0x80000, CRC(10b2110c) SHA1(83e5938ed22da2874022e1dc8df76c72d95c448d) )
- ROM_LOAD( "u36.snd", 0x100000, 0x80000, CRC(3b73abe2) SHA1(195096e2302e84123b23b4ccd982fb3ab9afe42c) )
- ROM_LOAD( "u37.snd", 0x180000, 0x80000, CRC(986066b5) SHA1(9dd1a14de81733617cf51293674a8e26fc5cec68) )
-
- ROM_REGION( 0x400, "eeprom", 0 )
- ROM_LOAD( "eeprom-tattass.bin", 0x0000, 0x0400, CRC(7140f40c) SHA1(4fb7897933046b6adaf00b4626d5fd23d0e8a666) )
-ROM_END
-
-ROM_START( tattassa )
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "rev232a.000", 0x000000, 0x80000, CRC(1a357112) SHA1(d7f78f90970fd56ca1452a4c138168568b06d868) )
- ROM_LOAD32_WORD( "rev232a.001", 0x000002, 0x80000, CRC(550245d4) SHA1(c1b2b31768da9becebd907a8622d05aa68ecaa29) )
-
- ROM_REGION(0x10000, "soundcpu", 0 ) /* Sound CPU */
- ROM_LOAD( "u7.snd", 0x00000, 0x10000, CRC(6947be8a) SHA1(4ac6c3c7f54501f23c434708cea6bf327bc8cf95) )
-
- ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "abak_b01.s02", 0x000000, 0x80000, CRC(bc805680) SHA1(ccdbca23fc843ef82a3524020999542f43b3c618) )
- ROM_LOAD16_BYTE( "abak_b01.s13", 0x000001, 0x80000, CRC(350effcd) SHA1(0452d95be9fc28bd00d846a2cc5828899d69601e) )
- ROM_LOAD16_BYTE( "abak_b23.s02", 0x100000, 0x80000, CRC(91abdc21) SHA1(ba08e59bc0417e863d35ea295cf58cfe8faf57b5) )
- ROM_LOAD16_BYTE( "abak_b23.s13", 0x100001, 0x80000, CRC(80eb50fe) SHA1(abfe1a5417ceff9d6d52372d11993bf9b1db9432) )
-
- ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD16_BYTE( "bbak_b01.s02", 0x000000, 0x80000, CRC(611be9a6) SHA1(86263c8beb562e0607a65aa30fbbe030a044cd75) )
- ROM_LOAD16_BYTE( "bbak_b01.s13", 0x000001, 0x80000, CRC(097e0604) SHA1(6ae241b37b6bb15fc66679cf66f500b8f8a19f44) )
- ROM_LOAD16_BYTE( "bbak_b23.s02", 0x100000, 0x80000, CRC(3836531a) SHA1(57bead820ac396ee0ed8fb2ac5c15929896d75bf) )
- ROM_LOAD16_BYTE( "bbak_b23.s13", 0x100001, 0x80000, CRC(1210485a) SHA1(9edc4c96f389e231066ef164a7b2851cd7ade038) )
-
- ROM_REGION( 0xa00000, "gfx3", 0 )
- ROM_LOAD40_BYTE( "ob1_c0.b0", 0x000004, 0x80000, CRC(053fecca) SHA1(319efc71042238d9012d2c3dddab9d11205decc6) )
- ROM_LOAD40_BYTE( "ob1_c1.b0", 0x000003, 0x80000, CRC(e183e6bc) SHA1(d9cce277861967f403a882879e1baefa84696bdc) )
- ROM_LOAD40_BYTE( "ob1_c2.b0", 0x000002, 0x80000, CRC(1314f828) SHA1(6a91543d4e70af30de287ba775c69ffb1cde719d) )
- ROM_LOAD40_BYTE( "ob1_c3.b0", 0x000001, 0x80000, CRC(c63866df) SHA1(a897835d8a33002f1bd54f27d1a6393c4e1864b9) )
- ROM_LOAD40_BYTE( "ob1_c4.b0", 0x000000, 0x80000, CRC(f71cdd1b) SHA1(6fbccdbe460c8ddfeed972ebe766a6f8a2d4c466) )
-
- ROM_LOAD40_BYTE( "ob1_c0.b1", 0x280004, 0x80000, CRC(385434b0) SHA1(ea764bd9844e13f5b10207022135dbe07bf0258a) )
- ROM_LOAD40_BYTE( "ob1_c1.b1", 0x280003, 0x80000, CRC(0a3ec489) SHA1(1a2e1252d6acda43019ded5a31ae60bef40e4bd9) )
- ROM_LOAD40_BYTE( "ob1_c2.b1", 0x280002, 0x80000, CRC(52f06081) SHA1(c630f45b110b9423dfb0bf92359fdb28b75c8cf1) )
- ROM_LOAD40_BYTE( "ob1_c3.b1", 0x280001, 0x80000, CRC(a8a5cfbe) SHA1(7afc8f7c7f3826a276e4840e4fc8b8bb645dd3bd) )
- ROM_LOAD40_BYTE( "ob1_c4.b1", 0x280000, 0x80000, CRC(09d0acd6) SHA1(1b162f5b76852e49ae6a24db2031d66ca59d87e9) )
-
- ROM_LOAD40_BYTE( "ob1_c0.b2", 0x500004, 0x80000, CRC(946e9f59) SHA1(46a0d35641b381fe553caa00451c30f1950b5dfd) )
- ROM_LOAD40_BYTE( "ob1_c1.b2", 0x500003, 0x80000, CRC(9f66ad54) SHA1(6e6ac6edee2f2dda46e7cd85db8d79c8335c73cd) )
- ROM_LOAD40_BYTE( "ob1_c2.b2", 0x500002, 0x80000, CRC(a8df60eb) SHA1(c971e66eec6accccaf2bdd87dde7adde79322da9) )
- ROM_LOAD40_BYTE( "ob1_c3.b2", 0x500001, 0x80000, CRC(a1a753be) SHA1(1666a32bb69db36dba029a835592d00a21ad8c5e) )
- ROM_LOAD40_BYTE( "ob1_c4.b2", 0x500000, 0x80000, CRC(b65b3c4b) SHA1(f636a682b506e3ce5ca07ba8fd3166158d1ab667) )
-
- ROM_LOAD40_BYTE( "ob1_c0.b3", 0x780004, 0x80000, CRC(cbbbc696) SHA1(6f2383655461ac35f3178e0f7c0146cff89c8295) )
- ROM_LOAD40_BYTE( "ob1_c1.b3", 0x780003, 0x80000, CRC(f7b1bdee) SHA1(1d505d8d4ede55246de0b5fbc6ca20f836699b60) )
- ROM_LOAD40_BYTE( "ob1_c2.b3", 0x780002, 0x80000, CRC(97815619) SHA1(b1b694310064971aa5438671d0f9992b7e4bf277) )
- ROM_LOAD40_BYTE( "ob1_c3.b3", 0x780001, 0x80000, CRC(fc3ccb7a) SHA1(4436fcbd830912589bd6c838eb63b7d41a2bb56e) )
- ROM_LOAD40_BYTE( "ob1_c4.b3", 0x780000, 0x80000, CRC(dfdfd0ff) SHA1(79dc686351d41d635359936efe97c7ade305dc84) )
-
- ROM_REGION( 0x800000, "gfx4", 0 )
- ROM_LOAD16_BYTE( "ob2_c0.b0", 0x000000, 0x80000, CRC(9080ebe4) SHA1(1cfabe045532e16f203fe054449149451a280f56) )
- ROM_LOAD16_BYTE( "ob2_c1.b0", 0x000001, 0x80000, CRC(c0464970) SHA1(2bd87c9a7ed0742a8f1ee0c0de225e18a0351168) )
- ROM_LOAD16_BYTE( "ob2_c2.b0", 0x400000, 0x80000, CRC(35a2e621) SHA1(ff7687e30c379cbcee4f80c0c737cef891509881) )
- ROM_LOAD16_BYTE( "ob2_c3.b0", 0x400001, 0x80000, CRC(99c7cc2d) SHA1(c761e5b7f1e2afdafef36390f7141ebcb5e8f254) )
- ROM_LOAD16_BYTE( "ob2_c0.b1", 0x100000, 0x80000, CRC(2c2c15c9) SHA1(fdc48fab6dad97d16d4e77479fa77bb320eb3767) )
- ROM_LOAD16_BYTE( "ob2_c1.b1", 0x100001, 0x80000, CRC(d2c49a14) SHA1(49d92233d6d5f77fbbf9d31607c568efef6d94f0) )
- ROM_LOAD16_BYTE( "ob2_c2.b1", 0x500000, 0x80000, CRC(fbe957e8) SHA1(4f0bb0e434771316bcd8796878ffd3e5cafebb2b) )
- ROM_LOAD16_BYTE( "ob2_c3.b1", 0x500001, 0x80000, CRC(d7238829) SHA1(6fef08a518be69251852d3204413b4b8b6615be2) )
- ROM_LOAD16_BYTE( "ob2_c0.b2", 0x200000, 0x80000, CRC(aefa1b01) SHA1(bbd4b432b36d64f80065c56559ea9675acf3151e) )
- ROM_LOAD16_BYTE( "ob2_c1.b2", 0x200001, 0x80000, CRC(4af620ca) SHA1(f3753235b2e72f011c9b94f26a425b9a79577201) )
- ROM_LOAD16_BYTE( "ob2_c2.b2", 0x600000, 0x80000, CRC(8e58be07) SHA1(d8a8662e800da0892d70c628de0ca27ff983006c) )
- ROM_LOAD16_BYTE( "ob2_c3.b2", 0x600001, 0x80000, CRC(1b5188c5) SHA1(4792a36b889a2c2dfab9ec78d848d3d8bf10d20f) )
- ROM_LOAD16_BYTE( "ob2_c0.b3", 0x300000, 0x80000, CRC(a2a5dafd) SHA1(2baadcfe9ae8fa30ae4226caa10fe3d58f8af3e0) )
- ROM_LOAD16_BYTE( "ob2_c1.b3", 0x300001, 0x80000, CRC(6f0afd05) SHA1(6a4bf3466a77d14b3bc18377537f86108774badd) )
- ROM_LOAD16_BYTE( "ob2_c2.b3", 0x700000, 0x80000, CRC(90fe5f4f) SHA1(2149e9eae152556c632ebd4d0b2de49e40916a77) )
- ROM_LOAD16_BYTE( "ob2_c3.b3", 0x700001, 0x80000, CRC(e3517e6e) SHA1(68ac60570423d8f0d7cff3db1901c9c050d0be91) )
-
- ROM_REGION(0x1000000, "bsmt", 0 )
- ROM_LOAD( "u17.snd", 0x000000, 0x80000, CRC(b945c18d) SHA1(6556bbb4a7057df3680132f24687fa944006c784) )
- ROM_LOAD( "u21.snd", 0x080000, 0x80000, CRC(10b2110c) SHA1(83e5938ed22da2874022e1dc8df76c72d95c448d) )
- ROM_LOAD( "u36.snd", 0x100000, 0x80000, CRC(3b73abe2) SHA1(195096e2302e84123b23b4ccd982fb3ab9afe42c) )
- ROM_LOAD( "u37.snd", 0x180000, 0x80000, CRC(986066b5) SHA1(9dd1a14de81733617cf51293674a8e26fc5cec68) )
-
- ROM_REGION( 0x400, "eeprom", 0 )
- ROM_LOAD( "eeprom-tattass.bin", 0x0000, 0x0400, CRC(7140f40c) SHA1(4fb7897933046b6adaf00b4626d5fd23d0e8a666) )
-ROM_END
-
-ROM_START( nslasher ) /* DE-0397-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
- ROM_LOAD32_WORD( "mainprg.1f", 0x000000, 0x80000, CRC(507acbae) SHA1(329a2bb244f2f3adb8d75cab5aa2dcb129d70712) )
- ROM_LOAD32_WORD( "mainprg.2f", 0x000002, 0x80000, CRC(931fc7ee) SHA1(54eb12abfa3f332ce9b43a45ec424aaee88641a6) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "sndprg.17l", 0x00000, 0x10000, CRC(18939e92) SHA1(50b37a78d9d2259d4b140dd17393c4e5ca92bca5) )
-
- ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
-
- ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
-
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
- ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
- ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
- ROM_LOAD40_WORD_SWAP( "mbh-03.15c", 0x500003, 0x080000, CRC(787787e3) SHA1(531444e3f28aa9a7539a5a76ca94a9d6b97274c5) )
- ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
- ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
-
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
- ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
- ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbh-10.14l", 0x000000, 0x80000, CRC(c4d6b116) SHA1(c5685bce6a6c6a74ca600ebf766ba1007f0dc666) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
-
- ROM_REGION(0x200, "prom", 0 )
- ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
-ROM_END
-
-ROM_START( nslasherj ) /* DE-0397-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
- ROM_LOAD32_WORD( "lx-00.1f", 0x000000, 0x80000, CRC(6ed5fb88) SHA1(84350da7939a479968a523c84e254e3ee54b8da2) )
- ROM_LOAD32_WORD( "lx-01.2f", 0x000002, 0x80000, CRC(a6df2152) SHA1(6fe7e0b2e71c5f807951dcc81a6a3cff55247961) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "sndprg.17l", 0x00000, 0x10000, CRC(18939e92) SHA1(50b37a78d9d2259d4b140dd17393c4e5ca92bca5) )
-
- ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
-
- ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
-
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
- ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
- ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
- ROM_LOAD40_WORD_SWAP( "mbh-03.15c", 0x500003, 0x080000, CRC(787787e3) SHA1(531444e3f28aa9a7539a5a76ca94a9d6b97274c5) )
- ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
- ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
-
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
- ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
- ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbh-10.14l", 0x000000, 0x80000, CRC(c4d6b116) SHA1(c5685bce6a6c6a74ca600ebf766ba1007f0dc666) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
-
- ROM_REGION(0x200, "prom", 0 )
- ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
-ROM_END
-
-ROM_START( nslashers ) /* DE-0397-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
- ROM_LOAD32_WORD( "ly-00.1f", 0x000000, 0x80000, CRC(fa0646f9) SHA1(7f9633bda230a0ced59171cdc5ab40a6d56c3d34) )
- ROM_LOAD32_WORD( "ly-01.2f", 0x000002, 0x80000, CRC(ae508149) SHA1(3592949e5fb2770adb9c9daa4e38c4e75f3e2554) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "sndprg.17l", 0x00000, 0x10000, CRC(18939e92) SHA1(50b37a78d9d2259d4b140dd17393c4e5ca92bca5) )
-
- ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
-
- ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
-
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
- ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
- ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
- ROM_LOAD40_WORD_SWAP( "mbh-03.15c", 0x500003, 0x080000, CRC(787787e3) SHA1(531444e3f28aa9a7539a5a76ca94a9d6b97274c5) )
- ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
- ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
-
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
- ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
- ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbh-10.14l", 0x000000, 0x80000, CRC(c4d6b116) SHA1(c5685bce6a6c6a74ca600ebf766ba1007f0dc666) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
-
- ROM_REGION(0x200, "prom", 0 )
- ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
-ROM_END
-
-ROM_START( nslasheru ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
- ROM_LOAD32_WORD( "00.f1", 0x000000, 0x80000, CRC(944f3329) SHA1(7e7909e203b9752de3d3d798c6f84ac6ae824a07) )
- ROM_LOAD32_WORD( "01.f2", 0x000002, 0x80000, CRC(ac12d18a) SHA1(7cd4e843bf575c70c5c39a8afa78b803106f59b0) )
-
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
- ROM_LOAD( "02.l18", 0x00000, 0x10000, CRC(5e63bd91) SHA1(a6ac3c8c50f44cf2e6cf029aef1c974d1fc16ed5) )
-
- ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
-
- ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
-
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
- ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
- ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
- ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
- ROM_LOAD40_WORD_SWAP( "mbh-03.15c", 0x500003, 0x080000, CRC(787787e3) SHA1(531444e3f28aa9a7539a5a76ca94a9d6b97274c5) )
- ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
- ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
-
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
- ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
- ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
-
- ROM_REGION(0x80000, "oki1", 0 )
- ROM_LOAD( "mbh-10.14l", 0x000000, 0x80000, CRC(c4d6b116) SHA1(c5685bce6a6c6a74ca600ebf766ba1007f0dc666) )
-
- ROM_REGION(0x80000, "oki2", 0 )
- ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
-
- ROM_REGION(0x200, "prom", 0 )
- ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
-
- ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
- ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
-ROM_END
-
-
-//**************************************************************************
-// SYSTEM DRIVERS
-//**************************************************************************
-
-// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
-GAME( 1991, captaven, 0, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Asia Rev 1.4)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, captavena, captaven, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Asia Rev 1.0)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, captavene, captaven, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (UK Rev 1.4)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, captavenu, captaven, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.9)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, captavenuu, captaven, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.6)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, captavenua, captaven, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.4)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, captavenj, captaven, captaven, captaven, captaven_state, init_captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Japan Rev 0.2)", MACHINE_SUPPORTS_SAVE )
-
-// DE-0396-0 PCB sets (Z80 for sound)
-GAME( 1993, fghthistu, fghthist, fghthistu, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-09, DE-0396-0 PCB)", MACHINE_SUPPORTS_SAVE )
-// DE-0395-1 PCB sets (HuC6280 for sound)
-GAME( 1993, fghthist, 0, fghthsta, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (World ver 43-09, DE-0395-1 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, fghthistua, fghthist, fghthsta, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-06, DE-0395-1 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, fghthistub, fghthist, fghthsta, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-05, DE-0395-1 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, fghthistj, fghthist, fghthsta, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (Japan ver 41-07, DE-0395-1 PCB)", MACHINE_SUPPORTS_SAVE )
-// DE-0380-2 PCB sets (HuC6280 for sound)
-GAME( 1993, fghthista, fghthist, fghthist, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (World ver 43-07, DE-0380-2 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, fghthistb, fghthist, fghthist, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (World ver 43-05, DE-0380-2 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, fghthistuc, fghthist, fghthist, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-03, DE-0380-2 PCB)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, fghthistja, fghthist, fghthist, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (Japan ver 41-05, DE-0380-2 PCB)", MACHINE_SUPPORTS_SAVE )
-// DE-0380-1 PCB sets (HuC6280 for sound)
-GAME( 1993, fghthistjb, fghthist, fghthist, fghthist, fghthist_state, init_fghthist, ROT0, "Data East Corporation", "Fighter's History (Japan ver 41-04, DE-0380-1 PCB)", MACHINE_SUPPORTS_SAVE )
-
-// DE-0397-0 PCB sets (Z80 for sound)
-GAME( 1994, nslasher, 0, nslasher, nslasher, nslasher_state, init_nslasher, ROT0, "Data East Corporation", "Night Slashers (Korea Rev 1.3, DE-0397-0 PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, nslasherj, nslasher, nslasher, nslasher, nslasher_state, init_nslasher, ROT0, "Data East Corporation", "Night Slashers (Japan Rev 1.2, DE-0397-0 PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, nslashers, nslasher, nslasher, nslasher, nslasher_state, init_nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2, DE-0397-0 PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-// DE-0395-1 PCB sets (HuC6280 for sound)
-GAME( 1994, nslasheru, nslasher, nslasheru, nslasher, nslasher_state, init_nslasher, ROT0, "Data East Corporation", "Night Slashers (US Rev 1.2, DE-0395-1 PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1994, tattass, 0, tattass, tattass, nslasher_state, init_tattass, ROT0, "Data East Pinball", "Tattoo Assassins (US prototype, Mar 14 1995)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, tattassa, tattass, tattass, tattass, nslasher_state, init_tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia prototype, Mar 14 1995)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-
-// Dragon Gun / Locked 'n Loaded have very different sprite hardware
-GAME( 1993, dragngun, 0, dragngun, dragngun, dragngun_state, init_dragngun, ROT0, "Data East Corporation", "Dragon Gun (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // OKI3 Bankswitching aren't verified
-GAME( 1993, dragngunj, dragngun, dragngun, dragngun, dragngun_state, init_dragngunj, ROT0, "Data East Corporation", "Dragon Gun (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // ""
-
-GAME( 1994, lockload, 0, lockload, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, gunhard, lockload, lockload, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Gun Hard (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, lockloadu, lockload, lockloadu, lockload, dragngun_state, init_lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (US, Dragon Gun conversion)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )