FOSSIL
FOSSIL is a standard protocol for allowing serial communication for telecommunications programs under the DOS operating system. FOSSIL is an acronym for Fido Opus SEAdog Standard Interface Layer. Fido refers to FidoNet, Opus refers to Opus-CBCS BBS, and SEAdog refers to a Fidonet compatible mailer. The standards document that defines the FOSSIL protocol is maintained by the Fidonet Technical Standards Committee.[1]
Serial device drivers
A "FOSSIL driver" is simply a communications device driver. They exist because in the early days of Fidonet, computer hardware was very diverse and there were no standards on how software was to communicate with the serial interface hardware.[2] Initial development of FidoBBS only worked on a specific type of machine. Before FidoBBS could start spreading, it was seen that a uniform method of communicating with serial interface hardware was needed if the software was going to be used on other machines. This need was also apparent for other communications based software. The FOSSIL specification was born in 1986[3] so as to provide this uniform method. Software using the FOSSIL standard could communicate using the same interrupt functions no matter what hardware it was running on. This enabled the developers to concentrate on the application and not the interface to the hardware.
FOSSIL drivers are specific to the hardware they operate on because each is written to fit specifically to the serial interface hardware of that platform. FOSSIL drivers became more well known with the spread of IBM PC compatible machines. These machines ran some form of DOS (Disk Operating System) and their BIOS provided very poor support for serial communications—so poor that it fell far short of the needs of any non-trivial communications task. Over time, MS-DOS and PC DOS became the prevalent operating systems and PC compatible hardware became predominant.
Two popular DOS based FOSSIL drivers were X00 and BNU. A popular Windows based FOSSIL driver is NetFoss, which is freeware. SIO is a popular OS/2-based FOSSIL driver.
FOSSIL drivers for hardware other than serial interfaces
FOSSIL drivers have also been implemented to support other communications hardware by making it "look like a modem" to the application. Internal ISDN cards (that did not use serial ports at all) often came with FOSSIL drivers to make them work with software that was originally intended for modem operation only.
References
- FSC-0015 — FOSSIL implementation and use, Fidonet Technical Standards Committee
- Dr. Dobb's — Interfacing to a FOSSIL Communication Driver, Dr. Dobb's Journal
- SysopWorld Archived 2007-04-28 at the Wayback Machine (unavailable document) — The History of FOSSIL Drivers, The Official BBS FAQ