If get_io_timeouts sets the interval timeout to 0, it means that the read should return immediately even if there is no data. If get_io_timeouts sets the interval timeout to -1, it means that the read operation should wait indefinitely for the next byte. In either case, the interval timer is not used, so there's no need to worry about forgetting to start it, and the delay in returning data was causing a problem in Ti99Hdx.