SysNL v3.20 - The System Nodelist Utility

"The Fastest Nodelist Compiler on the planet, period."

Created by Luke Kolin, 1:250/714@fidonet.org

Documentation written by Luke Kolin

SysNL and Documentation

(C) 1988, 1989, 1990, 1991, 1992 Constellation Software.

ALL RIGHTS RESERVED

Operating Manual

Table of Contents

1. INTRODUCTION

Program Description ...................................... 1

The SysNL Archive	...................................... 1

License Agreement	...................................... 2

How to Register	...................................... 2

System Requirements	...................................... 3

SysNL Order Form	...................................... 4

2. SysNL/SETUP

Main Menu	...................................... 5

About SysNL/Setup	...................................... 5

General Options	...................................... 5

Compiler Options	...................................... 8

Editor Colors	..................................... 9

Editor Options	..................................... 10

Tables	..................................... 11

Include	..................................... 11

Prune	..................................... 12

Distribution	..................................... 12

Baud Rate	..................................... 12

Nodelist	..................................... 12

Modems	..................................... 13

Node Info	..................................... 14

Dial / Cost	..................................... 14

Write to disk	..................................... 16

Quit SysNL/Setup	..................................... 16

3. OPERATING SysNL

Compile Mode	..................................... 17

CRC Mode	..................................... 18

Merge Mode	..................................... 19

Prune Mode	..................................... 20

Make Mode	..................................... 20

4. OPERATING SysED

The EDT file Format	..................................... 22

Command Line	..................................... 22

Screen Layout	..................................... 23

Changing Node Data	..................................... 24

Other Commands	..................................... 26

5. MISCELLANEOUS

Converting from v3.14	................................ 29

Revision History	..................................... 29

CPU Code Substitution	................................ 34

Credits and Thanks	..................................... 35

Software Credits	..................................... 36

PROGRAM DESCRIPTION

SysNL is a complete nodelist processor, capable of taking a "raw" St. Louis-format nodelist, and compiling it into a wide variety of software-specific nodelist formats for use with various front-end mailers and BBS programs. In addition, SysNL can check the integrity of a St. Louis-format nodelist using its built-in sixteen-bit Circular Redundancy Checker (CRC) code. SysNL is capable of merging nodelists with difference files for other software, such as FDNC or XlaxNode<tm>. Lastly, SysNL is also capable of making nodelist segments by co-ordinators for inclusion into the main FidoNet nodelist. SysNL also has a companion program, called SysED. This is capable of editing either the master nodelist or a Net/Regional nodelist segment before submission.

SysNL v3.20 is capable of compiling a St. Louis-format nodelist faster than any other compiler, including XlaxNode, ParseLst, or oParse. SysNL derives its great speed from extensive usage of assembly language and very large disk buffering, and you will find that SysNL can compile your lists in approximately a quarter of the time it took before!

THE SysNL ARCHIVE

The SysNL v3.20 package is distributed in a compressed file called SYSNL320.ARJ, compressed using Robert Jung's ARJ v2.30. This archive contains the following twelve files:

314to320.Exe	-	Control file convertor

Order.Doc	-	SysNL Order Form

Order.Bat	-	Order Form printer

Packing.Lst	-	This files list

SysNL.Cfg	-	A sample configuration file

SysNL.Doc	-	This Operating Manual (ASCII)

SysNL.Exe	-	The main executable file

SysNL.Ovr	-	SysNL overlay file

SysNL286.Exe	-	SysNL executable for 286+

SysNL286.Ovr	-	Overlay file for SYSNL286.EXE

SysED.Exe	-	The nodelist editor

SysNLDoc.Wp5	-	This Operating Manual (WP v5.1)

SnlSetup.Exe	-	Configuration utility

Whatsnew.320	-	List of new features in v3.20

If the distribution archive that you received did not contain these files ONLY, or the archive is not in ARJ v2.30 format, it is not genuine. Please make a file request, using the magic name SYSNL, from Constellation Software (1:250/714@fidonet.org) for the latest version, or contact us at our mailing address, listed below.

LICENSE AGREEMENT

Usage of this software in either demonstration or registered mode signifies your acceptance of this license agreement.

SysNL is commerical software. You are permitted to distribute the distribution archive freely, provided that you do not charge for that distribution. An exemption to this is granted for the operators of commerical bulletin board systems (BBSs).

You, the licensee, are permitted to operate SysNL prior to registration by obtaining a demonstration key from Constellation Software for a period not exceeding sixty (60) days. After this time period has expired, you must either register your copy (see next section), or cease your operation of this software.

You are not permitted to make any copies of the registration key that you receive from Constellation Software for personal or any other use, with the exception of a single copy for archival and/or back-up purposes.

You, the licensee, accept all responsibility for any damage or loss of data that SysNL may cause to your hardware and/or software through normal use or misuse. Although Constellation Software makes every effort to ensure that SysNL is safe to operate on all IBM-compatible personal computers, we cannot accept any responsibility for problems caused by hardware and/or software incompatability.

The licensee will automatically forfeit any and all rights to usage of this software on violation of any part of this license agreement.

HOW TO REGISTER SysNL

Upon extraction from the distribution archive, most of SysNL's features are disabled. In order to fully view SysNL's features, it is necessary to first obtain a demonstration key file from us. SysNL's setup program will automatically do this for you, if you choose. If not, you can always obtain one by file requesting the file DEMOKEY from our FidoNet system at 1:250/714, or by sending a stamped, self-addressed envelope with either a 3 1/2" or 5 1/4" floppy disk to:

Constellation Software,

160 St. George St., #8

TORONTO, Ontario

CANADA

M5S 2E9

As per the license agreement, you are permitted to use SysNL for a period of up to sixty (60) days. After this time, the demo key will no longer operate, and you must register SysNL. To register, please print out the order form (ORDER.DOC, also page 3 of this documentation file), and fill it out. Please enclose a cheque or money order for the sum of $25 in U.S. funds, or $36 Canadian for domestic orders. Canadian residents are required to add 7% Goods and Services Tax, and Ontario residents must add an additional 8% Provincial Sales Tax. Please note that I cannot accept either cash or credit cards as a means of payment. If you choose, you can receive only a SysNL registration key via FidoNet mail, for a $5 US ($6 CDN) discount.

Upon receipt of your resisgtration application, you will be sent out a disk (in the size of your choice) with the SysNL distribution archive, a registration key, and a printed version of this documentation. You are now free to use SysNL indefinitely.

Future upgrades will be handled in a similar fashion to most other commerical software. Your key will allow you to operate any copy of SysNL v3.20 and up, until SysNL v4.00 is released. At that time, you can upgrade your registration key for a nominal fee. Considering that SysNL v3.00 was released over two years ago, your registration key will not become useless overnight!

SYSTEM REQUIREMENTS

- IBM XT, AT, 386, PS/2 or 100% compatible with 256-640K RAM

- DOS v3.0 or above

- Hard Disk with at least 3 megabytes free

