diff --git a/devices/video/atimach64gx.cpp b/devices/video/atimach64gx.cpp index 647d63f..5979103 100644 --- a/devices/video/atimach64gx.cpp +++ b/devices/video/atimach64gx.cpp @@ -797,6 +797,7 @@ void AtiMach64Gx::rgb514_write_reg(uint8_t reg_addr, uint8_t value) switch (reg_addr) { case Rgb514::CLUT_ADDR_WR: this->clut_index = value; + this->comp_index = 0; break; case Rgb514::CLUT_DATA: this->clut_color[this->comp_index++] = value; diff --git a/devices/video/atimach64gx.h b/devices/video/atimach64gx.h index e48bf82..8c5edc3 100644 --- a/devices/video/atimach64gx.h +++ b/devices/video/atimach64gx.h @@ -87,12 +87,12 @@ private: uint32_t mm_regs_offset = 0; // RGB514 RAMDAC state - uint8_t dac_idx_lo; - uint8_t dac_idx_hi; - uint8_t clut_index; - uint8_t comp_index; - uint8_t clut_color[3]; - uint8_t dac_regs[256]; + uint8_t dac_idx_lo = 0; + uint8_t dac_idx_hi = 0; + uint8_t clut_index = 0; + uint8_t comp_index = 0; + uint8_t clut_color[3] = {0}; + uint8_t dac_regs[256] = {0}; std::unique_ptr disp_id; std::unique_ptr vram_ptr;