From 19fe9e23a68ea2928006e7f319d3c3c296c704c9 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 28 Mar 2022 18:11:51 +0200 Subject: - 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 --- scripts/target/mame/arcade.lua | 2 - src/mame/drivers/acommand.cpp | 15 +- src/mame/drivers/aerofgt.cpp | 14 +- src/mame/drivers/akkaarrh.cpp | 26 +--- src/mame/drivers/angelkds.cpp | 18 +-- src/mame/drivers/arcadecl.cpp | 14 +- src/mame/drivers/atarig1.cpp | 13 +- src/mame/drivers/atarig42.cpp | 13 +- src/mame/drivers/atarigt.cpp | 14 +- src/mame/drivers/baraduke.cpp | 21 +-- src/mame/drivers/battlex.cpp | 15 +- src/mame/drivers/bbusters.cpp | 14 +- src/mame/drivers/btime.cpp | 39 ++--- src/mame/drivers/carpolo.cpp | 13 +- src/mame/drivers/centiped.cpp | 19 +-- src/mame/drivers/cop01.cpp | 15 +- src/mame/drivers/crshrace.cpp | 19 +-- src/mame/drivers/cybstorm.cpp | 18 +-- src/mame/drivers/dblcrown.cpp | 13 +- src/mame/drivers/dbz.cpp | 17 +-- src/mame/drivers/deniam.cpp | 16 +- src/mame/drivers/discoboy.cpp | 307 ++++++++++++++++----------------------- src/mame/drivers/diverboy.cpp | 17 +-- src/mame/drivers/docastle.cpp | 13 +- src/mame/drivers/dominob.cpp | 15 +- src/mame/drivers/dooyong.cpp | 27 +--- src/mame/drivers/dreamwld.cpp | 15 +- src/mame/drivers/dynadice.cpp | 13 +- src/mame/drivers/efdt.cpp | 13 +- src/mame/drivers/elan_eu3a14.cpp | 14 +- src/mame/drivers/esh.cpp | 15 +- src/mame/drivers/exzisus.cpp | 230 +++++++++++++++++++++++------ src/mame/drivers/fastfred.cpp | 38 +---- src/mame/drivers/finalizr.cpp | 17 +-- src/mame/drivers/firefox.cpp | 15 +- src/mame/drivers/freekick.cpp | 15 +- src/mame/drivers/freeway.cpp | 13 +- src/mame/drivers/funtech.cpp | 14 +- src/mame/drivers/fuukifg2.cpp | 18 +-- src/mame/drivers/fuukifg3.cpp | 18 +-- src/mame/drivers/galaga.cpp | 13 +- src/mame/drivers/galaxia.cpp | 13 +- src/mame/drivers/gauntlet.cpp | 16 +- src/mame/drivers/ginganin.cpp | 19 +-- src/mame/drivers/gladiatr.cpp | 15 +- src/mame/drivers/goal92.cpp | 13 +- src/mame/drivers/goldstar.cpp | 13 +- src/mame/drivers/gottlieb.cpp | 16 +- src/mame/drivers/gstriker.cpp | 18 +-- src/mame/drivers/gundealr.cpp | 15 +- src/mame/drivers/headonb.cpp | 13 +- src/mame/drivers/himesiki.cpp | 13 +- src/mame/drivers/hitme.cpp | 13 +- src/mame/drivers/homedata.cpp | 30 +--- src/mame/drivers/igs011.cpp | 28 ++-- src/mame/drivers/ironhors.cpp | 15 +- src/mame/drivers/joystand.cpp | 25 +--- src/mame/drivers/kickgoal.cpp | 36 +---- src/mame/drivers/klax.cpp | 22 +-- src/mame/drivers/kncljoe.cpp | 17 +-- src/mame/drivers/konblands.cpp | 12 +- src/mame/drivers/liberate.cpp | 43 ++---- src/mame/drivers/m14.cpp | 13 +- src/mame/drivers/m62.cpp | 17 +-- src/mame/drivers/m63.cpp | 34 +---- src/mame/drivers/m90.cpp | 15 +- src/mame/drivers/macrossp.cpp | 14 +- src/mame/drivers/mainsnk.cpp | 16 +- src/mame/drivers/mastboy.cpp | 16 +- src/mame/drivers/mechatt.cpp | 13 +- src/mame/drivers/mirax.cpp | 15 +- src/mame/drivers/mystwarr.cpp | 13 +- src/mame/drivers/namcos86.cpp | 17 +-- src/mame/drivers/news.cpp | 13 +- src/mame/drivers/nova2001.cpp | 27 +--- src/mame/drivers/pandoras.cpp | 15 +- src/mame/drivers/paradise.cpp | 33 ++--- src/mame/drivers/powerbal.cpp | 13 +- src/mame/drivers/rabbit.cpp | 19 +-- src/mame/drivers/rbmk.cpp | 21 +-- src/mame/drivers/realbrk.cpp | 19 +-- src/mame/drivers/ron.cpp | 13 +- src/mame/drivers/rungun.cpp | 15 +- src/mame/drivers/seabattl.cpp | 15 +- src/mame/drivers/seicupbl.cpp | 13 +- src/mame/drivers/shangha3.cpp | 14 +- src/mame/drivers/sigmab98.cpp | 15 +- src/mame/drivers/snk.cpp | 31 ++-- src/mame/drivers/sonson.cpp | 16 +- src/mame/drivers/spbactn.cpp | 16 +- src/mame/drivers/speedatk.cpp | 14 +- src/mame/drivers/sshot.cpp | 13 +- src/mame/drivers/statriv2.cpp | 13 +- src/mame/drivers/stuntair.cpp | 15 +- src/mame/drivers/superqix.cpp | 17 +-- src/mame/drivers/suprgolf.cpp | 13 +- src/mame/drivers/suprslam.cpp | 13 +- src/mame/drivers/system16.cpp | 13 +- src/mame/drivers/taotaido.cpp | 17 +-- src/mame/drivers/tbowl.cpp | 19 +-- src/mame/drivers/terracre.cpp | 21 +-- src/mame/drivers/thunderj.cpp | 18 +-- src/mame/drivers/tmnt.cpp | 14 +- src/mame/drivers/toaplan2.cpp | 13 +- src/mame/drivers/trackfld.cpp | 15 +- src/mame/drivers/travrusa.cpp | 17 +-- src/mame/drivers/tsamurai.cpp | 28 +--- src/mame/drivers/tugboat.cpp | 30 +--- src/mame/drivers/twin16.cpp | 21 +-- src/mame/drivers/unkpoker.cpp | 14 +- src/mame/drivers/warpwarp.cpp | 17 +-- src/mame/drivers/xavix.cpp | 13 +- src/mame/includes/exzisus.h | 54 ------- src/mame/video/exzisus.cpp | 169 --------------------- 114 files changed, 609 insertions(+), 2066 deletions(-) delete mode 100644 src/mame/includes/exzisus.h delete mode 100644 src/mame/video/exzisus.cpp diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 108228f30b1..e63cb642176 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -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", diff --git a/src/mame/drivers/acommand.cpp b/src/mame/drivers/acommand.cpp index c675a72bd75..ab0bcfeb350 100644 --- a/src/mame/drivers/acommand.cpp +++ b/src/mame/drivers/acommand.cpp @@ -440,21 +440,8 @@ static INPUT_PORTS_START( acommand ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) INPUT_PORTS_END -static const gfx_layout tilelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, - 16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, - 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 }, - 32*32 -}; - static GFXDECODE_START( gfx_acommand ) - GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0x1800, 256 ) + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x1800, 256 ) GFXDECODE_END TIMER_DEVICE_CALLBACK_MEMBER(acommand_state::acommand_scanline) diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp index 9c01b7cfaca..dde1fbe94ba 100644 --- a/src/mame/drivers/aerofgt.cpp +++ b/src/mame/drivers/aerofgt.cpp @@ -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 ) diff --git a/src/mame/drivers/akkaarrh.cpp b/src/mame/drivers/akkaarrh.cpp index daec390cb82..863107568a0 100644 --- a/src/mame/drivers/akkaarrh.cpp +++ b/src/mame/drivers/akkaarrh.cpp @@ -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 diff --git a/src/mame/drivers/angelkds.cpp b/src/mame/drivers/angelkds.cpp index e7cba15d536..28f85df65de 100644 --- a/src/mame/drivers/angelkds.cpp +++ b/src/mame/drivers/angelkds.cpp @@ -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 diff --git a/src/mame/drivers/arcadecl.cpp b/src/mame/drivers/arcadecl.cpp index 1743cce3745..dc7ecc5c9ae 100644 --- a/src/mame/drivers/arcadecl.cpp +++ b/src/mame/drivers/arcadecl.cpp @@ -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 diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp index 507c6a9395b..a00a7ed7c04 100644 --- a/src/mame/drivers/atarig1.cpp +++ b/src/mame/drivers/atarig1.cpp @@ -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 diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp index 2a17942f426..a23009e6c8f 100644 --- a/src/mame/drivers/atarig42.cpp +++ b/src/mame/drivers/atarig42.cpp @@ -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 diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp index ea8f845c18d..38132e9b1ef 100644 --- a/src/mame/drivers/atarigt.cpp +++ b/src/mame/drivers/atarigt.cpp @@ -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 diff --git a/src/mame/drivers/baraduke.cpp b/src/mame/drivers/baraduke.cpp index 093e77128a8..a675a62f03f 100644 --- a/src/mame/drivers/baraduke.cpp +++ b/src/mame/drivers/baraduke.cpp @@ -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 diff --git a/src/mame/drivers/battlex.cpp b/src/mame/drivers/battlex.cpp index d1aab0ccce0..3679d83dc0c 100644 --- a/src/mame/drivers/battlex.cpp +++ b/src/mame/drivers/battlex.cpp @@ -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 diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp index 47ff891ef19..b4ecd9d8394 100644 --- a/src/mame/drivers/bbusters.cpp +++ b/src/mame/drivers/bbusters.cpp @@ -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 diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp index 4ccf0bfa03d..93caecd59e2 100644 --- a/src/mame/drivers/btime.cpp +++ b/src/mame/drivers/btime.cpp @@ -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 ) diff --git a/src/mame/drivers/carpolo.cpp b/src/mame/drivers/carpolo.cpp index 3d878d9abc6..a36b6d7b7b4 100644 --- a/src/mame/drivers/carpolo.cpp +++ b/src/mame/drivers/carpolo.cpp @@ -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 /************************************* diff --git a/src/mame/drivers/centiped.cpp b/src/mame/drivers/centiped.cpp index f592a920d52..af742873ef4 100644 --- a/src/mame/drivers/centiped.cpp +++ b/src/mame/drivers/centiped.cpp @@ -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 diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp index e3ab4f4a5f8..7676a3bb2d6 100644 --- a/src/mame/drivers/cop01.cpp +++ b/src/mame/drivers/cop01.cpp @@ -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 diff --git a/src/mame/drivers/crshrace.cpp b/src/mame/drivers/crshrace.cpp index 648065506c9..a49b0b80426 100644 --- a/src/mame/drivers/crshrace.cpp +++ b/src/mame/drivers/crshrace.cpp @@ -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 diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp index dbd7318286c..b447a34dc07 100644 --- a/src/mame/drivers/cybstorm.cpp +++ b/src/mame/drivers/cybstorm.cpp @@ -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 diff --git a/src/mame/drivers/dblcrown.cpp b/src/mame/drivers/dblcrown.cpp index 1324361f58a..5fd87e2e704 100644 --- a/src/mame/drivers/dblcrown.cpp +++ b/src/mame/drivers/dblcrown.cpp @@ -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 diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp index b41dabaf041..03de25d6d6d 100644 --- a/src/mame/drivers/dbz.cpp +++ b/src/mame/drivers/dbz.cpp @@ -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 /**********************************************************************************/ diff --git a/src/mame/drivers/deniam.cpp b/src/mame/drivers/deniam.cpp index e775f218a68..6ce91362ad2 100644 --- a/src/mame/drivers/deniam.cpp +++ b/src/mame/drivers/deniam.cpp @@ -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 diff --git a/src/mame/drivers/discoboy.cpp b/src/mame/drivers/discoboy.cpp index d05be663349..58a04782acd 100644 --- a/src/mame/drivers/discoboy.cpp +++ b/src/mame/drivers/discoboy.cpp @@ -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 m_maincpu; required_device m_audiocpu; required_device m_msm; required_device m_adpcm_select; required_device m_gfxdecode; required_device m_palette; - required_device m_soundlatch; - /* memory */ + // memory required_shared_ptr m_ram_att; - required_device m_rambank1; - required_shared_ptr m_ram_1; - required_shared_ptr 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 m_palram; + memory_share_creator m_spriteram; + memory_share_creator 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) - { - uint16_t pal; - int r, g, b; - pal = m_ram_1[i] | (m_ram_1[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, rgb_t(r, g, b)); - } - - for (i = 0; i < 0x800; i += 2) + for (int j = 0; j < 2; j++) { - uint16_t pal; - int r,g,b; - pal = m_ram_2[i] | (m_ram_2[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) + 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); -} - -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"); + if (data != 0) LOGUNKWRITE("port 06!!!! %02x\n",data); } -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 ) diff --git a/src/mame/drivers/diverboy.cpp b/src/mame/drivers/diverboy.cpp index 1cc743beea6..01c0510097e 100644 --- a/src/mame/drivers/diverboy.cpp +++ b/src/mame/drivers/diverboy.cpp @@ -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 diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp index 70bc9ca10e5..bab8511dba6 100644 --- a/src/mame/drivers/docastle.cpp +++ b/src/mame/drivers/docastle.cpp @@ -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 diff --git a/src/mame/drivers/dominob.cpp b/src/mame/drivers/dominob.cpp index 8284dd506ce..40c99c71b1e 100644 --- a/src/mame/drivers/dominob.cpp +++ b/src/mame/drivers/dominob.cpp @@ -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 diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp index 1f1dacb3f9b..05e02f09e48 100644 --- a/src/mame/drivers/dooyong.cpp +++ b/src/mame/drivers/dooyong.cpp @@ -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 ) diff --git a/src/mame/drivers/dreamwld.cpp b/src/mame/drivers/dreamwld.cpp index a50a0344830..cd5245aff0c 100644 --- a/src/mame/drivers/dreamwld.cpp +++ b/src/mame/drivers/dreamwld.cpp @@ -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 diff --git a/src/mame/drivers/dynadice.cpp b/src/mame/drivers/dynadice.cpp index 58679e20fa8..b2daa99a8bd 100644 --- a/src/mame/drivers/dynadice.cpp +++ b/src/mame/drivers/dynadice.cpp @@ -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 diff --git a/src/mame/drivers/efdt.cpp b/src/mame/drivers/efdt.cpp index 2da74a9f3ce..2a4c772dd97 100644 --- a/src/mame/drivers/efdt.cpp +++ b/src/mame/drivers/efdt.cpp @@ -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 diff --git a/src/mame/drivers/elan_eu3a14.cpp b/src/mame/drivers/elan_eu3a14.cpp index 22ff577244b..45953f54841 100644 --- a/src/mame/drivers/elan_eu3a14.cpp +++ b/src/mame/drivers/elan_eu3a14.cpp @@ -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 diff --git a/src/mame/drivers/esh.cpp b/src/mame/drivers/esh.cpp index 830ffaa4640..615a7fbbdb1 100644 --- a/src/mame/drivers/esh.cpp +++ b/src/mame/drivers/esh.cpp @@ -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) diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp index 3b0c7bc799b..a76e16eb09e 100644 --- a/src/mame/drivers/exzisus.cpp +++ b/src/mame/drivers/exzisus.cpp @@ -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 m_cpuc; + required_device m_gfxdecode; + required_device m_palette; + + required_shared_ptr_array m_objectram; + required_shared_ptr_array m_videoram; + required_shared_ptr m_sharedram_ac; + required_shared_ptr m_sharedram_ab; + required_memory_bank_array<2> m_cpubank; + + template 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 + /*************************************************************************** - Memory Handler(s) + Video hardware of this hardware is almost similar with "mexico86". So, + most routines are derived from mexico86 driver. + +***************************************************************************/ + +/*************************************************************************** + Screen refresh ***************************************************************************/ -void exzisus_state::cpua_bankswitch_w(uint8_t data) +uint32_t exzisus_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - membank("cpuabank")->set_entry(data & 0x0f); - flip_screen_set(data & 0x40); + // 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; } -void exzisus_state::cpub_bankswitch_w(uint8_t data) + +// machine + +/*************************************************************************** + + Memory Handler(s) + +***************************************************************************/ + +template +void exzisus_state::cpu_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 ) diff --git a/src/mame/drivers/fastfred.cpp b/src/mame/drivers/fastfred.cpp index b4d1014d79c..0427e91e830 100644 --- a/src/mame/drivers/fastfred.cpp +++ b/src/mame/drivers/fastfred.cpp @@ -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) diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp index 827473a276e..6103226c533 100644 --- a/src/mame/drivers/finalizr.cpp +++ b/src/mame/drivers/finalizr.cpp @@ -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 diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp index 7d322f4b496..3706cf28594 100644 --- a/src/mame/drivers/firefox.cpp +++ b/src/mame/drivers/firefox.cpp @@ -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 diff --git a/src/mame/drivers/freekick.cpp b/src/mame/drivers/freekick.cpp index b80f0441d0b..af5a575eb73 100644 --- a/src/mame/drivers/freekick.cpp +++ b/src/mame/drivers/freekick.cpp @@ -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 /************************************* diff --git a/src/mame/drivers/freeway.cpp b/src/mame/drivers/freeway.cpp index 1b403926048..cc391f110cc 100644 --- a/src/mame/drivers/freeway.cpp +++ b/src/mame/drivers/freeway.cpp @@ -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) diff --git a/src/mame/drivers/funtech.cpp b/src/mame/drivers/funtech.cpp index d8e4b27a7a1..f92e74bae27 100644 --- a/src/mame/drivers/funtech.cpp +++ b/src/mame/drivers/funtech.cpp @@ -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 diff --git a/src/mame/drivers/fuukifg2.cpp b/src/mame/drivers/fuukifg2.cpp index 93c971edead..97b1d9d0676 100644 --- a/src/mame/drivers/fuukifg2.cpp +++ b/src/mame/drivers/fuukifg2.cpp @@ -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 diff --git a/src/mame/drivers/fuukifg3.cpp b/src/mame/drivers/fuukifg3.cpp index 74c7c8fbd06..06990bbeab6 100644 --- a/src/mame/drivers/fuukifg3.cpp +++ b/src/mame/drivers/fuukifg3.cpp @@ -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 diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp index 4fa12aef4cf..38f5c2c1165 100644 --- a/src/mame/drivers/galaga.cpp +++ b/src/mame/drivers/galaga.cpp @@ -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 diff --git a/src/mame/drivers/galaxia.cpp b/src/mame/drivers/galaxia.cpp index 3adc36a6285..c54e038f618 100644 --- a/src/mame/drivers/galaxia.cpp +++ b/src/mame/drivers/galaxia.cpp @@ -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 diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp index 4b24a959c9c..258cd6b5410 100644 --- a/src/mame/drivers/gauntlet.cpp +++ b/src/mame/drivers/gauntlet.cpp @@ -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 diff --git a/src/mame/drivers/ginganin.cpp b/src/mame/drivers/ginganin.cpp index 9ca0156ef05..35c6d4dcca6 100644 --- a/src/mame/drivers/ginganin.cpp +++ b/src/mame/drivers/ginganin.cpp @@ -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 diff --git a/src/mame/drivers/gladiatr.cpp b/src/mame/drivers/gladiatr.cpp index e395544889e..8e8f176fc20 100644 --- a/src/mame/drivers/gladiatr.cpp +++ b/src/mame/drivers/gladiatr.cpp @@ -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 diff --git a/src/mame/drivers/goal92.cpp b/src/mame/drivers/goal92.cpp index a6649b33121..3d7804b0b20 100644 --- a/src/mame/drivers/goal92.cpp +++ b/src/mame/drivers/goal92.cpp @@ -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 diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp index 5c46838b0a9..eb4a092f823 100644 --- a/src/mame/drivers/goldstar.cpp +++ b/src/mame/drivers/goldstar.cpp @@ -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 diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp index eea33822f48..8ec49aafc79 100644 --- a/src/mame/drivers/gottlieb.cpp +++ b/src/mame/drivers/gottlieb.cpp @@ -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 diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp index 6fbf01cd9d1..70d28b62353 100644 --- a/src/mame/drivers/gstriker.cpp +++ b/src/mame/drivers/gstriker.cpp @@ -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 diff --git a/src/mame/drivers/gundealr.cpp b/src/mame/drivers/gundealr.cpp index 77ba0783eee..cb0c6689ab4 100644 --- a/src/mame/drivers/gundealr.cpp +++ b/src/mame/drivers/gundealr.cpp @@ -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 diff --git a/src/mame/drivers/headonb.cpp b/src/mame/drivers/headonb.cpp index e012316af66..6dfb9cf8ab6 100644 --- a/src/mame/drivers/headonb.cpp +++ b/src/mame/drivers/headonb.cpp @@ -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 ) diff --git a/src/mame/drivers/himesiki.cpp b/src/mame/drivers/himesiki.cpp index e0a70e4c6ec..9b25a268663 100644 --- a/src/mame/drivers/himesiki.cpp +++ b/src/mame/drivers/himesiki.cpp @@ -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 diff --git a/src/mame/drivers/hitme.cpp b/src/mame/drivers/hitme.cpp index 33b65f0c945..e5a62f0acc3 100644 --- a/src/mame/drivers/hitme.cpp +++ b/src/mame/drivers/hitme.cpp @@ -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 diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp index 4ce82246b1f..c03421c93ce 100644 --- a/src/mame/drivers/homedata.cpp +++ b/src/mame/drivers/homedata.cpp @@ -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 diff --git a/src/mame/drivers/igs011.cpp b/src/mame/drivers/igs011.cpp index 574bfa14bfd..ee9df97852c 100644 --- a/src/mame/drivers/igs011.cpp +++ b/src/mame/drivers/igs011.cpp @@ -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 diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp index 9597559e63a..8f8cf08f04b 100644 --- a/src/mame/drivers/ironhors.cpp +++ b/src/mame/drivers/ironhors.cpp @@ -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 diff --git a/src/mame/drivers/joystand.cpp b/src/mame/drivers/joystand.cpp index 2e6606b3f10..e911bce21e7 100644 --- a/src/mame/drivers/joystand.cpp +++ b/src/mame/drivers/joystand.cpp @@ -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 diff --git a/src/mame/drivers/kickgoal.cpp b/src/mame/drivers/kickgoal.cpp index ebab4c76fad..b043988fdf1 100644 --- a/src/mame/drivers/kickgoal.cpp +++ b/src/mame/drivers/kickgoal.cpp @@ -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 ***********************************************************/ diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp index 309705aa38a..1e1a44f1e00 100644 --- a/src/mame/drivers/klax.cpp +++ b/src/mame/drivers/klax.cpp @@ -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 diff --git a/src/mame/drivers/kncljoe.cpp b/src/mame/drivers/kncljoe.cpp index 7edfb93b483..814d7eef42b 100644 --- a/src/mame/drivers/kncljoe.cpp +++ b/src/mame/drivers/kncljoe.cpp @@ -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 diff --git a/src/mame/drivers/konblands.cpp b/src/mame/drivers/konblands.cpp index f05d631c279..6b5d325585a 100644 --- a/src/mame/drivers/konblands.cpp +++ b/src/mame/drivers/konblands.cpp @@ -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 diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp index 8bcc3d19253..4eeafc7b8eb 100644 --- a/src/mame/drivers/liberate.cpp +++ b/src/mame/drivers/liberate.cpp @@ -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 /************************************* diff --git a/src/mame/drivers/m14.cpp b/src/mame/drivers/m14.cpp index fdeba9f3886..08f5fd80479 100644 --- a/src/mame/drivers/m14.cpp +++ b/src/mame/drivers/m14.cpp @@ -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) diff --git a/src/mame/drivers/m62.cpp b/src/mame/drivers/m62.cpp index 7fc49e33f60..d820ccb71c7 100644 --- a/src/mame/drivers/m62.cpp +++ b/src/mame/drivers/m62.cpp @@ -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 ) diff --git a/src/mame/drivers/m63.cpp b/src/mame/drivers/m63.cpp index 368032aec77..4925381a0ba 100644 --- a/src/mame/drivers/m63.cpp +++ b/src/mame/drivers/m63.cpp @@ -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 diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp index fcfb851fe5d..20cf6f11fe3 100644 --- a/src/mame/drivers/m90.cpp +++ b/src/mame/drivers/m90.cpp @@ -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 /*****************************************************************************/ diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp index 5ea3e987ed3..4b0f488fbef 100644 --- a/src/mame/drivers/macrossp.cpp +++ b/src/mame/drivers/macrossp.cpp @@ -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 **********************************************************/ diff --git a/src/mame/drivers/mainsnk.cpp b/src/mame/drivers/mainsnk.cpp index 0436a7417af..ea53c4fed8e 100644 --- a/src/mame/drivers/mainsnk.cpp +++ b/src/mame/drivers/mainsnk.cpp @@ -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 diff --git a/src/mame/drivers/mastboy.cpp b/src/mame/drivers/mastboy.cpp index 4cbdf335a35..943cdd1ef0a 100644 --- a/src/mame/drivers/mastboy.cpp +++ b/src/mame/drivers/mastboy.cpp @@ -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 */ diff --git a/src/mame/drivers/mechatt.cpp b/src/mame/drivers/mechatt.cpp index 0b28e9b1425..98e85ddf57f 100644 --- a/src/mame/drivers/mechatt.cpp +++ b/src/mame/drivers/mechatt.cpp @@ -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 diff --git a/src/mame/drivers/mirax.cpp b/src/mame/drivers/mirax.cpp index 564f89a4200..be5a4a0ebe1 100644 --- a/src/mame/drivers/mirax.cpp +++ b/src/mame/drivers/mirax.cpp @@ -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 diff --git a/src/mame/drivers/mystwarr.cpp b/src/mame/drivers/mystwarr.cpp index d46fc18cc71..a28f8d405dd 100644 --- a/src/mame/drivers/mystwarr.cpp +++ b/src/mame/drivers/mystwarr.cpp @@ -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 ) diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp index 0a6d641ad48..6a57a466cf7 100644 --- a/src/mame/drivers/namcos86.cpp +++ b/src/mame/drivers/namcos86.cpp @@ -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 /*******************************************************************/ diff --git a/src/mame/drivers/news.cpp b/src/mame/drivers/news.cpp index 28029890885..51984c20aa1 100644 --- a/src/mame/drivers/news.cpp +++ b/src/mame/drivers/news.cpp @@ -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 diff --git a/src/mame/drivers/nova2001.cpp b/src/mame/drivers/nova2001.cpp index 03a0ba91444..950e7a550c3 100644 --- a/src/mame/drivers/nova2001.cpp +++ b/src/mame/drivers/nova2001.cpp @@ -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 diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp index 5b7c2fe9e1e..d22fa2923e1 100644 --- a/src/mame/drivers/pandoras.cpp +++ b/src/mame/drivers/pandoras.cpp @@ -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 /*************************************************************************** diff --git a/src/mame/drivers/paradise.cpp b/src/mame/drivers/paradise.cpp index 39034aa2716..fea7ac36859 100644 --- a/src/mame/drivers/paradise.cpp +++ b/src/mame/drivers/paradise.cpp @@ -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 /*************************************************************************** diff --git a/src/mame/drivers/powerbal.cpp b/src/mame/drivers/powerbal.cpp index ee0f305f29f..099f5e83241 100644 --- a/src/mame/drivers/powerbal.cpp +++ b/src/mame/drivers/powerbal.cpp @@ -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 diff --git a/src/mame/drivers/rabbit.cpp b/src/mame/drivers/rabbit.cpp index 692e69a5b3f..9f2d98140e6 100644 --- a/src/mame/drivers/rabbit.cpp +++ b/src/mame/drivers/rabbit.cpp @@ -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 diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp index 3a30801dbcd..0052bd05615 100644 --- a/src/mame/drivers/rbmk.cpp +++ b/src/mame/drivers/rbmk.cpp @@ -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() diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp index 1b035336e85..69b961966fa 100644 --- a/src/mame/drivers/realbrk.cpp +++ b/src/mame/drivers/realbrk.cpp @@ -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 ) diff --git a/src/mame/drivers/ron.cpp b/src/mame/drivers/ron.cpp index fb78ba8d4d7..8c0e39341b2 100644 --- a/src/mame/drivers/ron.cpp +++ b/src/mame/drivers/ron.cpp @@ -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 diff --git a/src/mame/drivers/rungun.cpp b/src/mame/drivers/rungun.cpp index 22c2aed3a2f..286b5a1e277 100644 --- a/src/mame/drivers/rungun.cpp +++ b/src/mame/drivers/rungun.cpp @@ -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 diff --git a/src/mame/drivers/seabattl.cpp b/src/mame/drivers/seabattl.cpp index 2cd8bdf4e4e..6b8456e9118 100644 --- a/src/mame/drivers/seabattl.cpp +++ b/src/mame/drivers/seabattl.cpp @@ -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) diff --git a/src/mame/drivers/seicupbl.cpp b/src/mame/drivers/seicupbl.cpp index ac0bef3dc73..e4a7b23eed1 100644 --- a/src/mame/drivers/seicupbl.cpp +++ b/src/mame/drivers/seicupbl.cpp @@ -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 diff --git a/src/mame/drivers/shangha3.cpp b/src/mame/drivers/shangha3.cpp index 607fb4d0842..9fdb4d2f1e6 100644 --- a/src/mame/drivers/shangha3.cpp +++ b/src/mame/drivers/shangha3.cpp @@ -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 diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp index 560c4fa313b..a547b62677f 100644 --- a/src/mame/drivers/sigmab98.cpp +++ b/src/mame/drivers/sigmab98.cpp @@ -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 diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp index 8dbc37cf45e..b06b3f4ad70 100644 --- a/src/mame/drivers/snk.cpp +++ b/src/mame/drivers/snk.cpp @@ -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 */ diff --git a/src/mame/drivers/sonson.cpp b/src/mame/drivers/sonson.cpp index b12d9e7624e..6b7749c0989 100644 --- a/src/mame/drivers/sonson.cpp +++ b/src/mame/drivers/sonson.cpp @@ -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 diff --git a/src/mame/drivers/spbactn.cpp b/src/mame/drivers/spbactn.cpp index 3d56c375ac3..009a6f8c23e 100644 --- a/src/mame/drivers/spbactn.cpp +++ b/src/mame/drivers/spbactn.cpp @@ -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 diff --git a/src/mame/drivers/speedatk.cpp b/src/mame/drivers/speedatk.cpp index 067c0871e2f..67cfc0238e8 100644 --- a/src/mame/drivers/speedatk.cpp +++ b/src/mame/drivers/speedatk.cpp @@ -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) diff --git a/src/mame/drivers/sshot.cpp b/src/mame/drivers/sshot.cpp index 70d983037b3..7c45e14c5f2 100644 --- a/src/mame/drivers/sshot.cpp +++ b/src/mame/drivers/sshot.cpp @@ -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) diff --git a/src/mame/drivers/statriv2.cpp b/src/mame/drivers/statriv2.cpp index 18c46c16975..fa81b8e14a0 100644 --- a/src/mame/drivers/statriv2.cpp +++ b/src/mame/drivers/statriv2.cpp @@ -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 diff --git a/src/mame/drivers/stuntair.cpp b/src/mame/drivers/stuntair.cpp index d0efd3963fc..8dff861403b 100644 --- a/src/mame/drivers/stuntair.cpp +++ b/src/mame/drivers/stuntair.cpp @@ -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 diff --git a/src/mame/drivers/superqix.cpp b/src/mame/drivers/superqix.cpp index ccf039b7010..68730701d45 100644 --- a/src/mame/drivers/superqix.cpp +++ b/src/mame/drivers/superqix.cpp @@ -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 diff --git a/src/mame/drivers/suprgolf.cpp b/src/mame/drivers/suprgolf.cpp index f64a1588f57..caf26aa974f 100644 --- a/src/mame/drivers/suprgolf.cpp +++ b/src/mame/drivers/suprgolf.cpp @@ -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() diff --git a/src/mame/drivers/suprslam.cpp b/src/mame/drivers/suprslam.cpp index 6e94674721c..4fc816a7a96 100644 --- a/src/mame/drivers/suprslam.cpp +++ b/src/mame/drivers/suprslam.cpp @@ -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 diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp index 898aeba7f63..0c2f7a5c5db 100644 --- a/src/mame/drivers/system16.cpp +++ b/src/mame/drivers/system16.cpp @@ -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 diff --git a/src/mame/drivers/taotaido.cpp b/src/mame/drivers/taotaido.cpp index 39ee90c1d9f..ee87c24fd00 100644 --- a/src/mame/drivers/taotaido.cpp +++ b/src/mame/drivers/taotaido.cpp @@ -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 diff --git a/src/mame/drivers/tbowl.cpp b/src/mame/drivers/tbowl.cpp index f0002421a1b..24933082829 100644 --- a/src/mame/drivers/tbowl.cpp +++ b/src/mame/drivers/tbowl.cpp @@ -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 diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp index 842ac824016..d3ccbbe46a7 100644 --- a/src/mame/drivers/terracre.cpp +++ b/src/mame/drivers/terracre.cpp @@ -418,23 +418,6 @@ static INPUT_PORTS_START( horekidb2 ) INPUT_PORTS_END -static const gfx_layout tile_layout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { - 4, 0, 12, 8, 20, 16, 28, 24, - 32+4, 32+0, 32+12, 32+8, 32+20, 32+16, 32+28, 32+24 - }, - { - 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 - }, - 64*16 -}; - static const gfx_layout sprite_layout = { 16,16, @@ -455,8 +438,8 @@ static const gfx_layout sprite_layout = }; static GFXDECODE_START( gfx_terracre ) - GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 1 ) - GFXDECODE_ENTRY( "gfx2", 0, tile_layout, 1*16, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 1 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_packed_lsb, 1*16, 16 ) GFXDECODE_ENTRY( "gfx3", 0, sprite_layout, 1*16+16*16, 256 ) GFXDECODE_END diff --git a/src/mame/drivers/thunderj.cpp b/src/mame/drivers/thunderj.cpp index 6ad4469637b..dbe6564df84 100644 --- a/src/mame/drivers/thunderj.cpp +++ b/src/mame/drivers/thunderj.cpp @@ -215,22 +215,10 @@ 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_thunderj ) - GFXDECODE_ENTRY( "gfx1", 0, pfmolayout, 512, 96 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx2", 0, pfmolayout, 256, 112 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx3", 0, anlayout, 0, 512 ) /* characters 8x8 */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_planar, 512, 96 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_planar, 256, 112 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx3", 0, anlayout, 0, 512 ) /* characters 8x8 */ GFXDECODE_END diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp index ab1c5df7b81..b8c07eb9167 100644 --- a/src/mame/drivers/tmnt.cpp +++ b/src/mame/drivers/tmnt.cpp @@ -2358,20 +2358,8 @@ void tmnt_state::blswhstl(machine_config &config) -static const gfx_layout zoomlayout = -{ - 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 }, - 16*64 -}; static GFXDECODE_START( gfx_glfgreat ) - GFXDECODE_ENTRY( "zoom", 0, zoomlayout, 0x400, 16 ) + GFXDECODE_ENTRY( "zoom", 0, gfx_16x16x4_packed_lsb, 0x400, 16 ) GFXDECODE_END void glfgreat_state::glfgreat(machine_config &config) diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp index 20c6f6057c8..dea7960a82b 100644 --- a/src/mame/drivers/toaplan2.cpp +++ b/src/mame/drivers/toaplan2.cpp @@ -3245,17 +3245,6 @@ INPUT_PORTS_END // Text layer graphics -- ROM based in some games, RAM based in others // See video/gp9001.cpp for the main graphics layouts -static const gfx_layout rom_textlayout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 8*8*4 -}; - #define XOR(a) WORD_XOR_LE(a) #define LOC(x) (x+XOR(0)) @@ -3286,7 +3275,7 @@ static GFXDECODE_START( gfx_truxton2 ) GFXDECODE_END static GFXDECODE_START( gfx_textrom ) - GFXDECODE_ENTRY( "text", 0, rom_textlayout, 64*16, 64 ) + GFXDECODE_ENTRY( "text", 0, gfx_8x8x4_packed_msb, 64*16, 64 ) GFXDECODE_END static GFXDECODE_START( gfx_batrider ) diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp index fd86ce3024f..cd356908304 100644 --- a/src/mame/drivers/trackfld.cpp +++ b/src/mame/drivers/trackfld.cpp @@ -831,17 +831,6 @@ static INPUT_PORTS_START( yieartf ) 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, @@ -856,8 +845,8 @@ static const gfx_layout spritelayout = }; static GFXDECODE_START( gfx_trackfld ) - 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 diff --git a/src/mame/drivers/travrusa.cpp b/src/mame/drivers/travrusa.cpp index 2b4dbe8bc1b..a8578f94f00 100644 --- a/src/mame/drivers/travrusa.cpp +++ b/src/mame/drivers/travrusa.cpp @@ -251,17 +251,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 spritelayout = { 16,16, @@ -289,12 +278,12 @@ static const gfx_layout shtrider_spritelayout = }; static GFXDECODE_START( gfx_travrusa ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 16*8, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 16*8, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_shtrider ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, shtrider_spritelayout, 16*8, 16 ) GFXDECODE_END diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp index c05656e0a93..a65503afd82 100644 --- a/src/mame/drivers/tsamurai.cpp +++ b/src/mame/drivers/tsamurai.cpp @@ -675,17 +675,6 @@ 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 const gfx_layout sprite_layout = { 32,32, @@ -707,21 +696,10 @@ static const gfx_layout sprite_layout = 4*256 }; -static const gfx_layout tile_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_tsamurai ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0, 32 ) - GFXDECODE_ENTRY( "gfx2", 0, char_layout, 0, 32 ) - GFXDECODE_ENTRY( "gfx3", 0, sprite_layout, 0, 32 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 32 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 0, 32 ) + GFXDECODE_ENTRY( "gfx3", 0, sprite_layout, 0, 32 ) GFXDECODE_END diff --git a/src/mame/drivers/tugboat.cpp b/src/mame/drivers/tugboat.cpp index 14c68c1006b..a15180f53ea 100644 --- a/src/mame/drivers/tugboat.cpp +++ b/src/mame/drivers/tugboat.cpp @@ -329,33 +329,11 @@ static INPUT_PORTS_START( noahsark ) 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, - 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_tugboat ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x80, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0x80, 16 ) - GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0x00, 16 ) - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x00, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0x80, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x3_planar, 0x80, 16 ) + GFXDECODE_ENTRY( "gfx3", 0, gfx_8x8x1, 0x00, 16 ) + GFXDECODE_ENTRY( "gfx4", 0, gfx_8x8x3_planar, 0x00, 16 ) GFXDECODE_END diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp index 16cf79efcf2..e3f8f3062a9 100644 --- a/src/mame/drivers/twin16.cpp +++ b/src/mame/drivers/twin16.cpp @@ -608,29 +608,16 @@ static INPUT_PORTS_START( cuebrickj ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END -/* Graphics Layouts */ - -static const gfx_layout tile_layout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { 0,1,2,3 }, - { STEP8(0, 4) }, - { STEP8(0, 4*8) }, - 4*8*8 -}; - /* Graphics Decode Info */ static GFXDECODE_START( gfx_twin16 ) - GFXDECODE_ENTRY( "fixed", 0, tile_layout, 0, 16 ) - GFXDECODE_RAM( "zipram", 0, tile_layout, 512, 16 ) + GFXDECODE_ENTRY( "fixed", 0, gfx_8x8x4_packed_msb, 0, 16 ) + GFXDECODE_RAM( "zipram", 0, gfx_8x8x4_packed_msb, 512, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_fround ) - GFXDECODE_ENTRY( "fixed", 0, tile_layout, 0, 16 ) - GFXDECODE_ENTRY( "tiles", 0, tile_layout, 512, 16 ) + GFXDECODE_ENTRY( "fixed", 0, gfx_8x8x4_packed_msb, 0, 16 ) + GFXDECODE_ENTRY( "tiles", 0, gfx_8x8x4_packed_msb, 512, 16 ) GFXDECODE_END /* Sound Interfaces */ diff --git a/src/mame/drivers/unkpoker.cpp b/src/mame/drivers/unkpoker.cpp index 4f60318aaa0..0d248b3c1ee 100644 --- a/src/mame/drivers/unkpoker.cpp +++ b/src/mame/drivers/unkpoker.cpp @@ -138,20 +138,8 @@ static INPUT_PORTS_START( unkpoker ) 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 GFXDECODE_START( gfx_unkpoker ) - GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 1 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x1, 0, 1 ) GFXDECODE_END diff --git a/src/mame/drivers/warpwarp.cpp b/src/mame/drivers/warpwarp.cpp index 0688f5b4505..839f90769a8 100644 --- a/src/mame/drivers/warpwarp.cpp +++ b/src/mame/drivers/warpwarp.cpp @@ -685,27 +685,16 @@ 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 GFXDECODE_START( gfx_1k ) - GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 4 ) + GFXDECODE_ENTRY( "gfx1", 0x0000, gfx_8x8x1, 0, 4 ) GFXDECODE_END static GFXDECODE_START( gfx_2k ) - GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 2 ) + GFXDECODE_ENTRY( "gfx1", 0x0000, gfx_8x8x1, 0, 2 ) GFXDECODE_END static GFXDECODE_START( gfx_color ) - GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 256 ) + GFXDECODE_ENTRY( "gfx1", 0x0000, gfx_8x8x1, 0, 256 ) GFXDECODE_END diff --git a/src/mame/drivers/xavix.cpp b/src/mame/drivers/xavix.cpp index 4c1692234e0..9a30af26cf5 100644 --- a/src/mame/drivers/xavix.cpp +++ b/src/mame/drivers/xavix.cpp @@ -1234,17 +1234,6 @@ INPUT_PORTS_END /* correct, 4bpp gfxs */ -static const gfx_layout charlayout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { 1*4,0*4,3*4,2*4,5*4,4*4,7*4,6*4 }, - { STEP8(0,4*8) }, - 8*8*4 -}; - static const gfx_layout char16layout = { 16,16, @@ -1279,7 +1268,7 @@ static const gfx_layout char16layout8bpp = }; static GFXDECODE_START( gfx_xavix ) - GFXDECODE_ENTRY( "bios", 0, charlayout, 0, 16 ) + GFXDECODE_ENTRY( "bios", 0, gfx_8x8x4_packed_lsb, 0, 16 ) GFXDECODE_ENTRY( "bios", 0, char16layout, 0, 16 ) GFXDECODE_ENTRY( "bios", 0, charlayout8bpp, 0, 1 ) GFXDECODE_ENTRY( "bios", 0, char16layout8bpp, 0, 1 ) diff --git a/src/mame/includes/exzisus.h b/src/mame/includes/exzisus.h deleted file mode 100644 index ee3275c2fea..00000000000 --- a/src/mame/includes/exzisus.h +++ /dev/null @@ -1,54 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Yochizo -#ifndef MAME_INCLUDES_EXZIUS_H -#define MAME_INCLUDES_EXZIUS_H - -#pragma once - -#include "emupal.h" - -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_objectram1(*this, "objectram1"), - m_videoram1(*this, "videoram1"), - m_sharedram_ac(*this, "sharedram_ac"), - m_sharedram_ab(*this, "sharedram_ab"), - m_objectram0(*this, "objectram0"), - m_videoram0(*this, "videoram0") - { } - - void exzisus(machine_config &config); - -private: - required_device m_cpuc; - required_device m_gfxdecode; - required_device m_palette; - - required_shared_ptr m_objectram1; - required_shared_ptr m_videoram1; - required_shared_ptr m_sharedram_ac; - required_shared_ptr m_sharedram_ab; - required_shared_ptr m_objectram0; - required_shared_ptr m_videoram0; - - void cpua_bankswitch_w(uint8_t data); - void cpub_bankswitch_w(uint8_t data); - void coincounter_w(uint8_t data); - void cpub_reset_w(uint8_t data); - - virtual void machine_start() override; - - 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); -}; - -#endif // MAME_INCLUDES_EXZIUS_H diff --git a/src/mame/video/exzisus.cpp b/src/mame/video/exzisus.cpp deleted file mode 100644 index e4b4badf63e..00000000000 --- a/src/mame/video/exzisus.cpp +++ /dev/null @@ -1,169 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Yochizo -/*************************************************************************** - -Functions to emulate the video hardware of the machine. - - Video hardware of this hardware is almost similar with "mexico86". So, - most routines are derived from mexico86 driver. - -***************************************************************************/ - - -#include "emu.h" -#include "includes/exzisus.h" - - -/*************************************************************************** - Screen refresh -***************************************************************************/ - -uint32_t exzisus_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - int offs; - int sx, sy, xc, yc; - int gfx_num, gfx_attr, gfx_offs; - - /* Is this correct ? */ - bitmap.fill(1023, cliprect); - - /* ---------- 1st TC0010VCU ---------- */ - sx = 0; - for (offs = 0 ; offs < m_objectram0.bytes() ; offs += 4) - { - int height; - - /* Skip empty sprites. */ - if ( !(*(uint32_t *)(&m_objectram0[offs])) ) - { - continue; - } - - gfx_num = m_objectram0[offs + 1]; - gfx_attr = m_objectram0[offs + 3]; - - if ((gfx_num & 0x80) == 0) /* 16x16 sprites */ - { - gfx_offs = ((gfx_num & 0x7f) << 3); - height = 2; - - sx = m_objectram0[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_objectram0[offs + 2]; - sx |= (gfx_attr & 0x40) << 2; - } - } - - sy = 256 - (height << 3) - (m_objectram0[offs]); - - for (xc = 0 ; xc < 2 ; xc++) - { - int goffs = gfx_offs; - for (yc = 0 ; yc < height ; yc++) - { - int code, color, x, y; - - code = (m_videoram0[goffs + 1] << 8) | m_videoram0[goffs]; - color = (m_videoram0[goffs + 1] >> 6) | (gfx_attr & 0x0f); - x = (sx + (xc << 3)) & 0xff; - y = (sy + (yc << 3)) & 0xff; - - if (flip_screen()) - { - x = 248 - x; - y = 248 - y; - } - - m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, - code & 0x3fff, - color, - flip_screen(), flip_screen(), - x, y, 15); - goffs += 2; - } - gfx_offs += height << 1; - } - } - - /* ---------- 2nd TC0010VCU ---------- */ - sx = 0; - for (offs = 0 ; offs < m_objectram1.bytes() ; offs += 4) - { - int height; - - /* Skip empty sprites. */ - if ( !(*(uint32_t *)(&m_objectram1[offs])) ) - { - continue; - } - - gfx_num = m_objectram1[offs + 1]; - gfx_attr = m_objectram1[offs + 3]; - - if ((gfx_num & 0x80) == 0) /* 16x16 sprites */ - { - gfx_offs = ((gfx_num & 0x7f) << 3); - height = 2; - - sx = m_objectram1[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_objectram1[offs + 2]; - sx |= (gfx_attr & 0x40) << 2; - } - } - sy = 256 - (height << 3) - (m_objectram1[offs]); - - for (xc = 0 ; xc < 2 ; xc++) - { - int goffs = gfx_offs; - for (yc = 0 ; yc < height ; yc++) - { - int code, color, x, y; - - code = (m_videoram1[goffs + 1] << 8) | m_videoram1[goffs]; - color = (m_videoram1[goffs + 1] >> 6) | (gfx_attr & 0x0f); - x = (sx + (xc << 3)) & 0xff; - y = (sy + (yc << 3)) & 0xff; - - if (flip_screen()) - { - x = 248 - x; - y = 248 - y; - } - - m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, - code & 0x3fff, - color, - flip_screen(), flip_screen(), - x, y, 15); - goffs += 2; - } - gfx_offs += height << 1; - } - } - return 0; -} -- cgit v1.2.3