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.c120
1 files changed, 60 insertions, 60 deletions
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index 07ebf247a92..db96931dd28 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -234,28 +234,28 @@ WRITE32_MEMBER(fuuki32_state::fuuki32_vregs_w)
}
static ADDRESS_MAP_START( fuuki32_map, AS_PROGRAM, 32, fuuki32_state )
- AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM // Work RAM
- AM_RANGE(0x410000, 0x41ffff) AM_RAM // Work RAM (used by asurabus)
-
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(fuuki32_vram_0_w) AM_SHARE("vram.0") // Tilemap 1
- AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(fuuki32_vram_1_w) AM_SHARE("vram.1") // Tilemap 2
- AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(fuuki32_vram_2_w) AM_SHARE("vram.2") // Tilemap bg
- AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki32_vram_3_w) AM_SHARE("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_SHARE("spriteram") // Sprites
+ AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM // Work RAM
+ AM_RANGE(0x410000, 0x41ffff) AM_RAM // Work RAM (used by asurabus)
+
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(fuuki32_vram_0_w) AM_SHARE("vram.0") // Tilemap 1
+ AM_RANGE(0x502000, 0x503fff) AM_RAM_WRITE(fuuki32_vram_1_w) AM_SHARE("vram.1") // Tilemap 2
+ AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(fuuki32_vram_2_w) AM_SHARE("vram.2") // Tilemap bg
+ AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(fuuki32_vram_3_w) AM_SHARE("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_SHARE("spriteram") // Sprites
AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_SHARE("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(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(fuuki32_vregs_w) AM_SHARE("vregs") // Video Registers
- AM_RANGE(0x8d0000, 0x8d0003) AM_RAM // Flipscreen Related
- AM_RANGE(0x8e0000, 0x8e0003) AM_RAM AM_SHARE("priority") // Controls layer order
- AM_RANGE(0x903fe0, 0x903fff) AM_READWRITE(snd_020_r, snd_020_w) // Shared with Z80
- AM_RANGE(0xa00000, 0xa00003) AM_WRITEONLY AM_SHARE("tilebank") // Tilebank
+ AM_RANGE(0x8c0000, 0x8c001f) AM_RAM_WRITE(fuuki32_vregs_w) AM_SHARE("vregs") // Video Registers
+ AM_RANGE(0x8d0000, 0x8d0003) AM_RAM // Flipscreen Related
+ AM_RANGE(0x8e0000, 0x8e0003) AM_RAM AM_SHARE("priority") // Controls layer order
+ AM_RANGE(0x903fe0, 0x903fff) AM_READWRITE(snd_020_r, snd_020_w) // Shared with Z80
+ AM_RANGE(0xa00000, 0xa00003) AM_WRITEONLY AM_SHARE("tilebank") // Tilebank
ADDRESS_MAP_END
@@ -291,10 +291,10 @@ WRITE8_MEMBER(fuuki32_state::snd_ymf278b_w)
}
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(0x0000, 0x5fff) AM_ROM // ROM
+ AM_RANGE(0x6000, 0x6fff) AM_RAM // RAM
AM_RANGE(0x7ff0, 0x7fff) AM_READWRITE(snd_z80_r, snd_z80_w)
- AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM
+ AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") // ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( fuuki32_sound_io_map, AS_IO, 8, fuuki32_state )
@@ -361,23 +361,23 @@ static INPUT_PORTS_START( asurabld )
PORT_START("DSW1")
PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:1" )
- PORT_DIPNAME( 0x0002, 0x0002, "Blood Color" ) PORT_DIPLOCATION("SW1:2") // Any other censorship? (Tested in 3 locations)
+ PORT_DIPNAME( 0x0002, 0x0002, "Blood Color" ) PORT_DIPLOCATION("SW1:2") // Any other censorship? (Tested in 3 locations)
PORT_DIPSETTING( 0x0002, "Red" )
PORT_DIPSETTING( 0x0000, "Green" )
- PORT_DIPNAME( 0x000c, 0x000c, "Demo Sounds & Music" ) PORT_DIPLOCATION("SW1:3,4") // Tested @ 0917AC
+ PORT_DIPNAME( 0x000c, 0x000c, "Demo Sounds & Music" ) PORT_DIPLOCATION("SW1:3,4") // Tested @ 0917AC
PORT_DIPSETTING( 0x000c, "Both On" )
PORT_DIPSETTING( 0x0008, "Music Off" )
PORT_DIPSETTING( 0x0004, "Both Off" )
- PORT_DIPSETTING( 0x0000, "Both Off" ) /* Duplicate setting */
- PORT_DIPNAME( 0x0030, 0x0030, "Timer" ) PORT_DIPLOCATION("SW1:5,6")
+ PORT_DIPSETTING( 0x0000, "Both Off" ) /* Duplicate setting */
+ PORT_DIPNAME( 0x0030, 0x0030, "Timer" ) PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING( 0x0000, "Slow" )
PORT_DIPSETTING( 0x0030, DEF_STR( Medium ) )
PORT_DIPSETTING( 0x0010, "Fast" )
PORT_DIPSETTING( 0x0020, "Very Fast" )
- PORT_DIPNAME( 0x00c0, 0x0000, "Coinage Mode" ) PORT_DIPLOCATION("SW1:7,8")
+ PORT_DIPNAME( 0x00c0, 0x0000, "Coinage Mode" ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPSETTING( 0x00c0, "Split" )
PORT_DIPSETTING( 0x0000, "Joint" )
- PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SW2:1" ) /* DSW2 bank, not used for either game */
+ PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SW2:1" ) /* DSW2 bank, not used for either game */
PORT_DIPUNUSED_DIPLOC( 0x0200, 0x0200, "SW2:2" )
PORT_DIPUNUSED_DIPLOC( 0x0400, 0x0400, "SW2:3" )
PORT_DIPUNUSED_DIPLOC( 0x0800, 0x0800, "SW2:4" )
@@ -387,29 +387,29 @@ static INPUT_PORTS_START( asurabld )
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" )
PORT_START("DSW2")
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
+ PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1")
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW3:2,3,4") // AKA Computer Level, see @ 0917CC
- PORT_DIPSETTING( 0x0000, DEF_STR( Easiest ) ) // Level 1
- PORT_DIPSETTING( 0x0008, DEF_STR( Very_Easy ) ) // Level 2
- PORT_DIPSETTING( 0x0004, DEF_STR( Easier ) ) // Level 3
- PORT_DIPSETTING( 0x000c, DEF_STR( Easy ) ) // Level 4
- PORT_DIPSETTING( 0x000e, DEF_STR( Normal ) ) // Level 5
- PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) ) // Level 6
- PORT_DIPSETTING( 0x000a, DEF_STR( Very_Hard ) ) // Level 7
- PORT_DIPSETTING( 0x0006, DEF_STR( Hardest ) ) // Level 8
- PORT_DIPNAME( 0x0030, 0x0030, "Damage" ) PORT_DIPLOCATION("SW3:5,6")
+ PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW3:2,3,4") // AKA Computer Level, see @ 0917CC
+ PORT_DIPSETTING( 0x0000, DEF_STR( Easiest ) ) // Level 1
+ PORT_DIPSETTING( 0x0008, DEF_STR( Very_Easy ) ) // Level 2
+ PORT_DIPSETTING( 0x0004, DEF_STR( Easier ) ) // Level 3
+ PORT_DIPSETTING( 0x000c, DEF_STR( Easy ) ) // Level 4
+ PORT_DIPSETTING( 0x000e, DEF_STR( Normal ) ) // Level 5
+ PORT_DIPSETTING( 0x0002, DEF_STR( Hard ) ) // Level 6
+ PORT_DIPSETTING( 0x000a, DEF_STR( Very_Hard ) ) // Level 7
+ PORT_DIPSETTING( 0x0006, DEF_STR( Hardest ) ) // Level 8
+ PORT_DIPNAME( 0x0030, 0x0030, "Damage" ) PORT_DIPLOCATION("SW3:5,6")
PORT_DIPSETTING( 0x0020, "75%" )
PORT_DIPSETTING( 0x0030, "100%" )
PORT_DIPSETTING( 0x0010, "125%" )
PORT_DIPSETTING( 0x0000, "150%" )
- PORT_DIPNAME( 0x00c0, 0x00c0, "Max Rounds" ) PORT_DIPLOCATION("SW3:7,8") /* Service Mode shows rounds needed to win the match */
- PORT_DIPSETTING( 0x0000, "1" ) /* Service Mode Shows 1 */
- PORT_DIPSETTING( 0x00c0, "3" ) /* Service Mode Shows 3, Service Mode has 2 & 3 reversed compared to game play */
- PORT_DIPSETTING( 0x0080, "5" ) /* Service Mode Shows 2, Service Mode has 2 & 3 reversed compared to game play */
+ PORT_DIPNAME( 0x00c0, 0x00c0, "Max Rounds" ) PORT_DIPLOCATION("SW3:7,8") /* Service Mode shows rounds needed to win the match */
+ PORT_DIPSETTING( 0x0000, "1" ) /* Service Mode Shows 1 */
+ PORT_DIPSETTING( 0x00c0, "3" ) /* Service Mode Shows 3, Service Mode has 2 & 3 reversed compared to game play */
+ PORT_DIPSETTING( 0x0080, "5" ) /* Service Mode Shows 2, Service Mode has 2 & 3 reversed compared to game play */
// PORT_DIPSETTING( 0x0040, "Error!!" ) /* Service Mode Shows "Error" */
- PORT_DIPNAME( 0xf000, 0xf000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW4:1,2,3,4") /* Service Mode Shows Player 2 */
+ PORT_DIPNAME( 0xf000, 0xf000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW4:1,2,3,4") /* Service Mode Shows Player 2 */
PORT_DIPSETTING( 0x8000, DEF_STR( 8C_1C ) )
PORT_DIPSETTING( 0x9000, DEF_STR( 7C_1C ) )
PORT_DIPSETTING( 0xa000, DEF_STR( 6C_1C ) )
@@ -425,9 +425,9 @@ static INPUT_PORTS_START( asurabld )
PORT_DIPSETTING( 0x2000, "2C Start / 1C Continue" )
// PORT_DIPSETTING( 0x7000, "Error!!" ) // Causes graphics issues - Service Mode shows "Error"
// PORT_DIPSETTING( 0x1000, DEF_STR( 2C_1C ) ) // Duplicate 2C_1C
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW2",0x0f00,NOTEQUALS,0x0000)
- PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) ) PORT_CONDITION("DSW2",0x0f00,EQUALS,0x0000) // Set both for Free Play
- PORT_DIPNAME( 0x0f00, 0x0f00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW4:5,6,7,8") /* Service Mode Shows Player 1 */
+ PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW2",0x0f00,NOTEQUALS,0x0000)
+ PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) ) PORT_CONDITION("DSW2",0x0f00,EQUALS,0x0000) // Set both for Free Play
+ PORT_DIPNAME( 0x0f00, 0x0f00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW4:5,6,7,8") /* Service Mode Shows Player 1 */
PORT_DIPSETTING( 0x0800, DEF_STR( 8C_1C ) )
PORT_DIPSETTING( 0x0900, DEF_STR( 7C_1C ) )
PORT_DIPSETTING( 0x0a00, DEF_STR( 6C_1C ) )
@@ -443,15 +443,15 @@ static INPUT_PORTS_START( asurabld )
PORT_DIPSETTING( 0x0200, "2C Start / 1C Continue" )
// PORT_DIPSETTING( 0x0700, "Error!!" ) // Causes graphics issues - Service Mode shows "Error"
// PORT_DIPSETTING( 0x0100, DEF_STR( 2C_1C ) ) // Duplicate 2C_1C
- PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW2",0xf000,NOTEQUALS,0x0000)
- PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) ) PORT_CONDITION("DSW2",0xf000,EQUALS,0x0000) // Set both for Free Play
+ PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW2",0xf000,NOTEQUALS,0x0000)
+ PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) ) PORT_CONDITION("DSW2",0xf000,EQUALS,0x0000) // Set both for Free Play
INPUT_PORTS_END
static INPUT_PORTS_START( asurabus )
PORT_INCLUDE(asurabld)
PORT_MODIFY("DSW1")
- PORT_DIPNAME( 0x000c, 0x000c, "Demo Sounds & Music" ) PORT_DIPLOCATION("SW1:3,4")
+ PORT_DIPNAME( 0x000c, 0x000c, "Demo Sounds & Music" ) PORT_DIPLOCATION("SW1:3,4")
PORT_DIPSETTING( 0x000c, "Both On" )
PORT_DIPSETTING( 0x0008, "Sounds Off" )
PORT_DIPSETTING( 0x0004, "Music Off" )
@@ -486,8 +486,8 @@ static const gfx_layout layout_16x16x4 =
RGN_FRAC(1,1),
4,
{ STEP4(0,1) },
- { 2*4,3*4, 0*4,1*4, 6*4,7*4, 4*4,5*4,
- 10*4,11*4, 8*4,9*4, 14*4,15*4, 12*4,13*4 },
+ { 2*4,3*4, 0*4,1*4, 6*4,7*4, 4*4,5*4,
+ 10*4,11*4, 8*4,9*4, 14*4,15*4, 12*4,13*4 },
{ STEP16(0,16*4) },
16*16*4
};
@@ -499,8 +499,8 @@ static const gfx_layout layout_16x16x8 =
RGN_FRAC(1,2),
8,
{ STEP4(RGN_FRAC(1,2),1), STEP4(0,1) },
- { 2*4,3*4, 0*4,1*4, 6*4,7*4, 4*4,5*4,
- 10*4,11*4, 8*4,9*4, 14*4,15*4, 12*4,13*4 },
+ { 2*4,3*4, 0*4,1*4, 6*4,7*4, 4*4,5*4,
+ 10*4,11*4, 8*4,9*4, 14*4,15*4, 12*4,13*4 },
{ STEP16(0,16*4) },
16*16*4
};
@@ -531,14 +531,14 @@ TIMER_CALLBACK_MEMBER(fuuki32_state::level_1_interrupt_callback)
TIMER_CALLBACK_MEMBER(fuuki32_state::vblank_interrupt_callback)
{
- m_maincpu->set_input_line(3, HOLD_LINE); // VBlank IRQ
+ m_maincpu->set_input_line(3, HOLD_LINE); // VBlank IRQ
machine().scheduler().timer_set(machine().primary_screen->time_until_vblank_start(), timer_expired_delegate(FUNC(fuuki32_state::vblank_interrupt_callback),this));
}
TIMER_CALLBACK_MEMBER(fuuki32_state::raster_interrupt_callback)
{
- m_maincpu->set_input_line(5, HOLD_LINE); // Raster Line IRQ
+ m_maincpu->set_input_line(5, HOLD_LINE); // Raster Line IRQ
machine().primary_screen->update_partial(machine().primary_screen->vpos());
m_raster_interrupt_timer->adjust(machine().primary_screen->frame_period());
}
@@ -578,12 +578,12 @@ static void irqhandler( device_t *device, int irq )
static const ymf278b_interface fuuki32_ymf278b_interface =
{
- irqhandler /* irq */
+ irqhandler /* irq */
};
static const ymf262_interface fuuki32_ymf262_interface =
{
- NULL /* irq, already hooked up via ymf278b */
+ NULL /* irq, already hooked up via ymf278b */
};
static MACHINE_CONFIG_START( fuuki32, fuuki32_state )
@@ -731,5 +731,5 @@ ROM_END
***************************************************************************/
-GAME( 1998, asurabld, 0, fuuki32, asurabld, driver_device, 0, ROT0, "Fuuki", "Asura Blade - Sword of Dynasty (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
-GAME( 2000, asurabus, 0, fuuki32, asurabus, driver_device, 0, ROT0, "Fuuki", "Asura Buster - Eternal Warriors (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 1998, asurabld, 0, fuuki32, asurabld, driver_device, 0, ROT0, "Fuuki", "Asura Blade - Sword of Dynasty (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 2000, asurabus, 0, fuuki32, asurabus, driver_device, 0, ROT0, "Fuuki", "Asura Buster - Eternal Warriors (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)