@comment Tell Emacs to use -*-texinfo-*- mode
@comment $Id: history.tex,v 2.2 91/09/01 23:04:25 royce Exp $

@node History, Increm, Fnordadel Support, Top
@appendix History of the Citadel BBS Program
@cindex Citadel
@cindex History of Citadel

[ Note:  This Appendix is an amended version of @file{history.doc}, which was in
the STadel documentation and which appears to have been passed down by
each successive author. ]

@example
1) CP/M Citadel (CrT/David Mitchell)

Citadel was written in mid-December 1981 by CrT.  Miraculously, it
ran three days unattended over New Year's, collecting some 
remarkably favorable reactions.  During the months that it ran at 
633-3282 (ODD-DATA), Citadel became one of the more popular BBs in
town, and there was some disappointment when a hardware failure 
forced the system down in February of 1982.  But in January CrT
had published the source code in BDS C, putting it in the public
domain.  

David Mitchell brought up the next incarnation of the Citadel 
program in April of 1982, running on hardware provided by Richard 
Knox.  Called the Island Communication System, it is located on 
Bainbridge Island in Puget Sound.  ICS has about 30 regular users 
and about 120 log entries.  Newcomers find it easy to learn, and 
often leave messages praising it.  Some of the system's daily
users are in Boston.  

Citadel is descended from DandD.pas, an adventure game
editor/driver.  It is arranged as a series of rooms, starting with
the LOBBY.  In each room the user can read existing messages and
leave more.  There may be up to 128 rooms in the current
implementation.  The system was brought up with only one room, the
LOBBY.  Additional rooms were created by the users, with room
names appropriate to the topics covered.  

This is being written (82Dec07) as the Version 2 beta-test goes
out.  Version 1 got a friendly reception and had relatively few
bugs.  We'll see if this is a trend or fluctuation...  

Environment:  Citadel has had a checkered past.  It first ran on a
64K Heath H89 with Magnolia CP/M, Hayes Smartmodem (plus an
acoustic on another port) and BDS C V1.32.  Further development
was done under BDS C 1.4x on a TRS-80 with Omikron CP/M, a Teletek
FDC-1, and a Furgeson Big Board.  At present the ICS
implementation runs on the FDC-1, while development is done on the
Big Board.  Version 2 was tested on the original H89, now with
dual 8" SSDD drives :-) and a printer, Magnolia CP/M V2.223 :-( ,
and BDS C 1.46.  

Starting with the 82Jan posting on Seattle's MailBoard (thanks
John!), various fragments of Version 1 seem to have percolated
around the country.  This version 2 release should supercede them
and save people the frustration of trying to make sense out of
them.  

2) Citadel-86 (Hue, Jr.)

Having obtained Citadel 2.10 from CUG through SuperComp, and then 
having helped upgrade it to Citadel 2.40 using, at various times,
a H89 and a Z-100, Citadel-86 for MS-DOS 2.xx was developed in
order to ...  um.  Well, in any case, the first version of
Citadel-86 went up on the 8088 side of a Z-100 in the Fall of '84,
using MS-DOS 2.13.  

As the months passed and as the whims hit the translator,
Citadel-86 came closer and closer to being functionally identical
to Citadel 2.40, and in January '85 the final downloading stuff
was added, thus coming close 'nuff to Citadel 2.40's main programs
for the translator.  During March and April of '85, the utilities
of Citadel 2.40 underwent translation and by mid-April, the last
of these utilities had been translated and at least superficially
tested, thus completing the Citadel translation process (thank
ghod).  

Now all that remains is isolating and killing the final few bugs, 
some of which the translator is certain are resident in the
compiler in use (otherwise he'd have to admit to having made
mistakes, lord forbid!).  

Oh, and by the way, the name Citadel-86 was the suggestion of a 
certain Lord Castleregh, and was selected after a polling process
of the first Citadel-86 system (Test System).  

3) STadel (orc [David Parsons])

STadel was ported from the 2.12/2.14 version of Citadel-86 in 
December '86.  A fairly easy port, all things considered;  since
the code had already been ported from one machine (CP/M-land with
all of the oddities inherent there) to another (MSDOS), some of
the porting difficulties had already been worked out.  When
released to the public, the program rapidly became very popular
around the USA, Canada, and elsewhere.  This led to all sorts of
interesting problems, because I decided to drive STadel the way I
wanted, rather than trying to follow the lead of Citadel-86, which
was not evolving the way I wanted to see citadel evolve.  

