mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
pgm2: foreground scroll (nw)
This commit is contained in:
parent
a63f658108
commit
b0c350c6ae
@ -73,8 +73,8 @@
|
|||||||
02 - bg scroll y
|
02 - bg scroll y
|
||||||
04 - zoom something, 0F-7F, default 1F
|
04 - zoom something, 0F-7F, default 1F
|
||||||
06 - zoom something, 0F-7F, default 1F
|
06 - zoom something, 0F-7F, default 1F
|
||||||
08 - fg? scroll x
|
08 - fg scroll x
|
||||||
0a - fg? scroll y
|
0a - fg scroll y
|
||||||
0e - ? 1 at init (sprite related?)
|
0e - ? 1 at init (sprite related?)
|
||||||
10 - ? orleg2 - 0x13, kov2nl - 0x14 at init (sprite related?)
|
10 - ? orleg2 - 0x13, kov2nl - 0x14 at init (sprite related?)
|
||||||
14 - sprite enable ? set to 0 before spriteram update, to 1 after
|
14 - sprite enable ? set to 0 before spriteram update, to 1 after
|
||||||
@ -355,6 +355,7 @@ static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
|
|||||||
AM_RANGE(0x30100000, 0x301000ff) AM_READWRITE8(shareram_r, shareram_w, 0x00ff00ff)
|
AM_RANGE(0x30100000, 0x301000ff) AM_READWRITE8(shareram_r, shareram_w, 0x00ff00ff)
|
||||||
|
|
||||||
AM_RANGE(0x30120000, 0x30120003) AM_RAM AM_SHARE("bgscroll") // scroll
|
AM_RANGE(0x30120000, 0x30120003) AM_RAM AM_SHARE("bgscroll") // scroll
|
||||||
|
AM_RANGE(0x30120008, 0x3012000b) AM_RAM AM_SHARE("fgscroll")
|
||||||
AM_RANGE(0x30120030, 0x30120033) AM_WRITE16(share_bank_w, 0xffff0000)
|
AM_RANGE(0x30120030, 0x30120033) AM_WRITE16(share_bank_w, 0xffff0000)
|
||||||
AM_RANGE(0x30120038, 0x3012003b) AM_WRITE(sprite_encryption_w)
|
AM_RANGE(0x30120038, 0x3012003b) AM_WRITE(sprite_encryption_w)
|
||||||
// there are other 0x301200xx regs
|
// there are other 0x301200xx regs
|
||||||
|
@ -32,6 +32,7 @@ public:
|
|||||||
m_bg_videoram(*this, "bg_videoram"),
|
m_bg_videoram(*this, "bg_videoram"),
|
||||||
m_sp_videoram(*this, "sp_videoram"),
|
m_sp_videoram(*this, "sp_videoram"),
|
||||||
m_bgscroll(*this, "bgscroll"),
|
m_bgscroll(*this, "bgscroll"),
|
||||||
|
m_fgscroll(*this, "fgscroll"),
|
||||||
m_gfxdecode2(*this, "gfxdecode2"),
|
m_gfxdecode2(*this, "gfxdecode2"),
|
||||||
m_gfxdecode3(*this, "gfxdecode3"),
|
m_gfxdecode3(*this, "gfxdecode3"),
|
||||||
m_arm_aic(*this, "arm_aic"),
|
m_arm_aic(*this, "arm_aic"),
|
||||||
@ -130,6 +131,7 @@ private:
|
|||||||
required_shared_ptr<uint32_t> m_bg_videoram;
|
required_shared_ptr<uint32_t> m_bg_videoram;
|
||||||
required_shared_ptr<uint32_t> m_sp_videoram;
|
required_shared_ptr<uint32_t> m_sp_videoram;
|
||||||
required_shared_ptr<uint32_t> m_bgscroll;
|
required_shared_ptr<uint32_t> m_bgscroll;
|
||||||
|
required_shared_ptr<uint32_t> m_fgscroll;
|
||||||
required_device<gfxdecode_device> m_gfxdecode2;
|
required_device<gfxdecode_device> m_gfxdecode2;
|
||||||
required_device<gfxdecode_device> m_gfxdecode3;
|
required_device<gfxdecode_device> m_gfxdecode3;
|
||||||
required_device<arm_aic_device> m_arm_aic;
|
required_device<arm_aic_device> m_arm_aic;
|
||||||
|
@ -258,6 +258,8 @@ void pgm2_state::copy_sprites_from_bitmap(screen_device &screen, bitmap_rgb32 &b
|
|||||||
|
|
||||||
uint32_t pgm2_state::screen_update_pgm2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
uint32_t pgm2_state::screen_update_pgm2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
|
m_fg_tilemap->set_scrollx(0, m_fgscroll[0] & 0xffff);
|
||||||
|
m_fg_tilemap->set_scrolly(0, m_fgscroll[0] >> 16);
|
||||||
m_bg_tilemap->set_scrolly(0, (m_bgscroll[0x0/4] & 0xffff0000)>>16 );
|
m_bg_tilemap->set_scrolly(0, (m_bgscroll[0x0/4] & 0xffff0000)>>16 );
|
||||||
|
|
||||||
for (int y = 0; y < 224; y++)
|
for (int y = 0; y < 224; y++)
|
||||||
|
Loading…
Reference in New Issue
Block a user