mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
hp9895: 2 bugs fixed: NMI handling & secondary addressing in PHI chip
This commit is contained in:
parent
65d697d94d
commit
a6b76aab2f
@ -484,6 +484,10 @@ WRITE8_MEMBER(hp9895_device::phi_dio_w)
|
||||
WRITE_LINE_MEMBER(hp9895_device::phi_int_w)
|
||||
{
|
||||
m_cpu->set_input_line(INPUT_LINE_NMI , state);
|
||||
if (state) {
|
||||
// Ensure the event queue is emptied before executing any other instruction
|
||||
m_cpu->yield();
|
||||
}
|
||||
}
|
||||
|
||||
READ8_MEMBER(hp9895_device::phi_reg_r)
|
||||
|
@ -1246,7 +1246,7 @@ bool phi_device::if_cmd_received(uint8_t byte)
|
||||
}
|
||||
} else {
|
||||
// command is a secondary address
|
||||
if (m_t_state == PHI_T_ID1 && my_addr) {
|
||||
if (m_t_state == PHI_T_ID1 && (m_l_state == PHI_L_LADS) == !!lon_msg() && my_addr) {
|
||||
// Start IDENTIFY sequence
|
||||
m_t_state = PHI_T_ID2;
|
||||
} else if (m_t_state >= PHI_T_ID2 && m_t_state <= PHI_T_ID6 && !my_addr) {
|
||||
|
Loading…
Reference in New Issue
Block a user