pmd85: init vars, coverity 316086

This commit is contained in:
Robbbert 2022-04-10 16:29:53 +10:00
parent 7ac35ce393
commit a879b3e1a8
2 changed files with 20 additions and 14 deletions

View File

@ -27,6 +27,7 @@ public:
, m_maincpu(*this, "maincpu") , m_maincpu(*this, "maincpu")
, m_rom(*this, "maincpu") , m_rom(*this, "maincpu")
, m_ram(*this, RAM_TAG) , m_ram(*this, RAM_TAG)
, m_user1(*this, "user1")
, m_cassette(*this, "cassette") , m_cassette(*this, "cassette")
, m_speaker(*this, "speaker") , m_speaker(*this, "speaker")
, m_pit(*this, "pit") , m_pit(*this, "pit")
@ -66,16 +67,16 @@ private:
TIMER_CASSETTE TIMER_CASSETTE
}; };
bool m_txd, m_rts; bool m_txd = false, m_rts = false;
uint8_t m_rom_module_present; uint8_t m_rom_module_present = 0;
uint8_t m_ppi_port_outputs[4][3]; uint8_t m_ppi_port_outputs[4][3]{};
uint8_t m_startup_mem_map; uint8_t m_startup_mem_map = 0;
uint8_t m_pmd853_memory_mapping; uint8_t m_pmd853_memory_mapping = 0;
bool m_previous_level; bool m_previous_level = false;
bool m_clk_level; bool m_clk_level = false;
bool m_clk_level_tape; bool m_clk_level_tape = false;
uint8_t m_model; uint8_t m_model = 0;
emu_timer * m_cassette_timer; emu_timer * m_cassette_timer = nullptr;
void (pmd85_state::*update_memory)(); void (pmd85_state::*update_memory)();
uint8_t io_r(offs_t offset); uint8_t io_r(offs_t offset);
void io_w(offs_t offset, uint8_t data); void io_w(offs_t offset, uint8_t data);
@ -136,6 +137,7 @@ private:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_rom; required_region_ptr<u8> m_rom;
required_device<ram_device> m_ram; required_device<ram_device> m_ram;
optional_memory_region m_user1;
required_device<cassette_image_device> m_cassette; required_device<cassette_image_device> m_cassette;
required_device<speaker_sound_device> m_speaker; required_device<speaker_sound_device> m_speaker;
required_device<pit8253_device> m_pit; required_device<pit8253_device> m_pit;

View File

@ -394,9 +394,13 @@ void pmd85_state::ppi2_portc_w(uint8_t data)
uint8_t pmd85_state::ppi3_porta_r() uint8_t pmd85_state::ppi3_porta_r()
{ {
if (memregion("user1")->base()) if (m_user1)
return memregion("user1")->base()[m_ppi_port_outputs[3][1] | (m_ppi_port_outputs[3][2] << 8)]; {
else 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; return 0;
} }