SysNL requires different amounts of memory depending on which tasks it is currently performing. Compiling a nodelist requires as much memory as possible, due to the large number of disk buffers necessary, while checking the 16-bit CRC of a nodelist can be performed with as little as 128K of free RAM.

SysED, the nodelist editor, requires very little free memory to operate, but to edit the full FidoNet nodelist usually requires a full 640K of memory, plus at least 4 megabytes free on your hard disk. It is preferred that you run this on a 386 with a memory manager such as Quarterdeck's QEMM v5.x or v6.x to provide the maximum amount of available memory.

SysNL has been tested and will run properly under a multitasker such as Quarterdeck's DESQview v2.41. SysNL has not been tested using any other multitaskers or memory managers.

THE SysNL ORDER FORM

Your Name: ________________________________________________________

Street: _____________________________________ Apt.: _____________

City: __________________________ State/Prov.: ___________________

Postal/ZIP Code: __________________ Country: ____________________

E-Mail Network name: ________________________

E-Mail Address: Zone _____ Net _______ Node _______

I wish to order ONE of the following:

1. _____ (US$ 20 / CDN$ 30) SysNL v3.20 Registration Key (via Fido)

2. _____ (US$ 30 / CDN$ 36) SysNL v3.20 Package on Disk (via Post)

Signature: _________________________________________

Please make cheques or money orders payable to "Luke Kolin". Ontario residents please add 8% Provincial Sales Tax. Canadian residents please add 7% Goods and Services Tax. Send cheque/money order to:

Constellation Software

160 St. George St., #8

TORONTO, Ontario

CANADA M5S 2E9

MAIN MENU

Before you can start using SysNL, it is necessary to configure SysNL. To do this, it is necessary to run SNLSETUP.EXE, SysNL's full-screen setup utility.

When you reach SysNL/Setup's main menu, you will see an menu bar with a number of options. Each option can be selected by entering the letter highlighted in green for each option.

About - SysNL/Setup Information

General - SysNL General Options

Compiler - Nodelist Compiler Options

Colors - Nodelist Editor Colors

Edit - Nodelist Editor Options

Tables - Tables Menu

Write - Save SysNL.Cfg to disk

Quit - Exit SysNL/Setup

ABOUT SysNL/Setup

This displays which revision of SysNL/Setup you're running, as well as the copyright notice and that date that it was compiled.

GENERAL OPTIONS

This screen allows you to configure certain general SysNL settings, which are used in several different tasks that SysNL performs.

Network Address	This tells SysNL your full E-Mail network address. This should be in what is known as "four-dimensional" format, including your Zone, Net, Node, and Domain name. If you enter an address in another format, SysNL/Setup will make you re-enter it until you give it a valid network address.

EXAMPLE: 1:250/714@FIDONET.ORG

Netmail Path	This is the directory where you keep your NetMail messages. This messages in this directory must be in *.MSG format. If an invalid directory name is given, SysNL/Setup will make you re-enter it until a valid directory name is gven.

EXAMPLE: C:\Mailer\Netmail

Inbound Files Path	This is the directory where your front-end mailer places any files received during a mail session with another system. If an invalid directory name is given, SysNL/Setup will make you re-enter it until a valid directory name is given.

EXAMPLE: C:\Mailer\NetFile

Nodelist File Area	(OPTIONAL) This is the directory where file-requestable nodelists are kept. If a directory is specified, and SysNL is told to update this area (see Compiler), then SysNL will compress any lists created after a difference file is applied to an old nodelist file, and place them in this directory. If an invalid directory name is given, SysNL/Setup will make you re-enter it until a valid directory name is given.

EXAMPLE: C:\Mailer\Files\Lists

Work Directory Path	(OPTIONAL) This is the directory where SysN places any temporary work files that it needs to create. This should usually point to a RAMdisk, or some other fast storage medium to improve performance. SysNL requires at least 600K free in this directory to compile a nodelist, and SysED requires about 3 megabytes free in order to edit a large nodelist. If no work directory is specified, then SysNL and SysED will place their work files in the directory from which they were executed. If an invalid directory name is given, SysnL/Setup will make you re-enter it until a valid directory name is given.

EXAMPLE: G:\

Pruner Output File	(OPTIONAL) This allows you to specify a name for the nodelist pruner's output file. If the extention of this file consists of three pound signs (###), then the extention will become next Friday's Julian day number.

EXAMPLES: NETSEG.###, PRUNED.LST

PointNet Net Number	(OPTIONAL) This is the number of the "fakenet" which is used to support points. By specifying this, you will ensure that SysNL compiles this Net when compiling a nodelist. You must specify a point nodelist in the Nodelist Table (see Tables) in addition to specifying a pointnet number!

Program to use with	(OPTIONAL) This specifies the name of the

ZIP archives	executable file used to extract ZIP format compressed nodelist and difference files. SysNL will look for this file in all directories listed in the DOS PATH variable. If no extention is specified, SysNL will use .EXE. If no executable is specified, SysNL will not extract ZIP format compressed lists/diffs.

EXAMPLE: PKUNZIP.EXE

Program to use with	(OPTIONAL) Same as above, except for use

ZOO archives	with ZOO format compressed nodelists and difference files.

EXAMPLE: ZOO.EXE

Program to use with	(OPTIONAL) Same as above, except for use

LZH archives	with LZH format compressed nodelists and difference files.

EXAMPLE: LH.EXE

Program to use with	(OPTIONAL) Same as above, except for use

ARC-8 archives	with ARC (Revision 5) format compressed nodelist and difference files.

EXAMPLES: ARCE.COM, PKXARC.COM

Program to use with	(OPTIONAL) Same as above, except for use

ARC-9 archives	with ARC (Revision 6) format compressed nodelist and difference files.

EXAMPLES: PKUNPAK.COM

Program to use with	(OPTIONAL) Same as above, except for use

PAK-10 archives	with PAK format compressed nodelists and difference files.

EXAMPLE: PAK.EXE

Program to use with	(OPTIONAL) Same as above, except for use

ARJ archives	with ARJ format compressed nodelists and difference files.

EXAMPLE: ARJ.EXE

Program to use with	(OPTIONAL) Same as above, except for use

ARC-20 archives	with ARC (Revision 7) format compressed nodelists and difference files.

EXAMPLE: XARC.EXE

Freq'able list	(OPTIONAL) If this command line is speci-

compression	fied, and SysNL is told to update the nodelist file area (see above), then SysNL will execute this command to compress any difference files and the new nodelists created by applying them. If no extention is specified for the program, then SysNL will assume it is .EXE, and it will look for this utility in all the directories listed in the DOS PATH variable.

EXAMPLES: PKPAK -OCT A, ARJ -m4 A

COMPILER OPTIONS

This screen allows you to change settings that affect the nodelist compiler only.

Maximum baud rate	Your modem's maximum baud rate, from 300 to 19200 baud.

EXAMPLE: 9600

Dial suffix for	(OPTIONAL) If specified, SysNL will add

toll phone numbers	this string after the processed phone number for any nodes whose cost is not zero.

