summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/m72.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/m72.cpp')
-rw-r--r--src/mame/drivers/m72.cpp4351
1 files changed, 0 insertions, 4351 deletions
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
deleted file mode 100644
index 3a518026fcf..00000000000
--- a/src/mame/drivers/m72.cpp
+++ /dev/null
@@ -1,4351 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Nicola Salmoria
-/***************************************************************************
-
-IREM M72 board
-
-driver by Nicola Salmoria
-protection information by Nao
-
-board differences
-
-M72 - 3 board stack, 2 known variants
-
- M72-B-D (bottom) / M72-A-C (middle) / M72-ROM-C (top)
-
- This is the original hardware used by R-type
- Z80 program uploaded to RAM rather than having a ROM
- each of the 2 tile layers uses it's own set of ROMs.
- Flip bits are with the tile num, so 0x3fff max tiles
- per layer
-
- M72-B-D (bottom) / M72-A-C (middle) / M72-C-A (top)
-
- This is used by all other M72 games, adds support
- for an I8751 MCU and sample playback
-
-
-M81 - 2 PCB Stack
-
- M81-A-B (top board) (seen on Dragon Breed)
- CPUs, program roms etc.
-
- M81-B-B (bottom board) (seen on Dragon Breed)
- supports
- 8 sprite ROMS
- 4 tile roms for FG layer (A0-A3)
- (Jumper J3 also allows them to be used for BG)
- 4 tile roms for BG layer (B0-B3)
-
- The Jumper at J3 seems to be an important difference
- from M72, it allows both the FG and BG layers to
- operate from a single set of ROMs.
- W - use both sets of ROMs
- S - use a single set of ROMs (A0-A3)
-
-
- revised hardware, Z80 uses a ROM, no MCU, same video
- system as M72 (some layer offsets - why?)
-
-
-M82 - board made for Major Title, Z80 has a rom, no MCU
- has an extra sprite layer, rowscroll, and a larger
- tilemap. Tile data from both tile layers now comes
- from a single set of ROMs, flip bits moved to 2nd
- word meaning max of 0xffff tiles.
-
- * Some games were converted to run on this board,
- leaving the extra sprite HW unused.
-
-M84 - 2 PCB stack
- functionally same as M82 but without the extra sprite hw??
-
- M84-A-A (bottom board) (most games)
- supports
- 4 program roms
- 8 tile roms
- 1 snd prg, 1 voice rom
- CPUs and some customs etc.
-
- M84-D-B (bottom board) (found on lightning swords / kengo)
- redesigned version of above but
- for V35 CPU? (seems to lack the UPD71059C interrupt
- controller which isn't needed when with the V35)
-
- M84-C-A (top board) (listed as for Hammering Harry)
- 4 sprite roms (in a row)
- 6 larger chips with detail removed
- etc.
-
- M84-B-A (top board) (found on rytpe 2)
- M84-B-B (top board) (lightning swords / kengo)
- these both look very similar, if not the same
-
- 4 sprite roms (in a square)
- various NANAO marked customs
- KNA70H016(12) NANAO 0201
- KNA65005 17 NANAO 9048KS
- KNA71H010(15) NANAO 0X2002
- KNA72H010(14) NANAO 0Z2001
- KNA71H009(13) NANAO 122001
- KNA70H015(11) NANAO 092002
- KNA91H014 NANAO 0Z2001V
- etc.
-
-
-
-M85 - Pound for Pound uses this, possibly just M84 with
- a modified sound section?
- - most Jamma inputs not connected, trackball only
-
-
- Year Board Protected?
-R-Type 1987 M72 N
-Battle Chopper / Mr. Heli 1987 M72 Y
-Ninja Spirit 1988 M72 Y
-Image Fight 1988 M72 Y
-Legend of Hero Tonma 1989 M72 Y
-X Multiply (World) 1989 M81-A-B + M81-B-B N
-X Multiply (Japan) 1989 M72 Y
-Dragon Breed 1989 M81-A-B + M81-B-B N
-Dragon Breed (Japan?) 1989 M72 Y
-R-Type II 1989 M84-A-A + M84-B-A N
-Major Title 1990 M82-A-A + M82-B-A N
-Hammerin' Harry (World ver) 1990 M81-A-B + M81-B-B N
-Hammerin' H..(US)/ Daiku no Gensan 1990 M84-A-A + M84-C-A N
- Daiku no Gensan 1990 M72 Y
- Daiku no Gensan 1990 M82-A-A + M82-B-A N
-Pound for Pound 1990 M85-A-B + M85-B N
-Air Duel (World) 1990 M82-A-A + M82-B-A N
-Air Duel (Japan) 1990 M72 Y
-Cosmic Cop / 1991 M84-D-B + M84-B-B N
- Gallop - Armed Police Unit 1991 M72 Y (sample playback only)
-Ken-Go / Lightning Swords 1991 M84-D-B + M84-B-B Encrypted
-
-
-Rtype / Rtype 2 are often misreported as being M82 games, this is mostly
-due to the unofficial conversions that have become widespread, see:
-http://www.paulswan.me/arcade/m82-m72.htm (Rtype on M82, extensive wiremods)
-http://www.paulswan.me/arcade/m82-m84.htm (Rtype 2 on M82)
-these are supported as 'rtypem82b' and 'rtype2m82b' although the former
-still needs work because the wiremods change same of the behavior to be
-more like an M72 PCB than an M82
-
-
-TODO:
-- m82_gfx_ctrl_w is unknown, it seems to be used to disable rowscroll,
- and maybe other things
-
-- Maybe there is a layer enable register, e.g. nspirit shows (for an instant)
- incomplete screens with bad colors when you start a game.
-
-- A lot of unknown I/O writes from the sound CPU in Pound for Pound.
-
-- the sprite chip triggers IRQ1 when it has finished copying the sprite RAM to its
- private buffer. This isn't implemented (all games have an empty IRQ1 handler).
- The cpu board also has support for IRQ3 and IRQ4, coming from the external
- connectors, but I don't think they are used by any game.
-
-- excessive transmask difference between m72 games, this must be user selectable somehow;
-
-IRQ controller
---------------
-The IRQ controller is a UPD71059C
-
-The initialization consists of one write to port 0x40 and multiple writes
-(2 or 3) to port 0x42. The first value written to 0x42 is the IRQ vector base.
-Cosmic Cop and Ken-Go have a V35 CPU with its own IRQ controller built in.
-
-Game irqbase 0x40 0x42
----- ------- ---- ----------
-rtype 0x20 17 20 0F
-bchopper " " "
-nspirit " " "
-loht " " "
-rtype2 " " "
-airduel " " "
-gallop " " "
-imgfight 0x20 17 20 0F 06
-majtitle " " "
-poundfor 0x20 17 20 0F 0A
-xmultipl 0x08 13 08 0F FA
-dbreed " " "
-hharry " " "
-cosmccop ---------------------
-kengo ---------------------
-
-
-2008-08
-Dip locations verified for the following games:
- - dbreed, hharry, loht (jpn), poundfor, rtype, rtype2 [manual]
- - airduel, gallop, imgfight [dip listing]
-The other locations have been added assuming that the layout is the same
-on all m72 boards. However, it would be nice to have them confirmed for
-other supported games as well.
-
-
-***************************************************************************/
-
-#include "emu.h"
-#include "includes/m72.h"
-#include "includes/iremipt.h"
-
-#include "cpu/nec/nec.h"
-#include "cpu/nec/v25.h"
-#include "cpu/z80/z80.h"
-#include "machine/gen_latch.h"
-#include "machine/irem_cpu.h"
-#include "machine/rstbuf.h"
-#include "sound/ym2151.h"
-#include "sound/volt_reg.h"
-#include "speaker.h"
-
-
-#define MASTER_CLOCK XTAL(32'000'000)
-#define SOUND_CLOCK XTAL(3'579'545)
-
-
-
-/***************************************************************************/
-
-void m72_state::machine_start()
-{
- m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(m72_state::scanline_interrupt),this));
-}
-
-MACHINE_START_MEMBER(m72_state,kengo)
-{
- m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(m72_state::kengo_scanline_interrupt),this));
-}
-
-TIMER_CALLBACK_MEMBER(m72_state::synch_callback)
-{
- //machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(8000000));
- machine().scheduler().boost_interleave(attotime::from_hz(MASTER_CLOCK/4/12), attotime::from_seconds(25));
-}
-
-void m72_state::machine_reset()
-{
- m_mcu_sample_addr = 0;
- //m_mcu_snd_cmd_latch = 0;
-
- m_scanline_timer->adjust(m_screen->time_until_pos(0));
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(m72_state::synch_callback),this));
-
- // Hold sound CPU in reset if main CPU has to upload the program into RAM
- if (m_soundram.found())
- m_soundcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
-}
-
-MACHINE_RESET_MEMBER(m72_state,kengo)
-{
- m_scanline_timer->adjust(m_screen->time_until_pos(0));
-}
-
-TIMER_CALLBACK_MEMBER(m72_state::scanline_interrupt)
-{
- int scanline = param;
-
- /* raster interrupt - visible area only? */
- if (scanline < 256 && scanline == m_raster_irq_position - 128)
- {
- m_upd71059c->ir2_w(1);
- }
-
- /* VBLANK interrupt */
- if (scanline == 256)
- {
- m_upd71059c->ir0_w(1);
- m_upd71059c->ir2_w(0);
- }
- else
- {
- m_upd71059c->ir0_w(0);
- }
-
- /* adjust for next scanline */
- if (++scanline >= m_screen->height())
- scanline = 0;
- m_scanline_timer->adjust(m_screen->time_until_pos(scanline), scanline);
-}
-
-TIMER_CALLBACK_MEMBER(m72_state::kengo_scanline_interrupt)
-{
- int scanline = param;
-
- /* raster interrupt - visible area only? */
- if (scanline < 256 && scanline == m_raster_irq_position - 128)
- {
- m_screen->update_partial(scanline);
- m_maincpu->set_input_line(NEC_INPUT_LINE_INTP2, ASSERT_LINE);
- }
- else
- m_maincpu->set_input_line(NEC_INPUT_LINE_INTP2, CLEAR_LINE);
-
- /* VBLANK interrupt */
- if (scanline == 256)
- {
- m_screen->update_partial(scanline);
- m_maincpu->set_input_line(NEC_INPUT_LINE_INTP0, ASSERT_LINE);
- }
- else
- m_maincpu->set_input_line(NEC_INPUT_LINE_INTP0, CLEAR_LINE);
-
- /* adjust for next scanline */
- if (++scanline >= m_screen->height())
- scanline = 0;
- m_scanline_timer->adjust(m_screen->time_until_pos(scanline), scanline);
-}
-
-/***************************************************************************
-
-Protection emulation
-
-The protection device does
-
-* provide startup code
-* provide checksums
-* feed samples to the sound cpu
-
-***************************************************************************/
-
-TIMER_CALLBACK_MEMBER(m72_state::delayed_ram16_w)
-{
- const u16 val = param & 0xffff;
- const u16 offset = (param >> 16) & 0x07ff;
- const u16 mem_mask = (BIT(param, 28) ? 0xff00 : 0x0000) | (BIT(param, 27) ? 0x00ff : 0x0000);
-
- logerror("MB8421/MB8431 left_w(0x%03x, 0x%04x, 0x%04x)\n", offset, val, mem_mask);
- m_dpram->left_w(offset, val, mem_mask);
-}
-
-TIMER_CALLBACK_MEMBER(m72_state::delayed_ram8_w)
-{
- const u8 val = param & 0xff;
- const u16 offset = (param >> 9) & 0x07ff;
-
- if (BIT(param, 8))
- m_dpram->right_w(offset, val << 8, 0xff00);
- else
- m_dpram->right_w(offset, val, 0x00ff);
-}
-
-
-void m72_state::main_mcu_w(offs_t offset, u16 data, u16 mem_mask)
-{
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(m72_state::delayed_ram16_w), this), offset << 16 | data | (mem_mask & 0x0180) << 20);
-}
-
-void m72_state::mcu_data_w(offs_t offset, u8 data)
-{
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(m72_state::delayed_ram8_w), this), offset << 8 | u32(data));
-}
-
-u8 m72_state::mcu_data_r(offs_t offset)
-{
- return (m_dpram->right_r(offset >> 1) >> (BIT(offset, 0) ? 8 : 0)) & 0xff;
-}
-
-u8 m72_state::mcu_sample_r()
-{
- const u8 sample = m_samples_region[m_mcu_sample_addr];
- if (!machine().side_effects_disabled())
- m_mcu_sample_addr++;
- return sample;
-}
-
-void m72_state::mcu_low_w(u8 data)
-{
- m_mcu_sample_addr = (m_mcu_sample_addr & 0xffe000) | (data<<5);
- logerror("low: %02x %08x\n", data, m_mcu_sample_addr);
-}
-
-void m72_state::mcu_high_w(u8 data)
-{
- m_mcu_sample_addr = (m_mcu_sample_addr & 0x1fff) | (data<<(8+5));
- logerror("high: %02x %08x\n", data, m_mcu_sample_addr);
-}
-
-void m72_state::init_m72_8751()
-{
- save_item(NAME(m_mcu_sample_addr));
-
- /* lohtb2 */
-#if 0
- /* running the mcu at twice the speed, the following
- * timeouts have to be modified.
- * At normal speed, the timing heavily depends on opcode
- * prefetching on the V30.
- */
- {
- u8 *rom=memregion("mcu")->base();
-
- rom[0x12d+5] += 1; printf(" 5: %d\n", rom[0x12d+5]);
- rom[0x12d+8] += 5; printf(" 8: %d\n", rom[0x12d+8]);
- rom[0x12d+11] += 7; printf("11: %d\n", rom[0x12d+11]);
- rom[0x12d+14] += 9; printf("14: %d\n", rom[0x12d+14]);
- rom[0x12d+17] += 1; printf("17: %d\n", rom[0x12d+17]);
- rom[0x12d+20] += 10; printf("20: %d\n", rom[0x12d+20]);
- rom[0x12d+23] += 3; printf("23: %d\n", rom[0x12d+23]);
- rom[0x12d+26] += 2; printf("26: %d\n", rom[0x12d+26]);
- rom[0x12d+29] += 2; printf("29: %d\n", rom[0x12d+29]);
- rom[0x12d+32] += 16; printf("32: %d\n", rom[0x12d+32]);
- }
-#endif
-}
-
-
-/***************************************************************************
-
-Sample playback
-
-In the later games, the sound CPU can program the start offset of the PCM
-samples, but it seems the earlier games have them hardcoded somewhere (maybe
-the protection MCU?).
-So, here I provided some tables with the start offset precomputed.
-They could be built automatically in most cases (00 marks the end of a
-sample), but a couple of games (nspirit, loht) have holes in the numbering
-so we would have to do them differently anyway.
-
-Also, some games (dkgenm72, poundfor, airduel, gallop) have an empty NMI
-handler, so the sample playback has to be handled entirely by external
-hardware; we work around that by using (for all games, not just the ones
-without a NMI handler) a NMI interrupt gen that mimics the behaviour of
-the NMI handler in the other games.
-
-***************************************************************************/
-
-#if 0
-int m72_state::find_sample(int num)
-{
- int len = m_samples_region.length();
- int addr = 0;
-
- while (num--)
- {
- /* find end of sample */
- while (addr < len && m_samples_region[addr]) addr++;
-
- /* skip 0 filler between samples */
- while (addr < len && !m_samples_region[addr]) addr++;
- }
-
- return addr;
-}
-#endif
-
-INTERRUPT_GEN_MEMBER(m72_state::fake_nmi)
-{
- int sample = m_audio->sample_r();
- if (sample)
- m_audio->sample_w(sample);
-}
-
-
-WRITE16_MEMBER(m72_state::bchopper_sample_trigger_w)
-{
- static const int a[6] = { 0x0000, 0x0010, 0x2510, 0x6510, 0x8510, 0x9310 };
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 6) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-WRITE16_MEMBER(m72_state::nspirit_sample_trigger_w)
-{
- static const int a[9] = { 0x0000, 0x0020, 0x2020, 0, 0x5720, 0, 0x7b60, 0x9b60, 0xc360 };
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 9) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-WRITE16_MEMBER(m72_state::imgfight_sample_trigger_w)
-{
- static const int a[7] = { 0x0000, 0x0020, 0x44e0, 0x98a0, 0xc820, 0xf7a0, 0x108c0 };
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 7) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-WRITE16_MEMBER(m72_state::loht_sample_trigger_w)
-{
- static const int a[7] = { 0x0000, 0x0020, 0, 0x2c40, 0x4320, 0x7120, 0xb200 };
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 7) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-
-
-WRITE16_MEMBER(m72_state::dbreedm72_sample_trigger_w)
-{
- static const int a[9] = { 0x00000, 0x00020, 0x02c40, 0x08160, 0x0c8c0, 0x0ffe0, 0x13000, 0x15820, 0x15f40 };
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 9) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-WRITE16_MEMBER(m72_state::dkgenm72_sample_trigger_w)
-{
- static const int a[28] = {
- 0x00000, 0x00020, 0x01800, 0x02da0, 0x03be0, 0x05ae0, 0x06100, 0x06de0,
- 0x07260, 0x07a60, 0x08720, 0x0a5c0, 0x0c3c0, 0x0c7a0, 0x0e140, 0x0fb00,
- 0x10fa0, 0x10fc0, 0x10fe0, 0x11f40, 0x12b20, 0x130a0, 0x13c60, 0x14740,
- 0x153c0, 0x197e0, 0x1af40, 0x1c080 };
-
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 28) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-WRITE16_MEMBER(m72_state::gallop_sample_trigger_w)
-{
- static const int a[31] = {
- 0x00000, 0x00020, 0x00040, 0x01360, 0x02580, 0x04f20, 0x06240, 0x076e0,
- 0x08660, 0x092a0, 0x09ba0, 0x0a560, 0x0cee0, 0x0de20, 0x0e620, 0x0f1c0,
- 0x10200, 0x10220, 0x10240, 0x11380, 0x12760, 0x12780, 0x127a0, 0x13c40,
- 0x140a0, 0x16760, 0x17e40, 0x18ee0, 0x19f60, 0x1bbc0, 0x1cee0 };
-
- if (ACCESSING_BITS_0_7 && (data & 0xff) < 31) m_audio->set_sample_start(a[data & 0xff]);
-}
-
-
-
-/***************************************************************************
-
-Protection simulation
-
-Most of the games running on this board have an 8751 protection mcu.
-It is not known how it works in detail, however it's pretty clear that it
-shares RAM at b0000-b0fff.
-On startup, the game writes a pattern to the whole RAM, then reads it back
-expecting it to be INVERTED. If it isn't, it reports a RAM error.
-If the RAM passes the test, the program increments every byte up to b0ffb,
-then calls a subroutine at b0000, which has to be provided by the mcu.
-It seems that this routine is not supposed to RET, but instead it should
-jump directly to the game entry point. The routine should also write some
-bytes here and there in RAM (different in every game); those bytes are
-checked at various points during the game, causing a crash if they aren't
-right.
-Note that the program keeps incrementing b0ffe while the game is running,
-maybe this is done to keep the 8751 alive. We don't bother with that.
-
-Finally, to do the ROM test the program asks the mcu to provide the correct
-values. This is done only in service, so doesn't seem to be much of a
-protection. Here we have provided the correct crcs for the available dumps,
-of course there is no guarantee that they are actually good.
-
-All the protection routines below are entirely made up. They get the games
-running, but they have not been derived from the real 8751 code.
-
-***************************************************************************/
-
-#define CODE_LEN 96
-#define CRC_LEN 18
-
-/* Battle Chopper / Mr. Heli */
-static const u8 bchopper_code[CODE_LEN] =
-{
- 0x68,0x00,0xa0, // push 0a000h
- 0x1f, // pop ds
- 0xc6,0x06,0x38,0x38,0x53, // mov [3838h], byte 053h
- 0xc6,0x06,0x3a,0x38,0x41, // mov [383ah], byte 041h
- 0xc6,0x06,0x3c,0x38,0x4d, // mov [383ch], byte 04dh
- 0xc6,0x06,0x3e,0x38,0x4f, // mov [383eh], byte 04fh
- 0xc6,0x06,0x40,0x38,0x54, // mov [3840h], byte 054h
- 0xc6,0x06,0x42,0x38,0x4f, // mov [3842h], byte 04fh
- 0x68,0x00,0xb0, // push 0b000h
- 0x1f, // pop ds
- 0xc6,0x06,0x00,0x09,0x49^0xff, // mov [0900h], byte 049h
- 0xc6,0x06,0x00,0x0a,0x49^0xff, // mov [0a00h], byte 049h
- 0xc6,0x06,0x00,0x0b,0x49^0xff, // mov [0b00h], byte 049h
- 0xc6,0x06,0x00,0x00,0xcb^0xff, // mov [0000h], byte 0cbh ; retf : bypass protection check during the game
- 0x68,0x00,0xd0, // push 0d000h
- 0x1f, // pop ds
- 0xea,0x68,0x01,0x40,0x00 // jmp 0040:$0168
-};
-static const u8 bchopper_crc[CRC_LEN] = { 0x1a,0x12,0x5c,0x08, 0x84,0xb6,0x73,0xd1,
- 0x54,0x91,0x94,0xeb, 0x00,0x00 };
-
-/* Ninja Spirit */
-static const u8 nspirit_code[CODE_LEN] =
-{
- 0x68,0x00,0xa0, // push 0a000h
- 0x1f, // pop ds
- 0xc6,0x06,0x38,0x38,0x4e, // mov [3838h], byte 04eh
- 0xc6,0x06,0x3a,0x38,0x49, // mov [383ah], byte 049h
- 0xc6,0x06,0x3c,0x38,0x4e, // mov [383ch], byte 04eh
- 0xc6,0x06,0x3e,0x38,0x44, // mov [383eh], byte 044h
- 0xc6,0x06,0x40,0x38,0x4f, // mov [3840h], byte 04fh
- 0xc6,0x06,0x42,0x38,0x55, // mov [3842h], byte 055h
- 0x68,0x00,0xb0, // push 0b000h
- 0x1f, // pop ds
- 0xc6,0x06,0x00,0x09,0x49^0xff, // mov [0900h], byte 049h
- 0xc6,0x06,0x00,0x0a,0x49^0xff, // mov [0a00h], byte 049h
- 0xc6,0x06,0x00,0x0b,0x49^0xff, // mov [0b00h], byte 049h
- 0x68,0x00,0xd0, // push 0d000h
- 0x1f, // pop ds
- 0xea,0x00,0x00,0x40,0x00 // jmp 0040:$0000
-};
-static const u8 nspirit_crc[CRC_LEN] = { 0xfe,0x94,0x6e,0x4e, 0xc8,0x33,0xa7,0x2d,
- 0xf2,0xa3,0xf9,0xe1, 0xa9,0x6c,0x02,0x95, 0x00,0x00 };
-/* Image Fight */
-static const u8 imgfight_code[CODE_LEN] =
-{
- 0x68,0x00,0xa0, // push 0a000h
- 0x1f, // pop ds
- 0xc6,0x06,0x38,0x38,0x50, // mov [3838h], byte 050h
- 0xc6,0x06,0x3a,0x38,0x49, // mov [383ah], byte 049h
- 0xc6,0x06,0x3c,0x38,0x43, // mov [383ch], byte 043h
- 0xc6,0x06,0x3e,0x38,0x4b, // mov [383eh], byte 04bh
- 0xc6,0x06,0x40,0x38,0x45, // mov [3840h], byte 045h
- 0xc6,0x06,0x42,0x38,0x54, // mov [3842h], byte 054h
- 0x68,0x00,0xb0, // push 0b000h
- 0x1f, // pop ds
- 0xc6,0x06,0x00,0x09,0x49^0xff, // mov [0900h], byte 049h
- 0xc6,0x06,0x00,0x0a,0x49^0xff, // mov [0a00h], byte 049h
- 0xc6,0x06,0x00,0x0b,0x49^0xff, // mov [0b00h], byte 049h
- 0xc6,0x06,0x20,0x09,0x49^0xff, // mov [0920h], byte 049h
- 0xc6,0x06,0x21,0x09,0x4d^0xff, // mov [0921h], byte 04dh
- 0xc6,0x06,0x22,0x09,0x41^0xff, // mov [0922h], byte 041h
- 0xc6,0x06,0x23,0x09,0x47^0xff, // mov [0923h], byte 047h
- 0x68,0x00,0xd0, // push 0d000h
- 0x1f, // pop ds
- 0xea,0x00,0x00,0x40,0x00 // jmp 0040:$0000
-};
-
-// these are for the japan set where we have the mcu anyway...
-static const u8 imgfightj_crc[CRC_LEN] = { 0x7e,0xcc,0xec,0x03, 0x04,0x33,0xb6,0xc5,
- 0xbf,0x37,0x92,0x94, 0x00,0x00 };
-
-/* Dragon Breed */
-static const u8 dbreedm72_code[CODE_LEN] =
-{
- 0xea,0x6c,0x00,0x00,0x00 // jmp 0000:$006c
-};
-static const u8 dbreedm72_crc[CRC_LEN] = { 0xa4,0x96,0x5f,0xc0, 0xab,0x49,0x9f,0x19,
- 0x84,0xe6,0xd6,0xca, 0x00,0x00 };
-
-
-/* Daiku no Gensan */
-static const u8 dkgenm72_code[CODE_LEN] =
-{
- 0xea,0x3d,0x00,0x00,0x10 // jmp 1000:$003d
-};
-static const u8 dkgenm72_crc[CRC_LEN] = { 0xc8,0xb4,0xdc,0xf8, 0xd3,0xba,0x48,0xed,
- 0x79,0x08,0x1c,0xb3, 0x00,0x00 };
-
-
-
-void m72_state::copy_le(u16 *dest, const u8 *src, u8 bytes)
-{
- int i;
-
- for (i = 0; i < bytes; i += 2)
- dest[i/2] = src[i+0] | (src[i+1] << 8);
-}
-
-READ16_MEMBER(m72_state::protection_r)
-{
- if (ACCESSING_BITS_8_15)
- copy_le(m_protection_ram.get(),m_protection_code,CODE_LEN);
- return m_protection_ram[0xffa/2+offset];
-}
-
-WRITE16_MEMBER(m72_state::protection_w)
-{
- data ^= 0xffff;
- COMBINE_DATA(&m_protection_ram[offset]);
- data ^= 0xffff;
-
- if (offset == 0x0fff/2 && ACCESSING_BITS_8_15 && (data >> 8) == 0)
- copy_le(&m_protection_ram[0x0fe0],m_protection_crc,CRC_LEN);
-}
-
-void m72_state::install_protection_handler(const u8 *code,const u8 *crc)
-{
- m_protection_ram = std::make_unique<u16[]>(0x1000/2);
- m_protection_code = code;
- m_protection_crc = crc;
- m_maincpu->space(AS_PROGRAM).install_read_bank(0xb0000, 0xb0fff, "bank1");
- m_maincpu->space(AS_PROGRAM).install_read_handler(0xb0ffa, 0xb0ffb, read16_delegate(*this, FUNC(m72_state::protection_r)));
- m_maincpu->space(AS_PROGRAM).install_write_handler(0xb0000, 0xb0fff, write16_delegate(*this, FUNC(m72_state::protection_w)));
- membank("bank1")->configure_entry(0, m_protection_ram.get());
-
- save_pointer(NAME(m_protection_ram), 0x1000/2);
-}
-
-void m72_state::init_bchopper()
-{
- install_protection_handler(bchopper_code,bchopper_crc);
- m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(*this, FUNC(m72_state::bchopper_sample_trigger_w)));
-}
-
-void m72_state::init_nspirit()
-{
- install_protection_handler(nspirit_code,nspirit_crc);
- m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(*this, FUNC(m72_state::nspirit_sample_trigger_w)));
-}
-
-void m72_state::init_imgfight()
-{
- install_protection_handler(imgfight_code,imgfightj_crc);
- m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(*this, FUNC(m72_state::imgfight_sample_trigger_w)));
-}
-
-void m72_state::init_dbreedm72()
-{
- install_protection_handler(dbreedm72_code,dbreedm72_crc);
- m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(*this, FUNC(m72_state::dbreedm72_sample_trigger_w)));
-}
-
-void m72_state::init_dkgenm72()
-{
- install_protection_handler(dkgenm72_code,dkgenm72_crc);
- m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(*this, FUNC(m72_state::dkgenm72_sample_trigger_w)));
-}
-
-void m72_state::init_gallop()
-{
- m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(*this, FUNC(m72_state::gallop_sample_trigger_w)));
-}
-
-
-template<unsigned N>
-u16 m72_state::palette_r(offs_t offset)
-{
- /* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
- offset &= ~0x100;
-
- return m_paletteram[N][offset] | 0xffe0; /* only D0-D4 are connected */
-}
-
-inline void m72_state::changecolor(offs_t color, u8 r, u8 g, u8 b)
-{
- m_palette->set_pen_color(color,pal5bit(r),pal5bit(g),pal5bit(b));
-}
-
-template<unsigned N>
-void m72_state::palette_w(offs_t offset, u16 data, u16 mem_mask)
-{
- /* A9 isn't connected, so 0x200-0x3ff mirrors 0x000-0x1ff etc. */
- offset &= ~0x100;
-
- COMBINE_DATA(&m_paletteram[N][offset]);
- offset &= 0x0ff;
- changecolor(offset + (N << 8),
- m_paletteram[N][offset + 0x000],
- m_paletteram[N][offset + 0x200],
- m_paletteram[N][offset + 0x400]);
-}
-
-template<unsigned N>
-void m72_state::scrollx_w(offs_t offset, u16 data, u16 mem_mask)
-{
- m_screen->update_partial(m_screen->vpos());
- COMBINE_DATA(&m_scrollx[N]);
-}
-
-template<unsigned N>
-void m72_state::scrolly_w(offs_t offset, u16 data, u16 mem_mask)
-{
- m_screen->update_partial(m_screen->vpos());
- COMBINE_DATA(&m_scrolly[N]);
-}
-
-
-u8 m72_state::soundram_r(offs_t offset)
-{
- return m_soundram[offset];
-}
-
-void m72_state::soundram_w(offs_t offset, u8 data)
-{
- m_soundram[offset] = data;
-}
-
-void m72_state::m72_cpu1_common_map(address_map &map)
-{
- map(0xc0000, 0xc03ff).ram().share("spriteram");
- map(0xc8000, 0xc8bff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xcc000, 0xccbff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
- map(0xd0000, 0xd3fff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0xd8000, 0xdbfff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2");
- map(0xe0000, 0xeffff).rw(FUNC(m72_state::soundram_r), FUNC(m72_state::soundram_w));
- map(0xffff0, 0xfffff).rom();
-}
-
-void m72_state::m72_map(address_map &map)
-{
- m72_cpu1_common_map(map);
- map(0x00000, 0x7ffff).rom();
- map(0xa0000, 0xa3fff).ram(); /* work RAM */
-}
-
-void m72_state::rtype_map(address_map &map)
-{
- m72_cpu1_common_map(map);
- map(0x00000, 0x3ffff).rom();
- map(0x40000, 0x43fff).ram(); /* work RAM */
-}
-
-void m72_state::m72_protected_map(address_map &map)
-{
- m72_map(map);
- map(0xb0000, 0xb0fff).r(m_dpram, FUNC(mb8421_mb8431_16_device::left_r)).w(FUNC(m72_state::main_mcu_w));
-}
-
-void m72_state::xmultiplm72_map(address_map &map)
-{
- m72_cpu1_common_map(map);
- map(0x00000, 0x7ffff).rom();
- map(0x80000, 0x83fff).ram(); /* work RAM */
- map(0xb0000, 0xb0fff).r(m_dpram, FUNC(mb8421_mb8431_16_device::left_r)).w(FUNC(m72_state::main_mcu_w));
-}
-
-void m72_state::dbreedwm72_map(address_map &map)
-{
- m72_cpu1_common_map(map);
- map(0x00000, 0x7ffff).rom();
- map(0x90000, 0x93fff).ram(); /* work RAM */
-}
-
-void m72_state::dbreedm72_map(address_map &map)
-{
- m72_cpu1_common_map(map);
- map(0x00000, 0x7ffff).rom();
- map(0x90000, 0x93fff).ram(); /* work RAM */
- map(0xb0000, 0xb0fff).r(m_dpram, FUNC(mb8421_mb8431_16_device::left_r)).w(FUNC(m72_state::main_mcu_w));
-}
-
-void m72_state::m81_cpu1_common_map(address_map &map)
-{
- map(0x00000, 0x7ffff).rom();
- map(0xb0ffe, 0xb0fff).writeonly(); /* leftover from protection?? */
- map(0xc0000, 0xc03ff).ram().share("spriteram");
- map(0xc8000, 0xc8bff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xcc000, 0xccbff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
- map(0xd0000, 0xd3fff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0xd8000, 0xdbfff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2");
- map(0xffff0, 0xfffff).rom();
-}
-
-void m72_state::xmultipl_map(address_map &map)
-{
- m81_cpu1_common_map(map);
- map(0x9c000, 0x9ffff).ram(); /* work RAM */
-}
-
-void m72_state::dbreed_map(address_map &map)
-{
- m81_cpu1_common_map(map);
- map(0x88000, 0x8bfff).ram(); /* work RAM */
-}
-
-void m72_state::hharry_map(address_map &map)
-{
- m81_cpu1_common_map(map);
- map(0xa0000, 0xa3fff).ram(); /* work RAM */
-}
-
-void m72_state::m84_cpu1_common_map(address_map &map)
-{
- map(0x00000, 0x7ffff).rom();
- map(0xb0000, 0xb0001).w(FUNC(m72_state::irq_line_w));
- map(0xb4000, 0xb4001).nopw(); /* ??? */
- map(0xbc000, 0xbc000).w(FUNC(m72_state::dmaon_w));
- map(0xb0ffe, 0xb0fff).writeonly(); /* leftover from protection?? */
- map(0xc0000, 0xc03ff).ram().share("spriteram");
- map(0xe0000, 0xe3fff).ram(); /* work RAM */
- map(0xffff0, 0xfffff).rom();
-}
-
-void m72_state::rtype2_map(address_map &map)
-{
- m84_cpu1_common_map(map);
- map(0xd0000, 0xd3fff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0xd4000, 0xd7fff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2");
- map(0xc8000, 0xc8bff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xd8000, 0xd8bff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
-}
-
-void m72_state::hharryu_map(address_map &map)
-{
- m84_cpu1_common_map(map);
- map(0xd0000, 0xd3fff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0xd4000, 0xd7fff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2");
- map(0xa0000, 0xa0bff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xa8000, 0xa8bff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
-}
-
-void m72_state::kengo_map(address_map &map)
-{
- m84_cpu1_common_map(map);
- map(0x80000, 0x83fff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0x84000, 0x87fff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2");
- map(0xa0000, 0xa0bff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xa8000, 0xa8bff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
-}
-
-
-void m72_state::m82_map(address_map &map)
-{
- map(0x00000, 0x7ffff).rom();
- map(0xa0000, 0xa03ff).ram().share("majtitle_rowscr");
- map(0xa4000, 0xa4bff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
- map(0xac000, 0xaffff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0xb0000, 0xbffff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2"); /* larger than the other games */
- map(0xc0000, 0xc03ff).ram().share("spriteram");
- map(0xc8000, 0xc83ff).ram().share("spriteram2");
- map(0xcc000, 0xccbff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xd0000, 0xd3fff).ram(); /* work RAM */
- map(0xe0000, 0xe0001).w(FUNC(m72_state::irq_line_w));
- map(0xe4000, 0xe4001).writeonly(); /* playfield enable? 1 during screen transitions, 0 otherwise */
- map(0xec000, 0xec000).w(FUNC(m72_state::dmaon_w));
- map(0xffff0, 0xfffff).rom();
-}
-
-void m72_state::lohtb_map(address_map &map) // all to be checked
-{
- map(0x00000, 0x7ffff).rom();
- map(0x80000, 0x803ff).ram().share("spriteram");
- map(0xa0000, 0xa3fff).ram(); /* work RAM */
- map(0xaa800, 0xaafff).ram();
- map(0xc8000, 0xc8bff).rw(FUNC(m72_state::palette_r<0>), FUNC(m72_state::palette_w<0>)).share("paletteram1");
- map(0xcc000, 0xccbff).rw(FUNC(m72_state::palette_r<1>), FUNC(m72_state::palette_w<1>)).share("paletteram2");
- map(0xd0000, 0xd3fff).ram().w(FUNC(m72_state::videoram1_w)).share("videoram1");
- map(0xd8000, 0xdbfff).ram().w(FUNC(m72_state::videoram2_w)).share("videoram2");
- map(0xffff0, 0xfffff).rom();
-}
-
-void m72_state::m72_portmap(address_map &map)
-{
- map(0x00, 0x01).portr("IN0");
- map(0x02, 0x03).portr("IN1");
- map(0x04, 0x05).portr("DSW");
- map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- map(0x02, 0x02).w(FUNC(m72_state::port02_w)); /* coin counters, reset sound cpu, other stuff? */
- map(0x04, 0x04).w(FUNC(m72_state::dmaon_w));
- map(0x06, 0x07).w(FUNC(m72_state::irq_line_w));
- map(0x40, 0x43).rw(m_upd71059c, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff);
- map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-/* { 0xc0, 0xc0 trigger sample, filled by init_ function */
-}
-
-void m72_state::m72_protected_portmap(address_map &map)
-{
- m72_portmap(map);
- map(0xc0, 0xc0).w("soundlatch2", FUNC(generic_latch_8_device::write));
-}
-
-void m72_state::m72_airduel_portmap(address_map &map)
-{
- m72_portmap(map);
- map(0xc0, 0xc0).w("mculatch", FUNC(generic_latch_8_device::write));
-}
-
-void m72_state::m84_portmap(address_map &map)
-{
- map(0x00, 0x01).portr("IN0");
- map(0x02, 0x03).portr("IN1");
- map(0x04, 0x05).portr("DSW");
- map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- map(0x02, 0x02).w(FUNC(m72_state::rtype2_port02_w));
- map(0x40, 0x43).rw(m_upd71059c, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff);
- map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-}
-
-void m72_state::m84_v33_portmap(address_map &map)
-{
- map(0x00, 0x01).portr("IN0");
- map(0x02, 0x03).portr("IN1");
- map(0x04, 0x05).portr("DSW");
- map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- map(0x02, 0x02).w(FUNC(m72_state::rtype2_port02_w));
- map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-// map(0x8c, 0x8f).nopw(); /* ??? */
-}
-
-
-void m72_state::poundfor_portmap(address_map &map)
-{
- map(0x02, 0x03).portr("IN1");
- map(0x04, 0x05).portr("DSW");
- map(0x08, 0x0f).r("upd4701l", FUNC(upd4701_device::read_xy)).umask16(0x00ff);
- map(0x08, 0x0f).r("upd4701h", FUNC(upd4701_device::read_xy)).umask16(0xff00);
- map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- map(0x02, 0x02).w(FUNC(m72_state::poundfor_port02_w));
- map(0x40, 0x43).rw(m_upd71059c, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff);
- map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-}
-
-void m72_state::m82_portmap(address_map &map)
-{
- map(0x00, 0x01).portr("IN0");
- map(0x02, 0x03).portr("IN1");
- map(0x04, 0x05).portr("DSW");
- map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- map(0x02, 0x02).w(FUNC(m72_state::rtype2_port02_w));
- map(0x40, 0x43).rw(m_upd71059c, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff);
- map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-
- // these ports control the tilemap sizes, rowscroll etc. that m82 has, exact bit usage not known (maybe one for each layer?)
- map(0x8c, 0x8d).w(FUNC(m72_state::m82_tm_ctrl_w));
- map(0x8e, 0x8f).w(FUNC(m72_state::m82_gfx_ctrl_w));
-}
-
-void m72_state::m81_portmap(address_map &map)
-{
- map(0x00, 0x01).portr("IN0");
- map(0x02, 0x03).portr("IN1");
- map(0x04, 0x05).portr("DSW");
- map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- map(0x02, 0x02).w(FUNC(m72_state::rtype2_port02_w)); /* coin counters, reset sound cpu, other stuff? */
- map(0x04, 0x04).w(FUNC(m72_state::dmaon_w));
- map(0x06, 0x07).w(FUNC(m72_state::irq_line_w));
- map(0x40, 0x43).rw(m_upd71059c, FUNC(pic8259_device::read), FUNC(pic8259_device::write)).umask16(0x00ff);
- map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-}
-
-void m72_state::lohtb_portmap(address_map &map)
-{
- map(0x20, 0x21).portr("IN0");
- map(0x22, 0x23).portr("IN1");
- map(0x24, 0x25).portr("DSW");
- //map(0x00, 0x00).w("soundlatch", FUNC(generic_latch_8_device::write));
- //map(0x02, 0x02).w(FUNC(m72_state::port02_w)); /* coin counters, reset sound cpu, other stuff? */
- //map(0x04, 0x04).w(FUNC(m72_state::dmaon_w));
- //map(0x06, 0x07).w(FUNC(m72_state::irq_line_w));
- //map(0x80, 0x81).w(FUNC(m72_state::scrolly_w<0>));
- //map(0x82, 0x83).w(FUNC(m72_state::scrollx_w<0>));
- //map(0x84, 0x85).w(FUNC(m72_state::scrolly_w<1>));
- //map(0x86, 0x87).w(FUNC(m72_state::scrollx_w<1>));
-}
-
-void m72_state::sound_ram_map(address_map &map)
-{
- map(0x0000, 0xffff).ram().share("soundram");
-}
-
-void m72_state::sound_rom_map(address_map &map)
-{
- map(0x0000, 0xefff).rom();
- map(0xf000, 0xffff).ram();
-}
-
-void m72_state::rtype_sound_portmap(address_map &map)
-{
- map.global_mask(0xff);
- map(0x00, 0x01).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0x02, 0x02).r("soundlatch", FUNC(generic_latch_8_device::read));
- map(0x06, 0x06).w("soundlatch", FUNC(generic_latch_8_device::acknowledge_w));
-}
-
-void m72_state::sound_portmap(address_map &map)
-{
- rtype_sound_portmap(map);
- map.global_mask(0xff);
- map(0x82, 0x82).w(m_audio, FUNC(m72_audio_device::sample_w));
- map(0x84, 0x84).r(m_audio, FUNC(m72_audio_device::sample_r));
-}
-
-void m72_state::sound_protected_portmap(address_map &map)
-{
- rtype_sound_portmap(map);
- map.global_mask(0xff);
- map(0x82, 0x82).w("mculatch", FUNC(generic_latch_8_device::write));
- map(0x84, 0x84).r("soundlatch2", FUNC(generic_latch_8_device::read));
-}
-
-void m72_state::rtype2_sound_portmap(address_map &map)
-{
- map.global_mask(0xff);
- map(0x00, 0x01).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0x80, 0x80).r("soundlatch", FUNC(generic_latch_8_device::read));
- map(0x80, 0x81).w(m_audio, FUNC(m72_audio_device::rtype2_sample_addr_w));
- map(0x82, 0x82).w(m_audio, FUNC(m72_audio_device::sample_w));
- map(0x83, 0x83).w("soundlatch", FUNC(generic_latch_8_device::acknowledge_w));
- map(0x84, 0x84).r(m_audio, FUNC(m72_audio_device::sample_r));
-// map(0x87, 0x87).nopw(); /* ??? */
-}
-
-void m72_state::poundfor_sound_portmap(address_map &map)
-{
- map.global_mask(0xff);
- map(0x10, 0x13).w(m_audio, FUNC(m72_audio_device::poundfor_sample_addr_w));
- map(0x40, 0x41).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0x42, 0x42).rw("soundlatch", FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::acknowledge_w));
-}
-
-void m72_state::i80c31_mem_map(address_map &map)
-{
- map(0x0000, 0x1fff).rom().region("mcu", 0);
-}
-
-void m72_state::mcu_io_map(address_map &map)
-{
- /* External access */
- map(0x0000, 0x0000).rw(FUNC(m72_state::mcu_sample_r), FUNC(m72_state::mcu_low_w));
- map(0x0001, 0x0001).w(FUNC(m72_state::mcu_high_w));
- map(0x0002, 0x0002).rw("mculatch", FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::acknowledge_w));
- /* shared at b0000 - b0fff on the main cpu */
- map(0xc000, 0xcfff).rw(FUNC(m72_state::mcu_data_r), FUNC(m72_state::mcu_data_w));
-}
-
-#define COIN_MODE_1 \
- PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coinage ) ) PORT_CONDITION("DSW", 0x0400, NOTEQUALS, 0x0000) PORT_DIPLOCATION("SW1:5,6,7,8") \
- PORT_DIPSETTING( 0x00a0, DEF_STR( 6C_1C ) ) \
- PORT_DIPSETTING( 0x00b0, DEF_STR( 5C_1C ) ) \
- PORT_DIPSETTING( 0x00c0, DEF_STR( 4C_1C ) ) \
- PORT_DIPSETTING( 0x00d0, DEF_STR( 3C_1C ) ) \
- PORT_DIPSETTING( 0x0010, DEF_STR( 8C_3C ) ) \
- PORT_DIPSETTING( 0x00e0, DEF_STR( 2C_1C ) ) \
- PORT_DIPSETTING( 0x0020, DEF_STR( 5C_3C ) ) \
- PORT_DIPSETTING( 0x0030, DEF_STR( 3C_2C ) ) \
- PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) ) \
- PORT_DIPSETTING( 0x0040, DEF_STR( 2C_3C ) ) \
- PORT_DIPSETTING( 0x0090, DEF_STR( 1C_2C ) ) \
- PORT_DIPSETTING( 0x0080, DEF_STR( 1C_3C ) ) \
- PORT_DIPSETTING( 0x0070, DEF_STR( 1C_4C ) ) \
- PORT_DIPSETTING( 0x0060, DEF_STR( 1C_5C ) ) \
- PORT_DIPSETTING( 0x0050, DEF_STR( 1C_6C ) ) \
- PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
-
-#define COIN_MODE_2_A \
- PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) ) PORT_CONDITION("DSW", 0x0400, EQUALS, 0x0000) PORT_DIPLOCATION("SW1:5,6") \
- PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) \
- PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) ) \
- PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) ) \
- PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) ) \
- PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) ) PORT_CONDITION("DSW", 0x0400, EQUALS, 0x0000) PORT_DIPLOCATION("SW1:7,8") \
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_2C ) ) \
- PORT_DIPSETTING( 0x0080, DEF_STR( 1C_3C ) ) \
- PORT_DIPSETTING( 0x0040, DEF_STR( 1C_5C ) ) \
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
-
-static INPUT_PORTS_START( common )
- PORT_START("IN0")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON4 )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_COCKTAIL
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
-
- PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE ) /* 0x20 is another test mode */
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) /* sprite DMA complete */
- PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( rtype )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x0000, "50K 150K 250K 400K 600K" )
- PORT_DIPSETTING( 0x0008, "100K 200K 350K 500K 700K" )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8")
-INPUT_PORTS_END
-
-/* identical but Demo Sounds is inverted */
-static INPUT_PORTS_START( rtypep )
- PORT_INCLUDE( rtype )
-
- PORT_MODIFY("DSW")
- PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( On ) )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( bchopper )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0000, "1" )
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x0008, "80K 200K 350K" )
- PORT_DIPSETTING( 0x0000, "100K 250K 400K" )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8")
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( nspirit )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( imgfight )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hardest ) )
- PORT_DIPSETTING( 0x0000, "Debug Mode 2 lap" ) /* Not used according to manual */
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "SW2:5" )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:7" )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( loht )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0000, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0002, "4" )
- PORT_DIPSETTING( 0x0001, "5" )
- PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x0008, IP_ACTIVE_LOW, "SW1:4" )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x1800, 0x1800, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:4,5")
- PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x1800, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( Hardest ) )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "Invulnerability" ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( xmultipl )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0008, "1" )
- PORT_DIPSETTING( 0x0004, "2" )
- PORT_DIPSETTING( 0x000c, "3" )
- PORT_DIPSETTING( 0x0000, "4" )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, "Upright (single)" ) PORT_CONDITION("DSW", 0x1000, NOTEQUALS, 0x0000)
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) ) PORT_CONDITION("DSW", 0x1000, NOTEQUALS, 0x0000)
- PORT_DIPSETTING( 0x0000, "Upright (double) On" ) PORT_CONDITION("DSW", 0x1000, EQUALS, 0x0000)
- PORT_DIPSETTING( 0x0200, "Upright (double) Off" ) PORT_CONDITION("DSW", 0x1000, EQUALS, 0x0000)
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, "Upright (double) Mode" ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Yes ) )
- PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:7" )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( m81_xmultipl )
- PORT_INCLUDE( xmultipl )
- M81_B_B_JUMPER_J3_W
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( dbreed )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0000, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Yes ) )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:7" )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8")
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( m81_dbreed )
- PORT_INCLUDE( dbreed )
- M81_B_B_JUMPER_J3_S
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( rtype2 )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- /* Coin Mode 1 */
- COIN_MODE_1
- /* Coin Mode 2 */
- COIN_MODE_2_A
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Coin Mode" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x0400, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- PORT_DIPNAME( 0x1800, 0x1000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:4,5")
- PORT_DIPSETTING( 0x1000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0000, "Upright (2P)" )
- PORT_DIPSETTING( 0x1800, DEF_STR( Cocktail ) )
- /* In stop mode, press 2 to stop and 1 to restart */
- PORT_DIPNAME( 0x2000, 0x2000, "Stop Mode" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:7" ) /* Always OFF according to the manual */
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8")
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( hharry )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0000, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x0010, 0x0010, "Continue Limit" ) PORT_DIPLOCATION("SW1:5")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:6")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0600, 0x0400, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2,3")
- PORT_DIPSETTING( 0x0400, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0000, "Upright (2P)" )
- PORT_DIPSETTING( 0x0600, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0800, 0x0800, "Coin Mode" ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- /* Coin Mode 1 */
- IREM_COIN_MODE_1_NEW_HIGH
- /* Coin mode 2 */
- IREM_COIN_MODE_2_HIGH
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( m81_hharry )
- PORT_INCLUDE( hharry )
- M81_B_B_JUMPER_J3_S
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( poundfor )
- PORT_START("IN0") // not read directly
- PORT_BIT( 0x9f9f, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_WRITE_LINE_DEVICE_MEMBER("upd4701l", upd4701_device, right_w)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_WRITE_LINE_DEVICE_MEMBER("upd4701l", upd4701_device, left_w)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_WRITE_LINE_DEVICE_MEMBER("upd4701h", upd4701_device, right_w)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_WRITE_LINE_DEVICE_MEMBER("upd4701h", upd4701_device, left_w)
-
- PORT_START("IN1")
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE ) /* 0x0020 is another test mode */
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) /* sprite DMA complete */
- PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, "Round Time" ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "60" )
- PORT_DIPSETTING( 0x0003, "90" )
- PORT_DIPSETTING( 0x0001, "120" )
- PORT_DIPSETTING( 0x0000, "150" )
- PORT_DIPNAME( 0x0004, 0x0004, "Matches/Credit (2P)" ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0004, "1" )
- PORT_DIPSETTING( 0x0000, "2" )
- PORT_DIPNAME( 0x0008, 0x0008, "Rounds/Match" ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x0008, "2" )
- PORT_DIPSETTING( 0x0000, "3" )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:5")
- PORT_DIPSETTING( 0x0010, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
- PORT_DIPNAME( 0x0020, 0x0020, "Trackball Size" ) PORT_DIPLOCATION("SW1:6")
- PORT_DIPSETTING( 0x0020, "Small" )
- PORT_DIPSETTING( 0x0000, "Large" )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8")
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0600, 0x0400, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2,3")
- PORT_DIPSETTING( 0x0400, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, "Upright (2P)" )
- PORT_DIPSETTING( 0x0600, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0800, 0x0800, "Coin Mode" ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- /* Coin Mode 1 */
- PORT_DIPNAME( 0xf000, 0xf000, DEF_STR( Coinage ) ) PORT_CONDITION("DSW", 0x0800, NOTEQUALS, 0x0000) PORT_DIPLOCATION("SW2:5,6,7,8")
- PORT_DIPSETTING( 0xa000, DEF_STR( 6C_1C ) )
- PORT_DIPSETTING( 0xb000, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0xc000, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0xd000, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0xe000, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x3000, DEF_STR( 3C_2C ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( 4C_3C ) )
- PORT_DIPSETTING( 0xf000, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x1000, "1 Coin/1 Credit, 1 Coin/Continue" )
- PORT_DIPSETTING( 0x4000, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x9000, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x7000, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x6000, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x5000, DEF_STR( 1C_6C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
- /* Coin Mode 2 */
- IREM_COIN_MODE_2_HIGH
-
- PORT_START("TRACK0_X")
- PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30) PORT_RESET PORT_PLAYER(1)
-
- PORT_START("TRACK0_Y")
- PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30) PORT_REVERSE PORT_RESET PORT_PLAYER(1)
-
- PORT_START("TRACK1_X")
- PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30) PORT_REVERSE PORT_RESET PORT_PLAYER(2)
-
- PORT_START("TRACK1_Y")
- PORT_BIT( 0x0fff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30) PORT_RESET PORT_PLAYER(2)
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( airduel )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0000, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" ) /* Manual says not used, must be OFF */
- PORT_DIPUNUSED_DIPLOC( 0x0020, IP_ACTIVE_LOW, "SW1:6" ) /* Manual says not used, must be OFF */
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW1:2" ) /* Manual says not used, must be OFF */
- PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW1:3" ) /* Manual says not used, must be OFF */
- PORT_DIPNAME( 0x0800, 0x0800, "Coin Mode" ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- /* Coin Mode 1 */
- PORT_DIPNAME( 0xf000, 0xf000, DEF_STR( Coinage ) ) PORT_CONDITION("DSW", 0x0800, NOTEQUALS, 0x0000) PORT_DIPLOCATION("SW2:5,6,7,8")
- PORT_DIPSETTING( 0xa000, DEF_STR( 6C_1C ) )
- PORT_DIPSETTING( 0xb000, DEF_STR( 5C_1C ) )
- PORT_DIPSETTING( 0xc000, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0xd000, DEF_STR( 3C_1C ) )
-// PORT_DIPSETTING( 0x1000, DEF_STR( Free-Play ) ) /* another free play */
- PORT_DIPSETTING( 0xe000, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x3000, DEF_STR( 3C_2C ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( 4C_3C ) )
- PORT_DIPSETTING( 0xf000, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x9000, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x7000, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x6000, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x5000, DEF_STR( 1C_6C ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
- /* Coin Mode 2 */
- IREM_COIN_MODE_2_HIGH
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( gallop )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0000, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- PORT_DIPUNUSED_DIPLOC( 0x0010, IP_ACTIVE_LOW, "SW1:5" )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:6")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0600, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:2,3")
- PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0200, "Upright (2P)" )
- PORT_DIPSETTING( 0x0600, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0800, 0x0800, "Coin Mode" ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- /* Coin Mode 1 */
- IREM_COIN_MODE_1_NEW_HIGH
- /* Coin mode 2 */
- IREM_COIN_MODE_2_HIGH
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( kengo )
- PORT_INCLUDE( common )
-
- PORT_START("DSW")
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2")
- PORT_DIPSETTING( 0x0002, "2" )
- PORT_DIPSETTING( 0x0003, "3" )
- PORT_DIPSETTING( 0x0001, "4" )
- PORT_DIPSETTING( 0x0000, "5" )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,4")
- PORT_DIPSETTING( 0x0000, DEF_STR( Very_Easy ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( Hard ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW1:5" )
- PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:6")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x0020, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPUNKNOWN_DIPLOC( 0x0200, 0x0200, "SW2:2" )
- PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW2:3" )
- PORT_DIPNAME( 0x0800, 0x0800, "Coin Mode" ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x0800, "Mode 1" )
- PORT_DIPSETTING( 0x0000, "Mode 2" )
- /* Coin Mode 1 */
- IREM_COIN_MODE_1_NEW_HIGH
- /* Coin mode 2 */
- IREM_COIN_MODE_2_HIGH
-INPUT_PORTS_END
-
-
-
-static const gfx_layout tilelayout =
-{
- 8,8, /* 8*8 characters */
- RGN_FRAC(1,4), /* NUM characters */
- 4, /* 4 bits per pixel */
- { RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
- { STEP8(0,1) },
- { STEP8(0,8) },
- 8*8 /* every char takes 8 consecutive bytes */
-};
-
-static const gfx_layout spritelayout =
-{
- 16,16, /* 16*16 sprites */
- RGN_FRAC(1,4), /* NUM characters */
- 4, /* 4 bits per pixel */
- { RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
- { STEP8(0,1), STEP8(16*8,1) },
- { STEP16(0,8) },
- 32*8 /* every sprite takes 32 consecutive bytes */
-};
-
-static GFXDECODE_START( gfx_m72 )
- GFXDECODE_ENTRY( "sprites", 0, spritelayout, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 256, 16 )
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 256, 16 )
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_rtype2 )
- GFXDECODE_ENTRY( "sprites", 0, spritelayout, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 256, 16 )
-GFXDECODE_END
-
-static GFXDECODE_START( gfx_majtitle )
- GFXDECODE_ENTRY( "sprites", 0, spritelayout, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 256, 16 )
- GFXDECODE_ENTRY( "sprites2", 0, spritelayout, 0, 16 )
-GFXDECODE_END
-
-
-void m72_state::m72_audio_chips(machine_config &config)
-{
- /* sound hardware */
- SPEAKER(config, "speaker").front_center();
-
- generic_latch_8_device &soundlatch(GENERIC_LATCH_8(config, "soundlatch"));
- soundlatch.data_pending_callback().set("soundirq", FUNC(rst_neg_buffer_device::rst18_w));
- soundlatch.set_separate_acknowledge(true);
-
- RST_NEG_BUFFER(config, "soundirq", 0).int_callback().set_inputline(m_soundcpu, 0);
-
- m_soundcpu->set_irq_acknowledge_callback("soundirq", FUNC(rst_neg_buffer_device::inta_cb));
-
- IREM_M72_AUDIO(config, m_audio);
- m_audio->set_device_rom_tag("samples");
- m_audio->set_dac_tag("dac");
-
- ym2151_device &ymsnd(YM2151(config, "ymsnd", SOUND_CLOCK));
- ymsnd.irq_handler().set("soundirq", FUNC(rst_neg_buffer_device::rst28_w));
- ymsnd.add_route(ALL_OUTPUTS, "speaker", 1.0);
-
- DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.3); // unknown DAC
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
- vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
-}
-
-void m72_state::m72_base(machine_config &config)
-{
- /* basic machine hardware */
- V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::m72_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m72_portmap);
- m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb));
-
- Z80(config, m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_ram_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::sound_portmap);
-
- PIC8259(config, m_upd71059c, 0);
- m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_m72);
- PALETTE(config, m_palette).set_entries(512);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256);
- m_screen->set_screen_update(FUNC(m72_state::screen_update));
- m_screen->set_palette(m_palette);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
-
- m72_audio_chips(config);
-}
-
-void m72_state::m72(machine_config &config)
-{
- m72_base(config);
- /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */
- m_soundcpu->set_periodic_int(FUNC(m72_state::fake_nmi), attotime::from_hz(MASTER_CLOCK/8/512));
- /* IRQs are generated by main Z80 and YM2151 */
-}
-
-void m72_state::m72_8751(machine_config &config)
-{
- m72_base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::m72_protected_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m72_protected_portmap);
-
- m_soundcpu->set_addrmap(AS_IO, &m72_state::sound_protected_portmap);
-
- MB8421_MB8431_16BIT(config, m_dpram);
- //m_dpram->intl_callback().set(m_upd71059c, FUNC(pic8259_device::ir3_w)); // not actually used?
- m_dpram->intr_callback().set_inputline("mcu", MCS51_INT0_LINE);
-
- generic_latch_8_device &mculatch(GENERIC_LATCH_8(config, "mculatch"));
- mculatch.data_pending_callback().set_inputline(m_mcu, MCS51_INT1_LINE);
- mculatch.set_separate_acknowledge(true);
-
- GENERIC_LATCH_8(config, "soundlatch2").data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI);
-
- i8751_device &mcu(I8751(config, m_mcu, XTAL(8'000'000))); /* Uses its own XTAL */
- mcu.set_addrmap(AS_IO, &m72_state::mcu_io_map);
- mcu.port_out_cb<1>().set(m_dac, FUNC(dac_byte_interface::write));
-}
-
-void m72_state::m72_airduel(machine_config &config)
-{
- m72_8751(config);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m72_airduel_portmap);
-}
-
-void m72_state::imgfightb(machine_config &config)
-{
- m72_8751(config);
- i80c31_device &mcu(I80C31(config.replace(), m_mcu, XTAL(7'200'000)));
- mcu.set_addrmap(AS_PROGRAM, &m72_state::i80c31_mem_map);
- mcu.set_addrmap(AS_IO, &m72_state::mcu_io_map);
-
- // TODO: uses 6116 type RAM instead of MB8421 and MB8431
-}
-
-void m72_state::rtype(machine_config &config)
-{
- m72_base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::rtype_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype_sound_portmap);
-
- config.device_remove("m72");
- config.device_remove("dac");
- config.device_remove("vref");
-}
-
-void m72_state::m72_xmultipl(machine_config &config)
-{
- m72_8751(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::xmultiplm72_map);
-
- /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512));
- /* IRQs are generated by main Z80 and YM2151 */
-}
-
-void m72_state::m72_dbreedw(machine_config &config)
-{
- m72_base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::dbreedwm72_map);
-
- /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512));
- /* IRQs are generated by main Z80 and YM2151 */
-}
-
-void m72_state::m72_dbreed(machine_config &config)
-{
- m72_8751(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::dbreedm72_map);
-
- /* Sample rate verified (Gallop : https://youtu.be/aozd0dbPzOw) */
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512));
- /* IRQs are generated by main Z80 and YM2151 */
-}
-
-
-
-
-/****************************************** M81 ***********************************************/
-
-// M81 is closest to M72
-void m72_state::m81_hharry(machine_config &config)
-{
- m72_base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::hharry_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m81_portmap);
-
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype2_sound_portmap);
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512));
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,hharry)
-
- m_screen->set_screen_update(FUNC(m72_state::screen_update_m81));
-}
-
-void m72_state::m81_xmultipl(machine_config &config)
-{
- m81_hharry(config);
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::xmultipl_map);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl) // different offsets
-}
-
-void m72_state::m81_dbreed(machine_config &config)
-{
- m81_xmultipl(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::dbreed_map);
-}
-
-/****************************************** M84 ***********************************************/
-
-// M84
-void m72_state::rtype2(machine_config &config)
-{
- /* basic machine hardware */
- V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::rtype2_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m84_portmap);
- m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb));
-
- Z80(config, m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype2_sound_portmap);
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); /* verified (https://youtu.be/lUszf9Ong7U) */
- /* IRQs are generated by main Z80 and YM2151 */
-
- PIC8259(config, m_upd71059c, 0);
- m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_rtype2);
- PALETTE(config, m_palette).set_entries(512);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256);
- m_screen->set_screen_update(FUNC(m72_state::screen_update));
- m_screen->set_palette(m_palette);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,rtype2)
-
- m72_audio_chips(config);
-}
-
-// not m72, different video system (less tiles regions?) (M84? M82?)
-void m72_state::hharryu(machine_config &config)
-{
- rtype2(config);
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::hharryu_map);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
-}
-
-
-// M84
-
-void m72_state::cosmccop(machine_config &config)
-{
- /* basic machine hardware */
- V35(config, m_maincpu, MASTER_CLOCK/2);
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::kengo_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m84_v33_portmap);
-
- Z80(config, m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype2_sound_portmap);
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); /* verified (https://youtu.be/Sol2Yq2S5hQ) */
- /* IRQs are generated by main Z80 and YM2151 */
-
- MCFG_MACHINE_START_OVERRIDE(m72_state,kengo)
- MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo)
-
- // upd71059c isn't needed because the V35 has its own IRQ controller
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_rtype2);
- PALETTE(config, m_palette).set_entries(512);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256);
- m_screen->set_screen_update(FUNC(m72_state::screen_update));
- m_screen->set_palette(m_palette);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
-
- m72_audio_chips(config);
-}
-
-void m72_state::kengo(machine_config &config)
-{
- cosmccop(config);
- subdevice<v35_device>("maincpu")->set_decryption_table(gunforce_decryption_table);
-}
-
-void m72_state::imgfightj(machine_config &config)
-{
- m72_8751(config);
- MCFG_VIDEO_START_OVERRIDE(m72_state,imgfightj)
-}
-
-void m72_state::nspiritj(machine_config &config)
-{
- m72_8751(config);
- MCFG_VIDEO_START_OVERRIDE(m72_state,nspiritj)
-}
-
-void m72_state::mrheli(machine_config &config)
-{
- m72_8751(config);
- MCFG_VIDEO_START_OVERRIDE(m72_state,mrheli)
-}
-
-/****************************************** M82 ***********************************************/
-
-/* Major Title uses
-
-M82-A-A as the top board
-M82-B-A and as the bottom board
-
-*/
-void m72_state::m82(machine_config &config)
-{
- /* basic machine hardware */
- V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::m82_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::m82_portmap);
- m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb));
-
- Z80(config, m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::rtype2_sound_portmap);
- m_soundcpu->set_periodic_int(FUNC(m72_state::nmi_line_pulse), attotime::from_hz(MASTER_CLOCK/8/512)); /* verified (https://youtu.be/lLQDPe-8Ha0) */
- /* IRQs are generated by main Z80 and YM2151 */
-
- PIC8259(config, m_upd71059c, 0);
- m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_majtitle);
- PALETTE(config, m_palette).set_entries(512);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256);
- m_screen->set_screen_update(FUNC(m72_state::screen_update_m82));
- m_screen->set_palette(m_palette);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,m82)
-
- m72_audio_chips(config);
-}
-
-
-/* Pound for Pound uses
- M85-A-B / M85-B
-*/
-
-void m72_state::poundfor(machine_config &config)
-{
- /* basic machine hardware */
- V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::rtype2_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::poundfor_portmap);
- m_maincpu->set_irq_acknowledge_callback("upd71059c", FUNC(pic8259_device::inta_cb));
-
- Z80(config, m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::poundfor_sound_portmap);
- m_soundcpu->set_periodic_int(FUNC(m72_state::fake_nmi), attotime::from_hz(MASTER_CLOCK/8/512)); /* clocked by V1? (Vigilante) */
- /* IRQs are generated by main Z80 and YM2151 */
-
- PIC8259(config, m_upd71059c, 0);
- m_upd71059c->out_int_callback().set_inputline(m_maincpu, 0);
-
- UPD4701A(config, m_upd4701[0]);
- m_upd4701[0]->set_portx_tag("TRACK0_X");
- m_upd4701[0]->set_porty_tag("TRACK0_Y");
-
- UPD4701A(config, m_upd4701[1]);
- m_upd4701[1]->set_portx_tag("TRACK1_X");
- m_upd4701[1]->set_porty_tag("TRACK1_Y");
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_rtype2);
- PALETTE(config, m_palette).set_entries(512);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256);
- m_screen->set_screen_update(FUNC(m72_state::screen_update));
- m_screen->set_palette(m_palette);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
-
- m72_audio_chips(config);
-}
-
-void m72_state::lohtb(machine_config &config) // almost all to be verified
-{
- /* basic machine hardware */
- V30(config, m_maincpu, MASTER_CLOCK/2/2); /* 16 MHz external freq (8MHz internal) */
- m_maincpu->set_addrmap(AS_PROGRAM, &m72_state::lohtb_map);
- m_maincpu->set_addrmap(AS_IO, &m72_state::lohtb_portmap);
-
- Z80(config, m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &m72_state::sound_rom_map);
- m_soundcpu->set_addrmap(AS_IO, &m72_state::sound_portmap);
-
- MCFG_MACHINE_START_OVERRIDE(m72_state,kengo)
- MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo)
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_m72);
- PALETTE(config, m_palette).set_entries(512);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256);
- m_screen->set_screen_update(FUNC(m72_state::screen_update));
- m_screen->set_palette(m_palette);
- m_screen->screen_vblank().set_inputline(m_maincpu, 0);
-
- MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
-
- m72_audio_chips(config);
-}
-
-/***************************************************************************
-
- Game driver(s)
-
-***************************************************************************/
-
-ROM_START( rtype )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD16_BYTE( "rt_r-h0-b.1b", 0x00001, 0x10000, CRC(591c7754) SHA1(0b9d5474bc5963224923126cf84d74a39b8270cc) )
- ROM_LOAD16_BYTE( "rt_r-l0-b.3b", 0x00000, 0x10000, CRC(a1928df0) SHA1(3001c1b87cd1d441ba1226fb5b9dd6268458c0e8) )
- ROM_LOAD16_BYTE( "rt_r-h1-b.1c", 0x20001, 0x10000, CRC(a9d71eca) SHA1(008d1dc289df2ae2ba8f93d319c2b2c108cb9b89) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "rt_r-l1-b.3c", 0x20000, 0x10000, CRC(0df3573d) SHA1(0144c846fd0bdb3e4d790f6cb7bb64829e931b76) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x80000, "sprites", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD( "rt_r-00.1h", 0x00000, 0x10000, CRC(dad53bc0) SHA1(1e3bc498861946278a0b1fe24259f5d224e265d7) ) /* sprites */
- ROM_LOAD( "rt_r-01.1j", 0x10000, 0x08000, CRC(5e441e7f) SHA1(6741eb7f2d9d985b5a89eefc73ea44c3e38de6f7) )
- ROM_RELOAD( 0x18000, 0x08000 )
- ROM_LOAD( "rt_r-10.1k", 0x20000, 0x10000, CRC(d6a66298) SHA1(d2873d05aa3b257e7699c188880ac3daad672fa5) )
- ROM_LOAD( "rt_r-11.1l", 0x30000, 0x08000, CRC(791df4f8) SHA1(5239a97222212ac9c019177771cb2b5096b7bc17) )
- ROM_RELOAD( 0x38000, 0x08000 )
- ROM_LOAD( "rt_r-20.3h", 0x40000, 0x10000, CRC(fc247c8a) SHA1(01cf0a60f47fa5e2ed430a3f075e69e6cb762a48) )
- ROM_LOAD( "rt_r-21.3j", 0x50000, 0x08000, CRC(ed793841) SHA1(7e55a9a11fcd989db39bce6be48821b747c7d97f) )
- ROM_RELOAD( 0x58000, 0x08000 )
- ROM_LOAD( "rt_r-30.3k", 0x60000, 0x10000, CRC(eb02a1cb) SHA1(60a394ab53afdcbbf9e88083b8dbe8c897170d77) )
- ROM_LOAD( "rt_r-31.3l", 0x70000, 0x08000, CRC(8558355d) SHA1(b5467d1f22f6e5f90c5d8a8ac2d55974f287d589) )
- ROM_RELOAD( 0x78000, 0x08000 )
-
- ROM_REGION( 0x20000, "gfx2", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-a0.3c", 0x00000, 0x08000, CRC(4e212fb0) SHA1(687061ecade2ebd0bd1343c9c4a831791853f79c) ) /* tiles #1 */
- ROM_LOAD( "rt_b-a1.3d", 0x08000, 0x08000, CRC(8a65bdff) SHA1(130bf6af521f13247a739a95eab4bdaa24b2ac10) )
- ROM_LOAD( "rt_b-a2.3a", 0x10000, 0x08000, CRC(5a4ae5b9) SHA1(95c3b64f50e6f673b2bf9b40642c152da5009d25) )
- ROM_LOAD( "rt_b-a3.3e", 0x18000, 0x08000, CRC(73327606) SHA1(9529ecdedd30e2a0400fb1083117992cc18b5158) )
-
- ROM_REGION( 0x20000, "gfx3", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-b0.3j", 0x00000, 0x08000, CRC(a7b17491) SHA1(5b390770e56ba2d35e108534d7eda8dca996fdf7) ) /* tiles #2 */
- ROM_LOAD( "rt_b-b1.3k", 0x08000, 0x08000, CRC(b9709686) SHA1(700905a3e9661e0874939f54da2909e1396ce596) )
- ROM_LOAD( "rt_b-b2.3h", 0x10000, 0x08000, CRC(433b229a) SHA1(14222eaa3e67e5a7f80eafcf22bac4eb2d485a9a) )
- ROM_LOAD( "rt_b-b3.3f", 0x18000, 0x08000, CRC(ad89b072) SHA1(e2683d0e7415f3abd147e518bf6c87e44744cd4f) )
-ROM_END
-
-ROM_START( rtypej )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD16_BYTE( "rt_r-h0-.1b", 0x00001, 0x10000, CRC(c2940df2) SHA1(cbccd205ef81a0e39990a34d46e3f7d52b62e385) )
- ROM_LOAD16_BYTE( "rt_r-l0-.3b", 0x00000, 0x10000, CRC(858cc0f6) SHA1(7a256fe3aa3a96e161dd485a90b18c421b61458b) )
- ROM_LOAD16_BYTE( "rt_r-h1-.1c", 0x20001, 0x10000, CRC(5bcededa) SHA1(4ada3fd207fa57751f8e3d885bc91b374e27035d) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "rt_r-l1-.3c", 0x20000, 0x10000, CRC(4821141c) SHA1(df6cf04c3ecd04b6f27a96871848904575414dae) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x80000, "sprites", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD( "rt_r-00.1h", 0x00000, 0x10000, CRC(dad53bc0) SHA1(1e3bc498861946278a0b1fe24259f5d224e265d7) ) /* sprites */
- ROM_LOAD( "rt_r-01.1j", 0x10000, 0x08000, CRC(5e441e7f) SHA1(6741eb7f2d9d985b5a89eefc73ea44c3e38de6f7) )
- ROM_RELOAD( 0x18000, 0x08000 )
- ROM_LOAD( "rt_r-10.1k", 0x20000, 0x10000, CRC(d6a66298) SHA1(d2873d05aa3b257e7699c188880ac3daad672fa5) )
- ROM_LOAD( "rt_r-11.1l", 0x30000, 0x08000, CRC(791df4f8) SHA1(5239a97222212ac9c019177771cb2b5096b7bc17) )
- ROM_RELOAD( 0x38000, 0x08000 )
- ROM_LOAD( "rt_r-20.3h", 0x40000, 0x10000, CRC(fc247c8a) SHA1(01cf0a60f47fa5e2ed430a3f075e69e6cb762a48) )
- ROM_LOAD( "rt_r-21.3j", 0x50000, 0x08000, CRC(ed793841) SHA1(7e55a9a11fcd989db39bce6be48821b747c7d97f) )
- ROM_RELOAD( 0x58000, 0x08000 )
- ROM_LOAD( "rt_r-30.3k", 0x60000, 0x10000, CRC(eb02a1cb) SHA1(60a394ab53afdcbbf9e88083b8dbe8c897170d77) )
- ROM_LOAD( "rt_r-31.3l", 0x70000, 0x08000, CRC(8558355d) SHA1(b5467d1f22f6e5f90c5d8a8ac2d55974f287d589) )
- ROM_RELOAD( 0x78000, 0x08000 )
-
- ROM_REGION( 0x20000, "gfx2", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-a0.3c", 0x00000, 0x08000, CRC(4e212fb0) SHA1(687061ecade2ebd0bd1343c9c4a831791853f79c) ) /* tiles #1 */
- ROM_LOAD( "rt_b-a1.3d", 0x08000, 0x08000, CRC(8a65bdff) SHA1(130bf6af521f13247a739a95eab4bdaa24b2ac10) )
- ROM_LOAD( "rt_b-a2.3a", 0x10000, 0x08000, CRC(5a4ae5b9) SHA1(95c3b64f50e6f673b2bf9b40642c152da5009d25) )
- ROM_LOAD( "rt_b-a3.3e", 0x18000, 0x08000, CRC(73327606) SHA1(9529ecdedd30e2a0400fb1083117992cc18b5158) )
-
- ROM_REGION( 0x20000, "gfx3", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-b0.3j", 0x00000, 0x08000, CRC(a7b17491) SHA1(5b390770e56ba2d35e108534d7eda8dca996fdf7) ) /* tiles #2 */
- ROM_LOAD( "rt_b-b1.3k", 0x08000, 0x08000, CRC(b9709686) SHA1(700905a3e9661e0874939f54da2909e1396ce596) )
- ROM_LOAD( "rt_b-b2.3h", 0x10000, 0x08000, CRC(433b229a) SHA1(14222eaa3e67e5a7f80eafcf22bac4eb2d485a9a) )
- ROM_LOAD( "rt_b-b3.3f", 0x18000, 0x08000, CRC(ad89b072) SHA1(e2683d0e7415f3abd147e518bf6c87e44744cd4f) )
-ROM_END
-
-ROM_START( rtypejp )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD16_BYTE( "db_b1.bin", 0x00001, 0x10000, CRC(c1865141) SHA1(3302b6529aa903d81eb2196d745eb4f7f8316857) )
- ROM_LOAD16_BYTE( "db_a1.bin", 0x00000, 0x10000, CRC(5ad2bd90) SHA1(0937dbbdf0cbce2e81cecf4d770bbd8c6bd82801) )
- ROM_LOAD16_BYTE( "db_b2.bin", 0x20001, 0x10000, CRC(b4f6407e) SHA1(4a00d8e104c580900b4feb318dd162b77b71d0a5) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "db_a2.bin", 0x20000, 0x10000, CRC(6098d86f) SHA1(c6c9c1c2c30d5f190c40e000004bd21606efb8b0) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x80000, "sprites", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD( "rt_r-00.1h", 0x00000, 0x10000, CRC(dad53bc0) SHA1(1e3bc498861946278a0b1fe24259f5d224e265d7) ) /* sprites */
- ROM_LOAD( "rt_r-01.1j", 0x10000, 0x08000, CRC(5e441e7f) SHA1(6741eb7f2d9d985b5a89eefc73ea44c3e38de6f7) )
- ROM_RELOAD( 0x18000, 0x08000 )
- ROM_LOAD( "rt_r-10.1k", 0x20000, 0x10000, CRC(d6a66298) SHA1(d2873d05aa3b257e7699c188880ac3daad672fa5) )
- ROM_LOAD( "rt_r-11.1l", 0x30000, 0x08000, CRC(791df4f8) SHA1(5239a97222212ac9c019177771cb2b5096b7bc17) )
- ROM_RELOAD( 0x38000, 0x08000 )
- ROM_LOAD( "rt_r-20.3h", 0x40000, 0x10000, CRC(fc247c8a) SHA1(01cf0a60f47fa5e2ed430a3f075e69e6cb762a48) )
- ROM_LOAD( "rt_r-21.3j", 0x50000, 0x08000, CRC(ed793841) SHA1(7e55a9a11fcd989db39bce6be48821b747c7d97f) )
- ROM_RELOAD( 0x58000, 0x08000 )
- ROM_LOAD( "rt_r-30.3k", 0x60000, 0x10000, CRC(eb02a1cb) SHA1(60a394ab53afdcbbf9e88083b8dbe8c897170d77) )
- ROM_LOAD( "rt_r-31.3l", 0x70000, 0x08000, CRC(8558355d) SHA1(b5467d1f22f6e5f90c5d8a8ac2d55974f287d589) )
- ROM_RELOAD( 0x78000, 0x08000 )
-
- ROM_REGION( 0x20000, "gfx2", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-a0.3c", 0x00000, 0x08000, CRC(4e212fb0) SHA1(687061ecade2ebd0bd1343c9c4a831791853f79c) ) /* tiles #1 */
- ROM_LOAD( "rt_b-a1.3d", 0x08000, 0x08000, CRC(8a65bdff) SHA1(130bf6af521f13247a739a95eab4bdaa24b2ac10) )
- ROM_LOAD( "rt_b-a2.3a", 0x10000, 0x08000, CRC(5a4ae5b9) SHA1(95c3b64f50e6f673b2bf9b40642c152da5009d25) )
- ROM_LOAD( "rt_b-a3.3e", 0x18000, 0x08000, CRC(73327606) SHA1(9529ecdedd30e2a0400fb1083117992cc18b5158) )
-
- ROM_REGION( 0x20000, "gfx3", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-b0.3j", 0x00000, 0x08000, CRC(a7b17491) SHA1(5b390770e56ba2d35e108534d7eda8dca996fdf7) ) /* tiles #2 */
- ROM_LOAD( "rt_b-b1.3k", 0x08000, 0x08000, CRC(b9709686) SHA1(700905a3e9661e0874939f54da2909e1396ce596) )
- ROM_LOAD( "rt_b-b2.3h", 0x10000, 0x08000, CRC(433b229a) SHA1(14222eaa3e67e5a7f80eafcf22bac4eb2d485a9a) )
- ROM_LOAD( "rt_b-b3.3f", 0x18000, 0x08000, CRC(ad89b072) SHA1(e2683d0e7415f3abd147e518bf6c87e44744cd4f) )
-ROM_END
-
-ROM_START( rtypeu )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD16_BYTE( "rt_r-h0-a.1b", 0x00001, 0x10000, CRC(36008a4e) SHA1(832006cb14a34e1671e305cc8ae606c3c6185a6a) )
- ROM_LOAD16_BYTE( "rt_r-l0-a.3b", 0x00000, 0x10000, CRC(4aaa668e) SHA1(87059460b59f43f2ca8cd959d76f721facd9de96) )
- ROM_LOAD16_BYTE( "rt_r-h1-a.1c", 0x20001, 0x10000, CRC(7ebb2a53) SHA1(1466df19888c3374847eb77f702060647e49d6ad) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "rt_r-l1-a.3c", 0x20000, 0x10000, CRC(c28b103b) SHA1(f294a23c3917b97812eb4c7f3a99253fd0cbb7ea) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x80000, "sprites", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD( "rt_r-00.1h", 0x00000, 0x10000, CRC(dad53bc0) SHA1(1e3bc498861946278a0b1fe24259f5d224e265d7) ) /* sprites */
- ROM_LOAD( "rt_r-01.1j", 0x10000, 0x08000, CRC(5e441e7f) SHA1(6741eb7f2d9d985b5a89eefc73ea44c3e38de6f7) )
- ROM_RELOAD( 0x18000, 0x08000 )
- ROM_LOAD( "rt_r-10.1k", 0x20000, 0x10000, CRC(d6a66298) SHA1(d2873d05aa3b257e7699c188880ac3daad672fa5) )
- ROM_LOAD( "rt_r-11.1l", 0x30000, 0x08000, CRC(791df4f8) SHA1(5239a97222212ac9c019177771cb2b5096b7bc17) )
- ROM_RELOAD( 0x38000, 0x08000 )
- ROM_LOAD( "rt_r-20.3h", 0x40000, 0x10000, CRC(fc247c8a) SHA1(01cf0a60f47fa5e2ed430a3f075e69e6cb762a48) )
- ROM_LOAD( "rt_r-21.3j", 0x50000, 0x08000, CRC(ed793841) SHA1(7e55a9a11fcd989db39bce6be48821b747c7d97f) )
- ROM_RELOAD( 0x58000, 0x08000 )
- ROM_LOAD( "rt_r-30.3k", 0x60000, 0x10000, CRC(eb02a1cb) SHA1(60a394ab53afdcbbf9e88083b8dbe8c897170d77) )
- ROM_LOAD( "rt_r-31.3l", 0x70000, 0x08000, CRC(8558355d) SHA1(b5467d1f22f6e5f90c5d8a8ac2d55974f287d589) )
- ROM_RELOAD( 0x78000, 0x08000 )
-
- ROM_REGION( 0x20000, "gfx2", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-a0.3c", 0x00000, 0x08000, CRC(4e212fb0) SHA1(687061ecade2ebd0bd1343c9c4a831791853f79c) ) /* tiles #1 */
- ROM_LOAD( "rt_b-a1.3d", 0x08000, 0x08000, CRC(8a65bdff) SHA1(130bf6af521f13247a739a95eab4bdaa24b2ac10) )
- ROM_LOAD( "rt_b-a2.3a", 0x10000, 0x08000, CRC(5a4ae5b9) SHA1(95c3b64f50e6f673b2bf9b40642c152da5009d25) )
- ROM_LOAD( "rt_b-a3.3e", 0x18000, 0x08000, CRC(73327606) SHA1(9529ecdedd30e2a0400fb1083117992cc18b5158) )
-
- ROM_REGION( 0x20000, "gfx3", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-b0.3j", 0x00000, 0x08000, CRC(a7b17491) SHA1(5b390770e56ba2d35e108534d7eda8dca996fdf7) ) /* tiles #2 */
- ROM_LOAD( "rt_b-b1.3k", 0x08000, 0x08000, CRC(b9709686) SHA1(700905a3e9661e0874939f54da2909e1396ce596) )
- ROM_LOAD( "rt_b-b2.3h", 0x10000, 0x08000, CRC(433b229a) SHA1(14222eaa3e67e5a7f80eafcf22bac4eb2d485a9a) )
- ROM_LOAD( "rt_b-b3.3f", 0x18000, 0x08000, CRC(ad89b072) SHA1(e2683d0e7415f3abd147e518bf6c87e44744cd4f) )
-
- ROM_REGION( 0x0200, "proms", 0 ) /* Located on M72-A-C CPU/Sound board */
- ROM_LOAD( "m72_a-8l-.ic66", 0x0000, 0x0100, CRC(b460c438) SHA1(00e20cf754b6fd5138ee4d2f6ec28dff9e292fe6) ) /* TBP24S10 */
- ROM_LOAD( "m72_a-9l-.ic75", 0x0100, 0x0100, CRC(a4f2c4bc) SHA1(f13b0a4b52dcc6704063b676f09d83dcba170133) ) /* TBP24S10 */
-
- ROM_REGION( 0x0003, "plds", 0 )
- /* Located on M72-ROM-C rom board */
- ROM_LOAD( "m72_r-3a-.bin", 0x0000, 0x0001, NO_DUMP ) /* PAL16L8 at 3A */
- /* Located on M72-A-C CPU/Sound board */
- ROM_LOAD( "m72_a-3d-.bin", 0x0000, 0x0001, NO_DUMP ) /* PAL16L8 at IC11 */
- ROM_LOAD( "m72_a-4d-.bin", 0x0000, 0x0001, NO_DUMP ) /* PAL16L8 at IC19 */
-ROM_END
-
-ROM_START( rtypeb )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD16_BYTE( "7.512", 0x00001, 0x10000, CRC(eacc8024) SHA1(6bcf1d4ea182b7341eac736d2a5d5f70deec0758) )
- ROM_LOAD16_BYTE( "1.512", 0x00000, 0x10000, CRC(2e5fe27b) SHA1(a3364be5ab9c67aaa2152baf39ea12c571eca3cc) )
- ROM_LOAD16_BYTE( "8.512", 0x20001, 0x10000, CRC(22cc4950) SHA1(ada5cffc13c38391a334411632237166a6be4938) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "2.512", 0x20000, 0x10000, CRC(ada7b90e) SHA1(c9d2caed95b95d1c1718a10766bc88b2f8f51619) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x80000, "sprites", 0 ) /* Roms located on the M72-ROM-C rom board */
- ROM_LOAD( "rt_r-00.1h", 0x00000, 0x10000, CRC(dad53bc0) SHA1(1e3bc498861946278a0b1fe24259f5d224e265d7) ) /* sprites */
- ROM_LOAD( "rt_r-01.1j", 0x10000, 0x08000, CRC(5e441e7f) SHA1(6741eb7f2d9d985b5a89eefc73ea44c3e38de6f7) )
- ROM_RELOAD( 0x18000, 0x08000 )
- ROM_LOAD( "rt_r-10.1k", 0x20000, 0x10000, CRC(d6a66298) SHA1(d2873d05aa3b257e7699c188880ac3daad672fa5) )
- ROM_LOAD( "rt_r-11.1l", 0x30000, 0x08000, CRC(791df4f8) SHA1(5239a97222212ac9c019177771cb2b5096b7bc17) )
- ROM_RELOAD( 0x38000, 0x08000 )
- ROM_LOAD( "rt_r-20.3h", 0x40000, 0x10000, CRC(fc247c8a) SHA1(01cf0a60f47fa5e2ed430a3f075e69e6cb762a48) )
- ROM_LOAD( "rt_r-21.3j", 0x50000, 0x08000, CRC(ed793841) SHA1(7e55a9a11fcd989db39bce6be48821b747c7d97f) )
- ROM_RELOAD( 0x58000, 0x08000 )
- ROM_LOAD( "rt_r-30.3k", 0x60000, 0x10000, CRC(eb02a1cb) SHA1(60a394ab53afdcbbf9e88083b8dbe8c897170d77) )
- ROM_LOAD( "rt_r-31.3l", 0x70000, 0x08000, CRC(8558355d) SHA1(b5467d1f22f6e5f90c5d8a8ac2d55974f287d589) )
- ROM_RELOAD( 0x78000, 0x08000 )
-
- ROM_REGION( 0x20000, "gfx2", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-a0.3c", 0x00000, 0x08000, CRC(4e212fb0) SHA1(687061ecade2ebd0bd1343c9c4a831791853f79c) ) /* tiles #1 */
- ROM_LOAD( "rt_b-a1.3d", 0x08000, 0x08000, CRC(8a65bdff) SHA1(130bf6af521f13247a739a95eab4bdaa24b2ac10) )
- ROM_LOAD( "rt_b-a2.3a", 0x10000, 0x08000, CRC(5a4ae5b9) SHA1(95c3b64f50e6f673b2bf9b40642c152da5009d25) )
- ROM_LOAD( "rt_b-a3.3e", 0x18000, 0x08000, CRC(73327606) SHA1(9529ecdedd30e2a0400fb1083117992cc18b5158) )
-
- ROM_REGION( 0x20000, "gfx3", 0 ) /* Roms located on the M72-B-D rom board */
- ROM_LOAD( "rt_b-b0.3j", 0x00000, 0x08000, CRC(a7b17491) SHA1(5b390770e56ba2d35e108534d7eda8dca996fdf7) ) /* tiles #2 */
- ROM_LOAD( "rt_b-b1.3k", 0x08000, 0x08000, CRC(b9709686) SHA1(700905a3e9661e0874939f54da2909e1396ce596) )
- ROM_LOAD( "rt_b-b2.3h", 0x10000, 0x08000, CRC(433b229a) SHA1(14222eaa3e67e5a7f80eafcf22bac4eb2d485a9a) )
- ROM_LOAD( "rt_b-b3.3f", 0x18000, 0x08000, CRC(ad89b072) SHA1(e2683d0e7415f3abd147e518bf6c87e44744cd4f) )
-ROM_END
-
-
-ROM_START( bchopper )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "mh_c-h0-b.ic40", 0x00001, 0x10000, CRC(f2feab16) SHA1(03ee874658e0f59957f8425e1ebf9c938737cc19) )
- ROM_LOAD16_BYTE( "mh_c-l0-b.ic37", 0x00000, 0x10000, CRC(9f887096) SHA1(4f41ef29580fc026ea91d110ec6b2e6af83dbd9a) )
- ROM_LOAD16_BYTE( "mh_c-h1-b.ic41", 0x20001, 0x10000, CRC(a995d64f) SHA1(43eb2eb11e6875298a6ef2b18f0f5e587f1bba16) )
- ROM_LOAD16_BYTE( "mh_c-l1-b.ic36", 0x20000, 0x10000, CRC(41dda999) SHA1(4d07a399aaf16bc37b5488e3e4bb60e78811a099) )
- ROM_LOAD16_BYTE( "mh_c-h3-b.ic43", 0x60001, 0x10000, CRC(ab9451ca) SHA1(ec0e0ad592d8b21bb4e6927a452e3b7964cda015) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "mh_c-l3-b.ic34", 0x60000, 0x10000, CRC(11562221) SHA1(a2f136a487fb6f30350e8d1e26c0729eb0686c7d) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "mh_c-pr-b.ic1", 0x00000, 0x10000, NO_DUMP ) /* i8751 MCU labeled MH C-PR-B - read protected */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "mh_c-00-a.ic53", 0x00000, 0x10000, CRC(f6e6e660) SHA1(e066e5ed37719cf2b6fd36e0117f11325bb06f9c) ) /* sprites */
- ROM_LOAD( "mh_c-01-b.ic52", 0x10000, 0x10000, CRC(708cdd37) SHA1(24f3fcd381422f0d75410c2af7a56744e3b4a699) )
- ROM_LOAD( "mh_c-10-a.ic51", 0x20000, 0x10000, CRC(292c8520) SHA1(c552090d295ee1c1ca611b0cddee356e509e2045) )
- ROM_LOAD( "mh_c-11-b.ic50", 0x30000, 0x10000, CRC(20904cf3) SHA1(71fe505f2da53c2eb445b7b758d257d6af42e6f1) )
- ROM_LOAD( "mh_c-20-a.ic49", 0x40000, 0x10000, CRC(1ab50c23) SHA1(43e2f11e5bbf157c47764e04e372f40ed68bab59) )
- ROM_LOAD( "mh_c-21-b.ic48", 0x50000, 0x10000, CRC(c823d34c) SHA1(47383214b6a60e0b1b70208b00c291f8ffed36bc) )
- ROM_LOAD( "mh_c-30-a.ic47", 0x60000, 0x10000, CRC(11f6c56b) SHA1(39a2a674698b044c84fea65ae41a9e003a50b639) )
- ROM_LOAD( "mh_c-31-b.ic46", 0x70000, 0x10000, CRC(23134ec5) SHA1(43453f8a13b51310e04729dc828d391ca9c04da2) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "mh_b-a0-b.ic21", 0x00000, 0x10000, CRC(e46ed7bf) SHA1(75abb5f40629f7c40a610a44e068b6c4e3a5126e) ) /* tiles #1 */
- ROM_LOAD( "mh_b-a1-b.ic22", 0x10000, 0x10000, CRC(590605ff) SHA1(fbb5c0cebd28b08d4ce39db4055d6343620e0f1c) )
- ROM_LOAD( "mh_b-a2-b.ic20", 0x20000, 0x10000, CRC(f8158226) SHA1(bb3a8686cd89bb8265b6b9e03682cc0bf6533793) )
- ROM_LOAD( "mh_b-a3-b.ic23", 0x30000, 0x10000, CRC(0f07b9b7) SHA1(63dbec17097f07eb39299372b736fbbc1b11b65e) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "mh_b-b0-.ic26", 0x00000, 0x10000, CRC(b5b95776) SHA1(4685b56071b916ce712c45f24da8068dd7e40ed1) ) /* tiles #2 */
- ROM_LOAD( "mh_b-b1-.ic27", 0x10000, 0x10000, CRC(74ca16ee) SHA1(7984bc9a0b46e1b4a8ecac7528d57606305aad73) )
- ROM_LOAD( "mh_b-b2-.ic25", 0x20000, 0x10000, CRC(b82cca04) SHA1(c12b95be311205181b01d15021bcf9f01ed3e0a3) )
- ROM_LOAD( "mh_b-b3-.ic24", 0x30000, 0x10000, CRC(a7afc920) SHA1(92c75463ada39184e731b82ef2883ae6f1f67482) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "mh_c-v0-b.ic44", 0x00000, 0x10000, CRC(d0c27e58) SHA1(fec76217cc0c04c723989c3ec127a2bd33d64c60) )
-ROM_END
-
-ROM_START( mrheli )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "mh_c-h0-.ic40", 0x00001, 0x10000, CRC(e2ca5646) SHA1(9f4fe2f0a45233325bd9336cabb925a1f625453b) )
- ROM_LOAD16_BYTE( "mh_c-l0-.ic37", 0x00000, 0x10000, CRC(643e23cd) SHA1(66998a6dfc7ef538540986b61d2414a5ef250d0d) )
- ROM_LOAD16_BYTE( "mh_c-h1-.ic41", 0x20001, 0x10000, CRC(8974e84d) SHA1(39e05c80e805dde45f2fc5fc429b75f9b599089c) )
- ROM_LOAD16_BYTE( "mh_c-l1-.ic36", 0x20000, 0x10000, CRC(5f8bda69) SHA1(48629d617bd48c9de9c6a567fb203258a56fdbbd) )
- ROM_LOAD16_BYTE( "mh_c-h3-.ic43", 0x60001, 0x10000, CRC(143f596e) SHA1(f9d444eebcd53dac925d14b7a2858803b7fd9ce2) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "mh_c-l3-.ic34", 0x60000, 0x10000, CRC(c0982536) SHA1(45399f8d0577c6e2a277a69303954ce5d2de7c07) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "mh_c-pr-.ic1", 0x00000, 0x1000, CRC(897dc4ee) SHA1(05a24bf76e8fa9ca96ba9376cbf44d299df04138) ) /* i8751 MCU labeled MH C-PR- */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "mh_c-00.ic53", 0x00000, 0x20000, CRC(dec4e121) SHA1(92169b523f1600e994e016dc1959a52958e1d89d) ) /* sprites */
- ROM_LOAD( "mh_c-10.ic51", 0x20000, 0x20000, CRC(7aaa151e) SHA1(efd980bb2eed7084354b7a4aa2f733cd2f876741) )
- ROM_LOAD( "mh_c-20.ic49", 0x40000, 0x20000, CRC(eae0de74) SHA1(3a2469c0eeb18131f989807afb50228f57ccea30) )
- ROM_LOAD( "mh_c-30.ic47", 0x60000, 0x20000, CRC(01d5052f) SHA1(5d5e70913bb7af48193c70209595f27a64fa6cac) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "mh_b-a0.ic21", 0x00000, 0x10000, CRC(6a0db256) SHA1(fa3a2dc03da5bbe06a9c9b3d4ed4fddb47c469ac) ) /* tiles #1 */
- ROM_LOAD( "mh_b-a1.ic22", 0x10000, 0x10000, CRC(14ec9795) SHA1(4842e076115efe9daf00dab8f61516d28c19baae) )
- ROM_LOAD( "mh_b-a2.ic20", 0x20000, 0x10000, CRC(dfcb510e) SHA1(2387cde4ec0bae176486e1f7541103fd557fe255) )
- ROM_LOAD( "mh_b-a3.ic23", 0x30000, 0x10000, CRC(957e329b) SHA1(9d48a0b84915e1cef0b0311a3581991dc83ee199) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "mh_b-b0-.ic26", 0x00000, 0x10000, CRC(b5b95776) SHA1(4685b56071b916ce712c45f24da8068dd7e40ed1) ) /* tiles #2 */
- ROM_LOAD( "mh_b-b1-.ic27", 0x10000, 0x10000, CRC(74ca16ee) SHA1(7984bc9a0b46e1b4a8ecac7528d57606305aad73) )
- ROM_LOAD( "mh_b-b2-.ic25", 0x20000, 0x10000, CRC(b82cca04) SHA1(c12b95be311205181b01d15021bcf9f01ed3e0a3) )
- ROM_LOAD( "mh_b-b3-.ic24", 0x30000, 0x10000, CRC(a7afc920) SHA1(92c75463ada39184e731b82ef2883ae6f1f67482) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "mh_c-v0-b.ic44", 0x00000, 0x10000, CRC(d0c27e58) SHA1(fec76217cc0c04c723989c3ec127a2bd33d64c60) )
-ROM_END
-
-/*
-
-Ninja Spirit
-Irem, 1988
-
-This game runs on Irem M72 hardware.
-
-
-Top Board
----------
-
-M72-C
-|-------------------------------|
-| 8MHz J3 NIN_C-L3.6A J4 J5 |
-| J1 NIN_C-L2.6B NIN-V0.7A|
-|8751 J2 NIN_C-L1.6C J12 |
-| NIN_C-L0.6D J6 |
-| NIN-R30.7D|
-| NIN_C-3F.3F |
-| 4364 NIN-R20.7F|
-| 4364 J8 J9|
-| J10 |
-| LM358 NIN_C-H0.H6 |
-| NIN_C-H1.J6 |
-|----| MB8431 J11 |
- | CN3 CN4 |
- | MB8421 NIN-R10.7J|
- | NIN_C-H2.6L NIN-R00.7M
- | NIN_C-H3.6M J7 |
- |--------------------------|
-Notes:
- NIN_C-3F.3F - Ti TBP16L8 PAL
- All other NIN_C* - 27C512 EPROM
- NIN-R* - 28-pin 1Mb maskROM
- J1 - Jumper set to A
- J2 - Jumper set to A
- J3 - Jumper set to A
- J4 - Jumper set to A
- J5 - Jumper set to B
- J6 - Jumper set to A
- J7 - Jumper set to A
- J8 - Open
- J9 - Jumper set to A
- J10 - Jumper set to A
- J11 - Jumper set to B
- J12 - Jumper set to A
- 8751 - MCU with label 'NIN C-PR' at location 1C. Clock input 8MHz
- 4364 - 8kb x8-bit SRAM
- MB8431 - Fujitsu 2k x 8-bit CMOS Dual-Port SRAM
- MB8421 - Fujitsu 2k x 8-bit CMOS Dual-Port SRAM
- LM358 - Low power dual operational amplifier IC
-
-
-Middle Board
-------------
-
-M72-A-C
-|-----------------------------------------------------------|
-|M51516L YM2151 |
-|VOL Y3014B 3.579545KHz |--|
-| 43256 | |
-| CN3 | |
-| M72_A-3D.3D M72_A-4D.4D D780 43256 | |
-| | |
-| | |
-|J DSW1(8) | |
-|A 2016 | |
-|M DSW2(8) D71011 D71088 |--|
-|M 2016 |
-|A V30 D71059 |--|
-| 2018 KNA70H016(12) | |
-| M72_A-8L.8L | |
-| 2018 M72_A-9L.9L| |
-| 2018 | |
-| KNA71H010(14) 2018 KNA70H015(11)| |
-| 2018 | |
-| CN4 2018 32MHz | |
-| KNA71H009(13) |--|
-|KNA71H010(15) KNA65005(17) KNA91H014 |
-|-----------------------------------------------------------|
-Notes:
- KNA* - NANAO custom chips
- M72*.*L - Bipolar PROMs type TBP24S10 (==82S129)
- M72*.*D - Ti TBP16L8 PALs
- 2016 - 2kb x8-bit SRAM
- 2018 - 2kb x8-bit SRAM
- 43256 - 32kb x8-bit SRAM
- CN3/CN4 - Joining connectors for top board
-
-
-Bottom Board
-------------
-
-M72-B-D
-|-----------------------------------------------------------|
-| |
-| NIN_B-A2.4B |--|
-| | |
-| KNA6034201 J2 | |
-| NIN_B-A0.4C J3 | |
-| | |
-| | |
-| NIN_B-A1.4D 4364 | |
-| | |
-| NIN_B-A3.4E 4364 |--|
-| |
-| B3.4F 4364 |--|
-| | |
-| B2.4H 4364 | |
-| | |
-| KNA6034201 B0.4J | |
-| | |
-| J4 | |
-| B1.4K J5 | |
-| KNA91H014 |--|
-| |
-|-----------------------------------------------------------|
-Notes:
- KNA* - NANAO custom chips
- NIN* - 27C512 EPROMs
- B* - 512kb mask ROMs (no labels, just B and a number)
- 4364 - 8kb x8-bit SRAM
- J* - 3-pin jumpers. All set to the B position
-*/
-
-ROM_START( nspirit )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "nin_c-h0-b.6h", 0x00001, 0x10000, CRC(035692fa) SHA1(d5ab54488344bf405063737ed55d68ff1e64b55f) )
- ROM_LOAD16_BYTE( "nin_c-l0-b.6d", 0x00000, 0x10000, CRC(9a405898) SHA1(b28d71c1a6410720a37e6b6518b3cc66d4c32972) )
- ROM_LOAD16_BYTE( "nin_c-h1.6j", 0x20001, 0x10000, CRC(cbc10586) SHA1(9b1935ea9ebb21fe42ee3a57d6c10f1e8516f23c) )
- ROM_LOAD16_BYTE( "nin_c-l1.6c", 0x20000, 0x10000, CRC(b75c9a4d) SHA1(03c28896cbe0c9f778c259d59d2e69796902daa8) )
- ROM_LOAD16_BYTE( "nin_c-h2.6l", 0x40001, 0x10000, CRC(8ad818fa) SHA1(dd25e79b656b7fc6c31d1f8971fd0916295ccdb0) )
- ROM_LOAD16_BYTE( "nin_c-l2.6b", 0x40000, 0x10000, CRC(c52ca78c) SHA1(2b40cce5a1f5c588b49634e7fd4bc28c9160fe43) )
- ROM_LOAD16_BYTE( "nin_c-h3-b.6m", 0x60001, 0x10000, CRC(501104ef) SHA1(e44e060c072affd359e52bf6606b1dd565368d44) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "nin_c-l3-b.6a", 0x60000, 0x10000, CRC(fd7408b8) SHA1(3cbe72835a561c50265a047f0f5cd62db48378fd) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "nin_c-pr-b.ic1", 0x00000, 0x01000, NO_DUMP ) /* i8751 MCU labeled NIN C-PR-B - read protected */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "nin-r00.7m", 0x00000, 0x20000, CRC(5f61d30b) SHA1(7754697e43f6117fa604f50885b76014b1dc5760) ) /* sprites */
- ROM_LOAD( "nin-r10.7j", 0x20000, 0x20000, CRC(0caad107) SHA1(c4eff00327313e05ac8f7c6dbee3a0de1c83fadd) )
- ROM_LOAD( "nin-r20.7f", 0x40000, 0x20000, CRC(ef3617d3) SHA1(16c175cf45559aacdea6e4002dd8a87f16817cfb) )
- ROM_LOAD( "nin-r30.7d", 0x60000, 0x20000, CRC(175d2a24) SHA1(d1887efd4d8e74c38c53dbbc541ca8d17f29eb59) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "nin_b-a0.4c", 0x00000, 0x10000, CRC(63f8f658) SHA1(82c02d0f7a2d95dfd8d300c46312d511524775ce) ) /* tiles #1 */
- ROM_LOAD( "nin_b-a1.4d", 0x10000, 0x10000, CRC(75eb8306) SHA1(2abc359a0bb2863759a68ed60e730761b9751829) )
- ROM_LOAD( "nin_b-a2.4b", 0x20000, 0x10000, CRC(df532172) SHA1(58b5a79a57e71405b3e1abd41d54cf6a4d12873a) )
- ROM_LOAD( "nin_b-a3.4e", 0x30000, 0x10000, CRC(4dedd64c) SHA1(8a5c73a024d95e6fe3ab70daafcd5b235418ad36) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "b0.4j", 0x00000, 0x10000, CRC(1b0e08a6) SHA1(892686594970c264babbe8673c258929a5e480f6) ) /* tiles #2 */
- ROM_LOAD( "b1.4k", 0x10000, 0x10000, CRC(728727f0) SHA1(2f594c77a847ebee71c9da8a644f83ea2a1313d7) )
- ROM_LOAD( "b2.4h", 0x20000, 0x10000, CRC(f87efd75) SHA1(16474c7ab57b4fbb5cb50799ea6a2326c66706b5) )
- ROM_LOAD( "b3.4f", 0x30000, 0x10000, CRC(98856cb4) SHA1(aa4fbae972d2e827c75650a71ab4ef73a33cd018) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "nin-v0.7a", 0x00000, 0x10000, CRC(a32e8caf) SHA1(63d56ad3a63fb089056e4a170159120287594ea8) )
-
- ROM_REGION( 0x0200, "proms", 0 ) /* Located on M72-A-C CPU/Sound board */
- ROM_LOAD( "m72_a-8l.8l", 0x0000, 0x0100, CRC(b460c438) SHA1(00e20cf754b6fd5138ee4d2f6ec28dff9e292fe6) ) /* TBP24S10 */
- ROM_LOAD( "m72_a-9l.9l", 0x0100, 0x0100, CRC(a4f2c4bc) SHA1(f13b0a4b52dcc6704063b676f09d83dcba170133) ) /* TBP24S10 */
-
- ROM_REGION( 0x0300, "plds", 0 )
- /* Located on M72-ROM-C rom board */
- ROM_LOAD( "nin_c-3f.3f", 0x0000, 0x0100, CRC(5402fc07) SHA1(fa4284710b31be62ab99b0e1d60844db9a8d843e) ) /* TBP16L8 */
- /* Located on M72-A-C CPU/Sound board */
- ROM_LOAD( "m72_a-3d.3d", 0x0100, 0x0100, CRC(de85dac3) SHA1(af83b0325f28fbb1bcc424c1b58ff0f4b49f6b67) ) /* TBP16L8 */
- ROM_LOAD( "m72_a-4d.4d", 0x0200, 0x0100, CRC(59676de1) SHA1(fcf35f5463c14a4b06d58684c47ea9de5216d1da) ) /* TBP16L8 */
-ROM_END
-
-ROM_START( nspiritj )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "nin_c-h0.6h", 0x00001, 0x10000, CRC(8603fab2) SHA1(2c5bc97b6c9648156969b4a9f139081dca19fa24) )
- ROM_LOAD16_BYTE( "nin_c-l0.6d", 0x00000, 0x10000, CRC(e520fa35) SHA1(05f7e5a1a5ada95809ffd941080fb2c2b54363b7) )
- ROM_LOAD16_BYTE( "nin_c-h1.6j", 0x20001, 0x10000, CRC(cbc10586) SHA1(9b1935ea9ebb21fe42ee3a57d6c10f1e8516f23c) )
- ROM_LOAD16_BYTE( "nin_c-l1.6c", 0x20000, 0x10000, CRC(b75c9a4d) SHA1(03c28896cbe0c9f778c259d59d2e69796902daa8) )
- ROM_LOAD16_BYTE( "nin_c-h2.6l", 0x40001, 0x10000, CRC(8ad818fa) SHA1(dd25e79b656b7fc6c31d1f8971fd0916295ccdb0) )
- ROM_LOAD16_BYTE( "nin_c-l2.6b", 0x40000, 0x10000, CRC(c52ca78c) SHA1(2b40cce5a1f5c588b49634e7fd4bc28c9160fe43) )
- ROM_LOAD16_BYTE( "nin_c-h3.6m", 0x60001, 0x10000, CRC(95b63a61) SHA1(bd5ec35fffe6d4898e6712eb6add7c51077b58d2) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "nin_c-l3.6a", 0x60000, 0x10000, CRC(e754a87a) SHA1(9951d972ed13a0415c827beff122bc7ddb078447) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "nin_c-pr-.ic1", 0x00000, 0x01000, CRC(802d440a) SHA1(45b844b831aa6d5d002e3960e17fb5a058b02a29) ) /* i8751 MCU labeled NIN C-PR- */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "nin-r00.7m", 0x00000, 0x20000, CRC(5f61d30b) SHA1(7754697e43f6117fa604f50885b76014b1dc5760) ) /* sprites */
- ROM_LOAD( "nin-r10.7j", 0x20000, 0x20000, CRC(0caad107) SHA1(c4eff00327313e05ac8f7c6dbee3a0de1c83fadd) )
- ROM_LOAD( "nin-r20.7f", 0x40000, 0x20000, CRC(ef3617d3) SHA1(16c175cf45559aacdea6e4002dd8a87f16817cfb) )
- ROM_LOAD( "nin-r30.7d", 0x60000, 0x20000, CRC(175d2a24) SHA1(d1887efd4d8e74c38c53dbbc541ca8d17f29eb59) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "nin_b-a0.4c", 0x00000, 0x10000, CRC(63f8f658) SHA1(82c02d0f7a2d95dfd8d300c46312d511524775ce) ) /* tiles #1 */
- ROM_LOAD( "nin_b-a1.4d", 0x10000, 0x10000, CRC(75eb8306) SHA1(2abc359a0bb2863759a68ed60e730761b9751829) )
- ROM_LOAD( "nin_b-a2.4b", 0x20000, 0x10000, CRC(df532172) SHA1(58b5a79a57e71405b3e1abd41d54cf6a4d12873a) )
- ROM_LOAD( "nin_b-a3.4e", 0x30000, 0x10000, CRC(4dedd64c) SHA1(8a5c73a024d95e6fe3ab70daafcd5b235418ad36) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "b0.4j", 0x00000, 0x10000, CRC(1b0e08a6) SHA1(892686594970c264babbe8673c258929a5e480f6) ) /* tiles #2 */
- ROM_LOAD( "b1.4k", 0x10000, 0x10000, CRC(728727f0) SHA1(2f594c77a847ebee71c9da8a644f83ea2a1313d7) )
- ROM_LOAD( "b2.4h", 0x20000, 0x10000, CRC(f87efd75) SHA1(16474c7ab57b4fbb5cb50799ea6a2326c66706b5) )
- ROM_LOAD( "b3.4f", 0x30000, 0x10000, CRC(98856cb4) SHA1(aa4fbae972d2e827c75650a71ab4ef73a33cd018) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "nin-v0.7a", 0x00000, 0x10000, CRC(a32e8caf) SHA1(63d56ad3a63fb089056e4a170159120287594ea8) )
-ROM_END
-
-
-ROM_START( imgfight )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "if-c-h0-a.ic40", 0x00001, 0x10000, CRC(f5c94464) SHA1(5964a00d21ebb358eecc0f10f6221fb684f284df) )
- ROM_LOAD16_BYTE( "if-c-l0-a.ic37", 0x00000, 0x10000, CRC(87c534fe) SHA1(10c231a2b3046a711a1fdcc6c1631a7378295f2f) )
- ROM_LOAD16_BYTE( "if-c-h3.ic43", 0x40001, 0x20000, CRC(ea030541) SHA1(ee4c12773ecced2d755443ce0ca78fb2b2c04805) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "if-c-l3.ic34", 0x40000, 0x20000, CRC(c66ae348) SHA1(eca5096ebd5bffc6e68f3fc9969cda9679bd921f) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "if_c-pr-a.ic1", 0x00000, 0x01000, NO_DUMP )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "if-c-00.ic53", 0x00000, 0x20000, CRC(745e6638) SHA1(43fb1f9da4190fea67eee3aee8caf4219becc21b) ) /* sprites */
- ROM_LOAD( "if-c-10.ic51", 0x20000, 0x20000, CRC(b7108449) SHA1(1f41ebe7164fab86958caaf6749b99425e682657) )
- ROM_LOAD( "if-c-20.ic49", 0x40000, 0x20000, CRC(aef33cba) SHA1(2d8a8458207d0c790c81b1285366463c8540d190) )
- ROM_LOAD( "if-c-30.ic47", 0x60000, 0x20000, CRC(1f98e695) SHA1(5fddcfb17523f8e96f4b85f0cb15d837b81f2bd4) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "if-a-a0.ic21", 0x00000, 0x10000, CRC(34ee2d77) SHA1(38826e0318aa8da893fa4c93f217288c015df606) ) /* tiles #1 */
- ROM_LOAD( "if-a-a1.ic22", 0x10000, 0x10000, CRC(6bd2845b) SHA1(149cf14f919590da88b9a8e254690da010709862) )
- ROM_LOAD( "if-a-a2.ic20", 0x20000, 0x10000, CRC(090d50e5) SHA1(4f2a7c76320b3f8dafae90a246187e034fe7562b) )
- ROM_LOAD( "if-a-a3.ic23", 0x30000, 0x10000, CRC(3a8e3083) SHA1(8a75d556790b6bea41ead1a5f95589dd293bdf4e) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "if-a-b0.ic26", 0x00000, 0x10000, CRC(b425c829) SHA1(0ccd487dba00bb7cb0ff5d1c67f8fee3e68df5d8) ) /* tiles #2 */
- ROM_LOAD( "if-a-b1.ic27", 0x10000, 0x10000, CRC(e9bfe23e) SHA1(f97a68dbdce7e06d07faab19acf7625cdc8eeaa8) )
- ROM_LOAD( "if-a-b2.ic25", 0x20000, 0x10000, CRC(256e50f2) SHA1(9e9fda4f1f1449548942c0da4478f61fe0d263d1) )
- ROM_LOAD( "if-a-b3.ic24", 0x30000, 0x10000, CRC(4c682785) SHA1(f61f1227e0ad629fdfca106306b17a9f6a9959e3) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "if-c-v0.ic44", 0x00000, 0x10000, CRC(cb64a194) SHA1(940fad6b9147bccc8290e112f5973f8ea062b52f) )
- ROM_LOAD( "if-c-v1.ic45", 0x10000, 0x10000, CRC(45b68bf5) SHA1(2fb28793019ca85b3b6d7c4c31eedff1d71f2d83) )
-ROM_END
-
-ROM_START( imgfightj )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "if-c-h0.ic40", 0x00001, 0x10000, CRC(592d2d80) SHA1(d54916a9bfe4b65a972b62202af706135e73518d) )
- ROM_LOAD16_BYTE( "if-c-l0.ic37", 0x00000, 0x10000, CRC(61f89056) SHA1(3e0724dbc2b00a30193ea6cfac8b4331055d4fd4) )
- ROM_LOAD16_BYTE( "if-c-h3.ic43", 0x40001, 0x20000, CRC(ea030541) SHA1(ee4c12773ecced2d755443ce0ca78fb2b2c04805) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "if-c-l3.ic34", 0x40000, 0x20000, CRC(c66ae348) SHA1(eca5096ebd5bffc6e68f3fc9969cda9679bd921f) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "if_c-pr-.ic1", 0x00000, 0x01000, CRC(ef0d5098) SHA1(068b73937588e16a318a094dfe2fb1293b1a1711) ) /* i8751 MCU labeled IF C-PR- */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "if-c-00.ic53", 0x00000, 0x20000, CRC(745e6638) SHA1(43fb1f9da4190fea67eee3aee8caf4219becc21b) ) /* sprites */
- ROM_LOAD( "if-c-10.ic51", 0x20000, 0x20000, CRC(b7108449) SHA1(1f41ebe7164fab86958caaf6749b99425e682657) )
- ROM_LOAD( "if-c-20.ic49", 0x40000, 0x20000, CRC(aef33cba) SHA1(2d8a8458207d0c790c81b1285366463c8540d190) )
- ROM_LOAD( "if-c-30.ic47", 0x60000, 0x20000, CRC(1f98e695) SHA1(5fddcfb17523f8e96f4b85f0cb15d837b81f2bd4) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "if-a-a0.ic21", 0x00000, 0x10000, CRC(34ee2d77) SHA1(38826e0318aa8da893fa4c93f217288c015df606) ) /* tiles #1 */
- ROM_LOAD( "if-a-a1.ic22", 0x10000, 0x10000, CRC(6bd2845b) SHA1(149cf14f919590da88b9a8e254690da010709862) )
- ROM_LOAD( "if-a-a2.ic20", 0x20000, 0x10000, CRC(090d50e5) SHA1(4f2a7c76320b3f8dafae90a246187e034fe7562b) )
- ROM_LOAD( "if-a-a3.ic23", 0x30000, 0x10000, CRC(3a8e3083) SHA1(8a75d556790b6bea41ead1a5f95589dd293bdf4e) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "if-a-b0.ic26", 0x00000, 0x10000, CRC(b425c829) SHA1(0ccd487dba00bb7cb0ff5d1c67f8fee3e68df5d8) ) /* tiles #2 */
- ROM_LOAD( "if-a-b1.ic27", 0x10000, 0x10000, CRC(e9bfe23e) SHA1(f97a68dbdce7e06d07faab19acf7625cdc8eeaa8) )
- ROM_LOAD( "if-a-b2.ic25", 0x20000, 0x10000, CRC(256e50f2) SHA1(9e9fda4f1f1449548942c0da4478f61fe0d263d1) )
- ROM_LOAD( "if-a-b3.ic24", 0x30000, 0x10000, CRC(4c682785) SHA1(f61f1227e0ad629fdfca106306b17a9f6a9959e3) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "if-c-v0.ic44", 0x00000, 0x10000, CRC(cb64a194) SHA1(940fad6b9147bccc8290e112f5973f8ea062b52f) )
- ROM_LOAD( "if-c-v1.ic45", 0x10000, 0x10000, CRC(45b68bf5) SHA1(2fb28793019ca85b3b6d7c4c31eedff1d71f2d83) )
-ROM_END
-
-ROM_START( imgfightb ) // mostly identical to imgfightj content-wise, it's a 4 PCB stack bootleg with flying wires
- ROM_REGION( 0x100000, "maincpu", 0 ) // identical, but ic111.9e
- ROM_LOAD16_BYTE( "ic108.9b", 0x00001, 0x10000, CRC(592d2d80) SHA1(d54916a9bfe4b65a972b62202af706135e73518d) )
- ROM_LOAD16_BYTE( "ic89.7b", 0x00000, 0x10000, CRC(61f89056) SHA1(3e0724dbc2b00a30193ea6cfac8b4331055d4fd4) )
- ROM_LOAD16_BYTE( "ic111.9e", 0x40001, 0x10000, CRC(da50622e) SHA1(32c75b6270d401a6825632c66f3026cae7b5b81f) ) // slight difference: 99.998474%: 0x1116 from 0x09 to 0x0d
- ROM_RELOAD( 0xc0001, 0x10000 )
- ROM_LOAD16_BYTE( "ic110.9d", 0x60001, 0x10000, CRC(0e0aefcd) SHA1(f5056a2d0612d912aff1e0eccb1182de7ae16990) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "ic92.7e", 0x40000, 0x10000, CRC(38fce272) SHA1(4fe4d0838d21f3022b440a32ec69b25e936e62dd) )
- ROM_RELOAD( 0xc0000, 0x10000 )
- ROM_LOAD16_BYTE( "ic91.7d", 0x60000, 0x10000, CRC(d69c0722) SHA1(ef18e7b7057f19caaa61d0b8c07d2d0c6e0a555e) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 )
- ROM_LOAD( "25.ic27.2l", 0x00000, 0x2000, CRC(d83359a2) SHA1(2d486bf4a873abfe591e0d9383f9e230f47bc42a) ) // i80c31 instead of i8751, contents identical to imgfightj MCU, with second half padded with 0xff
-
- ROM_REGION( 0x080000, "sprites", 0 ) // half size ROMs, but identical content
- ROM_LOAD( "ic96.7k", 0x00000, 0x10000, CRC(d4febb03) SHA1(6fe53b198bdcef1708ff134c64af9c064e274e1b) ) /* sprites */
- ROM_LOAD( "ic97.7l", 0x10000, 0x10000, CRC(973d7bbc) SHA1(409242ddc7eb90564a15b222641e53d11ab1e04a) )
- ROM_LOAD( "ic115.9k", 0x20000, 0x10000, CRC(2328880b) SHA1(a35c77a7d04614dbfbca4c79bb3e729115129ee4) )
- ROM_LOAD( "ic116.9l", 0x30000, 0x10000, CRC(6da001ea) SHA1(473ed89b77809b3b76bfa9f5ca4008c9534cdbb4) )
- ROM_LOAD( "ic94.7h", 0x40000, 0x10000, CRC(92bc7fda) SHA1(521d4a29e06eb8790fdeeba968f99a389f50a24e) )
- ROM_LOAD( "ic95.7j", 0x50000, 0x10000, CRC(e63a5918) SHA1(fd3374866f922cef72c0678aa751ad1e6f95a12a) )
- ROM_LOAD( "ic113.9h", 0x60000, 0x10000, CRC(27caec8e) SHA1(cc1943ba9548715425e799f418750cd70c3f88da) )
- ROM_LOAD( "ic114.9j", 0x70000, 0x10000, CRC(1933eb65) SHA1(4c24cfd059c11875f53b57cc020fbdbac903bd4a) )
-
- ROM_REGION( 0x040000, "gfx2", 0 ) // identical
- ROM_LOAD( "ic30.3d", 0x00000, 0x10000, CRC(34ee2d77) SHA1(38826e0318aa8da893fa4c93f217288c015df606) ) /* tiles #1 */
- ROM_LOAD( "ic31.3e", 0x10000, 0x10000, CRC(6bd2845b) SHA1(149cf14f919590da88b9a8e254690da010709862) )
- ROM_LOAD( "ic29.3c", 0x20000, 0x10000, CRC(090d50e5) SHA1(4f2a7c76320b3f8dafae90a246187e034fe7562b) )
- ROM_LOAD( "ic32.3f", 0x30000, 0x10000, CRC(3a8e3083) SHA1(8a75d556790b6bea41ead1a5f95589dd293bdf4e) )
-
- ROM_REGION( 0x040000, "gfx3", 0 ) // identical
- ROM_LOAD( "ic35.3k", 0x00000, 0x10000, CRC(b425c829) SHA1(0ccd487dba00bb7cb0ff5d1c67f8fee3e68df5d8) ) /* tiles #2 */
- ROM_LOAD( "ic36.3l", 0x10000, 0x10000, CRC(e9bfe23e) SHA1(f97a68dbdce7e06d07faab19acf7625cdc8eeaa8) )
- ROM_LOAD( "ic34.3j", 0x20000, 0x10000, CRC(256e50f2) SHA1(9e9fda4f1f1449548942c0da4478f61fe0d263d1) )
- ROM_LOAD( "ic33.3h", 0x30000, 0x10000, CRC(4c682785) SHA1(f61f1227e0ad629fdfca106306b17a9f6a9959e3) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples, identical */
- ROM_LOAD( "ic28.lower.2n", 0x00000, 0x10000, CRC(cb64a194) SHA1(940fad6b9147bccc8290e112f5973f8ea062b52f) )
- ROM_LOAD( "ic28.upper.2n", 0x10000, 0x10000, CRC(45b68bf5) SHA1(2fb28793019ca85b3b6d7c4c31eedff1d71f2d83) )
-ROM_END
-
-ROM_START( loht )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "tom_c-h0-b.ic40", 0x00001, 0x20000, CRC(a63204b6) SHA1(d217bc70650a1a1bbe0cf536ec3bb678f670718d) ) /* need to verify actual label */
- ROM_LOAD16_BYTE( "tom_c-l0-b.ic37", 0x00000, 0x20000, CRC(e788002f) SHA1(35f509976b342fd47e645453381faa3d86645876) ) /* need to verify actual label */
- ROM_LOAD16_BYTE( "tom_c-h3-.ic43", 0x40001, 0x20000, CRC(714778b5) SHA1(e2eaa35d6b5fa5df5163fe0d7b45fa66667f9947) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "tom_c-l3-.ic34", 0x40000, 0x20000, CRC(2f049b03) SHA1(21047cb10912b1fc23795673af3ea7de249328b7) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "tom_c-pr-b.ic1", 0x00000, 0x01000, BAD_DUMP CRC(9c9545f1) SHA1(ca800ce7467efb877d0fff4c47d72478a991e2a9) ) // from bootleg, but works - need to verify dump - Should be TOM C-PR-B ??
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "tom_m53.ic53", 0x00000, 0x20000, CRC(0b83265f) SHA1(b31918d6442b79c9fe4f20410189788b050a994e) ) /* sprites */
- ROM_LOAD( "tom_m51.ic51", 0x20000, 0x20000, CRC(8ec5f6f3) SHA1(210f2753f5eeb06396758d21ab1778d459add247) )
- ROM_LOAD( "tom_m49.ic49", 0x40000, 0x20000, CRC(a41d3bfd) SHA1(536fb7c0321dbbc1a8b73e9647fba9c53a253fcc) )
- ROM_LOAD( "tom_m47.ic47", 0x60000, 0x20000, CRC(9d81a25b) SHA1(a354537c2fbba85f06485aa8487d7583a7133357) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "tom_m21.ic21", 0x00000, 0x10000, CRC(3ca3e771) SHA1(be052e01c5429ee89057c9d408794f2c7744047c) ) /* tiles #1 */
- ROM_LOAD( "tom_m22.ic22", 0x10000, 0x10000, CRC(7a05ee2f) SHA1(7d1ca5db9a5a85610129e3bc6c640ade036fe7f9) )
- ROM_LOAD( "tom_m20.ic20", 0x20000, 0x10000, CRC(79aa2335) SHA1(6b70c79d800a7b755aa7c9a368c4ea74029aaa1e) )
- ROM_LOAD( "tom_m23.ic23", 0x30000, 0x10000, CRC(789e8b24) SHA1(e957cd25c3c155ca295ab1aea03d610f91562cfb) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "tom_m26.ic26", 0x00000, 0x10000, CRC(44626bf6) SHA1(571ef74d42d30a272ff0fb33f830652b4a4bad29) ) /* tiles #2 */
- ROM_LOAD( "tom_m27.ic27", 0x10000, 0x10000, CRC(464952cf) SHA1(6b99360b6ba1ed5a72c257f51291f9f7a1ddf363) )
- ROM_LOAD( "tom_m25.ic25", 0x20000, 0x10000, CRC(3db9b2c7) SHA1(02a318ffc459c494b7f40827eff5f89b41ac0426) )
- ROM_LOAD( "tom_m24.ic24", 0x30000, 0x10000, CRC(f01fe899) SHA1(c5ab967b7af55a757638bcdc9975f4b15064022d) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "tom_m44.ic44", 0x00000, 0x10000, CRC(3ed51d1f) SHA1(84f3aa17d640df91387e5f1f5b5971cf8dcd4e17) )
-ROM_END
-
-/*
-
-Legend of Hero TONMA
-(c)1989 Irem
-
-M72 System
-Horizontal Freq. = 15.625KHz
-H.Period = 64.0us
-H.Blank = 16.0us
-H.Sync Pulse = 5.0us
-Vertical Freq. = 55.02Hz
-V.Period = 18.176ms
-V.Blank = 1.792ms
-V.Sync Pulse = 384us
-
-ROMs:
-on M72-C mainboard
-set jumper pins
-J1:A
-J2:A
-J3:A
-J4:A
-J5:B
-J6:A
-J7:A
-J9:A
-J10:A
-J11:B
-J12:A
-
-TOM_C-H0- (M5M27C101K, main programs)
-TOM_C-L0-
-TOM_C-H3-
-TOM_C-H0-
-
-R200 (28pin 1Mbit mask, read as 531000)
-R210
-R220
-R230
-
-082 - Samples
-
-TOM_C-PR- (i8751H, read protected, not dumped) <-- Since decapped, deprotected and read
-TOM_C-3F- (PAL, read protected, not dumped)
-
-
-on M72-B-B or M72-B-C or M72-B-D
-set jumper pins (J2, J3, J4, J5) to "B"
-R2A0.A0 (27C512)
-R2A1.A1
-R2A2.A2
-R2A3.A3
-
-078.B0
-079.B1
-080.B2
-081.B3
-
-*/
-
-ROM_START( lohtj )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "tom_c-h0-", 0x00001, 0x20000, CRC(2a752998) SHA1(a88c3c75a1106665c94ddd0945bfaa7696a21b75) )
- ROM_LOAD16_BYTE( "tom_c-l0-", 0x00000, 0x20000, CRC(a224d928) SHA1(c4744f6ca19ce60b0c03415be979f2a824235a1c) )
- ROM_LOAD16_BYTE( "tom_c-h3-", 0x40001, 0x20000, CRC(714778b5) SHA1(e2eaa35d6b5fa5df5163fe0d7b45fa66667f9947) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "tom_c-l3-", 0x40000, 0x20000, CRC(2f049b03) SHA1(21047cb10912b1fc23795673af3ea7de249328b7) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "tom_c-pr-.ic1", 0x00000, 0x01000, CRC(9fa9b496) SHA1(b529bcd7bf123894e11f2a8df8826932122e375a) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "r200", 0x00000, 0x20000, CRC(0b83265f) SHA1(b31918d6442b79c9fe4f20410189788b050a994e) ) /* sprites */
- ROM_LOAD( "r210", 0x20000, 0x20000, CRC(8ec5f6f3) SHA1(210f2753f5eeb06396758d21ab1778d459add247) )
- ROM_LOAD( "r220", 0x40000, 0x20000, CRC(a41d3bfd) SHA1(536fb7c0321dbbc1a8b73e9647fba9c53a253fcc) )
- ROM_LOAD( "r230", 0x60000, 0x20000, CRC(9d81a25b) SHA1(a354537c2fbba85f06485aa8487d7583a7133357) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "r2a0.a0", 0x00000, 0x10000, CRC(3ca3e771) SHA1(be052e01c5429ee89057c9d408794f2c7744047c) ) /* tiles #1 */
- ROM_LOAD( "r2a1.a1", 0x10000, 0x10000, CRC(7a05ee2f) SHA1(7d1ca5db9a5a85610129e3bc6c640ade036fe7f9) )
- ROM_LOAD( "r2a2.a2", 0x20000, 0x10000, CRC(79aa2335) SHA1(6b70c79d800a7b755aa7c9a368c4ea74029aaa1e) )
- ROM_LOAD( "r2a3.a3", 0x30000, 0x10000, CRC(789e8b24) SHA1(e957cd25c3c155ca295ab1aea03d610f91562cfb) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "078.b0", 0x00000, 0x10000, CRC(44626bf6) SHA1(571ef74d42d30a272ff0fb33f830652b4a4bad29) ) /* tiles #2 */
- ROM_LOAD( "079.b1", 0x10000, 0x10000, CRC(464952cf) SHA1(6b99360b6ba1ed5a72c257f51291f9f7a1ddf363) )
- ROM_LOAD( "080.b2", 0x20000, 0x10000, CRC(3db9b2c7) SHA1(02a318ffc459c494b7f40827eff5f89b41ac0426) )
- ROM_LOAD( "081.b3", 0x30000, 0x10000, CRC(f01fe899) SHA1(c5ab967b7af55a757638bcdc9975f4b15064022d) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "082", 0x00000, 0x10000, CRC(3ed51d1f) SHA1(84f3aa17d640df91387e5f1f5b5971cf8dcd4e17) )
-ROM_END
-
-/*
-nec v30
-z80 (sharp LH0080B z80b-cpu)
-2x YM2203C
-
-Crystals: 16MHz near the v30 and 28MHz near the z80 and ym2203c
-*/
-
-ROM_START( lohtb )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "lohtb03.b", 0x00001, 0x20000, CRC(8b845a70) SHA1(902c623310cd77b25592496745f9c6121149b516) )
- ROM_LOAD16_BYTE( "lohtb05.d", 0x00000, 0x20000, CRC(e90f7623) SHA1(e6e2f66a39286b2d7c03fc267beb2024913fb4ca) )
- ROM_LOAD16_BYTE( "lohtb02.a", 0x40001, 0x20000, CRC(714778b5) SHA1(e2eaa35d6b5fa5df5163fe0d7b45fa66667f9947) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "lohtb04.c", 0x40000, 0x20000, CRC(2f049b03) SHA1(21047cb10912b1fc23795673af3ea7de249328b7) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU program (Z80) + Samples*/
- ROM_LOAD( "lohtb01.02", 0x00000, 0x10000, CRC(e4bd8f03) SHA1(69fe41a978db92daa912cb345c2c7bafd2a6eb93) )
-
- ROM_REGION( 0x080000, "sprites", 0 ) /* Sprites */
- ROM_LOAD( "lohtb14.11", 0x00000, 0x10000, CRC(df5ac5ee) SHA1(5b45417ada402047d97dfb6cee6545686ad26e37) )
- ROM_LOAD( "lohtb15.12", 0x20000, 0x10000, CRC(45220b01) SHA1(83715cf155f91c82067d69f14b3b01ed77777b7d) )
- ROM_LOAD( "lohtb16.13", 0x40000, 0x10000, CRC(25b85cfc) SHA1(c7a9962165379193dc6553ed1f977795a79e0f78) )
- ROM_LOAD( "lohtb17.14", 0x60000, 0x10000, CRC(763fa4ec) SHA1(2d72b1b41f24ae299fde23869942c0b6bbb82363) )
- ROM_LOAD( "lohtb18.15", 0x10000, 0x10000, CRC(d7ecf849) SHA1(ab86a88eae21e054d4e8a740a60c7c6c198232d4) )
- ROM_LOAD( "lohtb19.16", 0x30000, 0x10000, CRC(35d1a808) SHA1(9378ff000104ecfb842b3b884197be82c43a01b4) )
- ROM_LOAD( "lohtb20.17", 0x50000, 0x10000, CRC(464d8579) SHA1(b5981f4865ee5439f0e330091927e6d97d29933f) )
- ROM_LOAD( "lohtb21.18", 0x70000, 0x10000, CRC(a73568c7) SHA1(8fe1867256708cc1ed76d1bed5566b1852b47c40) )
-
- ROM_REGION( 0x040000, "gfx2", ROMREGION_INVERT ) /* tiles #1 */
- ROM_LOAD( "lohtb13.10", 0x00000, 0x10000, CRC(359f17d4) SHA1(2875ba48395e7faa1a58404475be936dcca45ed1) )
- ROM_LOAD( "lohtb11.08", 0x10000, 0x10000, CRC(73391e8a) SHA1(53ca89b8a10895f817ecdb9fa5eef462edb94ae6) )
- ROM_LOAD( "lohtb09.06", 0x20000, 0x10000, CRC(7096d390) SHA1(f4a16bf8aef7a1a65619ab022cbdb67d2f191888) )
- ROM_LOAD( "lohtb07.04", 0x30000, 0x10000, CRC(71a27b81) SHA1(d8fe72d15bbcd5b170d1123d8f4c58874cefdca3) )
-
- ROM_REGION( 0x040000, "gfx3", ROMREGION_INVERT ) /* tiles #2 */
- ROM_LOAD( "lohtb12.09", 0x00000, 0x10000, CRC(4d5e9b53) SHA1(3e3977bab7a66ed0171afcd555d181960e338749) )
- ROM_LOAD( "lohtb10.07", 0x10000, 0x10000, CRC(4f75a26a) SHA1(79c09a1ad3a6f9cfbd07cb527bbd89d2478ce582) )
- ROM_LOAD( "lohtb08.05", 0x20000, 0x10000, CRC(34854262) SHA1(37436c12579fb41d22a1596b495f065959c14a26) )
- ROM_LOAD( "lohtb06.03", 0x30000, 0x10000, CRC(f923183c) SHA1(a6b578191864aefa81e0cad3ba12a2ca491c91cf) )
-
- ROM_REGION( 0x10000, "samples", ROMREGION_ERASEFF ) /* -- no sample roms on bootleg, included with z80 code */
-
- ROM_REGION( 0x0117, "plds", 0 )
- ROM_LOAD( "gal16v8-25qp.ic3", 0x0000, 0x0117, CRC(6acdfafb) SHA1(2ffd6f5a846e49fd2a8c7c7dfc9cf015406a44df) )
-ROM_END
-
-ROM_START( lohtb2 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "loht-a2.bin", 0x00001, 0x10000, CRC(ccc90e54) SHA1(860da001d9b0782adc25cfc3b453383225253d9e) )
- ROM_LOAD16_BYTE( "loht-a3.bin", 0x20001, 0x10000, CRC(ff8a98de) SHA1(ccb8275241bea81abc01dc36e62557712c1b5a8c) )
- ROM_LOAD16_BYTE( "loht-a10.bin", 0x00000, 0x10000, CRC(3aa06730) SHA1(483b135f8ee0fc54b1953c7c28e909a88aa2fa2e) )
- ROM_LOAD16_BYTE( "loht-a11.bin", 0x20000, 0x10000, CRC(eab1d7bc) SHA1(ec50fe89f05ae46e91b9f2f3d4e4383aa764e71d) )
-
- ROM_LOAD16_BYTE( "loht-a5.bin", 0x40001, 0x10000, CRC(79e007ec) SHA1(b2e4cc4a47f5f127ba9a1a00eaaf067464314ea0) )
- ROM_RELOAD( 0xc0001, 0x10000 )
- ROM_LOAD16_BYTE( "loht-a4.bin", 0x60001, 0x10000, CRC(254ea4d5) SHA1(07277bbe2ea6678f0de1f28e40be794880b3faff) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "loht-a13.bin", 0x40000, 0x10000, CRC(b951346e) SHA1(82fa3c4a09a86b74b98c31aaea5c0629ddff83a0) )
- ROM_RELOAD( 0xc0000, 0x10000 )
- ROM_LOAD16_BYTE( "loht-a12.bin", 0x60000, 0x10000, CRC(cfb0390d) SHA1(4acc61a51a7ae681bd8d835e2644b44c4d6d7bcb) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* MCU running in external mode on daughtercard. Same data as lohtj just padded with 0xff */
- ROM_LOAD( "loht-a26.bin", 0x00000, 0x02000, CRC(ac901e17) SHA1(70a73288d594c78ad2aca78ce55a699cb040bede) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "loht-a16.bin", 0x00000, 0x10000, CRC(df5ac5ee) SHA1(5b45417ada402047d97dfb6cee6545686ad26e37) )
- ROM_LOAD( "loht-a17.bin", 0x10000, 0x10000, CRC(d7ecf849) SHA1(ab86a88eae21e054d4e8a740a60c7c6c198232d4) )
- ROM_LOAD( "loht-a8.bin", 0x20000, 0x10000, CRC(45220b01) SHA1(83715cf155f91c82067d69f14b3b01ed77777b7d) )
- ROM_LOAD( "loht-a9.bin", 0x30000, 0x10000, CRC(4af9bb3c) SHA1(04f66caae5b3ae985451002293ad8f609a8d9377) )
- ROM_LOAD( "loht-a14.bin", 0x40000, 0x10000, CRC(25b85cfc) SHA1(c7a9962165379193dc6553ed1f977795a79e0f78) )
- ROM_LOAD( "loht-a15.bin", 0x50000, 0x10000, CRC(464d8579) SHA1(b5981f4865ee5439f0e330091927e6d97d29933f) )
- ROM_LOAD( "loht-a6.bin", 0x60000, 0x10000, CRC(763fa4ec) SHA1(2d72b1b41f24ae299fde23869942c0b6bbb82363) )
- ROM_LOAD( "loht-a7.bin", 0x70000, 0x10000, CRC(a73568c7) SHA1(8fe1867256708cc1ed76d1bed5566b1852b47c40) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "loht-a19.bin", 0x00000, 0x10000, CRC(3ca3e771) SHA1(be052e01c5429ee89057c9d408794f2c7744047c) ) /* tiles #1 */
-// ROM_LOAD( "loht-a20.bin", 0x10000, 0x10000, BAD_DUMP CRC(db2e3d77) SHA1(3f0758f74490b084321d8b2da29525dd1f19da09) )
- ROM_LOAD( "loht-a20.bin", 0x10000, 0x10000, CRC(7a05ee2f) SHA1(7d1ca5db9a5a85610129e3bc6c640ade036fe7f9) )
- ROM_LOAD( "loht-a18.bin", 0x20000, 0x10000, CRC(79aa2335) SHA1(6b70c79d800a7b755aa7c9a368c4ea74029aaa1e) )
- ROM_LOAD( "loht-a21.bin", 0x30000, 0x10000, CRC(789e8b24) SHA1(e957cd25c3c155ca295ab1aea03d610f91562cfb) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "loht-a24.bin", 0x00000, 0x10000, CRC(44626bf6) SHA1(571ef74d42d30a272ff0fb33f830652b4a4bad29) ) /* tiles #2 */
- ROM_LOAD( "loht-a25.bin", 0x10000, 0x10000, CRC(464952cf) SHA1(6b99360b6ba1ed5a72c257f51291f9f7a1ddf363) )
- ROM_LOAD( "loht-a23.bin", 0x20000, 0x10000, CRC(3db9b2c7) SHA1(02a318ffc459c494b7f40827eff5f89b41ac0426) )
- ROM_LOAD( "loht-a22.bin", 0x30000, 0x10000, CRC(f01fe899) SHA1(c5ab967b7af55a757638bcdc9975f4b15064022d) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "loht-a1.bin", 0x00000, 0x10000, CRC(3ed51d1f) SHA1(84f3aa17d640df91387e5f1f5b5971cf8dcd4e17) )
-ROM_END
-
-ROM_START( lohtb3 ) // extremely similar to the original. Copyright changed to 1997 and 'IRGM BORP.'
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "9.9", 0x00001, 0x20000, CRC(f1e4ebb7) SHA1(976ec822f57f36bc097deb5d3d86e7c2c1b247ed) )
- ROM_LOAD16_BYTE( "1.1", 0x00000, 0x20000, CRC(b9384e93) SHA1(5b882ecd68fdf7a6307af0e1aca2ab1782911227) )
-
- ROM_LOAD16_BYTE( "i-10.10", 0x40001, 0x10000, CRC(79e007ec) SHA1(b2e4cc4a47f5f127ba9a1a00eaaf067464314ea0) )
- ROM_RELOAD( 0xc0001, 0x10000 )
- ROM_LOAD16_BYTE( "i-11.11", 0x60001, 0x10000, CRC(254ea4d5) SHA1(07277bbe2ea6678f0de1f28e40be794880b3faff) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "i-2.2", 0x40000, 0x10000, CRC(b951346e) SHA1(82fa3c4a09a86b74b98c31aaea5c0629ddff83a0) )
- ROM_RELOAD( 0xc0000, 0x10000 )
- ROM_LOAD16_BYTE( "i-3.3", 0x60000, 0x10000, CRC(cfb0390d) SHA1(4acc61a51a7ae681bd8d835e2644b44c4d6d7bcb) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "c8751h.bin", 0x00000, 0x01000, CRC(9c9545f1) SHA1(ca800ce7467efb877d0fff4c47d72478a991e2a9) ) // unprotected?? - works for original loht (World) set
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "i-8.8", 0x00000, 0x10000, CRC(df5ac5ee) SHA1(5b45417ada402047d97dfb6cee6545686ad26e37) )
- ROM_LOAD( "i-7.7", 0x10000, 0x10000, CRC(d7ecf849) SHA1(ab86a88eae21e054d4e8a740a60c7c6c198232d4) )
- ROM_LOAD( "i-15.15", 0x20000, 0x10000, CRC(45220b01) SHA1(83715cf155f91c82067d69f14b3b01ed77777b7d) )
- ROM_LOAD( "i-14.14", 0x30000, 0x10000, CRC(35d1a808) SHA1(9378ff000104ecfb842b3b884197be82c43a01b4) )
- ROM_LOAD( "i-6.6", 0x40000, 0x10000, CRC(25b85cfc) SHA1(c7a9962165379193dc6553ed1f977795a79e0f78) )
- ROM_LOAD( "i-5.5", 0x50000, 0x10000, CRC(464d8579) SHA1(b5981f4865ee5439f0e330091927e6d97d29933f) )
- ROM_LOAD( "i-13.13", 0x60000, 0x10000, CRC(763fa4ec) SHA1(2d72b1b41f24ae299fde23869942c0b6bbb82363) )
- ROM_LOAD( "i-12.12", 0x70000, 0x10000, CRC(a73568c7) SHA1(8fe1867256708cc1ed76d1bed5566b1852b47c40) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "i-20.20", 0x00000, 0x10000, CRC(3ca3e771) SHA1(be052e01c5429ee89057c9d408794f2c7744047c) ) /* tiles #1 */
- ROM_LOAD( "r-21.21", 0x10000, 0x10000, CRC(7a05ee2f) SHA1(7d1ca5db9a5a85610129e3bc6c640ade036fe7f9) )
- ROM_LOAD( "i-19.19", 0x20000, 0x10000, CRC(79aa2335) SHA1(6b70c79d800a7b755aa7c9a368c4ea74029aaa1e) )
- ROM_LOAD( "i-22.22", 0x30000, 0x10000, CRC(789e8b24) SHA1(e957cd25c3c155ca295ab1aea03d610f91562cfb) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "r-25.25", 0x00000, 0x10000, CRC(44626bf6) SHA1(571ef74d42d30a272ff0fb33f830652b4a4bad29) ) /* tiles #2 */
- ROM_LOAD( "r-26.26", 0x10000, 0x10000, CRC(464952cf) SHA1(6b99360b6ba1ed5a72c257f51291f9f7a1ddf363) )
- ROM_LOAD( "r-24.24", 0x20000, 0x10000, CRC(3db9b2c7) SHA1(02a318ffc459c494b7f40827eff5f89b41ac0426) )
- ROM_LOAD( "i-23.23", 0x30000, 0x10000, CRC(2e2a085d) SHA1(ed2eed6c30d44b176bd99eb386482b2a19e3b9cb) )
-
- ROM_REGION( 0x10000, "samples", 0 ) /* samples */
- ROM_LOAD( "i-4.4", 0x00000, 0x10000, CRC(3ed51d1f) SHA1(84f3aa17d640df91387e5f1f5b5971cf8dcd4e17) )
-ROM_END
-
-/* Legend of Hero Tonma for Ervisa Modular System
-
- ROM Board (51)
- ___________________________________________________________
- | ________________ ________________ |
- | | | | | |
- | | LG 506 | | LG 508 | |
- | |_______________| |_______________| |
- | :::::::: ________________ ________________ |
- | | | | | |
- | __ | LG 505 | | LG 507 | |
- | | | |_______________| |_______________| |
- | | | __________ ________________ ________________ |
- | | | |_GAL16V8| | | | | |
- | | | | EMPTY | | EMPTY | |
- | | | |_______________| |_______________| |
- | | | __________ ________________ ________________ |
- | | | |_GAL16V8| | | | | |
- | | | | EMPTY | | EMPTY | |
- | | | |_______________| |_______________| |
- | | | _________ ________________ ________________ |
- | | | |74LS138N | | | | |
- | | | | EMPTY | | EMPTY | |
- | | | |_______________| |_______________| |
- | | |________________ ________________ |
- | |_|| | | | |
- | | LG 502 | | LG 504 | |
- | |_______________| |_______________| |
- | ________________ ________________ |
- | | | | | |
- | | LG 501 | | LG 503 | |
- | |_______________| |_______________| |
- | ________________ ________________ |
- | | | | | MODULAR |
- | | EMPTY | | EMPTY | SYSTEM 2 |
- | |_______________| |_______________| |
- | ________________ ________________ |
- | | | | | |
- | | EMPTY | | EMPTY | |
- | |_______________| |_______________| |
- | ________________ ________________ |
- | | | | | |
- | | EMPTY | | EMPTY | |
- | |_______________| |_______________| |
- | ________________ ________________ |
- | | | | | |
- | | EMPTY | | EMPTY | |
- | |_______________| |_______________| |
- |__________________________________________________________|
-
- ROM Board (8)
- __________________________________________________________________________________
- | :::::::: <- Jumpers |
- | ________________ ________________ ________________ ________________ |
- | _______ | | | | | | | ||
- | 74LS175N | EMPTY | | EMPTY | | EMPTY | | EMPTY ||
- | |_______________| |_______________| |_______________| |_______________||
- | _______ ________________ ________________ ________________ ________________ |
- | 74LS175N | | | | | | | ||
- | | EMPTY | | EMPTY | | EMPTY | | EMPTY ||
- | _______ |_______________| |_______________| |_______________| |_______________||
- | 74LS175N ________________ ________________ ________________ ________________ |
- | | | | | | | | ||
- | _______ | EMPTY | | EMPTY | | EMPTY | | EMPTY ||
- | 74LS175N |_______________| |_______________| |_______________| |_______________||
- | ________________ ________________ ________________ ________________ |
- | _______ | | | | | | | ||
- | 74LS175N | EMPTY | | EMPTY | | EMPTY | | EMPTY ||
- | |_______________| |_______________| |_______________| |_______________||
- | ________________ ________________ ________________ ________________ |
- | _______ | | | | | | | ||
- | 74LS175N | EMPTY | | EMPTY | | EMPTY | | EMPTY ||
- | |_______________| |_______________| |_______________| |_______________||
- | ________________ ________________ ________________ ________________ |
- | _______ | | | | | | | ||
- | 74LS175N | LG 802 | | LG 804 | | LG 806 | | LG 808 ||
- | |_______________| |_______________| |_______________| |_______________||
- | _______ ________________ ________________ ________________ ________________ |
- | 74LS175N | | | | | | | ||
- | | LG 801 | | LG 803 | | LG 805 | | LG 807 ||
- | |_______________| |_______________| |_______________| |_______________||
- | _____________________________ _______ _________________________________ |
- |__| |____74LS138N_| |__|
- |____________________________| |________________________________|
-
- CPU Board (6) Board 21/1
- _____________________________________________ ______________________________________________
- | _______________ __|_ | |
- | | | | | | |
- | | KM62245AP-10 | | | | ________ _______ ________ |
- | |______________| _______ | | | |_EMPTY_| |_EMPTY_| |_EMPTY_| |
- | _______ ________________ 74LS138N | | | |
- | 74LS367AN | | | | | |
- | | LG 606 | | | | |
- | |_______________| | | | ________ _______ ________ |
- | ________________ _______ | | | |74S74N_| |74LS393N |74LS393N |
- | _______ | | 74LS245N | | | |
- | 74LS367AN | LG 605 | | | | |
- | |_______________| | | | |
- | ________________ | | | |
- | _______ | | _______ | | | 74LS7273N |82S129_| |82S129_| |
- | 74LS138N | LG 604 | 74LS374P | | | 209 204 |
- | |_______________| | | | |
- | _______________ | | | |
- | | | _______ |___| | ________ _______ ________ |
- | _______ | KM62245AP-10 | 74LS245N | | 74LS74AN XTAL 74LS367AN |
- | GAL16V8 |______________| | | 28.00000 MHz |
- | 686 ________________ | | |
- | _______ | | _______ | | ________ _______ ________ |
- | 74LS174AN | LG 603 | 74LS374P | | 74LS732B1 74LS368AN AM2148-55DC __|_
- | |_______________| | | | |
- | _______ ________________ | | | |
- | GAL16V8 | | | | ________ _______ ________ | |
- | 8638 | LG 602 | _______ | | 74LS157N 74S112AN AM2148-55DC | |
- | _______ |_______________| 74LS138N | | | |
- | GAL16V8 ________________ | | | |
- | 8600 | | | | ________ _______ ________ | |
- | _______ | LG 601 | | | 74LS148N 74LS368AN AM2148-55DC | |
- | 74LS373N |_______________| _______ | | | |
- |___________________________ 74LS32N | | | |
- ||_________________ _______ | | | ________ _______ ________ ________ | |
- ||| |74LS737N| _______ | | 74LS298P 74LS298P 74LS298P 74LS174N | |
- ||| NEC V30 |_______ | 74LS20N | | | |
- |||________________|74LS737N| | | | |
- ||__________________________| | | ________ _______ ________ ________ | |
- | _______ ______ _______ _______ | | 74LS245N 74LS245N |74LS08P 74LS174N | |
- | |74S74N XTAL 74LS368AN 74LS132N | | |___|
- |__________20.000MHz_________________________| |_____________________________________________|
-
- Board 5 Sound Board (1/3)
- _____________________________________________ ______________________________________________
- | | | |
- | __________ ________ ________ ________ | | ________ ________ ________ |
- | |TO SUB 51| 74LS299N 74LS169N UM2149-1 | | 74LS107AN |74LS3Z_| |_EMPTY_| |
- | |_________| ________ ________ ________ | | |
- | 74LS169J 74LS169N UM2149-1 | | ________ __________________ |
- | | | 74LS368AB1 | | |
- | __________ ________ ________ ________ | | | EMPTY | |
- | |TO SUB 51| 74LS158N 74LS169N |82S129N <- 502 | ________ |_________________| |
- | |_________| ________ ________ ________ | | 74LS74AN __________________ |
- | 74LS299N 74LS169N 74LS244N | | | Z8400BB1 | |
- | | | ________ | Z80 B CPU | ________ |
- | __________ ________ ________ ________ | | 74HCT157E |_________________| |CA324E_| |
- | |TO SUB 51| 74LS299N 74LS169N 74LS244N | | ________________ |
- | |_________| ________ ________ ________ | | ________ | | __ |
- | |74LS20N UM2149-1 74LS298P | 105->N82S123N | LG 1 | |D||
- | | | ________ |_______________| |I||
- | __________ ________ ________ ________ | | 74HCT157E ________________ |P|| SOUND SUB
- | |TO SUB 51| 74LS299N UM2149-1 74LS298P | | __________ | | _____ _____ |S|| _________________
- | |_________| | | | || SRM2064C-15 |Y3014B Y3014B|-|| | ______ |
- | ________ ________ ________ ________ __ | | | SOUND ||_______________| |D|| | LM358N ___ |
- | 74LS273P |74LS00N 74LS86B1 74LS244N | || | | SUB | |I|| | .......... | | |
- | | || | | | |P|| | |OKI |
-_|_ ________ ________ ________ ________ |T|| __|_|_________|__________________ |S|| | .......... |M5205
-| | 74LS08B1 74LS158N 74LS74AN |74LS20N |O|| | | | YAMAHA | |_|| | ________ |__| |
-| | | || | | | YM2203C | | | 74LS377B1 |
-| | ________ ________ ________ ________ |S|| | | |_________________| | |_________________|
-IC64->PAL16R6A 74LS393N 74LS368AN 74LS377N |U|| | | |
-| | |B|| | | _______ ________ |
-| | ________ ________ ________ ________ | || | | |EMPTY_| 74LS74AN |
-| | 74LS138N 74LS283N AM2148-55DC EMPTY |5|| | | |
-| | |1|| | | |
-| | ________ ________ ________ ________ | || | | __________________ _____ |
-| | 74LS175P 74LS283N AM2148-55DC 74LS273P || | | _______ | YAMAHA | TDA2003 |
-| | | || | | |EMPTY| | YM2203C | |
-| | ________ ________ ________ ________ |_|| | | |_________________| |
-| | 74LS298P 74LS157N 74LS157N 74LS273P | | | |
-| | | | | |
-| | ________ ________ ________ ________ | | | |
-| | 74LS158N 74LS169N 74LS169N 74LS245P | | | |
-|__| | |___| __________________________ |
- |____________________________________________| |__________| |_|_|_|_|_|_|_|_|_|_|_| |________|
- PRE-JAMMA
- Board (6)
- __________________________________________________________
- | _________ _________ __________ _________ _________ __|_
- | 74LS163AP| 74LS163AP||_GAL20V8_| |74S174N_| |74S189N_|| |
- | 7636 | |
- | _________ _________ _________ _________ _________ | |
- | |74LS157N| |74LS288N| |74LS273P| 74LS290B1| |74S189N_|| |
- | | |
- | _________ _________ _________ _________ _________ | |
- | |74LS393N| 74LS283N_|74HCTLS373N 74LS298B1| |74S189N_|| |
- | | |
- | _________ __________ _____________ _________ | |
- | |74LS157N| |_GAL16V8_| |KM62256AP-10| |74S174N_| | |
- | 7536 |____________| _________ | |
- | _________ __________ _____________ |74S174N_| | |
- | |74LS283N| |74LS245P_| |KM62256AP-10| __________ | |
- | |____________| |74LS245P_| | |
- | _________ __________ __________ _________ | |
- | |74LS20B1| |74LS374N_| |74LS273P_| |74LS74AP| | |
- | | |
- | _________ __________ __________ _________ |___|
- | |74LS04N_| |_GAL16V8_| |74LS374N_| |74LS157N| |
- | 7336 |
- | _________ __________ __________ _________ |
- | |74LS00N_| |_GAL16V8_| |74LS273P_| 74LS367AN __|_
- | 7236 | |
- | _________ __________ __________ _________ | |
- | |74LS08B1| |74LS273P_| |74LS374N_| |GAL16V8_| | |
- | 7436 | |
- | _________ __________ __________ _________ | |
- | |74LS74AP| |74LS273P_| 74LS367AB1| 74HCTLS373N | |
- | | |
- | _________ __________ __________ _________ | |
- | |74LS32P_| |74LS374N_| 74LS367AB1| GAL20V8-25LP | |
- | 7136 | |
- | _________ _________ _________ _________ _________ | |
- | 74LS139AN |_74S74N_| |74LS157N| |74LS20B1| 74HCTLS373N |
- | _________ _________ _________ _________ _________ | |
- | |74LS32N_| |74LS157N|74HCTLS597N 74HCTLS597N 74HCTLS597N |
- | _________ _________ _________ _________ _________ | |
- | |74LS748P| |74LS86N_|74HCTLS597N 74HCTLS597N 74HCTLS597N |
- | _________ _________ _________ _________ _________ | |
- | |74LS748P| |74LS86N_|74HCTLS597N 74HCTLS597N 74HCTLS597N |
- | _________ _________ _________ _________ | |
- | |74LS377N|74HCTLS597N 74HCTLS597N 74HCTLS597N |
- | _________ _________ _________ _________ |___|
- | |74LS273P| |74LS169N| |74LS169N| |74LS169N| |
- |_________________________________________________________|
-
-*/
-ROM_START( loht_ms ) // really similar to lohtb, even if it runs on 'Modular Hardware'
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "6_lg_604.ic17", 0x00001, 0x10000, CRC(7e84b6ce) SHA1(a9a54f045917a191b6d6bbe061fc7a3344efb3bb) )
- ROM_LOAD16_BYTE( "6_lg_604.ic20", 0x10001, 0x10000, CRC(abdcd211) SHA1(6ad79c4ef14d908032e4dbded7696a66fe5d31da) )
- ROM_LOAD16_BYTE( "6_lg_601.ic8", 0x00000, 0x10000, CRC(7e080cb8) SHA1(598bcd8ecebe1922735b61cc1305e8839d9d054e) )
- ROM_LOAD16_BYTE( "6_lg_602.ic11", 0x10000, 0x10000, CRC(150d1178) SHA1(71df3c9a49eb74cf40790e9b4cf7c6260fbd07d6) )
- ROM_LOAD16_BYTE( "6_lg_606.ic26", 0x40001, 0x20000, CRC(714778b5) SHA1(e2eaa35d6b5fa5df5163fe0d7b45fa66667f9947) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "6_lg_603.ic25", 0x40000, 0x20000, CRC(2f049b03) SHA1(21047cb10912b1fc23795673af3ea7de249328b7) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU program (Z80) + Samples*/
- ROM_LOAD( "1_lg_1.ic12", 0x00000, 0x10000, CRC(7aa26b54) SHA1(01df7ea6443bbc775d5592edc32816853c857189) )
-
- ROM_REGION( 0x080000, "sprites", 0 ) /* Sprites */
- ROM_LOAD( "5_lg_501.ic5", 0x00000, 0x10000, CRC(df5ac5ee) SHA1(5b45417ada402047d97dfb6cee6545686ad26e37) )
- ROM_LOAD( "5_lg_503.ic14", 0x20000, 0x10000, CRC(45220b01) SHA1(83715cf155f91c82067d69f14b3b01ed77777b7d) )
- ROM_LOAD( "5_lg_505.ic20", 0x40000, 0x10000, CRC(25b85cfc) SHA1(c7a9962165379193dc6553ed1f977795a79e0f78) )
- ROM_LOAD( "5_lg_507.ic26", 0x60000, 0x10000, CRC(763fa4ec) SHA1(2d72b1b41f24ae299fde23869942c0b6bbb82363) )
- ROM_LOAD( "5_lg_502.ic6", 0x10000, 0x10000, CRC(d7ecf849) SHA1(ab86a88eae21e054d4e8a740a60c7c6c198232d4) )
- ROM_LOAD( "5_lg_504.ic15", 0x30000, 0x10000, CRC(35d1a808) SHA1(9378ff000104ecfb842b3b884197be82c43a01b4) )
- ROM_LOAD( "5_lg_506.ic21", 0x50000, 0x10000, CRC(464d8579) SHA1(b5981f4865ee5439f0e330091927e6d97d29933f) )
- ROM_LOAD( "5_lg_508.ic27", 0x70000, 0x10000, CRC(a73568c7) SHA1(8fe1867256708cc1ed76d1bed5566b1852b47c40) )
-
- ROM_REGION( 0x040000, "gfx2", ROMREGION_INVERT ) /* tiles #1 */
- ROM_LOAD( "8_lg_801.ic15", 0x00000, 0x10000, CRC(359f17d4) SHA1(2875ba48395e7faa1a58404475be936dcca45ed1) )
- ROM_LOAD( "8_lg_803.ic22", 0x10000, 0x10000, CRC(73391e8a) SHA1(53ca89b8a10895f817ecdb9fa5eef462edb94ae6) )
- ROM_LOAD( "8_lg_805.ic30", 0x20000, 0x10000, CRC(7096d390) SHA1(f4a16bf8aef7a1a65619ab022cbdb67d2f191888) )
- ROM_LOAD( "8_lg_807.ic37", 0x30000, 0x10000, CRC(1c113901) SHA1(3d4ce2ac6cdad0e1b0a21ffb062f9c92700adcf4) )
-
- ROM_REGION( 0x040000, "gfx3", ROMREGION_INVERT ) /* tiles #2 */
- ROM_LOAD( "8_lg_802.ic14", 0x00000, 0x10000, CRC(4d5e9b53) SHA1(3e3977bab7a66ed0171afcd555d181960e338749) )
- ROM_LOAD( "8_lg_804.ic21", 0x10000, 0x10000, CRC(4f75a26a) SHA1(79c09a1ad3a6f9cfbd07cb527bbd89d2478ce582) )
- ROM_LOAD( "8_lg_806.ic29", 0x20000, 0x10000, CRC(34854262) SHA1(37436c12579fb41d22a1596b495f065959c14a26) )
- ROM_LOAD( "8_lg_808.ic36", 0x30000, 0x10000, CRC(f923183c) SHA1(a6b578191864aefa81e0cad3ba12a2ca491c91cf) )
-
- ROM_REGION( 0x10000, "samples", ROMREGION_ERASEFF ) /* -- no sample roms on bootleg, included with z80 code */
-
- ROM_REGION( 0x320, "prom", ROMREGION_ERASEFF )
- ROM_LOAD( "51_502_82s129n.ic10", 0x000, 0x100, CRC(15085e44) SHA1(646e7100fcb112594023cf02be036bd3d42cc13c) )
- ROM_LOAD( "21_204_82s129an.ic4", 0x100, 0x100, CRC(74470450) SHA1(40b0e0991090733f8190ad7efcb500bd109c2a7e) )
- ROM_LOAD( "21_209_82s129an.ic12", 0x200, 0x100, CRC(7922a7ab) SHA1(e7ec2b1fc61bd7d2cf921bfc50d975f91b938e8a) )
- ROM_LOAD( "1_105_82s123n.ic20", 0x300, 0x020, CRC(14d72781) SHA1(372dc021d8aaf4aa6fd46e69a3d8f1c68113426f) )
-
- ROM_REGION( 0x104, "plds", ROMREGION_ERASEFF )
- ROM_LOAD( "51_p0503_pal16r6.ic46", 0x000, 0x104, CRC(07eb86d2) SHA1(482eb325df5bc60353bac85412cf45429cd03c6d) )
- // these were read protected
- ROM_LOAD( "5_5136_gal16v8-25lp.ic9", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "5_5236_gal16v8-25lp.ic8", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "6_686_gal16v8.ic13", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "6_8638_gal16v8.ic7", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "6_subcpu_8600_gal16v8.ic3", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "7_7136_gal20v8-25lp.ic7", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "7_7236_gal20v8-25lp.ic54", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "7_7336_gal16v8.ic55", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "7_7436_gal16v8.ic9", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "7_7536_gal16v8.ic59", 0x0, 0x1, NO_DUMP )
- ROM_LOAD( "7_7636_gal20v8-25lp.ic44", 0x0, 0x1, NO_DUMP )
-ROM_END
-
-
-ROM_START( xmultiplm72 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "xm_c-h3-.ic43", 0x00001, 0x20000, CRC(20685021) SHA1(92f4216320bf525045223b9454fb5bb224c536d8) )
- ROM_LOAD16_BYTE( "xm_c-l3-.ic34", 0x00000, 0x20000, CRC(93fdd200) SHA1(dd4244ba0ce6c621136b0648374179da44363c01) )
- ROM_LOAD16_BYTE( "xm_c-h0-.ic40", 0x40001, 0x10000, CRC(9438dd8a) SHA1(dc85789c47d31a96300b4236dc43f065e1b01e4a) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "xm_c-l0-.ic37", 0x40000, 0x10000, CRC(06a9e213) SHA1(9831c110814642703d6e71d49848d854095b7d3a) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "xm_c-pr-.ic1", 0x00000, 0x01000, CRC(c8ceb3cd) SHA1(e5d20a3a9d7f0919604543c97643a03434d80130) ) /* i8751 MCU labeled XM C-PR- */
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "t44.00.ic53", 0x00000, 0x20000, CRC(db45186e) SHA1(8c8edeb4b7e6b0516f2597823dc27eba9c5d9528) ) /* sprites */
- ROM_LOAD( "t45.01.ic52", 0x20000, 0x20000, CRC(4d0764d4) SHA1(4942333336a110b033f16ac1afa06ffef7b2dad6) )
- ROM_LOAD( "t46.10.ic51", 0x40000, 0x20000, CRC(f0c465a4) SHA1(69c107c860d4e8736431fd86b6821b70a8367eb3) )
- ROM_LOAD( "t47.11.ic50", 0x60000, 0x20000, CRC(1263b24b) SHA1(0445a5381df3a868bed6967c8e5de7169e4be6a3) )
- ROM_LOAD( "t48.20.ic48", 0x80000, 0x20000, CRC(4129944f) SHA1(988b072032d1667c3ac0731fada32fb6978505dc) )
- ROM_LOAD( "t49.21.ic48", 0xa0000, 0x20000, CRC(2346e6f9) SHA1(b3de017dd0353e04d279f57e151c47f5fcc70e9c) )
- ROM_LOAD( "t50.30.ic47", 0xc0000, 0x20000, CRC(e322543e) SHA1(b4c3a7f202d81485d5f0a7b7668ee89fc1edb215) )
- ROM_LOAD( "t51.31.ic46", 0xe0000, 0x20000, CRC(229bf7b1) SHA1(ae42c7efbb6278dd3fa56842361138391f2d49ca) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "t53.a0", 0x00000, 0x20000, CRC(1a082494) SHA1(63a3a84a262833d2cafab41e35df8f10a5e317b1) ) /* tiles #1 */
- ROM_LOAD( "t54.a1", 0x20000, 0x20000, CRC(076c16c5) SHA1(4be858806b916953d59aceee550e721eaf3996a6) )
- ROM_LOAD( "t55.a2", 0x40000, 0x20000, CRC(25d877a5) SHA1(48c948bf714c432f534c098123c8f50d5561756f) )
- ROM_LOAD( "t56.a3", 0x60000, 0x20000, CRC(5b1213f5) SHA1(87782aa0bd04d4378c4ba78b63028ae2709da2f1) )
-
- ROM_REGION( 0x080000, "gfx3", 0 )
- ROM_LOAD( "t57.b0", 0x00000, 0x20000, CRC(0a84e0c7) SHA1(67ad181a7d2c431cb4bf45955e09754549a03576) ) /* tiles #2 */
- ROM_LOAD( "t58.b1", 0x20000, 0x20000, CRC(a874121d) SHA1(1351d5901d55059c6472a4588a2e560396903861) )
- ROM_LOAD( "t59.b2", 0x40000, 0x20000, CRC(69deb990) SHA1(1eed3183efbe576376661b45152a0a21240ecfc8) )
- ROM_LOAD( "t60.b3", 0x60000, 0x20000, CRC(14c69f99) SHA1(4bea72f8bd421ef3ca559363f7473ce2e7038699) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "t52.v0.ic44", 0x00000, 0x20000, CRC(2db1bd80) SHA1(657006d0642ec7fb949bb52821d78fe51a599415) )
-ROM_END
-
-
-ROM_START( dbreedm72 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "db_c-h3-b.ic43", 0x00001, 0x20000, CRC(4bf3063c) SHA1(3f970c9ece2ac700738e217e0b31b3aba2848ab2) ) /* need to verify label, with MCU DB C-PR- below shows ROM NG 1 2 */
- ROM_LOAD16_BYTE( "db_c-l3-b.ic34", 0x00000, 0x20000, CRC(e4b89b79) SHA1(c312925940633e60fb5d0f05044c6e73e4f7fd54) ) /* need to verify label */
- ROM_LOAD16_BYTE( "db_c-h0.ic40", 0x60001, 0x10000, CRC(5aa79fb2) SHA1(b7b862699ddccf90cf18d3822703078668aa1dc7) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "db_c-l0.ic37", 0x60000, 0x10000, CRC(ed0f5e06) SHA1(9030840b15e83c18d59c884ed08c93c05fa70c5b) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "db_c-pr-b.ic1", 0x00000, 0x01000, NO_DUMP ) // Requires different currently undumped MCU code - i8751 MCU labeled DB C-PR-B??
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "db_k800m.00", 0x00000, 0x20000, CRC(c027a8cf) SHA1(534dc416b8f5587168c7f644d3f9438c8a190491) ) /* sprites */
- ROM_LOAD( "db_k801m.10", 0x20000, 0x20000, CRC(093faf33) SHA1(2704f644cdce87daf975984f143b1d55ba731c3f) )
- ROM_LOAD( "db_k802m.20", 0x40000, 0x20000, CRC(055b4c59) SHA1(71315dd7476612f138cb64b905648791d44eb7da) )
- ROM_LOAD( "db_k803m.30", 0x60000, 0x20000, CRC(8ed63922) SHA1(51daa8a23e637f6b4394598ff4a1d26f65b59c8b) )
-
- ROM_REGION( 0x080000, "gfx2", 0 ) // same roms are duplicated at a0-a3 and b0-b3, confirmed
- ROM_LOAD( "db_k804m.a0", 0x00000, 0x20000, CRC(4c83e92e) SHA1(6dade027435c48ab48bd4516d16a9961d4dd6fad) ) /* tiles #1 */
- ROM_LOAD( "db_k805m.a1", 0x20000, 0x20000, CRC(835ef268) SHA1(89d0bb15201440dffad3ef745970f95505d7ab03) )
- ROM_LOAD( "db_k806m.a2", 0x40000, 0x20000, CRC(5117f114) SHA1(a401a3e638209b32d4101a5c2e2a8b4612eaa21b) )
- ROM_LOAD( "db_k807m.a3", 0x60000, 0x20000, CRC(8eb0c978) SHA1(7fc55bbe4d0923db88492bb7160a89de34e11cd6) )
-
- ROM_REGION( 0x080000, "gfx3", 0 )
- ROM_LOAD( "db_k804m.b0", 0x00000, 0x20000, CRC(4c83e92e) SHA1(6dade027435c48ab48bd4516d16a9961d4dd6fad) ) /* tiles #2 */
- ROM_LOAD( "db_k805m.b1", 0x20000, 0x20000, CRC(835ef268) SHA1(89d0bb15201440dffad3ef745970f95505d7ab03) )
- ROM_LOAD( "db_k806m.b2", 0x40000, 0x20000, CRC(5117f114) SHA1(a401a3e638209b32d4101a5c2e2a8b4612eaa21b) )
- ROM_LOAD( "db_k807m.b3", 0x60000, 0x20000, CRC(8eb0c978) SHA1(7fc55bbe4d0923db88492bb7160a89de34e11cd6) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "db_c-v0.ic44", 0x00000, 0x20000, CRC(312f7282) SHA1(742d56980b4618180e9a0e02051c5aec4d5cdae4) )
-ROM_END
-
-ROM_START( dbreedm72j )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "db_c-h3.ic43", 0x00001, 0x20000, CRC(43425d67) SHA1(a87339bf299f7e84b9a181f3827278f64a6a29ea) )
- ROM_LOAD16_BYTE( "db_c-l3.ic34", 0x00000, 0x20000, CRC(9c1abc85) SHA1(6c73fbec12a7795e327381d886a87bca09a7dff0) )
- ROM_LOAD16_BYTE( "db_c-h0.ic40", 0x60001, 0x10000, CRC(5aa79fb2) SHA1(b7b862699ddccf90cf18d3822703078668aa1dc7) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "db_c-l0.ic37", 0x60000, 0x10000, CRC(ed0f5e06) SHA1(9030840b15e83c18d59c884ed08c93c05fa70c5b) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "db_c-pr-.mcu", 0x00000, 0x01000, CRC(8bf2910c) SHA1(65842c928626077f613e0ab56074e83301a64a2e) ) /* i8751 MCU labeled DB C-PR- */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "db_k800m.00", 0x00000, 0x20000, CRC(c027a8cf) SHA1(534dc416b8f5587168c7f644d3f9438c8a190491) ) /* sprites */
- ROM_LOAD( "db_k801m.10", 0x20000, 0x20000, CRC(093faf33) SHA1(2704f644cdce87daf975984f143b1d55ba731c3f) )
- ROM_LOAD( "db_k802m.20", 0x40000, 0x20000, CRC(055b4c59) SHA1(71315dd7476612f138cb64b905648791d44eb7da) )
- ROM_LOAD( "db_k803m.30", 0x60000, 0x20000, CRC(8ed63922) SHA1(51daa8a23e637f6b4394598ff4a1d26f65b59c8b) )
-
- ROM_REGION( 0x080000, "gfx2", 0 ) // same roms are duplicated at a0-a3 and b0-b3, confirmed
- ROM_LOAD( "db_k804m.a0", 0x00000, 0x20000, CRC(4c83e92e) SHA1(6dade027435c48ab48bd4516d16a9961d4dd6fad) ) /* tiles #1 */
- ROM_LOAD( "db_k805m.a1", 0x20000, 0x20000, CRC(835ef268) SHA1(89d0bb15201440dffad3ef745970f95505d7ab03) )
- ROM_LOAD( "db_k806m.a2", 0x40000, 0x20000, CRC(5117f114) SHA1(a401a3e638209b32d4101a5c2e2a8b4612eaa21b) )
- ROM_LOAD( "db_k807m.a3", 0x60000, 0x20000, CRC(8eb0c978) SHA1(7fc55bbe4d0923db88492bb7160a89de34e11cd6) )
-
- ROM_REGION( 0x080000, "gfx3", 0 )
- ROM_LOAD( "db_k804m.b0", 0x00000, 0x20000, CRC(4c83e92e) SHA1(6dade027435c48ab48bd4516d16a9961d4dd6fad) ) /* tiles #2 */
- ROM_LOAD( "db_k805m.b1", 0x20000, 0x20000, CRC(835ef268) SHA1(89d0bb15201440dffad3ef745970f95505d7ab03) )
- ROM_LOAD( "db_k806m.b2", 0x40000, 0x20000, CRC(5117f114) SHA1(a401a3e638209b32d4101a5c2e2a8b4612eaa21b) )
- ROM_LOAD( "db_k807m.b3", 0x60000, 0x20000, CRC(8eb0c978) SHA1(7fc55bbe4d0923db88492bb7160a89de34e11cd6) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "db_c-v0.ic44", 0x00000, 0x20000, CRC(312f7282) SHA1(742d56980b4618180e9a0e02051c5aec4d5cdae4) )
-ROM_END
-
-
-ROM_START( dkgensanm72 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ge72-h0.bin", 0x00001, 0x20000, CRC(a0ad992c) SHA1(6de4105d8454c4e4e62762fdd7e22829acc2442b) )
- ROM_LOAD16_BYTE( "ge72-l0.bin", 0x00000, 0x20000, CRC(996396f0) SHA1(1a2501ba46bcbc607f772765e8614bc442154a18) )
- ROM_LOAD16_BYTE( "ge72-h3.bin", 0x60001, 0x10000, CRC(d8b86005) SHA1(dd626cfe50a823066c54cc24d9fdaaf03d61d1e7) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "ge72-l3.bin", 0x60000, 0x10000, CRC(23d303a5) SHA1(b62010f34d71afb590deae458493454f9af38f7c) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "dkgenm72_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "hh_00.rom", 0x00000, 0x20000, CRC(ec5127ef) SHA1(014ac8ad7b19cd9b475b72a0f42a4991119501c4) ) /* sprites */
- ROM_LOAD( "hh_10.rom", 0x20000, 0x20000, CRC(def65294) SHA1(23f5d99fa9f604fde37cb52113bff233d9be1d25) )
- ROM_LOAD( "hh_20.rom", 0x40000, 0x20000, CRC(bb0d6ad4) SHA1(4ab617fadfc32efad90ed7f0555513f167b0c43a) )
- ROM_LOAD( "hh_30.rom", 0x60000, 0x20000, CRC(4351044e) SHA1(0d3ce3f4f1473fd997e70de91e7b5b5a5ec60ad4) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "ge72b-a0.bin", 0x00000, 0x10000, CRC(f5f56b2a) SHA1(4ef6602052fa70e765d6d7747e672b7108b44f59) ) /* tiles #1 */
- ROM_LOAD( "ge72-a1.bin", 0x10000, 0x10000, CRC(d194ea08) SHA1(0270897049cd256472df42f3dda856ee707535cd) )
- ROM_LOAD( "ge72-a2.bin", 0x20000, 0x10000, CRC(2b06bcc3) SHA1(36378a4a69f3c3da96d2dc8df48916af8de50009) )
- ROM_LOAD( "ge72-a3.bin", 0x30000, 0x10000, CRC(94b96bfa) SHA1(33c1e9045e7a984097f3fe4954b20d954cffbafa) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "ge72-b0.bin", 0x00000, 0x10000, CRC(208796b3) SHA1(38b90732c8d5c77ee84053364a8a7e3daaaabe66) ) /* tiles #2 */
- ROM_LOAD( "ge72-b1.bin", 0x10000, 0x10000, CRC(b4a7f490) SHA1(851b40650fc8920b49f43f9cc6f19e845a25e945) )
- ROM_LOAD( "ge72b-b2.bin", 0x20000, 0x10000, CRC(34fe8f7f) SHA1(fbf8839b26be55ad83ad4db538ba3e196c1ab945) )
- ROM_LOAD( "ge72b-b3.bin", 0x30000, 0x10000, CRC(4b0e92f4) SHA1(16ad9220ca6708028cea18c1c4b57e2b6eb425b4) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "gen-vo.bin", 0x00000, 0x20000, CRC(d8595c66) SHA1(97920c9947fbac609fb901415e5471c6e4ca066c) )
-ROM_END
-
-
-ROM_START( airduelm72 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ad-c-h0.ic40", 0x00001, 0x20000, CRC(12140276) SHA1(f218c5f2e6795b6295dea064817d7d6b1a7762b6) )
- ROM_LOAD16_BYTE( "ad-c-l0.ic37", 0x00000, 0x20000, CRC(4ac0b91d) SHA1(97e2f633181cd5c25927fd0e2988af2acdb3f388) )
- ROM_LOAD16_BYTE( "ad-c-h3.ic43", 0x40001, 0x20000, CRC(9f7cfca3) SHA1(becf827aa7749c54f1c435ea224e1fd9c8b3f5f9) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ad-c-l3.ic34", 0x40000, 0x20000, CRC(9dd343f7) SHA1(9f499936b6d3807aa5b5c18e9811c73c9a2c99f9) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "ad_c-pr-.ic1", 0x00000, 0x01000, CRC(45584e52) SHA1(647826f1bec9b39ae971ecb58d921d363ee4cf45) ) /* i8751 MCU labeled AD C-PR- */
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ad-00.ic53", 0x00000, 0x20000, CRC(2f0d599b) SHA1(a966f806b5e25bb98cc63c46c49e0e676a62afcf) )
- ROM_LOAD( "ad-10.ic51", 0x20000, 0x20000, CRC(9865856b) SHA1(b18a06899ae29d45e2351594df544220f3f4485a) )
- ROM_LOAD( "ad-20.ic49", 0x40000, 0x20000, CRC(d392aef2) SHA1(0f639a07066cadddc3884eb490885a8745571567) )
- ROM_LOAD( "ad-30.ic47", 0x60000, 0x20000, CRC(923240c3) SHA1(f587a83329087a715a3e42110f74f104e8c8ef1f) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ad-a0.ic21", 0x00000, 0x20000, CRC(ce134b47) SHA1(841358cc222c81b8a91edc262f355310d50b4dbb) ) /* tiles #1 */
- ROM_LOAD( "ad-a1.ic22", 0x20000, 0x20000, CRC(097fd853) SHA1(8e08f4f4a747c899bb8e21b347635e26af9edc2d) )
- ROM_LOAD( "ad-a2.ic20", 0x40000, 0x20000, CRC(6a94c1b9) SHA1(55174acbac54236e5fc1b80d120cd6da9fe5524c) )
- ROM_LOAD( "ad-a3.ic23", 0x60000, 0x20000, CRC(6637c349) SHA1(27cb7c89ab73292b43f8ae3c0d803a01ef3d3936) )
-
- ROM_REGION( 0x080000, "gfx3", 0 )
- ROM_LOAD( "ad-b0.ic26", 0x00000, 0x20000, CRC(ce134b47) SHA1(841358cc222c81b8a91edc262f355310d50b4dbb) ) /* tiles #2 */
- ROM_LOAD( "ad-b1.ic27", 0x20000, 0x20000, CRC(097fd853) SHA1(8e08f4f4a747c899bb8e21b347635e26af9edc2d) )
- ROM_LOAD( "ad-b2.ic25", 0x40000, 0x20000, CRC(6a94c1b9) SHA1(55174acbac54236e5fc1b80d120cd6da9fe5524c) )
- ROM_LOAD( "ad-b3.ic24", 0x60000, 0x20000, CRC(6637c349) SHA1(27cb7c89ab73292b43f8ae3c0d803a01ef3d3936) )
-
- ROM_REGION( 0x20000, "samples", 0 )
- ROM_LOAD( "ad-v0.ic44", 0x00000, 0x20000, CRC(339f474d) SHA1(a81bb52598a0e31b2ed6a538755237c5d14d1844) )
-
- ROM_REGION( 0x104, "pals", 0 )
- ROM_LOAD( "ad-c-3f.ic13", 0x000, 0x104, NO_DUMP ) // unknown type of PAL
-ROM_END
-
-
-ROM_START( gallop )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "cc-c-h0.ic40", 0x00001, 0x20000, CRC(2217dcd0) SHA1(9485b6c3eec99e720439e69dcbe0e55798bbff1c) )
- ROM_LOAD16_BYTE( "cc-c-l0.ic37", 0x00000, 0x20000, CRC(ff39d7fb) SHA1(fad95f76050fce04464268b5edff6622b2cb798f) )
- ROM_LOAD16_BYTE( "cc-c-h3.ic43", 0x40001, 0x20000, CRC(9b2bbab9) SHA1(255d4dda55be667f5f1f4324e9e66111738e79b3) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "cc-c-l3.ic34", 0x40000, 0x20000, CRC(acd3278e) SHA1(83d7ddfbdb4bc9548a179b728351a21b3b0ac134) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "mcu", 0 ) /* i8751 microcontroller */
- ROM_LOAD( "cc_c-pr-.ic1", 0x00000, 0x10000, NO_DUMP ) // read protected (only used for sample triggering, not supplying code / warning screens)
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "cc-c-00.ic53", 0x00000, 0x20000, CRC(9d99deaa) SHA1(acf16bea0f482306107d2a305c568406b6c21e9a) ) /* sprites */
- ROM_LOAD( "cc-c-10.ic51", 0x20000, 0x20000, CRC(7eb083ed) SHA1(31fa7d532fd46e861c3d19d5b08661653f685a49) )
- ROM_LOAD( "cc-c-20.ic49", 0x40000, 0x20000, CRC(9421489e) SHA1(e43d042bf8b4ebed93558d74ec479ec60a01ca5c) )
- ROM_LOAD( "cc-c-30.ic47", 0x60000, 0x20000, CRC(920ec735) SHA1(2d0949b43dddce7317c45910d6e4868ddf010806) )
-
- ROM_REGION( 0x040000, "gfx2", 0 )
- ROM_LOAD( "cc-b-a0.ic21", 0x00000, 0x10000, CRC(a33472bd) SHA1(962047fe3dd1fb996285ecef615a8ebdb529adef) ) /* tiles #1 */
- ROM_LOAD( "cc-b-a1.ic22", 0x10000, 0x10000, CRC(118b1f2d) SHA1(7413ccc67a8aa9dae156e6ee122b1ca5beeb9a76) )
- ROM_LOAD( "cc-b-a2.ic20", 0x20000, 0x10000, CRC(83cebf48) SHA1(12847827ecbf6b493eb9dbddd0a469729d87a451) )
- ROM_LOAD( "cc-b-a3.ic23", 0x30000, 0x10000, CRC(572903fc) SHA1(03305301bcf939e97044e746594736b1ca1d7c0a) )
-
- ROM_REGION( 0x040000, "gfx3", 0 )
- ROM_LOAD( "cc-b-b0.ic26", 0x00000, 0x10000, CRC(0df5b439) SHA1(0775cf92139a111542c8b5f940da0f7f43020982) ) /* tiles #2 */
- ROM_LOAD( "cc-b-b1.ic27", 0x10000, 0x10000, CRC(010b778f) SHA1(cc5bfeb0fbe0ed2fe513458c5785ec0ce5b02f53) )
- ROM_LOAD( "cc-b-b2.ic25", 0x20000, 0x10000, CRC(bda9f6fb) SHA1(a6b655ae5bff0568c1fb56ee8a3874fc6524052c) )
- ROM_LOAD( "cc-b-b3.ic24", 0x30000, 0x10000, CRC(d361ba3f) SHA1(7348fdae03e997e05187a2726eb221edb92553df) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "cc-c-v0.ic44", 0x00000, 0x20000, CRC(6247bade) SHA1(4bc9f86acd09908c74b1ab0e7817c4ff1cad6f0b) )
-ROM_END
-
-
-/*****************************
- M81 sets
-******************************/
-
-ROM_START( xmultipl )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "xm-a-h1-.ic58", 0x00001, 0x20000, CRC(449048cf) SHA1(871b588177fb018937d143f76eda18aa53b0f6c4) )
- ROM_LOAD16_BYTE( "xm-a-l1-.ic67", 0x00000, 0x20000, CRC(26ce39b0) SHA1(18ae2e8c2c826c6ecfa66f7af5afdeeac3936543) )
- ROM_LOAD16_BYTE( "xm-a-h0-.ic59", 0x40001, 0x10000, CRC(509bc970) SHA1(44bb4ecedf8f127792e9a8da70b3a42c8ff30ad2) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "xm-a-l0-.ic68", 0x40000, 0x10000, CRC(490a9ebc) SHA1(55d9d3a4f82f120faabca78c2e47922831f62a5d) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "xm-a-sp-.ic14", 0x00000, 0x10000, CRC(006eef56) SHA1(917b26b200fa4c1692d4c7ca0ea0f7897e3e3b7b) )
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "t44.00", 0x00000, 0x20000, CRC(db45186e) SHA1(8c8edeb4b7e6b0516f2597823dc27eba9c5d9528) ) /* sprites */
- ROM_LOAD( "t45.01", 0x20000, 0x20000, CRC(4d0764d4) SHA1(4942333336a110b033f16ac1afa06ffef7b2dad6) )
- ROM_LOAD( "t46.10", 0x40000, 0x20000, CRC(f0c465a4) SHA1(69c107c860d4e8736431fd86b6821b70a8367eb3) )
- ROM_LOAD( "t47.11", 0x60000, 0x20000, CRC(1263b24b) SHA1(0445a5381df3a868bed6967c8e5de7169e4be6a3) )
- ROM_LOAD( "t48.20", 0x80000, 0x20000, CRC(4129944f) SHA1(988b072032d1667c3ac0731fada32fb6978505dc) )
- ROM_LOAD( "t49.21", 0xa0000, 0x20000, CRC(2346e6f9) SHA1(b3de017dd0353e04d279f57e151c47f5fcc70e9c) )
- ROM_LOAD( "t50.30", 0xc0000, 0x20000, CRC(e322543e) SHA1(b4c3a7f202d81485d5f0a7b7668ee89fc1edb215) )
- ROM_LOAD( "t51.31", 0xe0000, 0x20000, CRC(229bf7b1) SHA1(ae42c7efbb6278dd3fa56842361138391f2d49ca) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "t53.a0", 0x00000, 0x20000, CRC(1a082494) SHA1(63a3a84a262833d2cafab41e35df8f10a5e317b1) ) /* tiles #1 */
- ROM_LOAD( "t54.a1", 0x20000, 0x20000, CRC(076c16c5) SHA1(4be858806b916953d59aceee550e721eaf3996a6) )
- ROM_LOAD( "t55.a2", 0x40000, 0x20000, CRC(25d877a5) SHA1(48c948bf714c432f534c098123c8f50d5561756f) )
- ROM_LOAD( "t56.a3", 0x60000, 0x20000, CRC(5b1213f5) SHA1(87782aa0bd04d4378c4ba78b63028ae2709da2f1) )
-
- ROM_REGION( 0x080000, "gfx3", 0 )
- /* b0-b3 are populated, Jumper J3 on the M81-B-B board is set to 'W' meaning use the ROMs from the b0-b3 positions*/
- ROM_LOAD( "t57.b0", 0x00000, 0x20000, CRC(0a84e0c7) SHA1(67ad181a7d2c431cb4bf45955e09754549a03576) ) /* tiles #2 */
- ROM_LOAD( "t58.b1", 0x20000, 0x20000, CRC(a874121d) SHA1(1351d5901d55059c6472a4588a2e560396903861) )
- ROM_LOAD( "t59.b2", 0x40000, 0x20000, CRC(69deb990) SHA1(1eed3183efbe576376661b45152a0a21240ecfc8) )
- ROM_LOAD( "t60.b3", 0x60000, 0x20000, CRC(14c69f99) SHA1(4bea72f8bd421ef3ca559363f7473ce2e7038699) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "t52.v0", 0x00000, 0x20000, CRC(2db1bd80) SHA1(657006d0642ec7fb949bb52821d78fe51a599415) )
-
- ROM_REGION( 0x0200, "proms", 0 ) /* proms */
- ROM_LOAD( "m81_a-9l-.ic72", 0x0000, 0x0100, CRC(b460c438) SHA1(00e20cf754b6fd5138ee4d2f6ec28dff9e292fe6) )
- ROM_LOAD( "m81_a-9p-.ic74", 0x0100, 0x0100, CRC(a4f2c4bc) SHA1(f13b0a4b52dcc6704063b676f09d83dcba170133) )
-ROM_END
-
-
-ROM_START( hharry )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "a-h0-v.rom", 0x00001, 0x20000, CRC(c52802a5) SHA1(7180189c886aebe8d3e7fd38922916cecfddae32) )
- ROM_LOAD16_BYTE( "a-l0-v.rom", 0x00000, 0x20000, CRC(f463074c) SHA1(aca86345610e65848c276ab278092d35ba215916) )
- ROM_LOAD16_BYTE( "a-h1-0.rom", 0x60001, 0x10000, CRC(3ae21335) SHA1(780d7a0c5bebe4b914ea5b3741e30630f8c29a4f) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "a-l1-0.rom", 0x60000, 0x10000, CRC(bc6ac5f9) SHA1(c6afba4967a8055f6b63827697425eac743f5a75) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "a-sp-0.rom", 0x00000, 0x10000, CRC(80e210e7) SHA1(66cff58fb37c52e1d8e0567e13b774253e862585) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "hh_00.rom", 0x00000, 0x20000, CRC(ec5127ef) SHA1(014ac8ad7b19cd9b475b72a0f42a4991119501c4) ) /* sprites */
- ROM_LOAD( "hh_10.rom", 0x20000, 0x20000, CRC(def65294) SHA1(23f5d99fa9f604fde37cb52113bff233d9be1d25) )
- ROM_LOAD( "hh_20.rom", 0x40000, 0x20000, CRC(bb0d6ad4) SHA1(4ab617fadfc32efad90ed7f0555513f167b0c43a) )
- ROM_LOAD( "hh_30.rom", 0x60000, 0x20000, CRC(4351044e) SHA1(0d3ce3f4f1473fd997e70de91e7b5b5a5ec60ad4) )
-
- ROM_REGION( 0x080000, "gfx2", ROMREGION_ERASEFF )
- ROM_LOAD( "hh_a0.rom", 0x00000, 0x20000, CRC(c577ba5f) SHA1(c882e58cf64deca8eee6f14f3df43ecc932488fc) ) /* tiles */
- ROM_LOAD( "hh_a1.rom", 0x20000, 0x20000, CRC(429d12ab) SHA1(ccba25eab981fc4e664f76e06a2964066f2ae2e8) )
- ROM_LOAD( "hh_a2.rom", 0x40000, 0x20000, CRC(b5b163b0) SHA1(82a708fea4953a7c4dcd1d4a1b07f302221ba30b) )
- ROM_LOAD( "hh_a3.rom", 0x60000, 0x20000, CRC(8ef566a1) SHA1(3afb020a7317efe89c18b2a7773894ce28499d49) )
-
- ROM_REGION( 0x080000, "gfx3", ROMREGION_ERASEFF )
- /* b0-b3 are unpopulated, Jumper J3 on the M81-B-B board is set to 'S' meaning use the ROMs from the a0-a3 positions*/
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "a-v0-0.rom", 0x00000, 0x20000, CRC(faaacaff) SHA1(ea3a3920255c07aa9c0a7e0191eae257a9f7f558) )
-ROM_END
-
-
-ROM_START( dbreed )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "db-a-h0-.59", 0x00001, 0x10000, CRC(e1177267) SHA1(f226f34ce85305870e659dd4f519bee30936af9a) )
- ROM_CONTINUE( 0x60001, 0x10000 )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "db-a-l0-.68", 0x00000, 0x10000, CRC(d82b167e) SHA1(f9ccb152feb31971230f61371a906bd900ef34e8) )
- ROM_CONTINUE( 0x60000, 0x10000 )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "db-a-sp-.14", 0x00000, 0x10000, CRC(54a61560) SHA1(e5fccfcedcadbab1667900f98370043c1907dd89) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "db_k800m.00", 0x00000, 0x20000, CRC(c027a8cf) SHA1(534dc416b8f5587168c7f644d3f9438c8a190491) ) /* sprites */
- ROM_LOAD( "db_k801m.10", 0x20000, 0x20000, CRC(093faf33) SHA1(2704f644cdce87daf975984f143b1d55ba731c3f) )
- ROM_LOAD( "db_k802m.20", 0x40000, 0x20000, CRC(055b4c59) SHA1(71315dd7476612f138cb64b905648791d44eb7da) )
- ROM_LOAD( "db_k803m.30", 0x60000, 0x20000, CRC(8ed63922) SHA1(51daa8a23e637f6b4394598ff4a1d26f65b59c8b) )
-
- ROM_REGION( 0x080000, "gfx2", ROMREGION_ERASEFF )
- ROM_LOAD( "db_k804m.a0", 0x00000, 0x20000, CRC(4c83e92e) SHA1(6dade027435c48ab48bd4516d16a9961d4dd6fad) ) /* tiles */
- ROM_LOAD( "db_k805m.a1", 0x20000, 0x20000, CRC(835ef268) SHA1(89d0bb15201440dffad3ef745970f95505d7ab03) )
- ROM_LOAD( "db_k806m.a2", 0x40000, 0x20000, CRC(5117f114) SHA1(a401a3e638209b32d4101a5c2e2a8b4612eaa21b) )
- ROM_LOAD( "db_k807m.a3", 0x60000, 0x20000, CRC(8eb0c978) SHA1(7fc55bbe4d0923db88492bb7160a89de34e11cd6) )
-
- ROM_REGION( 0x080000, "gfx3", ROMREGION_ERASEFF )
- /* b0-b3 are unpopulated, Jumper J3 on the M81-B-B board is set to 'S' meaning use the ROMs from the a0-a3 positions*/
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "db_a-v0.rom", 0x00000, 0x20000, CRC(312f7282) SHA1(742d56980b4618180e9a0e02051c5aec4d5cdae4) )
-ROM_END
-
-
-/*****************************
- M82 sets
-******************************/
-
-ROM_START( majtitle )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "mt_h0-a.bin", 0x00001, 0x20000, CRC(36aadb67) SHA1(11cb9f190431ef7b68bcad691191c810b00452be) )
- ROM_LOAD16_BYTE( "mt_l0-a.bin", 0x00000, 0x20000, CRC(2e1b6242) SHA1(a1d36c1bad7eb874e6b37a372d0ff95452b09315) )
- ROM_LOAD16_BYTE( "mt_h1-a.bin", 0x40001, 0x20000, CRC(e1402a22) SHA1(97ecf3cf5438dd3aad65554b672a4e401917dc34) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "mt_l1-a.bin", 0x40000, 0x20000, CRC(0efa409a) SHA1(2b4fd62705398c7ac1647f6ea821f722b4f7496f) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "mt_sp.bin", 0x00000, 0x10000, CRC(e44260a9) SHA1(a2512033c8cca9a8064eae1ada721202edf06e8e) )
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "mt_n0.bin", 0x00000, 0x40000, CRC(5618cddc) SHA1(16d34b431ab9b72067fa669d694e635c88aeb261) ) /* sprites #1 */
- ROM_LOAD( "mt_n1.bin", 0x40000, 0x40000, CRC(483b873b) SHA1(654efd67b2102521e8c46cd57cefa2cc64cf4fd3) )
- ROM_LOAD( "mt_n2.bin", 0x80000, 0x40000, CRC(4f5d665b) SHA1(f539d0f5c738ffabfac16121706abe3bb3b2a1fa) )
- ROM_LOAD( "mt_n3.bin", 0xc0000, 0x40000, CRC(83571549) SHA1(ce0b89aa4b3e3e1cf6ec6136f956577267cdd9d3) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "mt_c0.bin", 0x00000, 0x20000, CRC(780e7a02) SHA1(9776ecb8b5d86636061f8360464001a63bec0842) ) /* tiles */
- ROM_LOAD( "mt_c1.bin", 0x20000, 0x20000, CRC(45ad1381) SHA1(de281398dcd1c547bde9fa86f8ca409dd8d4aa6c) )
- ROM_LOAD( "mt_c2.bin", 0x40000, 0x20000, CRC(5df5856d) SHA1(f16163f672de6701b411315c9956ddb74c8464ce) )
- ROM_LOAD( "mt_c3.bin", 0x60000, 0x20000, CRC(f5316cc8) SHA1(123892d4a7e8d98582ea736afe659afdba8c5f87) )
-
- ROM_REGION( 0x080000, "sprites2", 0 )
- ROM_LOAD( "mt_f0.bin", 0x00000, 0x20000, CRC(2d5e05d5) SHA1(18bdc9c561dbf0f91642161ca985d2154bd58b5d) ) /* sprites #2 */
- ROM_LOAD( "mt_f1.bin", 0x20000, 0x20000, CRC(c68cd65f) SHA1(8999b558b4af0f453ada9e4ef705163df96844e6) )
- ROM_LOAD( "mt_f2.bin", 0x40000, 0x20000, CRC(a71feb2d) SHA1(47e366b422772bed08ee4d1c338970687d6c3b4c) )
- ROM_LOAD( "mt_f3.bin", 0x60000, 0x20000, CRC(179f7562) SHA1(6d28b199daffc62e8fa9009878ac0bb976ccbb2a) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "mt_vo.bin", 0x00000, 0x20000, CRC(eb24bb2c) SHA1(9fca04fba0249e8213dd164eb6829e1a5acbee65) )
-ROM_END
-
-ROM_START( majtitlej )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "mt_h0.bin", 0x00001, 0x20000, CRC(b9682c70) SHA1(b979c0a630397f2a2eb73709cf12c5262c973782) )
- ROM_LOAD16_BYTE( "mt_l0.bin", 0x00000, 0x20000, CRC(702c9fd6) SHA1(84a5e9e64f4bf235d115f5648b4a108f710ade1d) )
- ROM_LOAD16_BYTE( "mt_h1.bin", 0x40001, 0x20000, CRC(d9e97c30) SHA1(97f59b614eeeced0a414f8a1693590525a58f788) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "mt_l1.bin", 0x40000, 0x20000, CRC(8dbd91b5) SHA1(2bd01f3fba0fa1ca4b6f8ff57e7dc4434c42ce48) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "mt_sp.bin", 0x00000, 0x10000, CRC(e44260a9) SHA1(a2512033c8cca9a8064eae1ada721202edf06e8e) )
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "mt_n0.bin", 0x00000, 0x40000, CRC(5618cddc) SHA1(16d34b431ab9b72067fa669d694e635c88aeb261) ) /* sprites #1 */
- ROM_LOAD( "mt_n1.bin", 0x40000, 0x40000, CRC(483b873b) SHA1(654efd67b2102521e8c46cd57cefa2cc64cf4fd3) )
- ROM_LOAD( "mt_n2.bin", 0x80000, 0x40000, CRC(4f5d665b) SHA1(f539d0f5c738ffabfac16121706abe3bb3b2a1fa) )
- ROM_LOAD( "mt_n3.bin", 0xc0000, 0x40000, CRC(83571549) SHA1(ce0b89aa4b3e3e1cf6ec6136f956577267cdd9d3) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "mt_c0.bin", 0x00000, 0x20000, CRC(780e7a02) SHA1(9776ecb8b5d86636061f8360464001a63bec0842) ) /* tiles */
- ROM_LOAD( "mt_c1.bin", 0x20000, 0x20000, CRC(45ad1381) SHA1(de281398dcd1c547bde9fa86f8ca409dd8d4aa6c) )
- ROM_LOAD( "mt_c2.bin", 0x40000, 0x20000, CRC(5df5856d) SHA1(f16163f672de6701b411315c9956ddb74c8464ce) )
- ROM_LOAD( "mt_c3.bin", 0x60000, 0x20000, CRC(f5316cc8) SHA1(123892d4a7e8d98582ea736afe659afdba8c5f87) )
-
- ROM_REGION( 0x080000, "sprites2", 0 )
- ROM_LOAD( "mt_f0.bin", 0x00000, 0x20000, CRC(2d5e05d5) SHA1(18bdc9c561dbf0f91642161ca985d2154bd58b5d) ) /* sprites #2 */
- ROM_LOAD( "mt_f1.bin", 0x20000, 0x20000, CRC(c68cd65f) SHA1(8999b558b4af0f453ada9e4ef705163df96844e6) )
- ROM_LOAD( "mt_f2.bin", 0x40000, 0x20000, CRC(a71feb2d) SHA1(47e366b422772bed08ee4d1c338970687d6c3b4c) )
- ROM_LOAD( "mt_f3.bin", 0x60000, 0x20000, CRC(179f7562) SHA1(6d28b199daffc62e8fa9009878ac0bb976ccbb2a) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "mt_vo.bin", 0x00000, 0x20000, CRC(eb24bb2c) SHA1(9fca04fba0249e8213dd164eb6829e1a5acbee65) )
-ROM_END
-
-
-ROM_START( airduel )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ad_=m82=_a-h0-d.ic52", 0x00001, 0x20000, CRC(dbecc726) SHA1(526e9fdf0ca3af3eae462524df71af8e6bfa85d0) )
- ROM_LOAD16_BYTE( "ad_=m82=_a-l0-d.ic60", 0x00000, 0x20000, CRC(6a9fcf59) SHA1(a2ae64d290137036c350f84c38054cf6681473a5) )
- ROM_LOAD16_BYTE( "ad_=m82=_a-h1-d.ic51", 0x40001, 0x20000, CRC(bafc152a) SHA1(e20fa8b832ebfb7a4407fc162f28388858686d61) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ad_=m82=_a-l1-d.ic59", 0x40000, 0x20000, CRC(9e2b1ae7) SHA1(838ccffb760b464d7d7e108e033a09e6295e5fc8) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ad_=m82=_a-sp-d.ic15", 0x00000, 0x10000, CRC(16a858a3) SHA1(51dbac5b37ecb30b46072f5a300a29dc7f7b8542) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ad_=m82=_b-n0-d.ic44", 0x00000, 0x20000, CRC(2f0d599b) SHA1(a966f806b5e25bb98cc63c46c49e0e676a62afcf) ) /* sprites */
- ROM_LOAD( "ad_=m82=_b-n1-d.ic45", 0x20000, 0x20000, CRC(9865856b) SHA1(b18a06899ae29d45e2351594df544220f3f4485a) )
- ROM_LOAD( "ad_=m82=_b-n2-d.ic46", 0x40000, 0x20000, CRC(d392aef2) SHA1(0f639a07066cadddc3884eb490885a8745571567) )
- ROM_LOAD( "ad_=m82=_b-n3-d.ic36", 0x60000, 0x20000, CRC(923240c3) SHA1(f587a83329087a715a3e42110f74f104e8c8ef1f) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ad_=m82=_a-c0-d.ic49", 0x00000, 0x20000, CRC(ce134b47) SHA1(841358cc222c81b8a91edc262f355310d50b4dbb) ) /* tiles */
- ROM_LOAD( "ad_=m82=_a-c1-d.ic48", 0x20000, 0x20000, CRC(097fd853) SHA1(8e08f4f4a747c899bb8e21b347635e26af9edc2d) )
- ROM_LOAD( "ad_=m82=_a-c2-d.ic57", 0x40000, 0x20000, CRC(6a94c1b9) SHA1(55174acbac54236e5fc1b80d120cd6da9fe5524c) )
- ROM_LOAD( "ad_=m82=_a-c3-d.ic56", 0x60000, 0x20000, CRC(6637c349) SHA1(27cb7c89ab73292b43f8ae3c0d803a01ef3d3936) )
-
- ROM_REGION( 0x080000, "sprites2", 0 ) // still had these leftover from Major Title, probably needed to avoid displaying garbage?
- ROM_LOAD( "mt_f0.bin", 0x00000, 0x20000, CRC(2d5e05d5) SHA1(18bdc9c561dbf0f91642161ca985d2154bd58b5d) ) /* sprites #2 */
- ROM_LOAD( "mt_f1.bin", 0x20000, 0x20000, CRC(c68cd65f) SHA1(8999b558b4af0f453ada9e4ef705163df96844e6) )
- ROM_LOAD( "mt_f2.bin", 0x40000, 0x20000, CRC(a71feb2d) SHA1(47e366b422772bed08ee4d1c338970687d6c3b4c) )
- ROM_LOAD( "mt_f3.bin", 0x60000, 0x20000, CRC(179f7562) SHA1(6d28b199daffc62e8fa9009878ac0bb976ccbb2a) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ad_=m82=_a-v0-d.ic12", 0x00000, 0x20000, CRC(339f474d) SHA1(a81bb52598a0e31b2ed6a538755237c5d14d1844) )
-ROM_END
-
-
-ROM_START( rtypem82b )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "rt_h0.bin", 0x00001, 0x20000, CRC(5fa5068b) SHA1(b33891d2e0ca7e52226c1318ad657ac6bc7d6df4) )
- ROM_LOAD16_BYTE( "rt_l0.bin", 0x00000, 0x20000, CRC(aee6fae8) SHA1(22645da3bfeb3a7517bdbf0829fd9d689ddc5368) )
- ROM_LOAD16_BYTE( "rt_h1.bin", 0x40001, 0x20000, CRC(76389df4) SHA1(20004dd1d058589bdd8ea93a66a6cdf93382c7cc) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "rt_l1.bin", 0x40000, 0x20000, CRC(6af66a05) SHA1(3c686b4559e4e223e3b03533fe2b2fc4758f4e02) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "rt_sp.bin", 0x00000, 0x10000, CRC(24fded65) SHA1(34e085ebfc6415a60b7440ac53c8ae7130b5e9d4) )
-
- ROM_REGION( 0x80000, "sprites", 0 )
- ROM_LOAD( "rt_n0.bin", 0x00000, 0x20000, CRC(236e93ad) SHA1(a168c2f007a7469d8c1d834dc5247d99d13fd36d) ) /* sprites #1 */
- ROM_LOAD( "rt_n1.bin", 0x20000, 0x20000, CRC(94e0da50) SHA1(0e8aef07b2a4a60bb6faa9ea3d02869d30dff84c) )
- ROM_LOAD( "rt_n2.bin", 0x40000, 0x20000, CRC(6310dd0e) SHA1(4e4a50ef64cdfddea10d415a4b2d2490c1364074) )
- ROM_LOAD( "rt_n3.bin", 0x60000, 0x20000, CRC(dd9674fb) SHA1(925bbd64015ec9109a74ce80747bea2bfdb0cde6) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "rt_c0.bin", 0x00000, 0x40000, CRC(c2511272) SHA1(138dd131f827215f13ba0761cacc0f383b5e5a48) ) /* tiles */
- ROM_LOAD( "rt_c1.bin", 0x40000, 0x40000, CRC(6da33dae) SHA1(2b5f686c5c8e45a896ab115818066d03af767cb5) )
- ROM_LOAD( "rt_c2.bin", 0x80000, 0x40000, CRC(29322d6e) SHA1(b553d46f1270dcc4754800e65c21b5e418994fcd) )
- ROM_LOAD( "rt_c3.bin", 0xc0000, 0x40000, CRC(0ab3a8db) SHA1(7f4f5c18b5df0f5fdcb471db4e87c1be393aca92) )
-
- ROM_REGION( 0x080000, "sprites2", 0 ) // leftover from Major Title
- ROM_LOAD( "mt_f0.bin", 0x00000, 0x20000, CRC(2d5e05d5) SHA1(18bdc9c561dbf0f91642161ca985d2154bd58b5d) ) /* sprites #2 */
- ROM_LOAD( "mt_f1.bin", 0x20000, 0x20000, CRC(c68cd65f) SHA1(8999b558b4af0f453ada9e4ef705163df96844e6) )
- ROM_LOAD( "mt_f2.bin", 0x40000, 0x20000, CRC(a71feb2d) SHA1(47e366b422772bed08ee4d1c338970687d6c3b4c) )
- ROM_LOAD( "mt_f3.bin", 0x60000, 0x20000, CRC(179f7562) SHA1(6d28b199daffc62e8fa9009878ac0bb976ccbb2a) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */ // leftover from Major Title
- ROM_LOAD( "mt_vo.bin", 0x00000, 0x20000, CRC(eb24bb2c) SHA1(9fca04fba0249e8213dd164eb6829e1a5acbee65) )
-ROM_END
-
-
-ROM_START( rtype2m82b )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "rt2_h0.bin", 0x00001, 0x20000, CRC(47639a78) SHA1(d7dd851fed96d46c850e5c8f24d9d1a081f6b297) )
- ROM_LOAD16_BYTE( "rt2_l0.bin", 0x00000, 0x20000, CRC(a1661cdf) SHA1(d209328d678fc2fc405bd20f5134bd85b4cd4802) )
- ROM_LOAD16_BYTE( "rt2_h1.bin", 0x40001, 0x20000, CRC(4b79840c) SHA1(6cf8c8cf4bcf5e2acdaa05b8dca2f2a969edc2c5) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "rt2_l1.bin", 0x40000, 0x20000, CRC(6ab3ae42) SHA1(d3d7c35e1583b55cc668aa011471c3bf04a541af) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "rt2_sp.bin", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
-
- ROM_REGION( 0x80000, "sprites", 0 )
- ROM_LOAD( "rt2_n0.bin", 0x00000, 0x20000, CRC(2cd8f913) SHA1(a53752b35da95b420dd29a09176d265d292b3938) ) /* sprites #1 */
- ROM_LOAD( "rt2_n1.bin", 0x20000, 0x20000, CRC(5033066d) SHA1(e125127f0610c63f9e59a585db547be5d49ed863) )
- ROM_LOAD( "rt2_n2.bin", 0x40000, 0x20000, CRC(ec3a0450) SHA1(632bdd397f1bc67f6970faf7d09ab8d911e105fe) )
- ROM_LOAD( "rt2_n3.bin", 0x60000, 0x20000, CRC(db6176fc) SHA1(1eaf72af0322490c98461aded202288e387caac1) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "rt2_c0.bin", 0x00000, 0x40000, CRC(f5bad5f2) SHA1(dc86b93f62e8947e3551f07e393e740e5dc43f5e) ) /* tiles */
- ROM_LOAD( "rt2_c1.bin", 0x40000, 0x40000, CRC(71451778) SHA1(52ca7aa8522b988a19556313041450c767dad054) )
- ROM_LOAD( "rt2_c2.bin", 0x80000, 0x40000, CRC(c6b0c352) SHA1(eec4fa88c27815960106881e7ccb23e62556bf1c) )
- ROM_LOAD( "rt2_c3.bin", 0xc0000, 0x40000, CRC(6d530a32) SHA1(4e4100e5e5d88e65fb5494474d3692ecd8f44343) )
-
- ROM_REGION( 0x080000, "sprites2", 0 ) // leftover from Major Title
- ROM_LOAD( "mt_f0.bin", 0x00000, 0x20000, CRC(2d5e05d5) SHA1(18bdc9c561dbf0f91642161ca985d2154bd58b5d) ) /* sprites #2 */
- ROM_LOAD( "mt_f1.bin", 0x20000, 0x20000, CRC(c68cd65f) SHA1(8999b558b4af0f453ada9e4ef705163df96844e6) )
- ROM_LOAD( "mt_f2.bin", 0x40000, 0x20000, CRC(a71feb2d) SHA1(47e366b422772bed08ee4d1c338970687d6c3b4c) )
- ROM_LOAD( "mt_f3.bin", 0x60000, 0x20000, CRC(179f7562) SHA1(6d28b199daffc62e8fa9009878ac0bb976ccbb2a) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "rt2_vo.bin", 0x00000, 0x20000, CRC(637172d5) SHA1(9dd0dc409306287238826bf301e2a7a12d6cd9ce) )
-ROM_END
-
-
-ROM_START( dkgensanm82 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "gen_=m84=_a-h0-d.ic52", 0x00001, 0x20000, CRC(a1ca8855) SHA1(19b0ec1a03af114aa4f02630ace67c277ebce60f) )
- ROM_LOAD16_BYTE( "gen_=m84=_a-l0-d.ic60", 0x00000, 0x20000, CRC(247117b0) SHA1(e7674b9d0ae80afb52b47094f95ed5c250c7e303) )
- ROM_LOAD16_BYTE( "gen_=m84=_a-h1-d.ic51", 0x60001, 0x10000, CRC(54e5b73c) SHA1(5664f6e0a931b1c139e82dc98fcc9e38acd14616) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "gen_=m84=_a-l1-d.ic59", 0x60000, 0x10000, CRC(894f8a9f) SHA1(57a0885c52a094def03b129a450cc891e6c075c6) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "gen_=m84=_a-sp-d.ic15", 0x00000, 0x10000, CRC(e83cfc2c) SHA1(3193bdd06a9712fc499e6fc90a33140463ef59fe) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "gen_=m72=_c-l0-b.ic44", 0x00000, 0x20000, CRC(ec5127ef) SHA1(014ac8ad7b19cd9b475b72a0f42a4991119501c4) ) /* sprites */
- ROM_LOAD( "gen_=m72=_c-l3-b.ic45", 0x20000, 0x20000, CRC(def65294) SHA1(23f5d99fa9f604fde37cb52113bff233d9be1d25) )
- ROM_LOAD( "gen_=m72=_c-h0-b.ic46", 0x40000, 0x20000, CRC(bb0d6ad4) SHA1(4ab617fadfc32efad90ed7f0555513f167b0c43a) )
- ROM_LOAD( "gen_=m72=_c-h3-b.ic36", 0x60000, 0x20000, CRC(4351044e) SHA1(0d3ce3f4f1473fd997e70de91e7b5b5a5ec60ad4) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "gen_=m81=_a-l0-a.ic49", 0x00000, 0x20000, CRC(c577ba5f) SHA1(c882e58cf64deca8eee6f14f3df43ecc932488fc) ) /* tiles */
- ROM_LOAD( "gen_=m81=_a-l1-a.ic48", 0x20000, 0x20000, CRC(429d12ab) SHA1(ccba25eab981fc4e664f76e06a2964066f2ae2e8) )
- ROM_LOAD( "gen_=m81=_a-h0-a.ic57", 0x40000, 0x20000, CRC(b5b163b0) SHA1(82a708fea4953a7c4dcd1d4a1b07f302221ba30b) )
- ROM_LOAD( "gen_=m81=_a-h1-a.ic56", 0x60000, 0x20000, CRC(8ef566a1) SHA1(3afb020a7317efe89c18b2a7773894ce28499d49) )
-
- ROM_REGION( 0x080000, "sprites2", 0 ) // leftover from Major Title
- ROM_LOAD( "mt_f0.ic38", 0x00000, 0x20000, CRC(2d5e05d5) SHA1(18bdc9c561dbf0f91642161ca985d2154bd58b5d) ) /* sprites #2 */
- ROM_LOAD( "mt_f1.ic39", 0x20000, 0x20000, CRC(c68cd65f) SHA1(8999b558b4af0f453ada9e4ef705163df96844e6) )
- ROM_LOAD( "mt_f2.ic40", 0x40000, 0x20000, CRC(a71feb2d) SHA1(47e366b422772bed08ee4d1c338970687d6c3b4c) )
- ROM_LOAD( "mt_f3.ic41", 0x60000, 0x20000, CRC(179f7562) SHA1(6d28b199daffc62e8fa9009878ac0bb976ccbb2a) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "gen_=m84=_a-v0-d.ic12", 0x00000, 0x20000, CRC(d8595c66) SHA1(97920c9947fbac609fb901415e5471c6e4ca066c) )
-ROM_END
-
-
-/*****************************
- M84 sets
-******************************/
-
-ROM_START( rtype2 )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "rt2-a-h0-d.54", 0x00001, 0x20000, CRC(d8ece6f4) SHA1(f7bb246fe8b75af24716d419bb3c6e7d9cd0971e) )
- ROM_LOAD16_BYTE( "rt2-a-l0-d.60", 0x00000, 0x20000, CRC(32cfb2e4) SHA1(d4b44a40e2933040eddb2b09de7bfe28d76c5f25) )
- ROM_LOAD16_BYTE( "rt2-a-h1-d.53", 0x40001, 0x20000, CRC(4f6e9b15) SHA1(ef733c2615951f54691877ad3e84d08107723324) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "rt2-a-l1-d.59", 0x40000, 0x20000, CRC(0fd123bf) SHA1(1133163f6716e9a4bbb437b3a471477d0bd97051) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ic17.4f", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ic31.6l", 0x00000, 0x20000, CRC(2cd8f913) SHA1(a53752b35da95b420dd29a09176d265d292b3938) ) /* sprites */
- ROM_LOAD( "ic21.4l", 0x20000, 0x20000, CRC(5033066d) SHA1(e125127f0610c63f9e59a585db547be5d49ed863) )
- ROM_LOAD( "ic32.6m", 0x40000, 0x20000, CRC(ec3a0450) SHA1(632bdd397f1bc67f6970faf7d09ab8d911e105fe) )
- ROM_LOAD( "ic22.4m", 0x60000, 0x20000, CRC(db6176fc) SHA1(1eaf72af0322490c98461aded202288e387caac1) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "ic50.7s", 0x00000, 0x20000, CRC(f3f8736e) SHA1(37872b30459ad05b2981d4ac84983f3b52d0d2d6) ) /* tiles */
- ROM_LOAD( "ic51.7u", 0x20000, 0x20000, CRC(b4c543af) SHA1(56042eba711160fc701021c8787414dcaddcdecb) )
- ROM_LOAD( "ic56.8s", 0x40000, 0x20000, CRC(4cb80d66) SHA1(31c5496c14b277e428a2f22195fe1742d6a577d4) )
- ROM_LOAD( "ic57.8u", 0x60000, 0x20000, CRC(bee128e0) SHA1(b149dae5f8f67a329d6df033fadf50ad75c0a57a) )
- ROM_LOAD( "ic65.9r", 0x80000, 0x20000, CRC(2dc9c71a) SHA1(124e89c17f3af034d5a387ff3eab906d289c27f7) )
- ROM_LOAD( "ic66.9u", 0xa0000, 0x20000, CRC(7533c428) SHA1(ba435cfb6c3c49fcc4d716dcecf8f17545b8eec6) )
- ROM_LOAD( "ic63.9m", 0xc0000, 0x20000, CRC(a6ad67f2) SHA1(b005b037ce8b3c932089982ecfbccdc922278fe3) )
- ROM_LOAD( "ic64.9p", 0xe0000, 0x20000, CRC(3686d555) SHA1(d03754d9b8a6a3bfd4a85eeddacc35a36af197bd) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ic14.4c", 0x00000, 0x20000, CRC(637172d5) SHA1(9dd0dc409306287238826bf301e2a7a12d6cd9ce) )
-ROM_END
-
-ROM_START( rtype2j )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "rt2-a-h0.54", 0x00001, 0x20000, CRC(7857ccf6) SHA1(9f6774a8128ee2dbb5b6c42289095275337bc73e) )
- ROM_LOAD16_BYTE( "rt2-a-l0.60", 0x00000, 0x20000, CRC(cb22cd6e) SHA1(a877cffbac9f55bca8932b12540a4686ba975684) )
- ROM_LOAD16_BYTE( "rt2-a-h1.53", 0x40001, 0x20000, CRC(49e75d28) SHA1(956bafaaa6711a8a13f2bffe43e8d05d51d8a3c9) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "rt2-a-l1.59", 0x40000, 0x20000, CRC(12ec1676) SHA1(10cee9a87dd954444b0e64fad7f15a5ae529890d) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ic17.4f", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ic31.6l", 0x00000, 0x20000, CRC(2cd8f913) SHA1(a53752b35da95b420dd29a09176d265d292b3938) ) /* sprites */
- ROM_LOAD( "ic21.4l", 0x20000, 0x20000, CRC(5033066d) SHA1(e125127f0610c63f9e59a585db547be5d49ed863) )
- ROM_LOAD( "ic32.6m", 0x40000, 0x20000, CRC(ec3a0450) SHA1(632bdd397f1bc67f6970faf7d09ab8d911e105fe) )
- ROM_LOAD( "ic22.4m", 0x60000, 0x20000, CRC(db6176fc) SHA1(1eaf72af0322490c98461aded202288e387caac1) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "ic50.7s", 0x00000, 0x20000, CRC(f3f8736e) SHA1(37872b30459ad05b2981d4ac84983f3b52d0d2d6) ) /* tiles */
- ROM_LOAD( "ic51.7u", 0x20000, 0x20000, CRC(b4c543af) SHA1(56042eba711160fc701021c8787414dcaddcdecb) )
- ROM_LOAD( "ic56.8s", 0x40000, 0x20000, CRC(4cb80d66) SHA1(31c5496c14b277e428a2f22195fe1742d6a577d4) )
- ROM_LOAD( "ic57.8u", 0x60000, 0x20000, CRC(bee128e0) SHA1(b149dae5f8f67a329d6df033fadf50ad75c0a57a) )
- ROM_LOAD( "ic65.9r", 0x80000, 0x20000, CRC(2dc9c71a) SHA1(124e89c17f3af034d5a387ff3eab906d289c27f7) )
- ROM_LOAD( "ic66.9u", 0xa0000, 0x20000, CRC(7533c428) SHA1(ba435cfb6c3c49fcc4d716dcecf8f17545b8eec6) )
- ROM_LOAD( "ic63.9m", 0xc0000, 0x20000, CRC(a6ad67f2) SHA1(b005b037ce8b3c932089982ecfbccdc922278fe3) )
- ROM_LOAD( "ic64.9p", 0xe0000, 0x20000, CRC(3686d555) SHA1(d03754d9b8a6a3bfd4a85eeddacc35a36af197bd) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ic14.4c", 0x00000, 0x20000, CRC(637172d5) SHA1(9dd0dc409306287238826bf301e2a7a12d6cd9ce) )
-
- ROM_REGION( 0x0200, "proms", 0 ) /* located on M84-B-A */
- ROM_LOAD( "rt2_b-4n-.bin", 0x0000, 0x0100, CRC(b460c438) SHA1(00e20cf754b6fd5138ee4d2f6ec28dff9e292fe6) )
- ROM_LOAD( "rt2_b-4p-.bin", 0x0100, 0x0100, CRC(a4f2c4bc) SHA1(f13b0a4b52dcc6704063b676f09d83dcba170133) )
-
- /* stuff below isn't used but loaded because it was on the board .. */
- ROM_REGION( 0x0800, "plds", 0 )
- ROM_LOAD( "rt2-a-2h-.5", 0x0000, 0x0104, NO_DUMP ) // TIBPAL-16L8-25
- ROM_LOAD( "rt2-a-5l-.33", 0x0200, 0x0104, NO_DUMP ) // TIBPAL-16L8-25
- ROM_LOAD( "rt2-a-7d-.45", 0x0400, 0x0104, CRC(53c1e087) SHA1(b214ba4e7cc3d582ee85616923f38fd4873dacb1) ) // TIBPAL-16L8-25
- ROM_LOAD( "rt2-b-3a-.9", 0x0600, 0x0104, NO_DUMP ) // TIBPAL-16L8-25
-ROM_END
-
-ROM_START( rtype2jc )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "rt2-a-h0-c.54", 0x00001, 0x20000, CRC(ef9a9990) SHA1(fdf8fb7cb2b16f3cc58592da5c696ccff85f87e0) )
- ROM_LOAD16_BYTE( "rt2-a-l0-c.60", 0x00000, 0x20000, CRC(d8b9da64) SHA1(ce19fc95d0adefa57c2161d7b0d756ecf799c707) )
- ROM_LOAD16_BYTE( "rt2-a-h1-c.53", 0x40001, 0x20000, CRC(1b1870f4) SHA1(9a98b146980a87d088b7157da7a64c99902ddd54) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "rt2-a-l1-c.59", 0x40000, 0x20000, CRC(60fdff35) SHA1(9c89682deebfa88864b5af9cf0f05944d5c2212f) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ic17.4f", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ic31.6l", 0x00000, 0x20000, CRC(2cd8f913) SHA1(a53752b35da95b420dd29a09176d265d292b3938) ) /* sprites */
- ROM_LOAD( "ic21.4l", 0x20000, 0x20000, CRC(5033066d) SHA1(e125127f0610c63f9e59a585db547be5d49ed863) )
- ROM_LOAD( "ic32.6m", 0x40000, 0x20000, CRC(ec3a0450) SHA1(632bdd397f1bc67f6970faf7d09ab8d911e105fe) )
- ROM_LOAD( "ic22.4m", 0x60000, 0x20000, CRC(db6176fc) SHA1(1eaf72af0322490c98461aded202288e387caac1) )
-
- ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "ic50.7s", 0x00000, 0x20000, CRC(f3f8736e) SHA1(37872b30459ad05b2981d4ac84983f3b52d0d2d6) ) /* tiles */
- ROM_LOAD( "ic51.7u", 0x20000, 0x20000, CRC(b4c543af) SHA1(56042eba711160fc701021c8787414dcaddcdecb) )
- ROM_LOAD( "ic56.8s", 0x40000, 0x20000, CRC(4cb80d66) SHA1(31c5496c14b277e428a2f22195fe1742d6a577d4) )
- ROM_LOAD( "ic57.8u", 0x60000, 0x20000, CRC(bee128e0) SHA1(b149dae5f8f67a329d6df033fadf50ad75c0a57a) )
- ROM_LOAD( "ic65.9r", 0x80000, 0x20000, CRC(2dc9c71a) SHA1(124e89c17f3af034d5a387ff3eab906d289c27f7) )
- ROM_LOAD( "ic66.9u", 0xa0000, 0x20000, CRC(7533c428) SHA1(ba435cfb6c3c49fcc4d716dcecf8f17545b8eec6) )
- ROM_LOAD( "ic63.9m", 0xc0000, 0x20000, CRC(a6ad67f2) SHA1(b005b037ce8b3c932089982ecfbccdc922278fe3) )
- ROM_LOAD( "ic64.9p", 0xe0000, 0x20000, CRC(3686d555) SHA1(d03754d9b8a6a3bfd4a85eeddacc35a36af197bd) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ic14.4c", 0x00000, 0x20000, CRC(637172d5) SHA1(9dd0dc409306287238826bf301e2a7a12d6cd9ce) )
-ROM_END
-
-
-ROM_START( hharryu )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "a-ho-u.8d", 0x00001, 0x20000, CRC(ede7f755) SHA1(adcec83d6b936ab1a14d039792b9375e9f803a08) )
- ROM_LOAD16_BYTE( "a-lo-u.9d", 0x00000, 0x20000, CRC(df0726ae) SHA1(7ef163d2e8c14a14328d4365705bb31540bdc7cb) )
- ROM_LOAD16_BYTE( "a-h1-f.8b", 0x60001, 0x10000, CRC(31b741c5) SHA1(46c1c4cea09477cc4989f3e06e08851d02743e62) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "a-l1-f.9b", 0x60000, 0x10000, CRC(b23e966c) SHA1(f506f6d1f4f7874070e91d1df8f141cca031ce29) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "a-sp-0.rom", 0x00000, 0x10000, CRC(80e210e7) SHA1(66cff58fb37c52e1d8e0567e13b774253e862585) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "hh_00.rom", 0x00000, 0x20000, CRC(ec5127ef) SHA1(014ac8ad7b19cd9b475b72a0f42a4991119501c4) ) /* sprites */
- ROM_LOAD( "hh_10.rom", 0x20000, 0x20000, CRC(def65294) SHA1(23f5d99fa9f604fde37cb52113bff233d9be1d25) )
- ROM_LOAD( "hh_20.rom", 0x40000, 0x20000, CRC(bb0d6ad4) SHA1(4ab617fadfc32efad90ed7f0555513f167b0c43a) )
- ROM_LOAD( "hh_30.rom", 0x60000, 0x20000, CRC(4351044e) SHA1(0d3ce3f4f1473fd997e70de91e7b5b5a5ec60ad4) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "hh_a0.rom", 0x00000, 0x20000, CRC(c577ba5f) SHA1(c882e58cf64deca8eee6f14f3df43ecc932488fc) ) /* tiles */
- ROM_LOAD( "hh_a1.rom", 0x20000, 0x20000, CRC(429d12ab) SHA1(ccba25eab981fc4e664f76e06a2964066f2ae2e8) )
- ROM_LOAD( "hh_a2.rom", 0x40000, 0x20000, CRC(b5b163b0) SHA1(82a708fea4953a7c4dcd1d4a1b07f302221ba30b) )
- ROM_LOAD( "hh_a3.rom", 0x60000, 0x20000, CRC(8ef566a1) SHA1(3afb020a7317efe89c18b2a7773894ce28499d49) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "a-v0-0.rom", 0x00000, 0x20000, CRC(faaacaff) SHA1(ea3a3920255c07aa9c0a7e0191eae257a9f7f558) )
-ROM_END
-
-ROM_START( dkgensan )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "gen-a-h0.bin", 0x00001, 0x20000, CRC(07a45f6d) SHA1(8ffbd395aad244747d9f87062d2b062f41a4829c) )
- ROM_LOAD16_BYTE( "gen-a-l0.bin", 0x00000, 0x20000, CRC(46478fea) SHA1(fd4ff544588535333c1b98fbc08446ef49b11212) )
- ROM_LOAD16_BYTE( "gen-a-h1.bin", 0x60001, 0x10000, CRC(54e5b73c) SHA1(5664f6e0a931b1c139e82dc98fcc9e38acd14616) )
- ROM_RELOAD( 0xe0001, 0x10000 )
- ROM_LOAD16_BYTE( "gen-a-l1.bin", 0x60000, 0x10000, CRC(894f8a9f) SHA1(57a0885c52a094def03b129a450cc891e6c075c6) )
- ROM_RELOAD( 0xe0000, 0x10000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "gen-a-sp.bin", 0x00000, 0x10000, CRC(e83cfc2c) SHA1(3193bdd06a9712fc499e6fc90a33140463ef59fe) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "hh_00.rom", 0x00000, 0x20000, CRC(ec5127ef) SHA1(014ac8ad7b19cd9b475b72a0f42a4991119501c4) ) /* sprites */
- ROM_LOAD( "hh_10.rom", 0x20000, 0x20000, CRC(def65294) SHA1(23f5d99fa9f604fde37cb52113bff233d9be1d25) )
- ROM_LOAD( "hh_20.rom", 0x40000, 0x20000, CRC(bb0d6ad4) SHA1(4ab617fadfc32efad90ed7f0555513f167b0c43a) )
- ROM_LOAD( "hh_30.rom", 0x60000, 0x20000, CRC(4351044e) SHA1(0d3ce3f4f1473fd997e70de91e7b5b5a5ec60ad4) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "hh_a0.rom", 0x00000, 0x20000, CRC(c577ba5f) SHA1(c882e58cf64deca8eee6f14f3df43ecc932488fc) ) /* tiles */
- ROM_LOAD( "hh_a1.rom", 0x20000, 0x20000, CRC(429d12ab) SHA1(ccba25eab981fc4e664f76e06a2964066f2ae2e8) )
- ROM_LOAD( "hh_a2.rom", 0x40000, 0x20000, CRC(b5b163b0) SHA1(82a708fea4953a7c4dcd1d4a1b07f302221ba30b) )
- ROM_LOAD( "hh_a3.rom", 0x60000, 0x20000, CRC(8ef566a1) SHA1(3afb020a7317efe89c18b2a7773894ce28499d49) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "gen-vo.bin", 0x00000, 0x20000, CRC(d8595c66) SHA1(97920c9947fbac609fb901415e5471c6e4ca066c) )
-ROM_END
-
-
-ROM_START( cosmccop )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "cc-d-h0b.bin", 0x00001, 0x40000, CRC(38958b01) SHA1(7d7e217742e33a1fe096adf5bbc93d63ddcfb375) )
- ROM_RELOAD( 0x80001, 0x40000 )
- ROM_LOAD16_BYTE( "cc-d-l0b.bin", 0x00000, 0x40000, CRC(eff87f70) SHA1(61f49b8738cf31546d4182680b761705274b01bf) )
- ROM_RELOAD( 0x80000, 0x40000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "cc-d-sp.bin", 0x00000, 0x10000, CRC(3e3ace60) SHA1(d89b1b84de2887598bb7bcb17b1df1ec8d1862a9) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "cc-c-00.bin", 0x00000, 0x20000, CRC(9d99deaa) SHA1(acf16bea0f482306107d2a305c568406b6c21e9a) ) // cc-b-n0
- ROM_LOAD( "cc-c-10.bin", 0x20000, 0x20000, CRC(7eb083ed) SHA1(31fa7d532fd46e861c3d19d5b08661653f685a49) ) // cc-b-n1
- ROM_LOAD( "cc-c-20.bin", 0x40000, 0x20000, CRC(9421489e) SHA1(e43d042bf8b4ebed93558d74ec479ec60a01ca5c) ) // cc-b-n2
- ROM_LOAD( "cc-c-30.bin", 0x60000, 0x20000, CRC(920ec735) SHA1(2d0949b43dddce7317c45910d6e4868ddf010806) ) // cc-b-n3
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "cc-d-g00.bin", 0x00000, 0x20000, CRC(e7f3d772) SHA1(c7f0bc42e8dde7bae334c7974c3d0ddba3856144) ) /* tiles */
- ROM_LOAD( "cc-d-g10.bin", 0x20000, 0x20000, CRC(418b4e4c) SHA1(1191f12741ee7a360240f706534c9c83be8d5c2d) )
- ROM_LOAD( "cc-d-g20.bin", 0x40000, 0x20000, CRC(a4b558eb) SHA1(0babf725de0065dbeca73fa170bd33565305d129) )
- ROM_LOAD( "cc-d-g30.bin", 0x60000, 0x20000, CRC(f64a3166) SHA1(1661db2a37c76e6b4552e48c04966dbbccab8926) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "cc-c-v0.bin", 0x00000, 0x20000, CRC(6247bade) SHA1(4bc9f86acd09908c74b1ab0e7817c4ff1cad6f0b) ) // cc-d-v0
-ROM_END
-
-
-ROM_START( ltswords )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "h0.ic55", 0x00001, 0x20000, CRC(22f342b2) SHA1(8a0954eed7ad5a231a0e3884da28556c0f64f7f6) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "l0.ic61", 0x00000, 0x20000, CRC(0210d592) SHA1(8500dd6da56c007878287d468b3ebc1686e59ef7) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ken_d-sp.rom", 0x00000, 0x10000, CRC(233ca1cf) SHA1(4ebb6162773bd586a10016ccd77998a9b880f474) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ken_m31.rom", 0x00000, 0x20000, CRC(e00b95a6) SHA1(6efcd8d58f8ebe3a42c60a0aa790b42c0e132777) ) /* sprites */
- ROM_LOAD( "ken_m21.rom", 0x20000, 0x20000, CRC(d7722f87) SHA1(8606a53b8630934d2b5dfc986bd92ac4142f67e2) )
- ROM_LOAD( "ken_m32.rom", 0x40000, 0x20000, CRC(30a844c4) SHA1(72b2caba3ee7a229ca56f004516dea8d3f0a7ba6) )
- ROM_LOAD( "ken_m22.rom", 0x60000, 0x20000, CRC(a00dac85) SHA1(0c1ed852795046926f62843f6b256cbeecf9ebcf) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ken_m51.rom", 0x00000, 0x20000, CRC(1646cf4f) SHA1(d240cb2bad3e766128e8e40aa7b1bf4f3b9a5559) ) /* tiles */
- ROM_LOAD( "ken_m57.rom", 0x20000, 0x20000, CRC(a9f88d90) SHA1(c8d4a96fe55fed4b7499550f3c74b03d10306757) )
- ROM_LOAD( "ken_m66.rom", 0x40000, 0x20000, CRC(e9d17645) SHA1(fbe18d6691686a1c458d4a91169c9850698b5ca7) )
- ROM_LOAD( "ken_m64.rom", 0x60000, 0x20000, CRC(df46709b) SHA1(e7c2cd752e765bf7b8ff24637305d61031ce0baa) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ken_m14.rom", 0x00000, 0x20000, CRC(6651e9b7) SHA1(c42009f986c9a9f35732d5cd717d548536469b1c) )
-ROM_END
-
-ROM_START( kengo )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ken_d-h0.rom", 0x00001, 0x20000, CRC(f4ddeea5) SHA1(bcf016e40886e11c171f2f50de39ac0d8cabcdd1) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ken_d-l0.rom", 0x00000, 0x20000, CRC(04dc0f81) SHA1(b296529f0bc26d53b344449dfa5a08eca70f30d8) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ken_d-sp.rom", 0x00000, 0x10000, CRC(233ca1cf) SHA1(4ebb6162773bd586a10016ccd77998a9b880f474) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ken_m31.rom", 0x00000, 0x20000, CRC(e00b95a6) SHA1(6efcd8d58f8ebe3a42c60a0aa790b42c0e132777) ) /* sprites */
- ROM_LOAD( "ken_m21.rom", 0x20000, 0x20000, CRC(d7722f87) SHA1(8606a53b8630934d2b5dfc986bd92ac4142f67e2) )
- ROM_LOAD( "ken_m32.rom", 0x40000, 0x20000, CRC(30a844c4) SHA1(72b2caba3ee7a229ca56f004516dea8d3f0a7ba6) )
- ROM_LOAD( "ken_m22.rom", 0x60000, 0x20000, CRC(a00dac85) SHA1(0c1ed852795046926f62843f6b256cbeecf9ebcf) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ken_m51.rom", 0x00000, 0x20000, CRC(1646cf4f) SHA1(d240cb2bad3e766128e8e40aa7b1bf4f3b9a5559) ) /* tiles */
- ROM_LOAD( "ken_m57.rom", 0x20000, 0x20000, CRC(a9f88d90) SHA1(c8d4a96fe55fed4b7499550f3c74b03d10306757) )
- ROM_LOAD( "ken_m66.rom", 0x40000, 0x20000, CRC(e9d17645) SHA1(fbe18d6691686a1c458d4a91169c9850698b5ca7) )
- ROM_LOAD( "ken_m64.rom", 0x60000, 0x20000, CRC(df46709b) SHA1(e7c2cd752e765bf7b8ff24637305d61031ce0baa) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ken_m14.rom", 0x00000, 0x20000, CRC(6651e9b7) SHA1(c42009f986c9a9f35732d5cd717d548536469b1c) )
-ROM_END
-
-ROM_START( kengoa )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ken-d-h0-.ic55", 0x00001, 0x20000, CRC(ed3da88c) SHA1(536824eb3347eade2d3aad927e83eae51ee852b3) ) // shows 'for use in Japan' message, kengo set above doesn't
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ken-d-l0-.ic61", 0x00000, 0x20000, CRC(92c57d8e) SHA1(eb078a7b261e13cfb0a920b5115beee917b8d89c) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ken_d-sp.rom", 0x00000, 0x10000, CRC(233ca1cf) SHA1(4ebb6162773bd586a10016ccd77998a9b880f474) )
-
- ROM_REGION( 0x080000, "sprites", 0 )
- ROM_LOAD( "ken_m31.rom", 0x00000, 0x20000, CRC(e00b95a6) SHA1(6efcd8d58f8ebe3a42c60a0aa790b42c0e132777) ) /* sprites */
- ROM_LOAD( "ken_m21.rom", 0x20000, 0x20000, CRC(d7722f87) SHA1(8606a53b8630934d2b5dfc986bd92ac4142f67e2) )
- ROM_LOAD( "ken_m32.rom", 0x40000, 0x20000, CRC(30a844c4) SHA1(72b2caba3ee7a229ca56f004516dea8d3f0a7ba6) )
- ROM_LOAD( "ken_m22.rom", 0x60000, 0x20000, CRC(a00dac85) SHA1(0c1ed852795046926f62843f6b256cbeecf9ebcf) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ken_m51.rom", 0x00000, 0x20000, CRC(1646cf4f) SHA1(d240cb2bad3e766128e8e40aa7b1bf4f3b9a5559) ) /* tiles */
- ROM_LOAD( "ken_m57.rom", 0x20000, 0x20000, CRC(a9f88d90) SHA1(c8d4a96fe55fed4b7499550f3c74b03d10306757) )
- ROM_LOAD( "ken_m66.rom", 0x40000, 0x20000, CRC(e9d17645) SHA1(fbe18d6691686a1c458d4a91169c9850698b5ca7) )
- ROM_LOAD( "ken_m64.rom", 0x60000, 0x20000, CRC(df46709b) SHA1(e7c2cd752e765bf7b8ff24637305d61031ce0baa) )
-
- ROM_REGION( 0x20000, "samples", 0 ) /* samples */
- ROM_LOAD( "ken_m14.rom", 0x00000, 0x20000, CRC(6651e9b7) SHA1(c42009f986c9a9f35732d5cd717d548536469b1c) )
-
- ROM_REGION( 0x0200, "proms", 0 ) /* located on M84-B-B */
- ROM_LOAD( "ken_b-4n-.ic23", 0x0000, 0x0100, CRC(b460c438) SHA1(00e20cf754b6fd5138ee4d2f6ec28dff9e292fe6) )
- ROM_LOAD( "ken_b-4p-.ic24", 0x0100, 0x0100, CRC(526f10ca) SHA1(e0ecd4db0720a4a37489e4d725843a2fbf266ebf) ) // differs from rtype 2 / ninja spirit
-ROM_END
-
-
-/*****************************
- M85 sets
-******************************/
-
-ROM_START( poundfor )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ppa-h0-b.9e", 0x00001, 0x20000, CRC(50d4a2d8) SHA1(7fd62c6613cb58b512c6c3670fa66a5b9906e6a1) )
- ROM_LOAD16_BYTE( "ppa-l0-b.9d", 0x00000, 0x20000, CRC(bd997942) SHA1(da484afe3b79e09e323c768a0b2165e6283971a7) )
- ROM_LOAD16_BYTE( "ppa-h1.9f", 0x40001, 0x20000, CRC(f6c82f48) SHA1(b38a2f9f0f6439b2cf453fec87ca11d959777ee6) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ppa-l1.9c", 0x40000, 0x20000, CRC(5b07b087) SHA1(04a2403eb8c443cb92b880edc612542acdbcafa4) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ppa-sp.4j", 0x00000, 0x10000, CRC(3f458a5b) SHA1(d73740b2a548bf8a895909da0841f18d9ed32668) )
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "ppb-n0.bin", 0x00000, 0x40000, CRC(951a41f8) SHA1(59b64f63ea2452c2b42ff7ebf1ff6fc4e7879ce3) ) /* sprites */
- ROM_LOAD( "ppb-n1.bin", 0x40000, 0x40000, CRC(c609b7f2) SHA1(1da3550c7e4d2a26d75d143934680d9177ba5c35) )
- ROM_LOAD( "ppb-n2.bin", 0x80000, 0x40000, CRC(318c0b5f) SHA1(1d4cd17dc2f8fc4e523eaf679f21d83e1bfade4e) )
- ROM_LOAD( "ppb-n3.bin", 0xc0000, 0x40000, CRC(93dc9490) SHA1(3df4d57a7bf19443f5aa6a416bcee968f81d9059) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ppa-g00.bin", 0x00000, 0x20000, CRC(8a88a174) SHA1(d360b9014aec31960538ee488894496248a820dc) ) /* tiles */
- ROM_LOAD( "ppa-g10.bin", 0x20000, 0x20000, CRC(e48a66ac) SHA1(49b33db6a922d6f1d1417e28714a67431b7c0217) )
- ROM_LOAD( "ppa-g20.bin", 0x40000, 0x20000, CRC(12b93e79) SHA1(f3d2b76a30874827c8998c1d13a55a3990b699b7) )
- ROM_LOAD( "ppa-g30.bin", 0x60000, 0x20000, CRC(faa39aee) SHA1(9cc1a468b304437766c04189054d3b8f7ff1f958) )
-
- ROM_REGION( 0x40000, "samples", 0 ) /* samples */
- ROM_LOAD( "ppa-v0.bin", 0x00000, 0x40000, CRC(03321664) SHA1(51f2b2b712385c1cd55fd069829efac01838d603) )
-ROM_END
-
-ROM_START( poundforj )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ppa-h0-.9e", 0x00001, 0x20000, CRC(f0165e3b) SHA1(a0482b34c0d05d8f48d1b16f2bc2d5d9ec465dc8) )
- ROM_LOAD16_BYTE( "ppa-l0-.9d", 0x00000, 0x20000, CRC(f954f99f) SHA1(6e7a9718dc63e595403bfc0f1ceae4a71dc75133) )
- ROM_LOAD16_BYTE( "ppa-h1.9f", 0x40001, 0x20000, CRC(f6c82f48) SHA1(b38a2f9f0f6439b2cf453fec87ca11d959777ee6) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ppa-l1.9c", 0x40000, 0x20000, CRC(5b07b087) SHA1(04a2403eb8c443cb92b880edc612542acdbcafa4) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ppa-sp.4j", 0x00000, 0x10000, CRC(3f458a5b) SHA1(d73740b2a548bf8a895909da0841f18d9ed32668) )
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "ppb-n0.bin", 0x00000, 0x40000, CRC(951a41f8) SHA1(59b64f63ea2452c2b42ff7ebf1ff6fc4e7879ce3) ) /* sprites */
- ROM_LOAD( "ppb-n1.bin", 0x40000, 0x40000, CRC(c609b7f2) SHA1(1da3550c7e4d2a26d75d143934680d9177ba5c35) )
- ROM_LOAD( "ppb-n2.bin", 0x80000, 0x40000, CRC(318c0b5f) SHA1(1d4cd17dc2f8fc4e523eaf679f21d83e1bfade4e) )
- ROM_LOAD( "ppb-n3.bin", 0xc0000, 0x40000, CRC(93dc9490) SHA1(3df4d57a7bf19443f5aa6a416bcee968f81d9059) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ppa-g00.bin", 0x00000, 0x20000, CRC(8a88a174) SHA1(d360b9014aec31960538ee488894496248a820dc) ) /* tiles */
- ROM_LOAD( "ppa-g10.bin", 0x20000, 0x20000, CRC(e48a66ac) SHA1(49b33db6a922d6f1d1417e28714a67431b7c0217) )
- ROM_LOAD( "ppa-g20.bin", 0x40000, 0x20000, CRC(12b93e79) SHA1(f3d2b76a30874827c8998c1d13a55a3990b699b7) )
- ROM_LOAD( "ppa-g30.bin", 0x60000, 0x20000, CRC(faa39aee) SHA1(9cc1a468b304437766c04189054d3b8f7ff1f958) )
-
- ROM_REGION( 0x40000, "samples", 0 ) /* samples */
- ROM_LOAD( "ppa-v0.bin", 0x00000, 0x40000, CRC(03321664) SHA1(51f2b2b712385c1cd55fd069829efac01838d603) )
-ROM_END
-
-ROM_START( poundforu )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "ppa-ho-a.9e", 0x00001, 0x20000, CRC(ff4c83a4) SHA1(1b7791c784bf7c4774e3200b76d65ab0bf0ff93b) )
- ROM_LOAD16_BYTE( "ppa-lo-a.9d", 0x00000, 0x20000, CRC(3374ce8f) SHA1(7455f8339aeed0ef3d0567baa804b62ca3615283) )
- ROM_LOAD16_BYTE( "ppa-h1.9f", 0x40001, 0x20000, CRC(f6c82f48) SHA1(b38a2f9f0f6439b2cf453fec87ca11d959777ee6) )
- ROM_RELOAD( 0xc0001, 0x20000 )
- ROM_LOAD16_BYTE( "ppa-l1.9c", 0x40000, 0x20000, CRC(5b07b087) SHA1(04a2403eb8c443cb92b880edc612542acdbcafa4) )
- ROM_RELOAD( 0xc0000, 0x20000 )
-
- ROM_REGION( 0x10000, "soundcpu", 0 )
- ROM_LOAD( "ppa-sp.4j", 0x00000, 0x10000, CRC(3f458a5b) SHA1(d73740b2a548bf8a895909da0841f18d9ed32668) )
-
- ROM_REGION( 0x100000, "sprites", 0 )
- ROM_LOAD( "ppb-n0.bin", 0x00000, 0x40000, CRC(951a41f8) SHA1(59b64f63ea2452c2b42ff7ebf1ff6fc4e7879ce3) ) /* sprites */
- ROM_LOAD( "ppb-n1.bin", 0x40000, 0x40000, CRC(c609b7f2) SHA1(1da3550c7e4d2a26d75d143934680d9177ba5c35) )
- ROM_LOAD( "ppb-n2.bin", 0x80000, 0x40000, CRC(318c0b5f) SHA1(1d4cd17dc2f8fc4e523eaf679f21d83e1bfade4e) )
- ROM_LOAD( "ppb-n3.bin", 0xc0000, 0x40000, CRC(93dc9490) SHA1(3df4d57a7bf19443f5aa6a416bcee968f81d9059) )
-
- ROM_REGION( 0x080000, "gfx2", 0 )
- ROM_LOAD( "ppa-g00.bin", 0x00000, 0x20000, CRC(8a88a174) SHA1(d360b9014aec31960538ee488894496248a820dc) ) /* tiles */
- ROM_LOAD( "ppa-g10.bin", 0x20000, 0x20000, CRC(e48a66ac) SHA1(49b33db6a922d6f1d1417e28714a67431b7c0217) )
- ROM_LOAD( "ppa-g20.bin", 0x40000, 0x20000, CRC(12b93e79) SHA1(f3d2b76a30874827c8998c1d13a55a3990b699b7) )
- ROM_LOAD( "ppa-g30.bin", 0x60000, 0x20000, CRC(faa39aee) SHA1(9cc1a468b304437766c04189054d3b8f7ff1f958) )
-
- ROM_REGION( 0x40000, "samples", 0 ) /* samples */
- ROM_LOAD( "ppa-v0.bin", 0x00000, 0x40000, CRC(03321664) SHA1(51f2b2b712385c1cd55fd069829efac01838d603) )
-ROM_END
-
-// in the case of the i8751 protected games the World and Japan sets should be using different MCU roms.
-// the MCU roms provide checksum information needed for the sets, so using the wrong ROM will result in
-// the program roms failing their tests. This is why we still have simulation code for many games
-// despite having Japanese version MCU roms for several of them. See notes next to the sets
-
-/* M72 */
-GAME( 1987, rtype, 0, rtype, rtype, m72_state, empty_init, ROT0, "Irem", "R-Type (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1987, rtypej, rtype, rtype, rtype, m72_state, empty_init, ROT0, "Irem", "R-Type (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1987, rtypejp, rtype, rtype, rtypep, m72_state, empty_init, ROT0, "Irem", "R-Type (Japan prototype)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1987, rtypeu, rtype, rtype, rtype, m72_state, empty_init, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1987, rtypeb, rtype, rtype, rtype, m72_state, empty_init, ROT0, "bootleg", "R-Type (World bootleg)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1987, bchopper, 0, m72, bchopper, m72_state, init_bchopper, ROT0, "Irem", "Battle Chopper (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1987, mrheli, bchopper, mrheli, bchopper, m72_state, init_m72_8751, ROT0, "Irem", "Mr. HELI no Daibouken (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1988, nspirit, 0, m72, nspirit, m72_state, init_nspirit, ROT0, "Irem", "Ninja Spirit (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?)
-GAME( 1988, nspiritj, nspirit, nspiritj, nspirit, m72_state, init_m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1988, imgfight, 0, m72, imgfight, m72_state, init_imgfight, ROT270, "Irem", "Image Fight (World)", MACHINE_SUPPORTS_SAVE ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?)
-GAME( 1988, imgfightj, imgfight, imgfightj, imgfight, m72_state, init_m72_8751, ROT270, "Irem", "Image Fight (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, imgfightb, imgfight, imgfightb, imgfight, m72_state, init_m72_8751, ROT270, "Irem", "Image Fight (Japan, bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // uses an 80c31 MCU, which isn't hooked up correctly yet. Gives 'RAM NG 7' error
-
-GAME( 1989, loht, 0, m72_8751, loht, m72_state, init_m72_8751, ROT0, "Irem", "Legend of Hero Tonma (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1989, lohtj, loht, m72_8751, loht, m72_state, init_m72_8751, ROT0, "Irem", "Legend of Hero Tonma (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1989, lohtb2, loht, m72_8751, loht, m72_state, init_m72_8751, ROT0, "bootleg", "Legend of Hero Tonma (Japan, bootleg with i8751)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // works like above, mcu code is the same as the real code, probably just an alt revision on a bootleg board
-GAME( 1997, lohtb3, loht, m72_8751, loht, m72_state, init_m72_8751, ROT0, "bootleg", "Legend of Hero Tonma (World, bootleg with i8751)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1989, xmultiplm72, xmultipl, m72_xmultipl, xmultipl, m72_state, init_m72_8751, ROT0, "Irem", "X Multiply (Japan, M72 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1989, dbreedm72, dbreed, m72_dbreedw, dbreed, m72_state, init_dbreedm72, ROT0, "Irem", "Dragon Breed (World, M72 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // fails rom check as "ROM NG 1 2" if used with japanese mcu rom (World version?)
-GAME( 1989, dbreedm72j, dbreed, m72_dbreed, dbreed, m72_state, init_m72_8751, ROT0, "Irem", "Dragon Breed (Japan, M72 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1991, gallop, cosmccop, m72, gallop, m72_state, init_gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan, M72 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1990, airduelm72, airduel, m72_airduel, airduel, m72_state, init_m72_8751, ROT270, "Irem", "Air Duel (Japan, M72 PCB version)", MACHINE_SUPPORTS_SAVE )
-
-GAME( 1990, dkgensanm72, hharry, m72, hharry, m72_state, init_dkgenm72, ROT0, "Irem", "Daiku no Gensan (Japan, M72 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-/* M81 */
-GAME( 1989, xmultipl, 0, m81_xmultipl, m81_xmultipl, m72_state, empty_init, ROT0, "Irem", "X Multiply (World, M81 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1989, dbreed, 0, m81_dbreed, m81_dbreed, m72_state, empty_init, ROT0, "Irem", "Dragon Breed (World, M81 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1990, hharry, 0, m81_hharry, m81_hharry, m72_state, empty_init, ROT0, "Irem", "Hammerin' Harry (World, M81 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-/* M82 */
-GAME( 1990, majtitle, 0, m82, rtype2, m72_state, empty_init, ROT0, "Irem", "Major Title (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // M82-A-A + M82-B-A
-GAME( 1990, majtitlej, majtitle, m82, rtype2, m72_state, empty_init, ROT0, "Irem", "Major Title (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // ^
-
-GAME( 1990, airduel, 0, m82, airduel, m72_state, empty_init, ROT270, "Irem", "Air Duel (World, M82-A-A + M82-B-A)", MACHINE_SUPPORTS_SAVE ) // Major Title conversion
-
-GAME( 1990, dkgensanm82, hharry, hharryu, hharry, m72_state, empty_init, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 2009, rtypem82b, rtype, m82, rtype, m72_state, empty_init, ROT0, "bootleg", "R-Type (Japan, bootleg Major Title conversion, M82)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // unofficial conversion of Major Title, extensive wiremods, made in 2009 by Paul Swan
-
-GAME( 1997, rtype2m82b, rtype2, m82, rtype2, m72_state, empty_init, ROT0, "bootleg", "R-Type II (Japan, bootleg Major Title conversion, M82)", MACHINE_NOT_WORKING | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // made in 1997 by Chris Hardy
-
-/* M84 */
-GAME( 1990, hharryu, hharry, hharryu, hharry, m72_state, empty_init, ROT0, "Irem America", "Hammerin' Harry (US, M84 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1990, dkgensan, hharry, hharryu, hharry, m72_state, empty_init, ROT0, "Irem", "Daiku no Gensan (Japan, M84 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1989, rtype2, 0, rtype2, rtype2, m72_state, empty_init, ROT0, "Irem", "R-Type II (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1989, rtype2j, rtype2, rtype2, rtype2, m72_state, empty_init, ROT0, "Irem", "R-Type II (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, m72_state, empty_init, ROT0, "Irem", "R-Type II (Japan, revision C)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1991, cosmccop, 0, cosmccop, gallop, m72_state, empty_init, ROT0, "Irem", "Cosmic Cop (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-
-GAME( 1991, ltswords, 0, kengo, kengo, m72_state, empty_init, ROT0, "Irem", "Lightning Swords", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1991, kengo, ltswords, kengo, kengo, m72_state, empty_init, ROT0, "Irem", "Ken-Go (set 1)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1991, kengoa, ltswords, kengo, kengo, m72_state, empty_init, ROT0, "Irem", "Ken-Go (set 2)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // has 'for use in Japan' message, above set doesn't
-
-/* M85 */
-GAME( 1990, poundfor, 0, poundfor, poundfor, m72_state, empty_init, ROT270, "Irem", "Pound for Pound (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // M85-A-B / M85-B
-GAME( 1990, poundforj, poundfor, poundfor, poundfor, m72_state, empty_init, ROT270, "Irem", "Pound for Pound (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // ^
-GAME( 1990, poundforu, poundfor, poundfor, poundfor, m72_state, empty_init, ROT270, "Irem America", "Pound for Pound (US)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // ^
-
-/* bootlegs, unique hw */
-GAME( 1989, lohtb, loht, lohtb, loht, m72_state, empty_init, ROT0, "bootleg", "Legend of Hero Tonma (unprotected bootleg)", MACHINE_NOT_WORKING| MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1989, loht_ms, loht, lohtb, loht, m72_state, empty_init, ROT0, "bootleg (Gaelco / Ervisa)", "Legend of Hero Tonma (Gaelco bootleg, Modular System)", MACHINE_NOT_WORKING| MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )