summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2020-01-20 14:22:10 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2020-01-20 14:22:10 +0100
commit578d77352c12e28e791d7accef8a19ad27d94d85 (patch)
tree5f47cb29909c935fea17691612f6d9e934072b60
parentaeaa3ba8585bd940e0a8c622c92d4ecc059265f0 (diff)
New working clones
------------------ New Fruit Bonus '96 (v3.1, A PCB) [Ioannis Bampoulas] New Cherry '96 (v3.1C, G PCB) [Ioannis Bampoulas]
-rw-r--r--src/mame/drivers/goldstar.cpp113
-rw-r--r--src/mame/includes/goldstar.h6
-rw-r--r--src/mame/mame.lst2
3 files changed, 119 insertions, 2 deletions
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index 8ac0a6d7599..56ace00d8b2 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -14052,6 +14052,46 @@ ROM_START( nfb96c )
// none?
ROM_END
+ROM_START( nfb96d )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD( "27c512 v3.1 ca.bin", 0x00000, 0x1000, CRC(f823e51d) SHA1(2a258c0746d86e5933b22230e21c97b0ddee7cc2) ) // v3.1, A Sub-PCB
+ ROM_CONTINUE(0x4000, 0x1000)
+ ROM_CONTINUE(0x3000, 0x1000)
+ ROM_CONTINUE(0x7000, 0x1000)
+ ROM_CONTINUE(0x1000, 0x1000)
+ ROM_CONTINUE(0x6000, 0x1000)
+ ROM_CONTINUE(0x2000, 0x1000)
+ ROM_CONTINUE(0x5000, 0x1000)
+ ROM_CONTINUE(0x8000, 0x8000)
+
+ ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF )
+ // no girls
+
+ ROM_REGION( 0x20000, "graphics", 0 )
+ ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(fee708a7) SHA1(40ca3a236954d5549f9ad768541487752402fb5e) )
+ ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(b00e1a8c) SHA1(d191e7721059045a90129a8e14817c44f48fb5e6) )
+
+ ROM_REGION( 0x18000, "gfx1", 0 )
+ ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1
+ ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1
+ ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1
+ ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2
+ ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2
+ ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2
+
+ ROM_REGION( 0x8000, "gfx2", 0 )
+ ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 )
+ ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 )
+ ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 )
+ ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 )
+
+ ROM_REGION( 0x200, "proms", 0 ) // palette
+ ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) )
+ ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) )
+
+ ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again?
+ ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) )
+ROM_END
ROM_START( nfb96txt )
ROM_REGION( 0x20000, "maincpu", 0 )
@@ -14421,6 +14461,43 @@ ROM_START( nc96g )
ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) )
ROM_END
+ROM_START( nc96h )
+ ROM_REGION( 0x20000, "maincpu", 0 )
+ ROM_LOAD( "version 97-3.1c.bin", 0x00000, 0x1000, CRC(2aeb5747) SHA1(331a43195d01f18f9637c2ce1ca6cede6d3c51fd) ) // v3.1C, G Sub-PCB
+ ROM_CONTINUE(0x4000, 0x1000)
+ ROM_CONTINUE(0x3000, 0x1000)
+ ROM_CONTINUE(0x7000, 0x1000)
+ ROM_CONTINUE(0x1000, 0x1000)
+ ROM_CONTINUE(0x6000, 0x1000)
+ ROM_CONTINUE(0x2000, 0x1000)
+ ROM_CONTINUE(0x5000, 0x1000)
+ ROM_CONTINUE(0x8000, 0x8000)
+
+ ROM_REGION( 0x20000, "graphics", 0 )
+ ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(a3901324) SHA1(2bdfe3fb05202af32d0d845a499d44a79e963d89) )
+ ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(482931a3) SHA1(0307a7f7428974f3b9563ab4b56528a31c355cdd) )
+
+ ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF )
+
+ ROM_REGION( 0x18000, "gfx1", 0 )
+ ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1
+ ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1
+ ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1
+ ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2
+ ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2
+ ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2
+
+ ROM_REGION( 0x8000, "gfx2", 0 )
+ ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 )
+ ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 )
+ ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 )
+ ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 )
+
+ ROM_REGION( 0x200, "proms", 0 ) // palette, not dumped for this set
+ ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) )
+ ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) )
+ROM_END
+
ROM_START( nc96txt )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "tc132axt.bin", 0x00000, 0x1000, CRC(a77dc042) SHA1(1076a6687da1871b666bd214a755b68f5e1aeb8c) ) // Special Texas v1.32, C2 Sub-PCB
@@ -17609,6 +17686,22 @@ void cmaster_state::init_skill98()
/* Oki 6295 at 0x20 */
}
+void cmaster_state::init_nfb96_a()
+{
+ uint8_t *rom = memregion("maincpu")->base();
+ for (int i = 0; i < 0x10000; i++)
+ {
+ uint8_t x = rom[i];
+
+ switch (i & 0x02)
+ {
+ case 0x00: x = bitswap<8>(x ^ 0x06, 5, 4, 3, 2, 1, 0, 7, 6); break;
+ case 0x02: x = bitswap<8>(x ^ 0x09, 3, 2, 1, 0, 7, 6, 5, 4); break;
+ }
+ rom[i] = x;
+ }
+}
+
void cmaster_state::init_nfb96_b()
{
uint8_t *rom = memregion("maincpu")->base();
@@ -17713,6 +17806,24 @@ void cmaster_state::init_nfb96_dk()
}
+void cmaster_state::init_nfb96_g()
+{
+ uint8_t *rom = memregion("maincpu")->base();
+ for (int i = 0; i < 0x10000; i++)
+ {
+ uint8_t x = rom[i];
+
+ switch (i & 0x0a)
+ {
+ case 0x00: x = bitswap<8>(x ^ 0x5c, 1, 0, 7, 6, 5, 4, 3, 2); break;
+ case 0x02: x = bitswap<8>(x ^ 0xaf, 5, 4, 3, 2, 1, 0, 7, 6); break;
+ case 0x08: x = bitswap<8>(x ^ 0x39, 2, 1, 0, 7, 6, 5, 4, 3); break;
+ case 0x0a: x = bitswap<8>(x ^ 0xd7, 6, 5, 4, 3, 2, 1, 0, 7); break;
+ }
+ rom[i] = x;
+ }
+}
+
void cmaster_state::init_rp35()
{
uint8_t *rom = memregion("maincpu")->base();
@@ -18310,6 +18421,7 @@ GAMEL( 1996, nfb96, 0, amcoe2, nfb96, cmaster_state, init_nfb9
GAMEL( 1996, nfb96a, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, C1 PCB)", 0, layout_nfb96 ) /* ver. 00-3.62 C1 Sub-PCB */
GAMEL( 1996, nfb96b, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.54, D PCB)", 0, layout_nfb96 ) /* ver. 00-3.54 D Sub-PCB */
GAMEL( 1996, nfb96c, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, DK PCB)", 0, layout_nfb96 ) /* ver. 00-3.62 DK Sub-PCB */
+GAMEL( 1996, nfb96d, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_a, ROT0, "Amcoe", "New Fruit Bonus '96 (v3.1, A PCB)", 0, layout_nfb96 ) /* ver. 00-3.1 A Sub-PCB */
GAMEL( 2000, nfb96txt, nfb96, amcoe2, nfb96tx, cmaster_state, init_nfb96_c2, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v1.22 Texas XT, C2 PCB)", 0, layout_nfb96 ) /* ver. tf1.22axt C2 Sub-PCB */
GAMEL( 1996, nc96, 0, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.63, C1 PCB)", 0, layout_nfb96 ) /* C1 Sub-PCB */
@@ -18320,6 +18432,7 @@ GAMEL( 1996, nc96d, nc96, amcoe2, nfb96, cmaster_state, init_nfb9
GAMEL( 1996, nc96e, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.40, D PCB)", 0, layout_nfb96 ) /* D Sub-PCB */
GAMEL( 1996, nc96f, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, DK PCB)", 0, layout_nfb96 ) /* DK Sub-PCB */
GAMEL( 1996, nc96g, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_b, ROT0, "Amcoe", "New Cherry '96 (v3.1, B PCB)", 0, layout_nfb96 ) /* B Sub-PCB */
+GAMEL( 1996, nc96h, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_g, ROT0, "Amcoe", "New Cherry '96 (v3.1C, G PCB)", 0, layout_nfb96 ) /* G Sub-PCB */
GAMEL( 2000, nc96txt, nc96, amcoe2, nfb96tx, cmaster_state, init_nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0, layout_nfb96tx ) /* ver. tc1.32axt C2 Sub-PCB */
GAME( 2009, fb2010, 0, amcoe2, fb2010, cmaster_state, init_fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", 0 )
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index cb7e163f923..783ff524d13 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -170,11 +170,13 @@ public:
void init_skill98();
void init_po33();
void init_match133();
+ void init_nfb96_a();
void init_nfb96_b();
- void init_nfb96_dk();
+ void init_nfb96_c1();
void init_nfb96_c2();
void init_nfb96_d();
- void init_nfb96_c1();
+ void init_nfb96_dk();
+ void init_nfb96_g();
void init_nfb96sea();
void init_fb2010();
void init_rp35();
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 49205018320..7a132add25b 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -14988,12 +14988,14 @@ nc96d // (c) 1996 Amcoe
nc96e // (c) 1996 Amcoe
nc96f // (c) 1996 Amcoe
nc96g // (c) 1996 Amcoe
+nc96h // (c) 1996 Amcoe
nc96txt // (c) 2000 Amcoe
ncb3 // (c) 199? Dyna Electronics
nfb96 // (c) 1996 Amcoe
nfb96a // (c) 1996 Amcoe
nfb96b // (c) 1996 Amcoe
nfb96c // (c) 1996 Amcoe
+nfb96d // (c) 1996 Amcoe
nfb96se // bootleg
nfb96sea // bootleg
nfb96seb // bootleg