/* 

Read DTC Message BYTE Buffer: __dtc_data__

Byte 0x00 .. 0x0F: cnt, deep, reserved
Byte 0x10 .. 0x1F: to   buffer
Byte 0x20 .. 0x9F: from buffer


check_msg (unsigned char i)  {
  n0 = __dtc_data__[((i+2)*16)]
  n1 = __dtc_data__[((i+2)*16)+15]
  if (n0 == n1)  {
    read_message ();   // send to DCT
    return;
  }
  wait_for_break (check_msg);
}


check_dtc ()

  i = (__dtc_data__[0]-1) & (deep-1);
  do  {
    j = i;
    clear Write Break at __dtc_data__[0]
    set   slot_break  at __dtc_data__[(i+2)*16]
    check_msg (i);
    Write Break at __dtc_data__[0]
    i = (__dtc_data__[0]-1) & (deep-1);
  }  while (j = i);

  wait_for_break (check_dtc);
}


dtc_init ()  {
  deep = __dtc_data__[2]
  Write Break at  __dtc_data__[0]
  wait_for_break (check_dtc);
}


*/