EXAMPLE: 456

Dial prefix for toll	(OPTIONAL) If specified, SysNL will add

phone numbers	this string before the processed phone number for any nodes whose cost is not zero. This string can be used to use a specific long-distance carrier.

EXAMPLE: 445-4444W123456W

Compilation Mode	(Opus / SEAdog) In Opus mode, SysNL will include zone numbers in the userlist, and the final output file will be called FIDOUSER.LST. In SEAdog mode, SysNL will not will not include zone numbers, and the output file is called USERLIST.DOG.

Remove duplicate	(Yes / No) If enabled, SysNL will strip

names in sysop list	all duplicate entries the compiled userlist. SysNL automatically prioritizes entries, with entries in your zone gaining top priority.

Check for snow on	(Yes / No) On certain old CGAs, "snow"

old CGAs	appears on the screen if the video memory is updated between screen refreshes. If you are running a VGA/EGA, or Mono card you should not enable this option.

Merge difference	(Yes / No) If enabled, SysNL will scan the

files if found	inbound files directory for any inbound difference files. If they are found, they will be extracted (if necessary) and merged into the current nodelist file.

Kill old list and	(Yes / No) If SysNL merges a difference

difference files	file successfully and this option is turned on, SysNL will delete the old nodelist and the difference file. If you have told SysNL to update the nodelist file area (see below), then the difference file will be compressed and placed there before deletion.

Kill compressed list	(Yes / No) If SysNL successfully extracts

and diff files	a nodelist or difference file from the inbound files directory, it will then delete the compressed list/diff file.

Update nodelist	(Yes / No) This is a complicated option

