diff options
Diffstat (limited to 'src/mame/drivers/ms32.cpp')
-rw-r--r-- | src/mame/drivers/ms32.cpp | 42 |
1 files changed, 36 insertions, 6 deletions
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp index 83b746c473a..8b63feecc73 100644 --- a/src/mame/drivers/ms32.cpp +++ b/src/mame/drivers/ms32.cpp @@ -941,7 +941,7 @@ static INPUT_PORTS_START( ms32_mahjong ) PORT_BIT( 0x00040000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_UNUSED ) /* Start 1 is already mapped in mahjong inputs */ - PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) /* ms32.c mahjongs don't have P2 inputs -> no Start 2*/ + PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) /* ms32.cpp mahjongs don't have P2 inputs -> no Start 2*/ PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1559,7 +1559,41 @@ INPUT_PORTS_END /********** GFX DECODE **********/ /* sprites are contained in 256x256 "tiles" */ -static GFXLAYOUT_RAW( spritelayout, 256, 256, 256*8, 256*256*8 ) +static const uint32_t sprite_xoffset[256] = +{ + STEP8(8*8*8*0, 8), STEP8(8*8*8*1, 8), STEP8(8*8*8*2, 8), STEP8(8*8*8*3, 8), + STEP8(8*8*8*4, 8), STEP8(8*8*8*5, 8), STEP8(8*8*8*6, 8), STEP8(8*8*8*7, 8), + STEP8(8*8*8*8, 8), STEP8(8*8*8*9, 8), STEP8(8*8*8*10, 8), STEP8(8*8*8*11, 8), + STEP8(8*8*8*12, 8), STEP8(8*8*8*13, 8), STEP8(8*8*8*14, 8), STEP8(8*8*8*15, 8), + STEP8(8*8*8*16, 8), STEP8(8*8*8*17, 8), STEP8(8*8*8*18, 8), STEP8(8*8*8*19, 8), + STEP8(8*8*8*20, 8), STEP8(8*8*8*21, 8), STEP8(8*8*8*22, 8), STEP8(8*8*8*23, 8), + STEP8(8*8*8*24, 8), STEP8(8*8*8*25, 8), STEP8(8*8*8*26, 8), STEP8(8*8*8*27, 8), + STEP8(8*8*8*28, 8), STEP8(8*8*8*29, 8), STEP8(8*8*8*30, 8), STEP8(8*8*8*31, 8) +}; +static const uint32_t sprite_yoffset[256] = +{ + STEP8(8*8*8*0, 8*8), STEP8(8*8*8*32, 8*8), STEP8(8*8*8*64, 8*8), STEP8(8*8*8*96, 8*8), + STEP8(8*8*8*128,8*8), STEP8(8*8*8*160,8*8), STEP8(8*8*8*192,8*8), STEP8(8*8*8*224,8*8), + STEP8(8*8*8*256,8*8), STEP8(8*8*8*288,8*8), STEP8(8*8*8*320,8*8), STEP8(8*8*8*352,8*8), + STEP8(8*8*8*384,8*8), STEP8(8*8*8*416,8*8), STEP8(8*8*8*448,8*8), STEP8(8*8*8*480,8*8), + STEP8(8*8*8*512,8*8), STEP8(8*8*8*544,8*8), STEP8(8*8*8*576,8*8), STEP8(8*8*8*608,8*8), + STEP8(8*8*8*640,8*8), STEP8(8*8*8*672,8*8), STEP8(8*8*8*704,8*8), STEP8(8*8*8*736,8*8), + STEP8(8*8*8*768,8*8), STEP8(8*8*8*800,8*8), STEP8(8*8*8*832,8*8), STEP8(8*8*8*864,8*8), + STEP8(8*8*8*896,8*8), STEP8(8*8*8*928,8*8), STEP8(8*8*8*960,8*8), STEP8(8*8*8*992,8*8) +}; +static const gfx_layout spritelayout = +{ + 256, 256, + RGN_FRAC(1,1), + 8, + { STEP8(0,1) }, + EXTENDED_XOFFS, + EXTENDED_YOFFS, + 256*256*8, + sprite_xoffset, + sprite_yoffset +}; + static GFXLAYOUT_RAW( bglayout, 16, 16, 16*8, 16*16*8 ) static GFXLAYOUT_RAW( txlayout, 8, 8, 8*8, 8*8*8 ) @@ -2554,7 +2588,6 @@ void ms32_state::init_ms32_common() void ms32_state::init_ss91022_10() { init_ms32_common(); - ms32_rearrange_sprites(machine(), "gfx1"); decrypt_ms32_tx(machine(), 0x00000,0x35, "gfx4"); decrypt_ms32_bg(machine(), 0x00000,0xa3, "gfx3"); } @@ -2563,7 +2596,6 @@ void ms32_state::init_ss91022_10() void ms32_state::init_ss92046_01() { init_ms32_common(); - ms32_rearrange_sprites(machine(), "gfx1"); decrypt_ms32_tx(machine(), 0x00020,0x7e, "gfx4"); decrypt_ms32_bg(machine(), 0x00001,0x9b, "gfx3"); } @@ -2572,7 +2604,6 @@ void ms32_state::init_ss92046_01() void ms32_state::init_ss92047_01() { init_ms32_common(); - ms32_rearrange_sprites(machine(), "gfx1"); decrypt_ms32_tx(machine(), 0x24000,0x18, "gfx4"); decrypt_ms32_bg(machine(), 0x24000,0x55, "gfx3"); } @@ -2581,7 +2612,6 @@ void ms32_state::init_ss92047_01() void ms32_state::init_ss92048_01() { init_ms32_common(); - ms32_rearrange_sprites(machine(), "gfx1"); decrypt_ms32_tx(machine(), 0x20400,0xd6, "gfx4"); decrypt_ms32_bg(machine(), 0x20400,0xd4, "gfx3"); } |