summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/f1gp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/f1gp.c')
-rw-r--r--src/mame/drivers/f1gp.c79
1 files changed, 37 insertions, 42 deletions
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index c47fb802244..7963b623a6c 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -31,71 +31,66 @@
#include "includes/f1gp.h"
-static READ16_HANDLER( sharedram_r )
+READ16_MEMBER(f1gp_state::sharedram_r)
{
- f1gp_state *state = space->machine().driver_data<f1gp_state>();
- return state->m_sharedram[offset];
+ return m_sharedram[offset];
}
-static WRITE16_HANDLER( sharedram_w )
+WRITE16_MEMBER(f1gp_state::sharedram_w)
{
- f1gp_state *state = space->machine().driver_data<f1gp_state>();
- COMBINE_DATA(&state->m_sharedram[offset]);
+ COMBINE_DATA(&m_sharedram[offset]);
}
-static READ16_HANDLER( extrarom_r )
+READ16_MEMBER(f1gp_state::extrarom_r)
{
- UINT8 *rom = space->machine().region("user1")->base();
+ UINT8 *rom = machine().region("user1")->base();
offset *= 2;
return rom[offset] | (rom[offset + 1] << 8);
}
-static READ16_HANDLER( extrarom2_r )
+READ16_MEMBER(f1gp_state::extrarom2_r)
{
- UINT8 *rom = space->machine().region("user2")->base();
+ UINT8 *rom = machine().region("user2")->base();
offset *= 2;
return rom[offset] | (rom[offset + 1] << 8);
}
-static WRITE8_HANDLER( f1gp_sh_bankswitch_w )
+WRITE8_MEMBER(f1gp_state::f1gp_sh_bankswitch_w)
{
- memory_set_bank(space->machine(), "bank1", data & 0x01);
+ memory_set_bank(machine(), "bank1", data & 0x01);
}
-static WRITE16_HANDLER( sound_command_w )
+WRITE16_MEMBER(f1gp_state::sound_command_w)
{
- f1gp_state *state = space->machine().driver_data<f1gp_state>();
if (ACCESSING_BITS_0_7)
{
- state->m_pending_command = 1;
+ m_pending_command = 1;
soundlatch_w(space, offset, data & 0xff);
- device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
+ device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
-static READ16_HANDLER( command_pending_r )
+READ16_MEMBER(f1gp_state::command_pending_r)
{
- f1gp_state *state = space->machine().driver_data<f1gp_state>();
- return (state->m_pending_command ? 0xff : 0);
+ return (m_pending_command ? 0xff : 0);
}
-static WRITE8_HANDLER( pending_command_clear_w )
+WRITE8_MEMBER(f1gp_state::pending_command_clear_w)
{
- f1gp_state *state = space->machine().driver_data<f1gp_state>();
- state->m_pending_command = 0;
+ m_pending_command = 0;
}
static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x100000, 0x2fffff) AM_READ_LEGACY(extrarom_r)
- AM_RANGE(0xa00000, 0xbfffff) AM_READ_LEGACY(extrarom2_r)
+ AM_RANGE(0x100000, 0x2fffff) AM_READ(extrarom_r)
+ AM_RANGE(0xa00000, 0xbfffff) AM_READ(extrarom2_r)
AM_RANGE(0xc00000, 0xc3ffff) AM_READWRITE_LEGACY(f1gp_zoomdata_r, f1gp_zoomdata_w)
AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE_LEGACY(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(m_rozvideoram)
AM_RANGE(0xd02000, 0xd03fff) AM_READWRITE_LEGACY(f1gp_rozvideoram_r, f1gp_rozvideoram_w) /* mirror */
@@ -106,7 +101,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xf00000, 0xf003ff) AM_RAM AM_BASE(m_spr1vram) // SPR-1 VRAM
AM_RANGE(0xf10000, 0xf103ff) AM_RAM AM_BASE(m_spr2vram) // SPR-2 VRAM
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
- AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE_LEGACY(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
+ AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram) // CHARACTER
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
@@ -115,27 +110,27 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
AM_RANGE(0xfff002, 0xfff005) AM_WRITE_LEGACY(f1gp_fgscroll_w)
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
- AM_RANGE(0xfff008, 0xfff009) AM_READ_LEGACY(command_pending_r)
- AM_RANGE(0xfff008, 0xfff009) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0xfff008, 0xfff009) AM_READ(command_pending_r)
+ AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
AM_RANGE(0xfff040, 0xfff05f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x100000, 0x2fffff) AM_READ_LEGACY(extrarom_r)
+ AM_RANGE(0x100000, 0x2fffff) AM_READ(extrarom_r)
AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE(m_sprcgram) // SPR-1 CG RAM + SPR-2 CG RAM
AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE_LEGACY(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(m_rozvideoram) // BACK VRAM
AM_RANGE(0xe00000, 0xe00fff) AM_RAM AM_BASE(m_spritelist) // not checked + SPR-1 VRAM + SPR-2 VRAM
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
- AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE_LEGACY(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
+ AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram) // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram) // CHARACTER
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE_LEGACY(f1gp2_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
- AM_RANGE(0xfff008, 0xfff009) AM_READWRITE_LEGACY(command_pending_r, sound_command_w)
+ AM_RANGE(0xfff008, 0xfff009) AM_READWRITE(command_pending_r, sound_command_w)
AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW3")
AM_RANGE(0xfff020, 0xfff03f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xfff044, 0xfff047) AM_WRITE_LEGACY(f1gp_fgscroll_w)
@@ -144,7 +139,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( f1gp_cpu2_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
- AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE_LEGACY(sharedram_r, sharedram_w)
+ AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, f1gp_state )
@@ -155,13 +150,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, f1gp_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(f1gp_sh_bankswitch_w) // f1gp
- AM_RANGE(0x0c, 0x0c) AM_WRITE_LEGACY(f1gp_sh_bankswitch_w) // f1gp2
- AM_RANGE(0x14, 0x14) AM_READWRITE_LEGACY(soundlatch_r, pending_command_clear_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp
+ AM_RANGE(0x0c, 0x0c) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp2
+ AM_RANGE(0x14, 0x14) AM_READ_LEGACY(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
-static WRITE16_HANDLER( f1gpb_misc_w )
+WRITE16_MEMBER(f1gp_state::f1gpb_misc_w)
{
/*
static int old=-1;
@@ -171,8 +166,8 @@ static WRITE16_HANDLER( f1gpb_misc_w )
if(old_bank != new_bank && new_bank < 5)
{
// oki banking
- UINT8 *src = space->machine().region("oki")->base() + 0x40000 + 0x10000 * new_bank;
- UINT8 *dst = space->machine().region("oki")->base() + 0x30000;
+ UINT8 *src = machine().region("oki")->base() + 0x40000 + 0x10000 * new_bank;
+ UINT8 *dst = machine().region("oki")->base() + 0x30000;
memcpy(dst, src, 0x10000);
old_bank = new_bank;
@@ -188,8 +183,8 @@ static WRITE16_HANDLER( f1gpb_misc_w )
static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x100000, 0x2fffff) AM_READ_LEGACY(extrarom_r)
- AM_RANGE(0xa00000, 0xbfffff) AM_READ_LEGACY(extrarom2_r)
+ AM_RANGE(0x100000, 0x2fffff) AM_READ(extrarom_r)
+ AM_RANGE(0xa00000, 0xbfffff) AM_READ(extrarom2_r)
AM_RANGE(0x800000, 0x801fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xc00000, 0xc3ffff) AM_READWRITE_LEGACY(f1gp_zoomdata_r, f1gp_zoomdata_w)
AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE_LEGACY(f1gp_rozvideoram_r, f1gp_rozvideoram_w) AM_BASE(m_rozvideoram)
@@ -201,7 +196,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xf00000, 0xf003ff) AM_RAM //unused
AM_RANGE(0xf10000, 0xf103ff) AM_RAM //unused
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
- AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE_LEGACY(sharedram_r, sharedram_w) AM_BASE(m_sharedram)
+ AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE_LEGACY(f1gp_fgvideoram_w) AM_BASE(m_fgvideoram)
AM_RANGE(0xffe000, 0xffefff) AM_RAM_WRITE_LEGACY(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
@@ -211,7 +206,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff006, 0xfff007) AM_WRITENOP
AM_RANGE(0xfff00a, 0xfff00b) AM_RAM AM_BASE(m_fgregs)
AM_RANGE(0xfff00e, 0xfff00f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE_LEGACY(f1gpb_misc_w)
+ AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE(f1gpb_misc_w)
AM_RANGE(0xfff010, 0xfff011) AM_WRITENOP
AM_RANGE(0xfff020, 0xfff023) AM_RAM //?
AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3")
@@ -221,7 +216,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( f1gpb_cpu2_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
- AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE_LEGACY(sharedram_r, sharedram_w)
+ AM_RANGE(0xffc000, 0xffcfff) AM_READWRITE(sharedram_r, sharedram_w)
AM_RANGE(0xfff030, 0xfff031) AM_NOP //?
ADDRESS_MAP_END