summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2020-01-18 09:16:16 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2020-01-18 09:16:16 +0100
commit58dab7657ca8b410b59081cd9c660dcac9217a06 (patch)
tree96ed36849bce13c8aa849e917e47cd8388eab885 /src
parent9e99470f59a9217448dc45526606629d35feb97b (diff)
New clones marked as NOT_WORKING
-------------------------------- Wild Cat 3 (CMV4 hardware) [Ioannis Bampoulas]
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/goldstar.cpp64
-rw-r--r--src/mame/includes/goldstar.h1
-rw-r--r--src/mame/mame.lst1
3 files changed, 66 insertions, 0 deletions
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index b3c8d89e7ae..8ac0a6d7599 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -13468,6 +13468,28 @@ ROM_START( wcat3 )
ROM_LOAD( "wcat3.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) )
ROM_END
+ROM_START( wcat3a )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "main program sub 27c512.bin", 0x0000, 0x10000, CRC(50b61d88) SHA1(7cea2a03d9b48a1f324171f69ae9df62cf65dc6f) )
+
+ ROM_REGION( 0x18000, "gfx1", 0 )
+ ROM_LOAD( "rom7.bin", 0x10000, 0x8000, CRC(3e2ade27) SHA1(9a463219c5028ed32086c378a17079f69d1c0439) )
+ ROM_LOAD( "rom6.bin", 0x08000, 0x8000, CRC(71ae4c3c) SHA1(7b3b0a7453e5844194f3d3ed449549e4c091b127) )
+ ROM_LOAD( "rom5.bin", 0x00000, 0x8000, CRC(8fac3f23) SHA1(e2c67620aa2ea01c2d469d963b5a34ca710742ec) )
+
+ ROM_REGION( 0x8000, "gfx2", 0 )
+ ROM_LOAD( "rom4.bin", 0x6000, 0x2000, CRC(0509d556) SHA1(c2f46d279f45b544c67b0c966659cc6d5d53c22f) )
+ ROM_LOAD( "rom3.bin", 0x4000, 0x2000, CRC(d50f3d62) SHA1(8500c7f3a2f51ea0ed7e142ecdc4e669ba3e7065) )
+ ROM_LOAD( "rom2.bin", 0x2000, 0x2000, CRC(373d9949) SHA1(ff483505fb9e86411acad7059bf5434dde290946) )
+ ROM_LOAD( "rom1.bin", 0x0000, 0x2000, CRC(50febe3b) SHA1(0479bcee53b174aa0413951e283e446b09a6f156) )
+
+ ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls bitmap
+
+ ROM_REGION( 0x200, "proms", 0 )
+ ROM_LOAD( "n82s129 u84.bin", 0x0000, 0x0100, CRC(d12b865b) SHA1(cb1fee592c9eb51e38c33a27f8d706c4c57b9823) )
+ ROM_LOAD( "n82s129 u79.bin", 0x0100, 0x0100, CRC(89af30d9) SHA1(049252654a25399ad5ca95d1b063eb45356efcad) )
+ROM_END
+
/* these 'Amcoe' games look like bootlegs of cherry master
the z80 roms are encrypted */
@@ -17267,6 +17289,47 @@ void goldstar_state::init_chryangl()
}
}
+void cmaster_state::init_wcat3a() // seems ok, but needs checking
+{
+ uint8_t *rom = memregion("maincpu")->base();
+
+ for (int i = 0; i < 0x10000; i++)
+ {
+ uint8_t x = rom[i];
+
+ switch (i & 0x83)
+ {
+ case 0x00: x = bitswap<8>(x ^ 0x2a, 1, 6, 7, 4, 5, 2, 3, 0); break;
+ case 0x01: x = bitswap<8>(x ^ 0x0a, 5, 6, 3, 4, 1, 2, 7, 0); break;
+ case 0x02: x = bitswap<8>(x ^ 0xa8, 5, 6, 3, 4, 1, 2, 7, 0); break;
+ case 0x03: x = bitswap<8>(x ^ 0x0a, 3, 6, 1, 4, 7, 2, 5, 0); break;
+ case 0x80: x = bitswap<8>(x ^ 0x28, 3, 6, 1, 4, 7, 2, 5, 0); break;
+ case 0x81: x = bitswap<8>(x ^ 0xa8, 1, 6, 7, 4, 5, 2, 3, 0); break;
+ case 0x82: x = bitswap<8>(x ^ 0xa2, 3, 6, 1, 4, 7, 2, 5, 0); break;
+ case 0x83: x = bitswap<8>(x ^ 0x2a, 5, 6, 3, 4, 1, 2, 7, 0); break;
+ }
+
+ m_decrypted_opcodes[i] = x;
+ }
+
+ for (int i = 0; i < 0x10000; i++)
+ {
+ uint8_t x = rom[i];
+ switch (i & 0x83)
+ {
+ case 0x00: x = bitswap<8>(x ^ 0x88, 3, 6, 1, 4, 7, 2, 5, 0); break;
+ case 0x01: x = bitswap<8>(x ^ 0x80, 5, 6, 3, 4, 1, 2, 7, 0); break;
+ case 0x02: x = bitswap<8>(x ^ 0x28, 1, 6, 7, 4, 5, 2, 3, 0); break;
+ case 0x03: x = bitswap<8>(x ^ 0x80, 3, 6, 1, 4, 7, 2, 5, 0); break;
+ case 0x80: x = bitswap<8>(x ^ 0x02, 5, 6, 3, 4, 1, 2, 7, 0); break;
+ case 0x81: x = bitswap<8>(x ^ 0x22, 3, 6, 1, 4, 7, 2, 5, 0); break;
+ case 0x82: x = bitswap<8>(x ^ 0x88, 5, 6, 3, 4, 1, 2, 7, 0); break;
+ case 0x83: x = bitswap<8>(x ^ 0x22, 1, 6, 7, 4, 5, 2, 3, 0); break;
+ }
+ rom[i] = x;
+ }
+}
+
void cb3_state::init_chrygld()
{
uint8_t *rom = memregion("maincpu")->base();
@@ -18151,6 +18214,7 @@ GAMEL( 1991, cmasterf, cmaster, cm, cmasterb, cmaster_state, init_cmv4,
GAMEL( 1991, cmasterg, cmaster, cm, cmasterg, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 8, V4-B-)", 0, layout_cmasterb )
GAMEL( 1991, cmasterh, cmaster, cm, cmasterb, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.10)", 0, layout_cmasterb )
GAMEL( 199?, super7, cmaster, cm, cmaster, cmaster_state, init_super7, ROT0, "bootleg", "Super Seven", MACHINE_NOT_WORKING, layout_cmasterb )
+GAME ( 199?, wcat3a, wcat3, chryangl, cmaster, cmaster_state, init_wcat3a, ROT0, "E.A.I.", "Wild Cat 3 (CMV4 hardware)", MACHINE_NOT_WORKING ) // does not boot. Wrong decryption, wrong machine or wrong what?
GAMEL( 1991, tonypok, 0, cm, tonypok, cmaster_state, init_tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 , layout_tonypok )
GAME( 1999, jkrmast, 0, pkrmast, pkrmast, goldstar_state, init_jkrmast, ROT0, "Pick-A-Party USA", "Joker Master (V515)", MACHINE_NOT_WORKING ) // encryption broken, needs GFX and controls
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 1dba9e1ccd4..cb7e163f923 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -184,6 +184,7 @@ public:
void init_tcl();
void init_super7();
void init_chthree();
+ void init_wcat3a();
uint32_t screen_update_amcoe1a(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 66c622a23d9..f90869a617e 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -15026,6 +15026,7 @@ unkch2 // bootleg
unkch3 // bootleg
unkch4 // bootleg
wcat3 //
+wcat3a //
wcherry // bootleg
@source:gomoku.cpp