mirror of
https://github.com/holub/mame
synced 2025-05-25 07:15:25 +03:00
hooked up layer enables in goldstar.c driver, fixes 'girl' in Cherry Master [David Haywood]
This commit is contained in:
parent
f1790fa57f
commit
8872083aeb
@ -114,6 +114,7 @@ extern WRITE8_HANDLER( goldstar_fg_atrram_w );
|
|||||||
|
|
||||||
WRITE8_HANDLER( goldstar_fa00_w );
|
WRITE8_HANDLER( goldstar_fa00_w );
|
||||||
WRITE8_HANDLER( cm_background_col_w );
|
WRITE8_HANDLER( cm_background_col_w );
|
||||||
|
WRITE8_HANDLER( cm_outport0_w );
|
||||||
VIDEO_START( goldstar );
|
VIDEO_START( goldstar );
|
||||||
VIDEO_START( cherrym );
|
VIDEO_START( cherrym );
|
||||||
VIDEO_UPDATE( goldstar );
|
VIDEO_UPDATE( goldstar );
|
||||||
@ -252,14 +253,11 @@ ADDRESS_MAP_END
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
static WRITE8_HANDLER( cm_outport0_w )
|
|
||||||
{
|
|
||||||
/* lamps? */
|
|
||||||
}
|
|
||||||
|
|
||||||
static WRITE8_HANDLER( cm_outport1_w )
|
static WRITE8_HANDLER( cm_outport1_w )
|
||||||
{
|
{
|
||||||
/* quick extended writes */
|
/* lamps? */
|
||||||
}
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 )
|
static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||||
|
@ -8,8 +8,6 @@
|
|||||||
|
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
|
|
||||||
#define DRAW_GIRL 0
|
|
||||||
|
|
||||||
//UINT8 *goldstar_video1, *goldstar_video2, *goldstar_video3;
|
//UINT8 *goldstar_video1, *goldstar_video2, *goldstar_video3;
|
||||||
//size_t goldstar_video_size;
|
//size_t goldstar_video_size;
|
||||||
UINT8 *goldstar_reel1_scroll, *goldstar_reel2_scroll, *goldstar_reel3_scroll;
|
UINT8 *goldstar_reel1_scroll, *goldstar_reel2_scroll, *goldstar_reel3_scroll;
|
||||||
@ -27,6 +25,22 @@ static int bgcolor;
|
|||||||
static tilemap *goldstar_fg_tilemap;
|
static tilemap *goldstar_fg_tilemap;
|
||||||
static UINT8 cmaster_girl_num;
|
static UINT8 cmaster_girl_num;
|
||||||
static UINT8 cmaster_girl_pal;
|
static UINT8 cmaster_girl_pal;
|
||||||
|
static UINT8 cm_enable_reg;
|
||||||
|
|
||||||
|
WRITE8_HANDLER( cm_outport0_w )
|
||||||
|
{
|
||||||
|
cm_enable_reg = data;
|
||||||
|
/*
|
||||||
|
---- ---x (global enable or irq enable?)
|
||||||
|
---- --x- (fg enable)
|
||||||
|
---- -x-- (girl enable?)
|
||||||
|
---- x--- (reels enable)
|
||||||
|
|
||||||
|
xxxx ---- unused?
|
||||||
|
|
||||||
|
*/
|
||||||
|
//popmessage("%02x",data);
|
||||||
|
}
|
||||||
|
|
||||||
WRITE8_HANDLER( goldstar_fg_vidram_w )
|
WRITE8_HANDLER( goldstar_fg_vidram_w )
|
||||||
{
|
{
|
||||||
@ -142,6 +156,9 @@ VIDEO_START( goldstar )
|
|||||||
|
|
||||||
goldstar_fg_tilemap = tilemap_create(machine,get_goldstar_fg_tile_info,tilemap_scan_rows,8,8, 64, 32);
|
goldstar_fg_tilemap = tilemap_create(machine,get_goldstar_fg_tile_info,tilemap_scan_rows,8,8, 64, 32);
|
||||||
tilemap_set_transparent_pen(goldstar_fg_tilemap,0);
|
tilemap_set_transparent_pen(goldstar_fg_tilemap,0);
|
||||||
|
|
||||||
|
// is there an enable reg for this game?
|
||||||
|
cm_enable_reg = 0x0b;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIDEO_START( cherrym )
|
VIDEO_START( cherrym )
|
||||||
@ -159,6 +176,8 @@ VIDEO_START( cherrym )
|
|||||||
|
|
||||||
goldstar_fg_tilemap = tilemap_create(machine,get_cherrym_fg_tile_info,tilemap_scan_rows,8,8, 64, 32);
|
goldstar_fg_tilemap = tilemap_create(machine,get_cherrym_fg_tile_info,tilemap_scan_rows,8,8, 64, 32);
|
||||||
tilemap_set_transparent_pen(goldstar_fg_tilemap,0);
|
tilemap_set_transparent_pen(goldstar_fg_tilemap,0);
|
||||||
|
|
||||||
|
cm_enable_reg = 0x0b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -220,28 +239,37 @@ VIDEO_UPDATE( goldstar )
|
|||||||
|
|
||||||
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
|
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
|
||||||
|
|
||||||
for (i= 0;i < 64;i++)
|
if (!cm_enable_reg &0x01)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (cm_enable_reg &0x08)
|
||||||
{
|
{
|
||||||
tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
|
for (i= 0;i < 64;i++)
|
||||||
tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
|
{
|
||||||
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
|
tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
|
||||||
|
tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
|
||||||
|
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
tilemap_draw(bitmap, &visible1, goldstar_reel1_tilemap, 0, 0);
|
||||||
|
tilemap_draw(bitmap, &visible2, goldstar_reel2_tilemap, 0, 0);
|
||||||
|
tilemap_draw(bitmap, &visible3, goldstar_reel3_tilemap, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cm_enable_reg &0x04)
|
||||||
tilemap_draw(bitmap, &visible1, goldstar_reel1_tilemap, 0, 0);
|
|
||||||
tilemap_draw(bitmap, &visible2, goldstar_reel2_tilemap, 0, 0);
|
|
||||||
tilemap_draw(bitmap, &visible3, goldstar_reel3_tilemap, 0, 0);
|
|
||||||
|
|
||||||
/* need to figure out priority etc. */
|
|
||||||
#if DRAW_GIRL
|
|
||||||
if (memory_region(screen->machine,"user1"))
|
|
||||||
{
|
{
|
||||||
const gfx_element *gfx = screen->machine->gfx[2];
|
if (memory_region(screen->machine,"user1"))
|
||||||
drawgfxzoom(bitmap,gfx,cmaster_girl_num,cmaster_girl_pal,0,0,32*8,16*8,cliprect,TRANSPARENCY_PEN,0, 0x20000, 0x10000);
|
{
|
||||||
|
const gfx_element *gfx = screen->machine->gfx[2];
|
||||||
|
drawgfxzoom(bitmap,gfx,cmaster_girl_num,cmaster_girl_pal,0,0,32*8,16*8,cliprect,TRANSPARENCY_PEN,0, 0x20000, 0x10000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
tilemap_draw(bitmap,cliprect, goldstar_fg_tilemap, 0, 0);
|
if (cm_enable_reg &0x02)
|
||||||
|
{
|
||||||
|
tilemap_draw(bitmap,cliprect, goldstar_fg_tilemap, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -252,18 +280,27 @@ VIDEO_UPDATE( cmast91 )
|
|||||||
|
|
||||||
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
|
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
|
||||||
|
|
||||||
for (i= 0;i < 64;i++)
|
if (!cm_enable_reg &0x01)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (cm_enable_reg &0x08)
|
||||||
{
|
{
|
||||||
tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
|
for (i= 0;i < 64;i++)
|
||||||
tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
|
{
|
||||||
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
|
tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
|
||||||
|
tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
|
||||||
|
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
tilemap_draw(bitmap, &cm91_visible1, goldstar_reel1_tilemap, 0, 0);
|
||||||
|
tilemap_draw(bitmap, &cm91_visible2, goldstar_reel2_tilemap, 0, 0);
|
||||||
|
tilemap_draw(bitmap, &cm91_visible3, goldstar_reel3_tilemap, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
tilemap_draw(bitmap, &cm91_visible1, goldstar_reel1_tilemap, 0, 0);
|
if (cm_enable_reg &0x02)
|
||||||
tilemap_draw(bitmap, &cm91_visible2, goldstar_reel2_tilemap, 0, 0);
|
{
|
||||||
tilemap_draw(bitmap, &cm91_visible3, goldstar_reel3_tilemap, 0, 0);
|
tilemap_draw(bitmap, cliprect, goldstar_fg_tilemap, 0, 0);
|
||||||
|
}
|
||||||
tilemap_draw(bitmap, cliprect, goldstar_fg_tilemap, 0, 0);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -274,18 +311,32 @@ VIDEO_UPDATE( amcoe1a )
|
|||||||
|
|
||||||
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
|
bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
|
||||||
|
|
||||||
for (i= 0;i < 64;i++)
|
if (!cm_enable_reg &0x01)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (cm_enable_reg &0x08)
|
||||||
{
|
{
|
||||||
tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
|
for (i= 0;i < 64;i++)
|
||||||
tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
|
{
|
||||||
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
|
tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
|
||||||
|
tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
|
||||||
|
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
tilemap_draw(bitmap, &am1a_visible1, goldstar_reel1_tilemap, 0, 0);
|
||||||
|
tilemap_draw(bitmap, &am1a_visible2, goldstar_reel2_tilemap, 0, 0);
|
||||||
|
tilemap_draw(bitmap, &am1a_visible3, goldstar_reel3_tilemap, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
tilemap_draw(bitmap, &am1a_visible1, goldstar_reel1_tilemap, 0, 0);
|
if (cm_enable_reg &0x04)
|
||||||
tilemap_draw(bitmap, &am1a_visible2, goldstar_reel2_tilemap, 0, 0);
|
{
|
||||||
tilemap_draw(bitmap, &am1a_visible3, goldstar_reel3_tilemap, 0, 0);
|
// no girls
|
||||||
|
}
|
||||||
|
|
||||||
tilemap_draw(bitmap, cliprect, goldstar_fg_tilemap, 0, 0);
|
if (cm_enable_reg &0x02)
|
||||||
|
{
|
||||||
|
tilemap_draw(bitmap, cliprect, goldstar_fg_tilemap, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user