diff options
| author | 2008-05-02 19:28:31 +0000 | |
|---|---|---|
| committer | 2008-05-02 19:28:31 +0000 | |
| commit | d65d5e502a1d3407d5db993f7a64c9c328fb426f (patch) | |
| tree | 3c928410e7e71fd05e7dab2418f549a0e9c8313e /src | |
| parent | e6b2a18ba70a85efbd49a268d23cfa71bc8308af (diff) | |
extra tile banking for denjinmk
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/video/legionna.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/mame/video/legionna.c b/src/mame/video/legionna.c index 285743ff55e..bd786bee1ac 100644 --- a/src/mame/video/legionna.c +++ b/src/mame/video/legionna.c @@ -225,8 +225,11 @@ VIDEO_START( cupsoc ) +1 xx...... ........ Priority? (1=high?) +1 ..xxxxxx xxxxxxxx Tile number - +2 xxxxxxxx xxxxxxxx X coordinate (signed) - +3 xxxxxxxx xxxxxxxx Y coordinate (signed) + + +2 ----xxxx xxxxxxxx X coordinate (signed) + + +3 b------- -------- more tile banking used by Denjin Makai + +3 ----xxxx xxxxxxxx Y coordinate (signed) *************************************************************************/ @@ -246,15 +249,18 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectan sprite = spriteram16[offs+1]; sprite &= 0x3fff; - if(data & 0x40) sprite |= 0x4000;//tile banking,used in Denjin Makai - + if(data & 0x0040) sprite |= 0x4000;//tile banking,used in Denjin Makai + if(spriteram16[offs+3] & 0x8000) sprite |= 0x8000;//tile banking?,used in Denjin Makai + y = spriteram16[offs+3]; x = spriteram16[offs+2]; - if (x &0x8000) x = -(0x200-(x &0x1ff)); - else x &= 0x1ff; - if (y &0x8000) y = -(0x200-(y &0x1ff)); - else y &= 0x1ff; + x&=0xfff; + y&=0xfff; + + if (x&0x800) x-=0x1000; + if (y&0x800) y-=0x1000; + color = (data &0x3f) + 0x40; fx = (data &0x4000) >> 14; |
