summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2022-04-10 16:29:53 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2022-04-10 16:29:53 +1000
commita879b3e1a8cf0e392696e12f5dba5d45be0dc826 (patch)
treef0e5325f173ea2b371b8937b65200bc6bedf66c8
parent7ac35ce393ed700b204e9e17f8030148966359b7 (diff)
pmd85: init vars, coverity 316086
-rw-r--r--src/mame/includes/pmd85.h22
-rw-r--r--src/mame/machine/pmd85.cpp12
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()