- 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:
Ivan Vangelista 2022-03-28 18:11:51 +02:00
parent d832d6a366
commit 19fe9e23a6
114 changed files with 611 additions and 2068 deletions

View File

@ -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",

View File

@ -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)

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 )

View File

@ -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
/*************************************

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
/**********************************************************************************/

View File

@ -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

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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 )

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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
/*************************************

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ***********************************************************/

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
/*************************************

View File

@ -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)

View File

@ -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 )

View File

@ -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

View File

@ -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
/*****************************************************************************/

View File

@ -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 **********************************************************/

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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 )

View File

@ -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
/*******************************************************************/

View File

@ -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

View File

@ -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

View File

@ -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
/***************************************************************************

View File

@ -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
/***************************************************************************

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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