summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fuukifg3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fuukifg3.c')
-rw-r--r--src/mame/drivers/fuukifg3.c84
1 files changed, 39 insertions, 45 deletions
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index 033d9b9a11d..81470792b49 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -164,31 +164,30 @@ FG-3J ROM-J 507KA0301P04 Rev:1.3
#include "includes/fuukifg3.h"
-static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
+WRITE32_MEMBER(fuuki32_state::paletteram32_xRRRRRGGGGGBBBBB_dword_w)
{
- fuuki32_state *state = space->machine().driver_data<fuuki32_state>();
if(ACCESSING_BITS_16_31)
{
int r,g,b;
- COMBINE_DATA(&state->m_paletteram[offset]);
+ COMBINE_DATA(&m_paletteram[offset]);
- r = (state->m_paletteram[offset] & 0x7c000000) >> (10 + 16);
- g = (state->m_paletteram[offset] & 0x03e00000) >> (5 + 16);
- b = (state->m_paletteram[offset] & 0x001f0000) >> (0 + 16);
+ r = (m_paletteram[offset] & 0x7c000000) >> (10 + 16);
+ g = (m_paletteram[offset] & 0x03e00000) >> (5 + 16);
+ b = (m_paletteram[offset] & 0x001f0000) >> (0 + 16);
- palette_set_color_rgb(space->machine(), offset * 2, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), offset * 2, pal5bit(r), pal5bit(g), pal5bit(b));
}
if(ACCESSING_BITS_0_15)
{
int r,g,b;
- COMBINE_DATA(&state->m_paletteram[offset]);
+ COMBINE_DATA(&m_paletteram[offset]);
- r = (state->m_paletteram[offset] & 0x00007c00) >> (10);
- g = (state->m_paletteram[offset] & 0x000003e0) >> (5);
- b = (state->m_paletteram[offset] & 0x0000001f) >> (0);
+ r = (m_paletteram[offset] & 0x00007c00) >> (10);
+ g = (m_paletteram[offset] & 0x000003e0) >> (5);
+ b = (m_paletteram[offset] & 0x0000001f) >> (0);
- palette_set_color_rgb(space->machine(), offset * 2 + 1, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), offset * 2 + 1, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
@@ -201,38 +200,35 @@ static WRITE32_HANDLER( paletteram32_xRRRRRGGGGGBBBBB_dword_w )
***************************************************************************/
/* Sound comms */
-static READ32_HANDLER( snd_020_r )
+READ32_MEMBER(fuuki32_state::snd_020_r)
{
- fuuki32_state *state = space->machine().driver_data<fuuki32_state>();
- space->machine().scheduler().synchronize();
- UINT32 retdata = state->m_shared_ram[offset * 2] << 16 | state->m_shared_ram[(offset * 2) + 1];
+ machine().scheduler().synchronize();
+ UINT32 retdata = m_shared_ram[offset * 2] << 16 | m_shared_ram[(offset * 2) + 1];
return retdata;
}
-static WRITE32_HANDLER( snd_020_w )
+WRITE32_MEMBER(fuuki32_state::snd_020_w)
{
- fuuki32_state *state = space->machine().driver_data<fuuki32_state>();
- space->machine().scheduler().synchronize();
+ machine().scheduler().synchronize();
if (ACCESSING_BITS_16_23)
- state->m_shared_ram[offset * 2] = data >> 16;
+ m_shared_ram[offset * 2] = data >> 16;
if (ACCESSING_BITS_0_7)
- state->m_shared_ram[(offset * 2) + 1] = data & 0xff;
+ m_shared_ram[(offset * 2) + 1] = data & 0xff;
}
-static WRITE32_HANDLER( fuuki32_vregs_w )
+WRITE32_MEMBER(fuuki32_state::fuuki32_vregs_w)
{
- fuuki32_state *state = space->machine().driver_data<fuuki32_state>();
- if (state->m_vregs[offset] != data)
+ if (m_vregs[offset] != data)
{
- COMBINE_DATA(&state->m_vregs[offset]);
+ COMBINE_DATA(&m_vregs[offset]);
if (offset == 0x1c / 4)
{
- const rectangle &visarea = space->machine().primary_screen->visible_area();
- attotime period = space->machine().primary_screen->frame_period();
- state->m_raster_interrupt_timer->adjust(space->machine().primary_screen->time_until_pos(state->m_vregs[0x1c / 4] >> 16, visarea.max_x + 1), 0, period);
+ const rectangle &visarea = machine().primary_screen->visible_area();
+ attotime period = machine().primary_screen->frame_period();
+ m_raster_interrupt_timer->adjust(machine().primary_screen->time_until_pos(m_vregs[0x1c / 4] >> 16, visarea.max_x + 1), 0, period);
}
}
}
@@ -248,17 +244,17 @@ static ADDRESS_MAP_START( fuuki32_map, AS_PROGRAM, 32, fuuki32_state )
AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE_LEGACY(fuuki32_vram_3_w) AM_BASE(m_vram[3]) // Tilemap bg2
AM_RANGE(0x508000, 0x517fff) AM_RAM // More tilemap, or linescroll? Seems to be empty all of the time
AM_RANGE(0x600000, 0x601fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
- AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE_LEGACY(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(m_paletteram) // Palette
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_BASE(m_paletteram) // Palette
AM_RANGE(0x800000, 0x800003) AM_READ_PORT("800000") AM_WRITENOP // Coin
AM_RANGE(0x810000, 0x810003) AM_READ_PORT("810000") AM_WRITENOP // Player Inputs
AM_RANGE(0x880000, 0x880003) AM_READ_PORT("880000") // Service + DIPS
AM_RANGE(0x890000, 0x890003) AM_READ_PORT("890000") // More DIPS
- AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE_LEGACY(fuuki32_vregs_w) AM_BASE(m_vregs) // Video Registers
+ AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(fuuki32_vregs_w) AM_BASE(m_vregs) // Video Registers
AM_RANGE(0x8d0000, 0x8d0003) AM_RAM // Flipscreen Related
AM_RANGE(0x8e0000, 0x8e0003) AM_RAM AM_BASE(m_priority) // Controls layer order
- AM_RANGE(0x903fe0, 0x903fff) AM_READWRITE_LEGACY(snd_020_r, snd_020_w) // Shared with Z80
+ AM_RANGE(0x903fe0, 0x903fff) AM_READWRITE(snd_020_r, snd_020_w) // Shared with Z80
AM_RANGE(0xa00000, 0xa00003) AM_WRITEONLY AM_BASE(m_tilebank) // Tilebank
ADDRESS_MAP_END
@@ -269,45 +265,43 @@ ADDRESS_MAP_END
***************************************************************************/
-static WRITE8_HANDLER ( fuuki32_sound_bw_w )
+WRITE8_MEMBER(fuuki32_state::fuuki32_sound_bw_w)
{
- memory_set_bank(space->machine(), "bank1", data);
+ memory_set_bank(machine(), "bank1", data);
}
-static READ8_HANDLER( snd_z80_r )
+READ8_MEMBER(fuuki32_state::snd_z80_r)
{
- fuuki32_state *state = space->machine().driver_data<fuuki32_state>();
- UINT8 retdata = state->m_shared_ram[offset];
+ UINT8 retdata = m_shared_ram[offset];
return retdata;
}
-static WRITE8_HANDLER( snd_z80_w )
+WRITE8_MEMBER(fuuki32_state::snd_z80_w)
{
- fuuki32_state *state = space->machine().driver_data<fuuki32_state>();
- state->m_shared_ram[offset] = data;
+ m_shared_ram[offset] = data;
}
-static WRITE8_HANDLER( snd_ymf278b_w )
+WRITE8_MEMBER(fuuki32_state::snd_ymf278b_w)
{
- ymf278b_w(space->machine().device("ymf1"), offset, data);
+ ymf278b_w(machine().device("ymf1"), offset, data);
// also write to ymf262
if (offset < 4)
- ymf262_w(space->machine().device("ymf2"), offset, data);
+ ymf262_w(machine().device("ymf2"), offset, data);
}
static ADDRESS_MAP_START( fuuki32_sound_map, AS_PROGRAM, 8, fuuki32_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM // ROM
AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
- AM_RANGE(0x7ff0, 0x7fff) AM_READWRITE_LEGACY(snd_z80_r, snd_z80_w)
+ AM_RANGE(0x7ff0, 0x7fff) AM_READWRITE(snd_z80_r, snd_z80_w)
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( fuuki32_sound_io_map, AS_IO, 8, fuuki32_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(fuuki32_sound_bw_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(fuuki32_sound_bw_w)
AM_RANGE(0x30, 0x30) AM_WRITENOP // leftover/unused nmi handler related
- AM_RANGE(0x40, 0x45) AM_DEVREAD_LEGACY("ymf1", ymf278b_r) AM_WRITE_LEGACY(snd_ymf278b_w)
+ AM_RANGE(0x40, 0x45) AM_DEVREAD_LEGACY("ymf1", ymf278b_r) AM_WRITE(snd_ymf278b_w)
ADDRESS_MAP_END
/***************************************************************************