summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-03-02 18:04:01 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2021-03-02 18:04:01 +0100
commit5f520462505c1f199a26026c5554bfd318184bd5 (patch)
tree782ac471dce74f3630ff41b43861f4a61182257c
parent3c9e3749541b1da8a0c5409c582070aae66dd3d6 (diff)
balsente, dgn_beta, esripsys, fastfred, galaxian, galaxold, goldstar, mbee, model3, pcfx, pcw, prestige, royalmah, seattle, sun3, system16: initialized some variables which were causing incorrect behaviours in drvnoclear debug builds
-rw-r--r--src/mame/drivers/dgn_beta.cpp4
-rw-r--r--src/mame/drivers/pcfx.cpp38
-rw-r--r--src/mame/drivers/pcw.cpp2
-rw-r--r--src/mame/drivers/prestige.cpp12
-rw-r--r--src/mame/drivers/royalmah.cpp6
-rw-r--r--src/mame/drivers/seattle.cpp12
-rw-r--r--src/mame/drivers/sun3.cpp13
-rw-r--r--src/mame/includes/balsente.h8
-rw-r--r--src/mame/includes/dgn_beta.h14
-rw-r--r--src/mame/includes/esripsys.h18
-rw-r--r--src/mame/includes/goldstar.h4
-rw-r--r--src/mame/includes/system16.h3
-rw-r--r--src/mame/machine/dgn_beta.cpp3
-rw-r--r--src/mame/machine/mbee.cpp4
-rw-r--r--src/mame/video/balsente.cpp3
-rw-r--r--src/mame/video/dgn_beta.cpp2
-rw-r--r--src/mame/video/esripsys.cpp2
-rw-r--r--src/mame/video/fastfred.cpp5
-rw-r--r--src/mame/video/galaxian.cpp1
-rw-r--r--src/mame/video/galaxold.cpp4
-rw-r--r--src/mame/video/mbee.cpp2
-rw-r--r--src/mame/video/model3.cpp2
-rw-r--r--src/mame/video/pcw.cpp2
23 files changed, 119 insertions, 45 deletions
diff --git a/src/mame/drivers/dgn_beta.cpp b/src/mame/drivers/dgn_beta.cpp
index b66254426dd..1d1b53d498b 100644
--- a/src/mame/drivers/dgn_beta.cpp
+++ b/src/mame/drivers/dgn_beta.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Nathan Woods
/***************************************************************************
- drivers/dgn_beta.c
+ drivers/dgn_beta.cpp
Dragon Beta prototype, based on two 68B09E processors, WD2797, 6845.
@@ -383,7 +383,7 @@ void dgn_beta_state::dgnbeta(machine_config &config)
}
ROM_START(dgnbeta)
- ROM_REGION(0x4000,MAINCPU_TAG,0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_SYSTEM_BIOS( 0, "bootrom", "Dragon Beta OS-9 Boot ROM (15.6.84)" )
ROMX_LOAD("beta_bt.rom" ,0x0000 ,0x4000 ,CRC(4c54c1de) SHA1(141d9fcd2d187c305dff83fce2902a30072aed76), ROM_BIOS(0))
ROM_SYSTEM_BIOS( 1, "testrom", "Dragon Beta Test ROM (1984?)" )
diff --git a/src/mame/drivers/pcfx.cpp b/src/mame/drivers/pcfx.cpp
index 8bd3db25e58..6d0caeb387f 100644
--- a/src/mame/drivers/pcfx.cpp
+++ b/src/mame/drivers/pcfx.cpp
@@ -19,6 +19,9 @@
#include "screen.h"
#include "speaker.h"
+
+namespace {
+
class pcfx_state : public driver_device
{
public:
@@ -29,6 +32,11 @@ public:
void pcfx(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
+
private:
enum
{
@@ -40,26 +48,22 @@ private:
void irq_write(offs_t offset, uint16_t data);
uint16_t pad_r(offs_t offset);
void pad_w(offs_t offset, uint16_t data);
- uint8_t extio_r(offs_t offset);
- void extio_w(offs_t offset, uint8_t data);
+ [[maybe_unused]] uint8_t extio_r(offs_t offset);
+ [[maybe_unused]] void extio_w(offs_t offset, uint8_t data);
- DECLARE_WRITE_LINE_MEMBER( irq8_w );
- DECLARE_WRITE_LINE_MEMBER( irq9_w );
- DECLARE_WRITE_LINE_MEMBER( irq10_w );
- DECLARE_WRITE_LINE_MEMBER( irq11_w );
+ [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER( irq8_w );
+ [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER( irq9_w );
+ [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER( irq10_w );
+ [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER( irq11_w );
DECLARE_WRITE_LINE_MEMBER( irq12_w );
DECLARE_WRITE_LINE_MEMBER( irq13_w );
DECLARE_WRITE_LINE_MEMBER( irq14_w );
- DECLARE_WRITE_LINE_MEMBER( irq15_w );
+ [[maybe_unused]] DECLARE_WRITE_LINE_MEMBER( irq15_w );
TIMER_CALLBACK_MEMBER(pad_func);
void pcfx_io(address_map &map);
void pcfx_mem(address_map &map);
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
-
- virtual void machine_reset() override;
-
// Interrupt controller (component unknown)
uint16_t m_irq_mask;
uint16_t m_irq_pending;
@@ -403,6 +407,16 @@ WRITE_LINE_MEMBER( pcfx_state::irq15_w )
}
+void pcfx_state::machine_start()
+{
+ for (int i = 0; i < 2; i++)
+ {
+ m_pad.ctrl[i] = 0;
+ m_pad.status[i] = 0;
+ m_pad.latch[i] = 0;
+ };
+}
+
void pcfx_state::machine_reset()
{
m_irq_mask = 0xFF;
@@ -480,6 +494,8 @@ ROM_START( pcfxga )
ROM_REGION32_LE( 0x80000, "scsi_rom", ROMREGION_ERASEFF )
ROM_END
+} // Anonymous namespace
+
/***************************************************************************
diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp
index 069e620e0d6..3826a6b226a 100644
--- a/src/mame/drivers/pcw.cpp
+++ b/src/mame/drivers/pcw.cpp
@@ -979,6 +979,8 @@ TIMER_CALLBACK_MEMBER(pcw_state::setup_beep)
void pcw_state::machine_start()
{
m_fdc_interrupt_code = 2;
+ m_vdu_video_control_register = 0;
+ m_nmi_flag = 0;
}
void pcw_state::machine_reset()
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp
index e18fcaec74a..a5e27570588 100644
--- a/src/mame/drivers/prestige.cpp
+++ b/src/mame/drivers/prestige.cpp
@@ -109,6 +109,8 @@ Notes:
#include "softlist.h"
+namespace {
+
class prestige_state : public driver_device
{
public:
@@ -693,6 +695,15 @@ void prestige_state::machine_start()
m_bank4->set_entry(0);
m_bank5->set_entry(0);
+ m_irq_counter = 0;
+
+ m_lcdc.addr1 = 0;
+ m_lcdc.addr2 = 0;
+ m_lcdc.lcd_w = 0;
+ m_lcdc.lcd_h = 0;
+ m_lcdc.fb_width = 0;
+ m_lcdc.split_pos = 0;
+
//pointer to the videoram
m_vram = ram;
}
@@ -917,6 +928,7 @@ ROM_START( gmmc )
ROM_CONTINUE( 0x000000, 0x020000 )
ROM_END
+} // Anonymous namespace
/* Driver */
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index 84ec81c01a0..65b88af22a8 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -110,6 +110,8 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "speaker.h"
+namespace {
+
class royalmah_state : public driver_device
{
public:
@@ -344,6 +346,8 @@ void royalmah_state::machine_start()
save_item(NAME(m_rombank));
save_item(NAME(m_palette_base));
save_item(NAME(m_flip_screen));
+
+ m_palette_base = 0;
}
void royalmah_state::royalmah_palette(palette_device &palette) const
@@ -5413,6 +5417,8 @@ void royalmah_state::init_mjsiyoub()
m_mainbank->set_base(memregion("maincpu")->base() + 0x8000);
}
+} // Anonymous namespace
+
// the original Janputer (Sanritsu) is not yet dumped, basically Royal Mahjong but non-BET type
GAME( 1981, royalmj, 0, royalmah, royalmah, royalmah_state, empty_init, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 )
diff --git a/src/mame/drivers/seattle.cpp b/src/mame/drivers/seattle.cpp
index d11cc9c4373..1efb08c525a 100644
--- a/src/mame/drivers/seattle.cpp
+++ b/src/mame/drivers/seattle.cpp
@@ -333,6 +333,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(i40_r);
DECLARE_CUSTOM_INPUT_MEMBER(gearshift_r);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
required_device<nvram_device> m_nvram;
required_device<mips3_device> m_maincpu;
@@ -424,9 +428,6 @@ private:
DECLARE_WRITE_LINE_MEMBER(ide_interrupt);
DECLARE_WRITE_LINE_MEMBER(vblank_assert);
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
DECLARE_WRITE_LINE_MEMBER(ethernet_interrupt);
DECLARE_WRITE_LINE_MEMBER(ioasic_irq);
void update_vblank_irq();
@@ -485,6 +486,11 @@ void seattle_state::machine_start()
m_leds.resolve();
m_pending_analog_read = 0;
+ m_ethernet_irq_state = 0;
+
+ m_widget.ethernet_addr = 0;
+ m_widget.irq_num = 0;
+ m_widget.irq_mask = 0;
}
diff --git a/src/mame/drivers/sun3.cpp b/src/mame/drivers/sun3.cpp
index 5650ba652ed..093ad0c73b7 100644
--- a/src/mame/drivers/sun3.cpp
+++ b/src/mame/drivers/sun3.cpp
@@ -199,6 +199,8 @@ fefc34a - start of mem_size, which queries ECC registers for each memory board
#include "screen.h"
+namespace {
+
#define TIMEKEEPER_TAG "timekpr"
#define SCC1_TAG "scc1"
#define SCC2_TAG "scc2"
@@ -253,6 +255,10 @@ public:
void ncr5380(device_t *device);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
required_device<m68020_device> m_maincpu;
required_device<z80scc_device> m_scc1;
@@ -260,9 +266,6 @@ private:
required_device<nscsi_bus_device> m_scsibus;
required_device<ncr5380n_device> m_scsi;
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
optional_shared_ptr<uint32_t> m_p_ram;
optional_shared_ptr<uint32_t> m_bw2_vram;
optional_device<address_map_bank_device> m_type0space, m_type1space, m_type2space, m_type3space;
@@ -960,6 +963,7 @@ void sun3_state::machine_start()
m_idprom_ptr = (uint8_t *)m_idprom->base();
m_ram_size = m_ram->size();
m_ram_size_words = m_ram_size >> 2;
+ std::fill(std::begin(m_parregs), std::end(m_parregs), 0);
}
void sun3_state::machine_reset()
@@ -1278,6 +1282,9 @@ ROM_START( sun3_e )
ROM_LOAD( "sun3-e-idprom.bin", 0x000000, 0x000020, CRC(d1a92116) SHA1(4836f3188f2c3dd5ba49ab66e0b55caa6b1b1791) )
ROM_END
+} // Anonymous namespace
+
+
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 198?, sun3_50, 0, 0, sun3_50, sun3, sun3_state, empty_init, "Sun Microsystems", "Sun 3/50", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // Model 25
COMP( 1988, sun3_60, 0, 0, sun3_60, sun3, sun3_state, empty_init, "Sun Microsystems", "Sun 3/60", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // Ferrari
diff --git a/src/mame/includes/balsente.h b/src/mame/includes/balsente.h
index fcea6d0fb56..3f7fbd35f48 100644
--- a/src/mame/includes/balsente.h
+++ b/src/mame/includes/balsente.h
@@ -94,6 +94,11 @@ public:
void init_nametune();
void init_gghost();
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
private:
void random_reset_w(uint8_t data);
uint8_t random_num_r();
@@ -126,9 +131,6 @@ private:
void paletteram_w(offs_t offset, uint8_t data);
void shrike_sprite_select_w(uint8_t data);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
uint32_t screen_update_balsente(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(update_analog_inputs);
TIMER_CALLBACK_MEMBER(irq_off);
diff --git a/src/mame/includes/dgn_beta.h b/src/mame/includes/dgn_beta.h
index 02f1cd194fd..5ede56d130e 100644
--- a/src/mame/includes/dgn_beta.h
+++ b/src/mame/includes/dgn_beta.h
@@ -20,7 +20,6 @@
/* Tags */
-#define MAINCPU_TAG "maincpu"
#define DMACPU_TAG "dmacpu"
#define PIA_0_TAG "pia_0"
#define PIA_1_TAG "pia_1"
@@ -99,11 +98,16 @@ public:
m_floppy1(*this, FDC_TAG ":1"),
m_floppy2(*this, FDC_TAG ":2"),
m_floppy3(*this, FDC_TAG ":3"),
- m_palette(*this, "palette")
+ m_palette(*this, "palette"),
+ m_system_rom(*this, "maincpu")
{ }
void dgnbeta(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
static void floppy_formats(format_registration &fr);
@@ -121,7 +125,7 @@ private:
required_device<floppy_connector> m_floppy3;
required_device<palette_device> m_palette;
- uint8_t *m_system_rom;
+ required_region_ptr<uint8_t> m_system_rom;
int m_LogDatWrites;
int m_Keyboard[NoKeyrows];
int m_RowShifter;
@@ -138,7 +142,7 @@ private:
int m_PIATaskReg;
int m_EnableMapRegs;
PageReg m_PageRegs[MaxTasks+1][MaxPage+1];
- int m_beta_6845_RA;
+ int m_beta_6845_RA; // TODO: most of the variables from here on aren't used anywhere. Left-over or reminder of things to be implemented?
int m_beta_scr_x;
int m_beta_scr_y;
int m_beta_HSync;
@@ -171,8 +175,6 @@ private:
int m_ColourRAM[4];
int m_Field;
int m_DrawInterlace;
- virtual void machine_start() override;
- virtual void machine_reset() override;
void dgn_beta_palette(palette_device &palette) const;
uint8_t d_pia0_pa_r();
diff --git a/src/mame/includes/esripsys.h b/src/mame/includes/esripsys.h
index 6544fd599b5..37667360e27 100644
--- a/src/mame/includes/esripsys.h
+++ b/src/mame/includes/esripsys.h
@@ -28,12 +28,6 @@
#define CMOS_RAM_SIZE (2048)
#define FDT_RAM_SIZE (2048 * sizeof(uint16_t))
-struct line_buffer_t
-{
- std::unique_ptr<uint8_t[]> colour_buf;
- std::unique_ptr<uint8_t[]> intensity_buf;
- std::unique_ptr<uint8_t[]> priority_buf;
-};
class esripsys_state : public driver_device
{
@@ -56,6 +50,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(keypad_interrupt);
DECLARE_INPUT_CHANGED_MEMBER(coin_interrupt);
+protected:
+ virtual void video_start() override;
+
private:
required_device<cpu_device> m_framecpu;
required_device<esrip_device> m_videocpu;
@@ -83,6 +80,14 @@ private:
uint8_t m_tms_data;
std::unique_ptr<uint8_t[]> m_fdt_a;
std::unique_ptr<uint8_t[]> m_fdt_b;
+
+ struct line_buffer_t
+ {
+ std::unique_ptr<uint8_t[]> colour_buf;
+ std::unique_ptr<uint8_t[]> intensity_buf;
+ std::unique_ptr<uint8_t[]> priority_buf;
+ };
+
struct line_buffer_t m_line_buffer[2];
int m_fasel;
int m_fbsel;
@@ -122,7 +127,6 @@ private:
void esripsys_bg_intensity_w(uint8_t data);
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
void esripsys_dac_w(offs_t offset, uint8_t data);
- virtual void video_start() override;
uint32_t screen_update_esripsys(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(esripsys_vblank_irq);
TIMER_CALLBACK_MEMBER(delayed_bank_swap);
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index ab2915965fd..c0cea98794d 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -28,6 +28,7 @@ public:
m_reel2_scroll(*this, "reel2_scroll"),
m_reel3_scroll(*this, "reel3_scroll"),
m_decrypted_opcodes(*this, "decrypted_opcodes"),
+ m_bgcolor(0),
m_maincpu(*this, "maincpu"),
m_ppi(*this, "ppi8255_%u", 0U),
m_gfxdecode(*this, "gfxdecode"),
@@ -269,6 +270,7 @@ public:
protected:
TILE_GET_INFO_MEMBER(get_magical_fg_tile_info);
+ virtual void machine_start() override { goldstar_state::machine_start(); m_tile_bank = 0; }
private:
optional_device<ds2401_device> m_fl7w4_id;
@@ -276,7 +278,7 @@ private:
uint8_t m_nmi_enable;
uint8_t m_vidreg;
- int m_tile_bank;
+ uint8_t m_tile_bank;
void nd8lines_map(address_map &map);
};
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index 7ca624e289e..b3a0a685532 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -31,6 +31,7 @@ public:
, m_okibank(*this, "okibank")
, m_screen(*this, "screen")
, m_sprites(*this, "sprites")
+ , m_shinobl_kludge(0)
, m_maincpu(*this, "maincpu")
, m_soundcpu(*this, "soundcpu")
, m_msm(*this, "5205")
@@ -239,7 +240,7 @@ private:
int m_beautyb_unkx;
- int m_shinobl_kludge;
+ int m_shinobl_kludge; // TODO: this never gets set, causing unreachable code in get_text_tile_info
int m_eswat_tilebank0;
diff --git a/src/mame/machine/dgn_beta.cpp b/src/mame/machine/dgn_beta.cpp
index eb306f11485..55f35179815 100644
--- a/src/mame/machine/dgn_beta.cpp
+++ b/src/mame/machine/dgn_beta.cpp
@@ -769,8 +769,6 @@ void dgn_beta_state::machine_reset()
{
logerror("dgn_beta_state::machine_reset()\n");
- m_system_rom = memregion(MAINCPU_TAG)->base();
-
/* Make sure CPU 1 is started out halted ! */
m_dmacpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
@@ -813,6 +811,7 @@ void dgn_beta_state::machine_start()
machine().debugger().console().register_command("beta_key_dump", CMDFLAG_NONE, 0, 0, 0, std::bind(&dgn_beta_state::execute_beta_key_dump, this, _1, _2));
}
m_LogDatWrites = false;
+ m_wd2797_written = 0;
}
diff --git a/src/mame/machine/mbee.cpp b/src/mame/machine/mbee.cpp
index c478e908dbf..6613a8b63e2 100644
--- a/src/mame/machine/mbee.cpp
+++ b/src/mame/machine/mbee.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Robbbert
/***************************************************************************
- microbee.cpp
+ mbee.cpp
machine driver
Originally written by Juergen Buchmueller, Jan 2000
@@ -439,6 +439,8 @@ void mbee_state::machine_start()
save_item(NAME(m_fdc_rq));
save_item(NAME(m_bank_array));
+ m_b2 = 0;
+
// banking of the BASIC roms
if (m_basic)
{
diff --git a/src/mame/video/balsente.cpp b/src/mame/video/balsente.cpp
index ad5737a2db7..7a7b14823b2 100644
--- a/src/mame/video/balsente.cpp
+++ b/src/mame/video/balsente.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Aaron Giles
/***************************************************************************
- video/balsente.c
+ video/balsente.cpp
Functions to emulate the video hardware of the machine.
@@ -24,6 +24,7 @@ void balsente_state::video_start()
m_palettebank_vis = 0;
m_sprite_bank[0] = memregion("gfx1")->base();
m_sprite_bank[1] = memregion("gfx1")->base() + 0x10000;
+ std::fill(std::begin(m_expanded_videoram), std::end(m_expanded_videoram), 0);
/* determine sprite size */
m_sprite_data = memregion("gfx1")->base();
diff --git a/src/mame/video/dgn_beta.cpp b/src/mame/video/dgn_beta.cpp
index d2f134e6baa..a4f60be5c7a 100644
--- a/src/mame/video/dgn_beta.cpp
+++ b/src/mame/video/dgn_beta.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Nathan Woods
/*
- video/dgn_beta.c
+ video/dgn_beta.cpp
The Dragon Beta uses a 68B45 for it's display generation, this is used in the
conventional way with a character generator ROM in the two text modes, which are
diff --git a/src/mame/video/esripsys.cpp b/src/mame/video/esripsys.cpp
index fd6e4b33aeb..fa83a01c997 100644
--- a/src/mame/video/esripsys.cpp
+++ b/src/mame/video/esripsys.cpp
@@ -147,6 +147,8 @@ void esripsys_state::video_start()
save_item(NAME(m_video_firq_en));
save_item(NAME(m_frame_vbl));
save_item(NAME(m_12sel));
+
+ m_12sel = 0;
}
uint32_t esripsys_state::screen_update_esripsys(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/fastfred.cpp b/src/mame/video/fastfred.cpp
index 8344555112f..5594131f0af 100644
--- a/src/mame/video/fastfred.cpp
+++ b/src/mame/video/fastfred.cpp
@@ -332,9 +332,13 @@ VIDEO_START_MEMBER(fastfred_state,imago)
m_bg_tilemap->set_transparent_pen(0);
m_fg_tilemap->set_transparent_pen(0);
+ m_flipscreen_x = 0;
+ m_flipscreen_y = 0;
+
/* the game has a galaxian starfield */
galaxold_init_stars(256);
m_stars_on = 1;
+ m_stars_scrollpos = 0;
/* web colors */
m_palette->set_pen_color(256+64+0,rgb_t(0x50,0x00,0x00));
@@ -348,7 +352,6 @@ VIDEO_START_MEMBER(fastfred_state,imago)
save_item(NAME(m_stars_on));
save_item(NAME(m_stars_blink_state));
save_item(NAME(m_timer_adjusted));
- save_item(NAME(m_stars_colors_start));
save_item(NAME(m_stars_scrollpos));
for (int i = 0; i < STAR_COUNT; i++)
diff --git a/src/mame/video/galaxian.cpp b/src/mame/video/galaxian.cpp
index 74b5ebb7c4b..6d3e7356812 100644
--- a/src/mame/video/galaxian.cpp
+++ b/src/mame/video/galaxian.cpp
@@ -408,6 +408,7 @@ void galaxian_state::video_start()
m_background_blue = 0;
m_background_red = 0;
m_background_green = 0;
+ std::fill(std::begin(m_gfxbank), std::end(m_gfxbank), 0);
/* initialize stars */
stars_init();
diff --git a/src/mame/video/galaxold.cpp b/src/mame/video/galaxold.cpp
index 9fa197b8e02..240caa1e34b 100644
--- a/src/mame/video/galaxold.cpp
+++ b/src/mame/video/galaxold.cpp
@@ -372,6 +372,7 @@ void galaxold_state::video_start_common()
m_background_red = 0;
m_background_green = 0;
+ m_stars_on = 0;
m_draw_stars = &galaxold_state::noop_draw_stars;
m_flipscreen_x = 0;
@@ -379,6 +380,8 @@ void galaxold_state::video_start_common()
m_spriteram2_present = 0;
+ std::fill(std::begin(m_gfxbank), std::end(m_gfxbank), 0);
+
state_save_register();
}
@@ -725,6 +728,7 @@ VIDEO_START_MEMBER(galaxold_state,dambustr)
m_dambustr_bg_color_2 = 0;
m_dambustr_bg_priority = 0;
m_dambustr_char_bank = 0;
+ m_stars_scrollpos = 0;
m_draw_background = &galaxold_state::dambustr_draw_background;
diff --git a/src/mame/video/mbee.cpp b/src/mame/video/mbee.cpp
index 9d429184df6..558ab982240 100644
--- a/src/mame/video/mbee.cpp
+++ b/src/mame/video/mbee.cpp
@@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Robbbert
/***************************************************************************
- microbee.c
+ mbee.cpp
video hardware
Originally written by Juergen Buchmueller, Dec 1999
diff --git a/src/mame/video/model3.cpp b/src/mame/video/model3.cpp
index 918653160ca..7966cd293ac 100644
--- a/src/mame/video/model3.cpp
+++ b/src/mame/video/model3.cpp
@@ -197,6 +197,8 @@ void model3_state::video_start()
m_vid_reg0 = 0;
+ std::fill_n(&m_texcache[0][0][0], 2 * (1024 / 32) * (2048 / 32), nullptr);
+
m_layer4[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(model3_state::tile_info_layer0_4bit)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_layer8[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(model3_state::tile_info_layer0_8bit)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_layer4[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(model3_state::tile_info_layer1_4bit)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
diff --git a/src/mame/video/pcw.cpp b/src/mame/video/pcw.cpp
index 755323a15a6..5060a313b15 100644
--- a/src/mame/video/pcw.cpp
+++ b/src/mame/video/pcw.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Kevin Thacker
/***************************************************************************
- pcw.c
+ pcw.cpp
Functions to emulate the video hardware of the Amstrad PCW.