diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 7679bbaa16e..2112d53fcdb 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -5066,6 +5066,7 @@ files { MAME_DIR .. "src/mame/drivers/pkscram.cpp", MAME_DIR .. "src/mame/drivers/playcenter.cpp", MAME_DIR .. "src/mame/drivers/plsonic4.cpp", + MAME_DIR .. "src/mame/drivers/pmc.cpp", MAME_DIR .. "src/mame/drivers/pntnpuzl.cpp", MAME_DIR .. "src/mame/drivers/policetr.cpp", MAME_DIR .. "src/mame/includes/policetr.h", diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index d63174a136c..cbe8fcdd56f 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -996,6 +996,7 @@ playcenter.cpp plsonic4.cpp pluto5.cpp plygonet.cpp +pmc.cpp pntnpuzl.cpp pokechmp.cpp poker72.cpp diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index 12ed01959e0..d9535296853 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -3372,21 +3372,45 @@ static INPUT_PORTS_START( redufob ) PORT_INCLUDE(galaxian) PORT_MODIFY("IN1") - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:!1,!2") PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/12C" ) PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) PORT_MODIFY("IN2") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!3,!4") PORT_DIPSETTING( 0x01, "4000" ) PORT_DIPSETTING( 0x02, "5000" ) PORT_DIPSETTING( 0x03, "7000" ) PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!5") PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPUNUSED( 0x08, 0x00 ) PORT_DIPLOCATION("SW1:!6") +INPUT_PORTS_END + + +static INPUT_PORTS_START( redufob3 ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:!1,!2") + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!3,!4") + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!5") + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPUNUSED( 0x08, 0x00 ) PORT_DIPLOCATION("SW1:!6") INPUT_PORTS_END @@ -15579,7 +15603,7 @@ GAME( 1981, spactrai, warofbug, spactrai, spactrai, galaxian_state, init_ GAME( 1981, redufo, 0, galaxian, redufo, galaxian_state, init_nolock, ROT270, "Artic", "Defend the Terra Attack on the Red UFO", MACHINE_SUPPORTS_SAVE ) // is this the original? GAME( 1981, redufob, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) // rev A? GAME( 1981, redufob2, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1981, redufob3, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, redufob3, redufo, galaxian, redufob3, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) GAME( 19??, exodus, redufo, galaxian, redufo, galaxian_state, init_nolock, ROT90, "bootleg? (Subelectro)", "Exodus (bootleg?)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, tdpgal, 0, galaxian, tdpgal, galaxian_state, init_nolock, ROT90, "Design Labs / Thomas Automatics", "Triple Draw Poker", MACHINE_SUPPORTS_SAVE ) GAME( 1979, kamakazi3, galaxian, galaxian, superg, galaxian_state, init_nolock, ROT90, "hack", "Kamakazi III ('Super Galaxians' hack)", MACHINE_SUPPORTS_SAVE ) // Hack of a hack (superg) diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp index b36f0775a6f..20b383acc18 100644 --- a/src/mame/drivers/goldnpkr.cpp +++ b/src/mame/drivers/goldnpkr.cpp @@ -11105,6 +11105,26 @@ ROM_START( bchanceq ) ROM_LOAD( "82s129.bin", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) ROM_END +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( 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( 0x0100, "proms", 0 ) + ROM_LOAD( "82s129.bin", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) +ROM_END + /* PCB marked "MONDIAL" @@ -12032,6 +12052,7 @@ GAME( 198?, pokersis, 0, bchancep, goldnpkr, goldnpkr_state, empty_init GAMEL( 198?, bchancep, 0, bchancep, goldnpkr, goldnpkr_state, init_bchancep, ROT0, "", "Bonne Chance! (Golden Poker prequel HW, set 1)", MACHINE_NOT_WORKING, layout_goldnpkr ) GAMEL( 198?, bchanceq, 0, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "", "Bonne Chance! (Golden Poker prequel HW, set 2)", MACHINE_NOT_WORKING, layout_goldnpkr ) +GAMEL( 198?, boasorte, bchanceq, goldnpkr, goldnpkr, goldnpkr_state, empty_init, ROT0, "", "Boa Sorte! (Golden Poker prequel HW)", MACHINE_NOT_WORKING, layout_goldnpkr ) GAME( 1987, pokermon, 0, mondial, mondial, goldnpkr_state, empty_init, ROT0, "", "Mundial/Mondial (Italian/French)", 0 ) // banked selectable program. GAME( 1998, super98, bsuerte, witchcrd, super98, goldnpkr_state, init_super98, ROT0, "", "Super 98 (3-hands, ICP-1)", 0 ) // complex protection. see notes. diff --git a/src/mame/drivers/phoenix.cpp b/src/mame/drivers/phoenix.cpp index c2288687df6..2f24e6ef059 100644 --- a/src/mame/drivers/phoenix.cpp +++ b/src/mame/drivers/phoenix.cpp @@ -31,6 +31,7 @@ To Do: Phoenix: - Emulate the different sound system used at least by phoenixc2, griffono, and nextfase. +- Some of the bootlegs use MN6221AB instead of MN6221AA. - Better documentation of the bootlegs. Survival: @@ -1343,7 +1344,7 @@ ROM_START( phoenixs ) ROM_LOAD( "mmi6301.ic41", 0x0100, 0x0100, CRC(e176b768) SHA1(e2184dd495ed579f10b6da0b78379e02d7a6229f) ) /* palette high bits */ ROM_END -ROM_START( phoenixass ) +ROM_START( phoenixass ) // Uses MN6221AB melody chip (Greensleeves) instead of MN6221AA ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "00-811.ic45", 0x0000, 0x0800, CRC(5b8c55a8) SHA1(839c1ca9766f730ec3accd48db70f6429a9c3362) ) ROM_LOAD( "01-811.ic46", 0x0800, 0x0800, CRC(dbc942fa) SHA1(9fe224e6ced407289dfa571468259a021d942b7d) ) diff --git a/src/mame/drivers/pmc.cpp b/src/mame/drivers/pmc.cpp new file mode 100644 index 00000000000..92f89e47c9a --- /dev/null +++ b/src/mame/drivers/pmc.cpp @@ -0,0 +1,87 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +PMC Pave 2000 PCB, MB104 Rev.2 + +2 crystals on PCB + +7.864 crystal at edge +5.185 near clock generator chip + +4 x 4702 EPROM +1 x C4289 memory interface +1 x C4201 clock generator +1 x C4040 CPU +1 x P4002 ram +1 x N8T96B bus driver +5 x 82S126 proms + +Two daughter boards, 1 has on/off switch and 2 hex thumbwheels (0-F) and various TTL + +There are 4 x NE555V chips. All connect via resistors to edge connector (paddles / joystick ?) +*/ + + +#include "emu.h" + +#include "cpu/mcs40/mcs40.h" + +#include "screen.h" +#include "speaker.h" + +namespace { + +class pmc_state : public driver_device +{ +public: + pmc_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + { + } + + void pmc(machine_config &config); + +private: + void rom_map(address_map &map); +}; + + +void pmc_state::rom_map(address_map &map) +{ + map(0x0000, 0x03ff).rom().region("maincpu", 0x0000); // TODO: to be verified +} + +void pmc_state::pmc(machine_config &config) +{ + // basic machine hardware + i4040_cpu_device &cpu(I4040(config, "maincpu", 5.185_MHz_XTAL / 7)); // P4201A divides the incoming clock by seven to get the multi-phase clock + cpu.set_rom_map(&pmc_state::rom_map); + + // video hardware + // SCREEN(config, "screen", SCREEN_TYPE_RASTER); // TODO + + // sound hardware + // TODO: netlist +} + + +ROM_START( unkpmc ) // TODO: verify ROM loading + ROM_REGION( 0x400, "maincpu", 0 ) + ROM_LOAD( "1", 0x000, 0x0100, CRC(396fc572) SHA1(29b39d1119b28f6c75378f855129e132a5cb2370) ) + ROM_LOAD( "2", 0x100, 0x0100, CRC(9e6a0570) SHA1(fbf6ce4066121019d0db0de0c75fb5869853c613) ) + ROM_LOAD( "3", 0x200, 0x0100, CRC(727f2186) SHA1(8c1dcbf3099010f510400db03946d7aba813cf97) ) + ROM_LOAD( "4", 0x300, 0x0100, CRC(7bafe4ad) SHA1(afb02aebf2ff9e733368545c0c0100bdcaa5c89b) ) + + ROM_REGION( 0x500, "proms", 0 ) + ROM_LOAD( "5", 0x000, 0x0100, CRC(4023885f) SHA1(af94454583af10938746caf7bbe326081d21241d) ) + ROM_LOAD( "7", 0x100, 0x0100, CRC(0a5174d7) SHA1(e4d8b5227adfcf49e1cb9b626ece28a3844ddb17) ) + ROM_LOAD( "8", 0x200, 0x0100, CRC(c5f1125a) SHA1(7686feadb7c6047fafedd070c8578e7f4736e15f) ) + ROM_LOAD( "9", 0x300, 0x0100, CRC(d9adaa48) SHA1(ddd76e1469e63826a199d12a8cbff56020c9dec3) ) + ROM_LOAD( "10", 0x400, 0x0100, CRC(df9230a1) SHA1(66b4462699837aff09dbc8de80257c5737b4d91a) ) +ROM_END + +} // Anonymous namespace + + +GAME( 1975?, unkpmc, 0, pmc, 0, pmc_state, empty_init, ROT0, "PMC", "unknown PMC game", MACHINE_IS_SKELETON ) // might be Aztec Princess diff --git a/src/mame/mame.lst b/src/mame/mame.lst index df411807466..1abe0475ee0 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -15541,6 +15541,7 @@ adpoker // 198?, Unknown animpkr // 198?, Unknown bchancep // 198?, Unknown bchanceq // 198?, Unknown +boasorte // 198?, Unknown bonuspkr // 1984, Galanthis Inc. brasil86 // 1986, Unknown brasil87 // 1987, Unknown @@ -35589,6 +35590,9 @@ polynetw // GX305 too? (c) 1993 @source:pm68k.cpp pm68k // +@source:pmc.cpp +unkpmc + @source:pmd85.cpp alfa // Alfa (PMD-85.1 clone) c2717 // Consul 2717 (PMD-85.2 clone)