file area	which requires that several other options be enabled. If a difference file is found and successfully merged with a nodelist, then the difference file will be compressed (using the command string specified in General, Freq'able list compression) and placed in the nodelist file area. The new nodelist file will also be compressed with the same command string and placed there.

EDITOR COLORS

This will allow you to set the colors in the nodelist editor. A sample editor screen will be displayed, with a color bar at the bottom-left corner of your screen. To change the colors, press the left or right arrow keys to select a color bar, and then the up and down arrow keys to change the color. The changes you make will be reflected in the edit screen above.

To abandon your changes, press the ESCape key to return to the main menu. If you wish to return to the main menu and keep your changes, press ENTER.

EDITOR OPTIONS

This screen will allow you to change settings that primarily affect the nodelist editor and segment creator.

Editor Video Mode	(Direct / ANSI / Mono) This allows you to select the way SysNL and SysED write to the screen. Direct mode uses direct screen writes, ANSI mode channels output and video commands through the ANSI screen driver, and Mono mode uses mono-specific commands and video memory addresses. Do not use Mono mode unless you actually have a monochrome display card!

Editor Output	(OPTIONAL) This specifies a filename for Filename	editor's output file. If the extention consists of three pound signs (###), then the extention will become next Friday's Julian day number.

EXAMPLE: METRONET.###, NET107.SEG

Editor Nodelist Title	(OPTIONAL) By default, the first line of a compiled nodelist segment contains a name for the segment ("A SysNL v3.20 nodelist for..."). If specified, this will allow you to specify another nodelist title, in place of the program name.

EXAMPLES: FidoNet, Imex

Update File Password	(OPTIONAL) If specified, SysNL and SysED will place this password in the compiled nodelist segment. The format for nodelist segment passwords is defined in Fido Technical Standards Committee Proposal #0056.

EXAMPLE: MyNetPwd

Priority for Error	(None / Hold / Crash) This sets the

Notification	attributes for any messages that SysNL and SysED send out, notifying the submittors of any errors in their nodelist segments.

Send Receipt Messages	(Yes / No) If enabled, SysNL and SysED will send receipt and/or error notification messages to the submittors of each nodelist segment when it is compiled.

Address to send	This is a full "four-dimensional" address

editor updates to	to which all compiled nodelist segments will be sent to.

EXAMPLE: 1:12/0@FIDONET.ORG

Ignore Editor	(Yes / No) If enabled, SysNL and SysED

Include Files	will not allocated memory for the loading and inclusion of any other segments except the one currently being loaded.

Check CRC of	(Yes / No) If enabled, SysNL and SysED

update files	will check the 16-bit CRC of each update file before they include it. If the actual CRC does not match the stated CRC, then the update file will be marked as bad and not included. An error message will be sent to the submittor.

Editor RAM Buffer Size	(1 - 371) This sets the size (in entries) for SysED's internal buffer. A larger buffer size will provide faster operations, but may eat up precious RAM needed to load and edit a large nodelist file.

Number of parts	(OPTIONAL) If specified, SysNL will ensure

in phone numbers	that each phone number in a compiled nodelist segment contains this many parts separated by dashes. If a number does not, then the entire nodelist entry will be marked as bad. This option should be used with extreme care, and at Regional or Network levels only.

TABLES MENU

When you select this option, a small pull-down menu will appear, with several choices. Use the arrow keys to move up and down this menu. Press ENTER to select a table, or the left/right arrow keys or ESCape to exit this menu.

INCLUDE TABLE

This table lists the Zones and/or Networks that SysNL will include in any lists that it compiles. Use the up and down arrow keys to move up and down the list, and the left and right arrow keys to switch fields. The left field is the Zone number, and the right field is the network number to include. If you wish to include an entire zone, enter ALL as the network number.

If you enter an invalid Zone or Network number, SysNL/Setup will make you re-enter it until a valid Zone/Net number is given.

PRUNE TABLE

This table tells SysNL what Zones and/or Networks to keep or remove when pruning a nodelist. Both the keystrokes and the format of each field are the same as in the Include table (see above).

If you enter an invalid Zone or Network number, SysNL/Setup will make you re-enter it until a valid Zone/Net number is given.

DISTRIBUTION TABLE

This table tells SysNL and SysED where to distribute any compiled nodelist segments that they create. Use the up and down arrow keys to move around the list, and the left and right arrow keys to switch fields. The first field is a full "four-dimensional" network address to which to send the segment, and the second is person to which the attach message should be addressed.

If you enter an invalid network address, SysNL/Setup will make you re-enter it until you give it a valid network address.

BAUD RATE TABLE

This table lists all the valid baudrates that SysNL and SysED will accept when compiling a nodelist segment. When the St. Louis-format nodelist was first devised, no provisions were made for baud rates above 9600. With the advent of high-speed modems, there is room for new baud rates such as 14400 and 19200 to truly reflect the speed of these new modems. Do not add baud rates above 9600 to this table unless all the co-ordinators above you support these rates as well! Otherwise, you may find that many of the nodes in your segment will be marked as having invalid baud rates.

NODELIST TABLE

This table tells SysNL what nodelists to include when compiling St. Louis-format nodelists into a software-specifc list for use with frontend-mailers and/or BBS programs. Use the up and down arrow keys to move around the list, the left and right arrow keys to switch fields. The TAB key has the same effect as the right arrow key.

The first field contains the name of the list file, such as NODELIST. The second contains the name of the difference file, such as NODEDIFF. If the extention of the list changes from week to week (as do all network nodelists), do not include an extention in either field! The third field contains the domain name for each list. The fourth and final field denotes wether a list is either public or private. Private (or pointnet) lists are included after the first Zone entries of the first public list with the same domain name.

EXAMPLE:	List Name	Diff Name	Domain	Status

NODELIST	NODEDIFF	FIDONET.ORG	Public

PNTNET.250	FIDONET.ORG	Private

ANETLIST	ANETDIFF	ALTERNET.FTN	Public

Since the extnetion for my pointnet list does not change from week to week, I have specified an extention. Since it has the same domain name as the FidoNet nodelist, it will be included right after the Zone 1 entries in the FidoNet nodelist.

MODEMS TABLE

This table allows you to set certain user-definable fields in either the Version 6, SEAdog v4.5x, or Binkley nodelist formats when compiling a nodelist. Both the Version 6 and Binkley-format nodelist allow you to set up to 16 different bits in the "modem type" field, and the SEAdog v4.5x-format contains a 10-byte string to which certain characters can be appended. To move around the list, use the up and down arrow keys. The left and right arrow keys allow you to switch fields. The TAB key has the same effect as the right arrow key.

The first field is the string to search for. SysNL will search for this string in the portion of each nodelist entry that comes after the baud rate field. The second field contains a number from zero to fifteen. SysNL will set this bit in the Version 6/Binkley "modem type" field. The third (and optional) field is the character to add to the SEAdog v4.5x "modem type" string. Please note that you must enter a bit number from 0 to 15, even if you will not be compiling any Version 6 or Binkley-format nodelists.

NODE INFO TABLE

This table allows you to override the information found in the St. Louis nodelist for a particular node, and it is also used to set session passwords for various nodes. To move around the list, use the up and down arrow keys. The left and right arrow keys allow you to switch fields. The TAB key has the same effect as the right arrow key.

The first field is the full "three-dimensional" address of the node whose information you wish to alter. Please note that you must specify a Zone, Net, and Node number. If you do not enter a valid "three-dimensional" address, then SysNL/Setup will make you re-enter the address until a valid one is given.

The third field denotes what information you wish to override or provide. This can be set to one of the following:

Password - Set session password for this node

CrashMail - Override CrashMail flag for this node

Ogate - Mark this node as an Outbound Gateway (SEAdog only)

Phone No. - Override this node's phone number

Baud Rate - Override this node's baud rate

User Cost - Override the cost per minute for this node

Please note that if you override the phone number for a node, this number will not be processed by the Dial Table (see below).

The second field contains the new data/session password for this node. In the case of the CrashMail flag, a "Y" signifies that this node will be marked as accepting CrashMail, while an "N" disables that flag. Please note that the Ogate field does not require any data in this field.

DIAL / COST TABLE

This table governs how SysNL processes the phone number and cost per minute for each node when compiling a St. Louis-format nodelist. This table combines the separate dial translation and cost tables found in most other nodelist compilers into one, thus simplifying and speeding up processing.

To move around the list, use the up and down arrow keys. The left and right arrow keys allow you to switch fields. The TAB key has the same effect as the right arrow key. If you wish to insert a record into the list, press the INSERT key. To delete a record, press the DELETE key.

The first field contains the string to search for at the beginning a node's phone number. If this string is the beginning of a phone number, then it will be replaced with the string contained in the second field. However, if the second field contains an asterisk (*), no replacement will occur. Lastly, the cost specified in the third field will become the cost per minute (in cents) for that node.

Please be advised that SysNL processes this list entry by entry from the top down, and stops checking once a match is found. Please make sure that you observe the following sample Dial / Cost list before proceeding.

EXAMPLE:	Search for	Replace with	Cost

1-416-898	*	8

1-416-542	*	8

1-416-	0

1-613	*	15

1-	*	25

011-	225

The first two entries denote local exchanges within the 416 area code. If the phone number begins with either a "1-416-898" or a "1-416-542", then the phone number should not be changed, and the cost per minute should be set at 8 cents.

If the phone number begins with "1-416-", but has a different exchange number, then it will be trapped by the third line. Since the "Replace with" field is empty, the "1-416-" is stripped off, and the cost is set to zero. This is the method used to denote a free local call.

If the phone number is in area code 613, it reaches the fourth line. SysNl will not alter the phone number, but it will set the cost for that node to 15 cents per minute. This type of line is used to set a cost for an area code to a different value than the default domestic cost per minute.

The fifth line sets that default domestic cost. All remaining North American numbers (ie. beginning with "1-") are trapped by the fifth line, which again does not alter the phone number, but sets the cost per minute to 25 cents.

The sixth and final line sets the default international cost. All phone numbers that have not met the first five criteria will be trapped by this line, since the "Search for" field is blank. All non-domestic numbers will have the string "011-" added before them, and the cost for this call will be set to $2.25 per minute.

The previous Dial / Cost Table illustrates the basic idea behind contstructing this table. Since SysNL processes it downwards, the first entry should be very local in scope, graduating to larger and larger scopes in the following progession:

1. Exchanges within your area code.

2. Default behavior for your area code.

3. Exchanges within other area codes.

4. Behvaior for other area codes.

5. Default domestic behavior.

6. Behavior for other countries.

7. Default International behavior (Search for is blank)

It is essential that the first field of the last entry in the Dial / Cost Table be blank, so that every phone number be trapped by a line in this Table.

WRITE TO DISK

This option writes any altered information to the SysNL configuration file, called SysNL.CFG. The old configuration file is renamed SysNL.BAK, in case you have inadvertently activated this option.

QUIT SysNL/Setup

This option allows you to exit SysNL/Setup. If you have altered some information but have not yet written it to disk, SysNL/Setup will ask you if you wish to do so.

COMPILE MODE	Command line: SysNL COMPILE <lists>

In this mode, SysNL will convert a raw St. Louis-format nodelist into a software-specific list for use by a front-end mailer or BBS program. The following formats are supported:

o Version 5	(Opus v1.0x, Binkley, Fido v11w)

o Version 6	(Opus v1.1+, Binkley v2.xx, Maximus)

o Version 6D	(Domain-aware V6 for Binkley v2.40+)

o QuickBBS	(QuickBBS v2.75)

o RemoteAccess	(RA v1.1+, SuperBBS v1.x)

o SEAdog v4.5x	(SEAdog v4.5+)

In addition, the following text-format lists are also supported:

o FIODUSER.LST	(User list in Opus mode)

o USERLIST.DOG	(User list in SEAdog mode)

In the command line, the <lists> string is a list of characters. Each character turns on (and some turn off) compilation of a different nodelist format. They are as follows:

5	Version 5 ON, Version 6D OFF

6	Version 6 ON, Version 6D OFF

D	Version 6D ON

Q	New QuickBBS ON, RemoteAccess OFF

R	RemoteAccess ON

S	SEAdog v4.5x ON

U	Fidouser.Lst/UserList.Dog ON

Several options may be appended on to each other, to allow multiple nodelists to be processed at the same time. For example, the command line "SysNL Compile 56U" compiles a Version 5 list for BinkleyTerm, a Version 6 list for Maximus, and a userlist for your message editor. Note that the Version 5 and 6 lists share the same index file, which is permissible.

SysNL will search the inbound files path for any inbound compressed lists and/or difference files, and will then merge them if specified. It will then process the nodelists one by one, adding pointnet lists as necessary.

Since the limit for a Version 6 list is 16384 entries (the index file must be less than 64K), SysNL supports "on-the-fly" list pruning. If you do not regularly make overseas calls to all six FidoNet Zones, you can specify which Zones and/or Networks to include in a compiled list using the Include table (see SysNL/Setup, Tables - Include Table). If you do make overseas calls to another Zone, but only to one system, include only that system's Net in the Include table, but not the entire Zone. This method will allow you to continue to reap the benefits of the Version 6 list's greatly reduced compilation time.

If you are compiling a SEAdog v4.5x or user list, both of which require a sorted index file, you will must have the program QSORT.EXE in one of the directories listed in the DOS PATH variable. If QSORT.EXE is not present, these lists will fail to compile properly.

CRC MODE	Command line: SysNL CRC <nodelist>

This mode is used to verify the integrity of a St. Louis-format nodelist file. Each nodelist contains at the end of its first line a number which corresponds to the 16-bit CRC of the remainder of this nodelist file. SysNL reads this value, and compares it to the actual 16-bit CRC of the nodelist, to verify its integrity.

In the command line, one needs to specify the exact filename (plus extention) for the nodelist that you wish to verify. SysNL will then check its integrity, and report either "List OK." or "Bad list CRC!", in which case the nodelist has been altered and/or corrupted.

MERGE MODE	Command line: SysNL MERGE <list> <diff> [C]

After the distribution FidoNet nodelist reached too large a size to be effectively transmitted over long-distance connections, the concept of a difference, or "diff" file was introduced. This difference file was a listing of all the changes to the nodelist, with commands to either A)dd, C)hange, or D)elete lines.

