summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2020-01-07 17:01:58 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2020-01-07 17:01:58 +0100
commit636640d0cb82f91b40e1205c0034feb811e09c6e (patch)
tree4a550a0e72eb3a93778bc5ad124703e99598277f
parent3702c1bc2369c2a3574a5a259c2f0a301111a509 (diff)
New clones marked as NOT_WORKING
-------------------------------- Klax (version 5, bootleg set 3) [f205v]
-rw-r--r--src/mame/drivers/klax.cpp64
-rw-r--r--src/mame/includes/klax.h6
-rw-r--r--src/mame/mame.lst1
-rw-r--r--src/mame/video/klax.cpp2
4 files changed, 53 insertions, 20 deletions
diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp
index 54885b7360b..63d7ea87463 100644
--- a/src/mame/drivers/klax.cpp
+++ b/src/mame/drivers/klax.cpp
@@ -83,7 +83,7 @@ void klax_state::klax_map(address_map &map)
map(0x000000, 0x03ffff).rom();
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
- map(0x260000, 0x260001).portr("P1").w(FUNC(klax_state::klax_latch_w));
+ map(0x260000, 0x260001).portr("P1").w(FUNC(klax_state::latch_w));
map(0x260002, 0x260003).portr("P2");
map(0x270001, 0x270001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0x2e0000, 0x2e0001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
@@ -96,12 +96,12 @@ void klax_state::klax_map(address_map &map)
map(0x3f2800, 0x3f3fff).ram();
}
-void klax_state::klax2bl_map(address_map &map)
+void klax_state::klax5bl_map(address_map &map)
{
map(0x000000, 0x03ffff).rom();
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
- map(0x260000, 0x260001).portr("P1").w(FUNC(klax_state::klax_latch_w));
+ map(0x260000, 0x260001).portr("P1").w(FUNC(klax_state::latch_w));
map(0x260002, 0x260003).portr("P2");
map(0x260006, 0x260007).w(FUNC(klax_state::interrupt_ack_w));
// map(0x270001, 0x270001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // no OKI here
@@ -179,7 +179,7 @@ static const gfx_layout bootleg_layout =
8*8*4
};
-static GFXDECODE_START( gfx_klax2bl )
+static GFXDECODE_START( gfx_klax5bl )
GFXDECODE_ENTRY( "gfx1", 0, bootleg_layout, 256, 16 ) /* playfield */
GFXDECODE_ENTRY( "gfx2", 0, pfmolayout, 0, 16 ) /* sprites */
GFXDECODE_END
@@ -231,18 +231,18 @@ void klax_state::bootleg_sound_map(address_map &map)
map(0x0000, 0x7fff).rom();
}
-void klax_state::klax2bl(machine_config &config)
+void klax_state::klax5bl(machine_config &config)
{
klax(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &klax_state::klax2bl_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &klax_state::klax5bl_map);
config.device_remove("oki"); // no 6295 here
z80_device &audiocpu(Z80(config, "audiocpu", 6000000)); /* ? */
audiocpu.set_addrmap(AS_PROGRAM, &klax_state::bootleg_sound_map);
- m_gfxdecode->set_info(gfx_klax2bl);
+ m_gfxdecode->set_info(gfx_klax5bl);
// guess, probably something like this
// 2 x msm at least on bootleg set 2 (ic18 and ic19)
@@ -339,7 +339,7 @@ ROM_START( klax5bl ) // derived from 'klax5' set
ROM_LOAD16_BYTE( "8.bin", 0x00001, 0x10000, CRC(36764bbc) SHA1(5762996a327b5f7f93f42dad7eccb6297b3e4c0b) )
ROM_END
-ROM_START( klax5bl2 ) // derived from 'klax5' set, closer than klax2bl
+ROM_START( klax5bl2 ) // derived from 'klax5' set, closer than klax5bl
ROM_REGION( 0x40000, "maincpu", 0 ) /* 4*64k for 68000 code */
ROM_LOAD16_BYTE( "3.ic31", 0x00000, 0x10000, CRC(e43699f3) SHA1(2a78959ad065e1c0f69cc2ba4146a50102ccfd7e) )
ROM_LOAD16_BYTE( "1.ic13", 0x00001, 0x10000, CRC(dc67f13a) SHA1(6021f48b53f9000983bcd786b8366ba8638174de) )
@@ -367,6 +367,37 @@ ROM_START( klax5bl2 ) // derived from 'klax5' set, closer than klax2bl
ROM_LOAD( "gal16v8.ic29", 0x600, 0x117, NO_DUMP )
ROM_END
+ROM_START( klax5bl3 ) // almost identical to klax5bl2, only the first audiocpu ROM differs
+ ROM_REGION( 0x40000, "maincpu", 0 ) /* 4*64k for 68000 code */
+ ROM_LOAD16_BYTE( "3.ic31", 0x00000, 0x10000, CRC(e43699f3) SHA1(2a78959ad065e1c0f69cc2ba4146a50102ccfd7e) )
+ ROM_LOAD16_BYTE( "1.ic13", 0x00001, 0x10000, CRC(dc67f13a) SHA1(6021f48b53f9000983bcd786b8366ba8638174de) )
+ ROM_LOAD16_BYTE( "4.ic30", 0x20000, 0x10000, CRC(f1b8e588) SHA1(080511f90aecb7526ab2107c196e73cb881a2bb5) )
+ ROM_LOAD16_BYTE( "2.ic12", 0x20001, 0x10000, CRC(adbe33a8) SHA1(c6c4f9ea5224169dbf4dda1062954563ebab18d4) )
+
+ ROM_REGION( 0x40000, "audiocpu", 0 )
+ ROM_LOAD( "6.ic22", 0x00000, 0x10000, CRC(d2c40941) SHA1(34d35d9333c315e116198aebc7db00fce6ccceb0) )
+ ROM_LOAD( "5.ic23", 0x10000, 0x10000, CRC(a245e005) SHA1(8843edfa9deec405f491647d40007d0a38c25262) )
+
+ ROM_REGION( 0x40000, "gfx1", 0 )
+ ROM_LOAD32_BYTE( "8.ic116", 0x00000, 0x10000, CRC(ebe4bd96) SHA1(31f941e39aeaed6a64b35827df4d234cd641b47d) )
+ ROM_LOAD32_BYTE( "7.ic117", 0x00001, 0x10000, CRC(3b79c0d3) SHA1(f6910f2526e1d92eae260b5eb73b1672db891f4b) )
+ ROM_LOAD32_BYTE( "12.ic134", 0x00002, 0x10000, CRC(ef7712fd) SHA1(9308b37a8b024837b32d10e358a5205fdc582214) )
+ ROM_LOAD32_BYTE( "11.ic135", 0x00003, 0x10000, CRC(c2d8ce0c) SHA1(6b2f3c3f5f238dc00501646230dc8787dd862ed4) )
+
+ ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_LOAD16_BYTE( "10.ic101", 0x00000, 0x10000, CRC(5c551e92) SHA1(cbff8fc4f4d370b6db2b4953ecbedd249916b891) )
+ ROM_LOAD16_BYTE( "9.ic102", 0x00001, 0x10000, CRC(36764bbc) SHA1(5762996a327b5f7f93f42dad7eccb6297b3e4c0b) )
+
+ ROM_REGION( 0x800, "eeprom", 0 ) // dumped from PCB after factory reset
+ ROM_LOAD( "28c16a.ic11", 0x000, 0x800, CRC(a853f611) SHA1(303d9032239a6b868bb010cee2e6292531686487) )
+
+ ROM_REGION( 0x800, "plds", 0) // protected
+ ROM_LOAD( "palce16v8.ic67", 0x000, 0x117, NO_DUMP )
+ ROM_LOAD( "palce16v8.ic91", 0x200, 0x117, NO_DUMP )
+ ROM_LOAD( "gal16v8.ic24", 0x400, 0x117, NO_DUMP )
+ ROM_LOAD( "gal16v8.ic29", 0x600, 0x117, NO_DUMP )
+ROM_END
+
ROM_START( klax4 )
ROM_REGION( 0x40000, "maincpu", 0 ) /* 4*64k for 68000 code */
ROM_LOAD16_BYTE( "136075-5006.3n", 0x00000, 0x10000, CRC(65eb9a31) SHA1(3f47d58fe9eb154ab14ac282919f92679b5c7922) )
@@ -491,12 +522,13 @@ ROM_END
*
*************************************/
-GAME( 1989, klax, 0, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (version 6)", 0 )
-GAME( 1989, klax5, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (version 5)", 0 )
-GAME( 1989, klax4, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (version 4)", 0 )
-GAME( 1989, klaxj4, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (Japan, version 4)", 0 )
-GAME( 1989, klaxj3, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (Japan, version 3)", 0 )
-GAME( 1989, klaxd2, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (Germany, version 2)", 0 )
+GAME( 1989, klax, 0, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (version 6)", 0 )
+GAME( 1989, klax5, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (version 5)", 0 )
+GAME( 1989, klax4, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (version 4)", 0 )
+GAME( 1989, klaxj4, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (Japan, version 4)", 0 )
+GAME( 1989, klaxj3, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (Japan, version 3)", 0 )
+GAME( 1989, klaxd2, klax, klax, klax, klax_state, empty_init, ROT0, "Atari Games", "Klax (Germany, version 2)", 0 )
-GAME( 1989, klax5bl, klax, klax2bl, klax, klax_state, empty_init, ROT0, "bootleg", "Klax (version 5, bootleg set 1)", MACHINE_NOT_WORKING )
-GAME( 1989, klax5bl2, klax, klax2bl, klax, klax_state, empty_init, ROT0, "bootleg", "Klax (version 5, bootleg set 2)", MACHINE_NOT_WORKING )
+GAME( 1989, klax5bl, klax, klax5bl, klax, klax_state, empty_init, ROT0, "bootleg", "Klax (version 5, bootleg set 1)", MACHINE_NOT_WORKING )
+GAME( 1989, klax5bl2, klax, klax5bl, klax, klax_state, empty_init, ROT0, "bootleg", "Klax (version 5, bootleg set 2)", MACHINE_NOT_WORKING )
+GAME( 1989, klax5bl3, klax, klax5bl, klax, klax_state, empty_init, ROT0, "bootleg (Playmark)", "Klax (version 5, bootleg set 3)", MACHINE_NOT_WORKING )
diff --git a/src/mame/includes/klax.h b/src/mame/includes/klax.h
index f3be41db77c..d756d029b31 100644
--- a/src/mame/includes/klax.h
+++ b/src/mame/includes/klax.h
@@ -25,7 +25,7 @@ public:
{ }
void klax(machine_config &config);
- void klax2bl(machine_config &config);
+ void klax5bl(machine_config &config);
private:
virtual void machine_reset() override;
@@ -35,13 +35,13 @@ private:
virtual void update_interrupts() override;
void interrupt_ack_w(u16 data = 0);
- void klax_latch_w(u16 data);
+ void latch_w(u16 data);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void bootleg_sound_map(address_map &map);
- void klax2bl_map(address_map &map);
+ void klax5bl_map(address_map &map);
void klax_map(address_map &map);
required_device<tilemap_device> m_playfield_tilemap;
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index f2f46c55e1d..a01abe37129 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -18445,6 +18445,7 @@ klax4 // 136075 (c) 1989
klax5 // 136075 (c) 1989
klax5bl // bootleg
klax5bl2 // bootleg
+klax5bl3 // bootleg
klaxd2 // 136075 (c) 1989 (Germany)
klaxj3 // 136075 (c) 1989 (Japan)
klaxj4 // 136075 (c) 1989 (Japan)
diff --git a/src/mame/video/klax.cpp b/src/mame/video/klax.cpp
index 5daf385e18b..afa3634a385 100644
--- a/src/mame/video/klax.cpp
+++ b/src/mame/video/klax.cpp
@@ -74,7 +74,7 @@ const atari_motion_objects_config klax_state::s_mob_config =
*
*************************************/
-void klax_state::klax_latch_w(u16 data)
+void klax_state::latch_w(u16 data)
{
}