mirror of
https://github.com/holub/mame
synced 2025-06-05 20:33:45 +03:00
- diverboy.cpp, exzisus.cpp: finders, other minor cleanups
- various drivers: removed some custom GFX decodes in favor of the ones provided in emu/video/generic.cpp
This commit is contained in:
parent
d832d6a366
commit
19fe9e23a6
@ -4033,8 +4033,6 @@ files {
|
||||
MAME_DIR .. "src/mame/video/darius.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/dinoking.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/exzisus.cpp",
|
||||
MAME_DIR .. "src/mame/includes/exzisus.h",
|
||||
MAME_DIR .. "src/mame/video/exzisus.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/fgoal.cpp",
|
||||
MAME_DIR .. "src/mame/includes/fgoal.h",
|
||||
MAME_DIR .. "src/mame/video/fgoal.cpp",
|
||||
|
@ -440,21 +440,8 @@ static INPUT_PORTS_START( acommand )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
|
||||
16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
|
||||
8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
|
||||
32*32
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_acommand )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0x1800, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x1800, 256 )
|
||||
GFXDECODE_END
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(acommand_state::acommand_scanline)
|
||||
|
@ -1311,18 +1311,6 @@ static const gfx_layout aerofgt_spritelayout =
|
||||
128*8
|
||||
};
|
||||
|
||||
static const gfx_layout spikes91_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 },
|
||||
{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
|
||||
8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
|
||||
16*16
|
||||
};
|
||||
|
||||
|
||||
|
||||
static const gfx_layout aerfboot_spritelayout =
|
||||
@ -1390,7 +1378,7 @@ GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_spikes91 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pspikesb_charlayout, 0, 64 ) /* colors 0-1023 in 8 banks */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spikes91_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_planar, 1024, 64 ) /* colors 1024-2047 in 4 banks */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_kickball )
|
||||
|
@ -359,31 +359,9 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout pflayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
|
||||
{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
|
||||
16*16
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_akkaarrh )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x0000, pflayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x0000, spritelayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x0000, gfx_8x8x4_planar, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x0000, gfx_16x16x4_planar, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -454,18 +454,6 @@ all the 8x8 tiles are in one format, the 16x16 sprites in another
|
||||
|
||||
*/
|
||||
|
||||
static const gfx_layout angelkds_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 0, 4, 8, 12, 16, 20, 24, 28 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*32
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout angelkds_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -478,9 +466,9 @@ static const gfx_layout angelkds_spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_angelkds )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, angelkds_charlayout, 0x30, 1 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, angelkds_charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, angelkds_charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x30, 1 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, angelkds_spritelayout, 0x20, 0x0d )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -290,20 +290,8 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout molayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_arcadecl )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, molayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 256, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -289,21 +289,10 @@ static const gfx_layout pftoplayout =
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout anlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,32) },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_atarig1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pflayout, 0x300, 8 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, anlayout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pftoplayout, 0x300, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -495,20 +495,9 @@ static const gfx_layout pftoplayout =
|
||||
16*8
|
||||
};
|
||||
|
||||
static const gfx_layout anlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0, 4, 8, 12, 16, 20, 24, 28 },
|
||||
{ 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_atarig42 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pflayout, 0x000, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, anlayout, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pftoplayout, 0x000, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -787,21 +787,9 @@ static const gfx_layout pftoplayout =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout anlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_atarigt )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pflayout, 0x000, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, anlayout, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pftoplayout, 0x000, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -336,24 +336,11 @@ static const gfx_layout tile_layout =
|
||||
16*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
|
||||
8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 },
|
||||
{ 8*8*0, 8*8*1, 8*8*2, 8*8*3, 8*8*4, 8*8*5, 8*8*6, 8*8*7,
|
||||
8*8*8, 8*8*9, 8*8*10, 8*8*11, 8*8*12, 8*8*13, 8*8*14, 8*8*15 },
|
||||
128*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_baraduke )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, text_layout, 0, 512 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x0000, tile_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x4000, tile_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 128 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, text_layout, 0, 512 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x0000, tile_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x4000, tile_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_16x16x4_packed_msb, 0, 128 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -238,17 +238,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout battlex_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 0, 4, 8, 12, 16, 20, 24, 28 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout battlex_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -263,8 +252,8 @@ static const gfx_layout battlex_spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_battlex )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, battlex_charlayout, 64, 8 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, battlex_spritelayout, 0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 64, 8 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, battlex_spritelayout, 0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -463,18 +463,6 @@ INPUT_PORTS_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
16,16, /* 16*16 sprites */
|
||||
@ -487,7 +475,7 @@ static const gfx_layout tilelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_bbusters )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "gfx5", 0, tilelayout, 1024+256, 16 )
|
||||
GFXDECODE_END
|
||||
|
@ -1130,17 +1130,6 @@ static INPUT_PORTS_START( sdtennis )
|
||||
// and the coinage DIP switches are ignored in this case
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout tile8layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout disco_tile8layout =
|
||||
{
|
||||
8,8,
|
||||
@ -1187,32 +1176,32 @@ static const gfx_layout bnj_tile16layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_btime )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tile16layout, 8, 1 ) /* background tiles */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tile16layout, 8, 1 ) /* background tiles */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_cookrace )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tile8layout, 8, 1 ) /* background tiles */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 8, 1 ) /* background tiles */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_lnc )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_bnj )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, bnj_tile16layout,8, 1 ) /* background tiles */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 1 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile16layout, 0, 1 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, bnj_tile16layout, 8, 1 ) /* background tiles */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_zoar )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile8layout, 0, 8 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tile16layout, 0, 8 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tile16layout, 0, 8 ) /* background tiles */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 8 ) /* char set #1 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tile16layout, 0, 8 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tile16layout, 0, 8 ) /* background tiles */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_disco )
|
||||
|
@ -208,21 +208,10 @@ static const gfx_layout goallayout =
|
||||
0
|
||||
};
|
||||
|
||||
static const gfx_layout alphalayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_carpolo )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 12 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, goallayout, 12*2, 2 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, alphalayout, 12*2+2*16, 4 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x1, 12*2+2*16, 4 )
|
||||
GFXDECODE_END
|
||||
|
||||
/*************************************
|
||||
|
@ -1719,17 +1719,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(1,2), 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
8,16,
|
||||
@ -1743,13 +1732,13 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_centiped )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 4, 4*4*4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x2_planar, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 4, 4*4*4 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_milliped )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 4*4, 4*4*4*4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x2_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 4*4, 4*4*4*4 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -376,17 +376,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 4+8*0, 0+8*0, 4+8*1, 0+8*1, 4+8*2, 0+8*2, 4+8*3, 0+8*3 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -407,8 +396,8 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_cop01 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 16, 8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_lsb, 16, 8 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 16+8*16, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -368,23 +368,10 @@ static const gfx_layout tilelayout =
|
||||
128*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4,
|
||||
9*4, 8*4, 11*4, 10*4, 13*4, 12*4, 15*4, 14*4 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
|
||||
8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
|
||||
128*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_crshrace )
|
||||
GFXDECODE_ENTRY( "chars", 0, charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "tiles", 0, tilelayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, spritelayout, 512, 32 )
|
||||
GFXDECODE_ENTRY( "chars", 0, charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "tiles", 0, tilelayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, gfx_16x16x4_packed_lsb, 512, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -216,22 +216,10 @@ static const gfx_layout pflayout =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout molayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,6),
|
||||
6,
|
||||
{ RGN_FRAC(5,6), RGN_FRAC(4,6), RGN_FRAC(3,6), RGN_FRAC(2,6), RGN_FRAC(1,6), RGN_FRAC(0,6) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_cybstorm )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, pflayout, 0, 16 ) /* sprites & playfield */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, molayout, 4096, 64 ) /* sprites & playfield */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, anlayout, 16384, 64 ) /* characters 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, pflayout, 0, 16 ) /* sprites & playfield */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x6_planar, 4096, 64 ) /* sprites & playfield */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, anlayout, 16384, 64 ) /* characters 8x8 */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -501,17 +501,6 @@ static INPUT_PORTS_START( dblcrown )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout char_8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4,0, 12,8, 20,16, 28,24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout char_16x16_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -526,7 +515,7 @@ static const gfx_layout char_16x16_layout =
|
||||
|
||||
static GFXDECODE_START( gfx_dblcrown )
|
||||
#ifdef DEBUG_VRAM
|
||||
GFXDECODE_ENTRY( "vram", 0, char_8x8_layout, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "vram", 0, gfx_8x8x4_packed_lsb, 0, 0x10 )
|
||||
#endif
|
||||
GFXDECODE_ENTRY( "gfx1", 0, char_16x16_layout, 0, 0x10 )
|
||||
GFXDECODE_END
|
||||
|
@ -291,22 +291,9 @@ INPUT_PORTS_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static const gfx_layout bglayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, 8*4,
|
||||
9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
|
||||
8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
|
||||
128*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_dbz )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, bglayout, 0, 512 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, bglayout, 0, 512 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_16x16x4_packed_msb, 0, 512 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_16x16x4_packed_msb, 0, 512 )
|
||||
GFXDECODE_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
@ -200,21 +200,9 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_deniam )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* colors 0-1023 */
|
||||
/* sprites use colors 1024-2047 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 128 ) /* colors 0-1023 */
|
||||
/* sprites use colors 1024-2047 */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -31,8 +31,8 @@ PROGRAM NO-93-01-14-0024
|
||||
+------------------------------------------+
|
||||
|
||||
Notes:
|
||||
Zilog Z0840004PSC (Z80 cpu, main program CPU)
|
||||
Goldstar Z8400B PS (Z80 cpu, sound CPU)
|
||||
Zilog Z0840004PSC (Z80 CPU, main program CPU)
|
||||
Goldstar Z8400B PS (Z80 CPU, sound CPU)
|
||||
Yamaha YM3014/YM3812 (rebadged as 83142/5A12)
|
||||
OKI M5205
|
||||
TI TPC1020AFN-084C
|
||||
@ -42,17 +42,30 @@ Notes:
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/74157.h"
|
||||
#include "machine/bankdev.h"
|
||||
#include "machine/gen_latch.h"
|
||||
#include "sound/msm5205.h"
|
||||
#include "sound/ymopl.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
// configurable logging
|
||||
#define LOG_UNKWRITE (1U << 1)
|
||||
|
||||
//#define VERBOSE (LOG_GENERAL | LOG_UNKWRITE)
|
||||
|
||||
#include "logmacro.h"
|
||||
|
||||
#define LOGUNKWRITE(...) LOGMASKED(LOG_UNKWRITE, __VA_ARGS__)
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class discoboy_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -64,144 +77,119 @@ public:
|
||||
m_adpcm_select(*this, "adpcm_select"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette"),
|
||||
m_soundlatch(*this, "soundlatch"),
|
||||
m_ram_att(*this, "att_ram"),
|
||||
m_rambank1(*this, "rambank1"),
|
||||
m_ram_1(*this, "ram_1"),
|
||||
m_ram_2(*this, "ram_2") { }
|
||||
m_palram(*this, "palram_%u", 1U, 0x800U, ENDIANNESS_LITTLE),
|
||||
m_spriteram(*this, "spriteram", 0x1000U, ENDIANNESS_LITTLE),
|
||||
m_tileram(*this, "tileram", 0x1000U, ENDIANNESS_LITTLE),
|
||||
m_main_rombank(*this, "main_rombank"),
|
||||
m_soundbank(*this, "soundbank"),
|
||||
m_palrambank(*this, "palrambank"),
|
||||
m_spritetilebank(*this, "spritetilebank") { }
|
||||
|
||||
void discoboy(machine_config &config);
|
||||
|
||||
void init_discoboy();
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
/* video-related */
|
||||
uint8_t m_gfxbank = 0;
|
||||
uint8_t m_port_00 = 0;
|
||||
// video-related
|
||||
uint8_t m_gfxbank = 0;
|
||||
uint8_t m_port_00 = 0;
|
||||
|
||||
bool m_toggle = false;
|
||||
bool m_toggle = false;
|
||||
|
||||
/* devices */
|
||||
// devices
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<msm5205_device> m_msm;
|
||||
required_device<ls157_device> m_adpcm_select;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<generic_latch_8_device> m_soundlatch;
|
||||
|
||||
/* memory */
|
||||
// memory
|
||||
required_shared_ptr<uint8_t> m_ram_att;
|
||||
required_device<address_map_bank_device> m_rambank1;
|
||||
required_shared_ptr<uint8_t> m_ram_1;
|
||||
required_shared_ptr<uint8_t> m_ram_2;
|
||||
uint8_t m_ram_3[0x1000];
|
||||
uint8_t m_ram_4[0x1000];
|
||||
void rambank_select_w(uint8_t data);
|
||||
memory_share_array_creator<uint8_t, 2> m_palram;
|
||||
memory_share_creator<uint8_t> m_spriteram;
|
||||
memory_share_creator<uint8_t> m_tileram;
|
||||
required_memory_bank m_main_rombank;
|
||||
required_memory_bank m_soundbank;
|
||||
required_memory_bank m_palrambank;
|
||||
required_memory_bank m_spritetilebank;
|
||||
|
||||
void palrambank_select_w(uint8_t data);
|
||||
void port_00_w(uint8_t data);
|
||||
void port_01_w(uint8_t data);
|
||||
void port_06_w(uint8_t data);
|
||||
uint8_t rambank2_r(offs_t offset);
|
||||
void rambank2_w(offs_t offset, uint8_t data);
|
||||
uint8_t port_06_r();
|
||||
void yunsung8_sound_bankswitch_w(uint8_t data);
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
void sound_bankswitch_w(uint8_t data);
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
DECLARE_WRITE_LINE_MEMBER(yunsung8_adpcm_int);
|
||||
void discoboy_map(address_map &map);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
|
||||
void main_prg_map(address_map &map);
|
||||
void io_map(address_map &map);
|
||||
void rambank1_map(address_map &map);
|
||||
void sound_map(address_map &map);
|
||||
void sound_prg_map(address_map &map);
|
||||
};
|
||||
|
||||
void discoboy_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
void discoboy_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int flipscreen = 0;
|
||||
int offs, sx, sy;
|
||||
|
||||
for (offs = 0x1000 - 0x40; offs >= 0; offs -= 0x20)
|
||||
for (int offs = 0x1000 - 0x40; offs >= 0; offs -= 0x20)
|
||||
{
|
||||
int code = m_ram_4[offs];
|
||||
int attr = m_ram_4[offs + 1];
|
||||
int code = m_spriteram[offs];
|
||||
int attr = m_spriteram[offs + 1];
|
||||
int color = attr & 0x0f;
|
||||
sx = m_ram_4[offs + 3] + ((attr & 0x10) << 4);
|
||||
sy = ((m_ram_4[offs + 2] + 8) & 0xff) - 8;
|
||||
int sx = m_spriteram[offs + 3] + ((attr & 0x10) << 4);
|
||||
int sy = ((m_spriteram[offs + 2] + 8) & 0xff) - 8;
|
||||
code += (attr & 0xe0) << 3;
|
||||
|
||||
if (code >= 0x400)
|
||||
{
|
||||
if ((m_gfxbank & 0x30) == 0x00)
|
||||
switch (m_gfxbank & 0x30)
|
||||
{
|
||||
code = 0x400 + (code & 0x3ff);
|
||||
}
|
||||
else if ((m_gfxbank & 0x30) == 0x10)
|
||||
{
|
||||
code = 0x400 + (code & 0x3ff) + 0x400;
|
||||
}
|
||||
else if ((m_gfxbank & 0x30) == 0x20)
|
||||
{
|
||||
code = 0x400 + (code & 0x3ff) + 0x800;
|
||||
}
|
||||
else if ((m_gfxbank & 0x30) == 0x30)
|
||||
{
|
||||
code = 0x400 + (code & 0x3ff) + 0xc00;
|
||||
}
|
||||
else
|
||||
{
|
||||
code = machine().rand();
|
||||
case 0x00: code = 0x400 + (code & 0x3ff); break;
|
||||
case 0x10: code = 0x400 + (code & 0x3ff) + 0x400; break;
|
||||
case 0x20: code = 0x400 + (code & 0x3ff) + 0x800; break;
|
||||
case 0x30: code = 0x400 + (code & 0x3ff) + 0xc00; break;
|
||||
default: code = machine().rand();
|
||||
}
|
||||
}
|
||||
|
||||
m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
|
||||
m_gfxdecode->gfx(0)->transpen(bitmap, cliprect,
|
||||
code,
|
||||
color,
|
||||
flipscreen,0,
|
||||
sx,sy,15);
|
||||
flipscreen, 0,
|
||||
sx, sy, 15);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uint32_t discoboy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint16_t x, y;
|
||||
int i;
|
||||
int count = 0;
|
||||
|
||||
for (i = 0; i < 0x800; i += 2)
|
||||
for (int j = 0; j < 2; j++)
|
||||
{
|
||||
uint16_t pal;
|
||||
int r, g, b;
|
||||
pal = m_ram_1[i] | (m_ram_1[i + 1] << 8);
|
||||
for (int i = 0; i < 0x800; i += 2)
|
||||
{
|
||||
uint16_t pal = m_palram[j][i] | (m_palram[j][i + 1] << 8);
|
||||
|
||||
b = ((pal >> 0) & 0xf) << 4;
|
||||
g = ((pal >> 4) & 0xf) << 4;
|
||||
r = ((pal >> 8) & 0xf) << 4;
|
||||
int b = ((pal >> 0) & 0xf) << 4;
|
||||
int g = ((pal >> 4) & 0xf) << 4;
|
||||
int r = ((pal >> 8) & 0xf) << 4;
|
||||
|
||||
m_palette->set_pen_color(i / 2, rgb_t(r, g, b));
|
||||
}
|
||||
|
||||
for (i = 0; i < 0x800; i += 2)
|
||||
{
|
||||
uint16_t pal;
|
||||
int r,g,b;
|
||||
pal = m_ram_2[i] | (m_ram_2[i + 1] << 8);
|
||||
|
||||
b = ((pal >> 0) & 0xf) << 4;
|
||||
g = ((pal >> 4) & 0xf) << 4;
|
||||
r = ((pal >> 8) & 0xf) << 4;
|
||||
|
||||
m_palette->set_pen_color((i / 2) + 0x400, rgb_t(r, g, b));
|
||||
m_palette->set_pen_color((i / 2) + j * 0x400, rgb_t(r, g, b));
|
||||
}
|
||||
}
|
||||
|
||||
bitmap.fill(0x3ff, cliprect);
|
||||
|
||||
for (y = 0; y < 32; y++)
|
||||
for (uint8_t y = 0; y < 32; y++)
|
||||
{
|
||||
for (x = 0; x < 64; x++)
|
||||
for (uint8_t x = 0; x < 64; x++)
|
||||
{
|
||||
uint16_t tileno = m_ram_3[count] | (m_ram_3[count + 1] << 8);
|
||||
uint16_t tileno = m_tileram[count] | (m_tileram[count + 1] << 8);
|
||||
|
||||
if (tileno > 0x2000)
|
||||
{
|
||||
@ -223,78 +211,45 @@ uint32_t discoboy_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
|
||||
return 0;
|
||||
}
|
||||
|
||||
void discoboy_state::rambank_select_w(uint8_t data)
|
||||
void discoboy_state::palrambank_select_w(uint8_t data)
|
||||
{
|
||||
if (data & 0x20)
|
||||
m_rambank1->set_bank(1);
|
||||
else
|
||||
m_rambank1->set_bank(0);
|
||||
m_palrambank->set_entry(BIT(data, 5));
|
||||
|
||||
if (data &= 0x83) logerror("rambank_select_w !!!!!");
|
||||
if (data &= 0x83) LOGUNKWRITE("palrambank_select_w !!!!! %02x\n", data);
|
||||
}
|
||||
|
||||
void discoboy_state::port_00_w(uint8_t data)
|
||||
{
|
||||
if (data & 0xfe) logerror("unk port_00_w %02x\n",data);
|
||||
m_port_00 = data;
|
||||
if (data & 0xfe) LOGUNKWRITE("unk port_00_w %02x\n", data);
|
||||
m_spritetilebank->set_entry(BIT(data, 0));
|
||||
}
|
||||
|
||||
void discoboy_state::port_01_w(uint8_t data)
|
||||
{
|
||||
// 00 10 20 30 during gameplay 1,2,3 other times?? title screen bit 0x40 toggle
|
||||
//printf("unk port_01_w %02x\n",data);
|
||||
LOGUNKWRITE("unk port_01_w %02x\n", data);
|
||||
// discoboy gfxbank
|
||||
m_gfxbank = data & 0xf0;
|
||||
|
||||
membank("mainbank")->set_entry(data & 0x07);
|
||||
m_main_rombank->set_entry(data & 0x07);
|
||||
}
|
||||
|
||||
void discoboy_state::port_06_w(uint8_t data)
|
||||
{
|
||||
//printf("unk discoboy_port_06_w %02x\n",data);
|
||||
if (data != 0) logerror("port 06!!!! %02x\n",data);
|
||||
if (data != 0) LOGUNKWRITE("port 06!!!! %02x\n",data);
|
||||
}
|
||||
|
||||
uint8_t discoboy_state::rambank2_r(offs_t offset)
|
||||
{
|
||||
if (m_port_00 == 0x00)
|
||||
return m_ram_3[offset];
|
||||
else if (m_port_00 == 0x01)
|
||||
return m_ram_4[offset];
|
||||
else
|
||||
printf("unk rb2_r\n");
|
||||
|
||||
return machine().rand();
|
||||
}
|
||||
|
||||
void discoboy_state::rambank2_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
if (m_port_00 == 0x00)
|
||||
m_ram_3[offset] = data;
|
||||
else if (m_port_00 == 0x01)
|
||||
m_ram_4[offset] = data;
|
||||
else
|
||||
printf("unk rb2_w\n");
|
||||
}
|
||||
|
||||
void discoboy_state::discoboy_map(address_map &map)
|
||||
void discoboy_state::main_prg_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
map(0x8000, 0xbfff).bankr("mainbank");
|
||||
map(0xc000, 0xc7ff).m(m_rambank1, FUNC(address_map_bank_device::amap8));
|
||||
map(0xc800, 0xcfff).ram().share("att_ram");
|
||||
map(0xd000, 0xdfff).rw(FUNC(discoboy_state::rambank2_r), FUNC(discoboy_state::rambank2_w));
|
||||
map(0x8000, 0xbfff).bankr(m_main_rombank);
|
||||
map(0xc000, 0xc7ff).bankrw(m_palrambank);
|
||||
map(0xc800, 0xcfff).ram().share(m_ram_att);
|
||||
map(0xd000, 0xdfff).bankrw(m_spritetilebank);
|
||||
map(0xe000, 0xefff).ram();
|
||||
map(0xf000, 0xffff).ram();
|
||||
}
|
||||
|
||||
void discoboy_state::rambank1_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x07ff).ram().share("ram_1");
|
||||
map(0x0800, 0x0fff).ram().share("ram_2");
|
||||
}
|
||||
|
||||
|
||||
uint8_t discoboy_state::port_06_r()
|
||||
{
|
||||
return 0x00;
|
||||
@ -306,34 +261,34 @@ void discoboy_state::io_map(address_map &map)
|
||||
map(0x00, 0x00).portr("DSWA").w(FUNC(discoboy_state::port_00_w));
|
||||
map(0x01, 0x01).portr("SYSTEM").w(FUNC(discoboy_state::port_01_w));
|
||||
map(0x02, 0x02).portr("P1");
|
||||
map(0x03, 0x03).portr("P2").w(m_soundlatch, FUNC(generic_latch_8_device::write));
|
||||
map(0x03, 0x03).portr("P2").w("soundlatch", FUNC(generic_latch_8_device::write));
|
||||
map(0x04, 0x04).portr("DSWB");
|
||||
map(0x06, 0x06).rw(FUNC(discoboy_state::port_06_r), FUNC(discoboy_state::port_06_w)); // ???
|
||||
map(0x07, 0x07).w(FUNC(discoboy_state::rambank_select_w)); // 0x20 is palette bank bit.. others?
|
||||
map(0x07, 0x07).w(FUNC(discoboy_state::palrambank_select_w)); // 0x20 is palette bank bit.. others?
|
||||
}
|
||||
|
||||
/* Sound */
|
||||
// Sound
|
||||
|
||||
void discoboy_state::yunsung8_sound_bankswitch_w(uint8_t data)
|
||||
void discoboy_state::sound_bankswitch_w(uint8_t data)
|
||||
{
|
||||
/* Note: this is bit 5 on yunsung8.cpp */
|
||||
// Note: this is bit 5 on yunsung8.cpp
|
||||
m_msm->reset_w((data & 0x08) >> 3);
|
||||
|
||||
membank("sndbank")->set_entry(data & 0x07);
|
||||
m_soundbank->set_entry(data & 0x07);
|
||||
|
||||
if (data != (data & (~0x0f)))
|
||||
logerror("%s: Bank %02X\n", machine().describe_context(), data);
|
||||
LOGUNKWRITE("%s: Bank %02X\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
void discoboy_state::sound_map(address_map &map)
|
||||
void discoboy_state::sound_prg_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
map(0x8000, 0xbfff).bankr("sndbank");
|
||||
map(0xe000, 0xe000).w(FUNC(discoboy_state::yunsung8_sound_bankswitch_w));
|
||||
map(0x8000, 0xbfff).bankr(m_soundbank);
|
||||
map(0xe000, 0xe000).w(FUNC(discoboy_state::sound_bankswitch_w));
|
||||
map(0xe400, 0xe400).w(m_adpcm_select, FUNC(ls157_device::ba_w));
|
||||
map(0xec00, 0xec01).w("ymsnd", FUNC(ym3812_device::write));
|
||||
map(0xf000, 0xf7ff).ram();
|
||||
map(0xf800, 0xf800).r(m_soundlatch, FUNC(generic_latch_8_device::read));
|
||||
map(0xf800, 0xf800).r("soundlatch", FUNC(generic_latch_8_device::read));
|
||||
}
|
||||
|
||||
|
||||
@ -428,13 +383,27 @@ static const gfx_layout tiles8x8_layout2 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_discoboy )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0x000, 128 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, tiles8x8_layout, 0x000, 128 )
|
||||
GFXDECODE_ENTRY( "bgtiles", 0, tiles8x8_layout2, 0x000, 128 )
|
||||
GFXDECODE_ENTRY( "bgtiles_bank", 0, tiles8x8_layout2, 0x000, 128 )
|
||||
GFXDECODE_END
|
||||
|
||||
void discoboy_state::machine_start()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
uint8_t *audio = memregion("audiocpu")->base();
|
||||
|
||||
m_main_rombank->configure_entries(0, 8, &rom[0x10000], 0x4000);
|
||||
m_main_rombank->set_entry(0);
|
||||
m_soundbank->configure_entries(0, 8, &audio[0x00000], 0x4000);
|
||||
m_soundbank->set_entry(0);
|
||||
|
||||
m_palrambank->configure_entry(0, m_palram[0]);
|
||||
m_palrambank->configure_entry(1, m_palram[1]);
|
||||
|
||||
m_spritetilebank->configure_entry(0, m_tileram);
|
||||
m_spritetilebank->configure_entry(1, m_spriteram);
|
||||
|
||||
save_item(NAME(m_port_00));
|
||||
save_item(NAME(m_gfxbank));
|
||||
save_item(NAME(m_toggle));
|
||||
@ -447,7 +416,7 @@ void discoboy_state::machine_reset()
|
||||
m_toggle = false;
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(discoboy_state::yunsung8_adpcm_int)
|
||||
WRITE_LINE_MEMBER(discoboy_state::adpcm_int)
|
||||
{
|
||||
if (!state)
|
||||
return;
|
||||
@ -459,18 +428,16 @@ WRITE_LINE_MEMBER(discoboy_state::yunsung8_adpcm_int)
|
||||
|
||||
void discoboy_state::discoboy(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz? */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &discoboy_state::discoboy_map);
|
||||
// basic machine hardware
|
||||
Z80(config, m_maincpu, XTAL(12'000'000) / 2); // 6 MHz?
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &discoboy_state::main_prg_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &discoboy_state::io_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(discoboy_state::irq0_line_hold));
|
||||
|
||||
Z80(config, m_audiocpu, XTAL(10'000'000)/2); /* 5 MHz? */
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &discoboy_state::sound_map);
|
||||
Z80(config, m_audiocpu, XTAL(10'000'000) / 2); // 5 MHz?
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &discoboy_state::sound_prg_map);
|
||||
|
||||
ADDRESS_MAP_BANK(config, "rambank1").set_map(&discoboy_state::rambank1_map).set_options(ENDIANNESS_BIG, 8, 13, 0x800);
|
||||
|
||||
/* video hardware */
|
||||
// video hardware
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
@ -482,14 +449,13 @@ void discoboy_state::discoboy(machine_config &config)
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_discoboy);
|
||||
PALETTE(config, m_palette).set_entries(0x1000);
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
GENERIC_LATCH_8(config, m_soundlatch);
|
||||
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0);
|
||||
GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, 0);
|
||||
|
||||
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(10'000'000)/4)); /* 2.5 MHz? */
|
||||
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(10'000'000) / 4)); // 2.5 MHz?
|
||||
ymsnd.add_route(ALL_OUTPUTS, "lspeaker", 0.6);
|
||||
ymsnd.add_route(ALL_OUTPUTS, "rspeaker", 0.6);
|
||||
|
||||
@ -497,8 +463,8 @@ void discoboy_state::discoboy(machine_config &config)
|
||||
m_adpcm_select->out_callback().set("msm", FUNC(msm5205_device::data_w));
|
||||
|
||||
MSM5205(config, m_msm, XTAL(400'000));
|
||||
m_msm->vck_legacy_callback().set(FUNC(discoboy_state::yunsung8_adpcm_int)); /* interrupt function */
|
||||
m_msm->set_prescaler_selector(msm5205_device::S96_4B); /* 4KHz, 4 Bits */
|
||||
m_msm->vck_legacy_callback().set(FUNC(discoboy_state::adpcm_int)); // interrupt function
|
||||
m_msm->set_prescaler_selector(msm5205_device::S96_4B); // 4KHz, 4 Bits
|
||||
m_msm->add_route(ALL_OUTPUTS, "lspeaker", 0.80);
|
||||
m_msm->add_route(ALL_OUTPUTS, "rspeaker", 0.80);
|
||||
}
|
||||
@ -513,7 +479,7 @@ ROM_START( discoboy )
|
||||
ROM_LOAD( "2.u28", 0x00000, 0x10000, CRC(7c2ed174) SHA1(ace209dc4cc7a4ffca062842defd84cefc5b10d2) )
|
||||
ROM_LOAD( "1.u45", 0x10000, 0x10000, CRC(c266c6df) SHA1(f76e38ded43f56a486cf6569c679ddb57a4165fb) )
|
||||
|
||||
ROM_REGION( 0x100000, "gfx1", ROMREGION_INVERT )
|
||||
ROM_REGION( 0x100000, "sprites", ROMREGION_INVERT )
|
||||
ROM_LOAD( "5.u94", 0x00000, 0x10000, CRC(dbd20836) SHA1(d97651626b1dc16b93f8aed28bac19fd177e626f) )
|
||||
ROM_LOAD( "6.u124", 0x10000, 0x40000, CRC(e20d41f8) SHA1(792294a34840867072bc484d6f3cae3502c8bc28) )
|
||||
ROM_LOAD( "7.u95", 0x80000, 0x10000, CRC(1d5617a2) SHA1(6b6bd50c1984748dc8bf6600431d9bb6fe443873) )
|
||||
@ -542,7 +508,7 @@ ROM_START( discoboyp ) // all ROMs had PROMAT stickers but copyright in the game
|
||||
ROM_LOAD( "discob.u28", 0x00000, 0x10000, CRC(7c2ed174) SHA1(ace209dc4cc7a4ffca062842defd84cefc5b10d2) )
|
||||
ROM_LOAD( "discob.u45", 0x10000, 0x10000, CRC(c266c6df) SHA1(f76e38ded43f56a486cf6569c679ddb57a4165fb) )
|
||||
|
||||
ROM_REGION( 0x100000, "gfx1", ROMREGION_INVERT )
|
||||
ROM_REGION( 0x100000, "sprites", ROMREGION_INVERT )
|
||||
ROM_LOAD( "discob.u94", 0x00000, 0x10000, CRC(c436f1e5) SHA1(511e23b85f1b4fc732bd9648c0582848c20e6378) )
|
||||
ROM_LOAD( "discob.u124", 0x10000, 0x40000, CRC(0b0bf653) SHA1(ce609e9ee270eda6e74612ed5334fd6c3c81ef18) )
|
||||
ROM_LOAD( "discob.u95", 0x80000, 0x10000, CRC(ddea540e) SHA1(b69b94409bb15174f7780c637b183a2563c3d6c3) )
|
||||
@ -561,23 +527,8 @@ ROM_START( discoboyp ) // all ROMs had PROMAT stickers but copyright in the game
|
||||
ROM_LOAD( "discob.u49", 0x0c0000, 0x40000, CRC(9f884db4) SHA1(fd916b0ac54961bbd9b3f23d3ee5d35d747cbf17) )
|
||||
ROM_END
|
||||
|
||||
void discoboy_state::init_discoboy()
|
||||
{
|
||||
uint8_t *ROM = memregion("maincpu")->base();
|
||||
uint8_t *AUDIO = memregion("audiocpu")->base();
|
||||
|
||||
memset(m_ram_3, 0, sizeof(m_ram_3));
|
||||
memset(m_ram_4, 0, sizeof(m_ram_4));
|
||||
|
||||
save_item(NAME(m_ram_3));
|
||||
save_item(NAME(m_ram_4));
|
||||
|
||||
membank("mainbank")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
|
||||
membank("mainbank")->set_entry(0);
|
||||
membank("sndbank")->configure_entries(0, 8, &AUDIO[0x00000], 0x4000);
|
||||
membank("sndbank")->set_entry(0);
|
||||
}
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
GAME( 1993, discoboy, 0, discoboy, discoboy, discoboy_state, init_discoboy, ROT270, "Soft Art Co.", "Disco Boy", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, discoboyp, discoboy, discoboy, discoboy, discoboy_state, init_discoboy, ROT270, "Soft Art Co.", "Disco Boy (Promat license?)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, discoboy, 0, discoboy, discoboy, discoboy_state, empty_init, ROT270, "Soft Art Co.", "Disco Boy", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, discoboyp, discoboy, discoboy, discoboy, discoboy_state, empty_init, ROT270, "Soft Art Co.", "Disco Boy (Promat license?)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -251,22 +251,9 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout diverboy_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4, 0, 12, 8, 20, 16, 28, 24,
|
||||
36, 32, 44, 40, 52, 48, 60, 56 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
|
||||
8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
|
||||
16*64
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_diverboy )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, diverboy_spritelayout, 0, 4*16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, diverboy_spritelayout, 0, 4*16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_packed_lsb, 0, 4*16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_packed_lsb, 0, 4*16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -513,17 +513,6 @@ INPUT_PORTS_END
|
||||
|
||||
/* Graphics Layouts */
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,32) },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -538,7 +527,7 @@ static const gfx_layout spritelayout =
|
||||
/* Graphics Decode Information */
|
||||
|
||||
static GFXDECODE_START( gfx_docastle )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 32*2 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -269,17 +269,6 @@ static INPUT_PORTS_START( dominob )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3)},
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout bglayout =
|
||||
{
|
||||
32,32,
|
||||
@ -297,8 +286,8 @@ static const gfx_layout bglayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_dominob )
|
||||
GFXDECODE_ENTRY("gfx1", 0, charlayout, 0, 0x20)
|
||||
GFXDECODE_ENTRY("gfx2", 0, bglayout, 0x100, 0x10)
|
||||
GFXDECODE_ENTRY("gfx1", 0, gfx_8x8x3_planar, 0, 0x20)
|
||||
GFXDECODE_ENTRY("gfx2", 0, bglayout, 0x100, 0x10)
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -1340,17 +1340,6 @@ const gfx_layout lastday_charlayout =
|
||||
8*8*2
|
||||
};
|
||||
|
||||
const gfx_layout bluehawk_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
const gfx_layout tilelayout =
|
||||
{
|
||||
32,32,
|
||||
@ -1404,18 +1393,18 @@ GFXDECODE_START( gfx_flytiger )
|
||||
GFXDECODE_END
|
||||
|
||||
GFXDECODE_START( gfx_bluehawk )
|
||||
GFXDECODE_ENTRY( "tx", 0, bluehawk_charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "sprite", 0, spritelayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "bg0", 0, tilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "fg0", 0, tilelayout, 512, 16 )
|
||||
GFXDECODE_ENTRY( "fg1", 0, tilelayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "tx", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "sprite", 0, spritelayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "bg0", 0, tilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "fg0", 0, tilelayout, 512, 16 )
|
||||
GFXDECODE_ENTRY( "fg1", 0, tilelayout, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
GFXDECODE_START( gfx_primella )
|
||||
GFXDECODE_ENTRY( "tx", 0, bluehawk_charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "tx", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
/* no sprites */
|
||||
GFXDECODE_ENTRY( "bg0", 0, tilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "fg0", 0, tilelayout, 512, 16 )
|
||||
GFXDECODE_ENTRY( "bg0", 0, tilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "fg0", 0, tilelayout, 512, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
GFXDECODE_START( gfx_rshark )
|
||||
|
@ -693,20 +693,9 @@ static INPUT_PORTS_START( gaialast )
|
||||
PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW1:8" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout layout_16x16x4 =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{STEP4(0,1)},
|
||||
{STEP16(0,4)},
|
||||
{STEP16(0,4*16)},
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_dreamwld )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x000, 0x40 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0x800, 0x48 ) // [1] Layer 0 + 1
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_packed_msb, 0x000, 0x40 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_packed_msb, 0x800, 0x48 ) // [1] Layer 0 + 1
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -200,17 +200,6 @@ static INPUT_PORTS_START( dynadice )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout2 =
|
||||
{
|
||||
8,8,
|
||||
@ -224,7 +213,7 @@ static const gfx_layout charlayout2 =
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_dynadice )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) /* 1bpp */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 1 ) /* 1bpp */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, charlayout2, 0, 1 ) /* 3bpp */
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -517,17 +517,6 @@ static const gfx_layout tilelayout3bpp =
|
||||
8 * 8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout1bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8 * 8
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Graphics Decode Information *
|
||||
@ -535,7 +524,7 @@ static const gfx_layout tilelayout1bpp =
|
||||
|
||||
static GFXDECODE_START( gfx_efdt )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tilelayout3bpp, 0, 256*6 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout1bpp, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x1, 0, 256 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -726,24 +726,12 @@ static const gfx_layout helper8x8x8_layout =
|
||||
8 * 8 * 8
|
||||
};
|
||||
|
||||
static const gfx_layout helper8x8x4_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,8*4) },
|
||||
8 * 8 * 4
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_helper )
|
||||
// dummy standard decodes to see background tiles, not used for drawing
|
||||
GFXDECODE_ENTRY( "maincpu", 0, helper16x16x8_layout, 0x0, 2 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, helper16x16x4_layout, 0x0, 32 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, helper8x8x8_layout, 0x0, 2 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, helper8x8x4_layout, 0x0, 32 )
|
||||
GFXDECODE_ENTRY( "maincpu", 0, gfx_8x8x4_packed_msb, 0x0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -318,20 +318,9 @@ void esh_state::esh_palette(palette_device &palette) const
|
||||
}
|
||||
}
|
||||
|
||||
static const gfx_layout esh_gfx_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0,1,2,3,4,5,6,7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_esh )
|
||||
GFXDECODE_ENTRY("gfx1", 0, esh_gfx_layout, 0x0, 0x20)
|
||||
GFXDECODE_ENTRY("gfx2", 0, esh_gfx_layout, 0x0, 0x20)
|
||||
GFXDECODE_ENTRY("gfx1", 0, gfx_8x8x3_planar, 0x0, 0x20)
|
||||
GFXDECODE_ENTRY("gfx2", 0, gfx_8x8x3_planar, 0x0, 0x20)
|
||||
GFXDECODE_END
|
||||
|
||||
INTERRUPT_GEN_MEMBER(esh_state::vblank_callback_esh)
|
||||
|
@ -29,66 +29,203 @@ System specs :
|
||||
* The second, later PCB has a single video output and is JAMMA compliant.
|
||||
|
||||
TODO:
|
||||
- There must be a way for cpu a to stop cpu c, otherwise the RAM check in test
|
||||
- There must be a way for CPU a to stop CPU c, otherwise the RAM check in test
|
||||
mode cannot work. However, the only way I found to do that is making writes
|
||||
to F404 pulse the reset line, which isn't a common way to handle these things.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/exzisus.h"
|
||||
#include "includes/taitoipt.h"
|
||||
|
||||
#include "audio/taitosnd.h"
|
||||
#include "includes/taitoipt.h"
|
||||
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/ymopm.h"
|
||||
|
||||
#include "emupal.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class exzisus_state : public driver_device
|
||||
{
|
||||
public:
|
||||
exzisus_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_cpuc(*this, "cpuc"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette"),
|
||||
m_objectram(*this, "objectram%u", 0U),
|
||||
m_videoram(*this, "videoram%u", 0U),
|
||||
m_sharedram_ac(*this, "sharedram_ac"),
|
||||
m_sharedram_ab(*this, "sharedram_ab"),
|
||||
m_cpubank(*this, "cpubank%u", 0U)
|
||||
{ }
|
||||
|
||||
void exzisus(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_cpuc;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr_array<uint8_t, 2> m_objectram;
|
||||
required_shared_ptr_array<uint8_t, 2> m_videoram;
|
||||
required_shared_ptr<uint8_t> m_sharedram_ac;
|
||||
required_shared_ptr<uint8_t> m_sharedram_ab;
|
||||
required_memory_bank_array<2> m_cpubank;
|
||||
|
||||
template <uint8_t Which> void cpu_bankswitch_w(uint8_t data);
|
||||
void coincounter_w(uint8_t data);
|
||||
void cpuc_reset_w(uint8_t data);
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void cpua_map(address_map &map);
|
||||
void cpub_map(address_map &map);
|
||||
void cpuc_map(address_map &map);
|
||||
void sound_map(address_map &map);
|
||||
};
|
||||
|
||||
|
||||
// video
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Video hardware of this hardware is almost similar with "mexico86". So,
|
||||
most routines are derived from mexico86 driver.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Screen refresh
|
||||
***************************************************************************/
|
||||
|
||||
uint32_t exzisus_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
// Is this correct ?
|
||||
bitmap.fill(1023, cliprect);
|
||||
|
||||
// 2 TC0010VCU. TODO: devicify if more drivers use this chip
|
||||
for (int j = 0; j < 2; j++)
|
||||
{
|
||||
int sx = 0;
|
||||
|
||||
for (int offs = 0 ; offs < m_objectram[j].bytes() ; offs += 4)
|
||||
{
|
||||
int height;
|
||||
|
||||
// Skip empty sprites.
|
||||
if ( !(*(uint32_t *)(&m_objectram[j][offs])) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
int gfx_num = m_objectram[j][offs + 1];
|
||||
int gfx_attr = m_objectram[j][offs + 3];
|
||||
|
||||
int gfx_offs;
|
||||
if ((gfx_num & 0x80) == 0) // 16x16 sprites
|
||||
{
|
||||
gfx_offs = ((gfx_num & 0x7f) << 3);
|
||||
height = 2;
|
||||
|
||||
sx = m_objectram[j][offs + 2];
|
||||
sx |= (gfx_attr & 0x40) << 2;
|
||||
}
|
||||
else // tilemaps (each sprite is a 16x256 column)
|
||||
{
|
||||
gfx_offs = ((gfx_num & 0x3f) << 7) + 0x0400;
|
||||
height = 32;
|
||||
|
||||
if (gfx_num & 0x40) // Next column
|
||||
{
|
||||
sx += 16;
|
||||
}
|
||||
else
|
||||
{
|
||||
sx = m_objectram[j][offs + 2];
|
||||
sx |= (gfx_attr & 0x40) << 2;
|
||||
}
|
||||
}
|
||||
|
||||
int sy = 256 - (height << 3) - (m_objectram[j][offs]);
|
||||
|
||||
for (int xc = 0 ; xc < 2 ; xc++)
|
||||
{
|
||||
int goffs = gfx_offs;
|
||||
for (int yc = 0 ; yc < height ; yc++)
|
||||
{
|
||||
int code = (m_videoram[j][goffs + 1] << 8) | m_videoram[j][goffs];
|
||||
int color = (m_videoram[j][goffs + 1] >> 6) | (gfx_attr & 0x0f);
|
||||
int x = (sx + (xc << 3)) & 0xff;
|
||||
int y = (sy + (yc << 3)) & 0xff;
|
||||
|
||||
if (flip_screen())
|
||||
{
|
||||
x = 248 - x;
|
||||
y = 248 - y;
|
||||
}
|
||||
|
||||
m_gfxdecode->gfx(j)->transpen(bitmap, cliprect,
|
||||
code & 0x3fff,
|
||||
color,
|
||||
flip_screen(), flip_screen(),
|
||||
x, y, 15);
|
||||
goffs += 2;
|
||||
}
|
||||
gfx_offs += height << 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// machine
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Memory Handler(s)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
void exzisus_state::cpua_bankswitch_w(uint8_t data)
|
||||
template <uint8_t Which>
|
||||
void exzisus_state::cpu_bankswitch_w(uint8_t data)
|
||||
{
|
||||
membank("cpuabank")->set_entry(data & 0x0f);
|
||||
flip_screen_set(data & 0x40);
|
||||
}
|
||||
|
||||
void exzisus_state::cpub_bankswitch_w(uint8_t data)
|
||||
{
|
||||
membank("cpubbank")->set_entry(data & 0x0f);
|
||||
m_cpubank[Which]->set_entry(data & 0x0f);
|
||||
flip_screen_set(data & 0x40);
|
||||
}
|
||||
|
||||
void exzisus_state::coincounter_w(uint8_t data)
|
||||
{
|
||||
machine().bookkeeping().coin_lockout_w(0,~data & 0x01);
|
||||
machine().bookkeeping().coin_lockout_w(1,~data & 0x02);
|
||||
machine().bookkeeping().coin_counter_w(0,data & 0x04);
|
||||
machine().bookkeeping().coin_counter_w(1,data & 0x08);
|
||||
machine().bookkeeping().coin_lockout_w(0, ~data & 0x01);
|
||||
machine().bookkeeping().coin_lockout_w(1, ~data & 0x02);
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x04);
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x08);
|
||||
}
|
||||
|
||||
// is it ok that cpub_reset refers to cpuc?
|
||||
void exzisus_state::cpub_reset_w(uint8_t data)
|
||||
void exzisus_state::cpuc_reset_w(uint8_t data)
|
||||
{
|
||||
m_cpuc->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
|
||||
}
|
||||
|
||||
#if 0
|
||||
// without cpub_reset_w, the following patch would be needed for
|
||||
// the RAM check to work
|
||||
// without cpuc_reset_w, the following patch would be needed for the RAM check to work
|
||||
void exzisus_state::init_exzisus()
|
||||
{
|
||||
uint8_t *RAM = memregion("cpua")->base();
|
||||
|
||||
/* Fix WORK RAM error */
|
||||
// Fix WORK RAM error
|
||||
RAM[0x67fd] = 0x18;
|
||||
|
||||
/* Fix ROM 1 error */
|
||||
// Fix ROM 1 error
|
||||
RAM[0x6829] = 0x18;
|
||||
}
|
||||
#endif
|
||||
@ -103,41 +240,41 @@ void exzisus_state::init_exzisus()
|
||||
void exzisus_state::cpua_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
map(0x8000, 0xbfff).bankr("cpuabank");
|
||||
map(0xc000, 0xc5ff).ram().share("objectram1");
|
||||
map(0xc600, 0xdfff).ram().share("videoram1");
|
||||
map(0xe000, 0xefff).ram().share("sharedram_ac");
|
||||
map(0xf400, 0xf400).w(FUNC(exzisus_state::cpua_bankswitch_w));
|
||||
map(0xf404, 0xf404).w(FUNC(exzisus_state::cpub_reset_w)); // ??
|
||||
map(0xf800, 0xffff).ram().share("sharedram_ab");
|
||||
map(0x8000, 0xbfff).bankr(m_cpubank[0]);
|
||||
map(0xc000, 0xc5ff).ram().share(m_objectram[1]);
|
||||
map(0xc600, 0xdfff).ram().share(m_videoram[1]);
|
||||
map(0xe000, 0xefff).ram().share(m_sharedram_ac);
|
||||
map(0xf400, 0xf400).w(FUNC(exzisus_state::cpu_bankswitch_w<0>));
|
||||
map(0xf404, 0xf404).w(FUNC(exzisus_state::cpuc_reset_w)); // ??
|
||||
map(0xf800, 0xffff).ram().share(m_sharedram_ab);
|
||||
}
|
||||
|
||||
void exzisus_state::cpub_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
map(0x8000, 0xbfff).bankr("cpubbank");
|
||||
map(0xc000, 0xc5ff).ram().share("objectram0");
|
||||
map(0xc600, 0xdfff).ram().share("videoram0");
|
||||
map(0x8000, 0xbfff).bankr(m_cpubank[1]);
|
||||
map(0xc000, 0xc5ff).ram().share(m_objectram[0]);
|
||||
map(0xc600, 0xdfff).ram().share(m_videoram[0]);
|
||||
map(0xe000, 0xefff).ram();
|
||||
map(0xf000, 0xf000).nopr().w("ciu", FUNC(pc060ha_device::master_port_w));
|
||||
map(0xf001, 0xf001).rw("ciu", FUNC(pc060ha_device::master_comm_r), FUNC(pc060ha_device::master_comm_w));
|
||||
map(0xf400, 0xf400).portr("P1");
|
||||
map(0xf400, 0xf400).w(FUNC(exzisus_state::cpub_bankswitch_w));
|
||||
map(0xf400, 0xf400).w(FUNC(exzisus_state::cpu_bankswitch_w<1>));
|
||||
map(0xf401, 0xf401).portr("P2");
|
||||
map(0xf402, 0xf402).portr("SYSTEM");
|
||||
map(0xf402, 0xf402).w(FUNC(exzisus_state::coincounter_w));
|
||||
map(0xf404, 0xf404).portr("DSWA");
|
||||
map(0xf404, 0xf404).nopw(); // ??
|
||||
map(0xf405, 0xf405).portr("DSWB");
|
||||
map(0xf800, 0xffff).ram().share("sharedram_ab");
|
||||
map(0xf800, 0xffff).ram().share(m_sharedram_ab);
|
||||
}
|
||||
|
||||
void exzisus_state::cpuc_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom();
|
||||
map(0x8000, 0x85ff).ram().share("objectram1");
|
||||
map(0x8600, 0x9fff).ram().share("videoram1");
|
||||
map(0xa000, 0xafff).ram().share("sharedram_ac");
|
||||
map(0x8000, 0x85ff).ram().share(m_objectram[1]);
|
||||
map(0x8600, 0x9fff).ram().share(m_videoram[1]);
|
||||
map(0xa000, 0xafff).ram().share(m_sharedram_ac);
|
||||
map(0xb000, 0xbfff).ram();
|
||||
}
|
||||
|
||||
@ -206,8 +343,8 @@ INPUT_PORTS_END
|
||||
|
||||
void exzisus_state::machine_start()
|
||||
{
|
||||
membank("cpuabank")->configure_entries(0, 16, memregion("cpua")->base(), 0x4000);
|
||||
membank("cpubbank")->configure_entries(0, 16, memregion("cpub")->base(), 0x4000);
|
||||
m_cpubank[0]->configure_entries(0, 16, memregion("cpua")->base(), 0x4000);
|
||||
m_cpubank[1]->configure_entries(0, 16, memregion("cpub")->base(), 0x4000);
|
||||
}
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
@ -228,10 +365,10 @@ GFXDECODE_END
|
||||
|
||||
|
||||
|
||||
/* All clocks are unconfirmed */
|
||||
// All clocks are unconfirmed
|
||||
void exzisus_state::exzisus(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
// basic machine hardware
|
||||
z80_device &cpua(Z80(config, "cpua", 6000000));
|
||||
cpua.set_addrmap(AS_PROGRAM, &exzisus_state::cpua_map);
|
||||
cpua.set_vblank_int("screen", FUNC(exzisus_state::irq0_line_hold));
|
||||
@ -247,9 +384,9 @@ void exzisus_state::exzisus(machine_config &config)
|
||||
z80_device &audiocpu(Z80(config, "audiocpu", 4000000));
|
||||
audiocpu.set_addrmap(AS_PROGRAM, &exzisus_state::sound_map);
|
||||
|
||||
config.set_maximum_quantum(attotime::from_hz(600)); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
|
||||
config.set_maximum_quantum(attotime::from_hz(600)); // 10 CPU slices per frame - enough for the sound CPU to read all commands
|
||||
|
||||
/* video hardware */
|
||||
// video hardware
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
@ -261,7 +398,7 @@ void exzisus_state::exzisus(machine_config &config)
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_exzisus);
|
||||
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 1024);
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
ym2151_device &ymsnd(YM2151(config, "ymsnd", 4000000));
|
||||
@ -351,9 +488,9 @@ ROM_START( exzisusa )
|
||||
ROM_LOAD( "b23-09.3d", 0x50000, 0x10000, CRC(6651617f) SHA1(6351a0b01589cb181b896285ade70e9dfcd799ec) )
|
||||
|
||||
ROM_REGION( 0x00c00, "proms", 0 )
|
||||
/* These appear to be twice the correct size */
|
||||
// These appear to be twice the correct size
|
||||
ROM_LOAD( "b23-04.15l", 0x00000, 0x00400, CRC(5042cffa) SHA1(c969748866a12681cf2dbf25a46da2c4e4f92313) )
|
||||
ROM_LOAD( "b23-03.14l", 0x00400, 0x00400, BAD_DUMP CRC(9458fd45) SHA1(7f7cdacf37bb6f15de1109fa73ba3c5fc88893d0) ) /* D0 is fixed */
|
||||
ROM_LOAD( "b23-03.14l", 0x00400, 0x00400, BAD_DUMP CRC(9458fd45) SHA1(7f7cdacf37bb6f15de1109fa73ba3c5fc88893d0) ) // D0 is fixed
|
||||
ROM_LOAD( "b23-05.16l", 0x00800, 0x00400, CRC(87f0f69a) SHA1(37df6fd56245fab9beaabfd86fd8f95d7c42c2a5) )
|
||||
ROM_END
|
||||
|
||||
@ -388,12 +525,15 @@ ROM_START( exzisust )
|
||||
ROM_LOAD( "b23-09.3d", 0x50000, 0x10000, CRC(6651617f) SHA1(6351a0b01589cb181b896285ade70e9dfcd799ec) )
|
||||
|
||||
ROM_REGION( 0x00c00, "proms", 0 )
|
||||
/* These appear to be twice the correct size */
|
||||
// These appear to be twice the correct size
|
||||
ROM_LOAD( "b23-04.15l", 0x00000, 0x00400, CRC(5042cffa) SHA1(c969748866a12681cf2dbf25a46da2c4e4f92313) )
|
||||
ROM_LOAD( "b23-03.14l", 0x00400, 0x00400, BAD_DUMP CRC(9458fd45) SHA1(7f7cdacf37bb6f15de1109fa73ba3c5fc88893d0) ) /* D0 is fixed */
|
||||
ROM_LOAD( "b23-03.14l", 0x00400, 0x00400, BAD_DUMP CRC(9458fd45) SHA1(7f7cdacf37bb6f15de1109fa73ba3c5fc88893d0) ) // D0 is fixed
|
||||
ROM_LOAD( "b23-05.16l", 0x00800, 0x00400, CRC(87f0f69a) SHA1(37df6fd56245fab9beaabfd86fd8f95d7c42c2a5) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
GAME( 1987, exzisus, 0, exzisus, exzisus, exzisus_state, empty_init, ROT0, "Taito Corporation", "Exzisus (Japan, dedicated)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, exzisusa, exzisus, exzisus, exzisus, exzisus_state, empty_init, ROT0, "Taito Corporation", "Exzisus (Japan, conversion)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, exzisust, exzisus, exzisus, exzisus, exzisus_state, empty_init, ROT0, "Taito Corporation (TAD license)", "Exzisus (TAD license)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -555,17 +555,6 @@ static INPUT_PORTS_START( imagoa )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -592,32 +581,21 @@ static const gfx_layout imago_spritelayout =
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout imago_char_1bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_fastfred )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_jumpcoas )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_imago )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( nullptr, 0xb800, imago_spritelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, imago_char_1bpp, 0x140, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_ENTRY( nullptr, 0xb800, imago_spritelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x1, 0x140, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
WRITE_LINE_MEMBER(fastfred_state::vblank_irq)
|
||||
|
@ -192,17 +192,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -217,9 +206,9 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_finalizr )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 16*16, 16 ) // to handle 8x8 sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 16*16, 16 ) // to handle 8x8 sprites
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -598,17 +598,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,32) },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -621,8 +610,8 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_firefox )
|
||||
GFXDECODE_ENTRY("tiles", 0, tilelayout, 0, 1)
|
||||
GFXDECODE_ENTRY("sprites", 0, spritelayout, 256, 4)
|
||||
GFXDECODE_ENTRY("tiles", 0, gfx_8x8x4_packed_msb, 0, 1)
|
||||
GFXDECODE_ENTRY("sprites", 0, spritelayout, 256, 4)
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -731,17 +731,6 @@ uint8_t freekick_state::snd_rom_r()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0,1,2,3, 4,5,6,7 },
|
||||
{ 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -758,8 +747,8 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_freekick )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x000, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0x100, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0x000, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0x100, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
/*************************************
|
||||
|
@ -108,19 +108,8 @@ static INPUT_PORTS_START(freeway)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_MEMORY_RESET) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, freeway_state, nmi_w)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout char_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8,
|
||||
};
|
||||
|
||||
static GFXDECODE_START(gfx_freeway)
|
||||
GFXDECODE_ENTRY("gfx", 0, char_layout, 0x0, 1)
|
||||
GFXDECODE_ENTRY("gfx", 0, gfx_8x8x3_planar, 0x0, 1)
|
||||
GFXDECODE_END
|
||||
|
||||
void freeway_state::freeway(machine_config &config)
|
||||
|
@ -424,20 +424,8 @@ static const gfx_layout tiles8x32_layout =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout tiles8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 4, 0, 12, 8, 20, 16, 28, 24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_funtech )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tiles8x32_layout, 0x100, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -353,18 +353,6 @@ INPUT_PORTS_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/* 8x8x4 */
|
||||
static const gfx_layout layout_8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,8*4) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
/* 16x16x4 */
|
||||
static const gfx_layout layout_16x16x4 =
|
||||
{
|
||||
@ -390,9 +378,9 @@ static const gfx_layout layout_16x16x8 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_fuuki16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0x400*0, 0x40 ) // [0] Layer 0
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0x400*1, 0x40 ) // [1] Layer 1
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x4, 0x400*3, 0x40 ) // [2] Layer 2
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0x400*0, 0x40 ) // [0] Layer 0
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0x400*1, 0x40 ) // [1] Layer 1
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 0x400*3, 0x40 ) // [2] Layer 2
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -442,18 +442,6 @@ INPUT_PORTS_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/* 8x8x4 */
|
||||
static const gfx_layout layout_8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,8*4) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
/* 16x16x8 */
|
||||
static const gfx_layout layout_16x16x8 =
|
||||
{
|
||||
@ -467,9 +455,9 @@ static const gfx_layout layout_16x16x8 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_fuuki32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x8, 0x400*0, 0x40 ) // [0] Layer 1
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0x400*1, 0x40 ) // [1] Layer 2
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x4, 0x400*3, 0x40 ) // [2] BG Layer
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x8, 0x400*0, 0x40 ) // [0] Layer 1
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0x400*1, 0x40 ) // [1] Layer 2
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 0x400*3, 0x40 ) // [2] BG Layer
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -1442,17 +1442,6 @@ static const gfx_layout charlayout_2bpp =
|
||||
16*8
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout_xevious =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout_digdug =
|
||||
{
|
||||
8,8,
|
||||
@ -1531,7 +1520,7 @@ static GFXDECODE_START( gfx_galaga )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_xevious )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout_xevious, 128*4+64*8, 64 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 128*4+64*8, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, bgcharlayout, 0, 128 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout_xevious, 128*4, 64 )
|
||||
GFXDECODE_END
|
||||
|
@ -269,17 +269,6 @@ INPUT_PORTS_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static const gfx_layout tiles8x8x1_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ RGN_FRAC(0,1) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout tiles8x8x2_layout =
|
||||
{
|
||||
8,8,
|
||||
@ -296,7 +285,7 @@ static GFXDECODE_START( gfx_galaxia )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_astrowar )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x1_layout, 0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -446,21 +446,9 @@ static const gfx_layout anlayout =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout pfmolayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_gauntlet )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, pfmolayout, 256, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, anlayout, 0, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_planar, 256, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, anlayout, 0, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -205,22 +205,11 @@ static const gfx_layout layout16x16 =
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout8x8 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_ginganin )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 256*3, 16 ) /* [0] bg */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16x16, 256*2, 16 ) /* [1] fg */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout8x8, 256*0, 16 ) /* [2] txt */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout16x16, 256*1, 16 ) /* [3] sprites */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 256*3, 16 ) /* [0] bg */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16x16, 256*2, 16 ) /* [1] fg */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_packed_msb, 256*0, 16 ) /* [2] txt */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout16x16, 256*1, 16 ) /* [3] sprites */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -890,17 +890,6 @@ INPUT_PORTS_END
|
||||
|
||||
/*******************************************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
8,8,
|
||||
@ -926,13 +915,13 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_ppking )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x100, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_gladiatr )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x200, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0x200, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0x000, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x100, 32 )
|
||||
GFXDECODE_END
|
||||
|
@ -231,17 +231,6 @@ WRITE_LINE_MEMBER(goal92_state::goal92_adpcm_int)
|
||||
m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
}
|
||||
|
||||
static const gfx_layout layout_8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4),RGN_FRAC(2,4),RGN_FRAC(1,4),RGN_FRAC(0,4) },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout layout_16x16x4 =
|
||||
{
|
||||
16,16,
|
||||
@ -270,7 +259,7 @@ static const gfx_layout layout_16x16x4_2 =
|
||||
|
||||
static GFXDECODE_START( gfx_goal92 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0*16, 8*16 ) // Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 48*16, 16 ) // Text Layer
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_planar, 48*16, 16 ) // Text Layer
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0*16, 16 ) // BG Layer
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 16*16, 16 ) // Mid Layer
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 32*16, 16 ) // FG Layer
|
||||
|
@ -8237,17 +8237,6 @@ static const gfx_layout tiles8x32x5_layout =
|
||||
};
|
||||
#endif
|
||||
|
||||
static const gfx_layout cb3c_tiles8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 4, 0, 12, 8, 20, 16, 28, 24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*32
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout cb3c_tiles8x32_layout =
|
||||
{
|
||||
@ -8401,7 +8390,7 @@ static GFXDECODE_START( gfx_chry10 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_cb3c )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, cb3c_tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, cb3c_tiles8x32_layout, 128, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -1746,16 +1746,6 @@ INPUT_PORTS_END
|
||||
|
||||
/* the games can store char gfx data in either a 4k RAM area (128 chars), or */
|
||||
/* a 8k ROM area (256 chars). */
|
||||
static const gfx_layout bg_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,32) },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout fg_layout =
|
||||
{
|
||||
@ -1769,9 +1759,9 @@ static const gfx_layout fg_layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfxdecode )
|
||||
GFXDECODE_RAM( "charram", 0, bg_layout, 0, 1 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( "bgtiles", 0, bg_layout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, fg_layout, 0, 1 )
|
||||
GFXDECODE_RAM( "charram", 0, gfx_8x8x4_packed_msb, 0, 1 ) /* the game dynamically modifies this */
|
||||
GFXDECODE_ENTRY( "bgtiles", 0, gfx_8x8x4_packed_msb, 0, 1 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, fg_layout, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -207,18 +207,6 @@ void gstriker_state::sh_bankswitch_w(uint8_t data)
|
||||
|
||||
/*** GFX DECODE **************************************************************/
|
||||
|
||||
static const gfx_layout gs_8x8x4_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4, 0, 12, 8, 20, 16, 28, 24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*32
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout gs_16x16x4_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -236,9 +224,9 @@ static const gfx_layout gs_16x16x4_layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_gstriker )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gs_8x8x4_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gs_16x16x4_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gs_16x16x4_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gs_16x16x4_layout, 0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gs_16x16x4_layout, 0, 256 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -383,17 +383,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout layout8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout16x16x4 =
|
||||
{
|
||||
16,16,
|
||||
@ -406,8 +395,8 @@ static const gfx_layout layout16x16x4 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_gundealr )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8x8x4, 0, 16 ) /* colors 0-255 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16x16x4, 256, 16 ) /* colors 256-511 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 16 ) /* colors 0-255 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16x16x4, 256, 16 ) /* colors 256-511 */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -216,17 +216,6 @@ INPUT_PORTS_END
|
||||
GFX Layouts
|
||||
******************************************************************************/
|
||||
|
||||
static const gfx_layout charlayout_1bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout_3bpp =
|
||||
{
|
||||
8,8,
|
||||
@ -239,7 +228,7 @@ static const gfx_layout charlayout_3bpp =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_foolrace )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout_1bpp, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_blackhol )
|
||||
|
@ -364,17 +364,6 @@ INPUT_PORTS_END
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
static const gfx_layout layout_bg =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4,0,12,8,20,16,28,24 },
|
||||
{ STEP8(0,32) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout_p103a =
|
||||
{
|
||||
32,32,
|
||||
@ -398,7 +387,7 @@ static const gfx_layout layout_spr =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_himesiki )
|
||||
GFXDECODE_ENTRY( "bgtiles", 0, layout_bg, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "bgtiles", 0, gfx_8x8x4_packed_lsb, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, layout_spr, 0x200, 16 )
|
||||
GFXDECODE_ENTRY( "spr_p103a", 0, layout_p103a, 0x200, 16 )
|
||||
GFXDECODE_END
|
||||
|
@ -280,19 +280,8 @@ static GFXDECODE_START( gfx_hitme )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static const gfx_layout barricad_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_barricad )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, barricad_charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -1101,20 +1101,9 @@ INPUT_PORTS_END
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
static const gfx_layout char_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_mrokumei )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, char_layout, 0x6000, 0x100 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, char_layout, 0x7000, 0x100 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x6000, 0x100 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x7000, 0x100 )
|
||||
GFXDECODE_END
|
||||
|
||||
static const gfx_layout tile_layout =
|
||||
@ -1491,20 +1480,9 @@ void homedata_state::cpu2_map(address_map &map)
|
||||
|
||||
|
||||
|
||||
static const gfx_layout mirderbychar_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_mirderby )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, mirderbychar_layout, 0x0000, 0x10 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, mirderbychar_layout, 0x0000, 0x10 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x0000, 0x10 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x0000, 0x10 )
|
||||
GFXDECODE_END
|
||||
|
||||
/* Miracle Derby - Ascot
|
||||
|
@ -3994,16 +3994,6 @@ INPUT_PORTS_END
|
||||
// for debugging
|
||||
|
||||
#if 0
|
||||
static const gfx_layout layout_8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ 4, 0, 12, 8, 20,16, 28,24 },
|
||||
{ STEP8(0,8*4) },
|
||||
8*8*4
|
||||
};
|
||||
static const gfx_layout layout_16x16x4 =
|
||||
{
|
||||
16,16,
|
||||
@ -4047,17 +4037,17 @@ static const gfx_layout layout_16x16x1 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_igs011 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_8x8x4, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x4, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_8x8x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x4_packed_lsb, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x4, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_8x8x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x8, 0, 0x08 )
|
||||
GFXDECODE_END
|
||||
static GFXDECODE_START( gfx_igs011_hi )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_8x8x4, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x4, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_8x8x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter_hi", 0, layout_16x16x1, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, gfx_8x8x4_packed_lsb, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x4, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_8x8x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter", 0, layout_16x16x8, 0, 0x08 )
|
||||
GFXDECODE_ENTRY( "blitter_hi", 0, layout_16x16x1, 0, 0x80 )
|
||||
GFXDECODE_END
|
||||
#endif
|
||||
|
||||
|
@ -218,17 +218,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout ironhors_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout ironhors_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -243,9 +232,9 @@ static const gfx_layout ironhors_spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_ironhors )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, ironhors_charlayout, 0, 16*8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 16*8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, ironhors_spritelayout, 16*8*16, 16*8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, ironhors_charlayout, 16*8*16, 16*8 ) // to handle 8x8 sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 16*8*16, 16*8 ) // to handle 8x8 sprites
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -523,17 +523,6 @@ static INPUT_PORTS_START( joystand )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout layout_8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0, 1) },
|
||||
{ STEP8(0, 4) },
|
||||
{ STEP8(0, 4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout_16x16x8 =
|
||||
{
|
||||
16,16,
|
||||
@ -546,13 +535,13 @@ static const gfx_layout layout_16x16x8 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_joystand )
|
||||
GFXDECODE_ENTRY( "tiles", 0, layout_8x8x4, 0, 0x100 )
|
||||
GFXDECODE_ENTRY( "cart.u5", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u6", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u3", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u4", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u1", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u2", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x4_packed_msb, 0, 0x100 )
|
||||
GFXDECODE_ENTRY( "cart.u5", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u6", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u3", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u4", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u1", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "cart.u2", 0, layout_16x16x8, 0, 0x10 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -269,30 +269,6 @@ static const gfx_layout layout_8x8 =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout layout_8x8_alt =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout layout_16x16 =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ STEP16(0,1) },
|
||||
{ STEP16(0,16) },
|
||||
16*16
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout layout_32x32 =
|
||||
{
|
||||
32,32,
|
||||
@ -305,15 +281,15 @@ static const gfx_layout layout_32x32 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_kickgoal )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_8x8, 0x000, 0x40 ) // FG GFX for even column like CPS1
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_32x32, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 1, layout_8x8, 0x000, 0x40 ) // FG GFX for odd column like CPS1
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_8x8, 0x000, 0x40 ) // FG GFX for even column like CPS1
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_planar, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_32x32, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 1, layout_8x8, 0x000, 0x40 ) // FG GFX for odd column like CPS1
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_actionhw )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_8x8_alt, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_planar, 0x000, 0x40 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_planar, 0x000, 0x40 )
|
||||
GFXDECODE_END
|
||||
|
||||
/* MACHINE drivers ***********************************************************/
|
||||
|
@ -171,21 +171,9 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout pfmolayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_klax )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, pfmolayout, 256, 16 ) /* playfield */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, pfmolayout, 0, 16 ) /* sprites */
|
||||
static GFXDECODE_START( gfx_klax )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 256, 16 ) /* playfield */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0, 16 ) /* sprites */
|
||||
GFXDECODE_END
|
||||
|
||||
static const gfx_layout bootleg_layout =
|
||||
@ -200,8 +188,8 @@ static const gfx_layout bootleg_layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_klax5bl )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, bootleg_layout, 256, 16 ) /* playfield */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, pfmolayout, 0, 16 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, bootleg_layout, 256, 16 ) /* playfield */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0, 16 ) /* sprites */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -193,17 +193,6 @@ static INPUT_PORTS_START( kncljoe )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -218,9 +207,9 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_kncljoe )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x00, 16 ) /* colors 0x00-0x7f direct mapped */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0x80, 16 ) /* colors 0x80-0x8f with lookup table */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x80, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0x00, 16 ) /* colors 0x00-0x7f direct mapped */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0x80, 16 ) /* colors 0x80-0x8f with lookup table */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x80, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -224,19 +224,9 @@ static INPUT_PORTS_START( konblands )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_konblands )
|
||||
GFXDECODE_ENTRY( "gfx", 0, charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx", 0, gfx_8x8x4_packed_msb, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -574,17 +574,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0,1,2,3,4,5,6,7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout sprites =
|
||||
{
|
||||
16,16,
|
||||
@ -657,28 +646,28 @@ static const gfx_layout pro_tiles =
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_liberate )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, tiles1, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, tiles2, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, gfx_8x8x3_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, tiles1, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, tiles2, 0, 4 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_prosport )
|
||||
GFXDECODE_ENTRY( "prosport_fg_gfx", 0x00000, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "protenns_fg_gfx", 0x00000, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "probowl_fg_gfx", 0x00000, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "progolf_fg_gfx", 0x00000, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "prosport_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "protenns_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "probowl_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "progolf_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, pro_tiles, 0, 4 ) //backgrounds
|
||||
GFXDECODE_ENTRY( "prosport_fg_gfx", 0x00000, gfx_8x8x3_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "protenns_fg_gfx", 0x00000, gfx_8x8x3_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "probowl_fg_gfx", 0x00000, gfx_8x8x3_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "progolf_fg_gfx", 0x00000, gfx_8x8x3_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "prosport_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "protenns_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "probowl_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "progolf_fg_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, pro_tiles, 0, 4 ) //backgrounds
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_prosoccr )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0x00000, charlayout, 0, 4 )
|
||||
GFXDECODE_ENTRY( "sp_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0x00000, prosoccr_bg_gfx, 8, 2 )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0x00000, gfx_8x8x3_planar, 0, 4 )
|
||||
GFXDECODE_ENTRY( "sp_gfx", 0x00000, sprites, 0, 4 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0x00000, prosoccr_bg_gfx, 8, 2 )
|
||||
GFXDECODE_END
|
||||
|
||||
/*************************************
|
||||
|
@ -394,19 +394,8 @@ static INPUT_PORTS_START( m14 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, m14_state,right_coin_inserted, 0) //coin x 1
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ RGN_FRAC(0,1) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_m14 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 0x10 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 0x10 )
|
||||
GFXDECODE_END
|
||||
|
||||
INTERRUPT_GEN_MEMBER(m14_state::m14_irq)
|
||||
|
@ -771,19 +771,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
|
||||
static const gfx_layout tile_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout battroad_charlayout =
|
||||
{
|
||||
8,8, /* 8*8 characters */
|
||||
@ -864,7 +851,7 @@ static GFXDECODE_START( gfx_m62_sprites )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_m62_tiles )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile_charlayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
/* per game modified decodes */
|
||||
@ -874,7 +861,7 @@ static GFXDECODE_START( gfx_m62_tiles_lotlot )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_m62_tiles_spelunk2 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile_charlayout, 0, 64 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_m62_tiles_youjyudn )
|
||||
|
@ -664,28 +664,6 @@ static INPUT_PORTS_START( fghtbskt )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(1,2), RGN_FRAC(0,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -701,15 +679,15 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_m63 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 256, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x2_planar, 256, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_fghtbskt )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 16, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x2_planar, 16, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -711,17 +711,6 @@ INPUT_PORTS_END
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -734,8 +723,8 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_m90 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_planar, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 256, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1075,18 +1075,6 @@ INPUT_PORTS_END
|
||||
|
||||
/*** GFX DECODE **************************************************************/
|
||||
|
||||
static const gfx_layout macrossp_char16x16x4layout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 0, 4, 8, 12, 16, 20, 24, 28, 32+0,32+4,32+8,32+12,32+16,32+20,32+24,32+28 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
|
||||
8*64, 9*64, 10*64,11*64,12*64,13*64,14*64,15*64},
|
||||
16*64
|
||||
};
|
||||
|
||||
static const gfx_layout macrossp_char16x16x8layout =
|
||||
{
|
||||
16,16,
|
||||
@ -1104,7 +1092,7 @@ static GFXDECODE_START( gfx_macrossp )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, macrossp_char16x16x8layout, 0x800, 0x20 ) /* 8bpp but 6bpp granularity */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, macrossp_char16x16x8layout, 0x800, 0x20 ) /* 8bpp but 6bpp granularity */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, macrossp_char16x16x8layout, 0x800, 0x20 ) /* 8bpp but 6bpp granularity */
|
||||
GFXDECODE_ENTRY( "gfx5", 0, macrossp_char16x16x4layout, 0x800, 0x80 )
|
||||
GFXDECODE_ENTRY( "gfx5", 0, gfx_16x16x4_packed_msb, 0x800, 0x80 )
|
||||
GFXDECODE_END
|
||||
|
||||
/*** MACHINE DRIVER **********************************************************/
|
||||
|
@ -343,18 +343,6 @@ static INPUT_PORTS_START( canvas )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout tile_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 4, 0, 12, 8, 20, 16, 28, 24},
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
256
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout sprite_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -369,8 +357,8 @@ static const gfx_layout sprite_layout =
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_mainsnk )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0x100, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, sprite_layout, 0x000, 0x080>>3 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0x100, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, sprite_layout, 0x000, 0x080>>3 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -768,21 +768,9 @@ static const gfx_layout tiles8x8_layout =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout tiles8x8_layout_2 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0,4,8,12,16,20,24,28 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_mastboy )
|
||||
GFXDECODE_RAM( "vram", 0, tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "vrom", 0, tiles8x8_layout_2, 0, 16 )
|
||||
GFXDECODE_RAM( "vram", 0, tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "vrom", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
/* Machine Functions / Driver */
|
||||
|
@ -475,17 +475,6 @@ INPUT_PORTS_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
16,16, /* 16*16 sprites */
|
||||
@ -498,7 +487,7 @@ static const gfx_layout tilelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_mechatt )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 768, 16 )
|
||||
GFXDECODE_END
|
||||
|
@ -459,20 +459,9 @@ static const gfx_layout layout16 =
|
||||
16*16
|
||||
};
|
||||
|
||||
static const gfx_layout layout8 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3),RGN_FRAC(1,3),RGN_FRAC(0,3)},
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7},
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8},
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_mirax )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8, 0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16, 0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout16, 0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -849,17 +849,6 @@ INPUT_PORTS_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static const gfx_layout bglayout_4bpp =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, 8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
|
||||
16*64
|
||||
};
|
||||
|
||||
static const gfx_layout bglayout_8bpp =
|
||||
{
|
||||
16,16,
|
||||
@ -872,7 +861,7 @@ static const gfx_layout bglayout_8bpp =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_gaiapols )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, bglayout_4bpp, 0x0000, 128 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_16x16x4_packed_msb, 0x0000, 128 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_dadandrn )
|
||||
|
@ -1010,17 +1010,6 @@ INPUT_PORTS_END
|
||||
|
||||
/*******************************************************************/
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
32,32,
|
||||
@ -1039,9 +1028,9 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_namcos86 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 2048*0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 2048*0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 2048*1, 128 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 2048*0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 2048*0, 256 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 2048*1, 128 )
|
||||
GFXDECODE_END
|
||||
|
||||
/*******************************************************************/
|
||||
|
@ -103,19 +103,8 @@ static INPUT_PORTS_START( newsa )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout tiles8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0, 4, 8, 12, 16, 20, 24, 28 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_news )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -586,17 +586,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout layout8x8 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,32) },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout layout8x8_part =
|
||||
{
|
||||
8,8,
|
||||
@ -626,20 +615,20 @@ static GFXDECODE_START( gfx_nova2001 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_ninjakun )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 0x200, 16 ) // sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8x8, 0x000, 16 ) // fg tiles
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout8x8, 0x100, 16 ) // bg tiles
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 0x200, 16 ) // sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) // fg tiles
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x100, 16 ) // bg tiles
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_pkunwar )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 0x000, 16 ) // sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8x8, 0x100, 16 ) // bg tiles
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 0x000, 16 ) // sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x100, 16 ) // bg tiles
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_raiders5 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 0x200, 16 ) // sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8x8_part, 0x000, 16 ) // fg tiles (using only 1/4th of the ROM space)
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout8x8, 0x100, 16 ) // bg tiles
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout16x16, 0x200, 16 ) // sprites
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout8x8_part, 0x000, 16 ) // fg tiles (using only 1/4th of the ROM space)
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x100, 16 ) // bg tiles
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -243,17 +243,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -268,8 +257,8 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_pandoras )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, charlayout, 16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 16*16, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -634,17 +634,6 @@ INPUT_PORTS_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static const gfx_layout layout_8x8x4 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP8(0,4) },
|
||||
{ STEP8(0,4*8) },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout_8x8x8 =
|
||||
{
|
||||
8,8,
|
||||
@ -679,24 +668,24 @@ static const gfx_layout torus_layout_16x16x8 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_paradise )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0x100, 1 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x400, 16 ) // [1] Background
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x300, 1 ) // [2] Midground
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x000, 1 ) // [3] Foreground
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0x100, 1 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x400, 16 ) // [1] Background
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x300, 1 ) // [2] Midground
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x000, 1 ) // [3] Foreground
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_torus )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, torus_layout_16x16x8, 0x100, 1 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x400, 16 ) // [1] Background
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x300, 1 ) // [2] Midground
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x000, 1 ) // [3] Foreground
|
||||
GFXDECODE_ENTRY( "gfx1", 0, torus_layout_16x16x8, 0x100, 1 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x400, 16 ) // [1] Background
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x300, 1 ) // [2] Midground
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x000, 1 ) // [3] Foreground
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_madball )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, torus_layout_16x16x8, 0x500, 1 ) // [0] Sprites
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x400, 16 ) // [1] Background
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x300, 1 ) // [2] Midground
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x000, 1 ) // [3] Foreground
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x400, 16 ) // [1] Background
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x300, 1 ) // [2] Midground
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x000, 1 ) // [3] Foreground
|
||||
GFXDECODE_END
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -618,17 +618,6 @@ u32 powerbal_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const gfx_layout magicstk_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -646,7 +635,7 @@ static const gfx_layout tilelayout =
|
||||
|
||||
static GFXDECODE_START( gfx_powerbal )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0x100, 16 ) // colors 0x100-0x1ff
|
||||
GFXDECODE_ENTRY( "gfx1", 0, magicstk_charlayout, 0x000, 16 ) // colors 0x000-0x0ff
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_planar, 0x000, 16 ) // colors 0x000-0x0ff
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -818,17 +818,6 @@ static const gfx_layout sprite_16x16x8_layout =
|
||||
16*64
|
||||
};
|
||||
|
||||
static const gfx_layout _8x8x4_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4,0,12,8,20,16,28,24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*32
|
||||
};
|
||||
|
||||
static const gfx_layout _16x16x4_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -872,10 +861,10 @@ static GFXDECODE_START( gfx_rabbit )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, sprite_16x16x8_layout, 0x0, 0x1000 ) // wrong
|
||||
|
||||
/* this seems to be backgrounds and tilemap gfx */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _8x8x4_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _16x16x4_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _8x8x8_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _16x16x8_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_lsb, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _16x16x4_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _8x8x8_layout, 0x0, 0x1000 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, _16x16x8_layout, 0x0, 0x1000 )
|
||||
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -777,17 +777,6 @@ static const gfx_layout rbmk32_layout =
|
||||
32*32
|
||||
};
|
||||
|
||||
static const gfx_layout rbmk8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4,0,12,8,20,16,28,24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*32
|
||||
};
|
||||
|
||||
static const gfx_layout magslot16_layout = // TODO: not correct
|
||||
{
|
||||
16,16,
|
||||
@ -803,14 +792,14 @@ static const gfx_layout magslot16_layout = // TODO: not correct
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_rbmk )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, rbmk32_layout, 0x0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, rbmk8_layout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, rbmk32_layout, 0x0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_lsb, 0x100, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_magslot )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, magslot16_layout, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, rbmk8_layout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, rbmk8_layout, 0x100, 16 ) // wrong colors
|
||||
GFXDECODE_ENTRY( "gfx1", 0, magslot16_layout, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_lsb, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_packed_lsb, 0x100, 16 ) // wrong colors
|
||||
GFXDECODE_END
|
||||
|
||||
void rbmk_state::video_start()
|
||||
|
@ -713,17 +713,6 @@ static const gfx_layout layout_8x8x4 =
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout_16x16x4 =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ 1*4,0*4,3*4,2*4,5*4,4*4,7*4,6*4,9*4,8*4,11*4,10*4,13*4,12*4,15*4,14*4 },
|
||||
{ STEP16(0,16*4) },
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static const gfx_layout layout_16x16x8 =
|
||||
{
|
||||
16,16,
|
||||
@ -736,10 +725,10 @@ static const gfx_layout layout_16x16x8 =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_realbrk )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0, 0x80 ) // [0] Backgrounds
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0, 0x800 ) // [1] Text
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0, 0x80 ) // [2] Sprites (256 colors)
|
||||
GFXDECODE_ENTRY( "gfx4", 0, layout_16x16x4, 0, 0x800 ) // [3] Sprites (16 colors)
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0, 0x80 ) // [0] Backgrounds
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0, 0x800 ) // [1] Text
|
||||
GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x8, 0, 0x80 ) // [2] Sprites (256 colors)
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_16x16x4_packed_lsb, 0, 0x800 ) // [3] Sprites (16 colors)
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_dai2kaku )
|
||||
|
@ -378,17 +378,6 @@ static INPUT_PORTS_START( ron )
|
||||
PORT_BIT( 0x12, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout_1bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ RGN_FRAC(0,1) },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout_2bpp =
|
||||
{
|
||||
8,8,
|
||||
@ -401,7 +390,7 @@ static const gfx_layout charlayout_2bpp =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_ron )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout_1bpp, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, charlayout_2bpp, 4, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -343,21 +343,8 @@ INPUT_PORTS_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static const gfx_layout bglayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, 8*4,
|
||||
9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
|
||||
8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
|
||||
128*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_rungun )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, bglayout, 0x0000, 64 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_packed_msb, 0x0000, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -462,21 +462,10 @@ static const gfx_layout tiles32x16x3_layout =
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout tiles8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_seabattl )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles32x16x3_layout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout, 8, 8 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tiles8x8_layout, 24, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x1, 8, 8 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x1, 24, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
void seabattl_state::seabattl(machine_config &config)
|
||||
|
@ -518,17 +518,6 @@ void seicupbl_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
static const gfx_layout cupsocsb_spritelayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4,0,12,8,20,16,28,24, 512+4, 512+0, 512+12, 512+8, 512+20, 512+16, 512+28, 512+24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
|
||||
32*32
|
||||
};
|
||||
|
||||
static const gfx_layout cupsocsb_8x8_tilelayout =
|
||||
{
|
||||
8,8,
|
||||
@ -557,7 +546,7 @@ static GFXDECODE_START( gfx_seicupbl_csb )
|
||||
GFXDECODE_ENTRY( "char", 0, cupsocsb_8x8_tilelayout, 48*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, cupsocsb_tilelayout, 0*16, 32 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0, cupsocsb_tilelayout, 32*16, 16 ) /* unused */
|
||||
GFXDECODE_ENTRY( "sprite", 0, cupsocsb_spritelayout, 0*16, 8*16 )
|
||||
GFXDECODE_ENTRY( "sprite", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0*16, 8*16 )
|
||||
GFXDECODE_ENTRY( "gfx5", 0, cupsocsb_tilelayout, 32*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx6", 0, cupsocsb_tilelayout, 16*16, 16 )
|
||||
GFXDECODE_END
|
||||
|
@ -441,20 +441,8 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4,
|
||||
9*4, 8*4, 11*4, 10*4, 13*4, 12*4, 15*4, 14*4 },
|
||||
{ STEP16(0,4*16) },
|
||||
128*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_shangha3 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_packed_lsb, 0, 128 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -1161,17 +1161,6 @@ void sammymdl_state::tdoboon_map(address_map &map)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static const gfx_layout sigmab98_16x16x4_layout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ 4*1,4*0, 4*3,4*2, 4*5,4*4, 4*7,4*6, 4*9,4*8, 4*11,4*10, 4*13,4*12, 4*15,4*14 },
|
||||
{ STEP16(0,16*4) },
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static const gfx_layout sigmab98_16x16x8_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -1184,13 +1173,13 @@ static const gfx_layout sigmab98_16x16x8_layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_sigmab98 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, sigmab98_16x16x4_layout, 0, 0x100/16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, gfx_16x16x4_packed_lsb, 0, 0x100/16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, sigmab98_16x16x8_layout, 0, 0x100/256 )
|
||||
GFXDECODE_END
|
||||
|
||||
// Larger palette
|
||||
static GFXDECODE_START( gfx_lufykzku )
|
||||
GFXDECODE_ENTRY( "sprites", 0, sigmab98_16x16x4_layout, 0, 0x1000/16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, gfx_16x16x4_packed_lsb, 0, 0x1000/16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, sigmab98_16x16x8_layout, 0, 0x1000/16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -3825,17 +3825,6 @@ INPUT_PORTS_END
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
static const gfx_layout charlayout_4bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ 4*1, 4*0, 4*3, 4*2, 4*5, 4*4, 4*7, 4*6 },
|
||||
{ STEP8(0,4*8) },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout_4bpp =
|
||||
{
|
||||
16,16,
|
||||
@ -3895,22 +3884,22 @@ static const gfx_layout bigspritelayout_4bpp =
|
||||
/*********************************************************************/
|
||||
|
||||
static GFXDECODE_START( gfx_marvins )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout_4bpp, 0x180, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "fg_tiles", 0, charlayout_4bpp, 0x080, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, charlayout_4bpp, 0x100, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "sp16_tiles", 0, spritelayout_3bpp, 0x000, 0x080>>3 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_lsb, 0x180, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "fg_tiles", 0, gfx_8x8x4_packed_lsb, 0x080, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, gfx_8x8x4_packed_lsb, 0x100, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "sp16_tiles", 0, spritelayout_3bpp, 0x000, 0x080>>3 )
|
||||
/* colors 0x200-0x3ff contain shadows */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_tnk3 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout_4bpp, 0x180, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, charlayout_4bpp, 0x080, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "sp16_tiles", 0, spritelayout_3bpp, 0x000, 0x080>>3 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_lsb, 0x180, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, gfx_8x8x4_packed_lsb, 0x080, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "sp16_tiles", 0, spritelayout_3bpp, 0x000, 0x080>>3 )
|
||||
/* colors 0x200-0x3ff contain shadows */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_ikari )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout_4bpp, 0x180, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_lsb, 0x180, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, tilelayout_4bpp, 0x100, 0x080>>4 )
|
||||
GFXDECODE_ENTRY( "sp16_tiles", 0, spritelayout_3bpp, 0x000, 0x080>>3 )
|
||||
GFXDECODE_ENTRY( "sp32_tiles", 0, bigspritelayout_3bpp, 0x080, 0x080>>3 )
|
||||
@ -3918,14 +3907,14 @@ static GFXDECODE_START( gfx_ikari )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_gwar )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout_4bpp, 0x000, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_lsb, 0x000, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, tilelayout_4bpp, 0x300, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "sp16_tiles", 0, spritelayout_4bpp, 0x100, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "sp32_tiles", 0, bigspritelayout_4bpp, 0x200, 0x100>>4 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_tdfever )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, charlayout_4bpp, 0x000, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "tx_tiles", 0, gfx_8x8x4_packed_lsb, 0x000, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, tilelayout_4bpp, 0x200, 0x100>>4 )
|
||||
GFXDECODE_ENTRY( "sp32_tiles", 0, bigspritelayout_4bpp, 0x100, 0x100>>4 )
|
||||
/* colors 0x300-0x3ff contain shadows */
|
||||
|
@ -192,18 +192,6 @@ static INPUT_PORTS_START( sonson )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ RGN_FRAC(1,2), RGN_FRAC(0,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -218,8 +206,8 @@ static const gfx_layout spritelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_sonson )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 64*4, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x2_planar, 0, 64 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 64*4, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -381,24 +381,12 @@ static const gfx_layout proto_fgtilelayout =
|
||||
|
||||
|
||||
|
||||
static const gfx_layout proto_spr_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_spbactnp )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, proto_fgtilelayout, 0x0200, 16 + 240 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, proto_fgtilelayout, 0x0300, 16 + 128 ) // wrong
|
||||
GFXDECODE_ENTRY( "gfx3", 0, proto_spr_layout, 0x0000, 16 + 384 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_packed_msb, 0x0000, 16 + 384 )
|
||||
|
||||
GFXDECODE_ENTRY( "gfx4", 0, proto_spr_layout, 0x0000, 16 + 384 ) // more sprites maybe?
|
||||
GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 0x0000, 16 + 384 ) // more sprites maybe?
|
||||
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -283,21 +283,9 @@ static const gfx_layout charlayout_1bpp =
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout charlayout_3bpp =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_speedatk )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout_1bpp, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, charlayout_3bpp, 0, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 0, 32 )
|
||||
GFXDECODE_END
|
||||
|
||||
void speedatk_state::output_w(uint8_t data)
|
||||
|
@ -330,19 +330,8 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout supershot_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_supershot )
|
||||
GFXDECODE_ENTRY( "gfx", 0, supershot_charlayout, 0, 1 )
|
||||
GFXDECODE_ENTRY( "gfx", 0, gfx_8x8x1, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
void supershot_state::supershot(machine_config &config)
|
||||
|
@ -669,19 +669,8 @@ static GFXDECODE_START( gfx_horizontal )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static const gfx_layout vertical_tiles_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ STEP8(0,1) },
|
||||
{ STEP8(0,8) },
|
||||
8*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_vertical )
|
||||
GFXDECODE_ENTRY( "tiles", 0, vertical_tiles_layout, 0, 64 )
|
||||
GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x1, 0, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -435,17 +435,6 @@ INPUT_PORTS_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static const gfx_layout tiles8x8_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout tiles8x8x2_layout =
|
||||
{
|
||||
8,8,
|
||||
@ -470,8 +459,8 @@ static const gfx_layout tiles16x8x2_layout =
|
||||
|
||||
|
||||
static GFXDECODE_START( gfx_stuntair )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0x100, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8x2_layout, 0xe0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0x100, 1 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8x2_layout, 0xe0, 8 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tiles16x8x2_layout, 0xe0, 8 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
@ -1402,17 +1402,6 @@ static const gfx_layout pbillian_charlayout =
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout sqix_charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
{
|
||||
16,16,
|
||||
@ -1433,9 +1422,9 @@ static GFXDECODE_START( gfx_pbillian )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_sqix )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, sqix_charlayout, 0, 16 ) /* Chars */
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, sqix_charlayout, 0, 16 ) /* Background tiles */
|
||||
GFXDECODE_ENTRY( "gfx3", 0x00000, spritelayout, 0, 16 ) /* Sprites */
|
||||
GFXDECODE_ENTRY( "gfx1", 0x00000, gfx_8x8x4_packed_msb, 0, 16 ) /* Chars */
|
||||
GFXDECODE_ENTRY( "gfx2", 0x00000, gfx_8x8x4_packed_msb, 0, 16 ) /* Background tiles */
|
||||
GFXDECODE_ENTRY( "gfx3", 0x00000, spritelayout, 0, 16 ) /* Sprites */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -473,19 +473,8 @@ WRITE_LINE_MEMBER(suprgolf_state::adpcm_int)
|
||||
}
|
||||
}
|
||||
|
||||
static const gfx_layout gfxlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*8*4
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_suprgolf )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfxlayout, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 0x80 )
|
||||
GFXDECODE_END
|
||||
|
||||
void suprgolf_state::machine_reset()
|
||||
|
@ -219,17 +219,6 @@ INPUT_PORTS_END
|
||||
|
||||
/*** GFX DECODE **************************************************************/
|
||||
|
||||
static const gfx_layout suprslam_8x8x4_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0,1,2,3 },
|
||||
{ 4, 0, 12, 8, 20, 16, 28, 24 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
8*32
|
||||
};
|
||||
|
||||
static const gfx_layout suprslam_16x16x4_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -245,7 +234,7 @@ static const gfx_layout suprslam_16x16x4_layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_suprslam )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, suprslam_8x8x4_layout, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0x000, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, suprslam_16x16x4_layout, 0x200, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, suprslam_16x16x4_layout, 0x100, 16 )
|
||||
GFXDECODE_END
|
||||
|
@ -2038,19 +2038,8 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,3),
|
||||
3,
|
||||
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
GFXDECODE_START( gfx_sys16 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1024 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 1024 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -328,22 +328,9 @@ static INPUT_PORTS_START( taotaido6 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout layout =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4,
|
||||
9*4, 8*4, 11*4, 10*4, 13*4, 12*4, 15*4, 14*4 },
|
||||
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
|
||||
8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
|
||||
128*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_taotaido )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, layout, 0x000, 256 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, layout, 0x300, 256 ) /* bg tiles */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, gfx_16x16x4_packed_lsb, 0x000, 256 ) /* sprites */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_packed_lsb, 0x300, 256 ) /* bg tiles */
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
@ -355,17 +355,6 @@ INPUT_PORTS_END
|
||||
|
||||
***/
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static const gfx_layout bgtilelayout =
|
||||
{
|
||||
16,16, /* tile size */
|
||||
@ -390,10 +379,10 @@ static const gfx_layout sprite8layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_tbowl )
|
||||
GFXDECODE_ENTRY( "characters", 0, charlayout, 256, 16 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, bgtilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, bgtilelayout, 512, 16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, sprite8layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "characters", 0, gfx_8x8x4_packed_msb, 256, 16 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, bgtilelayout, 768, 16 )
|
||||
GFXDECODE_ENTRY( "bg_tiles", 0, bgtilelayout, 512, 16 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, sprite8layout, 0, 16 )
|
||||
|
||||
GFXDECODE_END
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user