Initial commit

This commit is contained in:
root@procul
2021-04-15 13:31:59 -05:00
commit 278a90f7ce
57951 changed files with 34606208 additions and 0 deletions
@@ -0,0 +1,35 @@
% \input vanilla.sty
\input defs
\hsize=7.5in % .5" margins
\vsize=10in % ditto
\font\rm=cmr12 \rm % big type
\font\small=cmr10 % small type
\font\sans=cmss10 scaled\magstep1 % at 12pt
\font\it=cmti10 scaled\magstep1
\baselineskip=12pt plus .5pt minus.5pt % \lineskiplimit=-100pt
\font\hl=bs0003 scaled\magstep3 % headline font
\font\ti=cmbx12 %scaled\magstep1
\font\tiny=cmssq8
\parskip=6pt
\def\indent{\hskip.5in}
\def\declare{\begingroup\obeylines\parindent=1em\parskip=0pt}
\def\enddeclare{\endgroup} % end of ...
\def\program#1{{\bf #1}\quad} % PROGRAMs stand out
\nopagenumbers
\font\tiny=cmr9 % teensy font
%\baselineskip=9pt % make lines tight
\def\section#1{\bigskip\goodbreak{\hl #1}\vskip4pt\nobreak}
\def\subheading#1{\medskip\goodbreak{\ti #1}\ }
\def\fido{Fido\slash FidoNet } % simplicity
\def\uparrow{$\delimiter"3222378 $}
\def\backslash{$\delimiter"26E30F $}
\def\trademark{$^{{\tiny R}\kern-6.4pt \bigcirc}$}
\def\blob{$\bullet$\ } % for dotted lines
\hyphenation{jennings fido fidonet data-base data-bases}
@@ -0,0 +1,514 @@
\input tex
\twelvepointsanserif
\font\hl=bs0003 scaled\magstep3 % headline font
\def\declare{\begingroup\obeylines\parindent=1em\parskip=0pt}
\def\enddeclare{\endgroup} % end of ...
\def\program#1{{\bf #1}\quad} % PROGRAMs stand out
\def\section#1{\bigskip\goodbreak{\hl #1}\vskip4pt\nobreak}
\def\subheading#1{\medskip\goodbreak{\bf #1}\ }
\def\fido{Fido\slash FidoNet} % simplicity
\hyphenation{jennings fido fidonet data-base data-bases}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\vskip.25in
\declare
\leftskip=4.5in
Tom Jennings
Fido Software\hfill June 1991
Box 77731
San Francisco
CA 94107 USA
bbs: (415)-863-2739
FidoNet: 1:125/111
Internet: tom.jennings@fidosw.fidonet.org
\enddeclare
\vskip.25in
\bar
\fido\ is a software package for DOS based Personal Computers that
contains a complete Bulletin Board System plus a fully automatic
Electronic Mail system.
Fido is the most popular Bulletin Board system in the world because of
its flexibility, reliability, and features; FidoNet is the software
that defined the FidoNet protocol now in use around the world. The
worlds largest privately-owned computer network is based upon the
FidoNet communications protocol.
\bar
\begindoublecolumns
Fido\trademark\ Bulletin Board System:
\declare
\item{\blob}Absolute security
\item{\blob}Complete caller access controls
\item{\blob}Multiple-language and graphical interfaces
\item{\blob}200 independent message \& file areas
\item{\blob}Complete Email and message commands
\item{\blob}Fully error correcting file transfer protocols
\item{\blob}Supports all DOS/MSDOS Personal Computers
\enddeclare
Fido is a full-featured Computer Bulletin Board System. Callers,
commands, message and file areas can all have separate privilege
levels and Locks \& Keys applied to them; these let you limit callers'
access to any part of the Fido system to fit your needs.
\goodbreak
FidoNet\trademark\ Electronic Mail Network:
\declare
\item{\blob}Completely automatic Electronic Mail
\item{\blob}Full error correction protocol
\item{\blob}Extensive time-of-day event scheduling
\item{\blob}Powerful message routing language
\item{\blob}Automatic message routing
\enddeclare
FidoNet is an automatic ``store-and-forward'' mail system that
transfers messages and files with other Fido\-Net-equipped computers.
It is completely integrated with Fido, and completely transparent in
operation, and if you don't use it, you won't even know it's there.
\enddoublecolumns
\bar
\section{System Description}
\subheading{\fido} is extremely easy to use, and is compatible with
just about any users terminal program or computer. The user interface
does not get in the way of communicating; there are only two levels of
menus. Users see only what they need; novices find an easy to
understand selection of simple commands, and experts can choose a
brief prompt. Context sensitive help is available at all decision
points. You can have up to 16 different languages or graphical
interfaces installed at once.
\subheading{Reliability:} \fido\ is designed first and foremost for
reliability, meaning it will run 24 hours a day for months at a time
with no human intervention. (Obviously this doesn't include responding
to callers questions or other such things.) Tools are provided that
handle all routine maintenance tasks automatically.
\subheading{Performance:} \fido\ makes excellent use of ordinary
computers; with a high-performance modem such as a US Robotics Courier
Dual Standard, you will get kilobyte/second throughput on a so-called
``turbo'' PC XT.
\subheading{More than one modem:} While \fido\ supports only one
modem, you can run more than one copy of \fido\ per computer using a
multitasker program. \fido\ prevents file and message ``collisions''
when more multiple users are accessing the same messages and files.
Performance degradation is negligible. See ``Supported Operating
Systems'' for the current list of supported multitaskers.
\subheading{Low disk space overhead:} A 20 Megabyte hard disk is
essentially unlimited space; room for thousands of messages, files, a
10,000+ node FidoNet network, with plenty of disk space left over.
For a sample ``small scale'' system, with only two 360K floppies and
256K of memory, there is room for all of the basic \fido\ system
utilities plus your text editor and other tools, over 200 messages,
and close to 100K bytes free. The same system with a 1,600 node
FidoNet Network can have approximately 80 messages, would be
considered very ``tight''.
\subheading{Modem Handling:} \fido\ achieves extremely high
reliability with ordinary modems. During idle periods, \fido\ ``talks
to'' the modem to make sure it is ready and working. (While of course
modems are not supposed to misbehave, in real life they can get
confused by callers' strange and incompatible modems, improper
operation, bad phone lines, and bad modem design, and newer-model
modems frequently have firmware bugs. \fido\ takes care of these
things automatically. Almost all problems reported are modem-related
problems!)
Incoming callers' baud rate is determined automatically; callers do
not have to hit the ``ENTER'' key to get the systems attention.
Outgoing calls made by FidoNet (if so enabled) can take advantage of
busy detect, no-dial-tone, and other features if provided by the
modem.
\subheading{Caller DataBase:} Each caller to the system has a record
in a database that maintains each callers name, password,
terminal-specific settings, language selection, privilege levels and
controls, and various statistics. Tools provided manipulate these
records both manually and automatically. There can be up to 65,535
callers in the database.
\subheading{System Messages and Bulletins:} \fido\ uses ordinary text
files for system messages and bulletins, which are meant to be
customized by you. When displaying and entering text, the Fido takes
into account each callers terminal settings, such as screen width and
length, and performs on-screen formatting for a clean display.
\subheading{Access Controls:} There are six privilege levels that
callers can be assigned. You can specify minimum privilege levels
needed to access commands and message and file areas.
In addition to privilege levels, there are 32 ``locks'' with matching
``keys''. Locks are be applied to things such as commands and message
and file areas; callers may be given any number of keys. Callers can
access only those things for which they have all of the matching keys,
plus meet the privilege level requirements. For example, if the {\tt
E)nter-Message} command has lock \#20 applied, only callers that have
Key \#20, plus any necessary minimum privilege levels, can use, see or
get help with that command.
Limits can be placed on each callers' connect-time on the system
per-call and per-24-hour period, and on file downloads.
\subheading{Context-Sensitive Help System:} Help is
context-sensitive, taking into account what commands the caller has
access to because of privilege levels or locks and keys. Help is
available on every command in the system. The Help files are text
files that can be customized to fit your specific needs.
\subheading{Message Areas:} There can be up to 200 separate message
areas, each with access controls as described above. There can be up
to 65,535 messages in each area. Callers can enter new messages,
modify existing saved messages, search for messages by keyword or as
addressed to or from them, and perform many other operations upon
messages. (Command availability depending on privilege levels and
locks of course.) Help is available at all decision points.
\subheading{File Areas:} There can be up to 200 independent file
areas, with access controls as described earlier. There are a number
of ways in which to make files available (or not) to callers. Commands
and functions have been added to make remote maintenance of file areas
and other parts of the disk easier for the system operator. Files can
be uploaded and downloaded in ASCII, ZMODEM, XMODEM, Telink, ``MODEM
BATCH'' or Kermit protocols. XMODEM is nearly universal, and can
handle binary files; ZMODEM has performance to match high-performance
modems; Kermit and ASCII are used between otherwise-incompatible
computers.
My ``FidoTerm'' program works well with \fido\ or any other modem
based system.
\subheading{Programmed events:} There can be up to 100 ``Events'',
scheduled to run at any time of the day and any day of the week.
Events allow \fido\ to run FidoNet network mail, execute external
programs via DOS Batch Files, and other events for various special
purposes. The events system can handle simultaneous and/or overlapping
events, special ``optional'' events, and combinations of events and
special characteristics. (``Optional'' events can be used, for
example, to execute ``background'' FidoNet network activity while no
caller is otherwise occupying the system.)
\subheading{Other Features \& Enhancements:} You can sign in to the
system from the local keyboard, as if you had called in remotely with
a modem, without ``taking down'' the system. Upcoming events can be
listed, and previously-run events can be reenabled from the local
keyboard.
Fido works with external ``shell'' programs to allow programmers and
``aftermarket'' add-on programs to work with \fido. Technical
information is available in the manual. (External ``shell'' support
programs are not supplied by me.)
\section{FidoNet}
Using Fido, you enter messages, choosing the destination computer(s)
from a list; later, FidoNet automatically transfers those messages to
the destination computers. You can ``attach'' files to a message to
transfer files of any kind, and \fido\ will transfer hten along with
the messages. \fido\ will inform you when the message (and files, if
any) has been successfully sent. There can be any number of
messages\slash files pending to any number of destination computers.
FidoNet's routing language and other resources let you control exactly
how and when FidoNet messages are sent. All transfers use error
correction for absolute reliability\footnote*{Fido supports both the
original and universal FidoNet protocol, as well as the WaZoo
protocol, developed by Wynn Wagner.}.
FidoNet networks can be organized into ``Nets'' and
``Regions''\footnote{**}{FidoNet also has ``Zones'', groups of Nets
and Regions, that handle the problems of intercontinental traffic;
differences in time zones, incompatible modems, outgoing ``gateways''
for lowest cost, and so on.}, each of which can contain any number of
computers running the \fido\ software, or compatibles, one of which is
designated Host for the Net. A Host receives mail for the entire Net,
and distributes the mail to its local FidoNet computers. FidoNet is
intelligent enough to send all messages for a given net in one phone
call; you can get further efficiency with the routing language.
FidoNet networks can be as small as two or three computers, or as
large or larger than the hobbiest FidoNet network, which is up to
10,000 systems as of March 1991.
\subheading{Incoming FidoNet mail at any time:} \fido\ can receive
mail from other \fido\ systems at any time a caller is not occupying
the system, not just during scheduled FidoNet events. Optionally,
\fido\ can execute external programs via a DOS Batch File to do
special processing of unscheduled Incoming Mail.
\section{Customization}
\fido\ parameters, lists of events, command names, and message and
file area definitions are contained in text files you can change with
your own text editor program. All message and file areas are defined
in one text file; the \fido\ system takes care of creating and
verifying the actual DOS subdirectories used. Commands are in their
own text file, along with any privilege levels and locks. You can
change command names to any single word you choose.
\subheading{Multiple Languages:} \fido\ supports up to 16 languages
and/or graphical interfaces. Interfaces accomodate both ANSI/color
variations of one language (eg. all english, but color, monochrome,
standard Fido interface) or multiple languages (English, German,
Dutch, Spanish, etc) or any combination.
When a caller selects a language, the any or all parts of the
interface can be changed; all runtime messages, command names, help
files, system bulletins. (For example, when running ANSI/color
variations of one language, the command names should not change; when
changing languages changing command names may be part of the goal.)
The following interfaces are available at this time:
\smallskip
\begindoublecolumns
\declare
\item{\blob} American English
\item{\blob} American English Color \#1
\item{\blob} American English Color \#2
\item{\blob} ANSI Monochrome
\item{\blob} Bahasa Malay
\item{\blob} Chinese BIG-5
\item{\blob} Danish
\item{\blob} Dutch
\item{\blob} Dutch color
\item{\blob} German
\item{\blob} German color
\item{\blob} Spanish
\enddeclare
\enddoublecolumns
Chinese BIG-5 requires a special BIG-5 CODE ROM and programs, not
available from me. The master American language files are available
for custom translations; please contact me for details.
\section{Programs Supplied with \fido}
The following are some of the programs supplied as part of the
standard \fido\ system package. In addition, there are many
``aftermarket'' programs from other authors that make using and
maintaining \fido\ easier and more powerful.
You can schedule Events in \fido\ to execute these or other programs
at any time, using an MSDOS Batch File you create to make your system
completely or partially automatic.
\program{MSGMGR.EXE} (the Message Manager) performs routine
maintenance on messages within \fido\ Message Areas, such as purging
messages by age, and renumbering messages so they are sequential.
MSGMGR has it's own text file of commands that tells it what to do.
\program{SYSOP.EXE} is a database-like tool for managing the caller
database that contains the names, passwords and statistics and other
information on each caller. You can enter new callers, delete existing
callers one by one or by time since last logged in; set caller
privilege level and assign Keys; force callers into specific message
and file areas; and many more functions. There is also an ``undo''
feature and context sensitive help.
\program{FIDOMAIL.EXE} lets you create FidoNet network messages with
your own text editor or word processor. For example, during the day
you can create text files destined for other FidoNet network nodes,
and via an Event, have FidoMail put them into the FidoNet message
system.
\program{TWIX.EXE} prints FidoNet network mail newly received on your
printer or in a disk file you specify.
\newpage
\section{Requirements and Specifications}
\subheading{Computers:} \fido\ works on all
IBM\trademark\footnote*{``IBM'' is a trademark of IBM Corp.} Personal
Computers; PC, XT, AT, all PS/2 models, and all compatible ``clones'',
whether 8088, 8086, 80286, 80386. (A ``FOSSIL'' version is available
for other non-compatible MSDOS computers.)
\smallskip
Your computer must have at least the following:
\declare
\item{\blob}192K available memory
\item{\blob}At least 700K of disk storage
\item{\blob}One Serial Port (or internal modem)
\item{\blob}Modem as described below
\enddeclare
It is strongly recommended that you have a hard disk, and an internal
clock.
\subheading{Modems:} The following are explicitly supported by \fido.
Though models not listed below are not guaranteed to work, no one has
come up with a Hayes-type modem that can't be made to work properly my
simply entering the necessary initialization commands into Fido's
initialization file.
\declare
\item{\blob}U.S. Robotics Courier HST and Dual Standard
\item{\blob}Telebit TrailBlazer series
\item{\blob}U.S. Robotics Courier 2400
\item{\blob}Hayes SmartModem V-series
\item{\blob}Hayes SmartModem 1200
\item{\blob}Everex Internal \& External models
\item{\blob}Multi-Tech 2400
\item{\blob}Nearly all ``Hayes compatible'' modems
\item{\blob}``Dumb'' modems$^*$
\item{\blob}Direct connect to PBX or special serial device$^*$
\enddeclare
%
% To avoid having the footnote take on characteristics if the \item
% above, we've fudged it.
\footnote{\ }{However, FidoNet cannot originate calls without an
auto-dial modem.}
\subheading{Operating Systems Supported:} MSDOS\slash PCDOS versions
2.00 and up, with most Local Area Networks (ViaNet, Novell Netware,
etc) most multitasker programs (DoubleDOS, DESQView, Multilink, etc)
and multiprocessor hardware products (Alloy Computer Products' Slave
Cards); please contact the manufacturers of those products for
details.
\fido\ is specifically DoubleDOS and DESQView aware.
\newpage
\section{Software Policy}
This is the software policy for the \fido\ package. Please read it
carefully.
First:
Hobbyists run Bulletin Boards for their own personal reasons. Their
Bulletin Board is not associated with their employer or any business.
How they run their Bulletin Board is none of my business, ie. private,
public, subscription or chattel slavery.
Commercial users are companies, corporations, proprietorships or any
other business entities that run a BBS, either publicly or privately,
associated with their business. ``Non-profit'' and ``not for profit''
organizations are included in this category.
And here's the deal:
\subheading{Hobbyists and Individuals:} \fido\ is shareware; the
latest version of the software, minus documentation, can always be
found on the Fido Software BBS. There is no downloadable
documentation. (If you thought the version 11 docs were unwieldy\dots)
You must register the software for \$39.95; in return you will receive
the latest version on diskette plus printed and bound documentation.
If you later desire updates via diskette instead of download, send
\$15 plus the original diskettes or other proof of purchase.
\subheading{Commercial Users:} \fido\ is a usual licensable product;
the license fee is \$199.95. You will receive the latest software
version, complete documentation, and support via the Fido Software
BBS. (This has proved to be more than adequate for over two years.)
Updates can be obtained by downloading, or via diskette for \$25 plus
the original Fido Software diskette or other proof of purchase.
\subheading{BBS System Operators:} Besides being a {\bf Hobbyist} as
defined above, you may have the software available for download, as
you would any other program. Please keep READ.MEs and POLICY files,
along with the basic files as supplied by me, together as a unit to
avoid confusion frustration for all of us.
\subheading{Shareware Distributors,} clubs, etc: Please order the
complete package as a {\bf Commercial User}; for small hobbyist clubs,
as a {\bf Hobbyist} or {\bf Individual}. This will assure you the
latest correct and complete version, and the manual will help your
club members get things going easily. Such a deal. Look, I'm not
getting rich off this (or even breaking even!) so let's scratch each
others backs, OK?
Special arrangements can always be made on a case by case basis. In
all cases, bugs are fixed promptly, as they have been for six years.
\newpage
\section{Ordering}
\declare
\parindent=3.5in
Tom Jennings
Fido Software
Box 77731
San Francisco
CA 94107 USA
bbs: (415)-863-2739
FidoNet: 1:125/111
Internet: tom.jennings@fidosw.fidonet.org
\enddeclare
\medskip
\bar
\def\product#1#2{\medskip\line{{\bf #1} \leaderfill\ {\bf #2}}}
{\parskip=0pt
\product{\fido\ Version 12}{Commercial price: \$199.95}
\line{\hfill\bf Hobbyist price: \$39.95}
}
Complete \fido\ system license, including support programs, diskette,
manuals, and access to the Fido Software customer support bulletin
board.
\product{\fido\ Version 12 program update}{\$25}
\line{\hfill\bf Hobbyist price: \$15}
When enhancements to \fido\ version 12 are made (bugs fixed, features
added) customers may upgrade their current licensed Version 12
software to the latest revision. Errata sheets are provided as
necessary.
\product{\fido\ upgrade from Version 11 (or earlier)}{\$50}
Customers who purchased any previous version of \fido\ can upgrade to
version 12 for this price; proof of purchase must be returned. NOTE:
This is not a normal ``program update'', as described above, because
of the new materials that must be provided.
\product{FidoTerm Terminal Program}{\$12}
The FidoTerm program is a simple, powerful and easy to use terminal
program. You can view the last few hundred lines that scrolled off the
top of your screen; supports powerful file transfer protocols (ASCII,
Xmodem, Zmodem), and has a true script language with true programming
language constructs: a switch() statement, local variables,
subroutining and recursion. Comes complete with printed manual.
FidoTerm is well integrated into \fido; it may be invoked from Fido's
local console by a single keystroke, and will ``know'' about the
installed modem type and port, and commands let you dial from a
FidoNet nodelist.
\medskip
\boxit{1pt}{NOTE: Unless you say otherwise, the integral IBM Async
driver version of \fido\ and FidoTerm will be shipped. A FOSSIL
version is also available. FOSSIL drivers are not supplied by Fido
Software.\vadjust{\vskip\baselineskip}}
\medskip
\vfill
\subheading{All orders:} The software is available directly from Fido
Software or authorized distributors only. Terms are prepaid with
order, or invoices accepted from rated companies, payment Net 30 days.
No credit cards accepted.
\subheading{US/Canada:} All orders are shipped U.S. Postal Service
First Class (Priority Mail). Prices listed include shipping and taxes,
where applicable. For Federal Express next-day service add \$25.
\subheading{Outside US/Canada:} For checks written outside U.S., add
\$20.00 per order; please, only checks ``drawn upon a US bank''. All
orders shipped Air Mail.
\vfill
\vskip\parskip\tenpointsanserif
Fido\trademark, FidoNet\trademark, and the dog-with-diskette are
registered U.S. trademarks of Tom Jennings. \fido\ and all support
programs are copyright \copyright\ by Tom Jennings 1991
\supereject\end
@@ -0,0 +1,423 @@
Fido/FidoNet Specifications & Prices, June 89
Fido Software
164 Shipley
San Francisco CA 94107
voice: (415)-764-1688
data: (415)-764-1629
Fido/FidoNet is a software package for DOS based Personal
Computers that contains a complete Bulletin Board System plus a
fully automatic Electronic Mail system.
Fido is the most popular Bulletin Board system in the world
because of its flexibility, reliability, and features; FidoNet is
the software that defined the FidoNet protocol now in use around
the world. The worlds largest privately-owned computer network is
based upon the FidoNet communications protocol.
Fido(r) Bulletin Board System:
Absolute security
Complete caller access controls
200 independent message & file areas
Complete Email and message commands
Fully error correcting file transfer protocols
Supports all major DOS/MSDOS Personal Computers
Callers, commands, message and file areas can all have separate
privilege levels and Locks & Keys applied to them; these let you
limit callers' access to any part of the Fido system to fit your
needs.
FidoNet(r) Electronic Mail Network:
Completely automatic Electronic Mail
Full error correction protocol
Extensive time-of-day event scheduling
Powerful message routing language
Automatic message routing
FidoNet is an automatic "store-and-forward" mail system that uses
modems to transfer messages and files between
FidoNet-equipped computers. Using Fido, you enter messages,
choosing the destination computer(s) from a list; later, FidoNet
automatically transfers those messages to the destination
computers. Fido/FidoNet will inform you when the message has been
successfully sent. There can be any number of messages pending to
any number of destination computers. FidoNet's routing language
and other resources let you control exactly how and when FidoNet
messages are sent. All transfers use error correction for
absolute reliability (Fido supports both the original and
universal FidoNet protocol, as well as the WaZoo protocol,
developed by Wynn Wagner).
FidoNet networks can be organized into "Nets" and "Regions"
(FidoNet also has "Zones", groups of Nets and Regions, that
handle the problems of intercontinental traffic; differences in
time zones, incompatible modems, outgoing "gateways" for lowest
cost, and so on), each of which can contain any number of
computers running the Fido/FidoNet software, or compatibles,
(nodes) one of which is designated Host for the Net. A Host
receives mail for the entire Net, and distributes the mail to its
local nodes. FidoNet is intelligent enough to send all messages
for a given net in one phone call; you can get further efficiency
with the routing language.
FidoNet networks can be as small as two or three computers, or as
large as 5,000 spread over five continents, the size of the
amateur hobbyist IFNA Network as of January, 1989.
System Description
Ease of use: Fido/FidoNet is extremely easy to use, and is
compatible with just about any users terminal program or
computer. The user interface does not get in the way of
communicating; there are only two levels of menus. Users see only
what they need; novices find an easy to understand selection of
simple commands, and experts can choose a brief prompt. Context
sensitive help is available at all decision points.
Reliability: Fido/FidoNet is designed first and foremost for
reliability, meaning it will run 24 hours a day for months at a
time with no human intervention. (Obviously this doesn't include
responding to callers questions or other such things.) Tools are
provided that handle all routine maintenance tasks automatically.
Performance: Fido/FidoNet makes excellent use of ordinary
computers; "PC class" computers are all that's needed. ("AT
class" or better are recommended at 9600 baud and above.)
More than one modem: While Fido/FidoNet supports only one modem,
you can run more than one copy of Fido/FidoNet per computer using
multitasker programs. Fido/FidoNet prevents file and message
"collisions" when there are other users reading and writing the
same messages and downloading or uploading files, and for some
multitaskers will give unused CPU time to the other Fido/FidoNet.
See "Supported Operating Systems" for the current list of
supported multitaskers.
Low disk space overhead: A 20 Megabyte hard disk means
essentially unlimited space; room for thousands of messages,
files, a 4,000+ node FidoNet network, and plenty of disk space
left over.
For a sample "small scale" system, with only two 360K floppies
and 256K of memory, there is room for all of the basic
Fido/FidoNet system utilities plus your text editor and other
tools, over 200 messages, and close to 100K bytes free. The same
system with a 1,600 node FidoNet Network can have approximately
80 messages.
Modem Handling: Fido/FidoNet achieves extremely high reliability
with ordinary modems. During idle periods, Fido/FidoNet "talks
to" the modem to make sure it is ready and working. (While of
course modems are not supposed to misbehave, in real life they
can get confused by callers' strange and incompatible modems,
improper operation, bad phone lines, and the very cheap modems
frequently have firmware bugs. Fido/FidoNet generally takes care
of all of these things. Almost all problems reported to Fido
Software are modem-related problems!) Incoming callers' baud rate
is determined automatically; callers do not have to hit the
"ENTER" key to get the systems attention. Outgoing calls made by
FidoNet (if so enabled) watch for busy, no-dial-tone, and other
features as supported by each modem.
Caller DataBase: Each caller to the system has a record in a
database that maintains each callers name, password, terminal­
specific settings, privilege levels and controls, and various
statistics. Tools provided manipulate these records both manually
and automatically. The number of callers is limited only by disk
space.
System Messages and Bulletins: Fido/FidoNet uses ordinary text
files for most system messages and bulletins, that are meant to
be customized for your installation. When displaying and entering
text, the Fido takes into account each callers terminal settings,
such as screen width and length, and performs on-screen
formatting for a clean display.
Access Controls: There are six privilege levels that callers can
be assigned. You can specify minimum privilege levels needed to
access commands and message and file areas.
In addition to privilege levels, there are 32 "locks" with
matching "keys". Locks are be applied to things such as commands
and message and file areas; callers may be given any number of
keys. Callers can access only those things for which they have
all of the matching keys, plus meet the privilege level
requirements. For example, if the E)nter-Message command has lock
#20 applied, only callers that have Key #20, plus any necessary
minimum privilege levels, can use, see or get help with that
command.
Limits can be placed on each callers' connect-time on the system
per-call and per-24-hour period, and on file downloads. Time
limits are enforced at all times, including file download and
upload, so that scheduled Events are not preempted by caller file
downloads or uploads. ("Optional" events, described elsewhere,
may be preempted by human callers.)
Context-Sensitive Help System: Help is
context-sensitive, taking into account what commands the caller
has access to because of privilege levels or locks and keys. Help
is available on every command in the system. The Help files are
text files that can be customized to fit your specific needs.
Message Areas: There can be up to 200 separate message areas,
each with access controls as described above. The number of
messages in each area is limited only by disk space. Callers can
enter new messages, modify existing saved messages, search for
messages by keyword or as addressed to or from them, and perform
many other operations upon messages. Help is available at all
decision points.
File Areas: There can be up to 200 independent file areas, with
access controls as described earlier. There are a number of ways
in which to make files available (or not) to callers. Commands
and functions have been added to make remote maintenance of file
areas and other parts of the disk easier for the system operator.
Files can be uploaded and downloaded in ASCII, ZMODEM, XMODEM,
Telink, "MODEM BATCH" or Kermit protocols. XMODEM is nearly
universal, and can handle binary files; ZMODEM has performance to
match high-performance modems; Kermit and ASCII are used between
otherwise-incompatible computers.
Fido Software's "FidoTerm" program works well with Fido/FidoNet
(or any other modem based system).
Programmed events: There can be up to 100 "Events", scheduled to
run at any time of the day and any day of the week. Events allow
Fido/FidoNet to run FidoNet network mail, execute external
programs via DOS Batch Files, and other events for various
special purposes. The events system can handle simultaneous
and/or overlapping events, special "optional" events, and
combinations of events and special characteristics. ("Optional"
events can be used, for example, to simulate "background" FidoNet
network activity while no caller is otherwise occupying the
system.)
FidoNet mail at any time: Fido/FidoNet can send or receive mail
to and from other Fido/FidoNet systems at any time a caller is
not occupying the system, as well as during scheduled FidoNet
Network Events. Optionally, Fido/FidoNet can execute external
programs via a DOS Batch File to do special processing of
unscheduled Incoming Mail.
Other Features & Enhancements: You can sign in to the system from
the local keyboard, as if you had called in remotely with a
modem, without "taking down" the system. Upcoming events can be
listed, and previously-run events can be reenabled from the local
keyboard.
Fido works with external "shell" programs to allow programmers
and "aftermarket" add-on programs to work with Fido/FidoNet.
Technical information is available in the manual. (External
"shell" support programs are not supplied by Fido Software.)
Customization
Fido/FidoNet parameters, lists of events, command names, and
message and file area definitions are contained in ordinary text
files you can display and change with your own text editor
program. Message and file areas are defined in one text file;
the Fido/FidoNet system takes care of all the work of creating
and verifying the actual DOS subdirectories used. Commands are in
their own text file, along with any privilege levels and locks.
You can change command names to any single word you choose.
Programs Supplied with Fido/FidoNet
The following are some of the programs supplied as part of the
standard Fido/FidoNet system package. In addition, there are many
"aftermarket" programs from other authors that make using and
maintaining Fido/FidoNet easier and more powerful.
You can schedule Events in Fido/FidoNet to execute these or other
programs at any time, using an MSDOS Batch File you create to
make your system completely or partially automatic.
MSGMGR.EXE: (the Message Manager) performs routine maintenance on
messages within Fido/FidoNet Message Areas, such as purging
messages by age, and renumbering messages so they are sequential.
MSGMGR has it's own text file of commands that tells it what to
do.
SYSOP.EXE: is a database-like tool for managing the caller
database that contains the names, passwords and statistics and
other information on each caller. You can enter new callers,
delete existing callers one by one or by time since last logged
in; set caller privilege level and assign Keys; force callers
into specific message and file areas; and many more functions.
There is also an "undo" feature and context sensitive help.
FIDOMAIL.EXE: lets you create FidoNet network messages with your
own text editor or word processor. For example, during the day
you can create text files destined for other FidoNet network
nodes, and via an Event, have AutoMail put them into the FidoNet
message system.
TWIX.EXE: prints FidoNet network mail newly received on your
printer or in a disk file you specify.
Requirements and Specifications
Computers: Fido/FidoNet works on all IBM(r) Personal Computers;
PC, XT, AT, all PS/2 models, and all compatible "clones", whether
8088, 8086, 80286, 80386. (A "FOSSIL" version is available for
other non-compatible MSDOS computers.)
Your computer must have at least the following:
192K available memory
At least 700K of disk storage
One Serial Port (or internal modem)
Modem as described below
The following are strongly recommended:
Hard disk
Internal Clock
Modems: The following are explicitly supported by Fido/FidoNet;
other "Hayes compatible" (The phrase "Hayes compatible" is just
about meaningless, "AT" command compatibility is not enough;
there are other more important and subtle variables.) modems
usually work, but models not listed below are not guaranteed by
Fido Software to work. (Fido/FidoNet does allow you to customize
modem installations.)
Hayes SmartModem 1200
Everex Internal & External models
U.S. Robotics Courier 2400
U.S. Robotics Courier HST
Hayes SmartModem V-series
Telebit TrailBlazer and Plus
Multi-Tech 2400
Prentice POPCOM 1200 or 2400
Most other "Hayes compatible" modems
"Dumb" modems (FidoNet cannot be used)
Direct connect to PBX or special serial device
Operating Systems Supported: MSDOS/PCDOS versions 2.00 and up,
with most Local Area Networks (ViaNet, Novell Netware, etc) most
multitasker programs (DoubleDOS, DESQView, Multilink, etc) and
multiprocessor hardware products (Alloy Computer Products' Slave
Cards); please contact the manufacturers of those products for
details.
Fido/FidoNet is specifically DoubleDOS and DESQView aware.
Software Policy
This is the new (June 1989) software policy for the Fido/FidoNet
package. Please read it carefully.
First, some definitions:
Hobbyists run BBSs for their own personal reasons. Their BBS is
not associated with their employer or any business. How they run
their BBS is none of my business, ie. private, public,
subscription or chattel slavery.
Commercial users are companies, corporations, proprietorships or
any other business entities that run a BBS, either publicly or
privately, associated with their business. "Non-profit" and "not
for profit" organizations are included in this category.
And here's the deal:
Hobbiests and Individuals: Fido/FidoNet is shareware; you can
download the software itself, minus documentation, from the Fido
Software BBS. There is no downloadable documentation. (If you
thought the version 11 docs were unwieldy...) I will provide no
direct support. Hobbyists can receive the complete package
(diskettes and documentation) for a reduced price, as listed on
the price sheet.
Commercial Users: Fido/FidoNet is an ordinary licensable product,
the license fee is as it has been for two years. You will receive
the complete package of diskettes, complete documentation, and
support via the Fido Software BBS and voice telephone. (This has
proved to be more than adequate for over two years.)
It is common practice that commercial users "try out"
Fido/FidoNet as "shareware" first. There is nothing wrong with
this as long as if the software has been or will be useful to
you, the product is licensed immediately.
Special arrangements can be made on a case by case basis. In all
cases, bugs are fixed promptly, as they have been for five years.
This is basically the policy that was in force 1985 through 1987,
and worked very well; people appreciate being trusted, and
Fido/FidoNet is an extremely high quality system.
"Shareware" Distributors: I do not wish Fido/FidoNet to be
distributed by "shareware distributors", "libraries" or other
similar organizations. The problems are too numerous to count:
shipping ancient, incomplete versions; missing critical files;
giving out incorrect information regarding support; giving bad
operating advice, etc. Never mind the fact that they are using
the software for profit, regardless of claims to the otherwise
and suggesting that their customers pay instead.
Ordering
Fido/FidoNet Version 12 Commercial price: $175
Hobbiest price: $50.00
Complete Fido/FidoNet system license, including support programs,
diskette, manuals, telephone support and extended access to the
Fido Software customer support bulletin board.
Fido/FidoNet Version 12 program update $25
When enhancements to Fido/FidoNet version 12 are made (bugs
fixed, features added) customers may upgrade their current
licensed Version 12 software to the latest revision; the original
diskette must be returned to in order to qualify. Errata sheets
are provided as necessary.
Fido/FidoNet upgrade from previous versions $50
Fido Software customers who licensed any previous version number
of Fido/FidoNet directly from Fido Software can upgrade to
version 12 for this price; the original diskette must be
returned. NOTE: This is not a normal "program update", as
described above, because of the new materials that must be
provided.
FidoTerm Terminal Program $12
The FidoTerm program is a simple, powerful and easy to use
terminal program. You can view the last few hundred lines that
scrolled off the top of your screen; supports powerful file
transfer protocols (ASCII, Xmodem, Zmodem), and has a true script
language with true programming language constructs: a switch()
statement, local variables, subroutining and recursion. Comes
complete with printed manual.
FidoTerm is well integrated into Fido/FidoNet; it may be invoked
from Fido's local console, and will "know" about the installed
modem type and port, and recently-added commands let you dial
from a FidoNet nodelist.
All orders: The software is available directly from Fido Software
or authorized distributors only. Terms: Prepaid with order, or
invoices accepted from rated companies, payment Net 30 days. No
credit cards accepted.
US/Canada: All orders are shipped U.S. Postal Service First Class
(Priority Mail). Prices listed include shipping and taxes, where
applicable. For Federal Express next-
day service add $25.
Outside US/Canada: For checks written outside U.S., add $20.00
per order; please, only checks "drawn upon a US bank". All orders
shipped Air Mail.
Fido, FidoNet, and the dog-with-diskette are registered
trademarks of Tom Jennings. Fido/FidoNet and all support programs
are copyright by Tom Jennings 1989
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,28 @@
\font\hl=cmssi17 % headline font
\font\hlmed=cmssi12
%\vsize=7.70in
%\hsize=4.97in
\hoffset=-0.85in
\voffset=-0.90in
\settabs 3 \columns % simple tables & examples
\def\uparrow{$\delimiter"3222378 $}
\def\backslash{$\delimiter"26E30F $}
\hyphenation{jennings fido fidonet fidoterm}
\def\indent{\hskip.5in}
\def\skip{\vskip\parskip}
\def\pagebreak{\vfill\penalty-10000}
\def\return{\leavevmode\hbox{\lower2pt\hbox{$\leftarrow$}\kern-1pt
\raise 1pt\hbox{\vrule height 4pt width .25pt}\kern1.5pt}}
\def\blob{$\bullet$}
\def\trademark{$^{{\tiny R}\kern-6.4pt \bigcirc}$}
\def\section#1{\skip\skip\penalty-2000\hrule\vskip4pt\lline{\hlmed #1}\smallskip}
\def\subheading#1{\skip\lline{\bf #1}\smallskip}
\def\proclaim#1#2{\skip
\setbox4=\vbox{{\bf\strut #1} {\it #2}\strut\par}
{\boxit{1}{\box4}}}
\def\example#1{\skip\penalty-200\lline{\tt #1}}
\def\fido{Fido/\hskip0pt Fido\-Net}
\headline={\hfil}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,19 @@
\input fidoterm.sty
\footline={\hfil}
\font\hl=sw52
\font\big=bs0003 scaled\magstep3
\hbox{ \vadjust{\vskip2in} }
{\baselineskip=52pt\centerline{\hl FidoTerm}
\centerline{\big Communications Program}}
\vfill
\lline{Fido Software}
\lline{Tom Jennings}
\lline{Box 77731}
\lline{San Francisco CA 94107}
\lline{FidoNet: 1:125/111}
\lline{Modem: (415)-764-1629}
\supereject\end
@@ -0,0 +1,677 @@
Fido Version 12 CaTler's Guide Page 1
Fido/FidoNet version 12 CaTler's Guide
July 1988
This is the CaTler's Guide to Fido Version 12. Its entire
contents are copyright 1988 by Tom Jennings.
This guide is distributed through BBSs and information utilities
under the honor system. If after using it for two weeks you find
it worth keeping, send $).00 to:
Fido Software
CaTler's Guide
Box 77731
San Francisco, CA 94107
Please send your praises, complaints, corrections, and
suggestions to the author, Scot Kamins, at the address above.
For generaT information on the Fido/FidoNet Bulletin Board
program (prices, current version, datasheet, etc) write to the
address above.
"Fido" and "FidoNet" are registered trademarks of Tom Jennings
Fido Version 12 CaTler's Guide Page 2
--- Fido's Structure
Fido is divided into three major sections - MAIN, MESSAGES, and
FILES. The Messages and Files sections can in turn each have up
to 200 separate areas, each area covering a separate topic. (Most
Fidos have fewer than 10.) Which of these sections and areas you
can use, and the commands you can use in each, depends on your
privilege level. The system operator determines what a caTler's
privilege level is.
The Message section holds messages that a caTler writes to
another person or to anybody who cares to read it. A caTler can
make a message private so that only the message writer and the
person specified (and the system operator) can read it. The
system operator determines the length of messages that caTlers
can leave. DQfferent types of messages usuaTly go into different
message areas.
The Files section holds files that a caTler <idwprivaoad. These
files come from the system operator and from caTlers (maybe you)
who use speciaT Fido commands to upload them. The system operator
checks these files to make sure that they're either in the public
domain or that the file's copyright holder has given permission
for their distribution. Like messages, different types of files
usuaTly go into different file areas.
Many boards have a speciaT electronic mail (FidoNet) section. In
this section a caTler can send a message to anyone who caTls into
a FidoNet (or compatible) board anywhere in the world. As of this
writing, over 2000 FidoNet compatible boards with FidoNet in
operation are operating in aTl 50 states and 17 countries.
You'Tl read more later about entering and editing messages,
uploading and idwprivaoading files, and sending and getting FidoNet.
Fido Version 12 CaTler's Guide Page 3
--- CaTling Fido
When you caTl a Fido board, there's a process you have to go
through before you can start reading or entering messages or
files. It's caTled the log-on procedure (because you
electronicaTly sign your name in the Tog book). Except for the
first time you caTl, it only takes a few seconds. Here are the
steps you take to caTl and Tog on:
1. Make sure your modem is turned on. Of course, it has to be
attached to your computer properly, and you must have
communications software running that works weTl with your
computer and your modem.
2. DQaT the Fido's Vumber. How you do this depends p your
communication software; see the manual that came with that
software for details. Assuming the Fido's Vumber isn't busy and
that the Fido you're caTling is up and running, after a few
seconds the word CONNECT (or something similar) will appear on
your screeV.
3. Wait for a few seconds. This gives Fido a chance to check and
match your modem's baud rate - the speed your modem is sending
and receiving information. If you get no response after waiting
five seconds or so, press Enter two or three times. (Older Fidos
with version Vumbers less than 12 can't tell the baud rate of a
modem automaticaTly.)
4. Read what Fido puts on your screen and foTlow the directions.
You'Tl see the name of the board, and probably some introductory
information the system operator wants you to read. Then Fido asks
for your name.
). Type your first name and press Enter. (You can use Return
instead of Enter.) Fido then asks for a last name. See the
comments after this list in the section caTled "About Names."
6. Type your last name and press Enter. (You don't have to type a
last name if you don't want to; but Qf you don't type it the
first time you caTl this Fido, don't ever type it.) Next, Fido
checks to make sure you've typed your name correctly.
7. Confirm that your name is typed correctly by pressing Y and
then Enter. (Pressing just Enter without typing anything works,
too; wherever Fido gives you a choice, pressing Enter is the same
as pressing the capitalized choice.) If you've made a mistake or
somehow Fido got Qt wrong, press N and then Enter; then retype
the information. Fido checks to see if it knows who you are. If
it does, it asks for your password. If not, something else
happens; skip to the section caTled "First time Log-ons."
8. Type your password and press Enter. Fido makes sure you are
who you say you are. If everything is OK, your log-on is
complete. Fido might show you some notices; usuaTly you can enter
Control-C (or Control-K) to skip them. At any rate, Fido wiTl
soon present you with a deathless quotation that you can ponder
as the Main MeVu scrolls onto the screen.
Fido Version 12 CaTler's Guide Page 4
--- CaTling Fido
--- About Names
Some system operators want you to use your real name; others
accept "handles" - aTiases you use instead of your real name to
reflect some fantasy or role appropriate to the kind of Fido
you're caTling ("The Hacker," "Top Whip," or "Creampuff" to name
some typical handles). Custom dictates what's acceptable and what
isn't p a particular Fido. In some cases, a system operator asks
for your real name in a questionnaire and then aTlows you to use
a handle everywhere your name would ordinarily appear on the
board. In any case, you can sign on with whatever name you want;
later, you can change your name and password.
Fido requires that you give a first name; whether you give a
middle or last name is up to you. To skip giving a last name,
just press Enter without typing anything else. when Fido asks for
it You need to be consistent, however; Qf you sign p the first
time with a first and last name, you must give both each time you
caTl - otherwise, Fido wiTl think you're somebody else. Also, if
you give just a first name the first time you caTl, you can never
give a last name when you Tog on. Again, you can change aTl this
from within Fido. (See C)hange command, beTow.)
--- First Time Log-Ons
Logging on for the first time takes a little Tonger (and
sometimes a Tot Tonger) than usual. You'Tl be asked to choose a
password so that only you (and the system operator) wiTl be able
to read your private messages and so that nobody else can use up
your time. (Many Fidos aTlow you only so much time on the system
per day; some Fidos charge you for the time you use.) Some Fidos
also ask you to fill out an electronic questionnaire the first
time you caTl.
A few Fidos are semi-private or private systems; you have to be
approved by the system operator before you can use most of the
system's features. Some Fidos won't let you on at aTl unless you
belong to a particular company or club, or unless the system
operator has aTready enrolled you on the caTler list that Fido
keeps.
Whatever the procedure is, the Fido you're caTling wiTl let you
know what's up and will prompt you for the information it needs.
You ordinarily only have to go through this procedure the first
time you caTl a particular Fido.
--- Signing up - again!
ATl Fidos keep track of (among other things) the date that you
caTl. Most Fidos purge your name from the caTler list if you
don't caTl again for so many days, usuaTly 30. So you might find
a Fido that you infrequently caTl forgetting who you are. When
this happens, you'Tl have to go through the first time log-on
procedure again.
--- Choosing a Password
Fido Version 12 CaTler's Guide Page 5
--- CaTling Fido
Your password can be up to 15 characters Tong. It must start with
a letter, and it can't contain any spaces. It should be something
that's meaningful to you and to no one else, or it should be
completely meaningless. The idea is to come up with something
that nobody else can use to rip off your messages or Fido time.
Some people Tike to change their passwords at Teast once a month.
(See "C)hange".)
Fido Version 12 CaTler's Guide Page 6
--- The Main MeVu
Fido is a menu-driven system. This means that you choose commands
from meVus to decide what happens next. (Advanced caTlers can
shut the meVus off and type commands directly; see "Help Levels",
for the details.) To choose a meVu command, you usuaTly type a
letter and then press Enter. You see the menu in the Main section
first; here's what it Tooks Tike:
MAIN Section:
M)sg-Section F)ile-Section B)ulletins
S)tatistics C)hange P)age-Operator
L)ist-CaTlers A)ns-Questionnaire V)ersion
O)utside E)xitDOS G)oodbye
Command (?=help):
You might not see aTl these commands if your privilege level
isn't high enough. (In fact, it's extremely unlikely that you'Tl
see either O)utside or E)xitDOS.) Your system operator decides
what commands you can see; Qyou can can see it, you can use it.
Privileges and such: The system operator controls who can use
which sections and, within sections, which commands. DQfferent
system operators have different rules to determine who gets to
use what. System operators generaTly make it clear what you have
to do in order to get to use these "higher order" commands. If
you're curious, leave a message for the system operator askpear about it.
Here's what each command does, in brief. The ones that require
further explanation have their own detailed sections later on:
M - Message section. This brings you to the message area you Tast
looked at on your most recent caTl. If this is the first time
you've used the M command, you go to whatever message area the
system operator sets for first-time caTlers. See "Message
Section".
F - Files section. This brings you to the file area you Tast
Tooked at p your most recent caTl. If this is the first time
you've used the F command, you go to whatever file area the
system operator sets for first-time caTlers. See "File Section".
B - BuTletins. Gives you a Vumbered list of buTletins you can
look at. To see a particular buTletin, type its Vumber and press
Enter. The foTTowing example comes from the ker@os board in San
Francisco:
--- BuTletins ---
1) The curres, d"New caTler" weTcome 7 July 87
2) THE INTENT OF THIS BBS
3) PRIVACY & CENSORSHIP
4) General notes on Bulletin Boards in the "real world"
BuTletin #:
S - Statistics. Lets you know how often you've caTled, how much
time you've got left on this call, and other information. This
Fido Version 12 Caller's Guide Page 7
--- The Main Menu
comes up:
28 Jul 87 21:12:51
Total Limi7 Remaining
Total Calls: 264
Your Calls: 41
Connect Time: 1 60 59
24 Hr Time Limit: 240 239
Credi: $24.00 $24.00
The credit Tine lets you know how much credi you have in your
account for using FidoNet, a special feature of Fido systems that
lets you send electronic mail to and receive electronic mail from
any of over 2000 Fido systems throughout the world. See "Sending
and Receiving FidoMail", later in this chapter, for the details.
You're Timied in the amount of time you can spend on the system,
both per call and per day. Some systems are extremely busy, and
they might Timit you to less than an hour a day.
C - Change your setup. Lets you change your name, password, help
level, and system stuff (screen width and length, whether your
modem needs nulls, and so on):
---- Personal Info ----
Name : John Scribblemonger
Address : Lake Woebegone Minnesota
Password : Scribe
Help Level : All
----- Your System -----
Number of Columns: 80
Number of Lines : 24
"More[Y,n]" : ON
Tab Expansion : ON
Filler Nulls : 0
N)ame A)ddress P)assword H)elp-Level W)idth
L)ength M)ore T)abs F)iller-Nulls
Command (?=help):
See "Changing Caller Settings" for details.
L - List callers. This command shows you the names of all people
currently on the caller list, the last date and time they were
on, and where they're from. You can also hunt for an individual
caller's name - a great way to see if a friend uses this board,
or to see the last time that somebody was on:
Name or part of name to match (CR = all):
Scott Dean 28 Aug 87 22:12:35 Fresburg Ca
Jack Friday 06 Sep 87 09:40:53 KatPmandu Nepal
Al Taddeo 25 Aug 87 23:40:28 Burbank Ca
Ed Johnson 08 Sep 87 20:25:05 San Francisco Ca
Fido Version 12 Caller's Guide Page 8
--- The Main Menu
Rob Taylor 19 Sep 87 20:41:57 Fresburg Ca
Jeff McNeal 0rediSep 87 22:38:49 Pitsburg Calasedaon
@@ -0,0 +1,50 @@
\input vanilla.sty
\input defs.tex
\font\rm=cmss12 \rm
\font\it=cmssi12
\font\sans=cmss12
\parskip=12pt plus 2pt minus 1pt
\baselineskip=13pt plus .1pt minus .1pt
\parindent=12pt
{
%
% Header stuff
%
\parskip=0pt
\obeylines
\line{\hskip4.6in
11 January 1990 % DATE
\hfill
}
\vbox to 0pt { % TO address, etc
International FidoNet Association
Ken Kaplan
Box 41143
St. Louis MO 63141
}
{\leftskip4.6in\vbox{ % FROM
Fido Software
Tom Jennings
164 Shipley
San Francisco CA 94107
(415)-764-1688
}}}
\vskip\parskip
\item{1.}This letter is to inform IFNA that I am terminating our
Trademark License Agreement that allows IFNA the use of my
trademarks, commencing 28 February 1990.
\item{2.}The vote by the network members this past 1 December
1989 clearly indicates that IFNA does not represent the wishes
and needs of the FidoNet network at large, and therefore myself.
\vskip1in
\line{\hskip3in Tom Jennings\hfill}
\bye
@@ -0,0 +1,33 @@
# FIDOSHEETS
Collection of Fido Datasheets in TEX and ASCII
## FILES
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/datasht.sty.txt [ 1045] TEX: FidoNet Data Sheet
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/datasht.tex.txt [ 22352] TEX: Fidonet Datasheet
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/datasht.txt [ 18720] FidoNet Specifications and Prices (June, 1989)
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/errata.doc.txt [ 47955] Changes and Enhancements Not in the Book for Fidonet Version 12R (November 7, 1989)
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/errata.sty.txt [ 921] TEX: Fidonet Errata
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/errata.tex.txt [ 54030] TEX: Fidonet Errata (May 1, 1990)
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/ft-cover.tex.txt [ 377] TEX: FidoTerm Cover
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/guide.asc [ 15573] Fido/FidoNet Version 12 Caller's Guide by Tom Jennings (July, 1988)
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/ifna.tex.txt [ 930] TEX: FidoNet IFNA Information
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/intex.tex.txt [ 1097] TEX: FIdonet InTex Version Information
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/mailer.tex.txt [ 237] TEX: FidoNet Mailer
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/policy.tex.txt [ 2696] TEX: Fidonet Software Policy
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/script.doc.txt [ 22370] FidoNet Script Language Machine Model
=> gemini://informis.land/textfiles/bbs/FIDONET/JENNINGS/PROGRAMS/FIDOSHEETS/tm.tex.txt [ 1328] TEX: FidoNet Trademark Information
@@ -0,0 +1,52 @@
\input tex
\twelvepointroman
{\noindent\parskip=0pt\obeylines
17 May 1991
\vbox to 0pt { % TO address, etc
Jane Baier
Intex Solutions
161 Highland Ave
Needham MA 02194
(617)-449-6222
}
\leftskip3in\vbox{ % FROM
Tom Jennings
Fido Software
666 Illinois
San Francisco CA 94107
(415)-552-8156
}
}
\vskip.6in
Thank you for calling me regarding this trademark issue. As you
can see from the enclosed copies, the word ``Fido'' has been
registered to me for some time. It is still very active in
national commerce.
I am not interested in taking any legal action, my only goal is
see that my trademarks are protected; it will suffice to
immediately stop using the mark(s). I would appreciate an example
of your usage of mark currently, for my files, and once it has
been removed, a sample copy of the new matter. This correction
will completely satisfy my requirements on this issue.
And thanks once again for replying so quickly. I'm sure this can
be taken care of to our mutual satisfaction.
\vskip.4in
{\leftskip3in\obeylines\parskip=0pt
Sincerely,
\vskip.5in
Tom Jennings
}
\bye
@@ -0,0 +1,19 @@
\input tex
\twelvepointsanserif
\parskip=0pt
\vrule height7.2in width0pt
\line{\hskip0.8in\trademark\hfill}
\vrule height.2in width0pt
\leftskip=1.5in
\obeylines
Tom Jennings
Fido Software
Box 77731
San Francisco
CA 94107 USA
\end
@@ -0,0 +1,59 @@
\input datasht.sty
\section{Software Policy}
This is the new (6 July 1989) software policy for the \fido\
package. Please read it carefully.
First:
Hobbyists run BBSs for their own personal reasons. Their BBS is
not associated with their employer or any business. How they run
their BBS is none of my business, ie. private, public,
subscription or chattel slavery.
Commercial users are companies, corporations, proprietorships or
any other business entities that run a BBS, either publicly or
privately, associated with their business. ``Non-profit'' and
``not for profit'' organizations are included in this category.
And here's the deal:
{\bf Hobbyists and Individuals:} \fido\ is shareware; the latest
version of the software, minus documentation, can always be found
on the Fido Software BBS. There is no downloadable documentation.
(If you thought the version 11 docs were unwieldy\dots) You must
register the software for \$50; in return you will receive the
latest version on diskette plus printed and bound documentation.
If you later desire updates via diskette instead of download,
updates cost \$25 plus the original Fido Software diskette.
{\bf Commercial Users:} \fido\ is a usual licensable product; the
license fee is \$175, as it has been for two years. You will
receive the latest software version, complete documentation, and
support via the Fido Software BBS and voice telephone. (This has
proved to be more than adequate for over two years.) Updates can
be obtained by downloading, or via diskette for \$25 plus the
original Fido Software diskette or proof of purchase.
{\bf BBS System Operators:} Besides being a {\bf Hobbyist} as
defined above, you may have the software available for download,
as you would any other program. Please keep READ.MEs and POLICY
files, along with the basic files as supplied by Fido Software,
together as a unit to avoid confusion frustration for all of us.
{\bf Shareware Distributors,} clubs, etc: Please order the
complete package as a {\bf Commercial User}; for small hobbyist
clubs, as a {\bf Hobbyist} or {\bf Individual}. This will assure
you the latest correct and complete version, and the manual will
help your club members get things going easily. Such a deal.
Look, I'm not getting rich off this (or even breaking even!) so
let's scratch each others backs, OK?
Special arrangements can always be made on a case by case basis.
In all cases, bugs are fixed promptly, as they have been for five
years. This is basically the policy that was in force through
1987. It worked pretty well, there were very few problems, and
most of those were caused by my ambiguity.
\bye
@@ -0,0 +1,700 @@
.he Fido/FidoNet/FidoTerm Script Language Copyright Tom Jennings #
Tom Jennings
Fido Software
164 Shipley
San Francisco CA 94107
SCRIPT LANGUAGE MACHINE MODEL
Fido/FidoNet's script language is a machine language, and like all
machine languages, there is an underlying "model" machine that
the script instructions manipulate. The buckets and Beetles, that
is.
The script machine model has the following components at your
disposal:
NAME DESCRIPTION
&A The numeric "accumulator", values 0 - 65535
&C The "clock", counts up, in seconds
&T The "trap register", 0 or 1 - 65535 seconds
&E The "error register", either 0 or 1
&R The general purpose Recognizer
&S The "shift register", 20 characters,
&1 - &8 General purpose registers
stack 10 levels of data stack
&A: The "accumulator" (such a quaint word) is a simple
register for storing or manipulating numbers. It can be set to
any value from 0 to 65535. It can be stored into any other
register. There are instructions to test when the accumulator is
zero.
&T: The "trap register" is part of a mechanism to break
endless loops; the "TRAP" instruction is used to set a failsafe
if a script or part of a script takes too long to execute.
&E: The "error register" can be either 0 or 1, with 1
generally indicating an error condition. There are instructions
to set and test the error register.
&R: The Recognizer can be used to store text or numbers.
&1 - &8: These are general purpose registers, and can hold
numbers or text. They are used to pass parameters to subroutines.
Each subroutine level has it's own set of these registers. When a
subroutine is called, the initial values are those of the calling
routine.
&S: The "shift register" is a special register that contains
the last 20 characters received from the modem, and is what
patterns are matched against. Characters are shifted in from the
right, and the left most character "falls off" the end. You can
also store text in &S and use the "IF" instruction to do string
comparisons.
&1 through &8 are "local variables"; they are not shared amongst
all subroutine levels. When a CALL is executed, the called script
"inherits" the calling scripts initial values for these
registers, but any changes made are lost upon RETURN.
The stack is a general purpose "push down" stack; you PUSH items
onto the stack, and POP them off. Items can only be accessed from
the top of the stack. There is room for up to ten items on the
stack. If there are (for instance) five items on the stack, to
get at the first one pushed (the "bottom" of the stack) you must
first pop off the four on "top" of it.
.pa
INSTRUCTION SYNTAX
All instructions are of the form:
INSTRUCTION OPERAND OPERAND
Blank lines or lines beginning with a semicolon are ignored.
Lines beginning with a colon (label statements) are ignored when
processing instructions.
Operands are usually text strings, and all strings should be
quoted.
INSTRUCTION PROCESSING
The script processor is basically a text processor. The macro
language applies to all commands at all times. Anything to the
right of the instruction itself is expanded by the macro
processor.
Macros are expanded from left to right, once. There are two
special tokens the macro processor understands:
&(one letter register name)
\(special text character)
The language chosen allows just about every disgusting trick
possible with machine language; self-modifying code, computer
GOTOs, etc. I'll dispense with the formality, and show some
generalized examples and leave it at that:
Message "This is a string"
The MESSAGE command merely displays what it's given on the
command status line. It makes for a simple example. In this case,
centered in the status line you'd see:
This is a string
If the recognizer (&R) contained the string "HELLO DUDE" the
instruction:
Message "The recognizer contains &R"
Would display:
The recognizer contains HELLO DUDE
To display the same thing, but with quotes surrounding the
contents of the recognizer, you would use:
Message "The recognizer contains \"&R\""
Displayed as:
The recognizer contains "HELLO DUDE"
Note the \ before the quote character merely quotes what follows.
There are some convenient exceptions:
\r carriage return, 13 decimal
\n line feed, 10 decimal
\e escape, 27 decimal
\b backspace, 8 decimal
\c etx (Control-C), 3 decimal
\1 SOH character, decimal 1
\127 DEL character, decimal 127
... ...
If you don't like that, ("C" programmers will like it though) you
can enter control characters like so:
^A 1 decimal, ASCII SOH
^M carriage return, 13 decimal
^J linefeed, 10 decimal
... ...
The ADD instruction adds a value to the accumulator. For example:
ADD 27
Would add 27 to the accumulator; if it had contained 3, it would
now contain 30. If the &2 register contained "34", the following:
ADD &2
Would add the numeric value 34 to &A. If &2 contained "ABRACADAB"
then it would add zero to &A.
Here are some further examples. Assume first:
&A contains 20
&R contains "Text"
&1 contains "764-1629"
&2 contains 300
INSTRUCTION OPERAND EXPANDED
message "sample text" sample text
message &R 20
message "pattern is &r, OK?" pattern is 20, OK?
message "&A&R&A" 20Text20
message "Dialing &1 at &2 baud" Dialing 764-1629 at 300 baud
You can take this to absurd extremes. The instruction JMP <label>
passes execution to the line following the line containing
:<label>. You can take advantage of this by using a "computed
goto". The command:
jmp "&R"
Would attempt to jump to a line:
:TEXT
.pa
.sh Pattern Matching
PATTERN MATCHING
The main purpose of Fido/FidoNet's script language is pattern
matching; looking for particular strings of characters received
from the modem. All of the script language instructions are
intended to work together to do this.
The single most important component of the script machine is the
Shift Register. The shift register contains the last 20
characters received from the modem, and works like this:
Assume that with your modem and Fido/FidoNet, you just called into
and connected with some bulletin board system, and are about to
be asked to log in.
As characters are received they are put into the right hand end
of the shift register; the character on the left edge of the
shift register is lost. For example, if the bulletin board signon
message you'd see on your screen was:
WELCOME TO THE ACME HOG THROWERS BBS
AT THE PROMPT ENTER YOUR NAME AND PASSWORD:
Lots of times a simple "wait until the word XYZ" will do exactly
what you want. This sort of thing is easy to write scripts for,
and even in complex scripts is a very useful function.
The problems start when you need to base different actions on a
number of possible patterns, not just one. A simple "MATCH"
instruction just won't do it, and brute force techniques of
searching through a screenful of text ("rummaging") has serious
limitations.
In Fido/FidoNet the technique used involves a 20 character array
called the "shift register", referred to as "&S" in the script
language.
The shift register changes after each character received from the
modem; in the example above, W, E, L, C, O, M, E, etc. Part way
through the above message being displayed, the shift register
would look like:
....
&S " WEL"
&S " WELC"
&S " WELCO"
&S " WELCOM"
....
&S "LCOME TO THE HOG THRO"
....
Fido/FidoNet compares patterns you specify against the right hand end
of the shift register; this means that for each character
received (therefore a new string each time) you can look for any
reasonable number of possible patterns. ("Reasonable" will be
discussed later ...)
In this example, to do an automatic login, once we see the word
"PASSWORD:", we can output thename and password. This is a common
and simple case. The instruction "MATCH" will do the job.
"MATCH" compares text you specify against the contents of the
shift register. For this example we'd use "WORD:". A string match
is used, so you only need to use enough characters to make it
unique; the string "WORD:" does not appear anywhere else in the
initial signon message. (Actually, ":" will work fine here, but
it's a good idea to use at least a couple of characters; "RD:"
would be even better.)
MATCH "WORD:"
To continue the example above, as characters come in from the
modem they shift through the shift register. Fido/FidoNet is
executing the "MATCH" instruction above, and the shift register
looks like:
....
match WORD:
&S= "OUR NAME AND PASSWOR"
match WORD:
&S= "UR NAME AND PASSWORD"
match WORD:
&S= "R NAME AND PASSWORD:"
For each character received, the "MATCH" instruction is comparing
it's pattern ("WORD:") against the contents of the shift
register. When the patterns match, the next line of the script
file is executed, which in this case could be an instruction to
output your name and password.
.pa
COMPLEX PATTERN MATCHING
You don't need to understand the how and whys of the shift
register to use the "MATCH" command, and for most casual script
writers that will be all you need.
A good example of the limitations of such a simple system is a
script that dials phone numbers with a Hayes modem using "AT"
commands, and responding to the many possible "result codes".
(This example assumes a basic understanding of Hayes modem
commands.)
The dialing part is easy; you just issue the ATDT command and the
phone number. The problem arises when you try to interpret the
results of that command, such as busy, no answer, connecting at
various baud rates, errors, etc. A simple "MATCH" instruction
just won't work.
For example the US Robotics Courier HST has about a dozen
possible responses to a simple dial command; any script you write
must be able to handle them all. That's what we'll do here.
Dialing a US Robotics Courier HST
The command we'll use, for simplicity, is:
"AT DT 764 1629\r"
("\r" means "carriage return, CR, decimal 13)
The modem can respond with any of the following result words:
CONNECT (300 baud)
RING (incoming call)
NO CARRIER (failed to connect)
ERROR (bad command given)
CONNECT 1200
NO DIAL TONE
BUSY
NO ANSWER
CONNECT 2400
RINGING
VOICE
CONNECT 9600
This is where you take advantage of the shift register. The
script fragment below handles the problem at hand and is
explained below. You will be using this SAMPLE ... IF ... GOTO
loop to do most complex string compares.
&T= 60
&C= 0
TRAP dial-failed
output "ATDT 764-1629\r"
:get-result
sample
if "NO" dial-failed
if "ERR" dial-failed
if "12" conn-1200
if "24" conn-2400
if "96" conn-9600
if "ECT\r" conn-300
if "BU" redial
if "VO" dial-failed
if "RING\r" dial-failed
goto getresult
:dial-failed
&A= 0
return 1
:conn-300
&A= 300
goto connect
:conn-1200
&A= 1200
goto connect
:conn-2400
&A= 2400
goto connect
:conn-9600
&A= 9600
:connect
$$ "b &A\r"
message "connected at &a baud"
return 0
"SAMPLE" is a special instruction for use in SAMPLE/IF/JMP loops,
and causes one character to shift into the shift register. (The
"MATCH" instruction and most others do this automatically, but
"IF" doesn't.) You should have one, and only one, "SAMPLE"
instruction before each set of "IF" instructions; if you have
none, the shift register will not ever change, and if you have
more than one you will miss patterns.
"IF" compares the given pattern against the current contents of
the shift register, and branches to the specified label if a
match is made.
The patterns searched for by the "IF" instructions need to be
mentioned. You could search for the entire modem response
("CONNECT 1200" instead of just "12") but the script will run
faster is short strings are used. Use as few as possible is the
general rule. The "NO" pattern will match any of the following,
which all mean no connection: NO CARRIER, NO DIAL TONE, NO
ANSWER. The 300 baud connection result code is "CONNECT", hard to
distinguish from "CONNECT 1200" because the "IF" will match
"CONNECT" without waiting for the "1200" or whatever follows. The
"ECT\r" means that it will only match that word at the end of a
line, that is, followed by a CR character.
A loop of this length will run pretty slowly. It really should
have a "timeout" check, using the &C clock, to limit the dialing
attempt to a minute or so, and this will slow it further.
To accomodate this, Fido/FidoNet has rather huge buffers, and using
the explicit "SAMPLE" instruction means that characters won't
speed through the shift register faster than you can test them.
With a loop of approximately this size, it would take a few
thousand characters at continuous 9600 baud to cause character
loss. In the example above, speed is not a problem; the modem
issues very little text.
SAMPLE/IF/JMP loops should be as tight as possible. This is
interpreted, so keep that in mind; keep comments out of loops,
keep labels and operands short. Use as few "IF"s as possible.
If you need to do such a series of compares through a large
amount of text at high speed, it is best to cut down the search,
for example by issuing commands to reach some intermediate point
from which you can do your multiple compares.
.pa
FURTHER NOTES ON PATTERN MATCHING
The strings you provide to the "MATCH" and "IF" instructions have
some characteristics that make for easier comparisons.
All searches are case IN-sensitive. "ANC" matches "anc", etc. You
can specify it in your script in either way.
"?" is a wildcard character; it mean match any character.
"CONNECT ??00" will match "CONNECT 1200", "CONNECT 2400", etc.
Control characters are treated just as any other character. "End
of line" characters will vary with the bulletin board program or
whatever it is you call; Fido for instance is like most BBSs, and
uses a CR/LF sequence (decimal 13, decimal 10). You can search
for "\r" or "\13" or for "\r\n" or "\13\10", but keep in mind
that other systems could use LF/CR, or other combination.
HINT: You can store strings directly in to the Shift Register and
then test it with the "IF" command. For instance, user input from
the "INPUT" command copied into &S could be tested for a
particular value.
.pa
.sh Register and Arithmetic Instructions
These are the most basic instructions to change the contents of
the various registers. Please note that the space after the "="
is signifigant.
&S= text
&1= text or number
&2= text or number
&3= text or number
...
&8= text or number
Set the specified register. Numbers are really text
strings, but you can treat them either way. The string must be
under 20 characters.
&A= value
Set the accumulator to the specified value. The
accumulator is numeric only.
&B= value
Set the baud rate register to the specified value; if the
value is not a valid baud rate then the &B register will not
change.
&C= value
Set the free-running clock to an initial value. The clock
counts up continuously every second.
&T= value
Set the trap register to the specified value. Setting it
to zero disables the trap.
ADD value
SUB value
Add or subtract the value to the accumulator.
PUSH text
Puts the text onto the top of data stack. There are only
10 levels so watch out. Anything can be pushed onto the stack.
POP register
Take the top item off the stack and place it in the
specified register. If you try to put non-numeric text into a
numeric register it becomes "0". You cannot POP items not PUSHed.
.pa
.sh Flow Control Instructions
TRAP label
This instruction is used to set a time limit on script
execution, usually loops searching for a pattern. The trap uses
the &C clock.
The &T trap register is set to the specified number of seconds,
and the &C clock is reset. Before each script instruction is
executed, the clock is compared against the trap time; if the
time limit is exceeded, the script branches to the specified
label in the script file that initially set the trap; therefore
the trap can even abort scripts running many subroutine calls
deep. Setting the &T trap register to zero disables the trap.
&T= 0
&C= 0
TRAP label
....
If at any time during script execution the &C clock
reaches or exceeds the &T trap register, script execution
proceeds from the specified label in the current script file.
JMP label
Branch to the specified label unconditionally.
JZ label
JNZ label
Branch to the specified label in the current script file
if the accumulator is zero (JZ) or not zero (JNZ). This is used
to test previous arithmetic instructions.
DJNZ label
A basic looping instruction: "Decrement and Jump if Not
Zero". Subtracts 1 from &A, and if the result is not zero,
branches to the specified label.
JERROR label
Branches if the &E error register is not zero. &E is
generally set by the MATCH instruction failing, the RETURN (from
subroutine) instruction.
CALL scriptfile parameters ...
Execute the script file as a subroutine. The filename is
"scriptfile.SCR". The called script file can in turn call other
scripts, and each executes until the end of the script file or a
RETURN instruction is executed.
Each subroutine has it's own set of registers, &1 to &8.
Parameters can be passed to the called routine, which set the
initial value of the local registers. The contents of the local
registers are lost when the subroutine returns.
RETURN value
Return to the calling subroutine (if any) and optionally
set the error register to the specified value.
.pa
.sh String Comparison Instructions
MATCH pattern limit
Wait until the pattern is found in the incoming character
stream before executing the next instruction in the script. The
pattern can contain "?" wildcard characters. There is an implicit
limit of 60 seconds; if a match is not found with the time limit
the error register is set and the next instruction executed.
(Presumably a JERROR ... instruction.) Optionally a time limit,
in seconds can be specified.
SAMPLE
Shifts one character into the shift register; to be used
in SAMPLE/IF/GOTO loops.
IF pattern label
Compares the pattern against the contents of the shift register, and branches to the specified label if it matches. The pattern can contain "?" wildcard characters.
.pa
.sh Character Output Instructions
OUTPUT string
Queue the string for output to the modem, simulating
manual keyboard entry. The speed with which characters are output
is determined by the THROTTLE setting.
COPY string
Output the string directly to the modem at maximum speed.
THROTTLE n (0 - 500)
This controls the maximum speed that Fido/FidoNet will output
characters queued up by the OUTPUT command. The speed is
specified in a minimum wait between characters, in milliseconds.
The default is 20 milliseconds.
.pa
.sh File I/O Instructions
Fido/FidoNet's file system is very simple; there can only be one file
open at a time. It is not a cooincidence that the file format is
compatible with most BASICs; each record in a Fido/FidoNet file
contains 8 fields, each field is a quoted string seperated by
commas. Each record is delimited with a CR/LF. There is no
Control-Z or other end of file terminator.
FOPEN filename
Opens a file for reading or writing. The script is
aborted if the file cannot be found, or if "UNATTENDED" is set,
then the error register &E is set. The file must be FCLOSEd when
not needed.
FNEW filename
Creates a new file of the specified name. The script is
aborted if the file cannot be created. The file will be empty
after creation.
FREAD
Reads one record from the file, and deposits the contents
of the record into the eight registers &1 to &8. Each record can
contain any number of items, but only the first 8 will be used.
Each should be an argument as described elsewhere, preferably
quoted.
Lines are read from the file one per FREAD instruction,
starting with the first line in the file, until the last line is
read; all FREADs after the last line will leave all registers
empty and set the error register &E.
FWRITE
A new record is added to the end of the open file, that
contains the contents of the eight registers &1 to &8. Each is
"quoted". The script is aborted if the disk becomes full, or if
"UNATTENDED" is set, then the error register &E is set.
th
FCLOSE
This closes the current file and allows the FOPENing of
another file. If any FWRITEs were done, they are written out to
disk at this time.
.pa
.sh User Input Instructions
KEYBD char
Temporarily suspend script file operation until the user
types the specified key; CR if none specified. All characters the
user types, including the terminating one, are outout to the
modem. This allows the user to manually enter something such as
password.
INPUT prompt
The prompt is displayed and the user enters a line of
text, which is parsed into variables &1 through &8. Any extra
text is ignored.
ASK question
The question is displayed and Y or N is input as a
response, with &E set true if the answer is Y.
PAUSE prompt
The prompt is displayed and the user must hit any key to
continue.
MESSAGE message
Output the message to the command status line.
.pa
.sh Special Instructions
These instructions generally take one operand and perform some
hopefully useful instruction. They are generally high level
functions to perform common functions.
IOPORT n (1 - 2)
Select the serial port to do business with; the default
is the first port, on a pclone COM1.
CD-BIT (1,2,4,8,16,32,64,128)
Set the Carrier Detect (CD) mask bit for proper operation
of the on-screen "ONLINE/OFFLINE" display.
TIME hh:mm (00:00 - 23:59)
Wait until the specified time of day before executing the
next line in the script file.
FILES filespec
Sets &A to the number of files matching the file
specification.
DELAY milliseconds (1 - 65000)
Delay execution of the script until time elapsed.
QUIET milliseconds (1 - 65000)
Wait for no input from the modem for the specified time.
DTR
Lowers the modem control line Data Terminal Ready (DTR)
for 1/2 second.
BREAK
Causes a 1/2 second line break.
@@ -0,0 +1,65 @@
\input letter
{\noindent\parskip=0pt\obeylines
\line{\hfill 5 February, 1990}
\vbox to 0pt { % TO address, etc
XXX
}
\leftskip3in\vbox{ % FROM
Fido Software
Tom Jennings
Box 77731
San Francisco CA 94107
(415)-764-1688
}}
This is a non-exclusive trademark license agreement between Tom
Jennings (TJ) as Fido Software, and XXX, regarding the use of the
trademarks ``Fido'', ``FidoNet'', and the dog-with-diskette. We
agree to the following:
\blob XXX agrees to use the trademarks only for XXX, in existing
works and new works in the same vein.
\blob Any substantial change in the use of these trademarks
requires first submitting a sample to TJ for approval.
\blob Notify TJ of any misuse of the trademarks, and in general
assist in the enforcement of the proper use of the trademarks.
\blob XXX may not transfer nor assign use of these trademarks to
any other party.
\blob This agreement can be terminated at any time by either
party, by informing the other in writing.
\vskip.5in
\halign{
\hskip3in#\hfil& % name
\hskip1in#\hfil\cr % date
Signed&Date\cr
\cr
\cr
\cr
Tom Jennings\cr
\cr
\cr
\cr
XXX\cr
}
\vfill
{\noindent\parskip=0pt\obeylines
\lline{Copy \#\hskip.25in of 2}
\vskip.25in
\lline{Sign copy \#1, return to Tom Jennings.}
\lline{Sign copy \#2, keep for your records.}
}
\bye