make it clearer that Air Duel (the M82 PCB) is actually a conversion of Major Title, the sprite roms used for the extra sprite layer in Major Title are still present on the board! (nw)

Also duplicated the gfx roms in Dragon Breed, if it is indeed the same PCB as the M81 version of X-Multiple this seems more logical (unless the video boards differ?)
This commit is contained in:
David Haywood 2015-10-04 23:00:04 +01:00
parent 31a0bb57af
commit 622a8bb910
3 changed files with 213 additions and 186 deletions

View File

@ -7,26 +7,26 @@ IREM M72 board
driver by Nicola Salmoria
protection information by Nao
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 1989 M81 N
X Multiply 1989 M72(1) Y
Dragon Breed 1989 M81 N
Dragon Breed 1989 M72 Y
R-Type II 1989 M82/M84(2) N
Major Title 1990 M84 N
Hammerin' Harry / Daiku no Gensan 1990 M82(3) N
Daiku no Gensan 1990 M72(4) Y
Pound for Pound 1990 M85 N
Air Duel (World) 1990 M82 N
Air Duel (Japan) 1990 M72? Y
Cosmic Cop / 1991 M84 N
Gallop - Armed Police Unit 1991 M72 N
Ken-Go 1991 ? Encrypted
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 1989 M81 N
X Multiply 1989 M72(1) Y
Dragon Breed 1989 M81 N
Dragon Breed 1989 M72 Y
R-Type II 1989 M82/M84(2) N
Major Title 1990 M82-A-A + M82-B-A N
Hammerin' Harry / Daiku no Gensan 1990 M82(3) N
Daiku no Gensan 1990 M72(4) Y
Pound for Pound 1990 MM85-A-B / M85-B N
Air Duel (World) 1990 M82 N
Air Duel (Japan) 1990 M72? Y
Cosmic Cop / 1991 M84 N
Gallop - Armed Police Unit 1991 M72 Y (sample playback only)
Ken-Go 1991 ? Encrypted
(1) different addressing PALs, so different memory map
(2) rtype2j has M84 written on the board, but it's the same hardware as rtype2
@ -894,22 +894,6 @@ static ADDRESS_MAP_START( hharryu_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( airduelm82_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
// AM_RANGE(0xec000, 0xec001) AM_WRITE(irq_line_w)
AM_RANGE(0xec000, 0xec001) AM_WRITE(dmaon_w)
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
// AM_RANGE(0xc8000, 0xc83ff) AM_RAM // written to, but not tested?
AM_RANGE(0xac000, 0xaffff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0xb0000, 0xb3fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0xd0000, 0xd3fff) AM_RAM /* work RAM */
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( kengo_map, AS_PROGRAM, 16, m72_state )
AM_RANGE(0x00000, 0x7ffff) AM_ROM
@ -1751,20 +1735,20 @@ static const gfx_layout spritelayout =
};
static GFXDECODE_START( m72 )
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 )
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( rtype2 )
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 )
GFXDECODE_ENTRY( "sprites", 0, spritelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 256, 16 )
GFXDECODE_END
static GFXDECODE_START( majtitle )
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 )
GFXDECODE_ENTRY( "sprites", 0, spritelayout, 0, 16 )
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 256, 16 )
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 16 )
GFXDECODE_ENTRY( "sprites2", 0, spritelayout, 0, 16 )
GFXDECODE_END
@ -1866,56 +1850,9 @@ static MACHINE_CONFIG_DERIVED( dkgenm72, m72 ) // dervices from 'm72' because we
MACHINE_CONFIG_END
// not m72
static MACHINE_CONFIG_DERIVED( xmultipl, m72 )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xmultipl_map)
MCFG_CPU_IO_MAP(hharry_portmap)
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(sound_rom_map)
MCFG_CPU_IO_MAP(rtype2_sound_portmap)
MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl)
MACHINE_CONFIG_END
// not m72, different video system (more sprites)
static MACHINE_CONFIG_START( majtitle, m72_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
MCFG_CPU_PROGRAM_MAP(majtitle_map)
MCFG_CPU_IO_MAP(majtitle_portmap)
MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK)
MCFG_CPU_PROGRAM_MAP(sound_rom_map)
MCFG_CPU_IO_MAP(rtype2_sound_portmap)
MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", majtitle)
MCFG_PALETTE_ADD("palette", 512)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_majtitle)
MCFG_SCREEN_PALETTE("palette")
MCFG_VIDEO_START_OVERRIDE(m72_state,majtitle)
MCFG_FRAGMENT_ADD(m72_audio_chips)
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?)
// Some R-Type 2s are M82? (conversion of Major Title?) others are M84?
static MACHINE_CONFIG_START( rtype2, m72_state )
/* basic machine hardware */
@ -1943,8 +1880,7 @@ static MACHINE_CONFIG_START( rtype2, m72_state )
MCFG_FRAGMENT_ADD(m72_audio_chips)
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?)
// not m72, different video system (less tiles regions?) (M84? M82?)
static MACHINE_CONFIG_DERIVED( hharryu, rtype2 )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@ -1955,27 +1891,7 @@ static MACHINE_CONFIG_DERIVED( hharryu, rtype2 )
MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( airduelm82, rtype2 ) // m82
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(airduelm82_map)
MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?)
static MACHINE_CONFIG_DERIVED( dbreed, rtype2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dbreed_map)
MCFG_CPU_IO_MAP(hharry_portmap)
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
MCFG_VIDEO_START_OVERRIDE(m72_state,hharry)
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?)
// not m72, different video system (less tiles regions?) (M84? M82?)
static MACHINE_CONFIG_DERIVED( hharry, rtype2 )
/* basic machine hardware */
@ -1988,35 +1904,69 @@ static MACHINE_CONFIG_DERIVED( hharry, rtype2 )
MCFG_VIDEO_START_OVERRIDE(m72_state,hharry)
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?)
static MACHINE_CONFIG_START( poundfor, m72_state )
// 'M81'
static MACHINE_CONFIG_DERIVED( xmultipl, rtype2 )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xmultipl_map)
MCFG_CPU_IO_MAP(hharry_portmap)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", m72)
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl)
MACHINE_CONFIG_END
// also 'M81' ?
static MACHINE_CONFIG_DERIVED( dbreed, xmultipl )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dbreed_map)
MACHINE_CONFIG_END
/* Major Title uses
M82-A-A as the top board
M82-B-A and as the bottom board
*/
static MACHINE_CONFIG_START( m82_large, m72_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
MCFG_CPU_PROGRAM_MAP(rtype2_map)
MCFG_CPU_IO_MAP(poundfor_portmap)
MCFG_CPU_PROGRAM_MAP(majtitle_map)
MCFG_CPU_IO_MAP(majtitle_portmap)
MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK)
MCFG_CPU_PROGRAM_MAP(sound_rom_map)
MCFG_CPU_IO_MAP(poundfor_sound_portmap)
MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */
MCFG_CPU_IO_MAP(rtype2_sound_portmap)
MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", rtype2)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", majtitle)
MCFG_PALETTE_ADD("palette", 512)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_majtitle)
MCFG_SCREEN_PALETTE("palette")
MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
MCFG_VIDEO_START_OVERRIDE(m72_state,m82_large)
MCFG_FRAGMENT_ADD(m72_audio_chips)
MACHINE_CONFIG_END
// not m72, different video system (less tiles regions?)
// this is a conversion of Major Title
static MACHINE_CONFIG_DERIVED( m82_small, m82_large ) // m82
MCFG_VIDEO_START_OVERRIDE(m72_state,m82_small)
MACHINE_CONFIG_END
// M84?
static MACHINE_CONFIG_START( cosmccop, m72_state )
/* basic machine hardware */
@ -2053,6 +2003,40 @@ static MACHINE_CONFIG_DERIVED( kengo, cosmccop )
MACHINE_CONFIG_END
/* Pound for Pound uses
M85-A-B / M85-B
*/
static MACHINE_CONFIG_START( poundfor, m72_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
MCFG_CPU_PROGRAM_MAP(rtype2_map)
MCFG_CPU_IO_MAP(poundfor_portmap)
MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK)
MCFG_CPU_PROGRAM_MAP(sound_rom_map)
MCFG_CPU_IO_MAP(poundfor_sound_portmap)
MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", "palette", rtype2)
MCFG_PALETTE_ADD("palette", 512)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
MCFG_FRAGMENT_ADD(m72_audio_chips)
MACHINE_CONFIG_END
/***************************************************************************
Game driver(s)
@ -2068,7 +2052,7 @@ ROM_START( rtype )
ROM_LOAD16_BYTE( "rt_r-l1-b.3c", 0x20000, 0x10000, CRC(0df3573d) SHA1(0144c846fd0bdb3e4d790f6cb7bb64829e931b76) )
ROM_RELOAD( 0xe0000, 0x10000 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* Roms located on the M72-ROM-C rom board */
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 )
@ -2104,7 +2088,7 @@ ROM_START( rtypej )
ROM_LOAD16_BYTE( "rt_r-l1-.3c", 0x20000, 0x10000, CRC(4821141c) SHA1(df6cf04c3ecd04b6f27a96871848904575414dae) )
ROM_RELOAD( 0xe0000, 0x10000 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* Roms located on the M72-ROM-C rom board */
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 )
@ -2140,7 +2124,7 @@ ROM_START( rtypejp )
ROM_LOAD16_BYTE( "db_a2.bin", 0x20000, 0x10000, CRC(6098d86f) SHA1(c6c9c1c2c30d5f190c40e000004bd21606efb8b0) )
ROM_RELOAD( 0xe0000, 0x10000 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* Roms located on the M72-ROM-C rom board */
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 )
@ -2176,7 +2160,7 @@ ROM_START( rtypeu )
ROM_LOAD16_BYTE( "rt_r-l1-a.3c", 0x20000, 0x10000, CRC(c28b103b) SHA1(f294a23c3917b97812eb4c7f3a99253fd0cbb7ea) )
ROM_RELOAD( 0xe0000, 0x10000 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* Roms located on the M72-ROM-C rom board */
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 )
@ -2223,7 +2207,7 @@ ROM_START( rtypeb )
ROM_LOAD16_BYTE( "2.512", 0x20000, 0x10000, CRC(ada7b90e) SHA1(c9d2caed95b95d1c1718a10766bc88b2f8f51619) )
ROM_RELOAD( 0xe0000, 0x10000 )
ROM_REGION( 0x80000, "gfx1", 0 ) /* Roms located on the M72-ROM-C rom board */
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 )
@ -2264,7 +2248,7 @@ ROM_START( bchopper )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "bchopper_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "c-00-a.rom", 0x00000, 0x10000, CRC(f6e6e660) SHA1(e066e5ed37719cf2b6fd36e0117f11325bb06f9c) ) /* sprites */
ROM_LOAD( "c-01-b.rom", 0x10000, 0x10000, CRC(708cdd37) SHA1(24f3fcd381422f0d75410c2af7a56744e3b4a699) )
ROM_LOAD( "c-10-a.rom", 0x20000, 0x10000, CRC(292c8520) SHA1(c552090d295ee1c1ca611b0cddee356e509e2045) )
@ -2304,7 +2288,7 @@ ROM_START( mrheli )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "mh-c-pr.bin", 0x00000, 0x1000, CRC(897dc4ee) SHA1(05a24bf76e8fa9ca96ba9376cbf44d299df04138) )
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "mh-c-00.bin", 0x00000, 0x20000, CRC(dec4e121) SHA1(92169b523f1600e994e016dc1959a52958e1d89d) ) /* sprites */
ROM_LOAD( "mh-c-10.bin", 0x20000, 0x20000, CRC(7aaa151e) SHA1(efd980bb2eed7084354b7a4aa2f733cd2f876741) )
ROM_LOAD( "mh-c-20.bin", 0x40000, 0x20000, CRC(eae0de74) SHA1(3a2469c0eeb18131f989807afb50228f57ccea30) )
@ -2467,7 +2451,7 @@ ROM_START( nspirit )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "nin_c-pr.1c", 0x00000, 0x01000, NO_DUMP ) // sldh - read protected
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -2517,7 +2501,7 @@ ROM_START( nspiritj )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "nin_c-pr.1c", 0x00000, 0x01000, CRC(802d440a) SHA1(45b844b831aa6d5d002e3960e17fb5a058b02a29) ) /* checksum correct for Japan version only (see test mode) */
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -2551,7 +2535,7 @@ ROM_START( imgfight )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "imgfight_i8751h.bin", 0x00000, 0x01000, NO_DUMP )
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "if-c-00.bin", 0x00000, 0x20000, CRC(745e6638) SHA1(43fb1f9da4190fea67eee3aee8caf4219becc21b) ) /* sprites */
ROM_LOAD( "if-c-10.bin", 0x20000, 0x20000, CRC(b7108449) SHA1(1f41ebe7164fab86958caaf6749b99425e682657) )
ROM_LOAD( "if-c-20.bin", 0x40000, 0x20000, CRC(aef33cba) SHA1(2d8a8458207d0c790c81b1285366463c8540d190) )
@ -2586,7 +2570,7 @@ ROM_START( imgfightj )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "imgfightj_i8751h.bin", 0x00000, 0x01000, CRC(ef0d5098) SHA1(068b73937588e16a318a094dfe2fb1293b1a1711) )
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "if-c-00.bin", 0x00000, 0x20000, CRC(745e6638) SHA1(43fb1f9da4190fea67eee3aee8caf4219becc21b) ) /* sprites */
ROM_LOAD( "if-c-10.bin", 0x20000, 0x20000, CRC(b7108449) SHA1(1f41ebe7164fab86958caaf6749b99425e682657) )
ROM_LOAD( "if-c-20.bin", 0x40000, 0x20000, CRC(aef33cba) SHA1(2d8a8458207d0c790c81b1285366463c8540d190) )
@ -2621,7 +2605,7 @@ ROM_START( loht )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "loht_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "tom_m53.rom", 0x00000, 0x20000, CRC(0b83265f) SHA1(b31918d6442b79c9fe4f20410189788b050a994e) ) /* sprites */
ROM_LOAD( "tom_m51.rom", 0x20000, 0x20000, CRC(8ec5f6f3) SHA1(210f2753f5eeb06396758d21ab1778d459add247) )
ROM_LOAD( "tom_m49.rom", 0x40000, 0x20000, CRC(a41d3bfd) SHA1(536fb7c0321dbbc1a8b73e9647fba9c53a253fcc) )
@ -2715,7 +2699,7 @@ ROM_START( lohtj )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "tom_c-pr.bin", 0x00000, 0x01000, CRC(9fa9b496) SHA1(b529bcd7bf123894e11f2a8df8826932122e375a) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -2757,7 +2741,7 @@ ROM_START( lohtb )
ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU program (Z80) + Samples*/
ROM_LOAD( "lohtb01.02", 0x00000, 0x10000, CRC(e4bd8f03) SHA1(69fe41a978db92daa912cb345c2c7bafd2a6eb93) )
ROM_REGION( 0x080000, "gfx1", 0 ) /* Sprites */
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) )
@ -2801,7 +2785,7 @@ ROM_START( lohtb2 )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "loht-a26.bin", 0x00000, 0x02000, CRC(ac901e17) SHA1(70a73288d594c78ad2aca78ce55a699cb040bede) ) // unprotected??
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -2840,7 +2824,7 @@ ROM_START( xmultipl )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "xm-a-sp-.ic14", 0x00000, 0x10000, CRC(006eef56) SHA1(917b26b200fa4c1692d4c7ca0ea0f7897e3e3b7b) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -2882,7 +2866,7 @@ ROM_START( xmultiplm72 )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "xmultipl_i8751h.bin", 0x00000, 0x01000, CRC(c8ceb3cd) SHA1(e5d20a3a9d7f0919604543c97643a03434d80130) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -2920,18 +2904,26 @@ ROM_START( dbreed )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "db-a-sp-.14", 0x00000, 0x10000, CRC(54a61560) SHA1(e5fccfcedcadbab1667900f98370043c1907dd89) )
ROM_REGION( 0x080000, "gfx1", 0 )
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 )
ROM_REGION( 0x080000, "gfx2", ROMREGION_ERASE00 )
// if this set (dbreed) and xmultipl really are the same PCB (M81) then these roms need to be duplicated here?
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", 0 )
ROM_LOAD( "db_k804m.b0", 0x00000, 0x20000, CRC(4c83e92e) SHA1(6dade027435c48ab48bd4516d16a9961d4dd6fad) ) /* tiles */
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_a-v0.rom", 0x00000, 0x20000, CRC(312f7282) SHA1(742d56980b4618180e9a0e02051c5aec4d5cdae4) )
ROM_END
@ -2948,7 +2940,7 @@ ROM_START( dbreedm72 )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "dbreedm72_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -2982,7 +2974,7 @@ ROM_START( rtype2 )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ic17.4f", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3014,7 +3006,7 @@ ROM_START( rtype2j )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ic17.4f", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3046,7 +3038,7 @@ ROM_START( rtype2jc )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ic17.4f", 0x00000, 0x10000, CRC(73ffecb4) SHA1(4795bf0d6263060c3d3759b659bdb189a4087600) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3078,7 +3070,7 @@ ROM_START( majtitle )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "mt_sp.bin", 0x00000, 0x10000, CRC(e44260a9) SHA1(a2512033c8cca9a8064eae1ada721202edf06e8e) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -3090,7 +3082,7 @@ ROM_START( majtitle )
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, "gfx3", 0 )
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) )
@ -3112,7 +3104,7 @@ ROM_START( majtitlej )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "mt_sp.bin", 0x00000, 0x10000, CRC(e44260a9) SHA1(a2512033c8cca9a8064eae1ada721202edf06e8e) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -3124,7 +3116,7 @@ ROM_START( majtitlej )
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, "gfx3", 0 )
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) )
@ -3146,7 +3138,7 @@ ROM_START( hharry )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "a-sp-0.rom", 0x00000, 0x10000, CRC(80e210e7) SHA1(66cff58fb37c52e1d8e0567e13b774253e862585) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3174,7 +3166,7 @@ ROM_START( hharryu )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "a-sp-0.rom", 0x00000, 0x10000, CRC(80e210e7) SHA1(66cff58fb37c52e1d8e0567e13b774253e862585) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3202,7 +3194,7 @@ ROM_START( dkgensan )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "gen-a-sp.bin", 0x00000, 0x10000, CRC(e83cfc2c) SHA1(3193bdd06a9712fc499e6fc90a33140463ef59fe) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3230,7 +3222,7 @@ ROM_START( dkgensanm72 )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "dkgenm72_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3264,7 +3256,7 @@ ROM_START( poundfor )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ppa-sp.4j", 0x00000, 0x10000, CRC(3f458a5b) SHA1(d73740b2a548bf8a895909da0841f18d9ed32668) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -3292,7 +3284,7 @@ ROM_START( poundforj )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ppa-sp.4j", 0x00000, 0x10000, CRC(3f458a5b) SHA1(d73740b2a548bf8a895909da0841f18d9ed32668) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -3320,7 +3312,7 @@ ROM_START( poundforu )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ppa-sp.4j", 0x00000, 0x10000, CRC(3f458a5b) SHA1(d73740b2a548bf8a895909da0841f18d9ed32668) )
ROM_REGION( 0x100000, "gfx1", 0 )
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) )
@ -3349,18 +3341,24 @@ ROM_START( airduel )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "AD_(M82)_A-SP-D.IC15", 0x00000, 0x10000, CRC(16a858a3) SHA1(51dbac5b37ecb30b46072f5a300a29dc7f7b8542) )
ROM_REGION( 0x080000, "gfx1", 0 )
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 #2 */
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
@ -3378,7 +3376,7 @@ ROM_START( airduelm72 )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "airduel_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "ad-00.bin", 0x00000, 0x20000, CRC(2f0d599b) SHA1(a966f806b5e25bb98cc63c46c49e0e676a62afcf) ) /* sprites */
ROM_LOAD( "ad-10.bin", 0x20000, 0x20000, CRC(9865856b) SHA1(b18a06899ae29d45e2351594df544220f3f4485a) )
ROM_LOAD( "ad-20.bin", 0x40000, 0x20000, CRC(d392aef2) SHA1(0f639a07066cadddc3884eb490885a8745571567) )
@ -3411,7 +3409,7 @@ ROM_START( cosmccop )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "cc-d-sp.bin", 0x00000, 0x10000, CRC(3e3ace60) SHA1(d89b1b84de2887598bb7bcb17b1df1ec8d1862a9) )
ROM_REGION( 0x080000, "gfx1", 0 )
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
@ -3439,7 +3437,7 @@ ROM_START( gallop )
ROM_REGION( 0x10000, "mcu", 0 )
ROM_LOAD( "gallop_i8751.mcu", 0x00000, 0x10000, NO_DUMP ) // read protected (only used for sample triggering, not supplying code / warning screens)
ROM_REGION( 0x080000, "gfx1", 0 )
ROM_REGION( 0x080000, "sprites", 0 )
ROM_LOAD( "cc-c-00.bin", 0x00000, 0x20000, CRC(9d99deaa) SHA1(acf16bea0f482306107d2a305c568406b6c21e9a) ) /* sprites */
ROM_LOAD( "cc-c-10.bin", 0x20000, 0x20000, CRC(7eb083ed) SHA1(31fa7d532fd46e861c3d19d5b08661653f685a49) )
ROM_LOAD( "cc-c-20.bin", 0x40000, 0x20000, CRC(9421489e) SHA1(e43d042bf8b4ebed93558d74ec479ec60a01ca5c) )
@ -3471,7 +3469,7 @@ ROM_START( ltswords )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ken_d-sp.rom", 0x00000, 0x10000, CRC(233ca1cf) SHA1(4ebb6162773bd586a10016ccd77998a9b880f474) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3497,7 +3495,7 @@ ROM_START( kengo )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ken_d-sp.rom", 0x00000, 0x10000, CRC(233ca1cf) SHA1(4ebb6162773bd586a10016ccd77998a9b880f474) )
ROM_REGION( 0x080000, "gfx1", 0 )
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) )
@ -3544,27 +3542,28 @@ GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, m72_state, m72_875
GAME( 1989, dbreed, 0, dbreed, dbreed, driver_device, 0, ROT0, "Irem", "Dragon Breed (M81 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1989, dbreedm72, dbreed, dbreedm72, dbreed, m72_state, dbreedm72, ROT0, "Irem", "Dragon Breed (M72 PCB version)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
// one of these is M84-B-A ?
GAME( 1989, rtype2, 0, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1989, rtype2j, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan, revision C)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, majtitle, 0, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, majtitlej, majtitle, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, majtitle, 0, m82_large, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // M82-A-A + M82-B-A
GAME( 1990, majtitlej, majtitle, m82_large, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // ^
GAME( 1990, hharry, 0, hharry, hharry, driver_device, 0, ROT0, "Irem", "Hammerin' Harry (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, hharryu, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem America", "Hammerin' Harry (US)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, dkgensan, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, dkgensanm72, hharry, dkgenm72, hharry, m72_state, dkgenm72, ROT0, "Irem", "Daiku no Gensan (Japan, M72)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, poundfor, 0, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, poundforj, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, poundforu, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem America", "Pound for Pound (US)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1990, poundfor, 0, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // M85-A-B / M85-B
GAME( 1990, poundforj, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // ^
GAME( 1990, poundforu, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem America", "Pound for Pound (US)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // ^
GAME( 1990, airduel, 0, airduelm82, airduel, driver_device, 0, ROT270, "Irem", "Air Duel (World, M82)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, airduel, 0, m82_small, airduel, driver_device, 0, ROT270, "Irem", "Air Duel (World, M82-A-A + M82-B-A)", MACHINE_SUPPORTS_SAVE ) // Major Title conversion
GAME( 1990, airduelm72, airduel, m72, airduel, m72_state, airduelm72, ROT270, "Irem", "Air Duel (Japan, M72)", MACHINE_SUPPORTS_SAVE )
GAME( 1991, cosmccop, 0, cosmccop, gallop, driver_device, 0, ROT0, "Irem", "Cosmic Cop (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1991, gallop, cosmccop, m72, gallop, m72_state, gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1991, gallop, cosmccop, m72, gallop, m72_state, gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan, M72)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1991, ltswords, 0, kengo, kengo, driver_device, 0, ROT0, "Irem", "Lightning Swords", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1991, kengo, ltswords, kengo, kengo, driver_device, 0, ROT0, "Irem", "Ken-Go", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
GAME( 1991, kengo, ltswords, kengo, kengo, driver_device, 0, ROT0, "Irem", "Ken-Go", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // M84-B-B ?

View File

@ -135,7 +135,9 @@ public:
DECLARE_VIDEO_START(xmultipl);
DECLARE_VIDEO_START(hharry);
DECLARE_VIDEO_START(rtype2);
DECLARE_VIDEO_START(majtitle);
DECLARE_VIDEO_START(m82_common);
DECLARE_VIDEO_START(m82_small);
DECLARE_VIDEO_START(m82_large);
DECLARE_VIDEO_START(hharryu);
DECLARE_VIDEO_START(poundfor);
DECLARE_MACHINE_START(kengo);

View File

@ -82,11 +82,6 @@ TILE_GET_INFO_MEMBER(m72_state::rtype2_get_fg_tile_info)
}
TILEMAP_MAPPER_MEMBER(m72_state::majtitle_scan_rows)
{
/* logical (col,row) -> memory offset */
return row*256 + col;
}
/***************************************************************************
@ -195,13 +190,8 @@ VIDEO_START_MEMBER(m72_state,hharryu)
m_bg_tilemap->set_scrolldy(-128,-128);
}
/* Major Title has a larger background RAM, and rowscroll */
VIDEO_START_MEMBER(m72_state,majtitle)
VIDEO_START_MEMBER(m72_state, m82_common)
{
// The tilemap can be 256x64, but seems to be used at 128x64 (scroll wraparound).
// The layout ramains 256x64, the right half is just not displayed.
// m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,256,64);
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(m72_state::majtitle_scan_rows),this),8,8,128,64);
m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
@ -216,16 +206,52 @@ VIDEO_START_MEMBER(m72_state,majtitle)
memset(m_buffered_spriteram,0,m_spriteram.bytes());
m_fg_tilemap->set_scrolldx(4,0);
m_fg_tilemap->set_scrolldy(-128,-128);
m_bg_tilemap->set_scrolldx(4,0);
m_bg_tilemap->set_scrolldy(-128,-128);
register_savestate();
save_item(NAME(m_majtitle_rowscroll));
}
/* Major Title has a larger background RAM, and rowscroll */
// the Air Duel conversion on the same PCB does not, is it jumper selectable, or a register, or a different RAM chip?
TILEMAP_MAPPER_MEMBER(m72_state::majtitle_scan_rows)
{
/* logical (col,row) -> memory offset */
return row*256 + col;
}
VIDEO_START_MEMBER(m72_state,m82_large)
{
// The tilemap can be 256x64, but seems to be used at 128x64 (scroll wraparound).
// The layout ramains 256x64, the right half is just not displayed.
// m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,256,64);
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(m72_state::majtitle_scan_rows),this),8,8,128,64);
VIDEO_START_CALL_MEMBER(m82_common);
m_fg_tilemap->set_scrolldx(4,0);
m_fg_tilemap->set_scrolldy(-128,-128);
m_bg_tilemap->set_scrolldx(4,0);
m_bg_tilemap->set_scrolldy(-128,-128);
}
VIDEO_START_MEMBER(m72_state, m82_small)
{
// Air Duel expects the regular tilemap size
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
VIDEO_START_CALL_MEMBER(m82_common);
// why do the offsets also differ?
m_fg_tilemap->set_scrolldx(4,3);
m_fg_tilemap->set_scrolldy(-128,-128);
m_bg_tilemap->set_scrolldx(6-256,0);
m_bg_tilemap->set_scrolldy(-128,-128);
}
VIDEO_START_MEMBER(m72_state,hharry)
{
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::hharry_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);