From ee01ec6aa3a0861731c1971bf9c9b7888f846073 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 11 Jan 2025 17:58:29 +0100 Subject: i8085: correct some variable types --- src/devices/cpu/i8085/i8085.cpp | 30 +++++++++++------------------- src/devices/cpu/i8085/i8085.h | 25 +++++++++++++------------ src/mame/midw8080/8080bw.h | 5 +++-- 3 files changed, 27 insertions(+), 33 deletions(-) diff --git a/src/devices/cpu/i8085/i8085.cpp b/src/devices/cpu/i8085/i8085.cpp index e3af6ad8a4d..627a93cfcd0 100644 --- a/src/devices/cpu/i8085/i8085.cpp +++ b/src/devices/cpu/i8085/i8085.cpp @@ -274,21 +274,13 @@ void i8085a_cpu_device::init_tables() /* flags */ u8 zs = 0; - if (i==0) zs |= ZF; - if (i&128) zs |= SF; - - u8 p = 0; - if (i&1) ++p; - if (i&2) ++p; - if (i&4) ++p; - if (i&8) ++p; - if (i&16) ++p; - if (i&32) ++p; - if (i&64) ++p; - if (i&128) ++p; + if (i == 0) zs |= ZF; + if (i & 0x80) zs |= SF; + + u8 p = (population_count_32(i) & 1) ? 0 : PF; lut_zs[i] = zs; - lut_zsp[i] = zs | ((p&1) ? 0 : PF); + lut_zsp[i] = zs | p; } } @@ -307,11 +299,11 @@ void i8085a_cpu_device::device_start() m_after_ei = 0; m_nmi_state = 0; m_irq_state[3] = m_irq_state[2] = m_irq_state[1] = m_irq_state[0] = 0; - m_trap_pending = 0; + m_trap_pending = false; m_trap_im_copy = 0; - m_sod_state = true; // SOD will go low at reset + m_sod_state = 1; // SOD will go low at reset m_in_acknowledge = false; - m_ietemp = false; + m_ietemp = 0; init_tables(); @@ -382,7 +374,7 @@ void i8085a_cpu_device::device_reset() m_halt = 0; m_im &= ~IM_I75; m_im |= IM_M55 | IM_M65 | IM_M75; - m_after_ei = false; + m_after_ei = 0; m_trap_pending = false; m_trap_im_copy = 0; set_inte(0); @@ -430,11 +422,11 @@ void i8085a_cpu_device::state_export(const device_state_entry &entry) switch (entry.index()) { case I8085_SID: - m_ietemp = ((m_im & IM_SID) != 0) && m_in_sid_func() != 0; + m_ietemp = ((m_im & IM_SID) && m_in_sid_func()) ? 1 : 0; break; case I8085_INTE: - m_ietemp = ((m_im & IM_IE) != 0); + m_ietemp = (m_im & IM_IE) ? 1 : 0; break; default: diff --git a/src/devices/cpu/i8085/i8085.h b/src/devices/cpu/i8085/i8085.h index 23772be54a1..3fc08fafe35 100644 --- a/src/devices/cpu/i8085/i8085.h +++ b/src/devices/cpu/i8085/i8085.h @@ -103,29 +103,30 @@ protected: PAIR m_PC,m_SP,m_AF,m_BC,m_DE,m_HL,m_WZ; u8 m_halt; - u8 m_im; /* interrupt mask (8085A only) */ - u8 m_status; /* status word */ - - u8 m_after_ei; /* post-EI processing; starts at 2, check for ints at 0 */ - u8 m_nmi_state; /* raw NMI line state */ - u8 m_irq_state[4]; /* raw IRQ line states */ - u8 m_trap_pending; /* TRAP interrupt latched? */ - u8 m_trap_im_copy; /* copy of IM register when TRAP was taken */ - u8 m_sod_state; /* state of the SOD line */ + u8 m_im; // interrupt mask (8085A only) + u8 m_status; // status word + + u8 m_after_ei; // post-EI processing; starts at 2, check for ints at 0 + u8 m_nmi_state; // raw NMI line state + u8 m_irq_state[4]; // raw IRQ line states + bool m_trap_pending; // TRAP interrupt latched? + u8 m_trap_im_copy; // copy of IM register when TRAP was taken + u8 m_sod_state; // state of the SOD line bool m_in_acknowledge; - bool m_ietemp; /* import/export temp space */ + u8 m_ietemp; // import/export temp space memory_access<16, 0, 0, ENDIANNESS_LITTLE>::cache m_cprogram, m_copcodes; memory_access<16, 0, 0, ENDIANNESS_LITTLE>::specific m_program; memory_access< 8, 0, 0, ENDIANNESS_LITTLE>::specific m_io; int m_icount; - /* cycles lookup */ + // cycles lookup static const u8 lut_cycles_8080[256]; static const u8 lut_cycles_8085[256]; u8 lut_cycles[256]; - /* flags lookup */ + + // flags lookup u8 lut_zs[256]; u8 lut_zsp[256]; diff --git a/src/mame/midw8080/8080bw.h b/src/mame/midw8080/8080bw.h index 890b654409a..de607cea6c3 100644 --- a/src/mame/midw8080/8080bw.h +++ b/src/mame/midw8080/8080bw.h @@ -450,6 +450,7 @@ private: void ozmawars_port04_w(uint8_t data); void ozmawars_port05_w(uint8_t data); void ozmawars_io_map(address_map &map) ATTR_COLD; + uint8_t m_port03 = 0; uint8_t m_port05 = 0; bool m_sound_enable = 0; @@ -480,8 +481,8 @@ private: void main_map(address_map &map) ATTR_COLD; void io_map(address_map &map) ATTR_COLD; - uint8_t m_port_1_last; - uint8_t m_port_2_last; + uint8_t m_port_1_last = 0; + uint8_t m_port_2_last = 0; }; -- cgit v1.2.3