summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/funworld.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/funworld.c')
-rw-r--r--src/mame/drivers/funworld.c110
1 files changed, 107 insertions, 3 deletions
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index 2639bde32c7..e2900e83838 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -20,7 +20,8 @@
* Jolly Card (Croatian, set 1), TAB Austria, 1985.
* Jolly Card (Croatian, set 2), Soft Design, 1993.
* Jolly Card (Italian, blue TAB board, encrypted), bootleg, 199?.
- * Jolly Card (Italian, encrypted bootleg), bootleg, 1990.
+ * Jolly Card (Italian, encrypted bootleg, set 1), bootleg, 1990.
+ * Jolly Card (Italian, encrypted bootleg, set 2), bootleg, 1993.
* Super Joly 2000 - 3x, M.P. 1985.
* Jolly Card (Austrian, Fun World, bootleg), Inter Games, 1986.
* Jolly Card (Spanish, blue TAB board, encrypted), TAB Austria, 1992.
@@ -812,6 +813,13 @@
- Added a default NVRAM.
- Promoted to working state.
+ [2013/01/15]
+ - Added a Jolly Card (Italian) set from an encrypted blue TAB
+ bootleg board. This one allows to play in both 'remote' and
+ 'normal' mode. The game could pay through regular hopper, or
+ through manual switch/button, discharging the credits one
+ by one.
+
*** TO DO ***
@@ -1265,7 +1273,7 @@ static INPUT_PORTS_START( jolycdib )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */
+ PORT_DIPSETTING( 0x00, "With Joker" ) /* also enables Five of a Kind */
PORT_DIPSETTING( 0x20, "Without Joker" )
PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
@@ -1278,6 +1286,64 @@ static INPUT_PORTS_START( jolycdib )
PORT_DIPSETTING( 0x80, "Manual Payout SW" )
INPUT_PORTS_END
+static INPUT_PORTS_START( jolycdic )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop (Hold) 1")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Autohold / Accredito (Take)")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Doppio (Double)")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop (Hold) 5 / Bet / Half Gamble")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop (Hold) 4 / Alta (High)")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop (Hold) 2 / Bassa (Low)")
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop (Hold) 3")
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Manual Payout SW") PORT_CODE(KEYCODE_A)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
+
+ PORT_START("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW") // place '10000000' for NVRAM creation.
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7")
+ PORT_DIPSETTING( 0x00, "10 Points/Pulse" )
+ PORT_DIPSETTING( 0x02, "100 Points/Pulse" )
+ PORT_DIPNAME( 0x04, 0x04, "Coinage B" ) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPSETTING( 0x04, "10 Credits" )
+ PORT_DIPSETTING( 0x00, "5 Credits" )
+ PORT_DIPNAME( 0x08, 0x08, "Coinage A" ) PORT_DIPLOCATION("SW1:5")
+ PORT_DIPSETTING( 0x08, "20 Credits" )
+ PORT_DIPSETTING( 0x00, "1 Credit" )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x00, "With Joker" ) /* also enables Five of a Kind */
+ PORT_DIPSETTING( 0x20, "Without Joker" )
+ PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* when is ON, allow the player to activate/deactivate the autohold through CANCEL button */
+ PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x00, "Hopper" )
+ PORT_DIPSETTING( 0x80, "Manual Payout SW" )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( jolyc980 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Navijanje (Remote)")
@@ -2945,6 +3011,43 @@ ROM_START( jolycdib ) /* bootleg PCB, encrypted graphics */
ROM_END
+/*
+ Jolly Card (italian encrypted bootleg, set 2)
+ ---------------------------------------------
+
+ This program works in both 'normal' and 'remote' modes,
+ allowing to pay through hopper, or just through manual
+ switch/button.
+
+ To initialize the NVRAM, DIP switches should be placed
+ at factory default: (On On On On On On On Off), then
+ keep pressed both service buttons (key 9 & 0), reset
+ using F3 key, and then finally releasing the service
+ buttons.
+*/
+
+ROM_START( jolycdic ) /* another bootleg PCB, encrypted graphics */
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "3ss.bin", 0x8000, 0x8000, CRC(3d7cde61) SHA1(6154878491f4d2f1ea035d18cdf43154c550d509) )
+ ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */
+
+ ROM_REGION( 0x10000, "gfx1", 0 )
+ ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(32c24495) SHA1(0d78c4d2743401b5ec9919d09814064eeac8023f) )
+ ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */
+ ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(91093176) SHA1(b889c617f94161933c35c324c7d84fec182953d8) )
+ ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */
+
+ ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */
+ ROM_LOAD( "jolycdic_nvram.bin", 0x0000, 0x0800, CRC(47a5890b) SHA1(6a6531fe5e8f6c1b5a9aac314b2cce6a0129f6da) )
+
+ ROM_REGION( 0x0200, "proms", 0 )
+ ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) )
+
+ ROM_REGION( 0x0200, "plds", 0 )
+ ROM_LOAD( "gal16v8b.bin", 0x0000, 0x0117, NO_DUMP )
+ROM_END
+
+
ROM_START( sjcd2kx3 ) /* Super Joly 2000 3x */
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "sj3.bin", 0x8000, 0x8000, CRC(c530b518) SHA1(36934d8e1e2cb2f71eb44a05b86ec970c9f398cd) )
@@ -5227,7 +5330,8 @@ GAMEL( 1998, jolycdev, jollycrd, fw1stpal, funworld, driver_device, 0,
GAMEL( 1985, jolyccra, jollycrd, cuoreuno, jolycdcr, driver_device, 0, ROT0, "TAB Austria", "Jolly Card (Croatian, set 1)", 0, layout_jollycrd )
GAMEL( 1993, jolyccrb, jollycrd, cuoreuno, jolycdcr, driver_device, 0, ROT0, "Soft Design", "Jolly Card (Croatian, set 2)", 0, layout_jollycrd )
GAMEL( 199?, jolycdit, jollycrd, cuoreuno, jolycdit, funworld_state, tabblue, ROT0, "bootleg", "Jolly Card (Italian, blue TAB board, encrypted)", 0, layout_royalcrd )
-GAMEL( 1990, jolycdib, jollycrd, cuoreuno, jolycdib, funworld_state, tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg)", 0, layout_jollycrd ) // not a real TAB blue PCB
+GAMEL( 1990, jolycdib, jollycrd, cuoreuno, jolycdib, funworld_state, tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg, set 1)", 0, layout_jollycrd ) // not a real TAB blue PCB
+GAMEL( 1993, jolycdic, jollycrd, cuoreuno, jolycdic, funworld_state, tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg, set 2)", 0, layout_jollycrd ) // not a real TAB blue PCB
GAMEL( 1985, sjcd2kx3, jollycrd, fw1stpal, funworld, driver_device, 0, ROT0, "M.P.", "Super Joly 2000 - 3x", 0, layout_jollycrd )
GAME( 1986, jolycdab, jollycrd, fw1stpal, funworld, driver_device, 0, ROT0, "Inter Games", "Jolly Card (Austrian, Fun World, bootleg)", GAME_NOT_WORKING )
GAMEL( 1992, jolycdsp, jollycrd, cuoreuno, jolycdit, funworld_state, ctunk, ROT0, "TAB Austria", "Jolly Card (Spanish, blue TAB board, encrypted)", 0, layout_royalcrd )