From c17c665bbe0d297e89ea0e1df1d6773f80f380a3 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 27 Nov 2019 18:25:07 +0100 Subject: ygv608.cpp: initialized stuff in the constructor (nw) --- src/mame/video/ygv608.cpp | 104 +++++++++++++++++++++++++++++++++++++++++++++- src/mame/video/ygv608.h | 20 ++++----- 2 files changed, 112 insertions(+), 12 deletions(-) diff --git a/src/mame/video/ygv608.cpp b/src/mame/video/ygv608.cpp index fa0d6f4393d..f80e467ab40 100644 --- a/src/mame/video/ygv608.cpp +++ b/src/mame/video/ygv608.cpp @@ -322,9 +322,109 @@ ygv608_device::ygv608_device( const machine_config &mconfig, const char *tag, de device_palette_interface(mconfig, *this), device_video_interface(mconfig, *this), m_io_space_config("io", ENDIANNESS_BIG, 8, 6, 0, address_map_constructor(FUNC(ygv608_device::regs_map), this)), + m_namcond1_gfxbank(0), + m_tilemap_A(nullptr), + m_tilemap_B(nullptr), + m_work_bitmap(0), + m_bits16(0), + m_page_x(0), + m_page_y(0), + m_pny_shift(0), + m_na8_mask(0), + m_col_shift(0), + m_base_y_shift(0), + m_screen_resize(0), + m_tilemap_resize(0), + m_color_state_r(0), + m_color_state_w(0), + m_p0_state(0), + m_pattern_name_base_r(0), + m_pattern_name_base_w(0), + m_screen_status(0), + m_dma_status(0), + m_register_address(0), + m_register_autoinc_r(0), + m_register_autoinc_w(0), + m_raster_irq_mask(0), + m_vblank_irq_mask(0), + m_raster_irq_hpos(0), + m_raster_irq_vpos(0), + m_raster_irq_mode(0), + m_scroll_address(0), + m_palette_address(0), + m_sprite_address(0), + m_sprite_bank(0), + m_xtile_ptr(0), + m_ytile_ptr(0), + m_xtile_autoinc(0), + m_ytile_autoinc(0), + m_plane_select_access(0), + m_mosaic_aplane(0), + m_mosaic_bplane(0), + m_sprite_disable(0), + m_sprite_aux_mode(0), + m_sprite_aux_reg(0), + m_border_color(0), + m_saar(0), + m_saaw(0), + m_scar(0), + m_scaw(0), + m_cpar(0), + m_cpaw(0), + m_ba_plane_scroll_select(0), + m_dspe(0), + m_md(0), + m_zron(0), + m_flip(0), + m_dckm(0), + m_page_size(0), + m_h_display_size(0), + m_v_display_size(0), + m_roz_wrap_disable(0), + m_scroll_wrap_disable(0), + m_pattern_size(0), + m_h_div_size(0), + m_v_div_size(0), + m_planeA_trans_enable(0), + m_planeB_trans_enable(0), + m_priority_mode(0), + m_cbdr(0), + m_yse(0), + m_scm(0), + m_planeA_color_fetch(0), + m_planeB_color_fetch(0), + m_sprite_color_fetch(0), m_vblank_handler(*this), - m_raster_handler(*this) -{ + m_raster_handler(*this), + m_vblank_timer(nullptr), + m_raster_timer(nullptr), + m_ax(0), + m_dx(0), + m_dxy(0), + m_ay(0), + m_dy(0), + m_dyx(0), + m_raw_ax(0), + m_raw_dx(0), + m_raw_dxy(0), + m_raw_ay(0), + m_raw_dy(0), + m_raw_dyx(0) +{ + std::fill(std::begin(m_pattern_name_table), std::end(m_pattern_name_table), 0); + std::fill(std::begin(m_tilemap_A_cache_8), std::end(m_tilemap_A_cache_8), nullptr); + std::fill(std::begin(m_tilemap_A_cache_16), std::end(m_tilemap_A_cache_16), nullptr); + std::fill(std::begin(m_tilemap_B_cache_8), std::end(m_tilemap_B_cache_8), nullptr); + std::fill(std::begin(m_tilemap_B_cache_16), std::end(m_tilemap_B_cache_16), nullptr); + + for (int i = 0; i < 2; i++) + { + std::fill(std::begin(m_scroll_data_table[i]), std::end(m_scroll_data_table[i]), 0); + std::fill(std::begin(m_base_addr[i]), std::end(m_base_addr[i]), 0); + } + + for (int i = 0; i < 256; i++) + std::fill(std::begin(m_colour_palette[i]), std::end(m_colour_palette[i]), 0); } //------------------------------------------------- diff --git a/src/mame/video/ygv608.h b/src/mame/video/ygv608.h index 383b3471db3..6d52352b139 100644 --- a/src/mame/video/ygv608.h +++ b/src/mame/video/ygv608.h @@ -272,16 +272,16 @@ private: }; struct { - int htotal; /**< HTL: horizontal total number of dots x 2 */ - int vtotal; /**< VTL: vertical total number of lines x 1 */ - int display_hstart; /**< HDS: horizontal display starting position x 2*/ - int display_vstart; /**< VDS: vertical display starting position x 1 */ - int display_width; /**< HDW: horizontal display size x 16 */ - int display_height; /**< VDW: vertical display size x 8 */ - int display_hsync; /**< HSW: horizontal sync signal x 16 */ - int display_vsync; /**< VSW: vertical sync signal x 1 */ - int border_width; /**< HBW: horizontal border size x 16 */ - int border_height; /**< VBW: vertical border size x 8 */ + int htotal = 0; /**< HTL: horizontal total number of dots x 2 */ + int vtotal = 0; /**< VTL: vertical total number of lines x 1 */ + int display_hstart = 0; /**< HDS: horizontal display starting position x 2*/ + int display_vstart = 0; /**< VDS: vertical display starting position x 1 */ + int display_width = 0; /**< HDW: horizontal display size x 16 */ + int display_height = 0; /**< VDW: vertical display size x 8 */ + int display_hsync = 0; /**< HSW: horizontal sync signal x 16 */ + int display_vsync = 0; /**< VSW: vertical sync signal x 1 */ + int border_width = 0; /**< HBW: horizontal border size x 16 */ + int border_height = 0; /**< VBW: vertical border size x 8 */ }m_crtc; // rotation, zoom shortcuts -- cgit v1.2.3