summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/gundealr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gundealr.cpp')
-rw-r--r--src/mame/drivers/gundealr.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/mame/drivers/gundealr.cpp b/src/mame/drivers/gundealr.cpp
index d8f8efb793d..c7bfc943e2d 100644
--- a/src/mame/drivers/gundealr.cpp
+++ b/src/mame/drivers/gundealr.cpp
@@ -6,11 +6,21 @@ Gun Dealer memory map
driver by Nicola Salmoria
-Yam! Yam!? runs on the same hardware but has a protection device which can
+The custom graphics chips at locations labeled GA 1, GA 2 and GA 3 (x2) are
+surface-scratched on common blue boards. However, a Tecmo-licensed green
+PCB reveals them to be none other than NMK-901, NMK-902 and NMK-903.
+
+Yam! Yam!? runs on similar hardware but has a protection device which can
access RAM at e000. Program writes to e000 and expects a value back
at e001, then jumps to subroutines at e010 and e020. Also, the
player and coin inputs appear magically at e004-e006.
+Despite not using GFX customs or MCU protection and lacking Dooyong labels,
+gundealrbl might be a factory conversion of Yam! Yam!? rather than a
+bootleg, as its board has the same NMK-style markings for the ROM and PROM
+locations. In place of the MCU here is a small daughterboard with three
+SN74LS245N buffers, a resistor array and an Altera EP320PC.
+
0000-7fff ROM
8000-bfff ROM (banked)
c400-c7ff palette RAM
@@ -514,6 +524,10 @@ static MACHINE_CONFIG_DERIVED( yamyam, gundealr )
MCFG_TIMER_DRIVER_ADD_PERIODIC("mcusim", gundealr_state, yamyam_mcu_sim, attotime::from_hz(6000000/60)) /* 6mhz confirmed */
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( gundealrbl, yamyam )
+ MCFG_DEVICE_REMOVE("mcusim")
+MACHINE_CONFIG_END
+
/***************************************************************************
@@ -569,7 +583,7 @@ ROM_START( gundealrt )
ROM_LOAD( "82s129.7i", 0x0100, 0x0100, NO_DUMP)
ROM_END
-ROM_START( gundealrbl ) // bootleg with gfx customs done out in TTL logic, different proms, patched code rom
+ROM_START( gundealrbl ) // gfx customs done out in TTL logic, different proms, patched code rom
ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for banks */
ROM_LOAD( "29.2.am27c512.f10", 0x00000, 0x10000, CRC(7981751e) SHA1(3138581bcff84a11670ba54cbca608d590055b4e) ) // almost == gundealr "1.3j", 5 bytes different: (what does this change?)
ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
@@ -652,7 +666,7 @@ ROM_END
GAME( 1990, gundealr, 0, gundealr, gundealr, gundealr_state, 0, ROT270, "Dooyong", "Gun Dealer", MACHINE_SUPPORTS_SAVE )
GAME( 1990, gundealra, gundealr, gundealr, gundealr, gundealr_state, 0, ROT270, "Dooyong", "Gun Dealer (alt card set)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, gundealrt, gundealr, gundealr, gundealt, gundealr_state, 0, ROT270, "Dooyong (Tecmo license)", "Gun Dealer (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, gundealrbl, gundealr, yamyam, gundealr, gundealr_state, 0, ROT270, "bootleg", "Gun Dealer (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, gundealrbl, gundealr, gundealrbl, gundealr, gundealr_state, 0, ROT270, "Dooyong", "Gun Dealer (Yam! Yam!? hardware)", MACHINE_SUPPORTS_SAVE )
GAME( 1990, yamyam, 0, yamyam, yamyam, gundealr_state, 0, ROT0, "Dooyong", "Yam! Yam!?", MACHINE_SUPPORTS_SAVE )
GAME( 1990, yamyamk, yamyam, yamyam, yamyam, gundealr_state, 0, ROT0, "Dooyong", "Yam! Yam!? (Korea)", MACHINE_SUPPORTS_SAVE )