10
10
#include " emu.h"
11
11
#include " diserial.h"
12
12
13
+ #define LOG_SETUP (1 << 1U )
14
+ #define LOG_TX (1 << 2U )
15
+ #define LOG_RX (1 << 3U )
16
+ #define VERBOSE (0 )
17
+
18
+ #define LOG_OUTPUT_FUNC device ().logerror
19
+ #include " logmacro.h"
20
+
13
21
device_serial_interface::device_serial_interface (const machine_config &mconfig, device_t &device) :
14
22
device_interface(device, " serial" ),
15
23
m_start_bit_hack_for_external_clocks(false ),
@@ -157,7 +165,7 @@ WRITE_LINE_MEMBER(device_serial_interface::clock_w)
157
165
158
166
void device_serial_interface::set_data_frame (int start_bit_count, int data_bit_count, parity_t parity, stop_bits_t stop_bits)
159
167
{
160
- // device().logerror( "Start bits: %d; Data bits: %d; Parity: %s; Stop bits: %s\n", start_bit_count, data_bit_count, parity_tostring(parity), stop_bits_tostring(stop_bits));
168
+ LOGMASKED (LOG_SETUP, " Start bits: %d; Data bits: %d; Parity: %s; Stop bits: %s\n " , start_bit_count, data_bit_count, parity_tostring (parity), stop_bits_tostring (stop_bits));
161
169
162
170
m_df_word_length = data_bit_count;
163
171
@@ -216,7 +224,7 @@ WRITE_LINE_MEMBER(device_serial_interface::rx_w)
216
224
receive_register_update_bit (state);
217
225
if (m_rcv_flags & RECEIVE_REGISTER_SYNCHRONISED)
218
226
{
219
- // device().logerror( "Receiver is synchronized\n");
227
+ LOGMASKED (LOG_RX, " Receiver is synchronized\n " );
220
228
if (m_rcv_clock && !(m_rcv_rate.is_never ()))
221
229
// make start delay just a bit longer to make sure we are called after the sender
222
230
m_rcv_clock->adjust (((m_rcv_rate*3 )/2 ), 0 , m_rcv_rate);
@@ -235,7 +243,6 @@ void device_serial_interface::receive_register_update_bit(int bit)
235
243
{
236
244
int previous_bit;
237
245
238
- // LOG(("receive register receive bit: %1x\n",bit));
239
246
previous_bit = (m_rcv_register_data & 0x8000 ) ? 1 : 0 ;
240
247
241
248
/* shift previous bit 7 out */
@@ -254,7 +261,7 @@ void device_serial_interface::receive_register_update_bit(int bit)
254
261
/* yes */
255
262
if (bit==0 )
256
263
{
257
- // logerror("receive register saw start bit\n");
264
+ LOGMASKED (LOG_RX, " Receiver saw start bit\n " );
258
265
259
266
/* seen start bit! */
260
267
/* not waiting for start bit now! */
@@ -270,11 +277,12 @@ void device_serial_interface::receive_register_update_bit(int bit)
270
277
else
271
278
if (m_rcv_flags & RECEIVE_REGISTER_SYNCHRONISED)
272
279
{
273
- // device().logerror( "Received bit %d\n", m_rcv_bit_count_received);
280
+ LOGMASKED (LOG_RX, " Received bit %d as %d \n " , m_rcv_bit_count_received, bit );
274
281
m_rcv_bit_count_received++;
275
282
276
283
if (!bit && (m_rcv_bit_count_received > (m_rcv_bit_count - m_df_stop_bit_count)))
277
284
{
285
+ LOGMASKED (LOG_RX, " Framing error\n " );
278
286
m_rcv_framing_error = true ;
279
287
}
280
288
@@ -284,7 +292,7 @@ void device_serial_interface::receive_register_update_bit(int bit)
284
292
m_rcv_bit_count_received = 0 ;
285
293
m_rcv_flags &=~RECEIVE_REGISTER_SYNCHRONISED;
286
294
m_rcv_flags |= RECEIVE_REGISTER_WAITING_FOR_START_BIT;
287
- // device().logerror( "Receive register full\n");
295
+ LOGMASKED (LOG_RX, " Receive register full\n " );
288
296
m_rcv_flags |= RECEIVE_REGISTER_FULL;
289
297
}
290
298
}
@@ -428,13 +436,17 @@ u8 device_serial_interface::transmit_register_get_data_bit()
428
436
429
437
bit = (m_tra_register_data>>(m_tra_bit_count-1 -m_tra_bit_count_transmitted))&1 ;
430
438
439
+ if (m_tra_bit_count_transmitted < m_df_start_bit_count)
440
+ LOGMASKED (LOG_TX, " Transmitting start bit as %d\n " , m_tra_bit_count_transmitted, bit);
441
+ else
442
+ LOGMASKED (LOG_TX, " Transmitting bit %d as %d\n " , m_tra_bit_count_transmitted - m_df_start_bit_count, bit);
431
443
m_tra_bit_count_transmitted++;
432
- // device().logerror("%d bits transmitted\n", m_tra_bit_count_transmitted);
433
444
434
445
/* have all bits of this stream formatted byte been sent? */
435
446
if (m_tra_bit_count_transmitted==m_tra_bit_count)
436
447
{
437
448
/* yes - generate a new byte to send */
449
+ LOGMASKED (LOG_TX, " Transmit register empty\n " );
438
450
m_tra_flags |= TRANSMIT_REGISTER_EMPTY;
439
451
}
440
452
0 commit comments