mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
new clones
Air Duel (World, M82) [system11, The Dumping Union]
This commit is contained in:
parent
39e97dc9f4
commit
2da1bb0f8d
@ -1852,7 +1852,8 @@ dkgensanm72 // (c) 1990 (Japan)
|
||||
poundfor // (c) 1990 (World)
|
||||
poundforj // (c) 1990 (Japan)
|
||||
poundforu // (c) 1990 Irem America (US)
|
||||
airduel // (c) 1990 (Japan)
|
||||
airduelm72 // (c) 1990 (Japan)
|
||||
airduel // (c) 1990 (World)
|
||||
cosmccop // (c) 1991 (World)
|
||||
gallop // (c) 1991 (Japan)
|
||||
ltswords // (c) 1991 (World)
|
||||
|
@ -22,7 +22,8 @@ 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 1990 M72? Y
|
||||
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
|
||||
@ -458,7 +459,7 @@ WRITE16_MEMBER(m72_state::dbreedm72_sample_trigger_w)
|
||||
if (ACCESSING_BITS_0_7 && (data & 0xff) < 9) m_audio->set_sample_start(a[data & 0xff]);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(m72_state::airduel_sample_trigger_w)
|
||||
WRITE16_MEMBER(m72_state::airduelm72_sample_trigger_w)
|
||||
{
|
||||
static const int a[16] = {
|
||||
0x00000, 0x00020, 0x03ec0, 0x05640, 0x06dc0, 0x083a0, 0x0c000, 0x0eb60,
|
||||
@ -630,7 +631,7 @@ static const UINT8 dbreedm72_crc[CRC_LEN] = { 0xa4,0x96,0x5f,0xc0, 0xab,0x49,0
|
||||
0x84,0xe6,0xd6,0xca, 0x00,0x00 };
|
||||
|
||||
/* Air Duel */
|
||||
static const UINT8 airduel_code[CODE_LEN] =
|
||||
static const UINT8 airduelm72_code[CODE_LEN] =
|
||||
{
|
||||
0x68,0x00,0xd0, // push 0d000h
|
||||
0x1f, // pop ds
|
||||
@ -640,7 +641,7 @@ static const UINT8 airduel_code[CODE_LEN] =
|
||||
0xc6,0x06,0xc0,0x1c,0x57, // mov [1cc0h], byte 057h
|
||||
0xea,0x69,0x0b,0x00,0x00 // jmp 0000:$0b69
|
||||
};
|
||||
static const UINT8 airduel_crc[CRC_LEN] = { 0x72,0x9c,0xca,0x85, 0xc9,0x12,0xcc,0xea,
|
||||
static const UINT8 airduelm72_crc[CRC_LEN] = { 0x72,0x9c,0xca,0x85, 0xc9,0x12,0xcc,0xea,
|
||||
0x00,0x00 };
|
||||
|
||||
/* Daiku no Gensan */
|
||||
@ -727,10 +728,10 @@ DRIVER_INIT_MEMBER(m72_state,dbreedm72)
|
||||
m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::dbreedm72_sample_trigger_w),this));
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(m72_state,airduel)
|
||||
DRIVER_INIT_MEMBER(m72_state,airduelm72)
|
||||
{
|
||||
install_protection_handler(airduel_code,airduel_crc);
|
||||
m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::airduel_sample_trigger_w),this));
|
||||
install_protection_handler(airduelm72_code,airduelm72_crc);
|
||||
m_maincpu->space(AS_IO).install_write_handler(0xc0, 0xc1, write16_delegate(FUNC(m72_state::airduelm72_sample_trigger_w),this));
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(m72_state,dkgenm72)
|
||||
@ -893,6 +894,23 @@ 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
|
||||
AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
@ -1925,99 +1943,49 @@ static MACHINE_CONFIG_START( rtype2, m72_state )
|
||||
MCFG_FRAGMENT_ADD(m72_audio_chips)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// not m72, different video system (less tiles regions?)
|
||||
static MACHINE_CONFIG_START( dbreed, m72_state )
|
||||
|
||||
// not m72, different video system (less tiles regions?)
|
||||
static MACHINE_CONFIG_DERIVED( hharryu, rtype2 )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(hharryu_map)
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
|
||||
|
||||
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_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 */
|
||||
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
|
||||
|
||||
/* 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,hharry)
|
||||
|
||||
MCFG_FRAGMENT_ADD(m72_audio_chips)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// not m72, different video system (less tiles regions?)
|
||||
static MACHINE_CONFIG_START( hharry, m72_state )
|
||||
static MACHINE_CONFIG_DERIVED( hharry, rtype2 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(hharry_map)
|
||||
MCFG_CPU_IO_MAP(hharry_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 */
|
||||
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
|
||||
|
||||
/* 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,hharry)
|
||||
|
||||
MCFG_FRAGMENT_ADD(m72_audio_chips)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// not m72, different video system (less tiles regions?)
|
||||
static MACHINE_CONFIG_START( hharryu, m72_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
|
||||
MCFG_CPU_PROGRAM_MAP(hharryu_map)
|
||||
MCFG_CPU_IO_MAP(rtype2_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 */
|
||||
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
|
||||
|
||||
/* 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,hharryu)
|
||||
|
||||
MCFG_FRAGMENT_ADD(m72_audio_chips)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// not m72, different video system (less tiles regions?)
|
||||
@ -3368,7 +3336,37 @@ ROM_START( poundforu )
|
||||
ROM_LOAD( "ppa-v0.bin", 0x00000, 0x40000, CRC(03321664) SHA1(51f2b2b712385c1cd55fd069829efac01838d603) )
|
||||
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, "gfx1", 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-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( 0x20000, "samples", 0 ) /* samples */
|
||||
ROM_LOAD( "AD_(M82)_A-V0-D.IC12", 0x00000, 0x20000, CRC(339f474d) SHA1(a81bb52598a0e31b2ed6a538755237c5d14d1844) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( airduelm72 )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD16_BYTE( "ad-c-h0.bin", 0x00001, 0x20000, CRC(12140276) SHA1(f218c5f2e6795b6295dea064817d7d6b1a7762b6) )
|
||||
ROM_LOAD16_BYTE( "ad-c-l0.bin", 0x00000, 0x20000, CRC(4ac0b91d) SHA1(97e2f633181cd5c25927fd0e2988af2acdb3f388) )
|
||||
@ -3402,6 +3400,7 @@ ROM_START( airduel )
|
||||
ROM_LOAD( "ad-v0.bin", 0x00000, 0x20000, CRC(339f474d) SHA1(a81bb52598a0e31b2ed6a538755237c5d14d1844) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( cosmccop )
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD16_BYTE( "cc-d-h0b.bin", 0x00001, 0x40000, CRC(38958b01) SHA1(7d7e217742e33a1fe096adf5bbc93d63ddcfb375) )
|
||||
@ -3561,7 +3560,8 @@ GAME( 1990, poundfor, 0, poundfor, poundfor, driver_device, 0,
|
||||
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, m72, airduel, m72_state, airduel, ROT270, "Irem", "Air Duel (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, airduel, 0, airduelm82, airduel, driver_device, 0, ROT270, "Irem", "Air Duel (World, M82)", MACHINE_SUPPORTS_SAVE )
|
||||
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 )
|
||||
|
@ -114,7 +114,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(imgfight_sample_trigger_w);
|
||||
DECLARE_WRITE16_MEMBER(loht_sample_trigger_w);
|
||||
DECLARE_WRITE16_MEMBER(dbreedm72_sample_trigger_w);
|
||||
DECLARE_WRITE16_MEMBER(airduel_sample_trigger_w);
|
||||
DECLARE_WRITE16_MEMBER(airduelm72_sample_trigger_w);
|
||||
DECLARE_WRITE16_MEMBER(dkgenm72_sample_trigger_w);
|
||||
DECLARE_WRITE16_MEMBER(gallop_sample_trigger_w);
|
||||
DECLARE_READ16_MEMBER(poundfor_trackball_r);
|
||||
@ -145,7 +145,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(gallop);
|
||||
DECLARE_DRIVER_INIT(m72_8751);
|
||||
DECLARE_DRIVER_INIT(dbreedm72);
|
||||
DECLARE_DRIVER_INIT(airduel);
|
||||
DECLARE_DRIVER_INIT(airduelm72);
|
||||
DECLARE_DRIVER_INIT(nspirit);
|
||||
DECLARE_DRIVER_INIT(loht);
|
||||
DECLARE_DRIVER_INIT(imgfight);
|
||||
|
Loading…
Reference in New Issue
Block a user