From 4ac3fa8236943cebe9c96d925e1ddc16d7ce9374 Mon Sep 17 00:00:00 2001 From: cam900 Date: Fri, 13 Sep 2019 23:31:18 +0900 Subject: emu/video/generic.cpp : Add 2x2 grouped case of 16x16 gfx layouts (#5625) * emu/video/generic.cpp : Add grouped case of 16x16 gfx layouts these are made of 4 8x8 tiles, currently 4bpp packed and 8bpp raw layout is exists. More usage of generic gfx layouts, Fix spacing * generic.cpp : Remove unused * emu/video/generic.cpp : Fix naming, Add notes * megasys1.cpp : Fix this --- src/emu/video/generic.cpp | 61 +++++++++++++++++++++++++++++++++++ src/emu/video/generic.h | 6 ++++ src/mame/drivers/airbustr.cpp | 32 ++----------------- src/mame/drivers/argus.cpp | 44 +++++++------------------ src/mame/drivers/cischeat.cpp | 70 ++++++++++------------------------------ src/mame/drivers/djboy.cpp | 15 ++------- src/mame/drivers/gaiden.cpp | 40 ++++++----------------- src/mame/drivers/galpanic.cpp | 16 +--------- src/mame/drivers/hvyunit.cpp | 21 ++---------- src/mame/drivers/jalmah.cpp | 32 +++---------------- src/mame/drivers/limenko.cpp | 13 +------- src/mame/drivers/mcatadv.cpp | 15 ++------- src/mame/drivers/megasys1.cpp | 38 ++++------------------ src/mame/drivers/ninjakd2.cpp | 49 +++++----------------------- src/mame/drivers/nmk16.cpp | 74 +++++++++++++++---------------------------- src/mame/drivers/powerins.cpp | 25 ++++----------- src/mame/drivers/quizpani.cpp | 17 ++-------- src/mame/drivers/sandscrp.cpp | 14 +------- src/mame/drivers/snowbros.cpp | 27 +++++----------- src/mame/drivers/tecmo.cpp | 30 +++--------------- src/mame/drivers/tecmo16.cpp | 28 ++-------------- src/mame/drivers/tecmosys.cpp | 31 +++--------------- 22 files changed, 186 insertions(+), 512 deletions(-) diff --git a/src/emu/video/generic.cpp b/src/emu/video/generic.cpp index 9cce80ff10e..44d8f124a38 100644 --- a/src/emu/video/generic.cpp +++ b/src/emu/video/generic.cpp @@ -93,6 +93,7 @@ const gfx_layout gfx_16x16x4_planar = 16*16 }; +// packed gfxs; msb and lsb is start nibble of packed pixel byte const gfx_layout gfx_8x8x4_packed_msb = { 8,8, @@ -140,3 +141,63 @@ const gfx_layout gfx_16x16x4_packed_lsb = }; GFXLAYOUT_RAW(gfx_16x16x8_raw, 16, 16, 16*8, 16*16*8); + +/* + 16x16; grouped of 4 8x8 tiles (row align) + 0 1 + 2 3 +*/ +const gfx_layout gfx_8x8x4_row_2x2_group_packed_msb = +{ + 16,16, + RGN_FRAC(1,1), + 4, + { STEP4(0,1) }, + { STEP8(0,4), STEP8(4*8*8,4) }, // x order : hi nibble first, low nibble second + { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, + 16*16*4 +}; + +const gfx_layout gfx_8x8x4_row_2x2_group_packed_lsb = +{ + 16,16, + RGN_FRAC(1,1), + 4, + { STEP4(0,1) }, + { // x order : low nibble first, hi nibble second + 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4, + 4*8*8+1*4, 4*8*8+0*4, 4*8*8+3*4, 4*8*8+2*4, 4*8*8+5*4, 4*8*8+4*4, 4*8*8+7*4, 4*8*8+6*4 + }, + { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, + 16*16*4 +}; + +/* + 16x16; grouped of 4 8x8 tiles (col align) + 0 2 + 1 3 +*/ +const gfx_layout gfx_8x8x4_col_2x2_group_packed_msb = +{ + 16,16, + RGN_FRAC(1,1), + 4, + { STEP4(0,1) }, + { STEP8(0,4), STEP8(4*8*16,4) }, // x order : hi nibble first, low nibble second + { STEP16(0,4*8) }, + 16*16*4 +}; + +const gfx_layout gfx_8x8x4_col_2x2_group_packed_lsb = +{ + 16,16, + RGN_FRAC(1,1), + 4, + { STEP4(0,1) }, + { // x order : low nibble first, hi nibble second + 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4, + 4*8*16+1*4, 4*8*16+0*4, 4*8*16+3*4, 4*8*16+2*4, 4*8*16+5*4, 4*8*16+4*4, 4*8*16+7*4, 4*8*16+6*4 + }, + { STEP16(0,4*8) }, + 16*16*4 +}; diff --git a/src/emu/video/generic.h b/src/emu/video/generic.h index 9c1f30bc7b3..3d90edecb38 100644 --- a/src/emu/video/generic.h +++ b/src/emu/video/generic.h @@ -36,4 +36,10 @@ extern const gfx_layout gfx_16x16x4_packed_msb; extern const gfx_layout gfx_16x16x4_packed_lsb; extern const gfx_layout gfx_16x16x8_raw; +extern const gfx_layout gfx_8x8x4_row_2x2_group_packed_msb; +extern const gfx_layout gfx_8x8x4_row_2x2_group_packed_lsb; + +extern const gfx_layout gfx_8x8x4_col_2x2_group_packed_msb; +extern const gfx_layout gfx_8x8x4_col_2x2_group_packed_lsb; + #endif /* MAME_EMU_VIDEO_GENERIC_H */ diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp index 89d664ce052..563a55f7a9e 100644 --- a/src/mame/drivers/airbustr.cpp +++ b/src/mame/drivers/airbustr.cpp @@ -481,39 +481,11 @@ static INPUT_PORTS_START( airbustrj ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) INPUT_PORTS_END -/* Graphics Layout */ - -static const gfx_layout tile_gfxlayout = -{ - 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, - 1*4+32*8, 0*4+32*8, 3*4+32*8, 2*4+32*8, 5*4+32*8, 4*4+32*8, 7*4+32*8, 6*4+32*8 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, - 0*32+64*8, 1*32+64*8, 2*32+64*8, 3*32+64*8, 4*32+64*8, 5*32+64*8, 6*32+64*8, 7*32+64*8 }, - 16*16*4 -}; - -static const gfx_layout sprite_gfxlayout = -{ - 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, - 0*4+32*8, 1*4+32*8, 2*4+32*8, 3*4+32*8, 4*4+32*8, 5*4+32*8, 6*4+32*8, 7*4+32*8 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, - 0*32+64*8, 1*32+64*8, 2*32+64*8, 3*32+64*8, 4*32+64*8, 5*32+64*8, 6*32+64*8, 7*32+64*8 }, - 16*16*4 -}; - /* Graphics Decode Information */ static GFXDECODE_START( gfx_airbustr ) - GFXDECODE_ENTRY( "gfx1", 0, tile_gfxlayout, 0, 32 ) // tiles - GFXDECODE_ENTRY( "gfx2", 0, sprite_gfxlayout, 512, 16 ) // sprites + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_lsb, 0, 32 ) // tiles + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 512, 16 ) // sprites GFXDECODE_END diff --git a/src/mame/drivers/argus.cpp b/src/mame/drivers/argus.cpp index ba3d064b54b..c1615f5e57b 100644 --- a/src/mame/drivers/argus.cpp +++ b/src/mame/drivers/argus.cpp @@ -455,46 +455,24 @@ INPUT_PORTS_END ***************************************************************************/ -static const gfx_layout charlayout = -{ - 8,8, /* 8x8 characters */ - RGN_FRAC(1,1), /* number of characters */ - 4, /* 4 bits per pixel */ - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 32*8 -}; - -static const gfx_layout tilelayout = -{ - 16,16, /* 16x16 characters */ - RGN_FRAC(1,1), /* number of characters */ - 4, /* 4 bits per pixel */ - { STEP4(0,1) }, - { STEP8(0,4), STEP8(4*8*16, 4) }, - { STEP16(0,4*8) }, - 128*8 -}; - static GFXDECODE_START( gfx_argus ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0*16, 8 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 8*16, 16 ) - GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 24*16, 16 ) - GFXDECODE_ENTRY( "gfx4", 0, charlayout, 40*16, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0*16, 8 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 8*16, 16 ) + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 24*16, 16 ) + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 40*16, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_valtric ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0*16, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 16*16, 16 ) - GFXDECODE_ENTRY( "gfx3", 0, charlayout, 32*16, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0*16, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 16*16, 16 ) + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_packed_msb, 32*16, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_butasan ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0*16, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 16*16, 16 ) - GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 12*16, 16 ) - GFXDECODE_ENTRY( "gfx4", 0, charlayout, 32*16, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0*16, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 16*16, 16 ) + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 12*16, 16 ) + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 32*16, 16 ) GFXDECODE_END diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp index f3917a6c2a9..bbf0a46dfe3 100644 --- a/src/mame/drivers/cischeat.cpp +++ b/src/mame/drivers/cischeat.cpp @@ -1792,44 +1792,6 @@ INPUT_PORTS_END **************************************************************************/ -#ifdef UNUSED_VARIABLE -/* 8x8x4, straightforward layout */ -static const gfx_layout tiles_8x8 = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 8*8*4 -}; -#endif - -/* 16x16x4, straightforward layout */ -static const gfx_layout tiles_16x16 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP16(0,4) }, - { STEP16(0,4*16) }, - 16*16*4 -}; - -/* 16x16x4, made of four 8x8 tiles */ -static const gfx_layout tiles_16x16_quad = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(8*8*4*0,4), STEP8(8*8*4*2,4) }, - { STEP16(0,4*8) }, - 16*16*4 -}; - static const uint32_t road_layout_xoffset[64] = { STEP16(16*4*0,4),STEP16(16*4*1,4), @@ -1855,10 +1817,10 @@ static const gfx_layout road_layout = **************************************************************************/ static GFXDECODE_START( gfx_bigrun ) - //GFXDECODE_ENTRY( "scroll0", 0, tiles_8x8, 0x0e00/2 , 16 ) // Scroll 0 - //GFXDECODE_ENTRY( "scroll1", 0, tiles_8x8, 0x1600/2 , 16 ) // Scroll 1 - //GFXDECODE_ENTRY( "scroll2", 0, tiles_8x8, 0x3600/2 , 16 ) // Scroll 2 - GFXDECODE_ENTRY( "sprites", 0, tiles_16x16,0x2800/2 , 64 ) // [0] Sprites + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 0x0e00/2 , 16 ) // Scroll 0 + //GFXDECODE_ENTRY( "scroll1", 0, gfx_8x8x4_packed_msb, 0x1600/2 , 16 ) // Scroll 1 + //GFXDECODE_ENTRY( "scroll2", 0, gfx_8x8x4_packed_msb, 0x3600/2 , 16 ) // Scroll 2 + GFXDECODE_ENTRY( "sprites", 0, gfx_16x16x4_packed_msb, 0x2800/2 , 64 ) // [0] Sprites GFXDECODE_ENTRY( "road0", 0, road_layout,0x2000/2 , 64 ) // [1] Road 0 GFXDECODE_ENTRY( "road1", 0, road_layout,0x1800/2 , 64 ) // [2] Road 1 GFXDECODE_END @@ -1868,10 +1830,10 @@ GFXDECODE_END **************************************************************************/ static GFXDECODE_START( gfx_cischeat ) - //GFXDECODE_ENTRY( "scroll0", 0, tiles_8x8, 0x1c00/2, 32 ) // Scroll 0 - //GFXDECODE_ENTRY( "scroll1", 0, tiles_8x8, 0x2c00/2, 32 ) // Scroll 1 - //GFXDECODE_ENTRY( "scroll2", 0, tiles_8x8, 0x6c00/2, 32 ) // Scroll 2 - GFXDECODE_ENTRY( "sprites", 0, tiles_16x16,0x5000/2, 128 ) // [0] Sprites + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 0x1c00/2, 32 ) // Scroll 0 + //GFXDECODE_ENTRY( "scroll1", 0, gfx_8x8x4_packed_msb, 0x2c00/2, 32 ) // Scroll 1 + //GFXDECODE_ENTRY( "scroll2", 0, gfx_8x8x4_packed_msb, 0x6c00/2, 32 ) // Scroll 2 + GFXDECODE_ENTRY( "sprites", 0, gfx_16x16x4_packed_msb, 0x5000/2, 128 ) // [0] Sprites GFXDECODE_ENTRY( "road0", 0, road_layout,0x3800/2, 64 ) // [1] Road 0 GFXDECODE_ENTRY( "road1", 0, road_layout,0x4800/2, 64 ) // [2] Road 1 GFXDECODE_END @@ -1881,10 +1843,10 @@ GFXDECODE_END **************************************************************************/ static GFXDECODE_START( gfx_f1gpstar ) - //GFXDECODE_ENTRY( "scroll0", 0, tiles_8x8, 0x1e00/2, 16 ) // Scroll 0 - //GFXDECODE_ENTRY( "scroll1", 0, tiles_8x8, 0x2e00/2, 16 ) // Scroll 1 - //GFXDECODE_ENTRY( "scroll2", 0, tiles_8x8, 0x6e00/2, 16 ) // Scroll 2 - GFXDECODE_ENTRY( "sprites", 0, tiles_16x16,0x5000/2, 128 ) // [0] Sprites + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 0x1e00/2, 16 ) // Scroll 0 + //GFXDECODE_ENTRY( "scroll1", 0, gfx_8x8x4_packed_msb, 0x2e00/2, 16 ) // Scroll 1 + //GFXDECODE_ENTRY( "scroll2", 0, gfx_8x8x4_packed_msb, 0x6e00/2, 16 ) // Scroll 2 + GFXDECODE_ENTRY( "sprites", 0, gfx_16x16x4_packed_msb, 0x5000/2, 128 ) // [0] Sprites GFXDECODE_ENTRY( "road0", 0, road_layout,0x3800/2, 64 ) // [1] Road 0 GFXDECODE_ENTRY( "road1", 0, road_layout,0x4800/2, 64 ) // [2] Road 1 GFXDECODE_END @@ -1894,10 +1856,10 @@ GFXDECODE_END **************************************************************************/ static GFXDECODE_START( gfx_scudhamm ) - //GFXDECODE_ENTRY( "scroll0", 0, tiles_8x8, 0x1e00/2, 16 ) // Scroll 0 - //GFXDECODE_ENTRY( "scroll0", 0, tiles_8x8, 0x0000/2, 16 ) // UNUSED - //GFXDECODE_ENTRY( "scroll2", 0, tiles_8x8, 0x4e00/2, 16 ) // Scroll 2 - GFXDECODE_ENTRY( "sprites", 0, tiles_16x16_quad, 0x3000/2, 128 ) // [0] sprites + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 0x1e00/2, 16 ) // Scroll 0 + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 0x0000/2, 16 ) // UNUSED + //GFXDECODE_ENTRY( "scroll2", 0, gfx_8x8x4_packed_msb, 0x4e00/2, 16 ) // Scroll 2 + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x3000/2, 128 ) // [0] sprites // No Road Layers GFXDECODE_END diff --git a/src/mame/drivers/djboy.cpp b/src/mame/drivers/djboy.cpp index 5ddbd4b1687..39a035f90b1 100644 --- a/src/mame/drivers/djboy.cpp +++ b/src/mame/drivers/djboy.cpp @@ -417,20 +417,9 @@ static INPUT_PORTS_START( djboy ) INPUT_PORTS_END -static const gfx_layout tile_layout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(4*8*8,4) }, - { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, - 16*16*4 -}; - static GFXDECODE_START( gfx_djboy ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0x100, 16 ) /* sprite bank */ - GFXDECODE_ENTRY( "gfx2", 0, tile_layout, 0x000, 16 ) /* background tiles */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x100, 16 ) /* sprite bank */ + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x000, 16 ) /* background tiles */ GFXDECODE_END /******************************************************************************/ diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp index 49cf7a22a5f..2b53ab82554 100644 --- a/src/mame/drivers/gaiden.cpp +++ b/src/mame/drivers/gaiden.cpp @@ -662,33 +662,11 @@ INPUT_PORTS_END -static const gfx_layout tilelayout = -{ - 8,8, /* tile size */ - RGN_FRAC(1,1), /* number of tiles */ - 4, /* 4 bits per pixel */ - { STEP4(0,1) }, /* the bitplanes are packed in one nibble */ - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 4*8*8 /* offset to next tile */ -}; - -static const gfx_layout tile2layout = -{ - 16,16, /* tile size */ - RGN_FRAC(1,1), /* number of tiles */ - 4, /* 4 bits per pixel */ - { STEP4(0,1) }, /* the bitplanes are packed in one nibble */ - { STEP8(0,4), STEP8(4*8*8,4) }, - { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, - 4*8*8*2*2 /* offset to next tile */ -}; - static GFXDECODE_START( gfx_gaiden ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0x100, 16 ) /* tiles 8x8 */ - GFXDECODE_ENTRY( "gfx2", 0, tile2layout, 0x000, 0x100 ) /* tiles 16x16 */ - GFXDECODE_ENTRY( "gfx3", 0, tile2layout, 0x000, 0x100 ) /* tiles 16x16 (only colors 0x00-0x0f and 0x80-0x8f are used) */ - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x000, 0x100 ) /* sprites 8x8 (only colors 0x00-0x0f and 0x80-0x8f are used) */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x100, 16 ) /* tiles 8x8 */ + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x000, 0x100 ) /* tiles 16x16 */ + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x000, 0x100 ) /* tiles 16x16 (only colors 0x00-0x0f and 0x80-0x8f are used) */ + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_packed_msb, 0x000, 0x100 ) /* sprites 8x8 (only colors 0x00-0x0f and 0x80-0x8f are used) */ GFXDECODE_END static const gfx_layout mastninj_tile2layout = @@ -714,10 +692,10 @@ static const gfx_layout mastninj_spritelayout = }; static GFXDECODE_START( gfx_mastninj ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0x000, 16 ) /* tiles 8x8 */ - GFXDECODE_ENTRY( "gfx2", 0, mastninj_tile2layout, 0x300, 16 ) /* tiles 16x16 */ - GFXDECODE_ENTRY( "gfx3", 0, mastninj_tile2layout, 0x200, 16 ) /* tiles 16x16 */ - GFXDECODE_ENTRY( "gfx4", 0, mastninj_spritelayout, 0x100, 16 ) /* sprites 16x16 */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* tiles 8x8 */ + GFXDECODE_ENTRY( "gfx2", 0, mastninj_tile2layout, 0x300, 16 ) /* tiles 16x16 */ + GFXDECODE_ENTRY( "gfx3", 0, mastninj_tile2layout, 0x200, 16 ) /* tiles 16x16 */ + GFXDECODE_ENTRY( "gfx4", 0, mastninj_spritelayout, 0x100, 16 ) /* sprites 16x16 */ GFXDECODE_END static const gfx_layout drgnbowl_tile2layout = @@ -743,7 +721,7 @@ static const gfx_layout drgnbowl_spritelayout = }; static GFXDECODE_START( gfx_drgnbowl ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 ) /* tiles 8x8 */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 16 ) /* tiles 8x8 */ GFXDECODE_ENTRY( "gfx2", 0x00000, drgnbowl_tile2layout, 0x300, 16 ) /* tiles 16x16 */ GFXDECODE_ENTRY( "gfx2", 0x20000, drgnbowl_tile2layout, 0x200, 16 ) /* tiles 16x16 */ GFXDECODE_ENTRY( "gfx3", 0, drgnbowl_spritelayout, 0x100, 16 ) /* sprites 16x16 */ diff --git a/src/mame/drivers/galpanic.cpp b/src/mame/drivers/galpanic.cpp index b4a5aee7345..b3db0822216 100644 --- a/src/mame/drivers/galpanic.cpp +++ b/src/mame/drivers/galpanic.cpp @@ -213,22 +213,8 @@ static INPUT_PORTS_START( galpanica ) INPUT_PORTS_END - -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, - 64*4, 65*4, 66*4, 67*4, 68*4, 69*4, 70*4, 71*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, - 16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32 }, - 128*8 -}; - static GFXDECODE_START( gfx_galpanic ) - GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 256, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 256, 16 ) GFXDECODE_END diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp index 13d02cc29c6..877554f4bb9 100644 --- a/src/mame/drivers/hvyunit.cpp +++ b/src/mame/drivers/hvyunit.cpp @@ -572,26 +572,9 @@ INPUT_PORTS_END * *************************************/ -static const gfx_layout tile_layout = -{ - 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*32+0*4,8*32+1*4,8*32+2*4,8*32+3*4,8*32+4*4,8*32+5*4,8*32+6*4,8*32+7*4 - }, - { - 0*32,1*32,2*32,3*32,4*32,5*32,6*32,7*32, - 16*32+0*32,16*32+1*32,16*32+2*32,16*32+3*32,16*32+4*32,16*32+5*32,16*32+6*32,16*32+7*32 - }, - 4*8*32 -}; - static GFXDECODE_START( gfx_hvyunit ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0x100, 16 ) /* sprite bank */ - GFXDECODE_ENTRY( "gfx2", 0, tile_layout, 0x000, 16 ) /* background tiles */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x100, 16 ) /* sprite bank */ + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x000, 16 ) /* background tiles */ GFXDECODE_END diff --git a/src/mame/drivers/jalmah.cpp b/src/mame/drivers/jalmah.cpp index 8ebc1901104..c0b4fd50698 100644 --- a/src/mame/drivers/jalmah.cpp +++ b/src/mame/drivers/jalmah.cpp @@ -1115,35 +1115,11 @@ void jalmah_state::jalmah(machine_config &config) oki.add_route(ALL_OUTPUTS, "mono", 0.5); } -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 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_urashima ) - GFXDECODE_ENTRY( "scroll0", 0, tilelayout, 0x100, 16 ) - GFXDECODE_ENTRY( "scroll1", 0, tilelayout, 0x100, 16 ) - GFXDECODE_ENTRY( "scroll2", 0, tilelayout, 0x100, 16 ) - GFXDECODE_ENTRY( "scroll3", 0, charlayout, 0x000, 16 ) + GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) + GFXDECODE_ENTRY( "scroll1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) + GFXDECODE_ENTRY( "scroll2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) + GFXDECODE_ENTRY( "scroll3", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) GFXDECODE_END void jalmah_state::jalmahv1(machine_config &config) diff --git a/src/mame/drivers/limenko.cpp b/src/mame/drivers/limenko.cpp index 7a19838d41e..d8291d3ad28 100644 --- a/src/mame/drivers/limenko.cpp +++ b/src/mame/drivers/limenko.cpp @@ -676,19 +676,8 @@ INPUT_PORTS_END *****************************************************************************************************/ -static const gfx_layout tile_layout = -{ - 8,8, - RGN_FRAC(1,1), - 8, - { STEP8(0,1) }, - { STEP8(0,8) }, - { STEP8(0,8*8) }, - 8*8*8, -}; - static GFXDECODE_START(gfx_limenko) - GFXDECODE_ENTRY("gfx", 0, tile_layout, 0, 16) /* tiles */ + GFXDECODE_ENTRY("gfx", 0, gfx_8x8x8_raw, 0, 16) /* tiles */ GFXDECODE_END diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp index 89f1a0c3b43..86bc18b656e 100644 --- a/src/mame/drivers/mcatadv.cpp +++ b/src/mame/drivers/mcatadv.cpp @@ -407,20 +407,9 @@ INPUT_PORTS_END /*** GFX Decode ***/ -static const gfx_layout layout_16x16x4 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(4*8*8,4) }, - { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, - 16*16*4 -}; - static GFXDECODE_START( gfx_mcatadv ) - GFXDECODE_ENTRY( "bg0", 0, layout_16x16x4, 0, 0x200 ) - GFXDECODE_ENTRY( "bg1", 0, layout_16x16x4, 0, 0x200 ) + GFXDECODE_ENTRY( "bg0", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 0x200 ) + GFXDECODE_ENTRY( "bg1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 0x200 ) GFXDECODE_END diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp index c0ae6c43862..5af1f230a9c 100644 --- a/src/mame/drivers/megasys1.cpp +++ b/src/mame/drivers/megasys1.cpp @@ -1634,41 +1634,17 @@ WRITE16_MEMBER(megasys1_state::protection_peekaboo_w) * *************************************/ -#ifdef UNUSED_VARIABLE -static const gfx_layout tilelayout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 8*8*4 -}; -#endif - -static const gfx_layout spritelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(8*8*4*0,4), STEP8(8*8*4*2,4) }, - { STEP16(0,4*8) }, - 16*16*4 -}; - static GFXDECODE_START( gfx_z ) - //GFXDECODE_ENTRY( "scroll0", 0, tilelayout, 256*0, 16 ) // [0] Scroll 0 - //GFXDECODE_ENTRY( "scroll1", 0, tilelayout, 256*2, 16 ) // [1] Scroll 1 - GFXDECODE_ENTRY( "sprites", 0, spritelayout, 256*1, 16 ) // [2] Sprites + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 256*0, 16 ) // [0] Scroll 0 + //GFXDECODE_ENTRY( "scroll1", 0, gfx_8x8x4_packed_msb, 256*2, 16 ) // [1] Scroll 1 + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 256*1, 16 ) // [2] Sprites GFXDECODE_END static GFXDECODE_START( gfx_abc ) - //GFXDECODE_ENTRY( "scroll0", 0, tilelayout, 256*0, 16 ) // [0] Scroll 0 - //GFXDECODE_ENTRY( "scroll1", 0, tilelayout, 256*1, 16 ) // [1] Scroll 1 - //GFXDECODE_ENTRY( "scroll2", 0, tilelayout, 256*2, 16 ) // [2] Scroll 2 (unused in system D) - GFXDECODE_ENTRY( "sprites", 0, spritelayout, 256*3, 16 ) // [3] Sprites + //GFXDECODE_ENTRY( "scroll0", 0, gfx_8x8x4_packed_msb, 256*0, 16 ) // [0] Scroll 0 + //GFXDECODE_ENTRY( "scroll1", 0, gfx_8x8x4_packed_msb, 256*1, 16 ) // [1] Scroll 1 + //GFXDECODE_ENTRY( "scroll2", 0, gfx_8x8x4_packed_msb, 256*2, 16 ) // [2] Scroll 2 (unused in system D) + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 256*3, 16 ) // [3] Sprites GFXDECODE_END /************************************* diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp index 4ea784b1916..adf3b7d63eb 100644 --- a/src/mame/drivers/ninjakd2.cpp +++ b/src/mame/drivers/ninjakd2.cpp @@ -881,51 +881,18 @@ 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 layout16x16 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(32*8,4) }, - { STEP8(0,32), STEP8(64*8,32) }, - 128*8 -}; - -static const gfx_layout robokid_layout16x16 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(64*8,4) }, - { STEP16(0,32) }, - 128*8 -}; - static GFXDECODE_START( gfx_ninjakd2 ) - GFXDECODE_ENTRY( "gfx1", 0, layout8x8, 0x200, 16) // fg - GFXDECODE_ENTRY( "gfx2", 0, layout16x16, 0x100, 16) // sprites - GFXDECODE_ENTRY( "gfx3", 0, layout16x16, 0x000, 16) // bg + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x200, 16) // fg + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x100, 16) // sprites + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x000, 16) // bg GFXDECODE_END static GFXDECODE_START( gfx_robokid ) - GFXDECODE_ENTRY( "gfx1", 0, layout8x8, 0x300, 16) // fg - GFXDECODE_ENTRY( "gfx2", 0, robokid_layout16x16, 0x200, 16) // sprites - GFXDECODE_ENTRY( "gfx3", 0, robokid_layout16x16, 0x000, 16) // bg0 - GFXDECODE_ENTRY( "gfx4", 0, robokid_layout16x16, 0x000, 16) // bg1 - GFXDECODE_ENTRY( "gfx5", 0, robokid_layout16x16, 0x000, 16) // bg2 + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x300, 16) // fg + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x200, 16) // sprites + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16) // bg0 + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16) // bg1 + GFXDECODE_ENTRY( "gfx5", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16) // bg2 GFXDECODE_END diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp index ad6e3f46374..06df64835a7 100644 --- a/src/mame/drivers/nmk16.cpp +++ b/src/mame/drivers/nmk16.cpp @@ -3990,53 +3990,42 @@ static INPUT_PORTS_START( dolmen ) INPUT_PORTS_END -static const gfx_layout tilelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(4*8*16,4) }, - { STEP16(0,4*8) }, - 32*32 -}; - static GFXDECODE_START( gfx_tharrier ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) /* color 0x100-0x1ff */ GFXDECODE_END static GFXDECODE_START( gfx_macross ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) /* color 0x200-0x2ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) /* color 0x200-0x2ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) /* color 0x100-0x1ff */ GFXDECODE_END static GFXDECODE_START( gfx_macross2 ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 32 ) /* color 0x100-0x2ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 32 ) /* color 0x100-0x2ff */ GFXDECODE_END static GFXDECODE_START( gfx_bjtwin ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) /* color 0x100-0x1ff */ GFXDECODE_END static GFXDECODE_START( gfx_bioship ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x200, 16 ) /* color 0x200-0x2ff */ - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x200, 16 ) /* color 0x200-0x2ff */ + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ GFXDECODE_END static GFXDECODE_START( gfx_strahl ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x300, 16 ) /* color 0x300-0x3ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x200, 16 ) /* color 0x200-0x2ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x200, 16 ) /* color 0x200-0x2ff */ GFXDECODE_END @@ -5371,27 +5360,16 @@ static const gfx_layout tilelayout_8bpp = }; -static const gfx_layout tilelayout_swapnibble = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { 4,0,12,8,20,16,28,24, 512+4,512+0,512+12,512+8,512+20,512+16,512+28,512+24 }, - { STEP16(0,4*8) }, - 16*16*4 -}; - static GFXDECODE_START( gfx_grdnstrm ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) // [2] Layer 1 - GFXDECODE_ENTRY( "bgtile", 0, tilelayout_8bpp, 0x000, 1 ) // [1] Layer 0 - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) // [0] Sprites + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) // [2] Layer 1 + GFXDECODE_ENTRY( "bgtile", 0, tilelayout_8bpp, 0x000, 1 ) // [1] Layer 0 + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) // [0] Sprites GFXDECODE_END static GFXDECODE_START( gfx_redhawkb ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) // [2] Layer 1 - GFXDECODE_ENTRY( "bgtile", 0, tilelayout_swapnibble, 0x000, 16 ) // [1] Layer 0 - GFXDECODE_ENTRY( "sprites", 0, tilelayout_swapnibble, 0x100, 16 ) // [0] Sprites + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) // [2] Layer 1 + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0x000, 16 ) // [1] Layer 0 + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0x100, 16 ) // [0] Sprites GFXDECODE_END diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp index 7f184b5aafa..6c30b5f59a9 100644 --- a/src/mame/drivers/powerins.cpp +++ b/src/mame/drivers/powerins.cpp @@ -243,29 +243,16 @@ INPUT_PORTS_END ***************************************************************************/ -/* 16x16x4 tiles (made of two 8x16 tiles) */ -static const gfx_layout layout_16x16x4 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - {STEP4(0,1)}, - {STEP8(0,4),STEP8(4*8*16,4)}, - {STEP16(0,4*8)}, - 16*16*4 -}; - - static GFXDECODE_START( gfx_powerins ) - GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x000, 0x20 ) // [0] Tiles - GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x200, 0x10 ) // [1] Tiles - GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x4, 0x400, 0x40 ) // [2] Sprites + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 0x20 ) // [0] Tiles + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0x200, 0x10 ) // [1] Tiles + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x400, 0x40 ) // [2] Sprites GFXDECODE_END static GFXDECODE_START( gfx_powerinsc ) - GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x000, 0x20 ) // [0] Tiles - GFXDECODE_ENTRY( "gfx1", 0x280000, gfx_8x8x4_packed_msb, 0x200, 0x10 ) // [1] Tiles - GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x4, 0x400, 0x40 ) // [2] Sprites + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 0x20 ) // [0] Tiles + GFXDECODE_ENTRY( "gfx1", 0x280000, gfx_8x8x4_packed_msb, 0x200, 0x10 ) // [1] Tiles + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x400, 0x40 ) // [2] Sprites GFXDECODE_END /*************************************************************************** diff --git a/src/mame/drivers/quizpani.cpp b/src/mame/drivers/quizpani.cpp index d9431d663ff..2c8f737c9b0 100644 --- a/src/mame/drivers/quizpani.cpp +++ b/src/mame/drivers/quizpani.cpp @@ -176,22 +176,9 @@ static INPUT_PORTS_START( quizpani ) PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) ) 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_quizpani ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0x100, 16 ) /* Background */ - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0x000, 16 ) /* Text */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 ) /* Background */ + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16 ) /* Text */ GFXDECODE_END diff --git a/src/mame/drivers/sandscrp.cpp b/src/mame/drivers/sandscrp.cpp index bd2a6a9dfcf..bc3710da573 100644 --- a/src/mame/drivers/sandscrp.cpp +++ b/src/mame/drivers/sandscrp.cpp @@ -415,20 +415,8 @@ static INPUT_PORTS_START( sandscrp ) INPUT_PORTS_END -static const gfx_layout layout_16x16x4 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(8*8*4*0,4), STEP8(8*8*4*1,4) }, - { STEP8(8*8*4*0,8*4), STEP8(8*8*4*2,8*4) }, - 16*16*4 -}; - - static GFXDECODE_START( gfx_sandscrp ) - GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x000, 0x10 ) // [0] Sprites + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x000, 0x10 ) // [0] Sprites GFXDECODE_END diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp index 3e39a07bbdb..107e1ad767d 100644 --- a/src/mame/drivers/snowbros.cpp +++ b/src/mame/drivers/snowbros.cpp @@ -1635,19 +1635,8 @@ INPUT_PORTS_END /* SnowBros */ -static const gfx_layout tilelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { STEP8(0,4), STEP8(8*32,4) }, - { STEP8(0,32), STEP8(16*32,32) }, - 32*32 -}; - static GFXDECODE_START( gfx_snowbros ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 16 ) GFXDECODE_END /* Honey Doll */ @@ -1664,13 +1653,13 @@ static const gfx_layout honeydol_tilelayout8bpp = }; static GFXDECODE_START( gfx_honeydol ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 64 ) // how does it use 0-15 - GFXDECODE_ENTRY( "gfx2", 0, honeydol_tilelayout8bpp, 0, 4 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 64 ) // how does it use 0-15 + GFXDECODE_ENTRY( "gfx2", 0, honeydol_tilelayout8bpp, 0, 4 ) GFXDECODE_END static GFXDECODE_START( gfx_twinadv ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 64 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 64 ) GFXDECODE_END /* Winter Bobble */ @@ -1687,7 +1676,7 @@ static const gfx_layout tilelayout_wb = }; static GFXDECODE_START( gfx_wb ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout_wb, 0, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, tilelayout_wb, 0, 16 ) GFXDECODE_END /* SemiCom */ @@ -1721,12 +1710,12 @@ static const gfx_layout sb3_tilebglayout = static GFXDECODE_START( gfx_sb3 ) - GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, sb3_tilebglayout, 0, 2 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, sb3_tilebglayout, 0, 2 ) GFXDECODE_END static GFXDECODE_START( gfx_hyperpac ) - GFXDECODE_ENTRY( "gfx1", 0, hyperpac_tilelayout, 0, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, hyperpac_tilelayout, 0, 16 ) GFXDECODE_END MACHINE_RESET_MEMBER(snowbros_state,semiprot) diff --git a/src/mame/drivers/tecmo.cpp b/src/mame/drivers/tecmo.cpp index e22740d0f5d..b0f431cb693 100644 --- a/src/mame/drivers/tecmo.cpp +++ b/src/mame/drivers/tecmo.cpp @@ -654,33 +654,11 @@ static INPUT_PORTS_START( silkwormp ) 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) }, - 4*8*8 -}; - -static const gfx_layout tilelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(4*8*8,4) }, - { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, - 4*8*8*2*2 -}; - static GFXDECODE_START( gfx_tecmo ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 256, 16 ) /* colors 256 - 511 */ - GFXDECODE_ENTRY( "gfx2", 0, charlayout, 0, 16 ) /* colors 0 - 255 */ - GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 16 ) /* colors 512 - 767 */ - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 768, 16 ) /* colors 768 - 1023 */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 256, 16 ) /* colors 256 - 511 */ + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_msb, 0, 16 ) /* colors 0 - 255 */ + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_row_2x2_group_packed_msb, 512, 16 ) /* colors 512 - 767 */ + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x4_row_2x2_group_packed_msb, 768, 16 ) /* colors 768 - 1023 */ GFXDECODE_END diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp index 99f0aceeebf..a6cd1649785 100644 --- a/src/mame/drivers/tecmo16.cpp +++ b/src/mame/drivers/tecmo16.cpp @@ -321,32 +321,10 @@ INPUT_PORTS_END /******************************************************************************/ -static const gfx_layout charlayout = -{ - 8,8, /* 8*8 characters */ - RGN_FRAC(1,1), /* 4096 characters */ - 4, /* 4 bits per pixel */ - { STEP4(0,1) }, /* the bitplanes are packed in one nibble */ - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 4*8*8 /* every char takes 32 consecutive bytes */ -}; - -static const gfx_layout tilelayout = -{ - 16,16, /* 16*16 tiles */ - RGN_FRAC(1,1), /* 8192 tiles */ - 4, /* 4 bits per pixel */ - { STEP4(0,1) }, /* the bitplanes are packed in one nibble */ - { STEP8(0,4), STEP8(4*8*8,4) }, - { STEP8(0,4*8), STEP8(4*8*8*2,4*8) }, - 4*8*8*2*2 /* every tile takes 128 consecutive bytes */ -}; - static GFXDECODE_START( gfx_tecmo16 ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 1*16*16, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 0x100 ) - GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 0x100 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 1*16*16, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0, 0x100 ) + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_packed_msb, 0, 0x100 ) GFXDECODE_END /******************************************************************************/ diff --git a/src/mame/drivers/tecmosys.cpp b/src/mame/drivers/tecmosys.cpp index 9c4fd8f4ec8..1f91865a89b 100644 --- a/src/mame/drivers/tecmosys.cpp +++ b/src/mame/drivers/tecmosys.cpp @@ -411,34 +411,11 @@ static INPUT_PORTS_START( tecmosys ) INPUT_PORTS_END - -static const gfx_layout gfxlayout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 8*8*4 -}; - -static const gfx_layout gfxlayout2 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(8*8*4,4) }, - { STEP8(0,4*8), STEP8(8*8*4*2,4*8) }, - 16*16*4 -}; - static GFXDECODE_START( gfx_tecmosys ) - GFXDECODE_ENTRY( "layer0", 0, gfxlayout, 0x4400, 0x40 ) - GFXDECODE_ENTRY( "layer1", 0, gfxlayout2, 0x4000, 0x40 ) - GFXDECODE_ENTRY( "layer2", 0, gfxlayout2, 0x4000, 0x40 ) - GFXDECODE_ENTRY( "layer3", 0, gfxlayout2, 0x4000, 0x40 ) + GFXDECODE_ENTRY( "layer0", 0, gfx_8x8x4_packed_msb, 0x4400, 0x40 ) + GFXDECODE_ENTRY( "layer1", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x4000, 0x40 ) + GFXDECODE_ENTRY( "layer2", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x4000, 0x40 ) + GFXDECODE_ENTRY( "layer3", 0, gfx_8x8x4_row_2x2_group_packed_msb, 0x4000, 0x40 ) GFXDECODE_END -- cgit v1.2.3