Skip to content

Commit 2223127

Browse files
committed
New clones marked not working
----------------------------- King Fruit (VZ 1.04) [Cristiano MDQ]
1 parent 8283606 commit 2223127

File tree

2 files changed

+94
-4
lines changed

2 files changed

+94
-4
lines changed

src/mame/mame.lst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31629,6 +31629,7 @@ frtgenieb
3162931629
frtgeniec
3163031630
frtgenied
3163131631
jungleyo
31632+
kingfrt
3163231633
magjack
3163331634
magjacka
3163431635
magjackb

src/mame/misc/jungleyo.cpp

Lines changed: 93 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
frtgenieb: bp 581e,1,{curpc=0x58fe;g}
3838
frtgeniec: bp 5812,1,{curpc=0x58f0;g}
3939
frtgenied: bp 80de,1,{curpc=0x81bc;g}
40+
kingfrt: bp 80d6,1,{curpc=0x81b4;g}
4041
- second half of frtgenie's main CPU ROM seems to contain an earlier version
4142
of the data 'GENIE FRUITS DATA: 2001/08/15 VERSION: VA1.00'. Can it be
4243
reached or just a leftover?
@@ -121,11 +122,12 @@ class jungleyo_state : public driver_device
121122
, m_paletteram(*this, "paletteram", 0x18000, ENDIANNESS_BIG)
122123
{ }
123124

124-
void jungleyo(machine_config &config);
125+
void jungleyo(machine_config &config) ATTR_COLD;
125126

126-
void init_frtgenie();
127-
void init_jungleyo();
128-
template <uint16_t Reset_addr> void init_magjack();
127+
void init_frtgenie() ATTR_COLD;
128+
void init_jungleyo() ATTR_COLD;
129+
void init_kingfrt() ATTR_COLD;
130+
template <uint16_t Reset_addr> void init_magjack() ATTR_COLD;
129131

130132
protected:
131133
virtual void video_start() override ATTR_COLD;
@@ -706,6 +708,45 @@ static INPUT_PORTS_START( frtgenied )
706708
PORT_DIPSETTING( 0x0000, "500" )
707709
INPUT_PORTS_END
708710

711+
static INPUT_PORTS_START( kingfrt )
712+
PORT_INCLUDE( frtgenied )
713+
714+
PORT_MODIFY("IN0")
715+
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet / Change")
716+
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME( "Start / All Stop / Take" )
717+
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Take / Hold")
718+
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Win Up / Stop2 / Odds")
719+
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Big / Stop1")
720+
721+
PORT_MODIFY("DSW12")
722+
PORT_DIPNAME( 0x0007, 0x0007, "Main Game Rate" ) PORT_DIPLOCATION("DSW1:1,2,3")
723+
PORT_DIPSETTING( 0x0000, "78%" )
724+
PORT_DIPSETTING( 0x0004, "80%" )
725+
PORT_DIPSETTING( 0x0002, "82%" )
726+
PORT_DIPSETTING( 0x0006, "84%" )
727+
PORT_DIPSETTING( 0x0001, "86%" )
728+
PORT_DIPSETTING( 0x0005, "88%" )
729+
PORT_DIPSETTING( 0x0003, "90%" )
730+
PORT_DIPSETTING( 0x0007, "92%" )
731+
PORT_DIPNAME( 0x00c0, 0x00c0, "Max. Bet" ) PORT_DIPLOCATION("DSW1:7,8")
732+
PORT_DIPSETTING( 0x00c0, "80" )
733+
PORT_DIPSETTING( 0x0080, "120" )
734+
PORT_DIPSETTING( 0x0040, "240" )
735+
PORT_DIPSETTING( 0x0000, "300" )
736+
737+
PORT_MODIFY("DSW34")
738+
PORT_DIPNAME( 0x0300, 0x0300, "Double Up Rate" ) PORT_DIPLOCATION("DSW4:1,2")
739+
PORT_DIPSETTING( 0x0000, "84%" )
740+
PORT_DIPSETTING( 0x0200, "86%" )
741+
PORT_DIPSETTING( 0x0100, "88%" )
742+
PORT_DIPSETTING( 0x0300, "90%" )
743+
PORT_DIPNAME( 0xc000, 0xc000, "Key Out" ) PORT_DIPLOCATION("DSW4:7,8")
744+
PORT_DIPSETTING( 0x0000, "1" )
745+
PORT_DIPSETTING( 0xc000, "10" )
746+
PORT_DIPSETTING( 0x4000, "50" )
747+
PORT_DIPSETTING( 0x8000, "100" )
748+
INPUT_PORTS_END
749+
709750
static INPUT_PORTS_START( magjack )
710751
PORT_INCLUDE( frtgenie )
711752

@@ -1020,6 +1061,29 @@ ROM_START( frtgenied ) // MADE IN TAIWAN YONSHI PCB NO-006E
10201061
ROM_LOAD( "atf20v8b.u37", 0x000, 0x157, NO_DUMP )
10211062
ROM_END
10221063

