FOSSIL Communications
This document may be freely used or copied by anyone interested in the data contained herein. No fees may be charged for the distribution of this document. You will be held accountable for all such charges and expected to either reimburse those persons or organizations so charged, or make a donation in the exact amount of those fees to the International FidoNet Association, to assist them in their efforts to advance the technology of personal computer telecommunications.
Since communications devices were not consistent, even for the same computers, a group of developers started making a TSR (Terminate and stay resident) solution which required developers to use a common API no matter what the hardware. This way, a developer could master testing for the TSR, if found, selecting the comport to use. If successful, specify any tweaks to the communications interface. At this point, the software sends the INIT string (to initialize the modem to listen for calls). Then loop waiting for a call. So, a FOSSIL (an acronym for “Fido/Opus/SEAdog Standard Interface Layer”) compatible program would work on any platform that offered a communications FOSSIL. Allowing the developers to focus on the functionality of their program and less on the hardware interface which was handled by the FOSSIL program.
FOSSIL Historically
For those people who were not lucky enough to have an IBM PC or a system nearly completely compatible, the world has not been very friendly. With his implementation of the Generic Fido™ driver, Tom Jennings made it possible for systems that had nothing in common with an IBM PC except an 808x-class processor, and the ability to run MS-DOS Version 2 and above, to run his Fido™ software. That was a lot to ask, and a lot of people thought it was enough.
But not everyone. While Thom Henderson was debugging Version 4.0 of his SEAdog™ mail package, an “extended” Generic driver was designed (in cooperation with Bob Hartman) as a quick kludge to help him get past a problem with certain UART chips. The new hook was quickly pounced upon by Vince Perriello, who, with almost DAILY prodding (ouch! it still hurts) by Ken Kaplan, had been working with Henderson to get DEC Rainbow support into SEAdog. Vince then coded a driver to use this hook and - Voila! - SEAdog 4.0 started working like a champ on the Rainbow.
At the same time, something was rotten in the state of Texas. Wynn Wagner started encountering some serious difficulties in his Opus development effort. Specifically, he couldn't force the Greenleaf™ Communications Libraries to behave in exactly the way he felt Opus required. Enter Bob Hartman. Having already enjoyed success in the effort with Thom Henderson, he suggested to Wynn that with very few extensions, any driver that was already SEAdog™ 4.0 compatible could drive Opus as well. About that time, Vince called Wynn to discuss porting Opus to the DEC Rainbow. Wynn called Bob, Bob called Vince, and the FOSSIL driver came into existence.
FOSSIL is an acronym for “Fido/Opus/SEAdog Standard Interface Layer”. To say that the concept has gained wide acceptance in the FidoNet community would be an understatement. Henk Wevers' DUTCHIE package uses the FOSSIL communications services. Ron Bemis' OUTER package uses FOSSIL services for everything it does and as a result it is completely generic. There are already FOSSIL implementations for the Tandy 2000, Heath/Zenith 100, Sanyo 555 and other “non-IBM” architectures. With each new 'port' of the specs., the potential of a properly coded FOSSIL application grows!