mirror of
https://github.com/holub/mame
synced 2025-05-25 23:35:26 +03:00
Pole Position fixes.
Also added mirrors to Pole Position memory maps.
This commit is contained in:
parent
8048a37ae7
commit
658a3e51f9
@ -409,23 +409,23 @@ static MACHINE_RESET( polepos )
|
||||
|
||||
static ADDRESS_MAP_START( z80_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x2fff) AM_ROM
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) /* Battery Backup */
|
||||
AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x0800) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) /* Battery Backup */
|
||||
AM_RANGE(0x4000, 0x47ff) AM_READWRITE(polepos_sprite_r, polepos_sprite_w) /* Motion Object */
|
||||
AM_RANGE(0x4800, 0x4bff) AM_READWRITE(polepos_road_r, polepos_road_w) /* Road Memory */
|
||||
AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(polepos_alpha_r, polepos_alpha_w) /* Alphanumeric (char ram) */
|
||||
AM_RANGE(0x5000, 0x57ff) AM_READWRITE(polepos_view_r, polepos_view_w) /* Background Memory */
|
||||
|
||||
AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM) /* Sound Memory */
|
||||
AM_RANGE(0x8000, 0x83bf) AM_WRITE(SMH_RAM) /* Sound Memory */
|
||||
AM_RANGE(0x83c0, 0x83ff) AM_DEVWRITE("namco", polepos_sound_w) AM_BASE(&polepos_soundregs)/* Sound data */
|
||||
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0c00) AM_READ(SMH_RAM) /* Sound Memory */
|
||||
AM_RANGE(0x8000, 0x83bf) AM_MIRROR(0x0c00) AM_WRITE(SMH_RAM) /* Sound Memory */
|
||||
AM_RANGE(0x83c0, 0x83ff) AM_MIRROR(0x0c00) AM_DEVWRITE("namco", polepos_sound_w) AM_BASE(&polepos_soundregs)/* Sound data */
|
||||
|
||||
AM_RANGE(0x9000, 0x90ff) AM_DEVREADWRITE("06xx", namco_06xx_data_r, namco_06xx_data_w)
|
||||
AM_RANGE(0x9100, 0x9100) AM_DEVREADWRITE("06xx", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(polepos_ready_r) /* READY */
|
||||
AM_RANGE(0xa000, 0xa007) AM_WRITE(polepos_latch_w) /* misc latches */
|
||||
AM_RANGE(0xa100, 0xa100) AM_WRITE(watchdog_reset_w) /* Watchdog */
|
||||
AM_RANGE(0xa200, 0xa200) AM_WRITE(polepos_engine_sound_lsb_w) /* Car Sound ( Lower Nibble ) */
|
||||
AM_RANGE(0xa300, 0xa300) AM_WRITE(polepos_engine_sound_msb_w) /* Car Sound ( Upper Nibble ) */
|
||||
AM_RANGE(0x9000, 0x9000) AM_MIRROR(0x0eff) AM_DEVREADWRITE("06xx", namco_06xx_data_r, namco_06xx_data_w)
|
||||
AM_RANGE(0x9100, 0x9100) AM_MIRROR(0x0eff) AM_DEVREADWRITE("06xx", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
|
||||
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x0cff) AM_READ(polepos_ready_r) /* READY */
|
||||
AM_RANGE(0xa000, 0xa007) AM_MIRROR(0x0cf8) AM_WRITE(polepos_latch_w) /* misc latches */
|
||||
AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w) /* Watchdog */
|
||||
AM_RANGE(0xa200, 0xa200) AM_MIRROR(0x0cff) AM_WRITE(polepos_engine_sound_lsb_w) /* Car Sound ( Lower Nibble ) */
|
||||
AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x0cff) AM_WRITE(polepos_engine_sound_msb_w) /* Car Sound ( Upper Nibble ) */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( z80_io, ADDRESS_SPACE_IO, 8 )
|
||||
@ -437,13 +437,13 @@ ADDRESS_MAP_END
|
||||
/* the same memory map is used by both Z8002 CPUs; all RAM areas are shared */
|
||||
static ADDRESS_MAP_START( z8002_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x6000, 0x6003) AM_WRITE(polepos_z8002_nvi_enable_w) /* NVI enable - *NOT* shared by the two CPUs */
|
||||
AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x1ffe) AM_WRITE(polepos_z8002_nvi_enable_w) /* NVI enable - *NOT* shared by the two CPUs */
|
||||
AM_RANGE(0x8000, 0x8fff) AM_READWRITE(polepos_sprite16_r, polepos_sprite16_w) AM_BASE(&polepos_sprite16_memory) /* Motion Object */
|
||||
AM_RANGE(0x9000, 0x97ff) AM_READWRITE(polepos_road16_r, polepos_road16_w) AM_BASE(&polepos_road16_memory) /* Road Memory */
|
||||
AM_RANGE(0x9800, 0x9fff) AM_READWRITE(polepos_alpha16_r, polepos_alpha16_w) AM_BASE(&polepos_alpha16_memory) /* Alphanumeric (char ram) */
|
||||
AM_RANGE(0xa000, 0xafff) AM_READWRITE(polepos_view16_r, polepos_view16_w) AM_BASE(&polepos_view16_memory) /* Background memory */
|
||||
AM_RANGE(0xc000, 0xc001) AM_WRITE(polepos_view16_hscroll_w) /* Background horz scroll position */
|
||||
AM_RANGE(0xc100, 0xc101) AM_WRITE(polepos_road16_vscroll_w) /* Road vertical position */
|
||||
AM_RANGE(0xc000, 0xc001) AM_MIRROR(0x38fe) AM_WRITE(polepos_view16_hscroll_w) /* Background horz scroll position */
|
||||
AM_RANGE(0xc100, 0xc101) AM_MIRROR(0x38fe) AM_WRITE(polepos_road16_vscroll_w) /* Road vertical position */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -536,15 +536,17 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( poleposa )
|
||||
PORT_START("IN0")
|
||||
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_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
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_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
|
||||
@ -698,15 +700,17 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( polepos2 )
|
||||
PORT_START("IN0")
|
||||
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_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
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_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
|
||||
|
@ -51,7 +51,7 @@
|
||||
<screen index="0">
|
||||
<bounds x="0" y="0" width="640" height="480" />
|
||||
</screen>
|
||||
<bezel element="shifter" inputtag="IN0" inputmask="0x02">
|
||||
<bezel element="shifter" inputtag="IN0L" inputmask="0x02">
|
||||
<bounds x="606" y="414" width="32" height="64" />
|
||||
<color alpha="0.9" />
|
||||
</bezel>
|
||||
@ -60,7 +60,7 @@
|
||||
<screen index="0">
|
||||
<bounds x="0" y="0" width="640" height="480" />
|
||||
</screen>
|
||||
<bezel element="shifter" inputtag="IN0" inputmask="0x02">
|
||||
<bezel element="shifter" inputtag="IN0L" inputmask="0x02">
|
||||
<bounds x="2" y="414" width="32" height="64" />
|
||||
<color alpha="0.9" />
|
||||
</bezel>
|
||||
|
Loading…
Reference in New Issue
Block a user