1064+
// probably a bootleg: copyright has been hacked out of the title screen / test mode. Still present in ROM, though.
1065+
// GFX and some strings change to Portuguese
1066+
ROM_START( kingfrt )
1067+
ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code, encrypted
1068+
ROM_LOAD16_BYTE( "king_fruit_rom3.u15", 0x00000, 0x20000, CRC(6e875869) SHA1(1f50ce610945ce350e9603fa6fa259e84896b1f9) )
1069+
ROM_LOAD16_BYTE( "king_fruit_rom2.u14", 0x00001, 0x20000, CRC(8a3bc7fb) SHA1(ebcfcf30a6825e392af5e0d92368ed5188752fbe) )
1070+
1071+
ROM_REGION( 0x40000, "oki", 0 )
1072+
ROM_LOAD( "king_fruit_rom_1.u99", 0x00000, 0x40000, CRC(28b0c8fb) SHA1(5cdf59dcbed7da9b882c7dcf27020c1c37dd22cc) )
1073+
1074+
ROM_REGION( 0x80000, "reelgfx", 0 )
1075+
ROM_LOAD( "king_fruit_rom_4.u58", 0x00000, 0x80000, CRC(b3b467b6) SHA1(f1a64af7a8fe22c7ef76617aba359df11e4af737) )
1076+
1077+
ROM_REGION( 0x80000, "gfx2", 0 )
1078+
ROM_LOAD( "king_fruit_rom_5.u59", 0x00000, 0x80000, CRC(8ce286cc) SHA1(cc4ee86c032e4d500dde15524029b5acdaad62fe) )
1079+
1080+
ROM_REGION( 0x80000, "gfx3", 0 )
1081+
ROM_LOAD( "king_fruit_rom_6.u60", 0x00000, 0x80000, CRC(f3ab172a) SHA1(e64b2d9391d574a77d48407d4bb915a21e0ef9f0) )
1082+
1083+
ROM_REGION( 0x157, "plds", ROMREGION_ERASE00 )
1084+
ROM_LOAD( "atf20v8b.u37", 0x000, 0x157, NO_DUMP )
1085+
ROM_END
1086+
10231087
ROM_START( magjack ) // MADE IN TAIWAN PCB NO-006A
10241088
ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code, encrypted
10251089
ROM_LOAD16_BYTE( "3.u15", 0x00000, 0x20000, CRC(7d0855d0) SHA1(489e54f529c648da2333a3a811ced20f0d578029) ) // 27C010
@@ -1198,6 +1262,30 @@ void jungleyo_state::init_frtgenie()
11981262
src[0x006 / 2] = 0x01f8; // reset opcode
11991263
}
12001264

1265+
void jungleyo_state::init_kingfrt()
1266+
{
1267+
u16 *src = (u16 *)memregion("maincpu")->base();
1268+
1269+
for (int i = 0x00000; i < 0x10000 / 2; i++)
1270+
src[i] = bitswap<16>(src[i] ^ 0x00ff, 15, 9, 12, 10, 14, 13, 8, 11, 7, 6, 1, 4, 3, 5, 0, 2);
1271+
1272+
for (int i = 0x10000 / 2; i < 0x20000 / 2; i++)
1273+
src[i] = bitswap<16>(src[i] ^ 0xff00, 11, 13, 14, 8, 12, 15, 9, 10, 6, 2, 1, 5, 4, 0, 7, 3);
1274+
1275+
for (int i = 0x20000 / 2; i < 0x30000 / 2; i++)
1276+
src[i] = bitswap<16>(src[i] ^ 0x00ff, 9, 15, 12, 10, 13, 14, 11, 8, 4, 0, 3, 7, 6, 2, 1, 5);
1277+
1278+
for (int i = 0x30000 / 2; i < 0x40000 / 2; i++)
1279+
src[i] = bitswap<16>(src[i] ^ 0xffff, 12, 8, 14, 11, 10, 9, 13, 15, 2, 5, 6, 3, 1, 7, 4, 0);
1280+
1281+
// TODO: Stack Pointer/Initial PC settings don't seem to decrypt correctly
1282+
// hack these until better understood (still wrong values)
1283+
src[0x000 / 2] = 0x0000;
1284+
src[0x002 / 2] = 0x0000;
1285+
src[0x004 / 2] = 0x0000;
1286+
src[0x006 / 2] = 0x01f8; // reset opcode
1287+
}
1288+
12011289
template <uint16_t Reset_addr>
12021290
void jungleyo_state::init_magjack()
12031291
{
@@ -1233,6 +1321,7 @@ GAME( 2003, frtgeniea, frtgenie, jungleyo, frtgeniea, jungleyo_state, init_frtge
12331321
GAME( 2003, frtgenieb, frtgenie, jungleyo, frtgenieb, jungleyo_state, init_frtgenie, ROT0, "Global", "Fruit Genie (Version 1-1-03, set 3)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
12341322
GAME( 2003, frtgeniec, frtgenie, jungleyo, frtgeniec, jungleyo_state, init_frtgenie, ROT0, "Global", "Fruit Genie (Version 1-1-03, set 4)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
12351323
GAME( 2002, frtgenied, frtgenie, jungleyo, frtgenied, jungleyo_state, init_jungleyo, ROT0, "Winnin World", "Fruit Genie (VT 2.11)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
1324+
GAME( 2004, kingfrt, frtgenie, jungleyo, kingfrt, jungleyo_state, init_kingfrt, ROT0, "bootleg?", "King Fruit (VZ 1.04)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
12361325

12371326
GAME( 2000, magjack, 0, jungleyo, magjack, jungleyo_state, init_magjack<0x260>, ROT0, "Global", "Magical Jack (VA 4.00)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 2000/09/28
12381327
GAME( 2000, magjacka, magjack, jungleyo, magjacka, jungleyo_state, init_magjack<0x268>, ROT0, "Global", "Magical Jack (VA 3.30)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // 2000/08/04

0 commit comments

Comments
 (0)