mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
Various improvements to polepos.c [Alex Jackson]:
* Corrected the way the steering wheel is hooked up, fixing the jittery steering in the sets with MCUs. * Added a new layout file for the bootleg sets without MCUs (topracern and polepos2bi). * Converted clock frequencies to crystal values from xtal.c. * Added correct ROM names for the Namco-manufactured sets (polepos and polepos2). * Completely removed the unused global variable polepos_gear_bit. * Fixed a couple of bootleg ROMs that were very likely bit-rotted.
This commit is contained in:
parent
616ea71eb6
commit
e848cb8bb7
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -3069,6 +3069,7 @@ src/mame/layout/tceptor2.lay svneol=native#text/plain
|
||||
src/mame/layout/tenpindx.lay svneol=native#text/plain
|
||||
src/mame/layout/tinv2650.lay svneol=native#text/plain
|
||||
src/mame/layout/tisub.lay svneol=native#text/plain
|
||||
src/mame/layout/topracer.lay svneol=native#text/plain
|
||||
src/mame/layout/topspeed.lay svneol=native#text/plain
|
||||
src/mame/layout/turbo.lay svneol=native#text/plain
|
||||
src/mame/layout/turbotag.lay svneol=native#text/plain
|
||||
|
@ -133,8 +133,8 @@ CPU 8M PP1-1 PP4-1 CPU 3L 136014-101 136014-176
|
||||
CPU 8L PP1-2 PP4-2 CPU 4L 136014-102 136014-177
|
||||
? PP1-3* PP4-3* CPU 3K 136014-112* *
|
||||
? PP1-4* PP4-4* CPU 4K 136014-113* *
|
||||
CPU 4M PP1-5 PP4-5 CPU 3E 136014-103 136014-178
|
||||
CPU 4L PP1-6 PP4-6 CPU 4E 136014-104 136014-179
|
||||
CPU 4M PP1-5 PP4-5 CPU 3E 136014-103 or 136014-203 136014-178
|
||||
CPU 4L PP1-6 PP4-6 CPU 4E 136014-104 or 136014-204 136014-179
|
||||
CPU 3M PP1-7* PP4-7 CPU 3D 136014-114* 136014-184
|
||||
CPU 3L PP1-8* PP4-8 CPU 4D 136014-115* 136014-185
|
||||
CPU 6H PP1-9 PP4-9 CPU 7H 136014-105 or 136014-160 136014-180
|
||||
@ -149,7 +149,7 @@ CPU 5A PP1-16 PP4-16 CPU 12E 136014-111 or 136014-149 136014-182
|
||||
? PP1-2[pal] <-- CPU 2N PAL-1 <--
|
||||
? PP1-3[pal] <-- CPU 7C PAL-3 <--
|
||||
CPU 9H PP1-4[bpr] <-- CPU 7L 136014-117 <--
|
||||
? PP1-5[bpr] <-- CPU 11D 136014-118 <--
|
||||
CPU 3B PP1-5[bpr] <-- CPU 11D 136014-118 <--
|
||||
|
||||
VID 5N PP1-17 <-- VID 13J 136014-119 == 136014-150 <--
|
||||
VID 5M PP1-18 <-- VID 12J 136014-120 == 136014-151 <--
|
||||
@ -161,7 +161,7 @@ VID 2N PP1-23* PP4-23 VID 13M 136014-129* 136014-175
|
||||
VID 2M PP1-24* PP4-24 VID 12M 136014-130* 136014-174
|
||||
VID 1N PP1-25 PP4-25 VID 13N 136014-125 or 136014-156 136014-170
|
||||
VID 1M PP1-26 PP4-26 VID 12N 136014-126 or 136014-157 136014-171
|
||||
? PP1-27 <-- VID 11N 136014-131 <--
|
||||
VID 1L PP1-27 <-- VID 11N 136014-131 or 136014-231 <--
|
||||
VID 1F PP1-28 PP4-28 VID 7N 136014-132 or 137205-001? 136014-172
|
||||
VID 1E PP1-29 PP4-29 VID 6N 136014-133 or 137205-001? 136014-173
|
||||
VID 3A PP1-30 <-- VID 2L 136014-127 == 136014-158 <--
|
||||
@ -176,8 +176,8 @@ VID 4D PP1-11[bpr] PP4-11[bpr] VID 5K 136014-141 136014-190
|
||||
VID 3C PP1-12[bpr] PP4-12[bpr] VID 4L 136014-145 136014-191
|
||||
VID 8E PP1-13[bpr] <-- VID 6E 136014-135 <--
|
||||
VID 9E PP1-14[bpr] <-- VID 6D 136014-136 <--
|
||||
? PP1-15[bpr] <-- VID 2D 136014-142 <--
|
||||
? PP1-16[bpr] <-- VID 2C 136014-143 <--
|
||||
VID 9A PP1-15[bpr] <-- VID 2D 136014-142 <--
|
||||
VID 10A PP1-16[bpr] <-- VID 2C 136014-143 <--
|
||||
VID 11A PP1-17[bpr] <-- VID 2B 136014-144 <--
|
||||
|
||||
|
||||
@ -210,9 +210,8 @@ Notes:
|
||||
|
||||
Todo:
|
||||
|
||||
- the bootlegs without Namco devices (topracern, polepos2bi) still still require
|
||||
- the bootlegs without Namco devices (topracern, polepos2bi) still require
|
||||
our 06xx and 51xx emulation to boot, this is incorrect.
|
||||
- these sets also don't update the ingame gear artwork
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -225,14 +224,16 @@ Todo:
|
||||
#include "machine/namco51.h"
|
||||
#include "machine/namco53.h"
|
||||
#include "sound/namco.h"
|
||||
#include "sound/samples.h"
|
||||
#include "audio/namco52.h"
|
||||
#include "audio/namco54.h"
|
||||
#include "includes/polepos.h"
|
||||
#include "sound/tms5220.h"
|
||||
|
||||
#include "polepos.lh"
|
||||
#include "topracer.lh"
|
||||
|
||||
|
||||
#define MASTER_CLOCK XTAL_24_576MHz
|
||||
#define POLEPOS_TOGGLE PORT_TOGGLE
|
||||
|
||||
|
||||
@ -241,7 +242,6 @@ static UINT8 steer_delta;
|
||||
static INT16 steer_accum;
|
||||
|
||||
|
||||
|
||||
/*************************************************************************************/
|
||||
/* Pole Position II protection */
|
||||
/*************************************************************************************/
|
||||
@ -420,22 +420,20 @@ static READ8_DEVICE_HANDLER( steering_changed_r )
|
||||
{
|
||||
/* read the current steering value and update our delta */
|
||||
UINT8 steer_new = input_port_read(device->machine, "STEER");
|
||||
steer_accum += (INT8)(steer_new - steer_last);
|
||||
steer_accum += (INT8)(steer_new - steer_last) * 2;
|
||||
steer_last = steer_new;
|
||||
|
||||
/* if we have delta, clock things */
|
||||
if (steer_accum < 0)
|
||||
{
|
||||
steer_delta = 1;
|
||||
steer_delta = 0;
|
||||
steer_accum++;
|
||||
}
|
||||
else if (steer_accum > 0)
|
||||
{
|
||||
steer_delta = 0;
|
||||
steer_delta = 1;
|
||||
steer_accum--;
|
||||
}
|
||||
else
|
||||
steer_delta ^= 1;
|
||||
|
||||
return steer_accum & 1;
|
||||
}
|
||||
@ -604,19 +602,9 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( poleposa )
|
||||
PORT_START("IN0L")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gear Change") PORT_CODE(KEYCODE_SPACE) POLEPOS_TOGGLE /* Gear */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(auto_start_r, NULL) // start 1, program controlled
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_INCLUDE( polepos )
|
||||
|
||||
PORT_START("IN0H")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START("DSWA")
|
||||
PORT_MODIFY("DSWA")
|
||||
PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
|
||||
@ -640,10 +628,7 @@ static INPUT_PORTS_START( poleposa )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4" )
|
||||
|
||||
PORT_START("DSWA_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWA")
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_MODIFY("DSWB")
|
||||
PORT_DIPNAME( 0xe0, 0xe0, "Practice Rank" )
|
||||
PORT_DIPSETTING( 0xe0, "A" )
|
||||
PORT_DIPSETTING( 0x60, "B" )
|
||||
@ -668,18 +653,6 @@ static INPUT_PORTS_START( poleposa )
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWB_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWB")
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0,0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
|
||||
|
||||
PORT_START("ACCEL")
|
||||
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0,0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
|
||||
|
||||
PORT_START("STEER")
|
||||
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(4)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -726,6 +699,7 @@ static INPUT_PORTS_START( topracern )
|
||||
PORT_START("DSWA_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWA")
|
||||
|
||||
/* FIXME: these dips don't work and may not even exist on this bootleg */
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x07, 0x07, "Extended Rank" )
|
||||
PORT_DIPSETTING( 0x07, "A" )
|
||||
@ -767,19 +741,9 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( polepos2 )
|
||||
PORT_START("IN0L")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gear Change") PORT_CODE(KEYCODE_SPACE) POLEPOS_TOGGLE /* Gear */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(auto_start_r, NULL) // start 1, program controlled
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_INCLUDE( polepos )
|
||||
|
||||
PORT_START("IN0H")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START("DSWA")
|
||||
PORT_MODIFY("DSWA")
|
||||
PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
|
||||
@ -804,10 +768,7 @@ static INPUT_PORTS_START( polepos2 )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWA_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWA")
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_MODIFY("DSWB")
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Game_Time ) )
|
||||
PORT_DIPSETTING( 0x80, "90 secs." )
|
||||
PORT_DIPSETTING( 0x00, "120 secs." )
|
||||
@ -829,18 +790,6 @@ static INPUT_PORTS_START( polepos2 )
|
||||
PORT_DIPNAME( 0x01, 0x01, "Speed" )
|
||||
PORT_DIPSETTING( 0x01, "Average" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( High ) )
|
||||
|
||||
PORT_START("DSWB_HI")
|
||||
PORT_BIT( 0x0f, 0x00, IPT_SPECIAL ) PORT_CUSTOM(high_port_r, "DSWB")
|
||||
|
||||
PORT_START("BRAKE")
|
||||
PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_MINMAX(0,0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
|
||||
|
||||
PORT_START("ACCEL")
|
||||
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_MINMAX(0,0x90) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
|
||||
|
||||
PORT_START("STEER")
|
||||
PORT_BIT ( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(4)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -917,25 +866,25 @@ static const namco_interface namco_config =
|
||||
static MACHINE_DRIVER_START( polepos )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z80_map)
|
||||
MDRV_CPU_IO_MAP(z80_io)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_assert,2) /* 64V */
|
||||
|
||||
MDRV_CPU_ADD("sub", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub", Z8002, MASTER_CLOCK/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
MDRV_CPU_ADD("sub2", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub2", Z8002, MASTER_CLOCK/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
MDRV_NAMCO_51XX_ADD("51xx", 18432000/6/2, namco_51xx_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_52XX_ADD("52xx", 18432000/6/2, namco_52xx_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_53XX_ADD("53xx", 18432000/6/2, namco_53xx_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_54XX_ADD("54xx", 18432000/6/2, "discrete", NODE_01) /* 1.536 MHz */
|
||||
MDRV_NAMCO_51XX_ADD("51xx", MASTER_CLOCK/8/2, namco_51xx_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_52XX_ADD("52xx", MASTER_CLOCK/8/2, namco_52xx_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_53XX_ADD("53xx", MASTER_CLOCK/8/2, namco_53xx_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_54XX_ADD("54xx", MASTER_CLOCK/8/2, "discrete", NODE_01) /* 1.536 MHz */
|
||||
|
||||
MDRV_NAMCO_06XX_ADD("06xx", 18432000/6/64, "maincpu", "51xx", "53xx", "52xx", "54xx")
|
||||
MDRV_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/8/64, "maincpu", "51xx", "53xx", "52xx", "54xx")
|
||||
|
||||
MDRV_WATCHDOG_VBLANK_INIT(16) // 128V clocks the same as VBLANK
|
||||
|
||||
@ -946,12 +895,15 @@ static MACHINE_DRIVER_START( polepos )
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60.606060)
|
||||
MDRV_SCREEN_REFRESH_RATE((double)MASTER_CLOCK/4/384/264)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
|
||||
|
||||
/* should be correct, but makes polepos2 and clones fail to boot */
|
||||
// MDRV_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 384, 0, 256, 264, 16, 224+16)
|
||||
|
||||
MDRV_GFXDECODE(polepos)
|
||||
MDRV_PALETTE_LENGTH(0x0f00)
|
||||
MDRV_DEFAULT_LAYOUT(layout_polepos)
|
||||
@ -963,7 +915,7 @@ static MACHINE_DRIVER_START( polepos )
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MDRV_SOUND_ADD("namco", NAMCO, 24576000/512)
|
||||
MDRV_SOUND_ADD("namco", NAMCO, MASTER_CLOCK/512)
|
||||
MDRV_SOUND_CONFIG(namco_config)
|
||||
MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
|
||||
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
|
||||
@ -1000,22 +952,22 @@ static const namco_51xx_interface namco_51xx_bl_intf =
|
||||
static MACHINE_DRIVER_START( topracern )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z80_map)
|
||||
MDRV_CPU_IO_MAP(z80_io)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_assert,2) /* 64V */
|
||||
|
||||
MDRV_CPU_ADD("sub", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub", Z8002, MASTER_CLOCK/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
MDRV_CPU_ADD("sub2", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub2", Z8002, MASTER_CLOCK/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
/* todo, remove these devices too, this bootleg doesn't have them, but the emulation doesn't boot without them.. */
|
||||
MDRV_NAMCO_51XX_ADD("51xx", 18432000/6/2, namco_51xx_bl_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_06XX_ADD("06xx", 18432000/6/64, "maincpu", "51xx", NULL, NULL, NULL)
|
||||
MDRV_NAMCO_51XX_ADD("51xx", MASTER_CLOCK/8/2, namco_51xx_bl_intf) /* 1.536 MHz */
|
||||
MDRV_NAMCO_06XX_ADD("06xx", MASTER_CLOCK/8/64, "maincpu", "51xx", NULL, NULL, NULL)
|
||||
|
||||
MDRV_WATCHDOG_VBLANK_INIT(16) // 128V clocks the same as VBLANK
|
||||
|
||||
@ -1026,7 +978,7 @@ static MACHINE_DRIVER_START( topracern )
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60.606060)
|
||||
MDRV_SCREEN_REFRESH_RATE((double)MASTER_CLOCK/4/384/264)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
@ -1034,7 +986,7 @@ static MACHINE_DRIVER_START( topracern )
|
||||
|
||||
MDRV_GFXDECODE(polepos)
|
||||
MDRV_PALETTE_LENGTH(0x0f00)
|
||||
MDRV_DEFAULT_LAYOUT(layout_polepos)
|
||||
MDRV_DEFAULT_LAYOUT(layout_topracer)
|
||||
|
||||
MDRV_PALETTE_INIT(polepos)
|
||||
MDRV_VIDEO_START(polepos)
|
||||
@ -1043,7 +995,7 @@ static MACHINE_DRIVER_START( topracern )
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MDRV_SOUND_ADD("namco", NAMCO, 24576000/512)
|
||||
MDRV_SOUND_ADD("namco", NAMCO, MASTER_CLOCK/512)
|
||||
MDRV_SOUND_CONFIG(namco_config)
|
||||
MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
|
||||
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
|
||||
@ -1067,7 +1019,7 @@ ADDRESS_MAP_END
|
||||
static MACHINE_DRIVER_START( polepos2bi )
|
||||
MDRV_IMPORT_FROM(topracern)
|
||||
|
||||
MDRV_CPU_ADD("soundz80bl", Z80, 24576000/8) /*? MHz */
|
||||
MDRV_CPU_ADD("soundz80bl", Z80, MASTER_CLOCK/8) /*? MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_z80_bootleg_map)
|
||||
MDRV_CPU_IO_MAP(sound_z80_bootleg_iomap)
|
||||
|
||||
@ -1090,7 +1042,7 @@ ROM_START( polepos )
|
||||
/* Z80 memory/ROM data */
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "pp1_9b.6h", 0x0000, 0x2000, CRC(94436b70) SHA1(7495c2a8c3928c59146760d19e672afee01c5b17) )
|
||||
ROM_LOAD( "136014.116", 0x2000, 0x1000, CRC(7174bcb7) SHA1(460326a6cea201db2df813013c95562a222ea95d) )
|
||||
ROM_LOAD( "pp1_10b.5h", 0x2000, 0x1000, CRC(7174bcb7) SHA1(460326a6cea201db2df813013c95562a222ea95d) )
|
||||
|
||||
/* Z8002 #1 memory/ROM data */
|
||||
ROM_REGION( 0x10000, "sub", 0 )
|
||||
@ -1114,43 +1066,43 @@ ROM_START( polepos )
|
||||
ROM_LOAD( "pp1_26.1m", 0x2000, 0x2000, CRC(94443079) SHA1(413d7b762c8dff541675e96874be6ee0251d3581) ) /* 4bpp sm sprites, planes 2+3 */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx4", 0 ) /* 4bpp 32x32 sprites */
|
||||
ROM_LOAD( "136014.150", 0x0000, 0x2000, CRC(2e134b46) SHA1(0938f5f9f5cc6d7c1096c569449db78dbc42da01) ) /* 4bpp lg sprites, planes 0+1 */
|
||||
ROM_LOAD( "pp1_17.5n", 0x0000, 0x2000, CRC(2e134b46) SHA1(0938f5f9f5cc6d7c1096c569449db78dbc42da01) ) /* 4bpp lg sprites, planes 0+1 */
|
||||
ROM_LOAD( "pp1_19.4n", 0x2000, 0x2000, CRC(43ff83e1) SHA1(8f830549a629b019125e59801e5027e4e4b3c0f2) )
|
||||
ROM_LOAD( "pp1_21.3n", 0x4000, 0x2000, CRC(5f958eb4) SHA1(b56d84e5e5e0ddeb0e71851ba66e5fa1b1409551) )
|
||||
ROM_LOAD( "136014.151", 0x8000, 0x2000, CRC(6f9997d2) SHA1(b26d505266ccf23bfd867f881756c3251c80f57b) ) /* 4bpp lg sprites, planes 2+3 */
|
||||
ROM_LOAD( "pp1_18.5m", 0x8000, 0x2000, CRC(6f9997d2) SHA1(b26d505266ccf23bfd867f881756c3251c80f57b) ) /* 4bpp lg sprites, planes 2+3 */
|
||||
ROM_LOAD( "pp1_20.4m", 0xa000, 0x2000, CRC(ec18075b) SHA1(af7be549c5fa47551a8dca4c0a531552147fa50f) )
|
||||
ROM_LOAD( "pp1_22.3m", 0xc000, 0x2000, CRC(1d2f30b1) SHA1(1d88a3069e9b15febd2835dd63e5511b3b2a6b45) )
|
||||
|
||||
ROM_REGION( 0x5000, "gfx5", 0 ) /* road generation ROMs needed at runtime */
|
||||
ROM_LOAD( "136014.158", 0x0000, 0x2000, CRC(ee6b3315) SHA1(9cc26c6d3604c0f60d716f86e67e9d9c0487f87d) ) /* road control */
|
||||
ROM_LOAD( "136014.159", 0x2000, 0x2000, CRC(6d1e7042) SHA1(90113ff0c93ed86d95067290088705bb5e6608d1) ) /* road bits 1 */
|
||||
ROM_LOAD( "136014.134", 0x4000, 0x1000, CRC(4e97f101) SHA1(f377d053821c74aee93ebcd30a4d43e6156f3cfe) ) /* road bits 2 */
|
||||
ROM_LOAD( "pp1_30.3a", 0x0000, 0x2000, CRC(ee6b3315) SHA1(9cc26c6d3604c0f60d716f86e67e9d9c0487f87d) ) /* road control */
|
||||
ROM_LOAD( "pp1_31.2a", 0x2000, 0x2000, CRC(6d1e7042) SHA1(90113ff0c93ed86d95067290088705bb5e6608d1) ) /* road bits 1 */
|
||||
ROM_LOAD( "pp1_32.1a", 0x4000, 0x1000, CRC(4e97f101) SHA1(f377d053821c74aee93ebcd30a4d43e6156f3cfe) ) /* road bits 2 */
|
||||
|
||||
ROM_REGION( 0x1000, "gfx6", 0 ) /* sprite scaling */
|
||||
ROM_LOAD( "136014.231", 0x0000, 0x1000, CRC(a61bff15) SHA1(f7a59970831cdaaa7bf59c2221a38e4746c54244) ) /* vertical scaling */
|
||||
ROM_LOAD( "pp1_27.1l", 0x0000, 0x1000, CRC(a61bff15) SHA1(f7a59970831cdaaa7bf59c2221a38e4746c54244) ) /* vertical scaling */
|
||||
|
||||
/* graphics (P)ROM data */
|
||||
ROM_REGION( 0x1040, "proms", 0 )
|
||||
ROM_LOAD( "136014.137", 0x0000, 0x0100, CRC(f07ff2ad) SHA1(e1f3cb10a03d23f8c1d422acf271dba4e7b98cb1) ) /* red palette */
|
||||
ROM_LOAD( "136014.138", 0x0100, 0x0100, CRC(adbde7d7) SHA1(956ac5117c1e310f554ac705aa2dc24a796c36a5) ) /* green palette */
|
||||
ROM_LOAD( "136014.139", 0x0200, 0x0100, CRC(ddac786a) SHA1(d1860105bf91297533ccc4aa6775987df198d0fa) ) /* blue palette */
|
||||
ROM_LOAD( "136014.140", 0x0300, 0x0100, CRC(1e8d0491) SHA1(e8bf1db5c1fb04a35763099965cf5c588240bde5) ) /* alpha color */
|
||||
ROM_LOAD( "136014.141", 0x0400, 0x0100, CRC(0e4fe8a0) SHA1(d330b1e5ebccf5bbefcf71486fd80d816de38196) ) /* background color */
|
||||
ROM_LOAD( "136014.142", 0x0500, 0x0100, CRC(2d502464) SHA1(682b7dd22e51d5db52c0804b7e27e47641dfa6bd) ) /* vertical position low */
|
||||
ROM_LOAD( "136014.143", 0x0600, 0x0100, CRC(027aa62c) SHA1(c7030d8b64b80e107c446f6fbdd63f560c0a91c0) ) /* vertical position med */
|
||||
ROM_LOAD( "136014.144", 0x0700, 0x0100, CRC(1f8d0df3) SHA1(b8f17758f114f5e247b65b3f2922ca2660757e66) ) /* vertical position hi */
|
||||
ROM_LOAD( "136014.145", 0x0800, 0x0400, CRC(7afc7cfc) SHA1(ba2407f6eff124e881b354f13205a4c058b7cf60) ) /* road color */
|
||||
ROM_LOAD( "pp1_7.bpr", 0x0000, 0x0100, CRC(f07ff2ad) SHA1(e1f3cb10a03d23f8c1d422acf271dba4e7b98cb1) ) /* red palette */
|
||||
ROM_LOAD( "pp1_8.bpr", 0x0100, 0x0100, CRC(adbde7d7) SHA1(956ac5117c1e310f554ac705aa2dc24a796c36a5) ) /* green palette */
|
||||
ROM_LOAD( "pp1_9.bpr", 0x0200, 0x0100, CRC(ddac786a) SHA1(d1860105bf91297533ccc4aa6775987df198d0fa) ) /* blue palette */
|
||||
ROM_LOAD( "pp1_10.bpr", 0x0300, 0x0100, CRC(1e8d0491) SHA1(e8bf1db5c1fb04a35763099965cf5c588240bde5) ) /* alpha color */
|
||||
ROM_LOAD( "pp1_11.bpr", 0x0400, 0x0100, CRC(0e4fe8a0) SHA1(d330b1e5ebccf5bbefcf71486fd80d816de38196) ) /* background color */
|
||||
ROM_LOAD( "pp1_15.bpr", 0x0500, 0x0100, CRC(2d502464) SHA1(682b7dd22e51d5db52c0804b7e27e47641dfa6bd) ) /* vertical position low */
|
||||
ROM_LOAD( "pp1_16.bpr", 0x0600, 0x0100, CRC(027aa62c) SHA1(c7030d8b64b80e107c446f6fbdd63f560c0a91c0) ) /* vertical position med */
|
||||
ROM_LOAD( "pp1_17.bpr", 0x0700, 0x0100, CRC(1f8d0df3) SHA1(b8f17758f114f5e247b65b3f2922ca2660757e66) ) /* vertical position hi */
|
||||
ROM_LOAD( "pp1_12.bpr", 0x0800, 0x0400, CRC(7afc7cfc) SHA1(ba2407f6eff124e881b354f13205a4c058b7cf60) ) /* road color */
|
||||
ROM_LOAD( "pp1_6.bpr", 0x0c00, 0x0400, CRC(2f1079ee) SHA1(18a27998a78deff13dd198f3668a7e92f084f467) ) /* sprite color */
|
||||
ROM_LOAD( "136014.135", 0x1000, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
ROM_LOAD( "136014.136", 0x1020, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
ROM_LOAD( "pp1_13.bpr", 0x1000, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
ROM_LOAD( "pp1_14.bpr", 0x1020, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
|
||||
/* sound (P)ROM data */
|
||||
ROM_REGION( 0x0100, "namco", 0 )
|
||||
ROM_LOAD( "136014.118", 0x0000, 0x0100, CRC(8568decc) SHA1(0aac1fa082858d4d201e21511c609a989f9a1535) ) /* Namco sound */
|
||||
ROM_LOAD( "pp1_5.bpr", 0x0000, 0x0100, CRC(8568decc) SHA1(0aac1fa082858d4d201e21511c609a989f9a1535) ) /* Namco sound */
|
||||
|
||||
ROM_REGION( 0x4000, "engine", 0 )
|
||||
ROM_LOAD( "136014.110", 0x0000, 0x2000, CRC(b5ad4d5f) SHA1(c07e77a050200d6fe9952031f971ca35f4d15ff8) ) /* engine sound */
|
||||
ROM_LOAD( "136014.111", 0x2000, 0x2000, CRC(8fdd2f6f) SHA1(3818dc94c60cd78c4212ab7a4367cf3d98166ee6) ) /* engine sound */
|
||||
ROM_LOAD( "pp1_15.6a", 0x0000, 0x2000, CRC(b5ad4d5f) SHA1(c07e77a050200d6fe9952031f971ca35f4d15ff8) ) /* engine sound */
|
||||
ROM_LOAD( "pp1_16.5a", 0x2000, 0x2000, CRC(8fdd2f6f) SHA1(3818dc94c60cd78c4212ab7a4367cf3d98166ee6) ) /* engine sound */
|
||||
|
||||
ROM_REGION( 0x8000, "52xx", 0 )
|
||||
ROM_LOAD( "pp1_11.2e", 0x0000, 0x2000, CRC(45b9bfeb) SHA1(ff8c690471944d414931fb88666594ef608997f8) ) /* voice */
|
||||
@ -1160,7 +1112,7 @@ ROM_START( polepos )
|
||||
|
||||
/* unknown or unused (P)ROM data */
|
||||
ROM_REGION( 0x0100, "user1", 0 )
|
||||
ROM_LOAD( "136014.117", 0x0000, 0x0100, CRC(2401c817) SHA1(8991b7994513a469e64392fa8f233af5e5f06d54) ) /* sync chain */
|
||||
ROM_LOAD( "pp1_4.bpr", 0x0000, 0x0100, CRC(2401c817) SHA1(8991b7994513a469e64392fa8f233af5e5f06d54) ) /* sync chain */
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
@ -1458,7 +1410,8 @@ ROM_START( topracer )
|
||||
ROM_LOAD( "tr21.bin", 0x4000, 0x2000, CRC(17c798b0) SHA1(ae2047bc0e4e8c85e1de09c39c200ea8f7c6a72e) )
|
||||
ROM_LOAD( "pp18.bin", 0x8000, 0x2000, CRC(5fd933e3) SHA1(5b27a8519234c935308f943cd58abc1efc463726) ) /* 4bpp lg sprites, planes 2+3 */
|
||||
ROM_LOAD( "tr20.bin", 0xa000, 0x2000, CRC(7053e219) SHA1(97700fbe887e2d11c9f9a0937147725f6787f081) )
|
||||
ROM_LOAD( "tr22.bin", 0xc000, 0x2000, CRC(f48917b2) SHA1(2823cfc33ae97ef979d92e2eeeb94c95f1f3d9f3) )
|
||||
// ROM_LOAD( "tr22.bin", 0xc000, 0x2000, CRC(f48917b2) SHA1(2823cfc33ae97ef979d92e2eeeb94c95f1f3d9f3) ) /* differs by one bit, almost certainly bitrot */
|
||||
ROM_LOAD( "tr22.bin", 0xc000, 0x2000, CRC(5fe9b365) SHA1(1a3ac099a6bb506a5f71c12c6fb14d014172371c) )
|
||||
|
||||
ROM_REGION( 0x5000, "gfx5", 0 ) /* road generation ROMs needed at runtime */
|
||||
ROM_LOAD( "136014.158", 0x0000, 0x2000, CRC(ee6b3315) SHA1(9cc26c6d3604c0f60d716f86e67e9d9c0487f87d) ) /* road control */
|
||||
@ -1688,7 +1641,7 @@ ROM_START( polepos2 )
|
||||
/* Z80 memory/ROM data */
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "pp4_9.6h", 0x0000, 0x2000, CRC(bcf87004) SHA1(0c60cbb777fe72dfd11c6f3e9da806a515cd0f8a) )
|
||||
ROM_LOAD( "136014.183", 0x2000, 0x1000, CRC(a9d4c380) SHA1(6048a8e858824936901e8e3e6b65d7505ccd82b4) )
|
||||
ROM_LOAD( "pp4_10.5h", 0x2000, 0x1000, CRC(a9d4c380) SHA1(6048a8e858824936901e8e3e6b65d7505ccd82b4) )
|
||||
|
||||
/* Z8002 #1 memory/ROM data */
|
||||
ROM_REGION( 0x10000, "sub", 0 )
|
||||
@ -1707,52 +1660,52 @@ ROM_START( polepos2 )
|
||||
ROM_LOAD( "pp4_28.1f", 0x0000, 0x2000, CRC(280dde7d) SHA1(b7c7fb3a5076aa4d0e0cf3256ece9a6194315626) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx2", 0 ) /* 2bpp view layer */
|
||||
ROM_LOAD( "136014.173", 0x0000, 0x2000, CRC(ec3ec6e6) SHA1(ae905d0ae802d1010b2c1f1a13e88a1f0dbe57da) )
|
||||
ROM_LOAD( "pp4_29.1e", 0x0000, 0x2000, CRC(ec3ec6e6) SHA1(ae905d0ae802d1010b2c1f1a13e88a1f0dbe57da) )
|
||||
|
||||
ROM_REGION( 0x04000, "gfx3", 0 ) /* 4bpp 16x16 sprites */
|
||||
ROM_LOAD( "pp4_25.1n", 0x0000, 0x2000, CRC(fd098e65) SHA1(2c497f1d278ba6730752706a0d1b5a5a0fec3d5b) ) /* 4bpp sm sprites, planes 0+1 */
|
||||
ROM_LOAD( "pp4_26.1m", 0x2000, 0x2000, CRC(35ac62b3) SHA1(21038a78eb73d520e3e1ae8e1c0047d06b94cdab) ) /* 4bpp sm sprites, planes 2+3 */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx4", 0 ) /* 4bpp 32x32 sprites */
|
||||
ROM_LOAD( "136014.119", 0x0000, 0x2000, CRC(2e134b46) SHA1(0938f5f9f5cc6d7c1096c569449db78dbc42da01) ) /* 4bpp lg sprites, planes 0+1 */
|
||||
ROM_LOAD( "pp1_17.5n", 0x0000, 0x2000, CRC(2e134b46) SHA1(0938f5f9f5cc6d7c1096c569449db78dbc42da01) ) /* 4bpp lg sprites, planes 0+1 */
|
||||
ROM_LOAD( "pp1_19.4n", 0x2000, 0x2000, CRC(43ff83e1) SHA1(8f830549a629b019125e59801e5027e4e4b3c0f2) )
|
||||
ROM_LOAD( "pp1_21.3n", 0x4000, 0x2000, CRC(5f958eb4) SHA1(b56d84e5e5e0ddeb0e71851ba66e5fa1b1409551) )
|
||||
ROM_LOAD( "pp4_23.2n", 0x6000, 0x2000, CRC(9e056fcd) SHA1(8545e0a9b6ebf8c2903321ceb9c4d693db10d750) )
|
||||
ROM_LOAD( "136014.120", 0x8000, 0x2000, CRC(6f9997d2) SHA1(b26d505266ccf23bfd867f881756c3251c80f57b) ) /* 4bpp lg sprites, planes 2+3 */
|
||||
ROM_LOAD( "pp1_18.5m", 0x8000, 0x2000, CRC(6f9997d2) SHA1(b26d505266ccf23bfd867f881756c3251c80f57b) ) /* 4bpp lg sprites, planes 2+3 */
|
||||
ROM_LOAD( "pp1_20.4m", 0xa000, 0x2000, CRC(ec18075b) SHA1(af7be549c5fa47551a8dca4c0a531552147fa50f) )
|
||||
ROM_LOAD( "pp1_22.3m", 0xc000, 0x2000, CRC(1d2f30b1) SHA1(1d88a3069e9b15febd2835dd63e5511b3b2a6b45) )
|
||||
ROM_LOAD( "pp4_24.2m", 0xe000, 0x2000, CRC(795268cf) SHA1(84136142ef4bdcd97ede2209ecb16745960ac393) )
|
||||
|
||||
ROM_REGION( 0x5000, "gfx5", 0 ) /* road generation ROMs needed at runtime */
|
||||
ROM_LOAD( "136014.127", 0x0000, 0x2000, CRC(ee6b3315) SHA1(9cc26c6d3604c0f60d716f86e67e9d9c0487f87d) ) /* road control */
|
||||
ROM_LOAD( "136014.128", 0x2000, 0x2000, CRC(6d1e7042) SHA1(90113ff0c93ed86d95067290088705bb5e6608d1) ) /* road bits 1 */
|
||||
ROM_LOAD( "136014.134", 0x4000, 0x1000, CRC(4e97f101) SHA1(f377d053821c74aee93ebcd30a4d43e6156f3cfe) ) /* road bits 2 */
|
||||
ROM_LOAD( "pp1_30.3a", 0x0000, 0x2000, CRC(ee6b3315) SHA1(9cc26c6d3604c0f60d716f86e67e9d9c0487f87d) ) /* road control */
|
||||
ROM_LOAD( "pp1_31.2a", 0x2000, 0x2000, CRC(6d1e7042) SHA1(90113ff0c93ed86d95067290088705bb5e6608d1) ) /* road bits 1 */
|
||||
ROM_LOAD( "pp1_32.1a", 0x4000, 0x1000, CRC(4e97f101) SHA1(f377d053821c74aee93ebcd30a4d43e6156f3cfe) ) /* road bits 2 */
|
||||
|
||||
ROM_REGION( 0x1000, "gfx6", 0 ) /* sprite scaling */
|
||||
ROM_LOAD( "136014.231", 0x0000, 0x1000, CRC(a61bff15) SHA1(f7a59970831cdaaa7bf59c2221a38e4746c54244) ) /* vertical scaling */
|
||||
ROM_LOAD( "pp1_27.1l", 0x0000, 0x1000, CRC(a61bff15) SHA1(f7a59970831cdaaa7bf59c2221a38e4746c54244) ) /* vertical scaling */
|
||||
|
||||
/* graphics (P)ROM data */
|
||||
ROM_REGION( 0x1040, "proms", 0 )
|
||||
ROM_LOAD( "136014.186", 0x0000, 0x0100, CRC(16d69c31) SHA1(f24b345448e4f4ef4e2f3b057b81d399cf427f88) ) /* red palette */
|
||||
ROM_LOAD( "136014.187", 0x0100, 0x0100, CRC(07340311) SHA1(3820d1fa99013ed18de5d9400ad376cc446d1217) ) /* green palette */
|
||||
ROM_LOAD( "136014.188", 0x0200, 0x0100, CRC(1efc84d7) SHA1(6946e1c209eec0a4b75778ae88111e6cb63c63fb) ) /* blue palette */
|
||||
ROM_LOAD( "136014.189", 0x0300, 0x0100, CRC(064d51a0) SHA1(d5baa29930530a8930b44a374e285de849c2a6ce) ) /* alpha color */
|
||||
ROM_LOAD( "136014.190", 0x0400, 0x0100, CRC(7880c5af) SHA1(e4388e354420be3f99594a10c091e3d2f745cc04) ) /* background color */
|
||||
ROM_LOAD( "136014.142", 0x0500, 0x0100, CRC(2d502464) SHA1(682b7dd22e51d5db52c0804b7e27e47641dfa6bd) ) /* vertical position low */
|
||||
ROM_LOAD( "136014.143", 0x0600, 0x0100, CRC(027aa62c) SHA1(c7030d8b64b80e107c446f6fbdd63f560c0a91c0) ) /* vertical position med */
|
||||
ROM_LOAD( "136014.144", 0x0700, 0x0100, CRC(1f8d0df3) SHA1(b8f17758f114f5e247b65b3f2922ca2660757e66) ) /* vertical position hi */
|
||||
ROM_LOAD( "136014.191", 0x0800, 0x0400, CRC(8b270902) SHA1(27b3ebc92d3a2a5c0432bde018a0e43669041d50) ) /* road color */
|
||||
ROM_LOAD( "pp4-6.6m", 0x0c00, 0x0400, CRC(647212b5) SHA1(ad58dfebd0ce8226285c2671c3b7797852c26d07) ) /* sprite color */
|
||||
ROM_LOAD( "136014.135", 0x1000, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
ROM_LOAD( "136014.136", 0x1020, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
ROM_LOAD( "pp4_7.bpr", 0x0000, 0x0100, CRC(16d69c31) SHA1(f24b345448e4f4ef4e2f3b057b81d399cf427f88) ) /* red palette */
|
||||
ROM_LOAD( "pp4_8.bpr", 0x0100, 0x0100, CRC(07340311) SHA1(3820d1fa99013ed18de5d9400ad376cc446d1217) ) /* green palette */
|
||||
ROM_LOAD( "pp4_9.bpr", 0x0200, 0x0100, CRC(1efc84d7) SHA1(6946e1c209eec0a4b75778ae88111e6cb63c63fb) ) /* blue palette */
|
||||
ROM_LOAD( "pp4_10.bpr", 0x0300, 0x0100, CRC(064d51a0) SHA1(d5baa29930530a8930b44a374e285de849c2a6ce) ) /* alpha color */
|
||||
ROM_LOAD( "pp4_11.bpr", 0x0400, 0x0100, CRC(7880c5af) SHA1(e4388e354420be3f99594a10c091e3d2f745cc04) ) /* background color */
|
||||
ROM_LOAD( "pp1_15.bpr", 0x0500, 0x0100, CRC(2d502464) SHA1(682b7dd22e51d5db52c0804b7e27e47641dfa6bd) ) /* vertical position low */
|
||||
ROM_LOAD( "pp1_16.bpr", 0x0600, 0x0100, CRC(027aa62c) SHA1(c7030d8b64b80e107c446f6fbdd63f560c0a91c0) ) /* vertical position med */
|
||||
ROM_LOAD( "pp1_17.bpr", 0x0700, 0x0100, CRC(1f8d0df3) SHA1(b8f17758f114f5e247b65b3f2922ca2660757e66) ) /* vertical position hi */
|
||||
ROM_LOAD( "pp4_12.bpr", 0x0800, 0x0400, CRC(8b270902) SHA1(27b3ebc92d3a2a5c0432bde018a0e43669041d50) ) /* road color */
|
||||
ROM_LOAD( "pp4_6.bpr", 0x0c00, 0x0400, CRC(647212b5) SHA1(ad58dfebd0ce8226285c2671c3b7797852c26d07) ) /* sprite color */
|
||||
ROM_LOAD( "pp1_13.bpr", 0x1000, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
ROM_LOAD( "pp1_14.bpr", 0x1020, 0x0020, CRC(4330a51b) SHA1(9531d18ce2de4eda9913d47ef8c5cd8f05791716) ) /* video RAM address decoder (not used) */
|
||||
|
||||
/* sound (P)ROM data */
|
||||
ROM_REGION( 0x0100, "namco", 0 )
|
||||
ROM_LOAD( "136014.118", 0x0000, 0x0100, CRC(8568decc) SHA1(0aac1fa082858d4d201e21511c609a989f9a1535) ) /* Namco sound */
|
||||
ROM_LOAD( "pp1_5.bpr", 0x0000, 0x0100, CRC(8568decc) SHA1(0aac1fa082858d4d201e21511c609a989f9a1535) ) /* Namco sound */
|
||||
|
||||
ROM_REGION( 0x4000, "engine", 0 )
|
||||
ROM_LOAD( "136014.181", 0x0000, 0x2000, CRC(7d93bc1c) SHA1(dad7c0aa24aef593c84e21f7f8858ca7ada86364) ) /* engine sound */
|
||||
ROM_LOAD( "136014.182", 0x2000, 0x2000, CRC(7d93bc1c) SHA1(dad7c0aa24aef593c84e21f7f8858ca7ada86364) ) /* engine sound */
|
||||
ROM_LOAD( "pp4_15.6a", 0x0000, 0x2000, CRC(7d93bc1c) SHA1(dad7c0aa24aef593c84e21f7f8858ca7ada86364) ) /* engine sound */
|
||||
ROM_LOAD( "pp4_16.5a", 0x2000, 0x2000, CRC(7d93bc1c) SHA1(dad7c0aa24aef593c84e21f7f8858ca7ada86364) ) /* engine sound */
|
||||
|
||||
ROM_REGION( 0x8000, "52xx", 0 )
|
||||
ROM_LOAD( "pp1_11.2e", 0x0000, 0x2000, CRC(45b9bfeb) SHA1(ff8c690471944d414931fb88666594ef608997f8) ) /* voice */
|
||||
@ -1762,7 +1715,7 @@ ROM_START( polepos2 )
|
||||
|
||||
/* unknown or unused (P)ROM data */
|
||||
ROM_REGION( 0x0100, "user1", 0 )
|
||||
ROM_LOAD( "136014.117", 0x0000, 0x0100, CRC(2401c817) SHA1(8991b7994513a469e64392fa8f233af5e5f06d54) ) /* sync chain */
|
||||
ROM_LOAD( "pp1_4.bpr", 0x0000, 0x0100, CRC(2401c817) SHA1(8991b7994513a469e64392fa8f233af5e5f06d54) ) /* sync chain */
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -2003,8 +1956,9 @@ ROM_START( polepos2bi )
|
||||
ROM_REGION( 0x0100, "namco", 0 )
|
||||
ROM_LOAD( "74s287-b.bin", 0x0000, 0x0100, CRC(8568decc) SHA1(0aac1fa082858d4d201e21511c609a989f9a1535) ) /* Namco sound */
|
||||
|
||||
ROM_REGION( 0x4000, "engine", 0 ) /* these roms are both the same on the original sets, but here they differ */
|
||||
ROM_LOAD( "pp4-15.bin", 0x0000, 0x2000, CRC(5d79e1ad) SHA1(0323bdf3b9aca298b788bb07020653a43114c952) )
|
||||
ROM_REGION( 0x4000, "engine", 0 )
|
||||
// ROM_LOAD( "pp4-15.bin", 0x0000, 0x2000, CRC(5d79e1ad) SHA1(0323bdf3b9aca298b788bb07020653a43114c952) ) /* differs by one bit, almost certainly bitrot */
|
||||
ROM_LOAD( "pp4-15.bin", 0x0000, 0x2000, CRC(7d93bc1c) SHA1(dad7c0aa24aef593c84e21f7f8858ca7ada86364) ) /* engine sound */
|
||||
ROM_LOAD( "pp4-16.bin", 0x2000, 0x2000, CRC(7d93bc1c) SHA1(dad7c0aa24aef593c84e21f7f8858ca7ada86364) ) /* engine sound */
|
||||
|
||||
ROM_REGION( 0x6000, "52xx", ROMREGION_ERASEFF )
|
||||
@ -2030,28 +1984,18 @@ ROM_END
|
||||
* Initialization routines
|
||||
*********************************************************************/
|
||||
|
||||
static DRIVER_INIT( polepos )
|
||||
{
|
||||
polepos_gear_bit = 2;
|
||||
}
|
||||
|
||||
static DRIVER_INIT( topracern )
|
||||
{
|
||||
polepos_gear_bit = 0x20;
|
||||
|
||||
/* extra direct mapped inputs read */
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x02, 0x02, 0, 0, "STEER");
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x03, 0x03, 0, 0, "IN0");
|
||||
memory_install_read_port(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO), 0x04, 0x04, 0, 0, "DSWA");
|
||||
|
||||
}
|
||||
|
||||
static DRIVER_INIT( polepos2 )
|
||||
{
|
||||
/* note that the bootleg version doesn't need this custom IC; it has a hacked ROM in its place */
|
||||
memory_install_read16_handler(cputag_get_address_space(machine, "sub", ADDRESS_SPACE_PROGRAM), 0x4000, 0x5fff, 0, 0, polepos2_ic25_r);
|
||||
|
||||
DRIVER_INIT_CALL(polepos);
|
||||
}
|
||||
|
||||
|
||||
@ -2059,14 +2003,14 @@ static DRIVER_INIT( polepos2 )
|
||||
* Game drivers
|
||||
*********************************************************************/
|
||||
|
||||
GAME( 1982, polepos, 0, polepos, polepos, polepos, ROT0, "Namco", "Pole Position", 0 )
|
||||
GAME( 1982, poleposa, polepos, polepos, poleposa, polepos, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
|
||||
GAME( 1982, polepos1, polepos, polepos, poleposa, polepos, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
|
||||
GAME( 1982, topracer, polepos, polepos, polepos, polepos, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, set 1)", 0 ) // the NAMCO customs have been cloned on these bootlegs
|
||||
GAME( 1983, topracera, polepos, polepos, polepos, polepos, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, set 2)", 0 ) // ^
|
||||
GAME( 1982, polepos, 0, polepos, polepos, 0, ROT0, "Namco", "Pole Position", 0 )
|
||||
GAME( 1982, poleposa, polepos, polepos, poleposa, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
|
||||
GAME( 1982, polepos1, polepos, polepos, poleposa, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
|
||||
GAME( 1984, topracer, polepos, polepos, polepos, 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, 0, ROT0, "bootleg", "Top Racer (with MB8841 + MB8842, 1983)", 0 ) // the only difference between them is the year displayed on the title screen
|
||||
GAME( 1982, topracern, polepos, topracern, topracern,topracern,ROT0, "bootleg", "Top Racer (no MB8841 + MB8842)", 0 )
|
||||
|
||||
GAME( 1983, polepos2, 0, polepos, polepos2, polepos2, ROT0, "Namco", "Pole Position II", 0 )
|
||||
GAME( 1983, polepos2a, polepos2, polepos, polepos2, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
|
||||
GAME( 1983, polepos2b, polepos2, polepos, polepos2, polepos, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
|
||||
GAME( 1983, polepos2bi, polepos2, polepos2bi, topracern, topracern, ROT0, "bootleg", "Gran Premio F1 (Italian bootleg of Pole Position II)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND ) // should have italian voices
|
||||
GAME( 1983, polepos2b, polepos2, polepos, polepos2, 0, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
|
||||
GAME( 1984, polepos2bi, polepos2, polepos2bi, topracern,topracern,ROT0, "bootleg", "Gran Premio F1 (Italian bootleg of Pole Position II)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND ) // should have italian voices
|
||||
|
@ -24,7 +24,6 @@ extern UINT16 *polepos_view16_memory;
|
||||
extern UINT16 *polepos_road16_memory;
|
||||
extern UINT16 *polepos_alpha16_memory;
|
||||
extern UINT16 *polepos_sprite16_memory;
|
||||
extern int polepos_gear_bit;
|
||||
|
||||
VIDEO_START( polepos );
|
||||
PALETTE_INIT( polepos );
|
||||
|
68
src/mame/layout/topracer.lay
Normal file
68
src/mame/layout/topracer.lay
Normal file
@ -0,0 +1,68 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
<element name="shifter" defstate="0">
|
||||
<rect>
|
||||
<bounds left="0" right="32" top="0" bottom="64" />
|
||||
<color red="0.8" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect>
|
||||
<bounds left="2" right="30" top="2" bottom="62" />
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect>
|
||||
<bounds left="14" right="18" top="15" bottom="49" />
|
||||
<color red="0.5" green="0.5" blue="0.5" />
|
||||
</rect>
|
||||
<disk>
|
||||
<bounds left="14" right="18" top="13" bottom="17" />
|
||||
<color red="0.5" green="0.5" blue="0.5" />
|
||||
</disk>
|
||||
<disk>
|
||||
<bounds left="14" right="18" top="47" bottom="51" />
|
||||
<color red="0.5" green="0.5" blue="0.5" />
|
||||
</disk>
|
||||
<text string="LOW" state="0">
|
||||
<bounds left="3" right="29" top="2" bottom="12" />
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</text>
|
||||
<text string="LOW" state="1">
|
||||
<bounds left="3" right="29" top="2" bottom="12" />
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</text>
|
||||
|
||||
<text string="HIGH" state="0">
|
||||
<bounds left="3" right="29" top="52" bottom="62" />
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</text>
|
||||
<text string="HIGH" state="1">
|
||||
<bounds left="3" right="29" top="52" bottom="62" />
|
||||
<color red="1.0" green="1.0" blue="0.0" />
|
||||
</text>
|
||||
<disk state="0">
|
||||
<bounds left="9" right="23" top="14" bottom="28" />
|
||||
<color red="0.8" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<bounds left="9" right="23" top="36" bottom="50" />
|
||||
<color red="0.8" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
</element>
|
||||
<view name="Shifter-R">
|
||||
<screen index="0">
|
||||
<bounds x="0" y="0" width="640" height="480" />
|
||||
</screen>
|
||||
<bezel element="shifter" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="606" y="414" width="32" height="64" />
|
||||
<color alpha="0.9" />
|
||||
</bezel>
|
||||
</view>
|
||||
<view name="Shifter-L">
|
||||
<screen index="0">
|
||||
<bounds x="0" y="0" width="640" height="480" />
|
||||
</screen>
|
||||
<bezel element="shifter" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="2" y="414" width="32" height="64" />
|
||||
<color alpha="0.9" />
|
||||
</bezel>
|
||||
</view>
|
||||
</mamelayout>
|
@ -1800,7 +1800,8 @@ $(DRIVERS)/peplus.o: $(LAYOUT)/peplus.lh \
|
||||
$(LAYOUT)/pe_keno.lh \
|
||||
$(LAYOUT)/pe_slots.lh
|
||||
|
||||
$(DRIVERS)/polepos.o: $(LAYOUT)/polepos.lh
|
||||
$(DRIVERS)/polepos.o: $(LAYOUT)/polepos.lh \
|
||||
$(LAYOUT)/topracer.lh
|
||||
|
||||
$(DRIVERS)/qix.o: $(LAYOUT)/elecyoyo.lh
|
||||
|
||||
|
@ -19,8 +19,6 @@ static UINT16 road16_vscroll;
|
||||
static tilemap_t *bg_tilemap,*tx_tilemap;
|
||||
static int polepos_chacl;
|
||||
|
||||
int polepos_gear_bit;
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Convert the color PROMs.
|
||||
|
Loading…
Reference in New Issue
Block a user