Merge mode applies the changes found in the difference file to a master St. Louis-format nodelist file. If you have specified an inbound files directory, SysNL will search this directory for any inbound nodelist or difference files, and uncompress them into the current directory. It will then sequentially apply all difference files found into the master list file. For example, the current directory has the master nodelist file NODELIST.047, and the inbound files path has the compressed diff files NODEDIFF.A54, NODEDIFF.A61, and NODEDIFF.A68, SysNL will uncompress them and apply them in numerical order. You will then be left with the file NODELIST.068.

If a "C" (for "cleanup" mode) is specified as the final command line parameter, SysNL will delete the old master list and difference files just processed if the 16-bit CRC of the updated matches that specified in the difference file. In the previous example, if cleanup mode was specified, you would be left with only NODELIST.068. If it was not specified, the directory would contain the difference files NODEDIFF.054, NODEDIFF.061, and NODEDIFF.068, plus the intermediate master lists NODELIST.047, NODELIST.054, NODELIST.061, and NODELIST.068.

PRUNE MODE	Command line: SysNL PRUNE <list> <K/R> [nets]

This mode is used to trim down the size of a St. Louis-format nodelist. Although SysNL supports "on-the-fly" list pruning (see page 18), you may still wish to reduce the size of the master nodelist.

You may cut it down via two methods. You may wish to keep only a specific group of Nets, or only wish to remove certain Networks. Generally, the Prune Table (see SysNL/Setup, Tables - Prune Table) is used to list the Zones and/or Networks you wish to add or remove. The command line "SysNL PRUNE nodelist K" will keep only the Zones/Networks specified in the Prune Table in the newest master FidoNet nodelist. Notice that SysNL will default to the newest nodelist if no specific extention is specified. Conversely, the command line "SysNL PRUNE nodelist R" will strip out all the Zones and/or Networks listed in the Prune table.

If you wish to override the Prune Table, simply add Zone and Network number(s) after the last parameter. For example, the command line "SysNL PRUNE nodelist K 1:1 1:12 2:250" would strip the newest FidoNet master nodelist down to the Zone 1 help nodes, Region 12 independent nodes, and Net 250 in Zone 2. Since we are adding entries in Zone 2, the 2:2/0 entry from the raw nodelist will be included in the pruned list.

MAKE MODE	Command line: SysNL Make <.EDT file> <C/D>

This mode allows you to use SysNL in place of a specialized utility, such as Ben Baker's MakeNL<tm>, to create nodelist segments for your Net/Region. In order to fully understand Make mode, you should read the following section in this manual, "The .EDT file format", which explains the format of the data files that Make mode and SysED use.

Make mode will take an .EDT file, and process it line by line, marking any errors or duplicate node numbers that it finds. If you specify an include file in the .EDT file, then SysNL will append it in at that point in the segment. If an origin address is specified with that include file, then SysNL will create an error report or receipt message for that node, and send it back.

If a "C" is specified as the third command line parameter, then SysNL will send the compiled nodelist segment to the address listed in SysNL/Setup's Editor Options menu. If a "D" is specified, then SysNL will distribute it to all the systems listed in the Distribution Menu. This capability is particularly useful if you are a Network or Regional Co-Ordinator, and you distribute your Net/Region segment for systems who wish to use it instead of the entire master nodelist.

