summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/seta.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/seta.cpp')
-rw-r--r--src/mame/video/seta.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mame/video/seta.cpp b/src/mame/video/seta.cpp
index 817eda4d785..4614e928d3c 100644
--- a/src/mame/video/seta.cpp
+++ b/src/mame/video/seta.cpp
@@ -144,6 +144,9 @@ Note: if MAME_DEBUG is defined, pressing Z with:
/* note that drgnunit, stg and qzkklogy run on the same board, yet they need different alignment */
static const game_offset game_offsets[] =
{
+ // x offsets
+ // "game", {spr, spr_flip}, {tmap, tmap_flip}
+
/* only sprites */
{ "tndrcade", { 0, 0 } }, // correct (start grid, wall at beginning of game)
{ "tndrcadej",{ 0, 0 } }, // "
@@ -171,7 +174,7 @@ static const game_offset game_offsets[] =
{ "calibr50", { -1, 2 }, { -3, -2 } }, // correct (test grid and roof in animation at beginning of game)
{ "arbalest", { 0, 1 }, { -2, -1 } }, // correct (test grid and landing pad at beginning of game)
{ "metafox", { 0, 0 }, { 16,-19 } }, // sprites unknown, tilemap correct (test grid)
- { "setaroul", { 0, 0 }, { 0, 0 } }, // unknown
+ { "setaroul", { 7, 0 }, { 5, 0 } }, // unknown (flipped offsets are unused: game handles flipping manually without setting the flip bit)
{ "drgnunit", { 2, 2 }, { -2, -2 } }, // correct (test grid and I/O test)
{ "jockeyc", { 0, 0 }, { -2, 0 } }, // sprites unknown, tilemap correct (test grid)
{ "inttoote", { 0, 0 }, { -2, 0 } }, // "
@@ -360,7 +363,7 @@ Offset + 0x1000:
Offset + 0x0: Scroll X
Offset + 0x2: Scroll Y
Offset + 0x4:
- fedc ba98 7654 3210 -
+ fedc ba98 765- ---- -
---- ---- ---4 ---- Tilemap color mode switch (used in blandia and the other games using 6bpp graphics)
---- ---- ---- 3--- Tilemap Select (There Are 2 Tilemaps Per Layer)
---- ---- ---- -21- 0 (1 only in eightfrc, when flip is on!)
@@ -510,13 +513,13 @@ VIDEO_START_MEMBER(seta_state,seta_1_layer)
m_tilemap_1->set_transparent_pen(0);
}
-VIDEO_START_MEMBER(seta_state,setaroul_1_layer)
+VIDEO_START_MEMBER(setaroul_state,setaroul_1_layer)
{
VIDEO_START_CALL_MEMBER(seta_1_layer);
// position kludges
- m_seta001->set_fg_yoffsets( -0x12, 0x0e );
- m_seta001->set_bg_yoffsets( 0x1, -0x1 );
+ m_seta001->set_bg_yoffsets( 0, -0x1 );
+ m_seta001->set_bg_xoffsets( 0, 0x2 );
}
VIDEO_START_MEMBER(seta_state,twineagl_1_layer)
@@ -682,7 +685,7 @@ PALETTE_INIT_MEMBER(seta_state,inttoote)
}
}
-PALETTE_INIT_MEMBER(seta_state,setaroul)
+PALETTE_INIT_MEMBER(setaroul_state,setaroul)
{
m_gfxdecode->gfx(0)->set_granularity(16);
m_gfxdecode->gfx(1)->set_granularity(16);
@@ -1053,16 +1056,17 @@ uint32_t seta_state::screen_update_seta_layers(screen_device &screen, bitmap_ind
}
-uint32_t seta_state::screen_update_setaroul(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t setaroul_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
bitmap.fill(0x0, cliprect);
- seta_layers_update(screen, bitmap, cliprect, 0x800, 1 );
+ if (m_led & 0x80)
+ seta_layers_update(screen, bitmap, cliprect, 0x800, 1 );
return 0;
}
-WRITE_LINE_MEMBER(seta_state::screen_vblank_setaroul)
+WRITE_LINE_MEMBER(setaroul_state::screen_vblank)
{
// rising edge
if (state)