diff options
| author | 2025-12-27 04:55:41 +1100 | |
|---|---|---|
| committer | 2025-12-27 04:55:41 +1100 | |
| commit | a94de09120cf3340af04ade68dc882b71e615ebf (patch) | |
| tree | f06d00067afaa8551868da401d1187976b74451a | |
| parent | 939f3126e321254a1d943e8a49827843c1e0c574 (diff) | |
machine/tms9914.cpp: Suppress side effects for debugger reads.
Also use "English" spacing.
| -rw-r--r-- | src/devices/bus/a2bus/a2ieee488.cpp | 8 | ||||
| -rw-r--r-- | src/devices/machine/tms9914.cpp | 268 | ||||
| -rw-r--r-- | src/devices/machine/tms9914.h | 21 | ||||
| -rw-r--r-- | src/mame/sony/psx.cpp | 3 |
4 files changed, 154 insertions, 146 deletions
diff --git a/src/devices/bus/a2bus/a2ieee488.cpp b/src/devices/bus/a2bus/a2ieee488.cpp index 4707b463d77..109e1ad0ea7 100644 --- a/src/devices/bus/a2bus/a2ieee488.cpp +++ b/src/devices/bus/a2bus/a2ieee488.cpp @@ -85,6 +85,7 @@ #include "bus/ieee488/ieee488.h" #include "machine/tms9914.h" + namespace { class a2bus_ieee488_device: @@ -166,12 +167,7 @@ a2bus_ieee488_device::a2bus_ieee488_device(const machine_config &mconfig, device uint8_t a2bus_ieee488_device::read_c0nx(uint8_t offset) { - uint8_t data = 0xff; - if (!machine().side_effects_disabled()) - { - data = m_tms9914->read(offset & 0x07); - } - return data; + return m_tms9914->read(offset & 0x07); } void a2bus_ieee488_device::write_c0nx(uint8_t offset, uint8_t data) diff --git a/src/devices/machine/tms9914.cpp b/src/devices/machine/tms9914.cpp index 2d77f3dd1bd..7ef61ea5b84 100644 --- a/src/devices/machine/tms9914.cpp +++ b/src/devices/machine/tms9914.cpp @@ -37,12 +37,12 @@ namespace { return (T)1U << n; } - template<typename T> void BIT_CLR(T& w , unsigned n) + template<typename T> void BIT_CLR(T& w, unsigned n) { w &= ~BIT_MASK<T>(n); } - template<typename T> void BIT_SET(T& w , unsigned n) + template<typename T> void BIT_SET(T& w, unsigned n) { w |= BIT_MASK<T>(n); } @@ -175,7 +175,7 @@ DEFINE_DEVICE_TYPE(TMS9914, tms9914_device, "tms9914", "TMS9914 GPIB Controller" // Constructors tms9914_device::tms9914_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig , TMS9914 , tag , owner , clock), + device_t(mconfig, TMS9914, tag, owner, clock), m_dio_read_func(*this, 0xff), m_dio_write_func(*this), m_signal_wr_fns(*this), @@ -241,33 +241,33 @@ tms9914_device::tms9914_device(const machine_config &mconfig, const char *tag, d // Signal inputs void tms9914_device::eoi_w(int state) { - set_ext_signal(IEEE_488_EOI , state); + set_ext_signal(IEEE_488_EOI, state); } void tms9914_device::dav_w(int state) { - set_ext_signal(IEEE_488_DAV , state); + set_ext_signal(IEEE_488_DAV, state); } void tms9914_device::nrfd_w(int state) { - set_ext_signal(IEEE_488_NRFD , state); + set_ext_signal(IEEE_488_NRFD, state); } void tms9914_device::ndac_w(int state) { - set_ext_signal(IEEE_488_NDAC , state); + set_ext_signal(IEEE_488_NDAC, state); } void tms9914_device::ifc_w(int state) { - set_ext_signal(IEEE_488_IFC , state); + set_ext_signal(IEEE_488_IFC, state); } void tms9914_device::srq_w(int state) { bool prev_srq = get_signal(IEEE_488_SRQ); - set_ext_signal(IEEE_488_SRQ , state); + set_ext_signal(IEEE_488_SRQ, state); if (cont_r() && !prev_srq && get_signal(IEEE_488_SRQ)) { set_int1_bit(REG_INT1_SRQ_BIT); } @@ -275,18 +275,18 @@ void tms9914_device::srq_w(int state) void tms9914_device::atn_w(int state) { - set_ext_signal(IEEE_488_ATN , state); + set_ext_signal(IEEE_488_ATN, state); } void tms9914_device::ren_w(int state) { - set_ext_signal(IEEE_488_REN , state); + set_ext_signal(IEEE_488_REN, state); } // Register I/O void tms9914_device::write(offs_t offset, uint8_t data) { - LOG_REG("W %u=%02x\n" , offset , data); + LOG_REG("W %u=%02x\n", offset, data); switch (offset) { case REG_W_INT_MASK0: @@ -300,14 +300,14 @@ void tms9914_device::write(offs_t offset, uint8_t data) break; case REG_W_AUX_CMD: - do_aux_cmd(data & REG_AUXCMD_CMD_MASK , BIT(data , REG_AUXCMD_CS_BIT)); + do_aux_cmd(data & REG_AUXCMD_CMD_MASK, BIT(data, REG_AUXCMD_CS_BIT)); break; case REG_W_ADDRESS: { uint8_t diff = m_reg_address ^ data; m_reg_address = data; - if (BIT(diff , REG_ADDR_DAT_BIT) || BIT(diff , REG_ADDR_DAL_BIT)) { + if (BIT(diff, REG_ADDR_DAT_BIT) || BIT(diff, REG_ADDR_DAL_BIT)) { update_fsm(); } } @@ -317,7 +317,7 @@ void tms9914_device::write(offs_t offset, uint8_t data) { uint8_t diff = m_reg_2nd_serial_p ^ data; m_reg_2nd_serial_p = data; - if (BIT(diff , REG_SERIAL_P_RSV1_BIT)) { + if (BIT(diff, REG_SERIAL_P_RSV1_BIT)) { update_fsm(); } } @@ -344,7 +344,7 @@ void tms9914_device::write(offs_t offset, uint8_t data) set_accrq(false); if (!m_swrst) { - BIT_CLR(m_reg_int0_status , REG_INT0_BO_BIT); + BIT_CLR(m_reg_int0_status, REG_INT0_BO_BIT); update_int(); if (m_t_eoi_state == FSM_T_ENRS) { m_t_eoi_state = FSM_T_ERAS; @@ -363,7 +363,7 @@ void tms9914_device::write(offs_t offset, uint8_t data) break; default: - LOG("Write to unmapped reg %u\n" , offset); + LOG("Write to unmapped reg %u\n", offset); break; } } @@ -375,69 +375,73 @@ uint8_t tms9914_device::read(offs_t offset) switch (offset) { case REG_R_INT_STAT0: res = m_reg_int0_status; - m_reg_int0_status = 0; - update_int(); + if (!machine().side_effects_disabled()) { + m_reg_int0_status = 0; + update_int(); + } break; case REG_R_INT_STAT1: res = m_reg_int1_status; - m_reg_int1_status = 0; - update_int(); + if (!machine().side_effects_disabled()) { + m_reg_int1_status = 0; + update_int(); + } break; case REG_R_ADDR_STAT: res = 0; if (m_reg_ulpa) { - BIT_SET(res , REG_AS_ULPA_BIT); + BIT_SET(res, REG_AS_ULPA_BIT); } if (m_t_state != FSM_T_TIDS) { - BIT_SET(res , REG_AS_TADS_BIT); + BIT_SET(res, REG_AS_TADS_BIT); } if (m_l_state != FSM_L_LIDS) { - BIT_SET(res , REG_AS_LADS_BIT); + BIT_SET(res, REG_AS_LADS_BIT); } if (m_t_tpas) { - BIT_SET(res , REG_AS_TPAS_BIT); + BIT_SET(res, REG_AS_TPAS_BIT); } if (m_l_lpas) { - BIT_SET(res , REG_AS_LPAS_BIT); + BIT_SET(res, REG_AS_LPAS_BIT); } if (get_signal(IEEE_488_ATN)) { - BIT_SET(res , REG_AS_ATN_BIT); + BIT_SET(res, REG_AS_ATN_BIT); } if (m_rl_state == FSM_RL_RWLS || m_rl_state == FSM_RL_LWLS) { - BIT_SET(res , REG_AS_LLO_BIT); + BIT_SET(res, REG_AS_LLO_BIT); } if (m_rl_state == FSM_RL_REMS || m_rl_state == FSM_RL_RWLS) { - BIT_SET(res , REG_AS_REM_BIT); + BIT_SET(res, REG_AS_REM_BIT); } break; case REG_R_BUS_STAT: res = 0; if (get_signal(IEEE_488_REN)) { - BIT_SET(res , REG_BS_REN_BIT); + BIT_SET(res, REG_BS_REN_BIT); } if (get_ifcin()) { - BIT_SET(res , REG_BS_IFC_BIT); + BIT_SET(res, REG_BS_IFC_BIT); } if (get_signal(IEEE_488_SRQ)) { - BIT_SET(res , REG_BS_SRQ_BIT); + BIT_SET(res, REG_BS_SRQ_BIT); } if (get_signal(IEEE_488_EOI)) { - BIT_SET(res , REG_BS_EOI_BIT); + BIT_SET(res, REG_BS_EOI_BIT); } if (get_signal(IEEE_488_NRFD)) { - BIT_SET(res , REG_BS_NRFD_BIT); + BIT_SET(res, REG_BS_NRFD_BIT); } if (get_signal(IEEE_488_NDAC)) { - BIT_SET(res , REG_BS_NDAC_BIT); + BIT_SET(res, REG_BS_NDAC_BIT); } if (get_signal(IEEE_488_DAV)) { - BIT_SET(res , REG_BS_DAV_BIT); + BIT_SET(res, REG_BS_DAV_BIT); } if (get_signal(IEEE_488_ATN)) { - BIT_SET(res , REG_BS_ATN_BIT); + BIT_SET(res, REG_BS_ATN_BIT); } break; @@ -447,32 +451,38 @@ uint8_t tms9914_device::read(offs_t offset) case REG_R_DI: res = m_reg_di; - BIT_CLR(m_reg_int0_status , REG_INT0_BI_BIT); - update_int(); - set_accrq(false); - if (!m_hdfa && m_ah_anhs) { - m_ah_anhs = false; - update_fsm(); + if (!machine().side_effects_disabled()) { + BIT_CLR(m_reg_int0_status, REG_INT0_BI_BIT); + update_int(); + set_accrq(false); + if (!m_hdfa && m_ah_anhs) { + m_ah_anhs = false; + update_fsm(); + } + // TODO: ACRS -> ANRS ? } - // TODO: ACRS -> ANRS ? break; default: - LOG("Read from unmapped reg %u\n" , offset); + if (!machine().side_effects_disabled()) { + LOG("Read from unmapped reg %u\n", offset); + } res = 0; break; } - LOG_REG("R %u=%02x\n" , offset , res); + if (!machine().side_effects_disabled()) { + LOG_REG("R %u=%02x\n", offset, res); + } return res; } int tms9914_device::cont_r() { - return m_c_state != FSM_C_CIDS && m_c_state != FSM_C_CADS; + return (m_c_state != FSM_C_CIDS) && (m_c_state != FSM_C_CADS); } -// device-level overrides +// device_t implementation void tms9914_device::device_start() { save_item(NAME(m_int_line)); @@ -577,7 +587,7 @@ uint8_t tms9914_device::get_dio() void tms9914_device::set_dio(uint8_t data) { if (data != m_dio) { - LOG_NOISY("DIO=%02x\n" , data); + LOG_NOISY("DIO=%02x\n", data); m_dio = data; m_dio_write_func(~data); } @@ -585,7 +595,7 @@ void tms9914_device::set_dio(uint8_t data) bool tms9914_device::get_signal(ieee_488_signal_t signal) const { - return m_ext_signals[ signal ]; + return m_ext_signals[signal]; } bool tms9914_device::get_ifcin() const @@ -593,38 +603,38 @@ bool tms9914_device::get_ifcin() const return get_signal(IEEE_488_IFC) && !m_sic; } -void tms9914_device::set_ext_signal(ieee_488_signal_t signal , int state) +void tms9914_device::set_ext_signal(ieee_488_signal_t signal, int state) { state = !state; - if (m_ext_signals[ signal ] != state) { - m_ext_signals[ signal ] = state; - LOG_NOISY("EXT EOI %d DAV %d NRFD %d NDAC %d IFC %d SRQ %d ATN %d REN %d\n" , - m_ext_signals[ IEEE_488_EOI ] , - m_ext_signals[ IEEE_488_DAV ] , - m_ext_signals[ IEEE_488_NRFD ] , - m_ext_signals[ IEEE_488_NDAC ] , - m_ext_signals[ IEEE_488_IFC ] , - m_ext_signals[ IEEE_488_SRQ ] , - m_ext_signals[ IEEE_488_ATN ] , - m_ext_signals[ IEEE_488_REN ]); + if (m_ext_signals[signal] != state) { + m_ext_signals[signal] = state; + LOG_NOISY("EXT EOI %d DAV %d NRFD %d NDAC %d IFC %d SRQ %d ATN %d REN %d\n", + m_ext_signals[IEEE_488_EOI], + m_ext_signals[IEEE_488_DAV], + m_ext_signals[IEEE_488_NRFD], + m_ext_signals[IEEE_488_NDAC], + m_ext_signals[IEEE_488_IFC], + m_ext_signals[IEEE_488_SRQ], + m_ext_signals[IEEE_488_ATN], + m_ext_signals[IEEE_488_REN]); update_fsm(); } } -void tms9914_device::set_signal(ieee_488_signal_t signal , bool state) +void tms9914_device::set_signal(ieee_488_signal_t signal, bool state) { - if (state != m_signals[ signal ]) { - m_signals[ signal ] = state; - LOG_NOISY("INT EOI %d DAV %d NRFD %d NDAC %d IFC %d SRQ %d ATN %d REN %d\n" , - m_signals[ IEEE_488_EOI ] , - m_signals[ IEEE_488_DAV ] , - m_signals[ IEEE_488_NRFD ] , - m_signals[ IEEE_488_NDAC ] , - m_signals[ IEEE_488_IFC ] , - m_signals[ IEEE_488_SRQ ] , - m_signals[ IEEE_488_ATN ] , - m_signals[ IEEE_488_REN ]); - m_signal_wr_fns[ signal ](!state); + if (state != m_signals[signal]) { + m_signals[signal] = state; + LOG_NOISY("INT EOI %d DAV %d NRFD %d NDAC %d IFC %d SRQ %d ATN %d REN %d\n", + m_signals[IEEE_488_EOI], + m_signals[IEEE_488_DAV], + m_signals[IEEE_488_NRFD], + m_signals[IEEE_488_NDAC], + m_signals[IEEE_488_IFC], + m_signals[IEEE_488_SRQ], + m_signals[IEEE_488_ATN], + m_signals[IEEE_488_REN]); + m_signal_wr_fns[signal](!state); } } @@ -658,12 +668,12 @@ void tms9914_device::do_swrst() bool tms9914_device::listener_reset() const { - return m_swrst || BIT(m_reg_address , REG_ADDR_DAL_BIT) || m_sic || get_ifcin(); + return m_swrst || BIT(m_reg_address, REG_ADDR_DAL_BIT) || m_sic || get_ifcin(); } bool tms9914_device::talker_reset() const { - return m_swrst || BIT(m_reg_address , REG_ADDR_DAT_BIT) || m_sic || get_ifcin(); + return m_swrst || BIT(m_reg_address, REG_ADDR_DAT_BIT) || m_sic || get_ifcin(); } bool tms9914_device::controller_reset() const @@ -688,9 +698,9 @@ void tms9914_device::update_fsm() int prev_state; // Loop until all changes settle while (changed) { - LOG_NOISY("SH %d SHFS %d AH %d T %d TPAS %d L %d LPAS %d PP %d C %d\n" , - m_sh_state , m_sh_shfs , m_ah_state , m_t_state , m_t_tpas , - m_l_state , m_l_lpas , m_pp_ppas , m_c_state); + LOG_NOISY("SH %d SHFS %d AH %d T %d TPAS %d L %d LPAS %d PP %d C %d\n", + m_sh_state, m_sh_shfs, m_ah_state, m_t_state, m_t_tpas, + m_l_state, m_l_lpas, m_pp_ppas, m_c_state); changed = m_ext_state_change; m_ext_state_change = false; @@ -721,7 +731,7 @@ void tms9914_device::update_fsm() m_sh_state = FSM_SH_SDYS; unsigned clocks = m_sh_vsts ? 4 : (m_stdl ? 8 : 12); m_sh_dly_timer->adjust(clocks_to_attotime(clocks)); - LOG_NOISY("SH DLY %u\n" , clocks); + LOG_NOISY("SH DLY %u\n", clocks); } break; @@ -769,14 +779,14 @@ void tms9914_device::update_fsm() else if (tmp >= 0x60 && tmp <= 0x7f) snprintf(cmd, 16, "MSA%d", tmp & 0x1f); } - LOG("%.6f TX %s %02X/%d %s\n" , machine().time().as_double() , m_signals[IEEE_488_ATN] ? "C" : "D", m_dio , m_signals[ IEEE_488_EOI ], cmd); + LOG("%.6f TX %s %02X/%d %s\n", machine().time().as_double(), m_signals[IEEE_488_ATN] ? "C" : "D", m_dio, m_signals[IEEE_488_EOI], cmd); } m_sh_state = FSM_SH_SGNS; } break; default: - LOG("Invalid SH state %d\n" , m_sh_state); + LOG("Invalid SH state %d\n", m_sh_state); m_sh_state = FSM_SH_SIDS; } } @@ -797,13 +807,13 @@ void tms9914_device::update_fsm() // DIO is controlled by SH & PP FSMs bool eoi_signal = false; uint8_t dio_byte = 0; - set_signal(IEEE_488_DAV , m_sh_state == FSM_SH_STRS); + set_signal(IEEE_488_DAV, m_sh_state == FSM_SH_STRS); if (sh_active()) { if (m_t_state == FSM_T_SPAS) { dio_byte = m_reg_serial_p & REG_SERIAL_P_MASK; if (m_sr_state == FSM_SR_APRS1 || m_sr_state == FSM_SR_APRS2) { // Set RQS - BIT_SET(dio_byte , 6); + BIT_SET(dio_byte, 6); } } else { dio_byte = m_reg_do; @@ -861,7 +871,7 @@ void tms9914_device::update_fsm() if_cmd_received(if_cmd & IFCMD_MASK); } else { // Got a DAB - dab_received(get_dio() , get_signal(IEEE_488_EOI)); + dab_received(get_dio(), get_signal(IEEE_488_EOI)); } } break; @@ -881,7 +891,7 @@ void tms9914_device::update_fsm() break; default: - LOG("Invalid AH state %d\n" , m_ah_state); + LOG("Invalid AH state %d\n", m_ah_state); m_ah_state = FSM_AH_AIDS; } } @@ -889,8 +899,8 @@ void tms9914_device::update_fsm() changed = true; } // AH outputs - set_signal(IEEE_488_NRFD , m_ah_state == FSM_AH_ANRS || m_ah_state == FSM_AH_ACDS1 || m_ah_state == FSM_AH_ACDS2 || m_ah_state == FSM_AH_AWNS); - set_signal(IEEE_488_NDAC , m_ah_state == FSM_AH_ANRS || m_ah_state == FSM_AH_ACRS || m_ah_state == FSM_AH_ACDS1 || m_ah_state == FSM_AH_ACDS2); + set_signal(IEEE_488_NRFD, m_ah_state == FSM_AH_ANRS || m_ah_state == FSM_AH_ACDS1 || m_ah_state == FSM_AH_ACDS2 || m_ah_state == FSM_AH_AWNS); + set_signal(IEEE_488_NDAC, m_ah_state == FSM_AH_ANRS || m_ah_state == FSM_AH_ACRS || m_ah_state == FSM_AH_ACDS1 || m_ah_state == FSM_AH_ACDS2); // T FSM prev_state = m_t_state; @@ -922,7 +932,7 @@ void tms9914_device::update_fsm() break; default: - LOG("Invalid T state %d\n" , m_t_state); + LOG("Invalid T state %d\n", m_t_state); m_t_state = FSM_T_TIDS; } } @@ -957,7 +967,7 @@ void tms9914_device::update_fsm() break; default: - LOG("Invalid L state %d\n" , m_l_state); + LOG("Invalid L state %d\n", m_l_state); m_l_state = FSM_L_LIDS; } } @@ -995,7 +1005,7 @@ void tms9914_device::update_fsm() switch (m_sr_state) { case FSM_SR_NPRS: if (m_t_state != FSM_T_SPAS && - (BIT(m_reg_2nd_serial_p , REG_SERIAL_P_RSV1_BIT) || m_rsvd2)) { + (BIT(m_reg_2nd_serial_p, REG_SERIAL_P_RSV1_BIT) || m_rsvd2)) { m_sr_state = FSM_SR_SRQS; } break; @@ -1003,7 +1013,7 @@ void tms9914_device::update_fsm() case FSM_SR_SRQS: if (m_t_state == FSM_T_SPAS) { m_sr_state = FSM_SR_APRS1; - } else if (!BIT(m_reg_2nd_serial_p , REG_SERIAL_P_RSV1_BIT) && !m_rsvd2) { + } else if (!BIT(m_reg_2nd_serial_p, REG_SERIAL_P_RSV1_BIT) && !m_rsvd2) { m_sr_state = FSM_SR_NPRS; } break; @@ -1012,7 +1022,7 @@ void tms9914_device::update_fsm() if (m_t_state == FSM_T_SPAS && m_sh_state == FSM_SH_STRS) { m_rsvd2 = false; } - if (!BIT(m_reg_2nd_serial_p , REG_SERIAL_P_RSV1_BIT) && !m_rsvd2) { + if (!BIT(m_reg_2nd_serial_p, REG_SERIAL_P_RSV1_BIT) && !m_rsvd2) { m_sr_state = FSM_SR_APRS2; } break; @@ -1028,7 +1038,7 @@ void tms9914_device::update_fsm() break; default: - LOG("Invalid SR state %d\n" , m_sr_state); + LOG("Invalid SR state %d\n", m_sr_state); m_sr_state = FSM_SR_NPRS; } } @@ -1036,7 +1046,7 @@ void tms9914_device::update_fsm() changed = true; } // SR outputs - set_signal(IEEE_488_SRQ , m_sr_state == FSM_SR_SRQS); + set_signal(IEEE_488_SRQ, m_sr_state == FSM_SR_SRQS); // RL FSM if (m_rl_state != FSM_RL_LOCS && (m_swrst || !get_signal(IEEE_488_REN))) { @@ -1118,18 +1128,18 @@ void tms9914_device::update_fsm() break; default: - LOG("Invalid C state %d\n" , m_c_state); + LOG("Invalid C state %d\n", m_c_state); m_c_state = FSM_C_CIDS; } } if (m_c_state != prev_state) { changed = true; } - set_signal(IEEE_488_ATN , m_c_state == FSM_C_CACS || + set_signal(IEEE_488_ATN, m_c_state == FSM_C_CACS || m_c_state == FSM_C_CSWS || m_c_state == FSM_C_CAWS || m_c_state == FSM_C_CPWS); eoi_signal = eoi_signal || m_c_state == FSM_C_CPWS; - set_signal(IEEE_488_EOI , eoi_signal); + set_signal(IEEE_488_EOI, eoi_signal); set_dio(dio_byte); } @@ -1139,12 +1149,12 @@ void tms9914_device::update_fsm() bool tms9914_device::is_my_address(uint8_t addr) { uint8_t diff = (addr ^ m_reg_address) & REG_ADDR_ADDR_MASK; - if (BIT(m_reg_address , REG_ADDR_EDPA_BIT)) { + if (BIT(m_reg_address, REG_ADDR_EDPA_BIT)) { // If dual-address mode is enabled, difference in LSB of address is ignored - BIT_CLR(diff , 0); + BIT_CLR(diff, 0); } if (diff == 0) { - m_reg_ulpa = BIT(addr , 0); + m_reg_ulpa = BIT(addr, 0); } return diff == 0; } @@ -1182,7 +1192,7 @@ void tms9914_device::do_TAF() void tms9914_device::if_cmd_received(uint8_t if_cmd) { - LOG("%.6f RX cmd:%02x\n" , machine().time().as_double() , if_cmd); + LOG("%.6f RX cmd:%02x\n", machine().time().as_double(), if_cmd); bool sahf = false; @@ -1208,7 +1218,7 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) case IFCMD_SDC: if (m_l_state == FSM_L_LADS) { set_int1_bit(REG_INT1_DCAS_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_DCAS_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_DCAS_BIT); } break; @@ -1219,7 +1229,7 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) case IFCMD_TCT: if (m_t_state == FSM_T_TADS) { set_int1_bit(REG_INT1_UNC_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_UNC_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_UNC_BIT); } break; @@ -1233,7 +1243,7 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) case IFCMD_DCL: set_int1_bit(REG_INT1_DCAS_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_DCAS_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_DCAS_BIT); break; case IFCMD_SPE: @@ -1269,18 +1279,18 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) // ACG if (m_l_state == FSM_L_LADS) { set_int1_bit(REG_INT1_UNC_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_UNC_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_UNC_BIT); } } else if ((if_cmd & IFCMD_UCG_MASK) == IFCMD_UCG_VALUE) { // UCG set_int1_bit(REG_INT1_UNC_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_UNC_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_UNC_BIT); } else if ((if_cmd & IFCMD_GROUP_MASK) == IFCMD_LAG_VALUE) { // LAG if (is_my_address(if_cmd)) { // MLA m_l_lpas = true; - if (!BIT(m_reg_int1_mask , REG_INT1_APT_BIT)) { + if (!BIT(m_reg_int1_mask, REG_INT1_APT_BIT)) { // Not using secondary addressing if (!listener_reset()) { if (m_l_state != FSM_L_LADS) { @@ -1290,7 +1300,7 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) } if (!m_t_spms) { set_int1_bit(REG_INT1_MA_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_MA_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_MA_BIT); } } } @@ -1299,7 +1309,7 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) if (is_my_address(if_cmd)) { // MTA m_t_tpas = true; - if (!BIT(m_reg_int1_mask , REG_INT1_APT_BIT)) { + if (!BIT(m_reg_int1_mask, REG_INT1_APT_BIT)) { // Not using secondary addressing if (!talker_reset()) { if (m_t_state != FSM_T_TADS) { @@ -1309,7 +1319,7 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) } if (!m_t_spms) { set_int1_bit(REG_INT1_MA_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_MA_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_MA_BIT); } } } else { @@ -1323,11 +1333,11 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) // SCG if (m_pts) { set_int1_bit(REG_INT1_UNC_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_UNC_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_UNC_BIT); m_pts = false; } else if (m_l_lpas || m_t_tpas) { set_int1_bit(REG_INT1_APT_BIT); - sahf = BIT(m_reg_int1_mask , REG_INT1_APT_BIT); + sahf = BIT(m_reg_int1_mask, REG_INT1_APT_BIT); } } break; @@ -1338,9 +1348,9 @@ void tms9914_device::if_cmd_received(uint8_t if_cmd) } } -void tms9914_device::dab_received(uint8_t dab , bool eoi) +void tms9914_device::dab_received(uint8_t dab, bool eoi) { - LOG("%.6f RX DAB:%02x/%d\n" , machine().time().as_double() , dab , eoi); + LOG("%.6f RX DAB:%02x/%d\n", machine().time().as_double(), dab, eoi); m_reg_di = dab; if (!m_shdw) { m_ah_anhs = true; @@ -1354,7 +1364,7 @@ void tms9914_device::dab_received(uint8_t dab , bool eoi) } } -void tms9914_device::do_aux_cmd(unsigned cmd , bool set_bit) +void tms9914_device::do_aux_cmd(unsigned cmd, bool set_bit) { switch (cmd) { case AUXCMD_SWRST: @@ -1370,7 +1380,7 @@ void tms9914_device::do_aux_cmd(unsigned cmd , bool set_bit) case AUXCMD_DACR: if (m_ah_adhs) { m_ah_adhs = false; - if (BIT(m_reg_int1_mask , REG_INT1_APT_BIT)) { + if (BIT(m_reg_int1_mask, REG_INT1_APT_BIT)) { // Using secondary addressing if (set_bit && !listener_reset() && m_l_lpas) { do_LAF(); @@ -1533,7 +1543,7 @@ void tms9914_device::do_aux_cmd(unsigned cmd , bool set_bit) break; case AUXCMD_STDL: - LOG("Unimplemented STDL=%d cmd\n" , set_bit); + LOG("Unimplemented STDL=%d cmd\n", set_bit); break; case AUXCMD_SHDW: @@ -1547,7 +1557,7 @@ void tms9914_device::do_aux_cmd(unsigned cmd , bool set_bit) break; case AUXCMD_VSTDL: - LOG("Unimplemented VSTDL=%d cmd\n" , set_bit); + LOG("Unimplemented VSTDL=%d cmd\n", set_bit); break; case AUXCMD_RSV2: @@ -1558,14 +1568,14 @@ void tms9914_device::do_aux_cmd(unsigned cmd , bool set_bit) break; default: - LOG("Unrecognized aux cmd %u\n" , cmd); + LOG("Unrecognized aux cmd %u\n", cmd); break; } } void tms9914_device::set_int0_bit(unsigned bit_no) { - BIT_SET(m_reg_int0_status , bit_no); + BIT_SET(m_reg_int0_status, bit_no); update_int(); if (bit_no == REG_INT0_BI_BIT || (bit_no == REG_INT0_BO_BIT && m_c_state != FSM_C_CACS)) { set_accrq(true); @@ -1574,7 +1584,7 @@ void tms9914_device::set_int0_bit(unsigned bit_no) void tms9914_device::set_int1_bit(unsigned bit_no) { - BIT_SET(m_reg_int1_status , bit_no); + BIT_SET(m_reg_int1_status, bit_no); update_int(); } @@ -1583,18 +1593,18 @@ void tms9914_device::update_int() bool new_int_line = false; m_reg_int0_status &= REG_INT0_INT_MASK; if (m_reg_int0_status & m_reg_int0_mask) { - BIT_SET(m_reg_int0_status , REG_INT0_INT0_BIT); + BIT_SET(m_reg_int0_status, REG_INT0_INT0_BIT); new_int_line = true; } if (m_reg_int1_status & m_reg_int1_mask) { - BIT_SET(m_reg_int0_status , REG_INT0_INT1_BIT); + BIT_SET(m_reg_int0_status, REG_INT0_INT1_BIT); new_int_line = true; } if (m_dai) { new_int_line = false; } if (new_int_line != m_int_line) { - LOG_INT("INT=%d\n" , new_int_line); + LOG_INT("INT=%d\n", new_int_line); m_int_line = new_int_line; m_int_write_func(m_int_line); } @@ -1602,18 +1612,18 @@ void tms9914_device::update_int() void tms9914_device::update_ifc() { - set_signal(IEEE_488_IFC , m_sic); + set_signal(IEEE_488_IFC, m_sic); } void tms9914_device::update_ren() { - set_signal(IEEE_488_REN , m_sre); + set_signal(IEEE_488_REN, m_sre); } void tms9914_device::set_accrq(bool state) { if (state != m_accrq_line) { - LOG_INT("ACCRQ=%d\n" , state); + LOG_INT("ACCRQ=%d\n", state); m_accrq_line = state; m_accrq_write_func(m_accrq_line); } diff --git a/src/devices/machine/tms9914.h b/src/devices/machine/tms9914.h index c21cfab5db5..4d9fed6fd4e 100644 --- a/src/devices/machine/tms9914.h +++ b/src/devices/machine/tms9914.h @@ -90,13 +90,12 @@ public: // CONT output: true when 9914 is current controller-in-charge int cont_r(); -private: - // device-level overrides +protected: + // device_t implementation virtual void device_start() override ATTR_COLD; virtual void device_reset() override ATTR_COLD; - TIMER_CALLBACK_MEMBER(fsm_tick); - +private: devcb_read8 m_dio_read_func; devcb_write8 m_dio_write_func; devcb_write_line::array<IEEE_488_SIGNAL_COUNT> m_signal_wr_fns; @@ -106,8 +105,8 @@ private: bool m_accrq_line; uint8_t m_dio; - bool m_signals[ IEEE_488_SIGNAL_COUNT ]; - bool m_ext_signals[ IEEE_488_SIGNAL_COUNT ]; + bool m_signals[IEEE_488_SIGNAL_COUNT]; + bool m_ext_signals[IEEE_488_SIGNAL_COUNT]; bool m_no_reflection; bool m_ext_state_change; @@ -244,12 +243,14 @@ private: emu_timer *m_ah_dly_timer; emu_timer *m_c_dly_timer; + TIMER_CALLBACK_MEMBER(fsm_tick); + uint8_t get_dio(); void set_dio(uint8_t data); bool get_signal(ieee_488_signal_t signal) const; bool get_ifcin() const; - void set_ext_signal(ieee_488_signal_t signal , int state); - void set_signal(ieee_488_signal_t signal , bool state); + void set_ext_signal(ieee_488_signal_t signal, int state); + void set_signal(ieee_488_signal_t signal, bool state); void do_swrst(); bool listener_reset() const; bool talker_reset() const; @@ -260,8 +261,8 @@ private: void do_LAF(); void do_TAF(); void if_cmd_received(uint8_t if_cmd); - void dab_received(uint8_t dab , bool eoi); - void do_aux_cmd(unsigned cmd , bool set_bit); + void dab_received(uint8_t dab, bool eoi); + void do_aux_cmd(unsigned cmd, bool set_bit); void set_int0_bit(unsigned bit_no); void set_int1_bit(unsigned bit_no); void update_int(); diff --git a/src/mame/sony/psx.cpp b/src/mame/sony/psx.cpp index dce49952c21..10f02dc6e34 100644 --- a/src/mame/sony/psx.cpp +++ b/src/mame/sony/psx.cpp @@ -11,13 +11,14 @@ #include "emu.h" +#include "psxcd.h" + #include "bus/psx/ctlrport.h" #include "bus/psx/parallel.h" #include "cpu/m6805/hd6305.h" #include "cpu/psx/psx.h" #include "imagedev/cdromimg.h" #include "imagedev/snapquik.h" -#include "psxcd.h" #include "machine/ram.h" #include "sound/spu.h" #include "video/psx.h" |