If your nodelist is intended as a distribution nodelist, then SysNL will import several comment files (if found) into the final list that it creates. Right after the nodelist title, SysNL will import the file CPYRIGHT.TXT, which usually contains the copyright notice for your nodelist segment. After this file, SysNL will import the file PROLOG.TXT, which usually contains any news or messages from yourself. After all the nodelist entries, SysNL will import the file EPILOG.TXT. In each of these comment files, SysNL will replace any four pound signs (####) with the year, which is particularly handy for copyright notices.

THE EDT FILE FORMAT

SysNL and SysED use a different style of data file than MakeNL<tm>. Both programs use a format called the .EDT (or EDiT file) format. This is simply a raw nodelist segment which can include embedded include commands preceeded with a dollar sign ($). For example, let us take a sample Region segment. The Region Co-Ordinator allows the various Network Co-Ordinators to submit their own network segments. This file would be called REGION12.EDT.

Region,12,Eastern_Canada,E_Canada,Luke_Kolin,1-416-408-3427,9600,

XA,CM,MO,HST,V42b

,12,Northstar,Ottawa_ON,Ken_Wilson,1-416-483-0566,9600,XA,CM,HST

;

$Net250 1:250/0@FIDONET.ORG

;

$Eastern.255

;

$Network.259 1:259/421

;

After loading the first two entries, 12/0 and 12/12, SysNL and SysED will then search for NET250.*. Since no extention has been specified, SysNL and SysED will look for the file with highest extention number. Since an address was also specified, SysNL and SysED will send any error notification or receipt messages back to 1:250/0@fidonet.org.

After loading the first include file, SysNL and SysED will then look for the file EASTERN.255. Since no origin address was given with this file, SysNL and SysED will not send back any replies, be they either receipts or error messages.

Lastly, SysNL and SysED will look for the file NETWORK.259. Any reply messages will be sent back to address 1:259/308.

The .EDT file format is a very simple and easy to understand method of merging various nodelist segments into a master list or intermediate segement. It will allow you to combine segments as a Network or Regional Co-Ordinator, while at the same time using SysED's full-screen nodelist editting capabilities.

COMMAND LINE	SysED <nodelist>

The SysED command line consists only of the nodelist file you wish to edit. If no extention is specified, then SysED will default to .EDT. For example, the command "SysED nodelist.094" loads the nodelist file NODELIST.094, while "SysED metronet" loads the .EDT file METRONET.EDT, plus any associated include files.

SCREEN LAYOUT

A typical SysED screen looks very much like the following:

SysED v3.20 FAST! Full-screen St. Louis Nodelist Editor

(C) 1989-92 Constellation Software (Node: 1:250/714@fidonet.org)

Created on 31-Dec-92 by Luke Kolin; ALL RIGHTS RESERVED

1. Attrib: Node

2. Address: 1/20

3. Name: Fido Tech Stand

4. City: Homewood IL

5. Sysop: Rick Moore

6. Phone #: 1-708-799-4790

7. Flags: XA,CM,HST,V32

8. Speed: 9600

.. Errors: NONE

.. Info: From file Nodelist.094.

.. Status: Error(s) found.

N. New entry	@. Delete entry	M. Move after

F. Find entry

S. Save	C. Compile	D. Distribute

R. Redo Screen	E. ErrorCheck	L. Look at Errors

F1. Editor Help	Q. Quit SysED

(409K) [8/914] Choice:

The bottom line is the status line. The number in parentheses shows the amount of free memory remaining. The second and third numbers (in square brackets) show the current record number and total number of records in the list respectively.

The Errors line directly below the node's information alerts you to any potential errors in this node's entry. Several common errors are a duplicate node number within that Net; a Regional Independent being marked as a Private, Hub, or Inbound/Outbound gateway; or an invalid baud rate.

The Info line tells you which file this record is from, either from the main file, or any include file. If the file it comes from has been modified, or has a different 16-bit CRC value than that specified, the Info line will also let you know.

The Status line gives you much the same information as the Info line, except from a global perspective. If any file has been modified, has a bad CRC, or an error has been found in the entire list, this line will say so.

CHANGING NODE INFORMATION

There are several commands you can use with SysED to change the information that goes into a node's nodelist entry. They are as follows:

Change System Attribute	Keystroke: 1

This allows you to specify what kind of node this is. This can be one of the following: Zone, Region, Network Host (Host), Hub, Inbound Gateway (Igate), Outbound Gateway (Ogate), Private (Pvt), Down, Hold, Node, or Point.

The first entry in a nodelist segment must be either a Zone, Region, Net Host, or Hub entry. If the first entry is a Hub, then SysED will assume that the Network number for this segment is the same as your own.

If a node is marked as Private, the phone number will automatically become "-Unpublished-". Also, remember that SysED will give you an error if you attempt to mark a Regional Independent node as either Private, a Hub, or an Inbound/Outbound gateway.

Change System Address	Keystroke: 2

This allows you to change this system's net or node number. If this system is a Zone, Region, or Network Host, then you will also be changing the net number of all systems after this record, until the next Host entry!

Change System Name	Keystroke: 3

This allows you to change the system name as it will appear in the nodelist. This name can be up to 43 characters long. Please note that SysED will convert all spaces (ASCII 32) in this name to underscores when saving or compiling this nodelist segment.

Change System City/State	Keystroke: 4

This allows you to change the system's city and/or state as they will appear in the nodelist. This information can be up to 33 characters long. Please note that SysED will convert all spaces (ASCII 32) in this name to underscores when saving or compiling this nodelist segment.

Change Sysop Name	Keystroke: 5

This allows you to change the name of the system operator (sysop) as it will appear in the nodelist. This name can be up to 29 characters long. Please note that SysED will convert all spaces (ASCII 32) in this name to underscores when saving or compiling this nodelist segment.

Change Phone Number	Keystroke: 6

This allows you to change the system's phone number as it will appear in the nodelist. If the system is marked as Private, this option becomes useless, since the phone number of a Private node is always "-Unpublished-".

Please be advised that the only valid characters for a phone number are the digits 0 to 9, and the dash (-). The presence of any other characters will cause SysED and SysNL to mark the entire record as bad. In addition, you can tell SysED and SysNL to mark a phone number as bad if it does not have a specific number of parts, separated by dashes (see SysNL/Setup, Editor Options). This option should be used with extreme care, and only at the Network or Regional level.

Change System Flags	Keystroke: 7

This allows you to set the various system capability flags for this node. This information can be up to 27 characters long. Generally, these flags are used to indicate continuous mail, file and/or update request capabilities, or mail-only operation. You should check with a representative of your mail network in order to determine what flags are valid for your segment.

Change System Baud Rate	Keystroke: 8

This is used to change the maximum baud rate that this system supports. An option bar will appear, containing the list of valid baud rates as defined in the Baud Rate table (see SysNL/Setup, Tables - Baud Rate). Since higher baud rates of 14400 and 19200 are not universally supported, use extreme caution when using them. If a higher baud rate is not supported by a co-ordinator above you, this node will be marked as bad, and not included in the final nodelist!

OTHER COMMANDS

These commands allow you to find, move, add, or delete a record; check for and go to errors; and save, submit, or distribute the final nodelist segment.

Add New Entry	Keystroke: N

This will add a new, blank record immediately after the current record.

Delete Current Entry	Keystroke: @

This will immediately delete the current record. There is no "undelete" command!

Move Current Entry	Keystroke: M

This will move the current record to a location immediately after a record you specify. For example, if you are presently editting record #3, and you move it after record #34, record #3 will become record #35. If record #34 is in a different Net and/or Zone, then the new record #35 will adopt that same Net. If the new location is in a different include file, then the new record #35 will be marked as coming from the same include file as record #34.

Save Files	Keystroke: S

This saves all modified include files, as well as the main .EDT file if it was also altered. This will clear the File(s) Modified flags in the Status and Info lines.

Find Entry	Keystroke: F

This option allows you to search for a node either by a specified string in the system name, sysop name, city/state, phone number, system flags, the Net/Node address, or one can go direct to a specific record number. Upon selecting this option, SysED will give you an option bar, from which you select which field you wish to search using.

A	Search for specific Net/Node address

C	Search for substring in system location

E	Go to specific entry #

F	Search for substring in system flags

N	Search for substring in system name

P	Search for substring in phone number

S	Search for substring in sysop name

If you choose to search for a specifc Net/Node address, SysED will search for the first instance of this address within the entire nodelist segment. In all the other search options, SysED will search for the first occurrance after the current record.

Compile (Submit) Segment	Keystroke: C

This option is only available if you have specified a submittal address for your segment (see SysNL/Setup, Editor Options). SysED will re-check the segment for any errors, write it to disk, and send it via file attach to the address you have specified. This may reset the Error(s) Found flags in the Status and Info lines.

Distribute Segment	Keystroke: D

This option is only available if you have some entries in the Distribution Table (see SysNL/Setup, Tables - Distribution Table). This option works in exactly the same way as the previous one, except it sends the compiled segment to a different set of nodes. This option will not submit the segment to the same node as the Compile (Submit) Segment option unless this node is listed in the Distribution Table!

Redo Screen	Keystroke: R

This option redraws the screen.

ErrorCheck	Keystroke: E

This option scans through the entire nodelist segment for any errors. SysED will search for and mark the following errors:

o Duplicate node number within a Network

o Private node as Regional Independent

o Hub/Igate/Ogate as Regional Independent

o Invaid Phone Number

o Invalid Baud Rate

o Invalid Node Type

o Unexpected End of Line

o Non-numeric Net/Node Number

Look at Errors	Keystroke: L

This option is only available if SysED has detected an error within the nodelist segment. When selected, SysED will search for the first marked entry after the current record.

Editor Help	Keystroke: F1

This option calls up a brief explanation of all the posssible keystrokes.

Quit SysED	Keystrokes: Q or ESCape

This option drops you to DOS. If you have modified any files, SysED will ask you if you wish to save them before you exit.

CONVERTING FROM SysNL v3.14

Converting from previous versions of SysNL is easy. All that is neccesary is to run the companion program 314TO320.EXE. This will convert the v3.14-format control file, called SysNL.CTL, into a v3.20-format configuration file, called SysNL.CFG.

The other necessary file is a key file, either a temporary two month demonstration key, or a permanent SysNL v3.xx registration key. If you do not have a key, SysNL will refuse to run, and will tell you how to obtain a key file.

If you wish to obtain a demonstration key, run SysNL/Setup, and when you exit, you will be prompted for information required to receive a demo key from our FidoNet node at 1:250/714@fidonet.org.

REVISION HISTORY

v1.00 -	Original Release.

v1.10 -	OPUSNODE mode added.

v1.20 -	QBBS mode added.

v1.21 -	SEAdog Zone translation for QBBS mode.

v1.40 -	NEWOPUS mode added. OPUSNODE and NEWOPUS modes write in 2K clusters, resulting in a 50% speed increase. RAM needs raised to 64K. ADD mode is rewritten with color.

v1.42 -	Zone reports in QBBS mode. Ccommand line error-checking made stricter.

v1.50 -	A major speed increase in NEWOPUS mode using 32K disk write buffers, and 12K (up from 4K) disk read buffers. Nodelist.Idx writes fixed. QBBS mode has also been sped up with a 2K index write buffer. 32 input files now supported in MERGE mode. In OPUSNODE mode, a bug preventing the resetting of the string fields (name, number, and city) fixed. Memory needs raised to 96K. QBBS mode renamed QNODE. NEWOPUS mode renamed NEWNODE.

v1.51 -	NEWNODE had a small index file bug fixed.

v1.52 -	MERGE option made better. Now supports up to 48 input files. The DOS command line is too short, so input and output destination list files are supported.

v1.60 -	Mostly internal changes. New (read faster) Pascal I/O and CRT control libraries made. QNODE Zone translation improved.

v1.61 -	QNODE mode index buffer sped up.

v1.70 -	DIFF mode added to merge difference files. To save memory, NEWNODE buffer reduced to 24K.

v1.71 -	Crude dynamic memory use introduced in disk buffers. Disk buffer in NEWNODE mode increased to 32K, input buffer added for DIFF mode.

v1.72 -	Rewritten in Borland's Turbo Pascal 5.0 for smaller executable file size and faster execution.

v1.73 -	Large speed increase in OPUSNODE mode using low-level disk writes and a 27K buffer. QNODE mode also sped up with low-level I/O routines. QNODE Zone detection improved again. WaZOO support in ADD mode.

v1.74 -	Serious bugs fixed in OPUSNODE and QNODE. QNODE sped up even more.

v1.75 -	PRUNE mode bugs fixed.

v2.00 -	COMPILE mode added. Allows Version 6 nodelist from St. Louis-format nodelist files. MERGE now supports 64 input files. Fixed a buffer flush bug in NEWNODE mode.

v2.01 -	The "phone" statement added. More flexibility in the control file structure. Small network number bug in COMPILE mode fixed.

v2.10 -	Massive speed increases in all nodelist compilation modes. SysNL now loads 256 input lines at a time into buffer. St. Louis comment stripping in COMPILE. Supports Xlatlist<tm> v2.90+'s "extended" NodeList.Bbs sysop name information.

v2.11 -	Added the ability to merge difference files (if found) in COMPILE mode.

v2.12 -	Changed record format of the first record in Version 5 and 6 lists for greater conformity with other nodelist compilers. Change in diff compilation message in COMPILE mode.

v2.14 -	Added support for the "modem type" field in Version 6 lists. Touched up the manual. Changed license agreement.

v2.20 -	Fixed up COMPILE mode. One can now create any combination of Version 6, Version 5, and Nodelist.Bbs from a St. Louis-format nodelist. Changed the control file language to make it easier to understand.

v2.21 -	Full comments in the control file. Version number added to control file for old version detection. QNODE mode fixed. Support for Igate and Ogate nodes in COMPILE mode. Private node bug in Nodelist.Bbs fixed. Maximum baud rate support. Bug fix in "phone" table. QuickBBS support in COMPILE mode.

v2.30 -	Now supports creation of NodeList.Fon, and flexible control files from previous versions. Primitive international phone number capability.

v2.31 -	Removed ADD, MERGE, and PRUNE options for smaller executable file size. Sped up disk I/O. Fixed old control file version bug.

v2.32 -	Speed fix in COMPILE mode. Automatic empty output file deletion.

v2.33 -	Fixed up the way toll exchanges are processed for large area codes. CRC check support in DIFF mode.

v2.40 -	Major changes. ADD mode returns in a fully visual format. SysCRC.Exe is added as the CRC option. A bug reading the nodelist header has been fixed, and headers of 16K (8K before) are now supported. 32-bit and 16-bit function calls have been replaced by inline code, resulting in a small speed increase. DIFF mode has been removed, and will reappear in version 2.60.

v2.41 -	Fixed another header bug. 8K headers again. Fixed bug appending Nodelist.Bbs/Fon files. Reset the include pointer to get "ozone" working again. A logic error caused SysNL to close files prematurely in COMPILE mode.

v2.42 -	Fixed a major index file bug for Versions 5 and 6 when appending to an existing list. Nodelist appending has error checking. If a list to append to isn't found, it is created.

v2.43 -	Fixed up EDIT mode's linking routine. G)oto command in EDIT mode added. Sped up option code in COMPILE mode.

v2.50 -	Include files added in EDIT mode. Straight compilation added in EDIT mode.

v2.51 -	Major control file update. Verbs renamed, and tables can be in any order, with multiple copies of each. CRT control is now hardware independent, using ANSI and DOS. Compile command added in EDIT mode. Searches for control file using the DOS environment variables SYSNL and PATH.

v2.52 -	A small bug in zone-awareness with EDIT.

v2.53 -	EDIT mode finally allows an infinitely large nodelist. Include file command will look for .EDT files as well as updates.

v2.60 -	Changes made to COMPILE mode. Reduced memory needs by 96K. Increased size of CRC buffer by 4K.

v2.61 -	General code speedup. Fixed large bugs in BUILD mode.

v2.62 -	No longer processes entire nets it will not include. QuickBBS list intialization bug fix. Speedup of phone number code.

v2.63 -	Massive speed increases in BUILD and COMPILE modes. Fixed bugs in BUILD mode.

v2.64 -	Fixed bugs in COMPILE and BUILD mode input buffers. Sped up saving and compilation in EDIT mode. Fixed MERGE mode bugs. Changed the format of the "phone" table. Supports Zone 4 ZMH. Re-wrote CRT routines in assembler. Added modem type table.

v3.00 -	The MAKE option was added. Full error-checking in EDIT and MAKE modes. EDIT mode loading/saving sped up. Huge speed increases in BUILD & COMPILE modes. ASM code use increased. Bug fixed in NodeList.Fon compilation. Docs rewritten and editted. MERGE mode removed. Fixed 26K limit in EDIT and MAKE modes' output. New control file Version 14 format.

v3.01 -	An error in the EXE file did not change "PHONE" verb to "NODEREC".

v3.02 -	More private/point nodelist support. ASM code sped up. COMPILE mode sped up. QuickBBS record size bug fixed. Sped up nodelist merging, now done before any compilation. TBBS v2.0 list format removed. PRUNE mode added. Several new verbs added, forming Version 15 control file. Sysop directory support added.

v3.10 -	Fixed index problems in SEAdog list. DIAL table added. PATCH mode added. Fixed userlist problems. Fixed find command in editor. Automatic extraction of compressed lists and difference files. Mail robot added to editor.

v3.11 -	End of year bug fix. Leading zero extention fix. ASM core use increased. PRUNE table in COMPILE mode error fixed.

v3.12 -	True dynamic memory manager, now uses as much free RAM as it can find for all modes. Bug fixes in PRUNE and MERGE modes. More sophisticated compression method detection. Documentation rewrite. EDIT mode rewritten. Editor help screen added. SysNL/Setup added for creating and maintaining control file.

v3.14 -	Bugs fixed in CRC and PRUNE modes. SysNL/Setup utility re-organized and compressed. Small compiler speed increase. MAKE mode now allows an infinitely large nodelist. Editor functions sped up.

CPU CODE SUBSTITUTION

SysNL is designed to be faster than any other nodelist utility, regardless of which CPU you run it under. However, certain parts of its code is optimised (but not restricted) to the faster 80286, 80386, 80386SX, and 80486 processors now found in most computers. In other cases, it will substitute different code for different processors, in order to gain the maximum benefit from the faster chips which are becoming more and more common these days.

SysNL will substitute code in both CRC, Compile, and Make Modes. In CRC and Make modes, SysNL and/or SysED will substitute a more efficient 16-bit CRC calculator on systems running on an 80286 or above. In Compile mode, SysNL will use a 32-bit core algorithm to read the raw St. Louis-format nodelist on 80386SX systems and above.

SysNL will display which mode it is in when it prints the program information notice. If SysNL is running on an 80286, the program name will be replaced with "SysNL/286 v3.20". On an 80386SX and above, it will be replaced with "SysNL/386 v3.20".

CREDIT, WHERE CREDIT IS DUE

Constellation Software would like to acknowledge the time of the following, without whom this program would not be what it is today.

Bruce Anderson,	1:342/106,	Ft. McMurry AB, Canada

Nigel Allen,	1:250/438,	Toronto ON, Canada

Dan Armstrong,	1:250/522,	North York ON, Canada

Rick Ashworth,	1:108/90,	Erlanger KY, U.S.A.

Ben Baker,	7:44/76,	S. Roxana IL, U.S.A.

Ian Bonnycastle,	Toronto ON, Canada

Phil Buonomo,	7:520/538,	Lyndhurst NJ, U.S.A.

Mike Carr,	1:250/528,	Toronto ON, Canada

Phillip Catt,	1:250/470,	Toronto ON, Canada

John Dunn,	89:89/0,	Ajax ON, Canada

Dan Geatens,	1:273/301,	Honeybrook PA, U.S.A.

Chris Goff,	1:120/139,	Detroit MI, U.S.A.

Fabian Gordon,	1:107/323,	Passaic NJ, U.S.A.

Tom Hall,	1:342/6,	Edmonton AB, Canada

Bob Hartman,	1:132/101,	Nashua NH, U.S.A.

Thom Henderson,	7:520/1015,	Passiac NJ, U.S.A.

Bryan Hochberg,	1:246/1,	Windsor ON, Canada

Jesse D Hollington,	1:225/1,	North Bay ON, Canada

Chris Irwin,	1:18/68,	Miami FL, U.S.A.

Colin Lean,	3:712/506,	Stanmore NSW,Australia

Renald Loignon,	1:167/176,	Brossard QC, Canada

Larry Marshall,	1:241/5,	Pembroke ON, Canada

Jim Nikolich,	1:250/312,	North York ON, Canada

Kevin O'Malley,	1:228/4,	Grand Rapids MI,U.S.A.

Wayne Parrish,	1:308/20,	Alamagordo NM, U.S.A.

John Rafuse,	1:259/403,	Mississuaga ON, Canada

Mike Shepard,	1:231/120,	Indianapolis IN,U.S.A.

Steve Shapiro,	1:382/35,	Austin TX, U.S.A.

The Stanleys,	1:250/320,	Toronto ON, Canada

Phil Thompson,	1:250/503,	Toronto ON, Canada

Bill Vanglahn,	1:107/557,	Dumont NJ, U.S.A.

Kent Wong,	1:250/326,	Toronto ON, Canada

John Woolsey,	Toronto ON, Canada

Alex Wyss,	2:302/801,	Zurich ZU, Switzerland

It is to these people that SysNL owes much of its success. Please help them out by supporting them. In this way can we can perpetuate the vast numbers of helpful sysops in many different networks who think nothing of expending time and money helping others.

SOFTWARE CREDITS

CRC table courtesy of Stephen Satchell and Chuck Forsberg.

CRC calculation algorithm courtesy of Ben Baker.

C difference merger originally written by Jim Nikolich.

Unix date function courtesy of Jim Colligan.

Crunched ANSI extraction algorithm courtesy of Ian Davis.

SEAdog<tm> v4.51 data types courtesy of Thom Henderson.

TBBS/SEAdog<tm> sort information courtesy of Thom Henderson and Phil Buonomo.

Qsort and MakeNL are programs by Ben Baker.

Xlatlist<tm> and SEAdog<tm> are trademarks of System Enhancement Associates.

ParseLst is a program by Bob Hartman.