mirror of
https://github.com/holub/mame
synced 2025-06-22 20:38:50 +03:00
added layer enable to denjinmk
This commit is contained in:
parent
d65d5e502a
commit
f526625d77
@ -49,7 +49,7 @@
|
||||
#include "driver.h"
|
||||
#include "audio/seibu.h"
|
||||
|
||||
#define seibu_cop_log printf
|
||||
#define seibu_cop_log logerror
|
||||
|
||||
UINT16 *cop_mcu_ram;
|
||||
|
||||
@ -1645,8 +1645,11 @@ WRITE16_HANDLER( denjinmk_mcu_w )
|
||||
generic_cop_w(machine, offset, data, mem_mask);
|
||||
break;
|
||||
|
||||
//case (0x05a/2): { /* brightness?? */ break; }
|
||||
case (0x070/2): { denjinmk_setgfxbank(cop_mcu_ram[offset]); break; }
|
||||
|
||||
case (0x21c/2): { legionna_layer_disable = cop_mcu_ram[offset]; break; }
|
||||
|
||||
case (0x220/2): { legionna_scrollram16[0] = cop_mcu_ram[offset]; break; }
|
||||
case (0x222/2): { legionna_scrollram16[1] = cop_mcu_ram[offset]; break; }
|
||||
case (0x224/2): { legionna_scrollram16[2] = cop_mcu_ram[offset]; break; }
|
||||
@ -1654,6 +1657,9 @@ WRITE16_HANDLER( denjinmk_mcu_w )
|
||||
case (0x228/2): { legionna_scrollram16[4] = cop_mcu_ram[offset]; break; }
|
||||
case (0x22a/2): { legionna_scrollram16[5] = cop_mcu_ram[offset]; break; }
|
||||
|
||||
|
||||
//case (0x280/2): { /* trigger.. something */ break; }
|
||||
|
||||
case (0x300/2): { seibu_main_word_w(machine,0,cop_mcu_ram[offset],0x00ff); break; }
|
||||
case (0x304/2): { seibu_main_word_w(machine,1,cop_mcu_ram[offset],0x00ff); break; }
|
||||
case (0x310/2): { seibu_main_word_w(machine,4,cop_mcu_ram[offset],0x00ff); break; }
|
||||
|
@ -255,13 +255,22 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan
|
||||
y = spriteram16[offs+3];
|
||||
x = spriteram16[offs+2];
|
||||
|
||||
/* heated barrel hardware seems to need 0x1ff with 0x100 sign bit for sprite warp,
|
||||
this doesn't work on denjin makai as the visible area is larger */
|
||||
/*
|
||||
x&=0x1ff;
|
||||
y&=0xfff;
|
||||
|
||||
if (x&0x100) x-=0x200;
|
||||
if (y&0x800) y-=0x1000;
|
||||
*/
|
||||
|
||||
x&=0xfff;
|
||||
y&=0xfff;
|
||||
|
||||
if (x&0x800) x-=0x1000;
|
||||
if (y&0x800) y-=0x1000;
|
||||
|
||||
|
||||
color = (data &0x3f) + 0x40;
|
||||
fx = (data &0x4000) >> 14;
|
||||
fy = (data &0x2000) >> 13;
|
||||
@ -367,16 +376,34 @@ VIDEO_UPDATE( godzilla )
|
||||
tilemap_set_scrollx( foreground_layer, 0, legionna_scrollram16[4] );
|
||||
tilemap_set_scrolly( foreground_layer, 0, legionna_scrollram16[5] );
|
||||
|
||||
fillbitmap(bitmap,get_black_pen(screen->machine),cliprect);
|
||||
fillbitmap(bitmap,0x0200,cliprect);
|
||||
|
||||
if (!(legionna_layer_disable&0x0001))
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,background_layer,0,0);
|
||||
}
|
||||
|
||||
draw_sprites(screen->machine,bitmap,cliprect,2);
|
||||
|
||||
if (!(legionna_layer_disable&0x0002))
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,midground_layer,0,0);
|
||||
}
|
||||
|
||||
draw_sprites(screen->machine,bitmap,cliprect,1);
|
||||
|
||||
if (!(legionna_layer_disable&0x0004))
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,foreground_layer,0,0);
|
||||
}
|
||||
|
||||
draw_sprites(screen->machine,bitmap,cliprect,0);
|
||||
draw_sprites(screen->machine,bitmap,cliprect,3);
|
||||
|
||||
if (!(legionna_layer_disable&0x0008))
|
||||
{
|
||||
tilemap_draw(bitmap,cliprect,text_layer,0,0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user