diff options
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 |
commit | 636640d0cb82f91b40e1205c0034feb811e09c6e (patch) | |
tree | 4a550a0e72eb3a93778bc5ad124703e99598277f | |
parent | 3702c1bc2369c2a3574a5a259c2f0a301111a509 (diff) |
New clones marked as NOT_WORKING
--------------------------------
Klax (version 5, bootleg set 3) [f205v]
-rw-r--r-- | src/mame/drivers/klax.cpp | 64 | ||||
-rw-r--r-- | src/mame/includes/klax.h | 6 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 | ||||
-rw-r--r-- | src/mame/video/klax.cpp | 2 |
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) { } |