mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
Mundial/Mondial (Italian/French): Implemented the program banking
properly. Now you can choose the program through a DIP switch. [Roberto Fresca]
This commit is contained in:
parent
5174c3de11
commit
f30351f946
@ -985,6 +985,13 @@
|
|||||||
- Added technical notes.
|
- Added technical notes.
|
||||||
|
|
||||||
|
|
||||||
|
[2014-02-23]
|
||||||
|
|
||||||
|
- Added a new Videotron set with cards selector.
|
||||||
|
- Mundial/Mondial (Italian/French): Implemented the program banking
|
||||||
|
properly. Now you can choose the program through a DIP switch.
|
||||||
|
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
- Missing PIA connections.
|
- Missing PIA connections.
|
||||||
@ -1066,7 +1073,6 @@ public:
|
|||||||
DECLARE_DRIVER_INIT(vkdlswwr);
|
DECLARE_DRIVER_INIT(vkdlswwr);
|
||||||
DECLARE_DRIVER_INIT(vkdlswwv);
|
DECLARE_DRIVER_INIT(vkdlswwv);
|
||||||
DECLARE_DRIVER_INIT(bchancep);
|
DECLARE_DRIVER_INIT(bchancep);
|
||||||
DECLARE_DRIVER_INIT(mondial);
|
|
||||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||||
TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
|
TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
|
||||||
virtual void video_start();
|
virtual void video_start();
|
||||||
@ -1074,6 +1080,8 @@ public:
|
|||||||
DECLARE_PALETTE_INIT(witchcrd);
|
DECLARE_PALETTE_INIT(witchcrd);
|
||||||
DECLARE_VIDEO_START(wcrdxtnd);
|
DECLARE_VIDEO_START(wcrdxtnd);
|
||||||
DECLARE_PALETTE_INIT(wcrdxtnd);
|
DECLARE_PALETTE_INIT(wcrdxtnd);
|
||||||
|
DECLARE_MACHINE_START(mondial);
|
||||||
|
DECLARE_MACHINE_RESET(mondial);
|
||||||
UINT32 screen_update_goldnpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
UINT32 screen_update_goldnpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
optional_device<discrete_device> m_discrete;
|
optional_device<discrete_device> m_discrete;
|
||||||
@ -3399,6 +3407,9 @@ static INPUT_PORTS_START( mondial )
|
|||||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
|
/* the following one is connected to DIP switches and is meant
|
||||||
|
for switch between different programs stored in different
|
||||||
|
halves of the program ROM */
|
||||||
PORT_START("SELDSW")
|
PORT_START("SELDSW")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "Game Selector" )
|
PORT_DIPNAME( 0x01, 0x00, "Game Selector" )
|
||||||
PORT_DIPSETTING( 0x00, "Game 1 (Italian" )
|
PORT_DIPSETTING( 0x00, "Game 1 (Italian" )
|
||||||
@ -3684,6 +3695,24 @@ static const ay8910_interface ay8910_config =
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************
|
||||||
|
* Machine Start & Reset *
|
||||||
|
******************************************/
|
||||||
|
|
||||||
|
MACHINE_START_MEMBER(goldnpkr_state, mondial)
|
||||||
|
{
|
||||||
|
UINT8 *ROM = memregion("maincpu")->base();
|
||||||
|
membank("bank1")->configure_entries(0, 2, &ROM[0], 0x4000);
|
||||||
|
}
|
||||||
|
|
||||||
|
MACHINE_RESET_MEMBER(goldnpkr_state, mondial)
|
||||||
|
{
|
||||||
|
UINT8 seldsw = (ioport("SELDSW")->read() );
|
||||||
|
popmessage("ROM Bank: %02X", seldsw);
|
||||||
|
|
||||||
|
membank("bank1")->set_entry(seldsw);
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************
|
/*********************************************
|
||||||
* Machine Drivers *
|
* Machine Drivers *
|
||||||
*********************************************/
|
*********************************************/
|
||||||
@ -3879,7 +3908,7 @@ static MACHINE_CONFIG_DERIVED( genie, goldnpkr_base )
|
|||||||
MCFG_PIA_WRITEPA_HANDLER(WRITE8(goldnpkr_state, mux_port_w))
|
MCFG_PIA_WRITEPA_HANDLER(WRITE8(goldnpkr_state, mux_port_w))
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
|
MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state, witchcrd)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
@ -3895,6 +3924,9 @@ static MACHINE_CONFIG_DERIVED( mondial, goldnpkr_base )
|
|||||||
MCFG_CPU_MODIFY("maincpu")
|
MCFG_CPU_MODIFY("maincpu")
|
||||||
MCFG_CPU_PROGRAM_MAP(mondial_map)
|
MCFG_CPU_PROGRAM_MAP(mondial_map)
|
||||||
|
|
||||||
|
MCFG_MACHINE_START_OVERRIDE(goldnpkr_state, mondial)
|
||||||
|
MCFG_MACHINE_RESET_OVERRIDE(goldnpkr_state, mondial)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||||
@ -9693,8 +9725,8 @@ ROM_END
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ROM_START( pokermon )
|
ROM_START( pokermon )
|
||||||
ROM_REGION( 0x18000, "maincpu", 0 ) /* using 1st bank program */
|
ROM_REGION( 0x10000, "maincpu", 0 ) /* 2 programs, selectable via DIP switch */
|
||||||
ROM_LOAD( "mbv_bi.bin", 0x10000, 0x8000, CRC(da00e08a) SHA1(98e52915178e29ab3ae674e6b895da14626d3dd8) )
|
ROM_LOAD( "mbv_bi.bin", 0x0000, 0x8000, CRC(da00e08a) SHA1(98e52915178e29ab3ae674e6b895da14626d3dd8) )
|
||||||
|
|
||||||
ROM_REGION( 0x18000, "gfx", 0 )
|
ROM_REGION( 0x18000, "gfx", 0 )
|
||||||
ROM_LOAD( "1m.bin", 0x00000, 0x4000, CRC(1b9e73ef) SHA1(fc9b67ab4c233a7e8ec8dc799732884f74166db0) )
|
ROM_LOAD( "1m.bin", 0x00000, 0x4000, CRC(1b9e73ef) SHA1(fc9b67ab4c233a7e8ec8dc799732884f74166db0) )
|
||||||
@ -10133,22 +10165,6 @@ 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 *
|
* Game Drivers *
|
||||||
*********************************************/
|
*********************************************/
|
||||||
@ -10286,4 +10302,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?, pokerduc, 0, goldnpkr, goldnpkr, goldnpkr_state, icp1db, ROT0, "<unknown>", "unknown encrypted poker game", GAME_NOT_WORKING ) // encrypted.
|
||||||
|
|
||||||
GAMEL( 198?, bchancep, 0, bchancep, goldnpkr, goldnpkr_state, bchancep, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel hardware)", GAME_NOT_WORKING, layout_goldnpkr )
|
GAMEL( 198?, bchancep, 0, bchancep, goldnpkr, goldnpkr_state, bchancep, ROT0, "<unknown>", "Bonne Chance! (Golden Poker prequel hardware)", GAME_NOT_WORKING, layout_goldnpkr )
|
||||||
GAME( 1987, pokermon, 0, mondial, mondial, goldnpkr_state, mondial, ROT0, "<unknown>", "Mundial/Mondial (Italian/French)", 0 )
|
GAME( 1987, pokermon, 0, mondial, mondial, driver_device, 0, ROT0, "<unknown>", "Mundial/Mondial (Italian/French)", 0 )
|
||||||
|
Loading…
Reference in New Issue
Block a user