Quite a few people have helped with STadel.  Dale Schumacher 
(Dalnefre') wrote/ported a UUCP packet-driver which I used as a 
kernel for my UUCP mail gateway, Jay Johnson has provided quite a
bit of useful advice and code fragments from his implementation 
of Citadel for the Amiga, and Hue, Jr.  continues to diddle C-86, 
providing me with a endless source of headaches..., umm, er, 
inspiration.  

STadel has diverged greatly from C-86.  Version 3.1 saw the 
addition of forwarded roomsharing in a form completely
incompatable with C-86, the command set has diverged in many ways,
STadel now supports (3.0) a mode where the user has to enter login
name and password to gain access to the system, (3.1) a way to do
networking with other systems when the receiving system is not* in
network mode, (3.2) a process for running other programs from
inside citadel (including external autodialers for networking via
PC-Pursuit and external protocols for file transfers), and (3.2) a
process to route network mail a'la UUCP/Usenet.  

In the spring of 1988, STadel was ported back onto the IBM PC;  a
decision that was provoked by my getting sick and tired of the 
Atari ST world and buying a PC clone to get out of it.  This had 
the undesirable effect of totally estranging any relationship with
the author of citadel-86.  In summer of 1988, I converted it from 
public domain to shareware as the result of attempted legal action
against me.  

Currently STadel runs on MS-DOS computers (the IBM PC in native
mode, other computers if they are supplied with FOSSIL serial i/o
drivers) and the Atari ST.  A port to the Commodore Amiga is
currently underway, and ports to the Apple Macintosh and to Unix
are planned.  

Extensive functional additions to the network are planned, as 
well as a fido-net gateway program and a multiuser version.  The 
headache factor will probably make the fidonet gateway and the
multiuser system commercial.  

@end example

4)  Fnordadel (Adrian Ashley and Royce Howland)

In January of 1989 we obtained the source to STadel V3.3b-199
from orc.  We started diddling around with it, putting in little
feeps here and there.  After doing many diddles to it, not the
least of which was switching from gawd-awful Alcyon C to Mark
Williams C, we finally began some fairly serious development at
around the start of 1990.  As this is being written (August of 1991)
we're putting the final touches on the second public release (v1.32).

Among the major changes and improvements are such things as improved
net compatibility with Citadel-86, and the elimination of many
inherent limits such as 58 messages per room, 64 rooms per system,
et cetera; as well, the Reference Manual is a substantial departure
from past STadel practice.  More recent additions include many
security measures, a full-fledged file browser for transfer junkiew,
the inclusion of a lot of features from orc's last
version of STadel before he quit work on it (version 3.4a, which never
got released), and a port to yet another compiler, gcc (the best one
so far -- highly recommended to anybody).  See increm.doc for a blow-
by-blow account of changes to Fnordadel, although we started the
list quite some time after we diverged from STadel.

Fnordadel runs only on the Atari ST and TT, and no ports are planned;
certainly not to MS-DOS, which gives us the heebie-jeebies.  Future
plans include further improvement of network compatibility with
Citadel-86, a bunch more network enhancements, and substantial code
cleanup; plus lots more.  You should see our list of
suggestions!  We might even get to some of them thanks to the fact
that our development platform is now a gcc cross-compiler environment
based on a NeXTstation.  (No, we're not planning a port to the NeXT;
the code will be totally thrown out and redone from scratch before
that day arrives.)

Since we've been hacking on this beast other things have happened;
orc has disappeared and released his code (STadel 3.4a) to the PD.
cmc@@overmind has taken this code and is proceeding with his own PC
version, calling it ``Fortress''.  We understand he has the ST version in
beta at the moment, and we wish him luck.

Several local people here in Edmonton have helped us with Fnordadel;
chief among these is Garth Wood (Not Quite Cricket), who has
acted as a sort of permanent beta-tester and has helped with the
documentation.  Also David ``Wally'' Williscroft, who ran the tiniest
Fnordadel in town on a 512k machine with one 360k drive, and helped by
finding bugs faster than we could make them.  Then we have our first
non-local installations to thank, John Edstrom@@Poopsie in Calgary,
Alberta, and Holly Stowe@@devnull in Indianapolis, Indiana (who has
subsequently disappeared off the network).  More recently,
kbad@@Virtuality (somewhere near Atari Corp., USA) became the first
TT030-based Fnordadel Sysop, and proofed the first draft of the Texinfo
version of the Reference Manual.

We'd also like to thank innumerable other Fnordadel Sysops, orc,
Hue, Jr., CrT and all the others who've contributed
time, effort, suggestions and code to this thing we inherited.

Thanks most of all to the Coca-Cola Company, without which all of this
would have been impossible. (-:
