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].
This commit is contained in:
RobertoFresca 2022-02-19 05:59:09 +01:00
parent 1bbf1261ea
commit 29dadd80b2

View File

@ -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 )