diff options
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 |
commit | 5f520462505c1f199a26026c5554bfd318184bd5 (patch) | |
tree | 782ac471dce74f3630ff41b43861f4a61182257c | |
parent | 3c9e3749541b1da8a0c5409c582070aae66dd3d6 (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.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/pcfx.cpp | 38 | ||||
-rw-r--r-- | src/mame/drivers/pcw.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/prestige.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/royalmah.cpp | 6 | ||||
-rw-r--r-- | src/mame/drivers/seattle.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/sun3.cpp | 13 | ||||
-rw-r--r-- | src/mame/includes/balsente.h | 8 | ||||
-rw-r--r-- | src/mame/includes/dgn_beta.h | 14 | ||||
-rw-r--r-- | src/mame/includes/esripsys.h | 18 | ||||
-rw-r--r-- | src/mame/includes/goldstar.h | 4 | ||||
-rw-r--r-- | src/mame/includes/system16.h | 3 | ||||
-rw-r--r-- | src/mame/machine/dgn_beta.cpp | 3 | ||||
-rw-r--r-- | src/mame/machine/mbee.cpp | 4 | ||||
-rw-r--r-- | src/mame/video/balsente.cpp | 3 | ||||
-rw-r--r-- | src/mame/video/dgn_beta.cpp | 2 | ||||
-rw-r--r-- | src/mame/video/esripsys.cpp | 2 | ||||
-rw-r--r-- | src/mame/video/fastfred.cpp | 5 | ||||
-rw-r--r-- | src/mame/video/galaxian.cpp | 1 | ||||
-rw-r--r-- | src/mame/video/galaxold.cpp | 4 | ||||
-rw-r--r-- | src/mame/video/mbee.cpp | 2 | ||||
-rw-r--r-- | src/mame/video/model3.cpp | 2 | ||||
-rw-r--r-- | src/mame/video/pcw.cpp | 2 |
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. |