summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fuukifg2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fuukifg2.c')
-rw-r--r--src/mame/drivers/fuukifg2.c42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 71172433c7b..f680191ba08 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -60,7 +60,7 @@ To Do:
***************************************************************************/
-WRITE16_MEMBER(fuuki16_state::fuuki16_vregs_w)
+WRITE16_MEMBER(fuuki16_state::vregs_w)
{
UINT16 old_data = m_vregs[offset];
UINT16 new_data = COMBINE_DATA(&m_vregs[offset]);
@@ -72,7 +72,7 @@ WRITE16_MEMBER(fuuki16_state::fuuki16_vregs_w)
}
}
-WRITE16_MEMBER(fuuki16_state::fuuki16_sound_command_w)
+WRITE16_MEMBER(fuuki16_state::sound_command_w)
{
if (ACCESSING_BITS_0_7)
{
@@ -86,17 +86,17 @@ WRITE16_MEMBER(fuuki16_state::fuuki16_sound_command_w)
static ADDRESS_MAP_START( fuuki16_map, AS_PROGRAM, 16, fuuki16_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(fuuki16_vram_0_w) AM_SHARE("vram.0") // Layers
- AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(fuuki16_vram_1_w) AM_SHARE("vram.1") //
- AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(fuuki16_vram_2_w) AM_SHARE("vram.2") //
- AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki16_vram_3_w) AM_SHARE("vram.3") //
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram.0") // Layers
+ AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram.1") //
+ AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram.2") //
+ AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(vram_3_w) AM_SHARE("vram.3") //
AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_DEVREADWRITE("fuukivid", fuukivid_device, fuuki_sprram_r, fuuki_sprram_w) AM_SHARE("spriteram") // Sprites, mirrored?
AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x810000, 0x810001) AM_READ_PORT("P1_P2")
AM_RANGE(0x880000, 0x880001) AM_READ_PORT("DSW")
- AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(fuuki16_sound_command_w) // To Sound CPU
- AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(fuuki16_vregs_w) AM_SHARE("vregs") // Video Registers
+ AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(sound_command_w) // To Sound CPU
+ AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0x8d0000, 0x8d0003) AM_RAM AM_SHARE("unknown") //
AM_RANGE(0x8e0000, 0x8e0001) AM_RAM AM_SHARE("priority") //
ADDRESS_MAP_END
@@ -110,7 +110,7 @@ ADDRESS_MAP_END
***************************************************************************/
-WRITE8_MEMBER(fuuki16_state::fuuki16_sound_rombank_w)
+WRITE8_MEMBER(fuuki16_state::sound_rombank_w)
{
if (data <= 2)
membank("bank1")->set_entry(data);
@@ -118,7 +118,7 @@ WRITE8_MEMBER(fuuki16_state::fuuki16_sound_rombank_w)
logerror("CPU #1 - PC %04X: unknown bank bits: %02X\n", space.device().safe_pc(), data);
}
-WRITE8_MEMBER(fuuki16_state::fuuki16_oki_banking_w)
+WRITE8_MEMBER(fuuki16_state::oki_banking_w)
{
/*
data & 0x06 is always equals to data & 0x60
@@ -136,9 +136,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fuuki16_sound_io_map, AS_IO, 8, fuuki16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE(fuuki16_sound_rombank_w) // ROM Bank
+ AM_RANGE(0x00, 0x00) AM_WRITE(sound_rombank_w) // ROM Bank
AM_RANGE(0x11, 0x11) AM_READ(soundlatch_byte_r) AM_WRITENOP // From Main CPU / ? To Main CPU ?
- AM_RANGE(0x20, 0x20) AM_WRITE(fuuki16_oki_banking_w) // Oki Banking
+ AM_RANGE(0x20, 0x20) AM_WRITE(oki_banking_w) // Oki Banking
AM_RANGE(0x30, 0x30) AM_WRITENOP // ? In the NMI routine
AM_RANGE(0x40, 0x41) AM_DEVWRITE("ym1", ym2203_device, write)
AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ym2", ym3812_device, read, write)
@@ -399,11 +399,11 @@ void fuuki16_state::device_timer(emu_timer &timer, device_timer_id id, int param
{
case TIMER_LEVEL_1_INTERRUPT:
m_maincpu->set_input_line(1, HOLD_LINE);
- timer_set(m_screen->time_until_pos(248), TIMER_LEVEL_1_INTERRUPT);
+ m_level_1_interrupt_timer->adjust(m_screen->time_until_pos(248));
break;
case TIMER_VBLANK_INTERRUPT:
m_maincpu->set_input_line(3, HOLD_LINE); // VBlank IRQ
- timer_set(m_screen->time_until_vblank_start(), TIMER_VBLANK_INTERRUPT);
+ m_vblank_interrupt_timer->adjust(m_screen->time_until_vblank_start());
break;
case TIMER_RASTER_INTERRUPT:
m_maincpu->set_input_line(5, HOLD_LINE); // Raster Line IRQ
@@ -422,6 +422,8 @@ void fuuki16_state::machine_start()
membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x8000);
+ m_level_1_interrupt_timer = timer_alloc(TIMER_LEVEL_1_INTERRUPT);
+ m_vblank_interrupt_timer = timer_alloc(TIMER_VBLANK_INTERRUPT);
m_raster_interrupt_timer = timer_alloc(TIMER_RASTER_INTERRUPT);
}
@@ -430,8 +432,8 @@ void fuuki16_state::machine_reset()
{
const rectangle &visarea = m_screen->visible_area();
- timer_set(m_screen->time_until_pos(248), TIMER_LEVEL_1_INTERRUPT);
- timer_set(m_screen->time_until_vblank_start(), TIMER_VBLANK_INTERRUPT);
+ m_level_1_interrupt_timer->adjust(m_screen->time_until_pos(248));
+ m_vblank_interrupt_timer->adjust(m_screen->time_until_vblank_start());
m_raster_interrupt_timer->adjust(m_screen->time_until_pos(0, visarea.max_x + 1));
}
@@ -452,7 +454,7 @@ static MACHINE_CONFIG_START( fuuki16, fuuki16_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-16-1)
- MCFG_SCREEN_UPDATE_DRIVER(fuuki16_state, screen_update_fuuki16)
+ MCFG_SCREEN_UPDATE_DRIVER(fuuki16_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", fuuki16)
@@ -661,6 +663,6 @@ ROM_END
***************************************************************************/
-GAME( 1995, gogomile, 0, fuuki16, gogomile, driver_device, 0, ROT0, "Fuuki", "Susume! Mile Smile / Go Go! Mile Smile (newer)", 0 )
-GAME( 1995, gogomileo, gogomile, fuuki16, gogomileo, driver_device, 0, ROT0, "Fuuki", "Susume! Mile Smile / Go Go! Mile Smile (older)", 0 )
-GAME( 1996, pbancho, 0, fuuki16, pbancho, driver_device, 0, ROT0, "Fuuki", "Gyakuten!! Puzzle Bancho (Japan)", 0)
+GAME( 1995, gogomile, 0, fuuki16, gogomile, driver_device, 0, ROT0, "Fuuki", "Susume! Mile Smile / Go Go! Mile Smile (newer)", GAME_SUPPORTS_SAVE )
+GAME( 1995, gogomileo, gogomile, fuuki16, gogomileo, driver_device, 0, ROT0, "Fuuki", "Susume! Mile Smile / Go Go! Mile Smile (older)", GAME_SUPPORTS_SAVE )
+GAME( 1996, pbancho, 0, fuuki16, pbancho, driver_device, 0, ROT0, "Fuuki", "Gyakuten!! Puzzle Bancho (Japan)", GAME_SUPPORTS_SAVE )