diff options
author | 2022-04-10 16:29:53 +1000 | |
---|---|---|
committer | 2022-04-10 16:29:53 +1000 | |
commit | a879b3e1a8cf0e392696e12f5dba5d45be0dc826 (patch) | |
tree | f0e5325f173ea2b371b8937b65200bc6bedf66c8 | |
parent | 7ac35ce393ed700b204e9e17f8030148966359b7 (diff) |
pmd85: init vars, coverity 316086
-rw-r--r-- | src/mame/includes/pmd85.h | 22 | ||||
-rw-r--r-- | src/mame/machine/pmd85.cpp | 12 |
2 files changed, 20 insertions, 14 deletions
diff --git a/src/mame/includes/pmd85.h b/src/mame/includes/pmd85.h index 7741c6dcdf2..48d3c98d3f5 100644 --- a/src/mame/includes/pmd85.h +++ b/src/mame/includes/pmd85.h @@ -27,6 +27,7 @@ public: , m_maincpu(*this, "maincpu") , m_rom(*this, "maincpu") , m_ram(*this, RAM_TAG) + , m_user1(*this, "user1") , m_cassette(*this, "cassette") , m_speaker(*this, "speaker") , m_pit(*this, "pit") @@ -66,16 +67,16 @@ private: TIMER_CASSETTE }; - bool m_txd, m_rts; - uint8_t m_rom_module_present; - uint8_t m_ppi_port_outputs[4][3]; - uint8_t m_startup_mem_map; - uint8_t m_pmd853_memory_mapping; - bool m_previous_level; - bool m_clk_level; - bool m_clk_level_tape; - uint8_t m_model; - emu_timer * m_cassette_timer; + bool m_txd = false, m_rts = false; + uint8_t m_rom_module_present = 0; + uint8_t m_ppi_port_outputs[4][3]{}; + uint8_t m_startup_mem_map = 0; + uint8_t m_pmd853_memory_mapping = 0; + bool m_previous_level = false; + bool m_clk_level = false; + bool m_clk_level_tape = false; + uint8_t m_model = 0; + emu_timer * m_cassette_timer = nullptr; void (pmd85_state::*update_memory)(); uint8_t io_r(offs_t offset); void io_w(offs_t offset, uint8_t data); @@ -136,6 +137,7 @@ private: required_device<cpu_device> m_maincpu; required_region_ptr<u8> m_rom; required_device<ram_device> m_ram; + optional_memory_region m_user1; required_device<cassette_image_device> m_cassette; required_device<speaker_sound_device> m_speaker; required_device<pit8253_device> m_pit; diff --git a/src/mame/machine/pmd85.cpp b/src/mame/machine/pmd85.cpp index c2895d0a7d3..8e3829a64c5 100644 --- a/src/mame/machine/pmd85.cpp +++ b/src/mame/machine/pmd85.cpp @@ -394,10 +394,14 @@ void pmd85_state::ppi2_portc_w(uint8_t data) uint8_t pmd85_state::ppi3_porta_r() { - if (memregion("user1")->base()) - return memregion("user1")->base()[m_ppi_port_outputs[3][1] | (m_ppi_port_outputs[3][2] << 8)]; - else - return 0; + if (m_user1) + { + u16 t = m_ppi_port_outputs[3][1] | (m_ppi_port_outputs[3][2] << 8); + if (t < m_user1->bytes()) + return m_user1->base()[t]; + } + + return 0; } uint8_t pmd85_state::ppi3_portb_r() |