mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
dreamwld.c - fix visarea and layer offsets based on real hw evidence (nw)
This commit is contained in:
parent
e815452f37
commit
7a9e4cfbde
@ -163,6 +163,7 @@ void dreamwld_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
|
||||
UINT32 *source = m_spritebuf1;
|
||||
UINT32 *finish = m_spritebuf1 + 0x1000 / 4;
|
||||
UINT16 *redirect = (UINT16 *)memregion("spritelut")->base();
|
||||
int xoffset = 4;
|
||||
|
||||
while (source < finish)
|
||||
{
|
||||
@ -186,6 +187,9 @@ void dreamwld_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
|
||||
xinc = 16;
|
||||
yinc = 16;
|
||||
|
||||
xpos += xoffset;
|
||||
xpos &= 0x1ff;
|
||||
|
||||
if (xflip)
|
||||
{
|
||||
xinc = -16;
|
||||
@ -297,8 +301,9 @@ UINT32 dreamwld_state::screen_update_dreamwld(screen_device &screen, bitmap_ind1
|
||||
int layer0_scrolly = m_vregs[(0x000 / 4)]+32;
|
||||
int layer1_scrolly = m_vregs[(0x008 / 4)]+32;
|
||||
|
||||
int layer0_scrollx = m_vregs[(0x004 / 4)] + 3;
|
||||
int layer1_scrollx = m_vregs[(0x00c / 4)] + 5;
|
||||
int layer0_scrollx = m_vregs[(0x004 / 4)] + 0;
|
||||
int layer1_scrollx = m_vregs[(0x00c / 4)] + 2;
|
||||
|
||||
UINT32 layer0_ctrl = m_vregs[0x010 / 4];
|
||||
UINT32 layer1_ctrl = m_vregs[0x014 / 4];
|
||||
|
||||
@ -796,7 +801,7 @@ static MACHINE_CONFIG_START( baryon, dreamwld_state )
|
||||
MCFG_SCREEN_REFRESH_RATE(57.793)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
|
||||
MCFG_SCREEN_SIZE(512,256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 304-1, 0, 224-1)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 308-1, 0, 224-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(dreamwld_state, screen_update_dreamwld)
|
||||
MCFG_SCREEN_VBLANK_DRIVER(dreamwld_state, screen_eof_dreamwld)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
Loading…
Reference in New Issue
Block a user