For the software to be portable, as much of the code as possible has been written in Java. Currently there are a little over 13500 lines of Java source code.
The current versions of Java do not directly support interfaces to serial ports, so a small C library exists to provide this support. It is as minimal as possible and a single source file (with conditional compilation) will compile on Windows, Linux and Solaris. This file is about 370 lines of code, a large portion of which is the conditional code to handle the differences between Unix and Windows. The serial interface is used to communicate with the KISS TNC and may also be used to control radios directly from a serial port and to interface to the TrakBox.
To support the Kansas City Tracker/Tuner, there is another small C file (only 97 lines) that interfaces to the RR.DLL driver from Joe Holman (AD7D) for Windows/95.
I am currently looking at writing a Linux device driver for the KCT, so that it can be used in the Linux environment.
For Linux, I have developed a device driver for the SASI Tracking unit. The C interface to this is also included, but if you would like a copy of the device driver send me email.