mirror of
https://github.com/holub/mame
synced 2025-05-31 10:01:51 +03:00
Last sprite fixes
This commit is contained in:
parent
9bc86d07dd
commit
2580f65048
@ -238,25 +238,28 @@ static void skydest_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, co
|
||||
|
||||
for (y=0;y<32;y++)
|
||||
{
|
||||
for (x=0;x<64;x++)
|
||||
for (x=2;x<62;x++)
|
||||
{
|
||||
/* TODO: first two bytes appears to be scrolling for that line */
|
||||
int attr = state->m_cram[x+y*64];
|
||||
int tile = (state->m_vram[x+y*64]) | ((attr & 3)<<8);
|
||||
int color = ((attr & 0x7c) >> 2) ^ 0x1f;
|
||||
int scrollx = 0;
|
||||
int scrollx = 0;//state->m_vram[y*64+1];
|
||||
int scrolly = 0;//state->m_vram[y*64+1];
|
||||
|
||||
if(flip_screen)
|
||||
{
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,1,1,512-(x*8)-scrollx,256-(y*8));
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,1,1,512-(x*8)-scrollx,256-(y*8)-scrolly);
|
||||
/* wrap-around */
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,1,1,512-(x*8)-scrollx+512,256-(y*8));
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,1,1,512-(x*8)-scrollx+512,256-(y*8)-scrolly);
|
||||
}
|
||||
else
|
||||
{
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,0,0,(x*8)-scrollx,(y*8));
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,0,0,(x*8)-scrollx,(y*8)-scrolly);
|
||||
/* wrap-around */
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,0,0,(x*8)-scrollx+512,(y*8));
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,0,0,(x*8)-scrollx+512,(y*8)-scrolly);
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,0,0,(x*8)-scrollx,(y*8)-scrolly+256);
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,color,0,0,(x*8)-scrollx+512,(y*8)-scrolly+256);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -281,10 +284,13 @@ static void skydest_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
|
||||
UINT16 spr_offs,i;
|
||||
INT16 x,y;
|
||||
|
||||
// popmessage("%d %d",state->m_obj2_ram[0x0d], 0xf1 - state->m_obj2_ram[0x0c+1] + 68);
|
||||
|
||||
for(i=0;i<0x40;i+=2)
|
||||
{
|
||||
y = state->m_obj2_ram[i];
|
||||
x = 0x100 - state->m_obj2_ram[i+1];
|
||||
y = state->m_obj2_ram[i] - 1;
|
||||
x = 0x100 - state->m_obj2_ram[i+1] + 56;
|
||||
if(x >= 256) { x-= 512; }
|
||||
spr_offs = (state->m_obj1_ram[i+0]);
|
||||
spr_offs += ((state->m_obj3_ram[i+0] & 3) << 8);
|
||||
col = (state->m_obj1_ram[i+1] & 0x3f);
|
||||
@ -296,12 +302,12 @@ static void skydest_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
|
||||
x-=16;
|
||||
}
|
||||
|
||||
//if(state->m_obj3_ram[i+1] & 1)
|
||||
// x+=256;
|
||||
//if(state->m_obj3_ram[i+1] & 2)
|
||||
// x-=256;
|
||||
fx = 0;//(state->m_obj3_ram[i+0] & 4) >> 2;
|
||||
fy = 0;//(state->m_obj3_ram[i+0] & 8) >> 3;
|
||||
if(state->m_obj3_ram[i+1] & 1)
|
||||
x+=256;
|
||||
if(state->m_obj3_ram[i+1] & 2)
|
||||
x-=256;
|
||||
fx = (state->m_obj3_ram[i+0] & 4) >> 2;
|
||||
fy = (state->m_obj3_ram[i+0] & 8) >> 3;
|
||||
|
||||
if(flip_screen)
|
||||
{
|
||||
@ -776,7 +782,7 @@ static MACHINE_CONFIG_DERIVED( skydest, cyclemb )
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_SIZE(64*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
|
||||
MCFG_SCREEN_VISIBLE_AREA(2*8, 34*8-1, 2*8, 30*8-1)
|
||||
MCFG_SCREEN_UPDATE_STATIC(skydest)
|
||||
|
||||
// MCFG_PALETTE_INIT(skydest)
|
||||
@ -839,14 +845,14 @@ ROM_START( skydest )
|
||||
ROM_LOAD( "pd0-20.1h", 0x000000, 0x004000, CRC(8b2137f2) SHA1(1f83e081cab116c69a8349fd33ba1916b1c91826) )
|
||||
|
||||
ROM_REGION( 0x10000, "sprite_data_1", ROMREGION_ERASEFF )
|
||||
ROM_LOAD( "pd0-7.1k", 0x000000, 0x002000, CRC(83137d42) SHA1(7e35f28577d6bfeee184a0ac3095b478999d6477) )
|
||||
ROM_LOAD( "pd1-8.1l", 0x002000, 0x002000, CRC(b810858b) SHA1(385e625fc989a1dfa18559a62c99363b62c66a67) )
|
||||
ROM_LOAD( "pd1-10.1n", 0x006000, 0x002000, CRC(5840b5b5) SHA1(1b5b188023c4d3198402c946b8c5a51d7f512a07) )
|
||||
ROM_LOAD( "pd0-12.1s", 0x00e000, 0x002000, CRC(06234942) SHA1(1cc40a8c8e24ab6db1dc7dc88979be23b7a9cab6) )
|
||||
ROM_LOAD( "pd0-14.1u", 0x00a000, 0x002000, CRC(7ef05b01) SHA1(f36ad1c0dac201729def78dc18feacda8fcf1a3f) )
|
||||
ROM_LOAD( "pd0-7.1k", 0x000000, 0x002000, CRC(83137d42) SHA1(7e35f28577d6bfeee184a0ac3095b478999d6477) ) //ok
|
||||
ROM_LOAD( "pd1-8.1l", 0x002000, 0x002000, CRC(b810858b) SHA1(385e625fc989a1dfa18559a62c99363b62c66a67) ) //ok
|
||||
ROM_LOAD( "pd0-9.1m", 0x004000, 0x002000, CRC(6f558bee) SHA1(0539feaa848d6cfb9f90a46a851f73fb74e82676) ) //ok
|
||||
ROM_LOAD( "pd1-10.1n", 0x006000, 0x002000, CRC(5840b5b5) SHA1(1b5b188023c4d3198402c946b8c5a51d7f512a07) )
|
||||
ROM_LOAD( "pd0-11.1r", 0x008000, 0x002000, CRC(29e5fce4) SHA1(59748e3a192a45dce7920e8d5a7a11d5145915b0) ) //ok
|
||||
ROM_LOAD( "pd0-12.1s", 0x00a000, 0x002000, CRC(06234942) SHA1(1cc40a8c8e24ab6db1dc7dc88979be23b7a9cab6) )
|
||||
ROM_LOAD( "pd1-13.1t", 0x00c000, 0x002000, CRC(3cca5b95) SHA1(74baec7c128254c394dd3162df7abacf5ed5a99b) ) //ok
|
||||
ROM_LOAD( "pd0-14.1u", 0x00e000, 0x002000, CRC(7ef05b01) SHA1(f36ad1c0dac201729def78dc18feacda8fcf1a3f) )
|
||||
|
||||
ROM_REGION( 0x10000, "sprite_data_2", ROMREGION_ERASEFF )
|
||||
ROM_COPY( "sprite_data_1", 0x000000, 0x000000, 0x010000 )
|
||||
|
Loading…
Reference in New Issue
Block a user