trunk/src/emu/diserial.c
| r26787 | r26788 | |
| 44 | 44 | m_tra_clock_state = false; |
| 45 | 45 | m_tra_rate = attotime::never; |
| 46 | 46 | m_rcv_rate = attotime::never; |
| 47 | | m_tra_flags = 0; |
| 47 | m_tra_flags = TRANSMIT_REGISTER_EMPTY; |
| 48 | 48 | m_rcv_register_data = 0x8000; |
| 49 | 49 | m_rcv_bit_count = 0; |
| 50 | 50 | m_connection_state = 0; |
| r26787 | r26788 | |
| 80 | 80 | |
| 81 | 81 | void device_serial_interface::tra_edge() |
| 82 | 82 | { |
| 83 | | tra_callback(); |
| 84 | | if(is_transmit_register_empty()) |
| 83 | if (!is_transmit_register_empty()) |
| 85 | 84 | { |
| 85 | tra_callback(); |
| 86 | if (is_transmit_register_empty()) |
| 87 | tra_complete(); |
| 88 | } |
| 89 | |
| 90 | if (is_transmit_register_empty() && !m_tra_rate.is_never()) |
| 91 | { |
| 86 | 92 | m_tra_clock->adjust(attotime::never); |
| 87 | | tra_complete(); |
| 88 | 93 | } |
| 89 | 94 | } |
| 90 | 95 | |