summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/polepos.cpp
diff options
context:
space:
mode:
author RobertoFresca <robbie@mamedev.org>2016-11-13 18:02:41 -0300
committer RobertoFresca <robbie@mamedev.org>2016-11-13 18:02:41 -0300
commit224eb176619426d7eae738372cd5c5ec30ebf020 (patch)
tree3fa29000bbc5e16ce877eabd30ea1cd1412563ba /src/mame/drivers/polepos.cpp
parent86260d5332c0e97526d64b5d965976a8cec23f76 (diff)
New working clones
------------------ Gran Premio F1 (Spanish bootleg of Pole Position II) [Rockman, Arcade Hacker]
Diffstat (limited to 'src/mame/drivers/polepos.cpp')
-rw-r--r--src/mame/drivers/polepos.cpp174
1 files changed, 161 insertions, 13 deletions
diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp
index 757774fb1b3..4baa9b01870 100644
--- a/src/mame/drivers/polepos.cpp
+++ b/src/mame/drivers/polepos.cpp
@@ -2113,6 +2113,152 @@ ROM_START( polepos2bi )
ROM_END
+/*
+ Gran Premio F1 (Spanish bootleg of Pole Position II)
+
+ This bootleg has a TMS5220 for spanish voices
+ instead of the Namco 52xx. Needs proper implementation.
+
+ DIP Switches reference (to be implemented):
+
+ .-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----.
+ | DIP Switch A (Derecha) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----------+
+ | MONEDERO 25. MONEDAS PART. | | | | | | |
+ | 1 1 | OFF | | OFF | | OFF | |
+ | 2 1 | OFF | | OFF | | ON | |
+ | 3 1 | OFF | | ON | | OFF | |
+ | 1 2 | ON | | OFF | | OFF | |
+ | 1 3 | ON | | OFF | | ON | |
+ | 2 3 | ON | | ON | | OFF | |
+ | 1 6 | OFF | | ON | | ON | |
+ | 1 5 | ON | | ON | | ON | |
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+
+ | MONEDERO 50. MONEDAS PART. | | | | | |
+ | 1 1 | | OFF | | OFF | |
+ | 2 1 | | OFF | | ON | |
+ | 1 2 | | ON | | OFF | |
+ | 2 3 | | ON | | ON | |
+ +-------------------------------+-----+-----+-----+-----+-----------+-----+-----+
+ | INDICACION Km/h | | ON | |
+ | VELOCIDAD Mp/h | | OFF | |
+ +-------------------------------+-----------------+-----+-----+-----+-----------+
+ | SONIDO EN NO | | ON | |
+ | PRESENTACION SI | | OFF | |
+ +-------------------------------+-----------------------------+-----+-----+-----+
+ | VELOCIDAD MAX. Reducida | | ON |
+ | Elevada | | OFF |
+ '-------------------------------+-----------------------------------------+-----'
+
+ .-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----.
+ | DIP Switch B (Izquierda) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+
+ | DIFICULTAD D MAX. | OFF | | OFF | | ON |
+ | CARRERA C | ON | | OFF | | ON |
+ | B | OFF | | ON | | ON |
+ | A MIN. | ON | | ON | | ON |
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+
+ | DIFICULTAD PARA MAX. | | OFF | | OFF | |
+ | CLASIFICACION | | ON | | OFF | |
+ | | | OFF | | ON | |
+ | MIN. | | ON | | ON | |
+ +-------------------------------+-----------------------+-----+-----+-----+-----+
+ | TIEMPO PARA Tiempo | | | |
+ | CLASIFICACION 90 Seg. | | ON | |
+ | 120 Seg. | | OFF | |
+ +-------------------------------+-----+-----+-----+-----+-----+-----+-----------+
+ | NUMERO DE 6 | | OFF | | OFF | |
+ | VUELTAS 5 | | ON | | OFF | |
+ | 4 | | OFF | | ON | |
+ | 3 | | ON | | ON | |
+ '-------------------------------+-----+-----+-----+-----+-----------------------'
+*/
+ROM_START( polepos2bs )
+ /* Z80 memory/ROM data */
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "bboard-5p.17f", 0x0000, 0x2000, CRC(1a6412a1) SHA1(ccc41e60aad6ed332f8f2582860e11f10937dffa) )
+ ROM_LOAD( "bboard-6p.16f", 0x2000, 0x1000, CRC(e7362148) SHA1(5a4ab037fa6a773b90c10ac4c4e9417183e0cfd8) )
+
+ /* Z8002 #1 memory/ROM data */
+ ROM_REGION( 0x10000, "sub", 0 )
+ ROM_LOAD16_BYTE( "bboard-1p.23f", 0x0001, 0x2000, CRC(41da3c28) SHA1(c9294d686282adfc72796511c3c9e186ad057374) )
+ ROM_LOAD16_BYTE( "bboard-2p.21f", 0x0000, 0x2000, CRC(2856d5b1) SHA1(96f5c3d67901a1abceca12b3448f381cc4852a33) )
+
+ /* Z8002 #2 memory/ROM data */
+ ROM_REGION( 0x10000, "sub2", 0 )
+ ROM_LOAD16_BYTE( "bboard-3p.20f", 0x0001, 0x4000, CRC(6c823932) SHA1(68ef9f70c4305c3a3bacf83a64b727fd3711f34f) )
+ ROM_LOAD16_BYTE( "bboard-4p.18f", 0x0000, 0x4000, CRC(fe9baeb6) SHA1(9a8ad2d8a69b4005f7abed278093fd57b9242bca) )
+
+ /* graphics data */
+ ROM_REGION( 0x02000, "gfx1", 0 ) /* 2bpp alpha layer */
+ ROM_LOAD( "cboard-12f.2j", 0x0000, 0x2000, CRC(e38956ea) SHA1(fde6cf83b3a06af9f74accade92e74dab5f914a9) )
+
+ ROM_REGION( 0x02000, "gfx2", 0 ) /* 2bpp view layer */
+ ROM_LOAD( "cboard-15f.2l", 0x0000, 0x2000, CRC(ec3ec6e6) SHA1(ae905d0ae802d1010b2c1f1a13e88a1f0dbe57da) )
+
+ ROM_REGION( 0x04000, "gfx3", 0 ) /* 4bpp 16x16 sprites */
+ ROM_LOAD( "cboard-6f.5a", 0x0000, 0x2000, CRC(1c72041a) SHA1(b65b09c4251ee61d247f359615e7adc7c80bc8d5) ) /* 4bpp sm sprites, planes 0+1 */
+ ROM_LOAD( "cboard-5f.6a", 0x2000, 0x2000, CRC(1b38b257) SHA1(c7eec0692a31e1c8285bd1cba3ebd17ab253d2c9) ) /* 4bpp sm sprites, planes 2+3 */
+
+ ROM_REGION( 0x10000, "gfx4", 0 ) /* 4bpp 32x32 sprites */
+ ROM_LOAD( "cboard-10f.1a", 0x0000, 0x2000, CRC(613ab0df) SHA1(88aa4500275aae010fc9783c1d8d843feab89afa) ) /* 4bpp lg sprites, planes 0+1 */
+ ROM_LOAD( "cboard-9f.2a", 0x2000, 0x2000, CRC(2d11fc01) SHA1(0515df62073db993899dde3f9ad84334c5a12fc5) )
+ ROM_LOAD( "cboard-8f.3a", 0x4000, 0x2000, CRC(17c798b0) SHA1(ae2047bc0e4e8c85e1de09c39c200ea8f7c6a72e) )
+ ROM_LOAD( "cboard-7f.4a", 0x6000, 0x2000, CRC(ed6a8052) SHA1(dedd6d63f9a06a1edd57cb134e86c048cff7a3c1) )
+ ROM_LOAD( "cboard-4f.7a", 0x8000, 0x2000, CRC(5fd933e3) SHA1(5b27a8519234c935308f943cd58abc1efc463726) ) /* 4bpp lg sprites, planes 2+3 */
+ ROM_LOAD( "cboard-3f.8a", 0xa000, 0x2000, CRC(94a7155d) SHA1(c162e2b0e93745614475326905a30d2095101913) )
+ ROM_LOAD( "cboard-2f.9a", 0xc000, 0x2000, CRC(5fe9b365) SHA1(1a3ac099a6bb506a5f71c12c6fb14d014172371c) )
+ ROM_LOAD( "cboard-1f.10a", 0xe000, 0x2000, CRC(ca14ca7b) SHA1(e58e40fdf1385ae9b080225d9ffe3ec5b122bf69) )
+
+ ROM_REGION( 0x5000, "gfx5", 0 ) /* road generation ROMs needed at runtime */
+ ROM_LOAD( "cboard-14f.8m", 0x0000, 0x2000, CRC(ee6b3315) SHA1(9cc26c6d3604c0f60d716f86e67e9d9c0487f87d) ) /* road control */
+ ROM_LOAD( "cboard-13f.9m", 0x2000, 0x2000, CRC(6d1e7042) SHA1(90113ff0c93ed86d95067290088705bb5e6608d1) ) /* road bits 1 */
+ ROM_LOAD( "cboard-16f.8r", 0x4000, 0x1000, CRC(4e97f101) SHA1(f377d053821c74aee93ebcd30a4d43e6156f3cfe) ) /* road bits 2 */
+
+ ROM_REGION( 0x1000, "gfx6", 0 ) /* sprite scaling */
+ ROM_LOAD( "cboard-11f.9c", 0x0000, 0x1000, CRC(a61bff15) SHA1(f7a59970831cdaaa7bf59c2221a38e4746c54244) ) /* vertical scaling */
+
+ /* graphics (P)ROM data (borrowed from other set, need to be dumped) */
+ ROM_REGION( 0x1040, "proms", 0 )
+ ROM_LOAD( "7611-5-e.bin", 0x0000, 0x0100, BAD_DUMP CRC(16d69c31) SHA1(f24b345448e4f4ef4e2f3b057b81d399cf427f88) ) /* red palette */
+ ROM_LOAD( "7611-5-d.bin", 0x0100, 0x0100, BAD_DUMP CRC(07340311) SHA1(3820d1fa99013ed18de5d9400ad376cc446d1217) ) /* green palette */
+ ROM_LOAD( "7611-5-c.bin", 0x0200, 0x0100, BAD_DUMP CRC(1efc84d7) SHA1(6946e1c209eec0a4b75778ae88111e6cb63c63fb) ) /* blue palette */
+ ROM_LOAD( "7611-5-b.bin", 0x0300, 0x0100, BAD_DUMP CRC(064d51a0) SHA1(d5baa29930530a8930b44a374e285de849c2a6ce) ) /* alpha color */
+ ROM_LOAD( "7611-5-a.bin", 0x0400, 0x0100, BAD_DUMP CRC(7880c5af) SHA1(e4388e354420be3f99594a10c091e3d2f745cc04) ) /* background color */
+ ROM_LOAD( "7611-5-h.bin", 0x0500, 0x0100, BAD_DUMP CRC(2d502464) SHA1(682b7dd22e51d5db52c0804b7e27e47641dfa6bd) ) /* vertical position low */
+ ROM_LOAD( "7611-5-g.bin", 0x0600, 0x0100, BAD_DUMP CRC(027aa62c) SHA1(c7030d8b64b80e107c446f6fbdd63f560c0a91c0) ) /* vertical position med */
+ ROM_LOAD( "7611-5-f.bin", 0x0700, 0x0100, BAD_DUMP CRC(1f8d0df3) SHA1(b8f17758f114f5e247b65b3f2922ca2660757e66) ) /* vertical position hi */
+ ROM_LOAD( "7643-5-b.bin", 0x0800, 0x0400, BAD_DUMP CRC(8b270902) SHA1(27b3ebc92d3a2a5c0432bde018a0e43669041d50) ) /* road color */
+ ROM_LOAD( "7643-5-a.bin", 0x0c00, 0x0400, BAD_DUMP CRC(a079ed19) SHA1(134b3d156a1ed0fa21cc5dc3cc84ea16ef7f84f7) ) /* sprite color - bad?*/
+ ROM_LOAD( "6331-1-b.bin", 0x1000, 0x0020, BAD_DUMP CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
+ ROM_LOAD( "6331-1-a.bin", 0x1020, 0x0020, BAD_DUMP CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
+
+ /* sound (P)ROM data (borrowed from other set, need to be dumped) */
+ ROM_REGION( 0x0100, "namco", 0 )
+ ROM_LOAD( "74s287-b.bin", 0x0000, 0x0100, BAD_DUMP CRC(8568decc) SHA1(0aac1fa082858d4d201e21511c609a989f9a1535) ) /* Namco sound */
+
+ ROM_REGION( 0x4000, "engine", 0 )
+ ROM_LOAD( "bboard-8p.8a", 0x0000, 0x2000, CRC(b5ad4d5f) SHA1(c07e77a050200d6fe9952031f971ca35f4d15ff8) ) /* engine sound */
+ ROM_LOAD( "bboard-7p.9a", 0x2000, 0x2000, CRC(8fdd2f6f) SHA1(3818dc94c60cd78c4212ab7a4367cf3d98166ee6) ) /* engine sound */
+
+ ROM_REGION( 0x6000, "52xx", ROMREGION_ERASEFF )
+ /* the bootleg has a TMS5220, NOT the Namco 52xx */
+
+ /* unknown or unused (P)ROM data */
+// ROM_REGION( 0x0100, "user1", 0 )
+// ROM_LOAD( "74s287-a.bin", 0x0000, 0x0100, CRC(0e742cb1) SHA1(3ae43270aab4848fdeece1648e7e040ab216b08e) ) /* sync chain */
+
+ /* this is used for the spanish speech with a TMS5220, not properly hooked up */
+ ROM_REGION( 0x2000, "soundz80bl", 0 )
+ ROM_LOAD( "aboard-spi.11", 0x0000, 0x2000, CRC(269c1af4) SHA1(73acb28f1cf8eae26838835aef1566fea18b4138) )
+
+// ROM_REGION( 0x2000, "pals", 0 )
+// ...not dumped yet...
+ROM_END
+
+
/*********************************************************************
* Initialization routines
@@ -2137,16 +2283,18 @@ DRIVER_INIT_MEMBER(polepos_state,polepos2)
* Game drivers
*********************************************************************/
-GAME( 1982, polepos, 0, polepos, poleposa, driver_device, 0, ROT0, "Namco", "Pole Position (World)", 0 )
-GAME( 1982, poleposj, polepos, polepos, polepos, driver_device, 0, ROT0, "Namco", "Pole Position (Japan)", 0 )
-GAME( 1982, poleposa1, polepos, polepos, poleposa, driver_device, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
-GAME( 1982, poleposa2, polepos, polepos, poleposa, driver_device, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
-GAME( 1984, topracer, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1984)", 0 ) // the NAMCO customs have been cloned on these bootlegs
-GAME( 1983, topracera, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1983)", 0 ) // the only difference between them is the year displayed on the title screen
-GAME( 1983, ppspeed, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Speed Up (Spanish bootleg of Pole Position)", 0 ) // very close to topracer / topracera
-GAME( 1982, topracern, polepos, topracern, topracern, polepos_state, topracern, ROT0, "bootleg", "Top Racer (no MB8841 + MB8842)", 0 )
-
-GAME( 1983, polepos2, 0, polepos, polepos2j, polepos_state, polepos2, ROT0, "Namco", "Pole Position II (Japan)", 0 )
-GAME( 1983, polepos2a, polepos2, polepos, polepos2, polepos_state, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
-GAME( 1983, polepos2b, polepos2, polepos, polepos2, driver_device, 0, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
-GAME( 1984, polepos2bi, polepos2, polepos2bi, topracern, polepos_state, topracern, ROT0, "bootleg", "Gran Premio F1 (Italian bootleg of Pole Position II)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND ) // should have italian voices
+/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */
+GAME( 1982, polepos, 0, polepos, poleposa, driver_device, 0, ROT0, "Namco", "Pole Position (World)", 0 )
+GAME( 1982, poleposj, polepos, polepos, polepos, driver_device, 0, ROT0, "Namco", "Pole Position (Japan)", 0 )
+GAME( 1982, poleposa1, polepos, polepos, poleposa, driver_device, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
+GAME( 1982, poleposa2, polepos, polepos, poleposa, driver_device, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
+GAME( 1984, topracer, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1984)", 0 ) // the NAMCO customs have been cloned on these bootlegs
+GAME( 1983, topracera, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1983)", 0 ) // the only difference between them is the year displayed on the title screen
+GAME( 1983, ppspeed, polepos, polepos, polepos, driver_device, 0, ROT0, "bootleg", "Speed Up (Spanish bootleg of Pole Position)", 0 ) // very close to topracer / topracera
+GAME( 1982, topracern, polepos, topracern, topracern, polepos_state, topracern, ROT0, "bootleg", "Top Racer (no MB8841 + MB8842)", 0 )
+
+GAME( 1983, polepos2, 0, polepos, polepos2j, polepos_state, polepos2, ROT0, "Namco", "Pole Position II (Japan)", 0 )
+GAME( 1983, polepos2a, polepos2, polepos, polepos2, polepos_state, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
+GAME( 1983, polepos2b, polepos2, polepos, polepos2, driver_device, 0, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
+GAME( 1984, polepos2bi, polepos2, polepos2bi, topracern, polepos_state, topracern, ROT0, "bootleg", "Gran Premio F1 (Italian bootleg of Pole Position II)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND ) // should have italian voices
+GAME( 1984, polepos2bs, polepos2, polepos2bi, topracern, polepos_state, topracern, ROT0, "BCN Internacional S.A.)", "Gran Premio F1 (Spanish bootleg of Pole Position II)", MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND ) // should have spanish voices