mirror of
https://github.com/holub/mame
synced 2025-05-28 16:43:04 +03:00
New games added or promoted from NOT_WORKING status
--------------------------------------------------- Mundial/Mondial (Italian/French) [Roberto Fresca, f205v]
This commit is contained in:
parent
b3eb3d87d5
commit
9ac0b37478
@ -119,6 +119,7 @@
|
||||
* "Unknown french poker game", 198?, Unknown.
|
||||
* "Unknown encrypted poker game", 198?, Unknown.
|
||||
* Bonne Chance! (Golden Poker prequel hardware), 198?, Unknown.
|
||||
* Mundial/Mondial (Italian/French), 1987, Unknown.
|
||||
|
||||
|
||||
************************************************************************************
|
||||
@ -429,6 +430,20 @@
|
||||
to get the final palette.
|
||||
|
||||
|
||||
* Mundial/Mondial (Italian/French)
|
||||
|
||||
This game has two different programs inside the program ROM in banks of 0x4000 each.
|
||||
The first program is meant for Italian language, while the second one is for French.
|
||||
|
||||
There is nothing (no writes) that point to a banking. Maybe is driven by PLDs, or
|
||||
just routed to the unused DIP switches of the bank (4 lines of the port are used by
|
||||
discrete sound). Otherwise should be splitted in different games.... Need to check
|
||||
the real board behaviour.
|
||||
|
||||
For now, I implemented the banking and set the first program (Italian) fixed into
|
||||
the driver init till we can get more evidence about.
|
||||
|
||||
|
||||
************************************************************************************
|
||||
|
||||
|
||||
@ -940,6 +955,11 @@
|
||||
- Inverted the bipolar PROM data to get the proper palette.
|
||||
- Added technical notes.
|
||||
|
||||
- Added Mundial/Mondial (Italian/French).
|
||||
- Implemented the program banking, but set the Italian lang
|
||||
as default till we can get some evidence.
|
||||
- Added technical notes.
|
||||
|
||||
|
||||
TODO:
|
||||
|
||||
@ -1015,6 +1035,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(vkdlswwr);
|
||||
DECLARE_DRIVER_INIT(vkdlswwv);
|
||||
DECLARE_DRIVER_INIT(bchancep);
|
||||
DECLARE_DRIVER_INIT(mondial);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
|
||||
virtual void video_start();
|
||||
@ -1541,6 +1562,19 @@ static ADDRESS_MAP_START( genie_map, AS_PROGRAM, 8, goldnpkr_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( mondial_map, AS_PROGRAM, 8, goldnpkr_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
|
||||
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
|
||||
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
|
||||
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_device, read, write)
|
||||
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_device, read, write)
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_SHARE("videoram")
|
||||
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_SHARE("colorram")
|
||||
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Input Ports *
|
||||
*********************************************/
|
||||
@ -3279,6 +3313,75 @@ static INPUT_PORTS_START( caspoker )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( mondial )
|
||||
/* Multiplexed - 4x5bits */
|
||||
PORT_START("IN0-0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_CANCEL )
|
||||
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("IN0-1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_IMPULSE(3) PORT_NAME("Out (Manual Collect)") PORT_CODE(KEYCODE_Q)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small")
|
||||
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("IN0-2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
|
||||
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("IN0-3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Settings") PORT_CODE(KEYCODE_F2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
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("SW1")
|
||||
/* only bits 4-7 are connected here and were routed to SW1 1-4 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SELDSW")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Game Selector" )
|
||||
PORT_DIPSETTING( 0x00, "Game 1 (Italian" )
|
||||
PORT_DIPSETTING( 0x01, "Game 2 (French)" )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Graphics Layouts *
|
||||
*********************************************/
|
||||
@ -3768,6 +3871,20 @@ static MACHINE_CONFIG_DERIVED( genie, goldnpkr_base )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( mondial, goldnpkr_base )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(mondial_map)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||
MCFG_SOUND_CONFIG_DISCRETE(goldnpkr)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Rom Load *
|
||||
*********************************************/
|
||||
@ -9368,18 +9485,20 @@ ROM_END
|
||||
|
||||
|
||||
/*
|
||||
Bonne Chance!
|
||||
This PCB came with PIAs 6821 for IO
|
||||
|
||||
Color system seems to pass the BP data through
|
||||
gates, latches or PLDs and get finally inverted.
|
||||
Bonne Chance!
|
||||
This PCB came with PIAs 6821 for IO
|
||||
|
||||
Cards GFX are similar to Golden Poker ones,
|
||||
but the back cards GFX are different...
|
||||
Color system seems to pass the BP data through
|
||||
gates, latches or PLDs and get finally inverted.
|
||||
|
||||
debug: bp 5042
|
||||
Cards GFX are similar to Golden Poker ones,
|
||||
but the back cards GFX are different...
|
||||
|
||||
debug: bp 5042
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( bchancep ) /* Bonne Chance! with PIAs 6821 */
|
||||
ROM_REGION( 0x3000, "gfx", 0 )
|
||||
ROM_LOAD( "84.bin", 0x0000, 0x1000, CRC(31f8104e) SHA1(b99f79019517ca90c48e9f303f41256d68faea91) ) /* cards deck gfx bitplane 3, identical halves */
|
||||
@ -9404,6 +9523,60 @@ ROM_START( bchancep ) /* Bonne Chance! with PIAs 6821 */
|
||||
ROM_LOAD( "bchancep_bp.bin", 0x0000, 0x0100, CRC(70fe1582) SHA1(118c743d445a37ad760e4163b61c3c562d7adda6) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
|
||||
PCB marked "MONDIAL"
|
||||
REV 2.1 - ALG
|
||||
|
||||
Sticker APP:
|
||||
Copie prohibee.
|
||||
loi du 3 7 1985.
|
||||
|
||||
1x UM6502.
|
||||
1x UM6845.
|
||||
2x ST EF6821P.
|
||||
|
||||
2x UM6116-2L
|
||||
1x MK48202B-25 Zeropower RAM.
|
||||
|
||||
1x M27C256 (MBV BI)
|
||||
1x TMS27C256 (3M)
|
||||
2x TMS27C128 (1M. 2M)
|
||||
|
||||
1X Bipolar PROM.
|
||||
|
||||
1x LM555CN.
|
||||
1x MAXIM MAX691CPE.
|
||||
1x 8 DIP switches bank.
|
||||
1x Xtal 10 MHz.
|
||||
|
||||
The program ROM contains 2 different programs
|
||||
in banks of 0x4000 each.
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( pokermon )
|
||||
ROM_REGION( 0x18000, "maincpu", 0 ) /* using 1st bank program */
|
||||
ROM_LOAD( "mbv_bi.bin", 0x10000, 0x8000, CRC(da00e08a) SHA1(98e52915178e29ab3ae674e6b895da14626d3dd8) )
|
||||
|
||||
ROM_REGION( 0x18000, "gfx", 0 )
|
||||
ROM_LOAD( "1m.bin", 0x00000, 0x4000, CRC(1b9e73ef) SHA1(fc9b67ab4c233a7e8ec8dc799732884f74166db0) )
|
||||
ROM_LOAD( "2m.bin", 0x08000, 0x4000, CRC(c51ace9b) SHA1(af84324c097beb0fefa54ccb7807c5ebb9acdcc3) )
|
||||
ROM_LOAD( "3m.bin", 0x10000, 0x8000, CRC(b2237068) SHA1(ece4f089776bbd5224c63c6a41a2e86a5e89d0c5) )
|
||||
|
||||
ROM_REGION( 0x1800, "gfx1", 0 )
|
||||
ROM_FILL( 0x0000, 0x1000, 0 ) /* filling the R-G bitplanes */
|
||||
ROM_COPY( "gfx", 0x14800, 0x1000, 0x0800 ) /* text, numbers and soccer ball tiles */
|
||||
|
||||
ROM_REGION( 0x1800, "gfx2", 0 )
|
||||
ROM_COPY( "gfx", 0x00000, 0x0000, 0x0800 ) /* soccer player gfx, bitplane 1 */
|
||||
ROM_COPY( "gfx", 0x08000, 0x0800, 0x0800 ) /* soccer player gfx, bitplane 2 */
|
||||
ROM_COPY( "gfx", 0x12000, 0x1000, 0x0800 ) /* soccer player gfx, bitplane 3 */
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "mb.bin", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Driver Init *
|
||||
@ -9833,6 +10006,21 @@ DRIVER_INIT_MEMBER(goldnpkr_state, bchancep)
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(goldnpkr_state, mondial)
|
||||
{
|
||||
/* Program banking..... */
|
||||
|
||||
UINT8 *ROM = memregion("maincpu")->base();
|
||||
membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
|
||||
|
||||
membank("bank1")->set_entry(0); // for now, fixed in italian.
|
||||
|
||||
// UINT8 seldsw = (ioport("SELDSW")->read() );
|
||||
// popmessage("ROM Bank: %02X", seldsw);
|
||||
// membank("bank1")->set_entry(seldsw);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*********************************************
|
||||
* Game Drivers *
|
||||
@ -9966,3 +10154,4 @@ GAME( 198?, pokerdub, 0, pottnpkr, goldnpkr, driver_device, 0,
|
||||
GAME( 198?, pokerduc, 0, goldnpkr, goldnpkr, goldnpkr_state, icp1db, ROT0, "<unknown>", "unknown encrypted poker game", GAME_NOT_WORKING ) // encrypted.
|
||||
|
||||
GAME( 198?, bchancep, 0, goldnpkr, goldnpkr, goldnpkr_state, bchancep, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel hardware)", GAME_NOT_WORKING )
|
||||
GAME( 1987, pokermon, 0, mondial, bsuerte, goldnpkr_state, mondial, ROT0, "<unknown>", "Mundial/Mondial (Italian/French)", 0 )
|
||||
|
@ -10384,6 +10384,7 @@ silverga // 1983, Unknown
|
||||
pokerdub // 198?, Unknown
|
||||
pokerduc // 198?, Unknown
|
||||
bchancep // 198?, Unknown
|
||||
pokermon // 1987, Unknown
|
||||
|
||||
// Cal Omega
|
||||
comg074 // (c) 1981 Cal Omega Inc.
|
||||
|
Loading…
Reference in New Issue
Block a user