summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-02-08 18:19:25 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2021-02-08 18:19:25 +0100
commitf676d822b1f57fe9d1065b645590c68f138f67e5 (patch)
tree2edd1f2299c5bd3ef9d7cf7255c82380bd73d531
parentb27c5df55bd680977634403ce5e25e317865e69b (diff)
centiped, chaknpop, itech8, s11, st_mp100, st_mp200, toaplan1: initialized some variables which were causing incorrect behaviours in drvnoclear builds
-rw-r--r--src/mame/drivers/centiped.cpp4
-rw-r--r--src/mame/drivers/chaknpop.cpp8
-rw-r--r--src/mame/drivers/st_mp100.cpp14
-rw-r--r--src/mame/drivers/st_mp200.cpp14
-rw-r--r--src/mame/includes/chaknpop.h23
-rw-r--r--src/mame/includes/s11.h2
-rw-r--r--src/mame/includes/toaplan1.h2
-rw-r--r--src/mame/video/centiped.cpp92
-rw-r--r--src/mame/video/chaknpop.cpp27
-rw-r--r--src/mame/video/itech8.cpp1
-rw-r--r--src/mame/video/toaplan1.cpp2
11 files changed, 96 insertions, 93 deletions
diff --git a/src/mame/drivers/centiped.cpp b/src/mame/drivers/centiped.cpp
index 53aabd17bbc..f592a920d52 100644
--- a/src/mame/drivers/centiped.cpp
+++ b/src/mame/drivers/centiped.cpp
@@ -448,6 +448,10 @@ void centiped_state::machine_start()
save_item(NAME(m_oldpos));
save_item(NAME(m_sign));
save_item(NAME(m_dsw_select));
+
+ std::fill(std::begin(m_oldpos), std::end(m_oldpos), 0);
+ std::fill(std::begin(m_sign), std::end(m_sign), 0);
+ m_dsw_select = 0;
}
void multiped_state::machine_start()
diff --git a/src/mame/drivers/chaknpop.cpp b/src/mame/drivers/chaknpop.cpp
index 72fc704d560..8cfe11e3899 100644
--- a/src/mame/drivers/chaknpop.cpp
+++ b/src/mame/drivers/chaknpop.cpp
@@ -180,7 +180,7 @@ void chaknpop_state::chaknpop_map(address_map &map)
map(0x9800, 0x983f).ram().w(FUNC(chaknpop_state::attrram_w)).share("attr_ram"); // Color attribute
map(0x9840, 0x98ff).ram().share("spr_ram"); // sprite
map(0xa000, 0xbfff).rom();
- map(0xc000, 0xffff).bankrw("bank1"); // bitmap plane 1-4
+ map(0xc000, 0xffff).bankrw(m_vram_bank); // bitmap plane 1-4
}
/***************************************************************************
@@ -346,9 +346,7 @@ GFXDECODE_END
void chaknpop_state::machine_start()
{
- uint8_t *ROM = memregion("maincpu")->base();
-
- membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
+ m_vram_bank->configure_entries(0, 2, m_vram, 0x4000);
save_item(NAME(m_gfxmode));
save_item(NAME(m_flip_x));
@@ -406,7 +404,7 @@ void chaknpop_state::chaknpop(machine_config &config)
***************************************************************************/
ROM_START( chaknpop )
- ROM_REGION( 0x18000, "maincpu", 0 ) // Main CPU
+ ROM_REGION( 0xc000, "maincpu", 0 ) // Main CPU
ROM_LOAD( "ao4_01.ic28", 0x00000, 0x2000, CRC(386fe1c8) SHA1(cca24abfb8a7f439251e7936036475c694002561) )
ROM_LOAD( "ao4_02.ic27", 0x02000, 0x2000, CRC(5562a6a7) SHA1(0c5d81f9aaf858f88007a6bca7f83dc3ef59c5b5) )
ROM_LOAD( "ao4_03.ic26", 0x04000, 0x2000, CRC(3e2f0a9c) SHA1(f1cf87a4cb07f77104d4a4d369807dac522e052c) )
diff --git a/src/mame/drivers/st_mp100.cpp b/src/mame/drivers/st_mp100.cpp
index 3479e9cd55d..f299a34c18e 100644
--- a/src/mame/drivers/st_mp100.cpp
+++ b/src/mame/drivers/st_mp100.cpp
@@ -23,6 +23,8 @@ ToDo:
#include "st_mp100.lh"
+namespace {
+
class st_mp100_state : public genpin_class
{
public:
@@ -49,6 +51,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(activity_test);
DECLARE_INPUT_CHANGED_MEMBER(self_test);
+protected:
+ virtual void machine_reset() override;
+ virtual void machine_start() override { m_digits.resolve(); }
+
private:
uint8_t u10_a_r();
void u10_a_w(uint8_t data);
@@ -77,8 +83,7 @@ private:
uint8_t m_digit;
uint8_t m_counter;
uint8_t m_segment[5];
- virtual void machine_reset() override;
- virtual void machine_start() override { m_digits.resolve(); }
+
required_device<m6800_cpu_device> m_maincpu;
required_device<pia6821_device> m_pia_u10;
required_device<pia6821_device> m_pia_u11;
@@ -693,6 +698,8 @@ void st_mp100_state::machine_reset()
m_u10_cb2 = 0;
m_u11a = 0;
m_u11b = 0;
+ m_timer_x = false;
+ m_u11_timer = false;
}
// zero-cross detection
@@ -861,6 +868,9 @@ ROM_START(magic)
ROM_LOAD( "cpu_u6.716", 0x0800, 0x0800, CRC(fb955a6f) SHA1(387080d5af318463475797fecff026d6db776a0c))
ROM_END
+} // Anonymous namespace
+
+
// chimes
GAME( 1977, pinball, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Pinball", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
GAME( 1977, stingray, 0, st_mp100, mp100, st_mp100_state, empty_init, ROT0, "Stern", "Stingray", MACHINE_MECHANICAL | MACHINE_NOT_WORKING )
diff --git a/src/mame/drivers/st_mp200.cpp b/src/mame/drivers/st_mp200.cpp
index 6384e084edf..adc04fcea17 100644
--- a/src/mame/drivers/st_mp200.cpp
+++ b/src/mame/drivers/st_mp200.cpp
@@ -27,6 +27,9 @@ ToDo:
#include "st_mp200.lh"
+
+namespace{
+
#define S14001_CLOCK (25e5)
class st_mp200_state : public genpin_class
@@ -61,6 +64,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(activity_test);
DECLARE_INPUT_CHANGED_MEMBER(self_test);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
uint8_t u10_a_r();
void u10_a_w(uint8_t data);
@@ -92,8 +99,6 @@ private:
uint8_t m_digit;
uint8_t m_counter;
uint8_t m_segment[5];
- virtual void machine_start() override;
- virtual void machine_reset() override;
required_device<m6800_cpu_device> m_maincpu;
optional_device<s14001a_device> m_s14001a;
required_device<pia6821_device> m_pia_u10;
@@ -549,6 +554,8 @@ void st_mp200_state::machine_reset()
m_u10_cb2 = 0;
m_u11a = 0;
m_u11b = 0;
+ m_timer_x = false;
+ m_u11_timer = false;
}
void st_mp200_state::init_st_mp200()
@@ -949,6 +956,9 @@ ROM_START(st_game)
ROM_RELOAD( 0xf800, 0x0800)
ROM_END
+} // Anonymous namespace
+
+
// 6-digit
GAME(1979, meteorp, 0, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Meteor (Bug fix release)", MACHINE_IS_SKELETON_MECHANICAL)
GAME(1979, meteorpo, meteorp, st_mp200, mp200, st_mp200_state, init_st_mp202, ROT0, "Stern", "Meteor (First release)", MACHINE_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/includes/chaknpop.h b/src/mame/includes/chaknpop.h
index 9c5daaae3ae..58385b3bc22 100644
--- a/src/mame/includes/chaknpop.h
+++ b/src/mame/includes/chaknpop.h
@@ -20,9 +20,19 @@ public:
m_palette(*this, "palette"),
m_tx_ram(*this, "tx_ram"),
m_attr_ram(*this, "attr_ram"),
- m_spr_ram(*this, "spr_ram")
+ m_spr_ram(*this, "spr_ram"),
+ m_vram_bank(*this, "vram_bank"),
+ m_vram(*this, "vram", 0x8000, ENDIANNESS_LITTLE)
{ }
+ void chaknpop(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+private:
/* devices */
required_device<cpu_device> m_maincpu;
optional_device<taito68705_mcu_device> m_bmcu;
@@ -33,13 +43,11 @@ public:
required_shared_ptr<uint8_t> m_tx_ram;
required_shared_ptr<uint8_t> m_attr_ram;
required_shared_ptr<uint8_t> m_spr_ram;
+ required_memory_bank m_vram_bank;
+ memory_share_creator<uint8_t> m_vram;
/* video-related */
tilemap_t *m_tx_tilemap;
- uint8_t *m_vram1;
- uint8_t *m_vram2;
- uint8_t *m_vram3;
- uint8_t *m_vram4;
uint8_t m_gfxmode;
uint8_t m_flip_x;
uint8_t m_flip_y;
@@ -55,9 +63,6 @@ public:
uint8_t mcu_status_r();
TILE_GET_INFO_MEMBER(get_tx_tile_info);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
void chaknpop_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -65,8 +70,6 @@ public:
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_bitmap(bitmap_ind16 &bitmap, const rectangle &cliprect);
- void mcu_update_seed(uint8_t data);
- void chaknpop(machine_config &config);
void chaknpop_map(address_map &map);
};
diff --git a/src/mame/includes/s11.h b/src/mame/includes/s11.h
index 757c912153e..5a0429e616b 100644
--- a/src/mame/includes/s11.h
+++ b/src/mame/includes/s11.h
@@ -61,6 +61,8 @@ public:
, m_ps88(*this, "ps88")
, m_digits(*this, "digit%u", 0U)
, m_swarray(*this, "SW.%u", 0U)
+ , m_timer_irq_active(false)
+ , m_pia_irq_active(false)
{ }
void s11(machine_config &config);
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index 3dfc4c496ce..367c89183f5 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -56,7 +56,7 @@ protected:
optional_ioport m_dswb_io;
optional_ioport m_tjump_io;
- int m_intenable;
+ u8 m_intenable;
std::unique_ptr<u16[]> m_tilevram[4];
/*
diff --git a/src/mame/video/centiped.cpp b/src/mame/video/centiped.cpp
index af0c3e1a7d5..7055d8cf984 100644
--- a/src/mame/video/centiped.cpp
+++ b/src/mame/video/centiped.cpp
@@ -18,17 +18,14 @@
TILE_GET_INFO_MEMBER(centiped_state::centiped_get_tile_info)
{
- uint8_t *videoram = m_videoram;
-
- int data = videoram[tile_index];
+ int data = m_videoram[tile_index];
tileinfo.set(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
}
TILE_GET_INFO_MEMBER(centiped_state::warlords_get_tile_info)
{
- uint8_t *videoram = m_videoram;
- int data = videoram[tile_index];
+ int data = m_videoram[tile_index];
int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (m_flipscreen >> 5);
tileinfo.set(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
@@ -37,8 +34,7 @@ TILE_GET_INFO_MEMBER(centiped_state::warlords_get_tile_info)
TILE_GET_INFO_MEMBER(centiped_state::milliped_get_tile_info)
{
- uint8_t *videoram = m_videoram;
- int data = videoram[tile_index];
+ int data = m_videoram[tile_index];
int bank = ((data >> 6) & 1) | (m_gfx_bank << 1);
int color = (data >> 6) & 3;
/* Flip both x and y if flipscreen is non-zero */
@@ -50,8 +46,7 @@ TILE_GET_INFO_MEMBER(centiped_state::milliped_get_tile_info)
TILE_GET_INFO_MEMBER(centiped_state::bullsdrt_get_tile_info)
{
- uint8_t *videoram = m_videoram;
- int data = videoram[tile_index];
+ int data = m_videoram[tile_index];
int bank = m_bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
tileinfo.set(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
@@ -67,9 +62,7 @@ TILE_GET_INFO_MEMBER(centiped_state::bullsdrt_get_tile_info)
void centiped_state::init_penmask()
{
- int i;
-
- for (i = 0; i < 64; i++)
+ for (int i = 0; i < 64; i++)
{
uint8_t mask = 1;
if (((i >> 0) & 3) == 0) mask |= 2;
@@ -317,7 +310,7 @@ void centiped_state::warlords_palette(palette_device &palette) const
/***************************************************************************
Millipede doesn't have a color PROM, it uses RAM.
- The RAM seems to be conncted to the video output this way:
+ The RAM seems to be connected to the video output this way:
bit 7 red
red
@@ -375,13 +368,11 @@ void centiped_state::milliped_set_color(offs_t offset, uint8_t data)
/* sprite colors - set all the applicable ones */
else
{
- int i;
-
int base = offset & 0x0c;
offset = offset & 0x03;
- for (i = (base << 6); i < (base << 6) + 0x100; i += 4)
+ for (int i = (base << 6); i < (base << 6) + 0x100; i += 4)
{
if (offset == ((i >> 2) & 0x03))
m_palette->set_pen_color(i + 0x10 + 1, color);
@@ -422,9 +413,7 @@ void centiped_state::mazeinv_paletteram_w(offs_t offset, uint8_t data)
uint32_t centiped_state::screen_update_centiped(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- uint8_t *spriteram = m_spriteram;
rectangle spriteclip = cliprect;
- int offs;
/* draw the background */
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@@ -436,16 +425,16 @@ uint32_t centiped_state::screen_update_centiped(screen_device &screen, bitmap_in
spriteclip.max_x -= 8;
/* draw the sprites */
- for (offs = 0; offs < 0x10; offs++)
+ for (int offs = 0; offs < 0x10; offs++)
{
- int code = ((spriteram[offs] & 0x3e) >> 1) | ((spriteram[offs] & 0x01) << 6);
- int color = spriteram[offs + 0x30];
- int flipx = (spriteram[offs] >> 6) & 1;
- int flipy = (spriteram[offs] >> 7) & 1;
- int x = spriteram[offs + 0x20];
- int y = 240 - spriteram[offs + 0x10];
-
- m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
+ int code = ((m_spriteram[offs] & 0x3e) >> 1) | ((m_spriteram[offs] & 0x01) << 6);
+ int color = m_spriteram[offs + 0x30];
+ int flipx = (m_spriteram[offs] >> 6) & 1;
+ int flipy = (m_spriteram[offs] >> 7) & 1;
+ int x = m_spriteram[offs + 0x20];
+ int y = 240 - m_spriteram[offs + 0x10];
+
+ m_gfxdecode->gfx(1)->transmask(bitmap, spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
}
return 0;
}
@@ -453,9 +442,7 @@ uint32_t centiped_state::screen_update_centiped(screen_device &screen, bitmap_in
uint32_t centiped_state::screen_update_warlords(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- uint8_t *spriteram = m_spriteram;
int upright_mode = ioport("IN0")->read() & 0x80;
- int offs;
/* if the cocktail/upright switch flipped, force refresh */
if (m_flipscreen != upright_mode)
@@ -469,13 +456,13 @@ uint32_t centiped_state::screen_update_warlords(screen_device &screen, bitmap_in
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
/* draw the sprites */
- for (offs = 0; offs < 0x10; offs++)
+ for (int offs = 0; offs < 0x10; offs++)
{
- int code = spriteram[offs] & 0x3f;
- int flipx = (spriteram[offs] >> 6) & 1;
- int flipy = (spriteram[offs] >> 7) & 1;
- int x = spriteram[offs + 0x20];
- int y = 248 - spriteram[offs + 0x10];
+ int code = m_spriteram[offs] & 0x3f;
+ int flipx = (m_spriteram[offs] >> 6) & 1;
+ int flipy = (m_spriteram[offs] >> 7) & 1;
+ int x = m_spriteram[offs + 0x20];
+ int y = 248 - m_spriteram[offs + 0x10];
/* The four quadrants have different colors. This is not 100% accurate,
because right on the middle the sprite could actually have two or more
@@ -490,7 +477,7 @@ uint32_t centiped_state::screen_update_warlords(screen_device &screen, bitmap_in
flipx = !flipx;
}
- m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap, cliprect, code, color, flipx, flipy, x, y, 0);
}
return 0;
}
@@ -498,11 +485,8 @@ uint32_t centiped_state::screen_update_warlords(screen_device &screen, bitmap_in
uint32_t centiped_state::screen_update_bullsdrt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- uint8_t *spriteram = m_spriteram;
rectangle spriteclip = cliprect;
- int offs;
-
/* draw the background */
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@@ -513,15 +497,15 @@ uint32_t centiped_state::screen_update_bullsdrt(screen_device &screen, bitmap_in
spriteclip.max_x -= 8;
/* draw the sprites */
- for (offs = 0; offs < 0x10; offs++)
+ for (int offs = 0; offs < 0x10; offs++)
{
- int code = ((spriteram[offs] & 0x3e) >> 1) | ((spriteram[offs] & 0x01) << 6) | (m_bullsdrt_sprites_bank * 0x20);
- int color = spriteram[offs + 0x30];
- int flipy = (spriteram[offs] >> 7) & 1;
- int x = spriteram[offs + 0x20];
- int y = 240 - spriteram[offs + 0x10];
+ int code = ((m_spriteram[offs] & 0x3e) >> 1) | ((m_spriteram[offs] & 0x01) << 6) | (m_bullsdrt_sprites_bank * 0x20);
+ int color = m_spriteram[offs + 0x30];
+ int flipy = (m_spriteram[offs] >> 7) & 1;
+ int x = m_spriteram[offs + 0x20];
+ int y = 240 - m_spriteram[offs + 0x10];
- m_gfxdecode->gfx(1)->transpen(bitmap,spriteclip, code, color & 0x3f, 1, flipy, x, y, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap, spriteclip, code, color & 0x3f, 1, flipy, x, y, 0);
}
return 0;
}
@@ -532,9 +516,7 @@ uint32_t centiped_state::screen_update_bullsdrt(screen_device &screen, bitmap_in
*/
uint32_t centiped_state::screen_update_milliped(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- uint8_t *spriteram = m_spriteram;
rectangle spriteclip = cliprect;
- int offs;
/* draw the background */
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
@@ -546,19 +528,19 @@ uint32_t centiped_state::screen_update_milliped(screen_device &screen, bitmap_in
spriteclip.max_x -= 8;
/* draw the sprites */
- for (offs = 0; offs < 0x10; offs++)
+ for (int offs = 0; offs < 0x10; offs++)
{
- int code = ((spriteram[offs] & 0x3e) >> 1) | ((spriteram[offs] & 0x01) << 6) | (m_gfx_bank << 7);
- int color = spriteram[offs + 0x30];
+ int code = ((m_spriteram[offs] & 0x3e) >> 1) | ((m_spriteram[offs] & 0x01) << 6) | (m_gfx_bank << 7);
+ int color = m_spriteram[offs + 0x30];
int flipx = m_flipscreen;
- int flipy = (spriteram[offs] & 0x80);
- int x = spriteram[offs + 0x20];
- int y = 240 - spriteram[offs + 0x10];
+ int flipy = (m_spriteram[offs] & 0x80);
+ int x = m_spriteram[offs + 0x20];
+ int y = 240 - m_spriteram[offs + 0x10];
if (flipx) {
flipy = !flipy;
}
- m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
+ m_gfxdecode->gfx(1)->transmask(bitmap, spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
}
return 0;
}
diff --git a/src/mame/video/chaknpop.cpp b/src/mame/video/chaknpop.cpp
index 675b0f3644b..7c0ed3679f9 100644
--- a/src/mame/video/chaknpop.cpp
+++ b/src/mame/video/chaknpop.cpp
@@ -78,7 +78,7 @@ void chaknpop_state::gfxmode_w(uint8_t data)
int all_dirty = 0;
m_gfxmode = data;
- membank("bank1")->set_entry((m_gfxmode & GFX_VRAM_BANK) ? 1 : 0); /* Select 2 banks of 16k */
+ m_vram_bank->set_entry((m_gfxmode & GFX_VRAM_BANK) ? 1 : 0); /* Select 2 banks of 16k */
if (m_flip_x != (m_gfxmode & GFX_FLIP_X))
{
@@ -147,22 +147,13 @@ TILE_GET_INFO_MEMBER(chaknpop_state::get_tx_tile_info)
void chaknpop_state::video_start()
{
- uint8_t *RAM = memregion("maincpu")->base();
-
- /* info offset type w h col row */
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(chaknpop_state::get_tx_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- m_vram1 = &RAM[0x10000];
- m_vram2 = &RAM[0x12000];
- m_vram3 = &RAM[0x14000];
- m_vram4 = &RAM[0x16000];
-
- save_pointer(NAME(m_vram1), 0x2000);
- save_pointer(NAME(m_vram2), 0x2000);
- save_pointer(NAME(m_vram3), 0x2000);
- save_pointer(NAME(m_vram4), 0x2000);
+ m_gfxmode = 0;
+ m_flip_x = 0;
+ m_flip_y = 0;
- membank("bank1")->set_entry(0);
+ m_vram_bank->set_entry(0);
tx_tilemap_mark_all_dirty();
machine().save().register_postload(save_prepost_delegate(FUNC(chaknpop_state::tx_tilemap_mark_all_dirty), this));
@@ -224,13 +215,13 @@ void chaknpop_state::draw_bitmap( bitmap_ind16 &bitmap, const rectangle &cliprec
{
pen_t color = 0;
- if (m_vram1[offs] & i)
+ if (m_vram[offs] & i)
color |= 0x200; // green lower cage
- if (m_vram2[offs] & i)
+ if (m_vram[0x2000 + offs] & i)
color |= 0x080;
- if (m_vram3[offs] & i)
+ if (m_vram[0x4000 + offs] & i)
color |= 0x100; // green upper cage
- if (m_vram4[offs] & i)
+ if (m_vram[0x6000 + offs] & i)
color |= 0x040; // tx mask
if (color)
diff --git a/src/mame/video/itech8.cpp b/src/mame/video/itech8.cpp
index e89e5ef5496..13493d10a24 100644
--- a/src/mame/video/itech8.cpp
+++ b/src/mame/video/itech8.cpp
@@ -145,6 +145,7 @@ void itech8_state::video_start()
/* reset statics */
m_page_select = 0xc0;
+ m_blit_in_progress = 0;
save_item(NAME(m_blitter_data));
save_item(NAME(m_blit_in_progress));
diff --git a/src/mame/video/toaplan1.cpp b/src/mame/video/toaplan1.cpp
index b5d95a91242..a3ce5ddc52e 100644
--- a/src/mame/video/toaplan1.cpp
+++ b/src/mame/video/toaplan1.cpp
@@ -222,6 +222,8 @@ void toaplan1_state::register_common()
save_item(NAME(m_tiles_offsety));
save_item(NAME(m_pf_voffs));
save_item(NAME(m_spriteram_offs));
+
+ m_pf_voffs = 0;
}