summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/ddealer.cpp30
-rw-r--r--src/mame/drivers/nmk16.cpp2
-rw-r--r--src/mame/drivers/patapata.cpp17
-rw-r--r--src/mame/drivers/quizpani.cpp2
-rw-r--r--src/mame/includes/nmk16.h3
-rw-r--r--src/mame/video/nmk16.cpp24
-rw-r--r--src/mame/video/powerins.cpp9
-rw-r--r--src/mame/video/quizpani.cpp10
8 files changed, 26 insertions, 71 deletions
diff --git a/src/mame/drivers/ddealer.cpp b/src/mame/drivers/ddealer.cpp
index ca53d1e6fc6..a47f8f67d7c 100644
--- a/src/mame/drivers/ddealer.cpp
+++ b/src/mame/drivers/ddealer.cpp
@@ -205,6 +205,7 @@ TILE_GET_INFO_MEMBER(ddealer_state::get_back_tile_info)
void ddealer_state::video_start()
{
m_back_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(ddealer_state::get_back_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_back_tilemap->set_scrolldx(64,64);
}
void ddealer_state::draw_video_layer(uint16_t* vreg_base, uint16_t* top, uint16_t* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy)
@@ -292,7 +293,6 @@ void ddealer_state::draw_video_layer(uint16_t* vreg_base, uint16_t* top, uint16_
uint32_t ddealer_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- m_back_tilemap->set_scrollx(0, -64);
m_back_tilemap->draw(screen, bitmap, cliprect, 0, 0);
/* the fg tilemap handling is a little hacky right now,
@@ -586,33 +586,9 @@ static INPUT_PORTS_START( ddealer )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
-static const gfx_layout charlayout =
-{
- 8,8,
- RGN_FRAC(1,1),
- 4,
- { 0, 1, 2, 3 },
- { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
- { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
- 32*8
-};
-
-static const gfx_layout tilelayout =
-{
- 16,16,
- RGN_FRAC(1,1),
- 4,
- { 0, 1, 2, 3 },
- { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
- 16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 },
- { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
- 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
- 32*32
-};
-
static GFXDECODE_START( gfx_ddealer )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x000, 16 )
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0x100, 16 )
+ GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0x000, 16 )
+ GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 )
GFXDECODE_END
void ddealer_state::machine_start()
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index 1ee3acb0569..8ba0089280a 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -383,7 +383,7 @@ void nmk16_state::scroll_w(offs_t offset, u8 data)
}
}
- m_bg_tilemap[Layer]->set_scrollx(0,((m_scroll[Layer][0] << 8) | m_scroll[Layer][1]) - m_videoshift);
+ m_bg_tilemap[Layer]->set_scrollx(0,(m_scroll[Layer][0] << 8) | m_scroll[Layer][1]);
}
}
diff --git a/src/mame/drivers/patapata.cpp b/src/mame/drivers/patapata.cpp
index edb5c740e70..44418176fe8 100644
--- a/src/mame/drivers/patapata.cpp
+++ b/src/mame/drivers/patapata.cpp
@@ -262,22 +262,9 @@ static INPUT_PORTS_START( patapata )
INPUT_PORTS_END
-static const gfx_layout tilelayout =
-{
- 16,16,
- RGN_FRAC(1,1),
- 4,
- { 0, 1, 2, 3 },
- { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
- 16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 },
- { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
- 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
- 32*32
-};
-
static GFXDECODE_START( gfx_patapata )
- GFXDECODE_ENTRY( "tilesa", 0, tilelayout, 0x000, 16 )
- GFXDECODE_ENTRY( "tilesb", 0, tilelayout, 0x100, 16 )
+ GFXDECODE_ENTRY( "tilesa", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 16 )
+ GFXDECODE_ENTRY( "tilesb", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x100, 16 )
GFXDECODE_END
TIMER_DEVICE_CALLBACK_MEMBER(patapata_state::scanline)
diff --git a/src/mame/drivers/quizpani.cpp b/src/mame/drivers/quizpani.cpp
index 2c8f737c9b0..8c60f9e4ad5 100644
--- a/src/mame/drivers/quizpani.cpp
+++ b/src/mame/drivers/quizpani.cpp
@@ -196,7 +196,7 @@ void quizpani_state::quizpani(machine_config &config)
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
- screen.set_visarea(0*8, 48*8-1, 0*8, 28*8-1);
+ screen.set_visarea(0*8, 48*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(quizpani_state::screen_update));
screen.set_palette("palette");
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h
index 010a1f3cc40..ffd70559b45 100644
--- a/src/mame/includes/nmk16.h
+++ b/src/mame/includes/nmk16.h
@@ -117,15 +117,12 @@ protected:
optional_ioport_array<2> m_dsw_io;
optional_ioport_array<3> m_in_io;
- int m_sprclk;
- int m_sprlimit;
int m_tilerambank;
int m_sprdma_base;
int mask[4*2];
std::unique_ptr<u16[]> m_spriteram_old;
std::unique_ptr<u16[]> m_spriteram_old2;
int m_bgbank;
- int m_videoshift;
int m_bioship_background_bank;
tilemap_t *m_bg_tilemap[2];
tilemap_t *m_tx_tilemap;
diff --git a/src/mame/video/nmk16.cpp b/src/mame/video/nmk16.cpp
index f05e3735c18..80713bf8541 100644
--- a/src/mame/video/nmk16.cpp
+++ b/src/mame/video/nmk16.cpp
@@ -77,9 +77,7 @@ void nmk16_state::video_init()
m_spriteram_old = make_unique_clear<u16[]>(0x1000/2);
m_spriteram_old2 = make_unique_clear<u16[]>(0x1000/2);
- m_videoshift = 0; /* 256x224 screen, no shift */
m_tilerambank = 0;
- m_sprclk = 0;
save_pointer(NAME(m_spriteram_old), 0x1000/2);
save_pointer(NAME(m_spriteram_old2), 0x1000/2);
@@ -89,13 +87,11 @@ void nmk16_state::video_init()
save_item(NAME(m_scroll[1]));
save_item(NAME(m_vscroll));
save_item(NAME(m_tilerambank));
- save_item(NAME(m_sprclk));
}
VIDEO_START_MEMBER(nmk16_state, bioship)
{
- m_sprlimit = 384 * 263;
// ROM Based Tilemap
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::bioship_get_bg_tile_info)), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<1, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32);
@@ -111,7 +107,6 @@ VIDEO_START_MEMBER(nmk16_state, bioship)
VIDEO_START_MEMBER(nmk16_state,macross)
{
- m_sprlimit = 384 * 263;
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<0, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
@@ -131,14 +126,15 @@ VIDEO_START_MEMBER(nmk16_state,strahl)
VIDEO_START_MEMBER(nmk16_state,macross2)
{
- m_sprlimit = 512 * 263; // not verified
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, NAME((&nmk16_state::common_get_bg_tile_info<0, 1>))), tilemap_mapper_delegate(*this, FUNC(nmk16_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
m_tx_tilemap->set_transparent_pen(15);
video_init();
- m_videoshift = 64; // 384x224 screen, leftmost 64 pixels have to be retrieved from the other side of the tilemap (!)
+ // 384x224 screen, leftmost 64 pixels have to be retrieved from the other side of the tilemap (!)
+ m_bg_tilemap[0]->set_scrolldx(64,64);
+ m_tx_tilemap->set_scrolldx(64,64);
}
VIDEO_START_MEMBER(nmk16_state,gunnail)
@@ -149,11 +145,11 @@ VIDEO_START_MEMBER(nmk16_state,gunnail)
VIDEO_START_MEMBER(nmk16_state, bjtwin)
{
- m_sprlimit = 512 * 263; // not verified
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmk16_state::bjtwin_get_bg_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
video_init();
- m_videoshift = 64; // 384x224 screen, leftmost 64 pixels have to be retrieved from the other side of the tilemap (!)
+ // 384x224 screen, leftmost 64 pixels have to be retrieved from the other side of the tilemap (!)
+ m_bg_tilemap[0]->set_scrolldx(64,64);
}
void nmk16_state::mustang_scroll_w(u16 data)
@@ -180,7 +176,7 @@ void nmk16_state::mustang_scroll_w(u16 data)
break;
}
- m_bg_tilemap[0]->set_scrollx(0,m_mustang_bg_xscroll - m_videoshift);
+ m_bg_tilemap[0]->set_scrollx(0,m_mustang_bg_xscroll);
}
void nmk16_state::bjtwin_scroll_w(offs_t offset, u8 data)
@@ -214,7 +210,7 @@ void nmk16_state::manybloc_scroll_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_gunnail_scrollram[offset]);
- m_bg_tilemap[0]->set_scrollx(0,m_gunnail_scrollram[0x82/2]-m_videoshift);
+ m_bg_tilemap[0]->set_scrollx(0,m_gunnail_scrollram[0x82/2]);
m_bg_tilemap[0]->set_scrolly(0,m_gunnail_scrollram[0xc2/2]);
}
@@ -321,7 +317,7 @@ void nmk16_state::bg_update(screen_device &screen, bitmap_ind16 &bitmap, const r
m_bg_tilemap[layer]->set_scroll_rows(512);
m_bg_tilemap[layer]->set_scrolly(0, yscroll);
- m_bg_tilemap[layer]->set_scrollx((i + yscroll) & 0x1ff, m_gunnail_scrollram[0] + m_gunnail_scrollram[i] - m_videoshift);
+ m_bg_tilemap[layer]->set_scrollx((i + yscroll) & 0x1ff, m_gunnail_scrollram[0] + m_gunnail_scrollram[i]);
m_bg_tilemap[layer]->draw(screen, bitmap, bgclip, 0, 1);
@@ -337,7 +333,6 @@ void nmk16_state::bg_update(screen_device &screen, bitmap_ind16 &bitmap, const r
void nmk16_state::tx_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- m_tx_tilemap->set_scrollx(0,-m_videoshift);
m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 2);
}
@@ -385,8 +380,6 @@ u32 nmk16_state::screen_update_strahl(screen_device &screen, bitmap_ind16 &bitma
u32 nmk16_state::screen_update_bjtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
screen.priority().fill(0, cliprect);
- m_bg_tilemap[0]->set_scrollx(0,-m_videoshift);
-
bg_update(screen, bitmap, cliprect, 0);
draw_sprites(screen, bitmap, cliprect);
return 0;
@@ -409,7 +402,6 @@ TILE_GET_INFO_MEMBER(afega_state::get_bg_tile_info_8bit)
VIDEO_START_MEMBER(afega_state,grdnstrm)
{
- m_sprlimit = 384 * 263;
// 8bpp Tilemap
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(afega_state::get_bg_tile_info_8bit)), tilemap_mapper_delegate(*this, FUNC(afega_state::tilemap_scan_pages)), 16, 16, 256, 32);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(afega_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
diff --git a/src/mame/video/powerins.cpp b/src/mame/video/powerins.cpp
index 066cd08a64e..5f8fd358f4c 100644
--- a/src/mame/video/powerins.cpp
+++ b/src/mame/video/powerins.cpp
@@ -157,6 +157,9 @@ void powerins_state::video_start()
save_item(NAME(m_tile_bank));
save_pointer(NAME(m_spritebuffer[0]), 0x1000/2);
save_pointer(NAME(m_spritebuffer[1]), 0x1000/2);
+ // fixed offset
+ m_tilemap[0]->set_scrolldx(32,32);
+ m_tilemap[1]->set_scrolldx(32,32);
}
@@ -231,10 +234,8 @@ uint32_t powerins_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
int scrollx = (m_vctrl_0[2/2]&0xff) | ((m_vctrl_0[0/2]&0xff)<<8);
int scrolly = (m_vctrl_0[6/2]&0xff) | ((m_vctrl_0[4/2]&0xff)<<8);
- m_tilemap[0]->set_scrollx(0, scrollx - 0x20);
- m_tilemap[0]->set_scrolly(0, scrolly );
-
- m_tilemap[1]->set_scrollx(0, -0x20); // fixed offset
+ m_tilemap[0]->set_scrollx(0, scrollx);
+ m_tilemap[0]->set_scrolly(0, scrolly);
#ifdef MAME_DEBUG
if (machine().input().code_pressed(KEYCODE_Z))
diff --git a/src/mame/video/quizpani.cpp b/src/mame/video/quizpani.cpp
index 8ecb2ce8b17..3d58d95b282 100644
--- a/src/mame/video/quizpani.cpp
+++ b/src/mame/video/quizpani.cpp
@@ -74,14 +74,16 @@ void quizpani_state::video_start()
save_item(NAME(m_bgbank));
save_item(NAME(m_txtbank));
+ m_bg_tilemap->set_scrolldx(64,64);
+ m_txt_tilemap->set_scrolldx(64,64);
}
uint32_t quizpani_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- m_bg_tilemap->set_scrollx(0, m_scrollreg[0] - 64);
- m_bg_tilemap->set_scrolly(0, m_scrollreg[1] + 16);
- m_txt_tilemap->set_scrollx(0, m_scrollreg[2] - 64);
- m_txt_tilemap->set_scrolly(0, m_scrollreg[3] + 16);
+ m_bg_tilemap->set_scrollx(0, m_scrollreg[0]);
+ m_bg_tilemap->set_scrolly(0, m_scrollreg[1]);
+ m_txt_tilemap->set_scrollx(0, m_scrollreg[2]);
+ m_txt_tilemap->set_scrolly(0, m_scrollreg[3]);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
m_txt_tilemap->draw(screen, bitmap, cliprect, 0,0);