summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author RobertoFresca <robertofresca@recreativas.org>2022-02-19 05:59:09 +0100
committer RobertoFresca <robertofresca@recreativas.org>2022-02-19 05:59:09 +0100
commit29dadd80b256763b4efc855f4751a670fb06318a (patch)
tree4cd0c670cdccc6114597226ce7865d1f3574d68a /src
parent1bbf1261ea8e4b73b87161643f9298c616c7f466 (diff)
New machine driver for Golden Poker prequel HW.
Fixed the Boa Sorte interrupts, GFX banks, and ordered the bitplanes. Promoted to working the prequel HW games and both of Mega Double Poker sets. [Grull Osgo, Roberto Fresca]. Machines promoted to working ---------------------------- Bonne Chance! (Golden Poker prequel HW, set 1) [Grull Osgo, Roberto Fresca]. Bonne Chance! (Golden Poker prequel HW, set 2) [Grull Osgo, Roberto Fresca]. Boa Sorte! (Golden Poker prequel HW) [Grull Osgo, Roberto Fresca].
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/goldnpkr.cpp159
1 files changed, 141 insertions, 18 deletions
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index 20b383acc18..4cea5de5148 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -142,6 +142,7 @@
* "Unknown Sisteme France Poker", 198?, Sisteme France.
* Bonne Chance! (Golden Poker prequel HW, set 1), 198?, Unknown.
* Bonne Chance! (Golden Poker prequel HW, set 2), 198?, Unknown.
+ * Boa Sorte! (Golden Poker prequel HW), 198?, Unknown.
* Mundial/Mondial (Italian/French), 1987, Unknown.
* Super 98 (3-hands, ICP-1), 199?, Unknown.
* unknown rocket/animal-themed poker, 199?, Unknown.
@@ -1030,6 +1031,7 @@ public:
void super21p(machine_config &config);
void caspoker(machine_config &config);
void icp_ext(machine_config &config);
+ void gldnirq0(machine_config &config);
void init_vkdlswwh();
void init_icp1db();
@@ -4104,6 +4106,102 @@ static INPUT_PORTS_START( super21p )
PORT_DIPSETTING( 0x00, "60%" )
INPUT_PORTS_END
+/*
+static INPUT_PORTS_START( boasorte )
+ // Multiplexed - 4x5bits
+ PORT_START("IN0-0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 01") PORT_CODE(KEYCODE_1)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 02") PORT_CODE(KEYCODE_2)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 04") PORT_CODE(KEYCODE_3)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 08") PORT_CODE(KEYCODE_4)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 10") PORT_CODE(KEYCODE_5)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 20") PORT_CODE(KEYCODE_6)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 40") PORT_CODE(KEYCODE_7)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-0 80") PORT_CODE(KEYCODE_8)
+
+ PORT_START("IN0-1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 01") PORT_CODE(KEYCODE_Q)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 02") PORT_CODE(KEYCODE_W)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 04") PORT_CODE(KEYCODE_E)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 08") PORT_CODE(KEYCODE_R)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 10") PORT_CODE(KEYCODE_T)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 20") PORT_CODE(KEYCODE_Y)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 40") PORT_CODE(KEYCODE_U)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-1 80") PORT_CODE(KEYCODE_I)
+
+ PORT_START("IN0-2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 01") PORT_CODE(KEYCODE_A)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 02") PORT_CODE(KEYCODE_S)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 04") PORT_CODE(KEYCODE_D)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 08") PORT_CODE(KEYCODE_F)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 10") PORT_CODE(KEYCODE_G)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 20") PORT_CODE(KEYCODE_H)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 40") PORT_CODE(KEYCODE_J)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2 80") PORT_CODE(KEYCODE_K)
+
+ PORT_START("IN0-3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 01") PORT_CODE(KEYCODE_Z)
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 02") PORT_CODE(KEYCODE_X)
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 04") PORT_CODE(KEYCODE_C)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 08") PORT_CODE(KEYCODE_V)
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 10") PORT_CODE(KEYCODE_B)
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 20") PORT_CODE(KEYCODE_N)
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 40") PORT_CODE(KEYCODE_M)
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-3 80") PORT_CODE(KEYCODE_L)
+
+ PORT_START("SW1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("SW2")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+INPUT_PORTS_END
+*/
/*********************************************
* Graphics Layouts *
@@ -4628,6 +4726,21 @@ void goldnpkr_state::caspoker(machine_config &config)
}
+void goldnpkr_state::gldnirq0(machine_config &config)
+{
+ goldnpkr_base(config);
+
+ mc6845_device &crtc(MC6845(config.replace(), "crtc", CPU_CLOCK)); // 68B45 or 6845s @ CPU clock
+ crtc.set_screen("screen");
+ crtc.set_show_border_area(false);
+ crtc.set_char_width(8);
+ crtc.out_vsync_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
+
+ // sound hardware
+ SPEAKER(config, "mono").front_center();
+ DISCRETE(config, m_discrete, goldnpkr_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
+}
+
/*********************************************
* Blitz System *
@@ -11109,17 +11222,19 @@ ROM_START( boasorte )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "ic32", 0x4000, 0x4000, CRC(ef0f1e65) SHA1(6a11722ca8089bb57d4e5648266c0f7de9a46303) )
- ROM_REGION( 0x6000, "gfx1", 0 )
- ROM_FILL( 0x0000, 0x4000, 0x0000 ) // filling the R-G bitplanes
- ROM_LOAD( "ic34", 0x4000, 0x2000, CRC(6f23f224) SHA1(243617b9e1050b404020ea581c3e2acf8e5cca81) ) // chars ROM, different cardback logo
- ROM_IGNORE( 0x2000) // 11xxxxxxxxxxxx = 0xFF
+ ROM_REGION( 0x14000, "gfx", 0 )
+ ROM_LOAD( "ic34", 0x0000, 0x4000, CRC(6f23f224) SHA1(243617b9e1050b404020ea581c3e2acf8e5cca81) ) // chars ROM, different cardback logo
+ ROM_LOAD( "ic15", 0x4000, 0x8000, CRC(9b5a50ca) SHA1(07ab334421dfc119939314b7026a60132b02a054) ) // cards deck gfx, bitplane1
+ ROM_LOAD( "ic24", 0xC000, 0x8000, CRC(805f1a73) SHA1(a2f275de377db5dd3b493d10572ac13d5a48c50f) ) // cards deck gfx, bitplane2
- ROM_REGION( 0x6000, "gfx2", 0 )
- ROM_LOAD( "ic15", 0x0000, 0x2000, CRC(9b5a50ca) SHA1(07ab334421dfc119939314b7026a60132b02a054) ) // cards deck gfx, bitplane1
- ROM_IGNORE(0x6000) // BADADDR x---xxxxxxxxxxx
- ROM_LOAD( "ic24", 0x2000, 0x2000, CRC(805f1a73) SHA1(a2f275de377db5dd3b493d10572ac13d5a48c50f) ) // cards deck gfx, bitplane2
- ROM_IGNORE( 0x6000) // BADADDR x---xxxxxxxxxxx
- ROM_COPY( "gfx1", 0x4800, 0x4000, 0x0800 ) // cards deck gfx, bitplane3. found in the 2nd quarter of the char rom
+ ROM_REGION( 0x1800, "gfx1", 0 )
+ ROM_FILL( 0x0000, 0x1000, 0x0000 ) // filling the R-G bitplanes
+ ROM_COPY( "gfx", 0x0000, 0x1000, 0X0800 )
+
+ ROM_REGION( 0x1800, "gfx2", 0 )
+ ROM_COPY( "gfx", 0x8000, 0x0000, 0X0800 )
+ ROM_COPY( "gfx", 0xC000, 0x0800, 0X0800 )
+ ROM_COPY( "gfx", 0x0800, 0x1000, 0X0800 )
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "82s129.bin", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) )
@@ -11926,7 +12041,6 @@ GAMEL( 198?, ngolda, pottnpkr, pottnpkr, ngold, goldnpkr_state, empty_init
GAMEL( 198?, ngoldb, pottnpkr, pottnpkr, ngoldb, goldnpkr_state, empty_init, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 3)", 0, layout_goldnpkr )
GAMEL( 198?, adpoker, 0, pottnpkr, pottnpkr, goldnpkr_state, empty_init, ROT0, "Amstar?", "Amstar Draw Poker", 0, layout_goldnpkr )
-
GAMEL( 1990, bsuerte, 0, witchcrd, bsuerte, goldnpkr_state, empty_init, ROT0, "<unknown>", "Buena Suerte (Spanish, set 1)", 0, layout_goldnpkr )
GAMEL( 1991, bsuertea, bsuerte, witchcrd, bsuerte, goldnpkr_state, empty_init, ROT0, "<unknown>", "Buena Suerte (Spanish, set 2)", 0, layout_goldnpkr )
GAMEL( 1991, bsuerteb, bsuerte, witchcrd, bsuerte, goldnpkr_state, empty_init, ROT0, "<unknown>", "Buena Suerte (Spanish, set 3)", 0, layout_goldnpkr )
@@ -12023,9 +12137,10 @@ GAMEL( 1995, wtchjackh, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, empty_init
GAMEL( 1995, wtchjacki, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, empty_init, ROT0, "Video Klein", "Witch Jack (Export, 6T/12T ver 0.40)", MACHINE_IMPERFECT_GRAPHICS, layout_goldnpkr ) // Ver 0.40 / 1995-02-27
GAMEL( 1994, wtchjackj, wtchjack, wcrdxtnd, wtchjack, goldnpkr_state, empty_init, ROT0, "Video Klein", "Witch Jackpot (Export, 6T/12T ver 0.25)", MACHINE_IMPERFECT_GRAPHICS, layout_goldnpkr ) // Ver 0.25 / 1994-11-24
+
/*************************************** OTHER SETS ***************************************/
-/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
+// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT
GAMEL( 1981, pmpoker, 0, goldnpkr, pmpoker, goldnpkr_state, empty_init, ROT0, "PM / Beck Elektronik", "PlayMan Poker (German)", 0, layout_pmpoker )
GAMEL( 1988, caspoker, 0, caspoker, caspoker, goldnpkr_state, empty_init, ROT0, "PM / Beck Elektronik", "Casino Poker (Ver PM88-01-21, German)", 0, layout_pmpoker )
GAMEL( 1987, caspokera, caspoker, goldnpkr, caspoker, goldnpkr_state, empty_init, ROT0, "PM / Beck Elektronik", "Casino Poker (Ver PM86LO-35-5, German)", 0, layout_pmpoker )
@@ -12050,14 +12165,22 @@ GAMEL( 198?, superdbl, pottnpkr, goldnpkr, goldnpkr, goldnpkr_state, empty_init
GAME( 198?, pokerdub, 0, pottnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "<unknown>", "unknown French poker game", MACHINE_NOT_WORKING ) // lacks of 2nd program ROM.
GAME( 198?, pokersis, 0, bchancep, goldnpkr, goldnpkr_state, empty_init, ROT0, "Sisteme France", "unknown Sisteme France Poker", MACHINE_NOT_WORKING ) // fix banking (4 prgs?)...
-GAMEL( 198?, bchancep, 0, bchancep, goldnpkr, goldnpkr_state, init_bchancep, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel HW, set 1)", MACHINE_NOT_WORKING, layout_goldnpkr )
-GAMEL( 198?, bchanceq, 0, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel HW, set 2)", MACHINE_NOT_WORKING, layout_goldnpkr )
-GAMEL( 198?, boasorte, bchanceq, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "<unknown>", "Boa Sorte! (Golden Poker prequel HW)", MACHINE_NOT_WORKING, layout_goldnpkr )
-
GAME( 1987, pokermon, 0, mondial, mondial, goldnpkr_state, empty_init, ROT0, "<unknown>", "Mundial/Mondial (Italian/French)", 0 ) // banked selectable program.
GAME( 1998, super98, bsuerte, witchcrd, super98, goldnpkr_state, init_super98, ROT0, "<unknown>", "Super 98 (3-hands, ICP-1)", 0 ) // complex protection. see notes.
GAME( 198?, animpkr, 0, icp_ext, animpkr, goldnpkr_state, empty_init, ROT0, "<unknown>", "unknown rocket/animal-themed poker", MACHINE_IMPERFECT_COLORS ) // banked program. how to switch gfx?
-GAME( 1990, megadpkr, 0, megadpkr, megadpkr, blitz_state, empty_init, ROT0, "Blitz System", "Mega Double Poker (conversion kit, version 2.3 MD)", MACHINE_NOT_WORKING )
-GAME( 1990, megadpkrb, megadpkr, megadpkr, megadpkr, blitz_state, empty_init, ROT0, "Blitz System", "Mega Double Poker (conversion kit, version 2.1 MD)", MACHINE_NOT_WORKING ) // may need an extra reset to work the first time
+
+/*************************************** SETS W/IRQ0 ***************************************/
+
+// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT
+GAMEL( 198?, bchancep, 0, gldnirq0, goldnpkr, goldnpkr_state, init_bchancep, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel HW, set 1)", 0, layout_goldnpkr )
+GAMEL( 198?, bchanceq, 0, gldnirq0, goldnpkr, goldnpkr_state, empty_init, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel HW, set 2)", 0, layout_goldnpkr )
+GAMEL( 198?, boasorte, bchanceq, gldnirq0, goldnpkr, goldnpkr_state, empty_init, ROT0, "<unknown>", "Boa Sorte! (Golden Poker prequel HW)", 0, layout_goldnpkr )
+
+
+/*************************************** SETS W/MCU ***************************************/
+
+// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
+GAME( 1990, megadpkr, 0, megadpkr, megadpkr, blitz_state, empty_init, ROT0, "Blitz System", "Mega Double Poker (conversion kit, version 2.3 MD)", 0 )
+GAME( 1990, megadpkrb, megadpkr, megadpkr, megadpkr, blitz_state, empty_init, ROT0, "Blitz System", "Mega Double Poker (conversion kit, version 2.1 MD)", 0 )