summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2018-01-24 20:14:13 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2018-01-24 20:14:13 +0100
commit895a7826b98458e39e3b712e66a792fd3e6f2d39 (patch)
treeb6d81abd0c01716f2e39677c0b7c320be2b97766
parentc7043d95698cc5318a653c3ea39675befea3268b (diff)
new working clone
---------------------------- Track & Field (Centuri, unencrypted) [RiddledTV, Bryan McPhail, The Dumping Union]
-rw-r--r--src/mame/drivers/trackfld.cpp64
-rw-r--r--src/mame/includes/trackfld.h51
-rw-r--r--src/mame/mame.lst1
3 files changed, 80 insertions, 36 deletions
diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp
index dea325c6b77..042dc803cf8 100644
--- a/src/mame/drivers/trackfld.cpp
+++ b/src/mame/drivers/trackfld.cpp
@@ -953,6 +953,12 @@ MACHINE_CONFIG_START(trackfld_state::trackfld)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
MACHINE_CONFIG_END
+MACHINE_CONFIG_DERIVED(trackfld_state::trackfldu, trackfld)
+ MCFG_CPU_REPLACE("maincpu", MC6809E, MASTER_CLOCK/6/2) /* exact M6809 model unknown */
+ MCFG_CPU_PROGRAM_MAP(main_map)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq)
+
+MACHINE_CONFIG_END
INTERRUPT_GEN_MEMBER(trackfld_state::yieartf_timer_irq)
{
@@ -1211,6 +1217,37 @@ ROM_START( trackfldc )
ROM_LOAD( "c9_d15.bin", 0x0000, 0x2000, CRC(f546a56b) SHA1(caee3d8546eb7a75ce2a578c6a1a630246aec6b8) )
ROM_END
+ROM_START( trackfldu ) // unencrypted, only maincpu and two of the gfx1 ROMs differ. Two dumps from different boards and dumpers were provided. OCBs look original (GX361).
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "361_105.a7", 0x6000, 0x2000, CRC(c813f140) SHA1(088bfb1979c55b232b19a3b75bf87a1915422ba4) )
+ ROM_LOAD( "361_104.a6", 0x8000, 0x2000, CRC(b785e7ee) SHA1(aaed6a3bc04896c9980f68e00a3190b8cfab04f6) )
+ ROM_LOAD( "361_103.a5", 0xa000, 0x2000, CRC(060c16e6) SHA1(7215a23fcb9e34ed62b961a2bc068bf88e4da29d) )
+ ROM_LOAD( "361_102.a4", 0xc000, 0x2000, CRC(46bde4ea) SHA1(44730a88ed320a835e8dfd8cd97206be5dfdef7c) )
+ ROM_LOAD( "361_101.a2", 0xe000, 0x2000, CRC(b2d8be9a) SHA1(bfc155ddca567d9dff2ea6ddecfcc192316e5021) )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "c2_d13.bin", 0x0000, 0x2000, CRC(95bf79b6) SHA1(ea9135acd7ad162c19c5cdde356e69792d61b675) )
+
+ ROM_REGION( 0x8000, "gfx1", 0 )
+ ROM_LOAD( "361_d06.a20", 0x0000, 0x2000, CRC(82e2185a) SHA1(1da9ea20e7af0b49c62fb39834a7ec686491af04) )
+ ROM_LOAD( "361_d07.a21", 0x2000, 0x2000, CRC(800ff1f1) SHA1(33d73b18903e3e6bfb30f1a06db4b8105d4040d8) )
+ ROM_LOAD( "361_d08.a17", 0x4000, 0x2000, CRC(e5193cf8) SHA1(8c90452e1f2599fc656af8b7141bf30ff1e2fc02) )
+ ROM_LOAD( "361_d09.a19", 0x6000, 0x2000, CRC(91062288) SHA1(24160f78b3ed854f15e36987e3925865ca9923d4) )
+
+ ROM_REGION( 0x6000, "gfx2", 0 )
+ ROM_LOAD( "h16_e12.bin", 0x0000, 0x2000, CRC(50075768) SHA1(dfff92c0f59dd3d8d3d6256944bfd48792cef6a9) )
+ ROM_LOAD( "h15_e11.bin", 0x2000, 0x2000, CRC(dda9e29f) SHA1(0f41cde82bb60c3f1591ee14dc3cff4642bbddc1) )
+ ROM_LOAD( "h14_e10.bin", 0x4000, 0x2000, CRC(c2166a5c) SHA1(5ba25900e653ce4edcf35f1fbce758a327a715ce) )
+
+ ROM_REGION( 0x0220, "proms", 0 )
+ ROM_LOAD( "361b16.f1", 0x0000, 0x0020, CRC(d55f30b5) SHA1(4d6a851f4886778307f75771645078b97ad55f5f) ) /* palette */
+ ROM_LOAD( "361b17.b16", 0x0020, 0x0100, CRC(d2ba4d32) SHA1(894b5cedf01ba9225a0d6215291857e455b84903) ) /* sprite lookup table */
+ ROM_LOAD( "361b18.e15", 0x0120, 0x0100, CRC(053e5861) SHA1(6740a62cf7b6938a4f936a2fed429704612060a5) ) /* char lookup table */
+
+ ROM_REGION( 0x2000, "vlm", 0 ) /* 8k for the VLM5030 data */
+ ROM_LOAD( "c9_d15.bin", 0x0000, 0x2000, CRC(f546a56b) SHA1(caee3d8546eb7a75ce2a578c6a1a630246aec6b8) )
+ROM_END
+
ROM_START( hyprolym ) /* GX361 */
ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code + 64k for decrypted opcodes */
ROM_LOAD( "361-d01.a01", 0x6000, 0x2000, CRC(82257fb7) SHA1(4a5038292e582d5c3b5f2d82b01c57ccb24f3095) )
@@ -1671,20 +1708,21 @@ DRIVER_INIT_MEMBER(trackfld_state,wizzquiz)
}
-GAME( 1983, trackfld, 0, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami", "Track & Field", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, trackfldc, trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami", "Hyper Olympic", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, hyprolymb, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, hyprolymba, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 1983, hipoly, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hipoly (bootleg of Hyper Olympic)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1996, atlantol, trackfld, atlantol, atlantol, trackfld_state, atlantol, ROT0, "bootleg", "Atlant Olimpic", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, trackfldnz, trackfld, trackfld, trackfld, trackfld_state, trackfldnz, ROT0, "bootleg? (Goldberg Enterprizes Inc.)", "Track & Field (NZ bootleg?)", MACHINE_SUPPORTS_SAVE) // bootleg of the Centuri version
+GAME( 1983, trackfld, 0, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami", "Track & Field", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, trackfldc, trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, trackfldu, trackfld, trackfldu, trackfld, trackfld_state, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri, unencrypted)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami", "Hyper Olympic", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, hyprolymb, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1983, hyprolymba, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 1983, hipoly, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hipoly (bootleg of Hyper Olympic)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1996, atlantol, trackfld, atlantol, atlantol, trackfld_state, atlantol, ROT0, "bootleg", "Atlant Olimpic", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, trackfldnz, trackfld, trackfld, trackfld, trackfld_state, trackfldnz, ROT0, "bootleg? (Goldberg Enterprizes Inc.)", "Track & Field (NZ bootleg?)", MACHINE_SUPPORTS_SAVE) // bootleg of the Centuri version
-GAME( 1988, mastkin, 0, mastkin, mastkin, trackfld_state, mastkin, ROT0, "Du Tech", "The Masters of Kin", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
+GAME( 1988, mastkin, 0, mastkin, mastkin, trackfld_state, mastkin, ROT0, "Du Tech", "The Masters of Kin", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
-GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, trackfld_state, wizzquiz, ROT0, "Zilec-Zenitone (Konami license)", "Wizz Quiz (Konami version)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, wizzquiza, wizzquiz, wizzquiz, wizzquiz, trackfld_state, wizzquiz, ROT0, "Zilec-Zenitone", "Wizz Quiz (version 4)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, trackfld_state, wizzquiz, ROT0, "Zilec-Zenitone (Konami license)", "Wizz Quiz (Konami version)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, wizzquiza, wizzquiz, wizzquiz, wizzquiz, trackfld_state, wizzquiz, ROT0, "Zilec-Zenitone", "Wizz Quiz (version 4)", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, reaktor, 0, reaktor, reaktor, trackfld_state, 0, ROT90, "Zilec", "Reaktor (Track & Field conversion)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, reaktor, 0, reaktor, reaktor, trackfld_state, 0, ROT90, "Zilec", "Reaktor (Track & Field conversion)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, yieartf, yiear, yieartf, yieartf, trackfld_state, 0, ROT0, "Konami", "Yie Ar Kung-Fu (GX361 conversion)", MACHINE_SUPPORTS_SAVE ) // the conversion looks of bootleg quality, but the code is clearly a very different revision to either original hardware set...
+GAME( 1985, yieartf, yiear, yieartf, yieartf, trackfld_state, 0, ROT0, "Konami", "Yie Ar Kung-Fu (GX361 conversion)", MACHINE_SUPPORTS_SAVE ) // the conversion looks of bootleg quality, but the code is clearly a very different revision to either original hardware set...
diff --git a/src/mame/includes/trackfld.h b/src/mame/includes/trackfld.h
index e2c9cc0da00..9bb395cdf74 100644
--- a/src/mame/includes/trackfld.h
+++ b/src/mame/includes/trackfld.h
@@ -26,6 +26,32 @@ public:
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { }
+ DECLARE_WRITE8_MEMBER(questions_bank_w);
+ DECLARE_WRITE8_MEMBER(trackfld_videoram_w);
+ DECLARE_WRITE8_MEMBER(trackfld_colorram_w);
+ DECLARE_WRITE8_MEMBER(atlantol_gfxbank_w);
+ DECLARE_READ8_MEMBER(trackfld_SN76496_r);
+ DECLARE_READ8_MEMBER(trackfld_speech_r);
+ DECLARE_WRITE8_MEMBER(trackfld_VLM5030_control_w);
+ DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
+ DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
+
+ void reaktor(machine_config &config);
+ void atlantol(machine_config &config);
+ void yieartf(machine_config &config);
+ void wizzquiz(machine_config &config);
+ void trackfld(machine_config &config);
+ void trackfldu(machine_config &config);
+ void hyprolyb(machine_config &config);
+ void mastkin(machine_config &config);
+
+ DECLARE_DRIVER_INIT(trackfld);
+ DECLARE_DRIVER_INIT(atlantol);
+ DECLARE_DRIVER_INIT(wizzquiz);
+ DECLARE_DRIVER_INIT(mastkin);
+ DECLARE_DRIVER_INIT(trackfldnz);
+
+private:
/* memory pointers */
required_shared_ptr<uint8_t> m_spriteram2;
required_shared_ptr<uint8_t> m_scroll;
@@ -52,28 +78,14 @@ public:
bool m_irq_mask;
bool m_nmi_mask;
+ uint8_t m_SN76496_latch;
+
DECLARE_WRITE_LINE_MEMBER(coin_counter_1_w);
DECLARE_WRITE_LINE_MEMBER(coin_counter_2_w);
- DECLARE_WRITE8_MEMBER(questions_bank_w);
DECLARE_WRITE_LINE_MEMBER(irq_mask_w);
DECLARE_WRITE_LINE_MEMBER(nmi_mask_w);
- DECLARE_WRITE8_MEMBER(trackfld_videoram_w);
- DECLARE_WRITE8_MEMBER(trackfld_colorram_w);
DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
- DECLARE_WRITE8_MEMBER(atlantol_gfxbank_w);
- DECLARE_READ8_MEMBER(trackfld_SN76496_r);
- DECLARE_READ8_MEMBER(trackfld_speech_r);
- DECLARE_WRITE8_MEMBER(trackfld_VLM5030_control_w);
-
- DECLARE_DRIVER_INIT(trackfld);
- DECLARE_DRIVER_INIT(atlantol);
- DECLARE_DRIVER_INIT(wizzquiz);
- DECLARE_DRIVER_INIT(mastkin);
- DECLARE_DRIVER_INIT(trackfldnz);
- uint8_t m_SN76496_latch;
- DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
- DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
TILE_GET_INFO_MEMBER(get_bg_tile_info);
DECLARE_MACHINE_START(trackfld);
DECLARE_MACHINE_RESET(trackfld);
@@ -85,11 +97,4 @@ public:
INTERRUPT_GEN_MEMBER(vblank_nmi);
INTERRUPT_GEN_MEMBER(yieartf_timer_irq);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
- void reaktor(machine_config &config);
- void atlantol(machine_config &config);
- void yieartf(machine_config &config);
- void wizzquiz(machine_config &config);
- void trackfld(machine_config &config);
- void hyprolyb(machine_config &config);
- void mastkin(machine_config &config);
};
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 666c0b21c54..39e29a66cee 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -37133,6 +37133,7 @@ reaktor // (c) 1985 Zilec
trackfld // GX361 (c) 1983
trackfldc // GX361 (c) 1983 + Centuri license
trackfldnz // (c) 1982 Goldberg Enterprizes Inc.
+trackfldu // GX361 (c) 1983
wizzquiz // (c) 1985 Konami
wizzquiza // (c) 1985 Zilec-Zenitone
yieartf // GX361 (c) 1985