summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2017-06-24 08:01:42 -0400
committer GitHub <noreply@github.com>2017-06-24 08:01:42 -0400
commit6e685359dd2acc541fb43c368254120ae84b2a8b (patch)
treed213025f32b5710f8a60c1e7dcfbd23c6ee3213e
parent4a4883dd6504c7172a9ad62eebc123c1389ca347 (diff)
parent91f06f53530a7ea8c420d6576ec2aef9369c1b3b (diff)
Merge pull request #2401 from DavidHaywood/200617
new working clone Lock'n'Chase (DECO Cassette) (Japan) [??]
-rw-r--r--src/mame/drivers/decocass.cpp50
-rw-r--r--src/mame/includes/decocass.h1
-rw-r--r--src/mame/machine/decocass.cpp29
-rw-r--r--src/mame/mame.lst4
4 files changed, 84 insertions, 0 deletions
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index 55b11a0c13b..3511199961d 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -892,6 +892,11 @@ static MACHINE_CONFIG_DERIVED( clocknch, decocass )
MCFG_MACHINE_RESET_OVERRIDE(decocass_state,clocknch)
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( clocknchj, decocass )
+
+ /* basic machine hardware */
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,clocknchj)
+MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cfboy0a1, decocass ) /* 12 */
@@ -1271,6 +1276,16 @@ ROM_START( clocknch )
ROM_LOAD( "clocknch.cas", 0x0000, 0x8000, CRC(c9d163a4) SHA1(3ef55a8d8f603059e263776c08eb81f2cf18b75c) )
ROM_END
+ROM_START( clocknchj )
+ DECOCASS_BIOS_A_ROMS
+
+ ROM_REGION( 0x00020, "dongle", 0 ) /* dongle data */
+ ROM_LOAD( "a-0061.dgl", 0x0000, 0x0020, CRC(1bc9fccb) SHA1(ffc59c7660d5c87a8deca294f80260b6bc7c3027) ) /* ? */
+
+ ROM_REGION( 0x10000, "cassette", 0 ) /* (max) 64k for cassette image */
+ ROM_LOAD( "dt-1111-a-0.bin", 0x0000, 0x6300, CRC(9753e815) SHA1(fd0c8e4733e1548fe47a4d34a2f6ce48d9303e22) )
+ROM_END
+
/* 12 Flash Boy (early vertical Japan version, then horizontal version), The Deco Kid (early vertical World version, then vertical version) */
ROM_START( cfboy0a1 ) // version MD 0-A-1 verified, 105 blocks, decrypted main data CRC(7ca358f0)
DECOCASS_BIOS_AO_ROMS
@@ -1462,6 +1477,17 @@ ROM_START( cptennis )
ROM_LOAD( "cptennis.cas", 0x0000, 0x8000, CRC(6bb257fe) SHA1(7554bf1996bc9e9c04a276aab050708d70103f54) )
ROM_END
+ROM_START( cptennisj )
+ DECOCASS_BIOS_A_ROMS
+
+ ROM_REGION( 0x00800, "dongle", 0 ) /* dongle data */
+ ROM_LOAD( "dp-1220-a-0.rom", 0x0000, 0x0800, CRC(1c603239) SHA1(6c97cfbb581f72e8c26a3fc5f06f9d6aa56883ba) )
+
+ ROM_REGION( 0x10000, "cassette", 0 ) /* (max) 64k for cassette image */
+ ROM_LOAD( "dt-1222-a-0.bin", 0x0000, 0x6a00, CRC(ee29eba7) SHA1(fd3aebb81d83120d1afb4d9a216332363d695234) )
+ROM_END
+
+
/* The Following use Dongle Type 3 (unknown part number?)
(dongle data differs for each game) */
@@ -1542,6 +1568,16 @@ ROM_START( cbnj )
ROM_LOAD( "cbnj.cas", 0x0000, 0x8000, CRC(eed41560) SHA1(85d5df76efac33cd10427f659c4259afabb3daaf) )
ROM_END
+ROM_START( cburnrubj )
+ DECOCASS_BIOS_A_ROMS
+
+ ROM_REGION( 0x01000, "dongle", 0 ) /* dongle data */
+ ROM_LOAD( "dp-127_b.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
+
+ ROM_REGION( 0x10000, "cassette", 0 ) /* (max) 64k for cassette image */
+ ROM_LOAD( "dt-1271-a-0.bin", 0x0000, 0x7800, CRC(6bd0adab) SHA1(4c536991e4ec6cbdf4b74497dae9f0dba17ebb95) )
+ROM_END
+
/* 28 Graplop / Cluster Buster */
ROM_START( cgraplop )
DECOCASS_BIOS_B_ROMS
@@ -1553,6 +1589,16 @@ ROM_START( cgraplop )
ROM_LOAD( "cgraplop.cas", 0x0000, 0x8000, CRC(d2c1c1bb) SHA1(db67304caa11540363735e7d4bf03507ccbe9980) )
ROM_END
+ROM_START( cgraplopj )
+ DECOCASS_BIOS_A_ROMS
+
+ ROM_REGION( 0x01000, "dongle", 0 ) /* dongle data */
+ ROM_LOAD( "cgraplop.pro", 0x0000, 0x1000, CRC(ee93787d) SHA1(0c753d62fdce2fdbd5b329a5aa259a967d07a651) )
+
+ ROM_REGION( 0x10000, "cassette", 0 ) /* (max) 64k for cassette image */
+ ROM_LOAD( "dt-1280-a-0.bin", 0x0000, 0x7800, CRC(a0d7d1a7) SHA1(4260edd19786b6cf4cd0c426783637f0c61ca007) )
+ROM_END
+
ROM_START( cgraplop2 )
DECOCASS_BIOS_B_ROMS
@@ -1833,6 +1879,7 @@ DRIVER_INIT_MEMBER(decocass_state,cdsteljn)
/* 10 */ GAME( 1981, cocean1a, decocass, cocean1a, cocean1a, decocass_state, decocass, ROT270, "Data East Corporation", "Ocean to Ocean (Medal) (DECO Cassette MD) (No.10/Ver.1,Japan)", 0 ) /* no lever, 1P/2P buttons used to switch player, cocktail mode not emulated */
/* */ GAME( 1981, cocean6b, cocean1a, cocean1a, cocean1a, decocass_state, decocass, ROT270, "Data East Corporation", "Ocean to Ocean (Medal) (DECO Cassette MD) (No.10/Ver.6,US)", 0 ) /* lever, 1P/2P buttons used to switch player, cocktail mode not emulated */
/* 11 */ GAME( 1981, clocknch, decocass, clocknch, clocknch, decocass_state, decocass, ROT270, "Data East Corporation", "Lock'n'Chase (DECO Cassette) (US)", 0 )
+/* */ GAME( 1981, clocknchj, clocknch, clocknchj,clocknch, decocass_state, decocass, ROT270, "Data East Corporation", "Lock'n'Chase (DECO Cassette) (Japan)", 0 )
/* 12 */ GAME( 1981, cfboy0a1, decocass, cfboy0a1, cfboy0a1, decocass_state, decocass, ROT270, "Data East Corporation", "Flash Boy (vertical) [DECO Cassette MD] (No.12/Ver.0/Set.1,Japan)", 0 )
/* 13 */ GAME( 1981, cprogolf, decocass, cprogolf, cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette) (US)", 0 )
/* */ GAME( 1981, cprogolfj, cprogolf, cprogolfj,cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette) (Japan)", 0 )
@@ -1848,6 +1895,7 @@ DRIVER_INIT_MEMBER(decocass_state,cdsteljn)
/* 20 */ GAME( 1982, ctornado, decocass, ctornado, ctornado, decocass_state, decocass, ROT270, "Data East Corporation", "Tornado (DECO Cassette) (US)", 0 )
/* 21 */ GAME( 1982, cmissnx, decocass, cmissnx, cmissnx, decocass_state, decocass, ROT270, "Data East Corporation", "Mission-X (DECO Cassette) (US)", 0 )
/* 22 */ GAME( 1982, cptennis, decocass, cptennis, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Pro Tennis (DECO Cassette) (US)", 0 )
+/* */ GAME( 1982, cptennisj, cptennis, cptennis, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Pro Tennis (DECO Cassette) (Japan)", 0 )
/* 23 */ GAME( 1982, cprogolf18,cprogolf, cprogolfj,cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "18 Challenge Pro Golf (DECO Cassette) (Japan)", 0 ) // 1982.?? 18 Hole Pro Golf
/* 24 */ // 1982.07 Tsumego Kaisyou
/* 25 */ GAME( 1982, cadanglr, decocass, cfishing, cfishing, decocass_state, decocass, ROT270, "Data East Corporation", "Angler Dangler (DECO Cassette) (US)", 0 )
@@ -1856,8 +1904,10 @@ DRIVER_INIT_MEMBER(decocass_state,cdsteljn)
/* */ GAME( 1982, chamburger,cbtime, cbtime, cbtime, decocass_state, decocass, ROT270, "Data East Corporation", "Hamburger (DECO Cassette) (Japan)", 0 )
/* 27 */ GAME( 1982, cburnrub, decocass, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette) (US) (set 1)", 0 )
/* */ GAME( 1982, cburnrub2, cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette) (US) (set 2)", 0 )
+/* */ GAME( 1982, cburnrubj, cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette) (Japan)", 0 )
/* */ GAME( 1982, cbnj, cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Bump 'n' Jump (DECO Cassette) (US)", 0 ) // was marked 'Japan' but uses the type B (US) bios
/* 28 */ GAME( 1983, cgraplop, decocass, cgraplop, cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Cluster Buster (DECO Cassette) (US)", 0 )
+/* */ GAME( 1983, cgraplopj, cgraplop, cgraplop, cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Graplop (DECO Cassette) (Japan)", 0 )
/* */ GAME( 1983, cgraplop2, cgraplop, cgraplop2,cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Graplop (no title screen) (DECO Cassette) (US)", 0 ) // a version with title screen exists, see reference videos
/* 29 */ GAME( 1983, clapapa, decocass, clapapa, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' / La-Pa-Pa (DECO Cassette) (US)" , 0) /* Displays 'La-Pa-Pa during attract */
/* */ GAME( 1983, clapapa2, clapapa, clapapa, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' (DECO Cassette) (US)" , 0) /* Displays 'Rootin' Tootin' during attract */
diff --git a/src/mame/includes/decocass.h b/src/mame/includes/decocass.h
index 89f7e80b338..74ef1cc5f01 100644
--- a/src/mame/includes/decocass.h
+++ b/src/mame/includes/decocass.h
@@ -185,6 +185,7 @@ public:
DECLARE_MACHINE_RESET(cflyball);
DECLARE_MACHINE_RESET(cmanhat);
DECLARE_MACHINE_RESET(cocean1a); /* 10 */
+ DECLARE_MACHINE_RESET(clocknchj); /* 11 */
DECLARE_MACHINE_RESET(cfboy0a1); /* 12 */
uint32_t screen_update_decocass(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_MEMBER(decocass_coin_counter_w);
diff --git a/src/mame/machine/decocass.cpp b/src/mame/machine/decocass.cpp
index 94d38b9a5d9..184a087717c 100644
--- a/src/mame/machine/decocass.cpp
+++ b/src/mame/machine/decocass.cpp
@@ -462,6 +462,35 @@ MACHINE_RESET_MEMBER(decocass_state,cfboy0a1) /* 12 */
m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
}
+/*
+
+TYPE 1
+* Latched bits = $48 (2 latch bits)
+* Input bits that are passed uninverted = $04 (1 true bits)
+* Input bits that are passed inverted = $00 (0 inverted bits)
+* Remaining bits for addressing PROM = $B3 (5 bits)
+* Latched bit #0:
+- Input bit position = 3
+- Output bit position = 3
+- Type = Inverting latch
+* Latched bit #1:
+- Input bit position = 6
+- Output bit position = 6
+- Type = Non-inverting latch
+
+*/
+
+static uint8_t type1_map_clocknchj[8] = { T1PROM,T1PROM,T1DIRECT,T1LATCHINV,T1PROM,T1PROM,T1LATCH,T1PROM };
+
+MACHINE_RESET_MEMBER(decocass_state,clocknchj) /* 11 */
+{
+ decocass_state::machine_reset();
+ LOG(0,("dongle type #1x (type1_map_clocknchj map)\n"));
+ m_dongle_r = read8_delegate(FUNC(decocass_state::decocass_type1_r),this);
+ m_type1_map = type1_map_clocknchj;
+ m_type1_inmap = MAKE_MAP(0,1,2,3,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
+}
/***************************************************************************
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 29b49c722d8..78a90d3df27 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -11084,6 +11084,7 @@ cbnj // 27 Bump 'n' Jump
cbtime // 26 1982.08 Hamburger/Burger Time
cburnrub // 27 1982.11 Burnin' Rubber
cburnrub2 // 27
+cburnrubj //
cdiscon1 // 19 1982.04 Disco No.1
cdsteljn // 14 1981.06 DS Telejan
cexplore // 18 1982.02 Explorer
@@ -11092,12 +11093,14 @@ cfghtice // 40 1984.04 Fighting Ice Hockey
cfishing // 25 1982.10 Fishing
cflyball // 35 1983.?? Flying Ball/Bampoline
cgraplop // 28 1982.11 Cluster Buster / Graplop
+cgraplopj //
cgraplop2 // 28
chamburger // 26 1982.08 Hamburger (Japan)
chwy // 01 1980.12 Highway Chase
clapapa // 29 1982.11 La-Pa-Pa
clapapa2 // 29 Rootin' Tootin' // this one doesn't display lapapa anywhere
clocknch // 11 1981.04 Lock'n'Chase
+clocknchj //
cluckypo // 15 1981.?? Lucky Poker
cmanhat // 03 1981.01 Manhattan
cmissnx // 21 1982.04 Mission-X/Zoar
@@ -11115,6 +11118,7 @@ cprogolfj // 13 1981.08 Tournament Pro Golf (Japan)
cpsoccer // 33 1982.08 Pro Soccer
cpsoccerj // 33 1982.08 Pro Soccer (Japan)
cptennis // 22 1982.06 Pro Tennis
+cptennisj
cscrtry // 38 1984.03 Scrum Try
cscrtry2 // 38
csdtenis // 34 1983.09 Super Doubles Tennis