From 578d77352c12e28e791d7accef8a19ad27d94d85 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 20 Jan 2020 14:22:10 +0100 Subject: New working clones ------------------ New Fruit Bonus '96 (v3.1, A PCB) [Ioannis Bampoulas] New Cherry '96 (v3.1C, G PCB) [Ioannis Bampoulas] --- src/mame/drivers/goldstar.cpp | 113 ++++++++++++++++++++++++++++++++++++++++++ src/mame/includes/goldstar.h | 6 ++- src/mame/mame.lst | 2 + 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 -- cgit v1.2.3