summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Brian Troha <briantro@users.noreply.github.com>2012-08-18 17:03:13 +0000
committer Brian Troha <briantro@users.noreply.github.com>2012-08-18 17:03:13 +0000
commit7ee4b34f625f2a3fc5e8975555ddc551b8effbde (patch)
tree0de73a228cf1439a80420fc148a236be44020590 /src
parent0ab3f120d840484704943f900b113e50e19ff248 (diff)
new Tunder Zone clone
dassault.c: Better documented the PCB stack and changed clocks to be derived by on board OSC. [Brian Troha, Stefan Lindberg] New Clone Added ------------------------------------------- Thunder Zone (Rev 1, World) [Stefan Lindberg]
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/dassault.c108
-rw-r--r--src/mame/mame.lst1
2 files changed, 96 insertions, 13 deletions
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index c18b62deb38..acf0aa534d4 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -1,13 +1,28 @@
/***************************************************************************
- Thunder Zone (c) 1991 Data East Corporation (World 2 players)
- Thunder Zone (c) 1991 Data East Corporation (Japan 2 players)
- Desert Assault (c) 1991 Data East Corporation (USA 4 players)
- Desert Assault (c) 1991 Data East Corporation (USA 2 players)
+ Thunder Zone / Desert Assault (c) 1991 Data East Corporation
+
+ Thunder Zone (World 2 players, 2 sets)
+ Thunder Zone (Japan 2 players)
+ Desert Assault (USA 4 players)
+ Desert Assault (USA 2 players)
Emulation by Bryan McPhail, mish@tendril.co.uk
-PCB DE-0344-3 (verified for the Japan set)
+PCB DE-0344-3 (Main board)
+ Data East 59 (68000 Main CPU)
+ Data East 55 x 2
+ Data East 45 (H6280 Sound CPU)
+ YM2203C + YM3014B
+ YM2151 + YM3012
+ OKI M6295 x 2
+ 32.220MHz OSC
+ DSW 8-switch (2 populated, 1 unpopulated)
+
+PCB DE-0345-1 (Sub board)
+ Data East 59 (68000 Sub CPU)
+ Data East 55 x 2
+ 28MHz OSC
Stephh's notes (based on the games M68000 code and some tests) :
@@ -564,15 +579,15 @@ static const deco16ic_interface dassault_deco16ic_tilegen2_intf =
static MACHINE_CONFIG_START( dassault, dassault_state )
/* basic machine hardware */
- MCFG_CPU_ADD("maincpu", M68000, 14000000) /* Accurate */
+ MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/2) /* 14MHz - Accurate */
MCFG_CPU_PROGRAM_MAP(dassault_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_CPU_ADD("sub", M68000, 14000000) /* Accurate */
+ MCFG_CPU_ADD("sub", M68000, XTAL_28MHz/2) /* 14MHz - Accurate */
MCFG_CPU_PROGRAM_MAP(dassault_sub_map)
MCFG_CPU_VBLANK_INT("screen", irq5_line_hold)
- MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
+ MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/8) /* Accurate */
MCFG_CPU_PROGRAM_MAP(sound_map)
// MCFG_QUANTUM_TIME(attotime::from_hz(8400)) /* 140 CPU slices per frame */
@@ -609,20 +624,20 @@ static MACHINE_CONFIG_START( dassault, dassault_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_SOUND_ADD("ym1", YM2203, 32220000/8)
+ MCFG_SOUND_ADD("ym1", YM2203, XTAL_32_22MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
- MCFG_SOUND_ADD("ym2", YM2151, 32220000/9)
+ MCFG_SOUND_ADD("ym2", YM2151, XTAL_32_22MHz/9)
MCFG_SOUND_CONFIG(ym2151_config)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.45)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.45)
- MCFG_OKIM6295_ADD("oki1", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
+ MCFG_OKIM6295_ADD("oki1", XTAL_32_22MHz/32, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified - was 1.023924MHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
- MCFG_OKIM6295_ADD("oki2", 2047848, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
+ MCFG_OKIM6295_ADD("oki2", XTAL_32_22MHz/16, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified - was 2.047848MHz
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
MACHINE_CONFIG_END
@@ -631,6 +646,72 @@ MACHINE_CONFIG_END
ROM_START( thndzone )
ROM_REGION(0x80000, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_BYTE("gz01-1.a15", 0x00000, 0x20000, CRC(20250da6) SHA1(2d01d59b67a2ecc2ddc88eded43f451931a0a33b) )
+ ROM_LOAD16_BYTE("gz03-1.a17", 0x00001, 0x20000, CRC(3595fad0) SHA1(5d61776cdf2274cb26ea06ce97c35f5ce7f27e66) )
+ ROM_LOAD16_BYTE("gt00.a14", 0x40000, 0x20000, CRC(b7277175) SHA1(ffb19c4dd12e0391f01de57c46a7998885fe22bf) ) /* Same data as GS00.A14 */
+ ROM_LOAD16_BYTE("gt02.a16", 0x40001, 0x20000, CRC(cde31e35) SHA1(0219845308c9f46e73b0504bd2aefa2fa74f388e) ) /* Same data as GS02.A16 */
+
+ ROM_REGION(0x80000, "sub", 0 ) /* 68000 code (Sub cpu) */
+ ROM_LOAD16_BYTE("gz10-1.a12", 0x00000, 0x20000, CRC(811d86d7) SHA1(94971acad2c648b7a65ca54d9315414ed3b94f24) )
+ ROM_LOAD16_BYTE("gz08-1.a9", 0x00001, 0x20000, CRC(8f61ab1e) SHA1(df4e7db889915eca39ed4e1a4b5fcae9cd1a9882) )
+ ROM_LOAD16_BYTE("gt11-1.a14", 0x40000, 0x20000, CRC(80cb23de) SHA1(d52426460eea2285c57cfc3fe37aa6dc79990e25) ) /* Same data as GS11.A14 */
+ ROM_LOAD16_BYTE("gt09-1.a11", 0x40001, 0x20000, CRC(0a8fa7e1) SHA1(330ae9602b5f56b5dc4961a41991b64412a59880) ) /* Same data as GS09.A11 */
+
+ ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_LOAD( "gt04.f18", 0x00000, 0x10000, CRC(81c29ebf) SHA1(1b241277a8e35cdeaeb120970d14a09d33032459) ) /* Same data for all regions, different label */
+
+ ROM_REGION(0x020000, "gfx1", 0 )
+ ROM_LOAD16_BYTE( "gt05.h11", 0x000000, 0x10000, CRC(0aae996a) SHA1(d37a12b057e9934212362d7eafa575c961819a27) ) /* Same data for all regions, different label */
+ ROM_LOAD16_BYTE( "gt06.h12", 0x000001, 0x10000, CRC(4efdf03d) SHA1(835d22829c6d0f4efc76801b449f9a779f460f1c) ) /* Same data for all regions, different label */
+
+ ROM_REGION(0x120000, "gfx2", 0 )
+ ROM_LOAD( "maj-02.h14", 0x000000, 0x100000, CRC(383bbc37) SHA1(c537ab147a2770ce28ee185b08dd62d35249bfa9) )
+ /* Other 0x20000 filled in later */
+
+ ROM_REGION(0x200000, "gfx3", 0 )
+ ROM_LOAD( "maj-01.c18", 0x000000, 0x100000, CRC(9840a204) SHA1(096c351769da5184c3d9a05495370134acc9507a) )
+ ROM_LOAD( "maj-00.c17", 0x100000, 0x100000, CRC(87ea8d16) SHA1(db47123aa2ebbb800cfc5cfcf50309bc39cadbcd) )
+
+ ROM_REGION( 0x400000, "gfx4", 0 ) /* sprites chip 1 */
+ ROM_LOAD( "maj-04.r1", 0x000000, 0x80000, CRC(36e49b19) SHA1(bfbc45b635bf3d46ff8b8a514a3f352bf3a95535) )
+ ROM_LOAD( "maj-05.r2", 0x080000, 0x80000, CRC(80fc71cc) SHA1(65b15afbe5d628051b012777d486b6ce92a3795c) )
+ ROM_LOAD( "maj-06.r3", 0x100000, 0x80000, CRC(2e7a684b) SHA1(cffeda1a816dad30d6b1cb12458661188d625d40) )
+ ROM_LOAD( "maj-07.r5", 0x180000, 0x80000, CRC(3acc1f78) SHA1(87ec65b4f54a66370754534d03f4c9217531b42f) )
+ ROM_LOAD( "maj-08.s6", 0x200000, 0x80000, CRC(1958a36d) SHA1(466a30dcd2ea13028272ed2187f890ee20d6636b) )
+ ROM_LOAD( "maj-09.s8", 0x280000, 0x80000, CRC(c21087a1) SHA1(b769c5f2f9b9c525d121902fe9557a6bfc077b99) )
+ ROM_LOAD( "maj-10.s9", 0x300000, 0x80000, CRC(a02fa641) SHA1(14b999a441964e612700bf21945a948eaebb253e) )
+ ROM_LOAD( "maj-11.s11", 0x380000, 0x80000, CRC(dabe9305) SHA1(44d69fe55e674de7f4c610d295d4528d4b2eb150) )
+
+ ROM_REGION( 0x80000, "gfx5", 0 ) /* sprites chip 2 */
+ ROM_LOAD16_BYTE( "gt12.n1", 0x000000, 0x20000, CRC(9a86a015) SHA1(968576b8422393ab9a93d98c15428b1c11417b3d) )
+ ROM_LOAD16_BYTE( "gt13.n2", 0x000001, 0x20000, CRC(f4709905) SHA1(697842a3d7bc2588c77833c3af8938e6f0b1238d) )
+ ROM_LOAD16_BYTE( "gt14.n3", 0x040000, 0x20000, CRC(750fc523) SHA1(ef8794359ff3a44a97ab402821fbe205a0be8f6a) )
+ ROM_LOAD16_BYTE( "gt15.n5", 0x040001, 0x20000, CRC(f14edd3d) SHA1(802d576df6dac2c9bf99f963f1955fc3a7ffdac0) )
+
+ ROM_REGION(0x40000, "oki1", 0 ) /* Oki samples */
+ ROM_LOAD( "gt07.h15", 0x00000, 0x20000, CRC(750b7e5d) SHA1(d33b17a1d8c9b05d5c1daf0c80fed6381e04b167) ) /* Same data as GS07.H15 */
+
+ ROM_REGION(0x80000, "oki2", 0 ) /* Extra Oki samples */
+ ROM_LOAD( "maj-03.h16", 0x00000, 0x80000, CRC(31dcfac3) SHA1(88c7fc139f871991defbc8dc2c9c66b150dd6f6f) ) /* banked */
+
+ ROM_REGION( 0x1000, "proms", 0 )
+ ROM_LOAD( "mb7128y.10m", 0x00000, 0x800, CRC(bde780a2) SHA1(94ea9fe6c3a421e976d077e67f564ca5c37a5e88) ) /* Priority? Unused */
+ ROM_LOAD( "mb7128y.16p", 0x00800, 0x800, CRC(c44d2751) SHA1(7c195650689d5cbbdccba696e0e7d3dc5bb7c506) ) /* Timing?? Unused */
+ /* Above prom also at 16s and 17s */
+
+ ROM_REGION( 0x1000, "plds", 0 )
+ ROM_LOAD( "pal16r8a 1h", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.7c", 0x0200, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.7d", 0x0400, 0x0104, CRC(199e83fd) SHA1(ebb5d66f29935b0a58e79b0db30611b5dce328a6) ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.7e", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.7l", 0x0800, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.8e", 0x0a00, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.9d", 0x0c00, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16l8b.10c", 0x0e00, 0x0104, NO_DUMP ) /* PAL is read protected */
+ROM_END
+
+ROM_START( thndzonea )
+ ROM_REGION(0x80000, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE("gz01.a15", 0x00000, 0x20000, CRC(15e8c328) SHA1(8876b5fde77604c2fe4654271ceb341a8fa460c1) )
ROM_LOAD16_BYTE("gz03.a17", 0x00001, 0x20000, CRC(aab5c86e) SHA1(c3560b15360ddf14e8444d9f70724e698b2bd42f) )
ROM_LOAD16_BYTE("gt00.a14", 0x40000, 0x20000, CRC(b7277175) SHA1(ffb19c4dd12e0391f01de57c46a7998885fe22bf) ) /* Same data as GS00.A14 */
@@ -943,7 +1024,8 @@ DRIVER_INIT_MEMBER(dassault_state,thndzone)
/**********************************************************************************/
-GAME( 1991, thndzone, 0, dassault, thndzone, dassault_state, thndzone, ROT0, "Data East Corporation", "Thunder Zone (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, thndzone, 0, dassault, thndzone, dassault_state, thndzone, ROT0, "Data East Corporation", "Thunder Zone (Rev 1, World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, thndzonea, thndzone, dassault, thndzone, dassault_state, thndzone, ROT0, "Data East Corporation", "Thunder Zone (World)", GAME_SUPPORTS_SAVE )
GAME( 1991, thndzonej, thndzone, dassault, thndzone, dassault_state, thndzone, ROT0, "Data East Corporation", "Thunder Zone (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1991, dassault, thndzone, dassault, dassault, dassault_state, dassault, ROT0, "Data East Corporation", "Desert Assault (US)", GAME_SUPPORTS_SAVE )
GAME( 1991, dassault4, thndzone, dassault, dassault4, dassault_state, dassault, ROT0, "Data East Corporation", "Desert Assault (US 4 Players)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 232f9cb02f7..aa0b6c3c0d1 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -5487,6 +5487,7 @@ robocop2 // MAH (c) 1991 Data East Corporation (World)
robocop2u // MAH (c) 1991 Data East Corporation (US)
robocop2j // MAH (c) 1991 Data East Corporation (Japan)
thndzone // MAJ (c) 1991 Data East Corporation (World)
+thndzonea // MAJ (c) 1991 Data East Corporation (World)
thndzonej // MAJ (c) 1991 Data East Corporation (Japan) - Some MASK ROMS stamped MAL
dassault // MAJ (c) 1991 Data East Corporation (US)
dassault4 // MAJ (c) 1991 Data East Corporation (US)