diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c index 4b3191f442a..a7e076070d1 100644 --- a/src/mame/drivers/cyclemb.c +++ b/src/mame/drivers/cyclemb.c @@ -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 )