+MainPart:
Simple history, which describes short the beginning of FAME, because i've
written no realy history.
--------------------------------------------------------------------------

28.08.1993 Beginning of FAME project. Defining all needed standards.
           Beginning with MainPart GUI and SystemEditor.
16.10.1993 First part working version of the SystemEditor.
04.11.1993 First real working version of the SystemEditor including
           systemdata check and installation of all defaultdatas.
23.01.1994 Komplete Sserial implementation. Different commandos coded.
28.01.1994 Implementation of the Historylist and the two dimensional
           Conference/Fileflaglist.
01.02.1994 First version of the external UserEditor.
17.04.1994 Complete user handling and different news.
12.06.1994 Implementation of the ZModem.library and different news.
03.08.1994 First Alphtestversion released.
21.09.1994 First Betatestversion released. Different news and bug fixings.
           Expansion of the external UserEditor and the Systemeditor.
           Completely rewriting all datafiles to a newer format which
           allowes from now only byte aligned datas and some optimizings,
           also from now on all datafiles have headers for compatible
           checkings and identifying.
23.10.1994 First inofficial betatest board opened.
           Versionsnumber now v1.01. First usable GUI of the Server.
30.11.1994 Arexx and Door implementation finished.
           Versionsnumber now v1.32.
23.12.1994 Nearly completely finish of all implementations and commands in
           Mainpart. Different bug fixings, Mailscanner expanded,
           SystemEditor expanded, ConferenceAccessEditor implementiert
           into MainPart, SysOpCommandos finished.
           Versionsnumber now v1.57.
26.12.1994 Messagescanner finished. The SysOp can from now on get the
           FromUser in the MsgBase whith F6 into the UserEditor.
           Ctrl-L & Ctrl-C checks new at the MsgEditor.
           UserEd from now on reads foreward and backward matches.

Complete history
----------------

06-Jan-95
*********

-On read message the newscann and readpointer can now be set.

-on read message now NS (NonStop) can be used.
 (noted by Siegel)

-Bug on iconify fixed where the serialdatas were deleted on uniconify.

-Local CON Upload coded. It aks for copying or moving the files nad this
 on every single or an all files.
 (noted by Siegel)

-NewUsers now all have set the Confdatas to Global!

21-Jan-95
*********

-AutoSelect at the SystemEd ConferenceXS coded.

-Priority and Stack for Doors now avail.

-Defaultfpathes for LocalUpload, Textview and DownASL can now be set
 at the SystemEditor.

-BullHelp.txt Cycletexts now set to the Cyclestandart, because of this
 the - before the number must be deleted: -1-Bullhelp.txt is now:
 1-Bullhelp.txt...
 Limit of the Cycletexts for the BullHelp.txt is 10.

-Cyclestandart changed, now there is no limet give for cycletexts.
 U also no more have to set a maximum of cyclenumbers at the systemed.
 If an systemtext is found with 1- , the BBS now cycles automatic
 till X- (X= 1 till more millions). That means the cycling an displaying
 will now be done automaticly till now more texts can be found. Here it
 restarts at 1.
 Most of the systemtexts can be cycled.

-Most of the systemtexts now can be switched off. Now it seams that they
 dosn't exists to a user.

-Many systemtexts now can be found in different dirs!
 For example all conferencetexts will now, if not found in the Conference
 be searched in the Screens.

-XIMDoorPort and ParagonDoorPort now can be named from the SysOp.
 Note that the Number of a node will be cut to the and of the name
 automaticly.
 New Gadget (Miscellaneous) at the SystemEditor.

-SytemEd now defaults the ScrNodeX.dat.

-Doors can now be meant as internal commands too.
 That means instead of executing a Modul, an internal command incl.
 arguments can be set which will now be used.
 There can only be used internal commands and no Doors!
 Now u can name own commands, rename them, set arguments to a command,
 give a level for it, or set a passwort...

-Node Edit at the SystemEditor is now be placed to the Mainwindow.

-Xpr.library now selectable and the Xpr-Buffer from 1KB in 11 steps
 to 1MB switchable (Select default Buffer). Other gadgets not avail
 until now.

-For every Door now a name can be set. Which will be showed at the Server.

-BBS:Node(x)/BullHelp.txt is now also avail.

-Bug fixed, if a Node was be iconified during a connect the connect wasn't
 successful.

-Transfer now registers aborted files and skipped them out of the list.
 The not will give it bytes to the userstats anylonger.

-Iconify now on Up/Dl 100% ok.

-NodeBatches: BBS:Node(x)/NodeBatches/StartBatches/
              BBS:Node(x)/NodeBatches/LogonBatches/
              BBS:Node(x)/NodeBatches/LogoffBatches/
              BBS:Node(x)/NodeBatches/ShutDownBatches/
 now available.

 The BBS searches on start, logon, logoff and shutdown into those pathes
 for scriptfiles. If scriptfiles are found they will be executed.
 The Name of any scriptfile can be different. Choose what u want.
 Also there is no limt on scriptfiles per dir.
 But u have to set set scriptbit S from the protectionbits!
 Also the argument will be the nodenummer.

 Example scriptfile:

---------------- Cut ----------------
.key Node
Echo "LogoffBatch <Node>, Dude!"
---------------- Cut ----------------

 StartBatches  will be started right after opening the Screen.
 LogonBatches  will be started after reading the userdatas.
 LogoffBatches will be started right after the datas will be written back
               after a logoff.
 ShutDownBatches will be started if an Node ends.

-Baudrates start/endtimes now individuel selectable.
 Every Baud is possible, but the node doesn't checks it in this Version.

-If the actual Baudrate isn't found the sysop can set a gadget to decide
 if the next higher or lower baudrate should be used instead or
 he can set that automaticly 24 hours will be activ oder this Baudrate
 doesn't get access to the BBS.

-Batches can now be set to asynchron.
 For: StartBatches
      LogonBatches
      LogoffBatches
      ShutDownBatches
 this is possible for the NodeBatches-dirs and for the Logoff Batch and
 ShutDown Batch files.

-All batches can now be started with priority and stack.

01-Feb-95
*********

-MainPart iconify (from Server) now fixed.

-SaveWinPos for Server

-Windowclose of the Servers fixed.

-Many new Commands.

-And many more which i've forgotten.

03-Feb-95
*********

-Last 10 Users/Uploads/Downloads not avail at the Server.

-MainPart: Bug fixed on pushing Help while viewing a file.

-Shift F1 (online) inserted. With Shift F1 the SysOp can now get a User
 into chat, without displaying a start/endchat-text
 (Noted by Wolfgang)

-Copy is now the default for Local Upload!
 (Noted by Siegel)

-AlsRequests now usable with doubleklicks.
 (Noted by Siegel)

-SystemEd: Misc. renamed to "Door Port Names"!
 (Noted by Siegel)

04-Feb-95
*********

-Internal JoinConf coded. This will show the conferences and their numbers
 of a user, if now JoinConf.txt can be found in the actual conference or
 the screenslocation.
 (Noted by Siegel)

-MCI Kommando Interpreter coded.
 Read the MCICmds.txt and try the MCIDemo.txt to see what is possible.
 (Noted by Wolfgang)

-MCI Text's are now as fast as normal texts without any MCI-commands.
 (Noted by mYsELF)

05-Feb-95
*********

-Porthandling fixt.

-Server can now also be iconified.

-MainPart: Now you can use in every prompt (PAUSE/PROMPT/KEY)
 Ctrl-C to abbort and Ctrl-L for clear screen.

-SystemEd and UserEd can now be started form the Server too.
 Alos the UsEd-Gadgets of the Nodes are now aktiv.

-SystemEd and UserEd will be started asynchron and the Server can work on.

-SystemEditor and UserEditor must be recompiled. Now they can be startet
 with a path as argument:

 "SystemEditor"       searches in Editor.info for BBS_LOCATION=<BBS:>
 "SystemEditor BBS:"  starts with the argument BBS: .
 "UserEd"             try to start with BBS:
 "UserEd BBS:"        starts with the argument BBS: .
 "UserEd BBS: "Name"" starts with the argument BBS: and loads User
                      "Name", the Username can be used with or without "".

-On ESC/Windowclose at the Server now only those nodes will be shutdown
 which are awaiting a call.
 (Noted by Siegel)

06-Feb-95
*********

-MainPart now asks if there where some flagged files on logoff for loggoff.

11-Feb-95
*********

-DoorCommand SV_NEWMSG coded.
 (Noted by Siegel)

-Nodes now can be started iconified.
 (Noted by Siegel)

-MainPart now recompiled with PARMS=REGISTER and NOSTACKCHECK!
 Now 18KB less code and much faster!

-Server nuw recompiled with PARMS=REGISTER und NOSTACKCHECK!

-SystemEditor recompiled with PARMS=REGISTER und NOSTACKCHECK!

-UserEditor recompiled with PARMS=REGISTER und NOSTACKCHECK!

-UserEditor now ueses topaz 8 font!
 (Noted by Siegel)

-Frontend now switchable to on/off!
 (Noted by Siegel)

-IdleNode coded!
 (Noted by Siegel)

-Bug fixed on reply Msg.

-On last 10 Uploads at the Server now also LocalUploads will be displayed.
 (Noted by Siegel)

-Server now continous work if one single node is hangs!

-The internal UserEd now also scanns for newusers.

-The internal UserEd now can add users.

12-Feb-95
*********

-Now all Confdatas of a User will be loaded to a list if a user connects
 and will be written back on logging off. This speeds up the BBS a lot!

-Now a new kind of editing MailScann/FileScann/Zoom is coded. Under the
 Menucommand: "W 17". Not on a single way like under "W 16", but
 for all Confs: single/toggle-all/all-on/all-off .

-If a user lost the carrier before he reached the MenuPrompt, the
 Confdatas won't be written back. So the BBS saves all NewScannpointers
 for next call.

13-Feb-95
*********

-Damaged Server-Taskstructur on starting the Servers directly from the
 Workbench now fixed.

-On Presets the BBS now ask for setting the preset on all Confdatas too.

-Now the Internal UserEd now more allows changing the following things
 from the serial side:
 username, level (!Preset can!)and passwort (it will be also displayed
 invisable on serial)
 (Noted by Siegel a rEAL gOOD bETA-tESTER!!! We will fix it together 8) )

-Fixes Enforcerhits on Server an Node.

-Bug on iconify the Server fixed.

-Bug ot the FullArg fixed.

19-Feb-95
*********

-User.data und UserConf.data changed.
 UserFlags are now bits, and the Datafiles a smaller.

-The Node can now be directly iconified over the Menu or the Shortcut
 RightAmiga-I

-DailyBytes/Files are now on 0 Dissabled.

-Bytecounting on Download totaly rewritten.

-Some. Gfx Bugs at the Server on displying datas of transfer fixt.

-Server now also showes the complete of a file in percent.

20-Feb-95
*********

-Internal WHO coded. Less code because of using the ListenStammPointers
 for the Server internal list from the Server.
 (Direct Memory Acces->0 waitstates)

-LossCarrierFiles and PartUploadfiles now handled like here:
 The files which are not 100% complete now will be move to the playpen
 dir of the actual conference if they are LossCarrier or PartUpload.
 On LossCarrier a file will bw generated at the conference in the
 LosCarrier dir. On PartUpload the same will be done, but in the
 PartUploads die of the conference. This file lokks like here:

 Filname is for example: TestFile.lha
 UserSlotNummer is for example: 24

 now the file is named in the LosCarrier or PartUploads dir:

 TestFile.lha@24

 This file is a textfile which contains:

TestFile.lha           <- Filename
123456                 <- Filesize
6178                   <- Bytes transferd
50                     <- Filecomplete in percent
TestUser               <- Username
24                     <- UserSlotnummer
02-19-95               <- Date of the Upload
18:09:38               <- Time of the Upload

-LossCarrierfiles will be checked and can now be resumed. 
 PartUploads at this Version not!!!

 The LostCarrierProcedure works like here:
 Exists in the LosCarrier dir of an conf a file with the soltnummer
 of an logging on user (after the MessageScann) but in the PlayPan 
 no file to it, the file in the LosCarrier dir will be deleted.
 Exists the file in the Playpen, but in the Upload dir of the conference
 now too (maybe another user has uploaded it now) than the file in the
 LosCarrier dir an the file in the PlayPen will be deleted.
 Doesn't exists this file in the Upload dir of the Conference,
 the BBS now asks the user for resuming. On yes the user now can resume
 On no the bbs asks for deleteing this file. On yes the file in the
 LosCarrier dir and the file in the PlayPen will be deleted.
 On no the BBS asks again for resuming this file.

 The same chematic will be done for PartUploads, but that PartUploads
 will be checked on logoff or on upload at the menu using the U command.

21-Feb-95
*********

-UserEd now uses the new structs.

-MainPart, Server, SystemEditor and UserEditor recompiled.
 Now now CONOutput will be used anylonger, till u start the server from
 the CLI, or the ToolType CLI is set in the Server.info .
 Also some Ansi-C functions are replaced with AmigaDOS-functions.
 The code is now smaller. For example the Server has now more than 4 kb
 less code.
 Old size: 52584 bytes, new size: 48148 bytes.

-MCI Interpret now changed for 100% reentryable use.

-MainPart now also opens the Screen (if iconify was set) if the given
 serial.device can't be open.

22-Feb-95
*********

-Folowing Tooltypes known by the Server in Server.info :
 BBS_LOCATION=BBS:
 CLI                (ADOS)
 TOOLPRI=0          (ADOS)
 IDLE

-On iconifying the Server the displayed Icon is now the Server.info from
 whitch the Server has been started.

04-Mr-95
*********

-A hard Bug fixed. There was a problem with the small stack on recursivly
 funktions. Stack overfolw without Stackcheck is very fine... Now
 the BBS alocates the strings in recursiv procedures it self.

-MCI Kommandos now all OK.

-30 new XIM commands. For example Upload/Download/Batchdownload.
 LOADACCOUNT will be emulated, SAVEACCOUNT will be ignored!

06-Mr-95
*********

-Due to a lame porthandling between the Server and the Nodes, the Data-
 transfer between the Server and the Nodes dosn't work on all Amigas
 correctly. Now the Messagsystem is totaly rewritten and hopfuly ok!
 Pleaze test this on an A4000/040!!!
 Thx to Commodore for the ROMKernalReference Manual !

-This bugs/news-texts (you now are reading on of them) will be from now on
 written totaly in english, because they can now put easy to the
 History-guide.

07-Mr-95
*********

-Bulletinsviewer has had an bad error.. some shit like fuck'n atoi(),
 fixed!

-WHO has had problems if Username, UserLocation or Action was longer than
 the space for it. Fixed.

-JoinConference is now watched by the Levelsetting of the User...

-Colorfixes by the MessageScanner....

-EnterMsg now with Argument! e.g. "e sysop"

-ReadMsg now with Argument! e.g. "r 26 ns"

-If an upload goes into the hold and a file with exactly the same name
 exits, the existing file will get the suffix .doub(x). Where (x) is
 a counting number, from 1 till 100. This means up to 100 Files can be
 send as double in the hold. After 100 the new file will be lost!

-DOWNLOADSTAT: and UPLOADSTAT: in the UDLog/Callerslog new Layouted.
 Now they both look like below:

DOWNLOADSTAT:  122332 files, 12263 kb, 10332 min. 56 sec.,
               163308 CPS, 100% efficiency at 11500 Baud.

UPLOADSTAT: 22323 files, 9472323 kb, 232310 min. 56 sec.,
            160238 CPS, 102% efficiency at 11500 Baud.
            Time increased by 0 min. 51.

 (i think the look like this.. pleaze test it)

08-Mr-95
*********

-On Intit Modem the Serial InitBaud will now be shown at the Server!
 (Noted by Siegel/TRSI)

-If a Node was iconified the TransfermidCPS won't be counted, because of
 the transferwindow which will be closed. Because of this the
 TransfermidCPS won't be counted, until now! Fixed!

-Because of using an wrong flag, somtimes a nodes shut's down if a user
 called wich hasn't set the Messagescanner....fixed mate!
 (Noted by online Betatester Death Angel)

-Now also the PartUploads wil be checked on U command.

-Callerlog.txt now renamed to Callers.log

-UDLog.txt now renamed to UD.log

-Callerslog changed! Now the NodeStart and NodeShutdown text will be only in
 the Start.log written.

-Callerslog now writes less unusable stuff, like star-lines and so on.
 (Noted by Siegel/TRSI)

-Sometimes ago if the Xpr.library wouldn't be found the BBS crashes on
 shuting down. This bug is fixed long time ago. But i've forgotten to write
 it in the News'n'Bug texts. No i've written it!
 (originaly noted by ByteAndi/TRSI)

-Wildcards for flagged files will now be also accept when they are inserted
 outside the Downloadfunction. Till now it was only be able to use Wildcards
 directly after u entered D and flaged on files...
 (Noted by Argon)

-If a Download fails, or is aborted, the last not finished file will be left
 in the flaglist now too.
 (Noted by Argon)

-Internal who now knows the argument 'U'. U means Update. The who updates
 twice a second. A Key ends the who. The who updates only the real data,
 not the whole who texts.

-LosCarrier and PartUpload Files will be now correctly resumed.. i hope 8)
 Plaeze test it!

11-Mr-95
*********

-FileCheck result Flag now fixed. Dupchecker couldn't change it!
 (Noted by Siegel/TRSI)

-If now after EXAMINE the decription dosn't exist the internal Prompt
 for the description appers.
 (Noted by Siegel/TRSI)

17-Mr-95
*********

-Callerslog fixed. On ModemConnect now also the *** Row available.
 (Noted by Siegel/TRSI)

-Callerslog now doesn't writes Read Msg and WriteMsg anymore.
 (Noted by Siegel/TRSI)

-Server clears now username, location and baud/CPS when a node shuts down!
 (Noted by Siegel/TRSI)

-Selfupdating ServerMsg implemented. A intern Flag will be set and all nodes
 will be restartet after a User logoffs...than the flag will be terminated.
 It's more a Internal debugging future!

-MsgScanner Bug removed. Some users couldn't be replyed. Because
 the Scanner means the User hasn't Access to this conf...fixed!
 (Noted by Death Angel)

18-Mr-95
*********

-Parser now handles arguments on every case. U can now set so much spaces
 between, before and behind arguments and the command, as u are willing
 to do.

 e.g.: the old "n s u" can also be written now: "    n      s  u   "

 The parser interprets it himself. The (Full)Arguments, also used by Doors
 with the commands NR_GetFullArg/NR_GetArgument1/NR_GetArgument2/
 NR_GetArgument3/NR_GetArgument4, will be formated into the old method
 ("n s u") for compatibility to Doors, wich couldn't interpret " s  u   ".
 But only the first 4 arguments will be cut to the old form! All arguments
 behind will be the 'overspaced' form 8)

 like:            "   a   1   2  3 4   5   6          7         8  "
 FullArg will be: " 1 2 3 4   5   6          7         8"

 Because of those changes the Timeon at the Menuprompt will nomore be
 displayed when a space is the first character. It will now be displayed
 if anything is written only of spcaes. Like: " " or "           ".

 (Origin. noted by SvEN tHE CREAToR)

23-Mr-95
*********

-WHO and Server now reset Username and location if the Node is in
 await-mode. The space there is now clear.

-WHO now views all activities like the server as well.

-Bug fixed on Uploading Files. Some Doors were overwriting a variable
 wich is needed for the filespec after uploading...this causes that when
 more than 1 file was uploaded that only for the first was asked... the
 others were left back in the playpen. Fixed!
 (Noted by dEATH aNGEL!)

-Local Upload now writes the same into the logfiles like a normal Upload!

24-Mr-95
*********

-On Userstatus if no LOGON JOIN CONF is set, ther will now be displayed:
 AUTOREJOIN INTO LAST CONF!

-Server now showes the Last Caller at a Node again.
 Only at WHO it won't be displayed if no User is online.

-On paging the SysOp the Line of the Node at the Server will now be
 switched to white.

-If a Node s quiet the Line of the Node at the Server will now be
 switched to blue.

25-Mr-95
*********

-Server starts as ever all Nodes at the same time.
 But if a Node opens or closes a serial.device, the Node holds every other
 Node if it also wants to open or close a serial.device.
 Local Nodes won't be hold by the Server... they starts as before directly
 and without any delay. Only serial access is now synchron, because
 some devices crashes if they were opened more times at the same time with
 different units.

-The default start for batches is now synchron.
 Normaly u have to leave it synchron. If it's synchron only one batch
 can be updatet at the same time. Other batches, maybe from other nodes,
 have to wait until the first batch is ready. Server hadles this.
 The reason for this is the security for Tools like Bulletintools, wich
 normaly shouldn't be run asynchron, becaus the don't check and waits
 for free locks on files and/or datafiles. If the same tool starts at the
 same time more times it can damage some own or other data! So be sure
 that u only start batches asynchron if u're realy sure that the Tools
 can run asynchron! The have to check for locks etc.
 My opinion is the following: Generaly switch in the
 SystemEditor/Nodes/MoreWindow all batchtypes to synchron (not selected).
 Then don't use the batches in SystemEditor/Nodes-Window, they are not
 the best way to start batches. Use the directorys created by the
 SystemEditor (as u had started it at the first time) in every Node
 showen like below:

 BBS:
  |----Node0
        |-----NodeBatches
                  |--------LogoffBatches
                  |--------LogonBatches
                  |--------ShutDownBatches
                  |--------StartBatches

 u have just to copy a script file (textfile with protection-bit S set)
 into a directory listed above. U can copy as many as you wish of
 such batches into any directory. The will all be started after another.
 The advantages are:
  - easy handle, because you can give every tool his own batchfile
  - easy to move them into or off a directory
  - u can start them asynchron or synchron.

 The last point is the best way for starting asynchron Tools.
 If you have set all batches to synchron, but you have some tools witch
 can run asynchron you just have to enter the filecomment ASYNCHRON
 to the matching batchfile and this tool is now asynchron.
 You forces it to run asynchron.
 The same for the other way, if you've set batches to run aychron and
 a filecomment SYNCHRON is found.

 Only the batchfiles in SystemEditor/Nodes-Window don't know the
 filecomments.

 Every batchfile also becomes a argument-key witch will be the NodeNr.
 get iut with:

 .key Node

 at the beginning of the script. Now you can tell the tool witch <Node>
 is meant.

 Example: (this is no tool, its an echo but this is equal!)

----------- cut here -------------
.key Node
Echo "LogoffBatch <Node>, Dude!"
----------- cut here -------------

 (Noted by Siegel/TRSI)

-ANSI-C sprintf() replaced with own ASM SPrintf() replaced.
 Now much faster and less code.

-ANSI-C atol() and atoi() with own ASM Atol() replaced.
 Now much faster and less code.

-WHO no more needs the writeenv() procedure to get the Action information
 since it get it directly from the Server. It's faster and saves code.

-Server now showes LossCarrier and PartUpload as Action too.
 As: Get LosCarrier Files / Get PartUpload Files

-Server now showes a is TextFile viewing too. with View File <xyz>

-Msghead on Readmsg now shows the number of recived from a message.
 Priority is replaced for that.

-All Datafiles of FAME are now changed at their headers.
 The new header now contains information about the Datafile itself.
 This is quiet good for identifying them. For example the FileID.library
 by BLOODROCK of SYNDICATE does it. It can identify now every single
 Datafile.

-Check for Doubleusers had had a bug. Fixed now.
 (Noted by Siegel/TRSI)

-Retry/Continue as NewUser now has a limit.

-ByteAndi's Copy-procedure used from now on.

-MCICommands to start Doors and view Textfiles are now no longer avail
 for MenuPrompt and Messages

-Own defined MenuPrompt will now no longer be deleted on editing it.
 Now you can real edit it.

-New MCICommand: ~R to get a return on screen, usefull for the MenuPrompt

-New MCICommand: ~AC types the actual Conference

-New MCICommand: ~AN types the actual Conferencenumber

-Ctrl-C on ReadMessage while nonstop (ns) now breaks the whole nostop.

-Goodbye after Download now active!

26-Mr-95
*********

-New LevelFlag. ForceWHO, to see hidden Users.

-WHO now knows the argument FORCE . If u use WHO force or who force u
 or who u force, u can now see all hidden users too! Us see them i cyan
 color! But only if u use FORCE and u have the Level for it!

-Filechecker now available!
 Using PIPE:, you also have to assign it, normaly it is assigned from 2.x
 on. Only scriptfiles don't work perfectly until now!

27-Mr-95
*********

-Now on paging a DisplayBeep(NULL); will be done.
 That means, that the actual Screen will beep! Not a maybe iconified
 Node.
 (Noted by Siegel/TRSI)

-WHO had had a problem, sometimes he told something of Unknown command,
 fixed!

-Relogin was not always successfull. Now it is!
 (Noted by Death Angel)

-Account Edit now writes at selecting of Edit User/NewUser/Enty User
 at the Server the note on Account Editing!
 (Noted by Siegel/TRSI)

-Edit Fileflags will now nomore make a ScreenClear.
 (Noted by Siegel/TRSI)

-Enforcer Hits when the Server types 'VIEW TEXT: xyz' on viewing
 Textfiles! Fixed!

-Problem on hanging in a while() on clearing serial data. Fixed!

01-Apr-95
*********

-Server now uses PROGDIR: for his Iconlocation.

07-Apr-95
*********

-Goodbye after Transfer now also available on Upload.

-Some problems fixed with the Checkcarrier...

-Msgscanner and ReadMessage optimized and speeded up a lot!
 (Noted by many users)

-If the SysOp has been paged the color now is white until the user logs off.
 (Noted by Siegel/TRSI)

-New DoorCommand on XIM:
 #define FM_LASTCONF      10000
 to get the last Conferencenumber

08-Apr-95
*********

-SysopStats now available. In the Dir BBS:SysopStats will now be
 counterfiles generated when uploading files to the upload or hold of
 any confrence. If the Levelflag UploadStatus is set for a User
 (Normaly SysOp/CoSysOp) the count of new files uploaded will be showen
 before the MenuPrompt on loggin on. They will be showen for every
 conference and so long till the SysOp (Slot No. 1) have seen it!

09-Apr-95
*********

-FAME DoorPort now available.
 If u are a supporter contact me!
 Over 1000 commands available!

12-Apr-95
*********

-Over 40 new commands for FAME Door System.

-Additional Downloadpathes now used.

-Globaldownload now possible, but not realy as i finaly will have it.

-2 Fixes of the Callerslog

-Passwords now in/visable on Console if Sysop wishes.

-Fixed a hard problem on downloading files...problems with seek in
 files fixed.

14-Apr-95
*********

-Chat allows now Ctrl-g for beeping!
 (Noted by: ByteAndi/TRSI)

-Server now has the right colors for the Node infoline.
 Black means not hidden, blue means hidden user.
 White means user has pages sysop.
 If SysOp not answers the request the color leaves on white.
 Till user loggs off or SysOp goes into the chat. If the SysOp goes into
 the chat the color changes back to black or blue.
 (Noted by: Siegel/TRSI)

-Prompt, Chat and Textview now writes after use the old envstat back.

-On Local Console Logon the password is no longer needed.
 (Noted by: ByteAndi/TRSI)

-Exit Door now also available for Paragon Doors.

-Change in the Callerslog. New the User Info that a user logged on will be
 written to the callerslog directly after the name is found in the
 User.data. Older Versions have done it after the validation of the UserPW,
 but this causes that nobody knows on what account the hacking was done.
 There was only the information that the UserPW has failed. Now the user
 info is written before:

 OLD:
***************************************************************************
- MODEM LOGIN -
USER PASSWORD FAIL: x
USER PASSWORD FAIL: y
USER PASSWORD FAIL: z

 NEW:
***************************************************************************
- MODEM LOGIN -
ONDATE: 04-14-95 ONTIME: 02:01:17 USERSLOT: 1
USERNAME: TestUser LOCATION: aT hOME!
CONNECT: CONNECT 38400
USER PASSWORD FAIL: x
USER PASSWORD FAIL: y
CONFERENCE: [2] aMIGA wAREZ <AUTOREJOIN>
OFFDATE: 04-14-95 OFFTIME: 05:15:21 STATUS: NORMAL USERLOGOFF

-Replay after Msgread now nomore asks when SysOp replys a msg and the msg
 is not from or to him for deleting it after reply.

-New Menucommand "ms" to start the Msgscanner at every menuprompt, instead
 of reloging for it.

18-Apr-95
*********

-Server is from now on a commodity!
 Default CX CLI/ToolType arguments are:

CX_POPUP=YES            <- is the same as iconified from the SystemEditor!
CX_PRIORITY=0           <- is the same as priority from the SystemEditor!
CX_POPKEY=LAMIGA CTRL s

 Note that CX args wil be used primary!

20-Apr-95
*********

-There was again a colour wrong on paginig sysop..fixed.

-Server now allows toggling between 4 different command gadget banks.
 A bank has 14 gadget, the first 2 banks are reserved for the Server's own
 functions, the other 2 (28 gadgets) are free for use for the SysOp.
 For that u need the following Tooltypes for the Server.info icon:

BUTTON_NAME.1=<10 chars for gadget>
BUTTON_COMMAND.1=<executable/script>
.
.
.
BUTTON_NAME.<number>=<10 chars for gadget>
BUTTON_COMMAND.<number>=<executable/script>
.
.
.
BUTTON_NAME.28=<10 chars for gadget>
BUTTON_COMMAND.28=<executable/script>

-RightFilesNames Flag now also be used on Download by listing the flagged
 files. Normaly this flag is set off as default.

-Fixed a problem if on a filechecker the options wasn't set.

-rz now also checks for partuploads.

-New BBS Command installed AR_FlagFilePath.
 To flag files with path. On this case the download dosn't check for
 filepathes...

22-Apr-95
*********

-Nearly all mumbers will now be formated like 1.234.567 instead of 1234567.
 (Noted by Siegel/TRSI)

24-Apr-95
*********

-The BBS will now be off hook on updating logoffbatches....
 (Noted by dEATH aNGEL)

25-Apr-95
*********

-Conference Flags (W 17) now also allowes more than 1 argument
 for Conferencenumbers like: 1 2 3 4 20 32 34

-The Download now shows the total files, bytes, hours, minutes and seconds
 before the last prompt appears. So a user can decide to abort or not.
 (Noted by Bloodrock/SDC)

-The Global Download can now be started from every conference, not only in a
 Conference where flagged files were in.
 (Noted by many people)

-Fixed a bug on describe a file. After the description was typed, the BBS asks
 again and again for a description.
 (Noted Byteandi/TRSI)

27-Apr-95
*********

-8 new mighty FAME Doorcommands installed.
 To control from one Node other Nodes, send Messages and many more.

-Reserve for a user now available.

30-Apr-95
*********

-A new mighty FAME Doorcommand installed.
 The old AR_StringToNode is now RD_StringToNode and can send FORCE a String
 to a Node.
 The new AR_StringToNode now depends on users settings ("W 18").
 Now a User can define where and where not he will receive messages.
 But if he is in idle Mode (Menuprompt) he *MUST* receive the messages.
 The messages send to a Node while a user won't have them, will be added to
 a dynamic list. If the user reaches a phase where he will receive messages,
 or he goes idle... the whole list will be displyed to the user. This means
 that no message will be lost, but at some actions the user can be sure to
 be undisturbed, maybe he reads in the messagebase.
 On Sysopcommands, filetransfers and some other phases, the messages will
 automatic be added to the list and not displayed.

-A new "USER CONFIGURATION" menu is added: [18] COMMUNICATION OPTS.
 Here a user can set up to 25 BBS phases where he will and where he won't
 get messages. Also under number 1 he can set for the rest of commands
 a default value, because there are some phases which are without any high
 wait phase.

-Internal OLM written which uses the new command to send Messages to
 oter Nodes.
 U can use a nodenumber as argument on calling OLM like: "OLM 4" which
 means you will send a Onlinemessage to Node 4.
 The OLM checks for correct nodenumbers. If no argument ist given, the
 OLM calls at first the internal WHO command and than it asks for the
 nodenumber. But you can also give as argument the who arguments which
 are "force" and "U". For example: "OLM U FORCE" or "OLM FORCE U"
 and the WHO appears, showes hidden users (if you are allowed to) and
 updates the who until u press a key.
 But normaly u use only "OLM" or "OLM 4" ... and Sysops will use
 "OLM FORCE".

07-May-95
*********

-Some new needfull FIM Fame DoorCommands included... see: IncludeHistory.txt

-Now Filenames till 31 chars can be flagged

-Flagged files with also an given path, maybe a tool gave a flag his path
 or the user has checked with "D" for pathes, will now be displayed
 in yellow colour if u use "A" command.

-Flagged Filenames with names longer than 12 chars will get on "A" command
 a > char, which means it's a longer name.
 For example: (1)1234567890.1>
                             ^
                             |

08-May-95
*********

-JH_SM XIM BBSCommand included to send non limited Strings to CON&SER
 Also for FIM equal commands included for CON/SER/CON&SER:
 AR_SendStr / AR_SendStrCon / AR_SendStrSer

-On "USER CONFIGURATION" W 18 COMMUNICATION OPT u now can use *, + and -
 to toggle, select or deselect all flags.

09-May-95
*********

- Bug removed on resuming LossCarrier files.
  The BBS asks for uploads after the resume was done. This happens
  so long as many Conferences are left for scanning, because a Flag
  wasn't reset to 0 and this happens...fixed now!!!

- Renewed submission of a LC/PartUlfile to a specific user now available!
  U can now declare files as LC/PartUl files to any user.
  use: RS

10-May-95
*********

-Bug removed when u lost a carrier u also lost your flagged files..fixed!

-Special Symbols like     removed! Now they are replaced by , - < > +


11-May-95
*********

-Now messagelines will on reply be wraped after 79 chars.
 It looks a bit ugly, but better as a fulled msg will be cut down to more
 lines!

-LosCarrier scann and PartDownload scann now visable.

-Messages writen on LosCarrier will now be saved to a new Dir called
 PartMsg located in every single conference.

12-May-95
*********

-Messages writen on LosCarrier will now be saved to a new Dir called
 PartMsg located in every single conference, they also will be now
 reloaded on logon to continue writing the message.

17-May-95
*********

-A lot new FIM Doorcommands... Read the IncludeHistory.txt to get all new
 Doorcommands.

-Additional XIM Door Commands:
 #define FM_LASTCONF      10000   Data is Lastconf.
 #define FM_SaveMsgFile   10001   Data has to be the Conference number
                                  where Msg should go to,
                                  String has to be the Path+File,
                                  Filler1 has to be the allocated and filled
                                  struct MailHeader

-Bug fixed on adding a new Node at the Systemeditor. If u had created a new
 Node the Systemdata has been cleared. Now fixed!

20-May-95
*********

-Now different Files can be uploaded to Messages. U can upload also more
 than 1 file to a message. On reading u can download them...

-Bug removed on SystemEditor/FileCheckers if you hit abort at the file-
 requester while selecting an extern checkerconfig.
 (Reported by Bysis and Siegel)

-Optimized the CON/SER Output. Now the RawDoFmt is now close and direct
 to the DoIO(). This saves codesize and allocated RAM also and speeds
 up the Output again.

-Screenoutput also optimized on sending now to serial first and after
 serial to console.

-Fixed a bug on Msgscanning.

-Fixed a bug which caused a guru. Filecheckers priority will now be checked
 and has a maximum high as the Nodepriority+1 ! This means if your Node has
 a priority of 0 and your checker a priority of 10, the checker's priority
 will be set down to 1. This is a must because of using the PIPE: to
 view directly the checkeroutput to the node screen. If the checker is much
 faster than the node, the PIPE: may overrun.
 (Reported by Bysis and Siegel)

-New SYSCMD's: ULSTAT & DLSTAT.
 U will get the following argumentstring:

 ULSTAT FILES:%ld BYTES:%ld CPS:%ld EFF:%ld
 ULSTAT<x> FILES:%ld BYTES:%ld CPS:%ld EFF:%ld
 DLSTAT FILES:%ld BYTES:%ld CPS:%ld EFF:%ld
 DLSTAT<x> FILES:%ld BYTES:%ld CPS:%ld EFF:%ld

 where <x> is a counter for more doorcalls and %ld is an long value.

-New SYSCMD: ACCOUNTS
 U will get the following argumentstring:

 ACCOUNTS USNUM:%ld USNAME:%s

 where %ld is an long value and %s is an string.

-New SYSCMD: EDITOR for another editor, like a second fulled.

-New SYSCMD: NUP for a NewUserPWDoor! This is not the same as NUPFAIL !!!

-New SYSCMD: TAKEOVER to take the BBS over, after the initstate.
 !!!!!!!!!!!!!!!!!!!!!!!!!!!! BEWARE OF IT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-The BBS now remembers once selected pathes on the following ASL Requesters:
 ViewTextFile(Shift-F4)/SendFile(Shift-F5)/UploadFile(U/RZ/...)
 (Reported by Bysis and Siegel)

-New FIM Commands to get the actual pathes of the following ASL Requesters:
 ViewTextFile(Shift-F4)/SendFile(Shift-F5)/UploadFile(U/RZ/...)
 U also will get them if u can catch the FAMEConf structure 8)!

-New MCI Commands:
 ~TS      Time left in seconds
 ~TM      Time left in minutes
 ~BN      BBS Name
 ~BO      BBS Origin
 ~BS      SysOp Name

-When u edit your own menuprompt, u will now see, while editing, the most
 intresting MCI-Commands to use them at your own defined prompt.

21-May-95
*********

-All ANSI-C fopen()/fclose()/fseek()/fgets()/fprintf() replaced with DOS
 Functions like Open()/Close()/Seek()/(F)Read()/Write()

-Bug removed by Open() on append data.

23-May-95
*********

-Bug fixed on frontend. It showes hidden User if a Node hasn't been started.
 Fixed yet!

-On ASL Requesters the pathes will be set back to the default start pathes
 if the selected path on ASLRequester was longer than the path buffer,
 which is 100 bytes.

-Fixed some bugs, resulted by the changing to DOS calls like Open()....

-Fixed some bugs, resulted to the optimized Screenoutput, some strings
 wasn't be filled.

-If a upload is skipped it will now be marked in the Callers/Ud.log
 with SKIPED! after the Filename.

24-May-95
*********

-Aboutwindow added to Server.

25-May-95
*********

-HighCPS Up/Down will now be written to the userdatas.

-SpyWindow now available at the Server!

-All Datafiles have now the same version/revision no longer the ones of
 MainPart. MainPart has now new self counting revision.

27-May-95
*********

-The online shift-F1 command to get a user into chat, will now be able to
 show second chattexts. So u can have 2 StartChat.txt's and 2 EndChat.txt's
 named like here:

 On F1:        StartChat.txt
                 EndChat.txt

 On Shift-F1: StartChat2.txt
                EndChat2.txt

 So u can have a long anim and a small logo, or no text.
 The texst's can be located directly into every conference or in the
 screens directory.
 If no text can be found a standard string will be displayed to the user.

28-May-95
*********

-Fixed a bug on numberlogon. If a username begins with a number, the BBS
 interprets it as a numberlogon. Now the whole inputstring will be checked
 for numbers and chars.
 (Reported by Siegel/TRSI)

-Newuser now can no longer use alphanumeric only names.

-The minimum number of chars at usernames is now 3 chars.

-The minimum number of chars at logonprompt is now 2 chars.
 Alphanumberic can be one char.

-Spy window now also supports consoleinput.. u can go into the bbs
 without opening a node.. but beware.. maybe it sometimes crashes the
 server... it's only a test phase!

-FreeDownloads will now be checked. There are 3 different ways:
 1. A Door can set a Freedownload flag.
 2. If a Filecomment FREE_DOWNLOAD is set to a file.
 3. If a conference is free and the given Level passed, all files in this
    conference are free.

-Joinig Conference ist now corrected to Joining Conference
 (Reported by Siegel/TRSI)

-Newusernames will now be checked for names located in NamesNotAllowed.txt.

-Resticted Files will now be checked on Download.
 There are 2 different ways:
 1. If a Filecomment RESTRICTED is set to a file.
 2. If the Filename is found in the FilesNotAllowed.txt. <-This is not ok
    yet, because i've forgot that it's not a file! it's a Dir.

-FreeDownloaded files and bytes will now be substracted from the Downloaded
 bytes and files.

-Newuser's name will now be written to Callers.log
 (Reported by Siegel/TRSI)

-Newuser's name will now be displyed at the Server.
 (Reported by Siegel/TRSI)

-Newuserlevel now available.
 (Reported by Siegel/TRSI)

-Adding newusers account to conferences now visable.
 (Reported by Siegel/TRSI)

-Number of chats now available. Also new FIM Command.

-Number of pages now available. Also new FIM Command.
 (Reported by Siegel/TRSI)

-Number of day pages now available. Also new FIM Command.
 (Reported by Siegel/TRSI)

-Help texts will now be with Level.

30-May-95
*********

-Changed in FIM door struct, Data3 from LONG to ULONG.

-Changed all FIM Commands which are using ULONG Datas to Data3!

-New FIM doorcmd's implemented.

05-Jun-95
*********

-FIM ReturnCommand now fixed and replaced.. see IncludeHistory.txt
 for more details.

-Max pages available.

-Pager now checks for maxpages, counts day-pages and overall-pages.

-Chat now counts number of chats total.

-Action colour at the Server now changable from a Door.

-Name and location will now be deleted at the server while connecting.

-Server has now, as MainPart has, a real Revision number....

06-Jun-95
*********

-Transfer cps will now be counted real arithmeticaly.

-Transferwindow now showes uploaded files on upload and downloaded files
 also flagged files on download.
 (Reported by dEATH aNGEL/SDC)

-CON and SER will now be flushed after ending a Door.

07-Jan-95
*********

-ns on MsgBase now also nonstops the msg itself.

-SetWindowTitles now checks also for open window.... sorry.. forgot it
 before....guru suxx.

11-Jun-95
*********

-New SYSCMD NEWUSER available. For use with newuser quest doors.
 (Reported by ByteAndi/TRSI & Siegel/TRSI)

13-Jun-95
*********

-SYSCMD ULSTAT expanded:

 ULSTAT FILES:%ld BYTES:%ld CPS:%ld EFF:%ld HOLDS:%ld MODE:%ld
 ULSTAT<x> FILES:%ld BYTES:%ld CPS:%ld EFF:%ld HOLDS:%ld MODE:%ld

 where <x> is a counter for more doorcalls and %ld is an long value.

 HOLDS means the number of private/not passed files.
 MODE is the upload mode:

 -1 Upload File to Msg
 0  "UL" Upload (Menucommand)
 1  "UG" Upload (Menucommand)
 2  "U" Upload  (Menucommand)
 3  "RZ" Upload (Menucommand)
 4  LC Files / PartUls
 5  Internal Upload

-SYSCMD ULSTAT will be executed from now on after all filecheckings and
 directly before u see the last uploadstats and the menuprompt.

-SYSCMD ULSTAT will now be executed from Internal Upload too.

-NewUsernames will now be accepted if there exists this name allready,
 but as an deleted user while beginning as NewUser.

-In the Level settings you can now specify a number of relogins per day.

14-Jun-95
*********

-SystemEditor uses from now on alternate ASM procedures to speed up
 execution and save space. The same as Mainpart and Server already does.

-SystemEditor is from now on a Commodity, like the Server.
 U can't iconify it like a normal Commodity, because of possible too many
 open windows. But if windows are hidden u can activate them via Exchange,
 HotKey or simply start the SystemEditor again. Removing SystemEditor via
 Exchange will close all open Windows itself.

-Server has from now on a real revison number, like Mainpart and Server have.

18-Jun-95
*********

-DoorConfig now available, but not DoorHandler until now.

-SystemEd deletes now DoorConfig(x).dat files if both, DoorConfig and
 DoorHandler are deleted.

-You can now specify a priority for DoorConfig and DoorHandler

-SystemEditor now gets the selected ScreenModeName on using the
 Screenmoderequester.
 (Thanx to Bloodrock/SDC)

-If an asl.library < v38 is used, the Screenmoderequester can't be used.

-Fixed a bug on checking flagged files on beginning download.
 A to long argumentstring caused a guru....fixed!
 (Reported by Siegel/TRSI)

25-Jun-95
*********

-Hard Bug removed on Reply Msg, resume PartUpload files and Enter Msg over
 Doorcommands: FM_SaveMsgFile and RD_SaveMsgFile, an input string would
 set it's 2000 byte to a zero-byte. But on these procedure the stringlength
 was 1000 bytes or 256 bytes, this causes overwritten memory on
 byte 2000-stringlength after the string. Fixed! Bad Bugs!!! I hate them!

-Fixed so minor probles with stringlength.
 Maybe the Versionstrings were to short.

-Fixed a bug on showing a file. If this file had zero bytes the string, used
 to open the file incl. path, has been displayed instead.

-Maxpages and some other user and level flags wil now be set to zero if a
 user begins as an newuser.
 (Reported by Argon)

-On msg reply the lineprompts no longer have any colours. This speeds up the
 walktrough because of faster scrolling.
 (Reported by Bysis)

26-Jun-95
*********

-Fixed a bug on Doorcommands AR_GetKey and GETKEY.
 Chars won't be read from device.. now they will!

29-Jun-95
*********

-AR_DropDTR and BB_DROPDTR now realy drops also on local login.
 It's handled like F10

30-Jun-95
*********

-Removed Enforcerhits on Download from ASL

03-Jul-95
*********

-New XIM FAME Doorcmd

-Fixed a bug on counting the highest on lowest CPS after filetransfer.
 Until now it normaly wont be written to the user.data.

-On internal upload ULSTATS is now corrected.

-ULSTATS and DLSTATS changed. Now the : is turned into = which makes it
 easier to use ReadArgs with the argumentstring.
 
 example:

 ULSTAT FILES=%ld BYTES=%ld CPS=%ld EFF=%ld HOLDS=%ld MODE=%ld
 ULSTAT<x> FILES=%ld BYTES=%ld CPS=%ld EFF=%ld HOLDS=%ld MODE=%ld

 (Suggestion from Siegel/TRSI)

-New FIM Doorcommand SR_ConnectString to get the whole connectstring.

04-Jul-95
*********

-"F" Command now asks mo more for Filelist no. if there is only 1 directory
 available.
 (Suggestion from Bloodrock/SDC)

-Server's Spywindow input can now be dissabled with a new Gadget in the
 SystemEditor/System/MoreSystem - Window.

-Finaly it's done!!! Server *NOW* realy reacts on it's closegadget!!!
 If a Node can't be started the Server now no longer disables the
 use of the closegadget.
 If a user is online, the server couldn't be closed until all users are
 out of the BBS.

-Online commands like OLC OLD OLG OLS and OLT are now on coders screen
 and favourite texteditor 8)

-Capturing is now available! U can set a CaptureBuffer in the SystemEditor/
 System/MoreSystem - Window. Minimum buffer is 2048 bytes.

-Fixed a bug if spywindow was open and the Server has been closed.

-Spywindow can now be positioned at the workbench and if u use "Save Win"
 from the Server the actual position of the Spywindow will be saved too.

-U can now specify the number of visable lines in the Spywindow if u use
 in the SystemEditor/System/MoreSystem - Window the new gadget for it.

05-Jul-95
*********

-In SytemEditor/Protocols u can now specify the default I/O-Buffer to set
 the buffer for Upload/Download to reduce diskaccess.
 I suggest to use a maximum Buffer of 16kb, else it will interrupt
 a bit, because diskaccess troubles from/or over 32kb.

-In SytemEditor/Protocols u can now specify the default Blocksize to get
 better transferrates (CPS). Beware! Default ist 1024 bytes!
 Please don't change it, because if it's not the same like the Blocksize
 on the userside, there occurs on transfers many errors and lowered the CPS
 down!!! User's default Blocksize is normaly 1024 bytes.

-In SytemEditor/Protocols u can now specify the maximum user Blocksize
 to get better transferrates (CPS). This is the maximum Blocksize that
 can be used for every single user. Maximum is 8192 bytes (8kb) and default
 is 1024 bytes (1kb). U can change it to the maximum, but don't go lower
 than 1024 bytes, because this is the normal xpr Blocksize.

-If a user lost the carrier while he uploades files or while the BBS
 checks the uploaded files, the BBS goes now Off Hook, because of this
 the node will be busy until all files are ready.
 (Noted by Death Angel/SDC)

20-Jul-95
*********

-ReadMsg arguments will now be corectly interpreted!
 U can use arguments: ns (nonstop) + (foreward) - (backward) and a number
 for a directly jump to a msg.
 The arguments can look like here: "r 32 -" or "r 45 + ns" or "r ns"
 and so on... also arguments can be switched:  "r 34 ns" is also "r ns 34"
 Only the third argument can only be ns, not allowed is: "r ns 45 +"

-Fixed a bug on loginprocedure. If a user while he/she logges on drops the
 carrier, or gets dropped the carrier from a door, e.g. a Newuserquest,
 the callerslog and batches won't be updated, now fixed!
 (Noted by Siegel/TRSI)
 
-A newuser now has "prompt" as default on newscann msg.

-Added some returns after prompts to see that all works fine.
 Added on checking flagged files on logoff/relogin, on logoff/relogin
 and download prompt if u use wildcards.

-U can now set the Spy flag on every user. If a user has this flag set on,
 every time he/she calles a capture will be written!

21-Jul-95
*********

-Added on checking flagged files on logoff/relogin for more information
 a small comment on every decision you will do.

-High/Low Cps Up/Down will now be counted also in the conferencedatas.

-I've forgotten to check the timelimit on Downloading files. Now it does
 it right!

-Fixed a bug on reply a msg. If u reply a Msg from another user but you
 abort it on the way and you than reply it again, the toname was nomore
 the same as the first time, now it was yours! Only if you had used the
 again function to reread the haeder it was ok, but no one knows this.
 Now it's fixed!

-Now if an error.log has been written, the old Action string at the Server
 will be restored to the last Action string. It looks silly on transfering
 files and if the FAMEError.FIM door has been executed and as result of
 this the Filename won't be restored. Now it must be ok.
 (Noted by Death Angel/SDC)

27-Jul-95
*********

-Fixed some problems with the argumentparsing on Menucommand "A" FileFlags!
 Now totaly rewritten.

31-Jul-95
*********

-SystemEditor now generates TextLanguage.dat with all Workbench:Locale defined
 countries in it. To update kill FAME:Settings/Language/TextLanguage.dat .

-Server now starts a scriptfile on every Server start.
 Scriptfile has to be located in: FAME:Settings/FAMEStart.bat
 This scriptfile includes all by FAME needed assigns, residents and many more
 user defined actions like RexxMast.

01-Aug-95
*********

-SystemEditor/InternalDoors now includes flags for WHO and OLM.

-MainPart now checks on WHO and OLM for InternalDoors.dat flags.

06-Aug-95
*********

-New menu command "SCRIPT" for user script usage. Not complete until now!

-Bug removed on togling the chat flag from the server.

-Corrected LC and PartUpload handling!

-Changed in MainPart all [0m to [m. This is the same and saves here
 1466 bytes now!

07-Aug-95
*********

-FAME.library v0.1 ready for usage.

-MainPart now uses the brand new FAME.library from Bloodrock/SDC
 Many thanx to Bloodrock!

-Server now uses the brand new FAME.library from Bloodrock/SDC
 Many thanx to Bloodrock!

-SystemEditor now uses the brand new FAME.library from Bloodrock/SDC
 Many thanx to Bloodrock!

09-Aug-95
*********

-New menu command "RA" installed to set console and serial back.
 An complete ansi and scroll borders reset will be done on console and serial.

15-Aug-95
*********

-Changed InternalModules.dat to FAMEModules.dat

-New Item under FAMEModules.dat "ServerInfoLocation" for Info gadget at
 the Server. See also SystemEditor/FAMEModules.
 Executable should be named "ServerInfo".

-New Gadgets under SystemEditor/Nodes/MoreNodes:
 "Display zero bytes" means no Ul/Dl bytes can be lower displayed as zero
 after transfer or internal status, but internal the ULONG will be counted
 real negative. This happens if users have disabled and they are only
 leeching. If the SysOp wishes now bytes lower zero should be displayed
 he has to set this flag! Now all negativ bytes will be displayed as "0".
 "Default OH" means on MainPart shift-F10 or Server close gadget
 ShutDown off hook or not off hook.
 ("Default OH" is srictly for Bloodrock/SDC 8))
 ("Display zero bytes" is srictly for Siegel/TRSI 8))

-New update must be done to do some little changes in the FAME location.
 Start BetaConv1 to do this.

-MainPart, Server and SystemEditor have now realy own, from the Datafile
 Version different, version strings for the Version command, or better
 the version.library, readable.

-Alignement of some internal data structures.

-"Using Door" at the Server Action will now be restored to last Action
 if the Door has finished.

-On moving a file from the Node(x)/PlayPen/ to the Conference/Upload or
 Conference/Hold or the MsgBase after uploading it, the message
 will now be correctly displayed like here descriped:
 
 ...moving File to SysOp's Hold Dir...done!/fail!
                                    ^
                                     \on this position the file will be
                                      moved!

 done! or fail! will be added if the file was successfull/unsuccessfull
 moved!

-New XIM Door command: FM_ClrFileFlgLst installed!

-"Default OH" now active!

-New FIM Door commands: NR_ClrFileFlgLst, NR_ClrFileFlgLsts,
 AR_ResetNumFlags, AR_SetNumFlag, AR_GetNumFlag, RD_InitNumFlag,
 RD_RemoveNumFlag, RD_ResetNumFlags, RD_SetNumFlag and RD_GetNumFlag.

-"Display zero bytes" now active!

16-Aug-95
*********

-Fixed a bug in user script mode, after dir or list ctrl-l for screen clear
 wont work anymore, fixed!

21-Aug-95
*********

-Fixed a bug in FIM command NR_HotKey. Now you will get on cursorkeys form serial
 the same like from console: 'A','B','C','D' .

-New FIM command CF_InternReturnCmd.

31-Aug-95
*********

-MainPart now uses public screens. Feel free to open any window on it,
 maybe for programing doors and tools. If a request has been received
 to close the screen or shutdown the node and a foreign window is open,
 MainPart canceles those requests.

-MainPart screens are now opened with SA_AutoScroll to scroll the screen
 via mouse movement to top positions.

02-Sep-95
*********

-Error messages of start and setup errors of any node will now longer be
 displayed as stdio debuging infos, now an EasyRequester will popup.

-OpenScreenTagList() errors will now also be displayed via EasyRequesters.

-SystemEditor/Door Port Names has now a new member: NodeToolPort
 and should be set to: FAMENodeToolPort

-SystemEditor/Access / Secure/Presets has now a new member: New

-SystemEditor/Access / Secure/Levels/mORE... has now a new member:
 Overwrite Files

-SystemEditor/Node Edit/mORE... has now a new member: Shanghai Windows

-MainPart now loads NewUserPreset.dat on any new user.

03-Sep-95
*********

-"Default OH" will now also be checked on IconifyWindow.

-Fixed a serial bug on internal usered. If a user typed chars while the
 sysop is in the internal usered the serial hangs. Now fixed.

-Serial code expanded. Now always two flags are used to check for
 SendIO's and DoIO actions. I hope the serial bug on fast serial sequences
 is fixed.

06-Sep-95
*********

-RING detecting corrected. Now MainPart should always detect it any time.

-MainPart now opens an EasyRequest to inform the Sysop if he tries to close
 the screen while foreign windows are open.

09-Sep-95
*********

-Fixed a bug in serial data stream.

-Some new inner procedures now restores env status.

-On lost carrier messages the bbs now showes the user some data and ask
 for continue writing on it, deleting it or hold it.

-Fixed a bug on lost carrier messages... a count wasn't reseted.. result:
 after finding a message next conference checkings were worseless...

-SystemEditor/Node Edit/Ser./Mod./Scr. rewritten.

-SystemEditor/Node Edit/Ser./Mod./Scr. has new entries for window size.

-SystemEditor/Node Edit/Ser./Mod./Scr. ScreenModeRequester now lets you
 select AutoScroll.

-Server and MainPart now checks for minimum AmigaOS V37.

-Fixed some bugs in MainPart's ShutDown procedure for saver error handling.

-SystemEditor/Doors has now new Doortypes.

-SystemEditor/Doors now disabbles under AmigaOS > V38 the MX-kind gadgets.
 This feature was switched off, because under V37 dissabling fails.

-SystemEditor/Doors TXT Doortype activated, give a full path and filename
 incl. suffix to let the bbs show a textfile.
 (Note: specially for Siegel/TRSI)

10-Sep-95
*********

             -----------------------------------------------
             MainPart v0.323/Server v0.64/SystemEditor v0.45
             -----------------------------------------------

-SystemEditor/Node Edit/Ser./Mod./Scr. now checks window sizes with
 font size.

-MainPart now uses selected font from SystemEditor/Node Edit/Ser./Mod./Scr.
 (Note: With speciall greetings to Siegel/TRSI)

-New ToolType for SystemEditor: 'NOCHECK' to dissable directory and file
 scan.

-Now SystemEditor uses ReadArgs().
 Template is: 'BBSLOCATION/K,NOCHECK/S,CHECK/S'
 Where 'BBSLOCATION' is the current location of FAME, if no 'BBSLOCATION'
 is set and the ToolType 'BBSLOCATION' isn't set SystemEditor uses as
 default 'FAME:'
 Use 'NOCHECK' to dissable the directory and filescan.
 Use 'CHECK' enable the directory and file scan. Only usable if the
 ToolType 'NOCHECK' is set, because default is 'CHECK'.
 Note: Arguments have a higher priority than ToolTypes.

-Now Server uses ReadArgs().
 Template is: 'IDLE/S'
 IDLE means do not start any node.
 Note: Arguments have a higher priority than ToolTypes.

12-Sep-95
*********

             -----------------------------------------------
             MainPart v0.324/Server v0.65/SystemEditor v0.46
             -----------------------------------------------

-SystemEditor/FileCheckers 'Options' now uses a 100 char array instead
 of 50 chars as before.

14-Sep-95
*********

             -----------------------------------------------
             MainPart v0.325/Server v0.65/SystemEditor v0.46
             -----------------------------------------------

-Forgotten to open diskfont.library for new OpenDiskFont() call.

20-Sep-95
*********

             -----------------------------------------------
             MainPart v0.326/Server v0.65/SystemEditor v0.46
             -----------------------------------------------

-On NewUserPreset new users were validated. Now they are realy newusers
 again.

-On new user entry the american slang 'U' is now written as 'you'.

26-Sep-95
*********

             -----------------------------------------------
             MainPart v0.327/Server v0.66/SystemEditor v0.46
             -----------------------------------------------

-Totaly rewriten Files 'F' and NewFiles 'N'. Now no more crashes.

-Totaly rewritten filestrip procedure. Now no buffers needed anymore.
 Everything is going via pointers.

-Finaly it's done!!!

 Stripped all saveds stuff in MainPart. Now MainPart with new
 FAME.libray is able to be loaded resident into memory.
 You will save lots of memory.

 Beware: It's in betatest state!

27-Sep-95
*********

             -----------------------------------------------
             MainPart v0.328/Server v0.66/SystemEditor v0.46
             -----------------------------------------------

-On MainPart TransferWnd 'Chars Per Sec.' and 'File Position' are
 exchanged.

-Forgotten to close the fifo.library.
 I hate coding on long telephon sessions 8)

28-Sep-95
*********

             -----------------------------------------------
             MainPart v0.328/Server v0.66/SystemEditor v0.46
             -----------------------------------------------

-NR_GetFullArg (FIM) now stripes itself the first space char.
 Example: Old: " Arg1 Arg2 Arg3".
          New: "Arg1 Arg2 Arg3".

-On MainPart TransferWnd 'Elap. Time' and 'Exp. Time' are
 exchanged.

-First Version of FiFo based FAME-Shell aktiv.

-On FIM NR_NumLines and NR_CONNumLines the numlines will now be counted down
 if FAME-Shell is active to the available lines left.
 If the result is lower than 1 it will be set to 1.

05-Oct-95
*********

             -----------------------------------------------
             MainPart v0.329/Server v0.66/SystemEditor v0.46
             -----------------------------------------------

-LostCarrier procedure now fixed to ask for all files after another.

+PartUpload and LostCarrier procedure are now asking first for all
 files and after all files are answered the node begins to continouing
 with upload resume or description part.

+FAME-Shell no aktiv under MenuCommand "Shell". The access to it is level
 depending.
 Beware: FAME-Shell is not complete! It's only the beginning.
         There are maybe some bugs in it. DON'T GIVE OTHER USERS ACCESS!

-Usertime will now be left intakt after uploading files.

07-Oct-95
*********

             -----------------------------------------------
             MainPart v0.330/Server v0.67/SystemEditor v0.47
             -----------------------------------------------

+Server now first looks on starting nodes for the NodeStartPath.
 If it's found the node will be started directly from there, else
 Server looks if the NodeStartPath is a resident name. If it's
 a resident name, Server starts the resident MainPart.
 If nothing matches Server does nothing.

+MainPart is now able to load resident doors.

+SystemEditor/Doors no longer needs the Resident gadget.
 It's now disabled.

+MainPart now first looks on starting doors for the NodeStartPath.
 If it's found the node will be started directly from there, else
 MainPart looks if the NodeStartPath is a resident name. If it's
 a resident name, MainPart starts the resident door.
 If nothing matches MainPart does nothing.
 This is the reason why SystemEditor/Doors/Resident is no longer needed.

+On writing messages, if the selected external editor or fullscreen editor
 wasn't present at the location given in the SYCMD, the node had asked for
 files uploading to a non written message.
 Now fixed. The SYSCMD FULLED and EDITOR will be checked for their
 existance, also the path given in the existing SYSCMD FULLED and EDITOR
 will be checked. If somthing doesn't exists the node now notifies
 it to the user and leads the user into the internal Line Editor instead.

-On Files 'F' and NewFiles 'N' the FileHelp.txt now no more appears if
 only one directory exists in the current conference.

+If the NewScann pointer or the Read pointer is lower than the highest
 message written, they will be set back to the highest message written.

08-Oct-95
*********

             -----------------------------------------------
             MainPart v0.330/Server v0.67/SystemEditor v0.47
             -----------------------------------------------

-Fixed the DefaultOH problem on online F-10 and IconifyWindow gadget:
 DropUser or Exit Node/Door .

+Changed same datafields in the user.data from int to short int.

>Tools must be recompiled using the new mainpart, else all new flags
 used in future will be overwritten.
 See FaRev.18.LZX for new user structure!

09-Oct-95
*********

             -----------------------------------------------
             MainPart v0.331/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+Completely changed the conference data handling of the nodes.
 This changings were a hard work, but the result is also very good.
 First it looks a bit negative, because the conference datas holded in
 memory are needing now for each conference three times more memory as
 before. But it isn't that way. Ok, the memory usage per conference is
 3 times more than before... but let me show you why this saves in real
 more memory than before. Every conference has under
 FAME:Settings/Conferences/ it's own Conf(x).dat which holds all settings
 for each conference and has the size of 1255 bytes. Substract the header
 size of 61 bytes, 1194 bytes are left. Every single node owns a
 bi-directional and two-dimensional conferencelist which exists of the
 needed pointers, conference-user datas of the current user, the
 conference flaglist entry pointer and the most important elements of
 any conference out of the FAME:Settings/Conferences/Conf(x).dat file.
 This is a list and so this list has as many entries as you might
 have conferences, and this multiplicated with number of nodes.

 The size of the conference list is 552 bytes.
 I will do now some mathematics.
 Let's say we have 4 nodes and 16 conferences.

 This means 552 bytes * 16 conferences * 4 nodes

 552 * 16 * 4 = 35328 bytes memory usage.

 From the 552 bytes of the conference, 148 bytes are used for the conference
 datas. But this is only a part of all available conferencedatas.
 The rest must be loaded in a temporary structure every time you change
 the conference. The whole datas for each conference is as showen above
 1194 bytes.

 1194 - 148 = 1046

 1046 bytes of conference datas are not in the conference list but
 located in the temporary conf data and is there not 1046 bytes, it's
 1194 bytes. This means to the 35328 bytes memory usage of our example
 1194 bytes must be added for every node.
 This means 4 * 1194 bytes, because on our example we have 4 nodes.

 1194 * 4 = 4776 bytes additional memory.

 35328 + 4776 = 40104

 40104 bytes are needed for all conference datas in a BBS which has
 4 nodes and 16 conferences.

 But this is the old way... now let's show you the new.

 Now all 1194 bytes will be used in a conference list, because of this
 the temporary structure loadings on every conference change isn't needed
 any longer. Next important change is, because of only reading of conference
 datas the Server now holds the complete list of conferences and gives
 the beginning pointer of the list to each node which could use it to
 read from it all needed conference datas. This means the conference datas
 are no longer holded as many times in memory as you have conferences, now
 it's only one time in memory. The means we only have to multiply the
 whole conference data size with the number of conferences:

 1194 * 16 = 19104

 Now only the list structure size of the confernce list of each node
 which holds the pointer to the new confernce list from the Server,
 the conference user datas and file flag lists, must be added for
 each node. The structure now is 420 bytes and our example has 4 nodes.

 420 * 4 = 1680 bytes must be added.

 19104 + 1680 = 20784 bytes.

 Now the BBS only uses 20784 bytes instead of 40104, this means FAME
 saves now 19320 bytes of memory.

 But that's not all. This all causes that FAME is again a bit faster than
 before. First the nodes on starting, because the conference data loadings
 of alle conference datas located in FAME:Settings/Conferences/Conf(x).dat
 is no longer needed, this does the Server. Because of the fact that the
 Server the conferene datas loads, it's on the one hand faster, because
 the nodes no longer needs to do this and your hard disk no longer cries
 for silence and on the other hand the server is already scanning
 all conferences for existance and secure... and on this the Server loads
 already the conference datas, in this way it's not noticeable to you that
 the Server adds the confernce datas to the list. And finaly the loading
 of conference datas is completly eleminated on changing a conference.

-Forgotten to code RD_GetUserDataLoc now it's done.

11-Oct-95
*********

             -----------------------------------------------
             MainPart v0.331/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+Download procedure now no longer checks for filecomment FREE_DOWNLOAD ,
 it now only checks the first 4 chars for the filecomment FREE.
 Now the comment can be for example fReEfIlE and it would be interpreted
 as a free downlaod file.
 (Suggestion from Siegel/TRSI)

-FIM commands SR_FAMEVersionand SR_FAMEDataFileVers changed.
 Now both takes usage of Data2 and Data3 for their return datas instead
 of using Data1 and Data2. For data return it should be ever used first
 Data2 and Data3, only if 3 return variables are needed Data1 will be used
 too. This is because Data1 is normaly every time the data as flag, command
 or conference number and should be left intact for easy usage, for example
 if you often use AR_SendStr and Data1 is already set to 1 to send a
 LF/CR combination to the node, you can save time and code if you don't
 have to set it erverytime again if you only call between such a Data1
 undepending command like SR_FAMEVersion or SR_FAMEDataFileVers.

+FIM command SR_FAMEVersion now contains in Data2 the version number of FAME
 and in Data2 the revsion number of FAME and no longer the data file
 version number and revsion number. This already does SR_FAMEDataFileVers.

12-Oct-95
*********

             -----------------------------------------------
             MainPart v0.331/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+SystemEditor/Node Edit/mORE... has a new gadget: Relative Conferences .

+MainPart checks now for users access to the rejoin conference he would
 come in on login. If he hasn't access to it any longer, the node tries
 to bring him to the next higher conference he has acces too, if there is
 no next one, the node tries the same with the previous conferences.
 If this also fails, the user hasn't access to any of the availabla
 conferences. In this case the node notifies this to the user and drops
 the carrier... in future version the node also notifies the sysop in
 any now not known way.

+MainPart now also does the same procedure, from one point above, if the
 user gets a new conference access while he is online.
 For better security a future version of FAME will check for dead
 conference access files on generating them.

18-Oct-95
*********

             -----------------------------------------------
             MainPart v0.331/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+SR_ConfNum (FIM) now also gives you the relative conference number
 in Data3.

+Now the changings in FAME for the new conference data system and relative
 conferences are ready. FAME is now working again and this again faster.

+New FIM commands installed for relative conference handling.
 Some RD commands (It's better that t don't write them here down)
 and following NR commands:

 Use NR_GetRelativeStatus to see if this node has relative conferences.
 Use NR_AbsToRel to get the relativeconference number from an absolute (real)
     conference number.
 Use NR_RelToAbs to get the absolute (real) conference number from a relative
     conference number.

 Note to door coder:

 -If NR_AbsToRel returns in Data2 a 0, this means this conference exists,
  but the actual user has no access to it.
 -You can't give to NR_AbsToReland NR_RelToAbs a non existing conference
  number, if you do so, the current conference number will be used for
  action.
 -Use NR_AbsToRel and NR_RelToAbs only if NR_GetRelativeStatus gives you
  a true value back in Data2, if it's false these both door commands are
  wothless, use then the real conference number only.
 -Use the relative conference number only for string outputs to the
  node and *NOT* to load/save any data from disk!!!
 -Use every time you need to load/save datas from disk, like conference
  datas their *REAL* conference numbers and *NOT* the reltaive ones, because
  relative is *NOT* real as you know. For this FAME handles all actions
  and doorcommands with the real (absolute) conference number and displays
  only the relative one to the user if the node should be relative (check
  this out with NR_GetRelativeStatus). You must give on every door command
  which needs a conference number the real conference number, you also
  get only the real conference number on NR_GetConfNum and SR_ConfNum.
  SR_ConfNum gives you additional the reative conference number, but don't
  use it for more than displaying it to the user.

19-Oct-95
*********

             -----------------------------------------------
             MainPart v0.332/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

-Fixed a bug on 'A' file flags in Menu. Because of changing the conference
 data handling, there was a bug with the filenumbers, now fixed.

20-Oct-95
*********

             -----------------------------------------------
             MainPart v0.333/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

-Fixed a bug, caused bei writing the UD.Log. If the node wrotes the first
 time the UD.Log the rejoin conference of this user has got the actual
 date as the new conference name. Because of changing the conference
 data handling, this bug takes effect now. But it's fixed yet!
 (Thanx to Death Angel for his help to find this incredible bug)

-Fixed a bug on message scan. Because of changing the conference
 data handling, there was a bug with rejoin conference. The user was
 always rejoined to the last available conference, now fixed.
 (Thanx to Death Angel who has found and reported this bug on the way on
 finding the bug above)

21-Oct-95
*********

             -----------------------------------------------
             MainPart v0.334/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+Message scanner now no longer continous with next message or conference
 if someone types somthing unknown like: 'xyz'.

+While 'Read Message' and 'Message Scaner' are viewing nonstop messages
 and the user does a ctrl-c now no longer the whole 'Read Message' and
 'Message Scaner' are quiting, now only the nonstop viewing breaks
 and the user is in the prompt to restart nonstop viewing or to use other
 message options.

+MainPart now reacts on FullscreenEditor and ExternalEditor if the user has
 not the right level or a password iss needed and failed. If such a thing
 happens MainPart switches to the internal LineEditor.

23-Oct-95
*********

             -----------------------------------------------
             MainPart v0.335/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

-Fixed a bug on beginning as newuser. Because of changing the conference
 data handling, i've forgotten to allocate memory for a pointer, into which
 all the conference datas will be written first, bofore saving them to
 disk. This causes a hard guru, because writing behind a pointer is not
 realy nice.

-Fixed a bug, also depending on relative conferences. The rejoin function
 for the next call was not valid, because it handles this the old way.
 The given conference number for rejoin was used everytimes as an absolute
 number, but also if the node was relative. Now it always will be converted
 to the right value first.

-Fixed a bug depending on optimizings in the MsgScanner. If you joined
 a conference in which messages were written to you, you would be asked
 for reading them. If you have typed here 'no', you won't got directly into
 the joined conference, you was brought into the msg prompt instead.

-Fixed a bug on read message. If someone has used the argument '-' for
 reverse message reading from current position on, not all messages were
 showen, now it does. If you had used in the read msg prompt '-' everything
 was alright. Now both ways do the same.

+The argument '+' on read message is no longer used in the old way,
 because it's the same like 'r'. 'r +' is the same as only 'r',
 because the direction is default 'forwards'. The only thing happens,
 if you use 'r +' is that the next coming message will be viewed force
 to you. 'r' alone brings you directly into the read msg prompt.

26-Oct-95
*********

             -----------------------------------------------
             MainPart v0.337/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+FIM AR_EmulateFKeyHelp now only will be acepted if the node isn't iconified
 to have more security that no Tool uses this command for other things.

29-Oct-95
*********

             -----------------------------------------------
             MainPart v0.337/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+The Shortcut 'A' for About in MainPart is now changed to '?'.

03-Nov-95
*********

             -----------------------------------------------
             MainPart v0.337/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+If you delete a message on 'R' read message, the next/previous messages
 will be automaticly showed to you, no longer the prompt.
 (Suggestion from Siegel/TRSI)

-Added more security on checking for F-keys. Now only CSI commands will
 be checked for RAW keys like F-keys and no longer ESC-sequences.
 Before this changing a user could emulate a F-key by pressing it's
 seuqence, now he can't do this any longer.

-Fixed a bug on external AbortIO messageport.
 Now on every FIM door the external port will be replyed every time
 and not only on waiting for chars. This means if no door command is
 running now the port will be replied too.

05-Nov-95
*********

             -----------------------------------------------
             MainPart v0.338/Server v0.68/SystemEditor v0.48
             -----------------------------------------------

+On read message prompt the elements "next msg number/max msg number" and
 Direction pointer "Enter->Next" and "Enter->Prev" have now changed their
 positions together.

+So little changes on all msg prompts (Read/Write/Scan) to make them a bit
 shorter.

+Read Msg Prompt now showes only (Quit) if no new message is available
 to read. In this case you can't use Again and Edit, you can only use
 - to read reverse. In this case the last Message will be displayed too.
 Also if you enter 'r 6 -' in the Menu prompt the number 6 will displayed
 now too and not only from 5 on. If you use 'r -' the reader begins
 no longer from the last readen message, he begins now from the last
 available message.

06-Nov-95
*********

             -----------------------------------------------
             MainPart v0.338/Server v0.69/SystemEditor v0.49
             -----------------------------------------------

+Message renewing and diverting (Keep Msg/Other User) now active for
 Read Msg (r) and Message Scan (ms).

+Versionstrings changed to:
 FAME MainPart 0.337 beta (05.11.95)
 FAME Server 0.68 beta (05.11.95)
 FAME System Editor 0.48 beta (05.11.95)
 FAME Hydra 0.2 beta (05.11.95)

-Fixed a bug on download with wildcards. Only the current conference
 has been checked for matches on global download. This failed because
 of the new conference data handling. Now it's corrected and it checks
 on global download all conferences for their own matches

+Local SysOp download now available.
 Set under SystemEditor/System Datas/mORE.../LocalDlPath the path
 for the downloaded files.
 Now just flag files as a user and type 'd' or 'dg' at the menu prompt
 if you are local online.

+Local SysOp download from MsgBase now available.
 Set under SystemEditor/System Datas/mORE.../LocalDlPath the path
 for the downloaded files.
 Now just answer yes if a message has attached files and you are local
 online, all the files will be copied to your download location.

-Fixed a bug on FIM RD_CONStatus and RD_SERStatus.
 If a node was iconified and a door uses RD_CONStatus to toggle the
 console output to on, a crash happens, because of no conwindow
 and console all outputs has been written into not allocatet memory.
 Now if the node is iconified and a door want's to change the flags
 with FIM RD_CONStatus and RD_SERStatus, the door will receive the
 returncode 1 this means request impossible.

+Added more security on console/serial in/output.

08-Nov-95
*********

             -----------------------------------------------
             MainPart v0.339/Server v0.70/SystemEditor v0.49
             -----------------------------------------------

-Fixed a bug in MainPart. I've forgotten to close the opened font if a node
 has been iconified. Only on shutdown the font was closed. The problem was
 on every uniconify the font was reloaded and the valid pointer overwritten.
 Because of this, memory was lost each time a node has been uniconified.
 Now it's fixed.

11-Nov-95
*********

             -----------------------------------------------
             MainPart v0.339/Server v0.70/SystemEditor v0.49
             -----------------------------------------------

+Totaly rewritten flaghandling in config structure, now all bytes and words
 like boolean flag are bits containing in 4 new longs in the FAMEConfig
 structure.

-Fixed a bug on iconify the node which can cause trouble sometimes with
 main menu and gadget layouts, also corrupted memory.

+Added more security on open/close windows via un/iconify and the menu
 and gadgets, because of totaly new rewritten flag handling for window/
 menu/gadget/online/await stats.

+Optimized some code.

-Fixed some illegal code.
 (Illegal, because it does the something at the wrong time (menu)).

13-Nov-95
*********

             -----------------------------------------------
             MainPart v0.339/Server v0.70/SystemEditor v0.49
             -----------------------------------------------

-Fixed a bad bug on starting Nodes from the Server.
 If someone had started a Node on a Server which hasn't started any Node
 until this time and directly after this start, before the Node was finished
 with starting and setting up, if he closed in this time the Server he got
 a good change to get the Server closed. After closing the Server the started
 Node brings an EasyRequest that the ServerPort can't be found. This bug is
 now fixed and the Server can't close until a Node is starting and hasn't
 received an ok from this Node.

 Note: The Server can't be closed if any MainPart started is damaged or not
       a real executable or resident module! The Server first checks for the
       path + MainPart and if this can't be locked the Server looks with
       FindSegment() to load a resident module. If one of those both
       possibilities is fine a flag will be set and the Node gets started,
       but if the started file/module is corrupt or no AmigaOS-program
       there is no MainPart who can delete this flag,

+New menu command: 'INFO' to see the version and revision numbers from the
 Server and all running Nodes. You also will see the time when the Server
 and every single Node was started. For the Nodes you will also see the
 passed hours and mins since their start.

+New FIM door commands: AR_NodeVersion, AR_NodeStartTime, AR_ServerVersion
 and AR_ServerStartTime to get more informations about the whole BBS.

+Red/White swap now active.

+Newusers will now automaticly be asked for Red/White swap.

15-Nov-95
*********

             -----------------------------------------------
             MainPart v0.340/Server v0.70/SystemEditor v0.49
             -----------------------------------------------

-Removed clipboard, because it's just a test jet and brings enforcerhits.

-Changed the user conference access loadings.
 Old was: First the node looks for user number, than for user name and than
 for the conference access defined in the user datas.
 Now is: First the node looks for the conference access defined in the user
 datas, than for the user number, and at last for the user name.

17-Nov-95
*********

             -----------------------------------------------
             MainPart v0.341/Server v0.70/SystemEditor v0.49
             -----------------------------------------------

+Some stuff added for Hydra comunication and more.

+New type of registration.

-Fixed a bug on FIM RD_Iconify. The screen was left open, fixed.

+Added more security on iconify/uniconify.

18-Nov-95
*********

             -----------------------------------------------
             MainPart v0.342/Server v0.71/SystemEditor v0.49
             -----------------------------------------------

+Server showes now in the about window the real registration key (from node0)
 if available.

+MainPart gives the registration key to the Server.

21-Nov-95
*********

             -----------------------------------------------
             MainPart v0.342/Server v0.71/SystemEditor v0.49
             -----------------------------------------------

+CONFERENCE OPTIONS (W 16) now refreshes faster. It uses now a mask
 and updates no longer everything.

+Modem-init-window is now borderless and opens no longer active.
 This is nice if a node resets in the background while the screen is open.

24-Nov-95
*********

             -----------------------------------------------
             MainPart v0.342/Server v0.71/SystemEditor v0.49
             -----------------------------------------------

-Fixed some bugs with signal handling... i had used a global mask ulong.
 This could cause lost signals and overheating ports 8), because on
 a recursively or other procedure waiting of signals in other places there
 had been overwritten the old mask. Now all masks are local...

+Added some Hydra stuff.

28-Nov-95
*********

             -----------------------------------------------
             MainPart v0.342/Server v0.71/SystemEditor v0.49
             -----------------------------------------------

+Added Red/White-Swap now also on FIM and XIM command.

03-Dec-95
*********

             -----------------------------------------------
             MainPart v0.343/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

-Fixed a bug on SystemEditor Screens settings. If someone has copied
 a Screens<x>.dat file by hand the element which is needed to identify
 this data file to it's node depending wasn't changed. This could cause
 that you load the screens for node 3, but that they were saved as
 node 0 for example. Now an intern variable is used to ensure that the
 loaded number is the same as the saved number. Also the node number element
 in the structure will be renewed.
 (Reported by Siegel/TRSI)

06-Dec-95
*********

             -----------------------------------------------
             MainPart v0.343/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

+Enhanced the security and data throughput of xpr transfers.

+Enhanced the security of multiple messages for the Server with a
 dynamicly allocation putmessage function which uses additional
 a fixed allocated message structure to save memory fragmentation.
 (Thanks to Bloodrock/TRSI for inspirate me to this)

-Fixed with the new putmessage function a deadlock of messages
 to the Server, could take effect if the SysOp opens the node screen
 while a transfer is in progress.
 (Reported by Death Angel)

-Hopefully fixed the serial bug with deadlock readings from serial.

             -----------------------------------------------
             MainPart v0.344/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

+New FIM commands: RD_SaveUFlagList, RD_ClearUFlagList & RD_GetUFlagList
 to handle a list of uploaded files after upload procedure.
 (Specialy for Dr.Dre!/TRSI)

09-Dec-95
*********
             -----------------------------------------------
             MainPart v0.345/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

-Fixed a bug on MCI-Interpreter of the MainPart.
 The MCI-commands: ~BN (BBS Name), ~BO (BBS Origin) and ~BS (SysOp Name)
 had had displayed the adresses of the string because of an wrong
 formating code.
 (Reported by Dr.Dre!/tRSi)

-Fixed more bugs in the message system between the Server and the
 MainPart nodes.
 (There were some problems by Death Angel, maybe because of the last
  changes done in the putmessage procedure of MainPart. See: 06-Dec-95)

+Added more security in the message system between the Server and the
 MainPart nodes. Now bit flags are used instead of returncodes to
 indicate the receivings on synchron parts of the MainPart like modem
 initialising, synchron batches and config data readings from the Server
 on the start of each node. Returncodes could cause errors, because of
 multiple messages from the Server at one time.

-Fixed a bug on opening screen. It was possible that the node tries to
 open a already opened screen again if the sysop was klicking endless
 on the node gadget of the Server while the node is starting.

+Now the internal delay function checks for iconify window and the open
 status & commands window too. Mainpart now reacts on those signals in the
 synchron parts of the MainPart like modem initialising and synchron batches,
 for example while the modem initializing window is open you can now iconify
 from the MainPart via iconify window.

-Fixed a bug caused by a very very old and totaly silly procedure which
 removes incomming messages from ports and deletes their signal bits.
 This was realy bad. Because of this there were some messages lost.

10-Dec-95
*********
             -----------------------------------------------
             MainPart v0.346/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

-Fixed a bug in FIM command NR_ThisConfAccess.
 If forgotten to check from element 0 in the array, because of this
 the last conference was everytime not accessable.
 (Bug report by Dr.Dre!/tRSi)

-Fixed a bug in FIM command NR_HotKey. If now char was available this
 command was setting the returncode to 1: "Comand not successfull executed".
 (Bug report by Siegel/tRSi)

11-Dec-95
*********
             -----------------------------------------------
             MainPart v0.346/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

+FIM command RD_SaveMsgFile rewritten to handle all kinds of input text
 messages. It now only copies the message.
 (Suggested by Dr.Dre!/tRSi)

 Data2 now also contains a result code:

 Results are: 0 = Successfull.
              1 = Your given file doesn't exists.
              2 = Can't get conference datas of you given conf number.
              3 = MsgBase lock failed.
              4 = MsgStatus.dat can't be opened.
              5 = MsgHeader.dat can't be opened.
              6 = Filecopy of message failed.
              7 = Your struct MailHeader isn't valid.

+The to FIM RD_SaveMsgFile quivalent XIM command FM_SaveMsgFile now returns
 in Data the same results as in Data2 of RD_SaveMsgFile.

+SYSCMD: ULSTAT<x> has a new argument: HOLDBYTES.
 The argument string will now look like here:
 ULSTAT FILES=%ld BYTES=%ld CPS=%ld EFF=%ld HOLDS=%ld HOLDBYTES=%ld MODE=%ld
 (Suggested by Dr.Dre!/tRSi)

12-Dec-95
*********
             -----------------------------------------------
             MainPart v0.347/Server v0.73/SystemEditor v0.50
             -----------------------------------------------

+SYSCMD: ULSTAT<x> has a new argument: INT.
 The argument string will now look like here:

 ULSTAT FILES=%ld BYTES=%ld CPS=%ld EFF=%ld HOLDS=%ld HOLDBYTES=%ld MODE=%ld INT=%ld

 If INT=1 the upload was a internal one, else if INT=0 a serial transfer.
 (Suggested by Dr.Dre!/tRSi)

+New defines to identify uploads via ULSTAT<x>'s MODE argument:

 #define ULSTAT_UPLOAD_MSGBASE              -1 /* File attach to message   */
 #define ULSTAT_UPLOAD_UL                    0 /* Upload local             */
 #define ULSTAT_UPLOAD_UG                    1 /* Upload global            */
 #define ULSTAT_UPLOAD_U                     2 /* Upload userdata
                                                 depending                 */
 #define ULSTAT_UPLOAD_RZ                    3 /* Upload via Z-Modem
                                                 identifying               */
 #define ULSTAT_UPLOAD_PARTUL_RESUME         4 /* Resuming a part upload   */
 #define ULSTAT_UPLOAD_DOOR                  5 /* Door uses upload command */

+Tooltypes from Server.info and SystemEditor.info BBS_LOCATION are changed
 to BBSLOCATION just like the argument name.

+Server has a totaly new About window.

14-Dec-95
*********
             -----------------------------------------------
             MainPart v0.347/Server v0.74/SystemEditor v0.50
             -----------------------------------------------

-Server:
 Fixed a bug on open About window. About is an asynchron window and isn't
 dependent from the Server main window, but from the screen. If the Server
 was iconified the screen was also be closed an with it the foundation
 of every window of the Server was removed. This means the About window
 has no screen for actions. This is now fixed, the screen will now always
 be open, because it's the workbench screen.

-Server:
 Fixed a bug with the now always open screen. If the Server was started
 iconified and the SysOp had requested to open the Server window, this
 can't be done, because the open screen part was taken away. Now the part
 is again in the procedure, but with a check if the screen is available
 or not.
 (Bug reported by Siegel/tRSi)

-Server:
 Fixed a bug with the gadgets from the About window. Because of the fact
 that those gadgets are moving gadgets they have to be removed and new added
 every time. I've forgotten to read out the window messages. This could
 caused that the About window closes or maybe Mr. guru appears.
 (Bug reported by Death Angel)

15-Dec-95
*********
             -----------------------------------------------
             MainPart v0.348/Server v0.75/SystemEditor v0.50
             -----------------------------------------------

+MainPart:
 After Upload processing procedures totaly new checked and replaced global
 variables with a special structure.

+Global:
 FAME structures changed a bit. Integers are now longs, Booleans are now
 short integers and some longs are changed to unsigned longs.

16-Dec-95
*********
             -----------------------------------------------
             MainPart v0.349/Server v0.75/SystemEditor v0.50
             -----------------------------------------------

-MainPart:
 Internal update because of a special FIM command.
 This one is more a test version.

17-Dec-95
*********
             -----------------------------------------------
             MainPart v0.349/Server v0.76/SystemEditor v0.50
             -----------------------------------------------

-Server:
 Changed the refresh of the About-window for faster refreshing if you
 use the gadgets to change the window contends. Now only changing areas
 will be refreshed.

21-Dec-95
*********
             -----------------------------------------------
             MainPart v0.350/Server v0.76/SystemEditor v0.50
             -----------------------------------------------

-MainPart:
 Optimized spaces to escape sequences, but on a wrong place, the dirlisting.
 Changed it back and the dirlistings are ok again.
 (Reported by Death Angel)

24-Dec-95
*********
             -----------------------------------------------
             MainPart v0.351/Server v0.76/SystemEditor v0.50
             -----------------------------------------------

-MainPart:
 Fixed the double requester on quiting a node if a visitor window was open.

11-Jan-96
*********

             -----------------------------------------------
             MainPart v0.351/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

+MainPart:
 Added more security and controls for Hydra sessions.

+MainPart:
 Enhanced the reply of Messages to be more flexible on quoting lines.
 You can now type x-y instead x,y both is possible. You can now also
 use the '*' in combination: x-* x,* or *-y *,y .

13-Jan-96
*********

             -----------------------------------------------
             MainPart v0.351/Server v0.72/SystemEditor v0.50
             -----------------------------------------------

+MainPart:
 Reorganized Upload and Download procedures to be hydra compatible.

-MainPart:
 Fixed a bug on uploading files via Z-Modem. If the filesize was smaler than
 the block size the file has not gone trough the after upload procedure.

+MainPart:
 Finally finished implementation of FAMEHydra.

+MainPart:
 Changed the "W" command (change user settings).
 The entry "[12] TRANSFER PROTOCOL    : Z-Modem Library" has been removed.
 A new submenu "[18] PROTOCOL OPTS" is created with the following entries:

 [ 1] DEFAULT PROTOCOL
 [ 2] BEGIN UPLOAD
 [ 3] BEGIN DOWNLOAD
 [ 4] MESSAGE ATTACH UL
 [ 5] MESSAGE ATTACH DL
 [ 6] DOOR FILE UPLOAD
 [ 7] DOOR FILE DOWNLOAD

 Here you can select the transfer protocol for different parts in FAME
 transfer.

                           -------------------
                           FAMEHydra.FIM v0.33
                           -------------------

+First beta test version finished.

14-Jan-96
*********

             -----------------------------------------------
             MainPart v0.352/Server v0.76/SystemEditor v0.48
             -----------------------------------------------

-MainPart:
 Disabled "W 14", because it's not ready until now.
 (Reported by Scandic)

-MainPart:
 Fixed a bug if you started nodes uniconified. If a node has been started
 uniconified a flag wasn't set. This causes that the iconify possibility
 wasn't aktiv and the iconify window doesn't appear.
 (Reported by ByteAndi/tRSi)

+MainPart:
 Message base: "Write as reply?" is renamed to "Copy message?".
 (Suggested by Bloodrock/tRSi)

-MainPart:
 Fixed a bug if user setting ASCIIMSG was set to on. If this was on on reply
 the line counter wasn't active.
 (Reported by Siegel/tRSi)

+MainPart:
 Enhanced the reply of Messages to be more flexible on quoting lines.
 You can type x-y instead x,y both is possible. You can also use the '*'
 in combination: x-* x,* or *-y *,y . Now it's more flexible:
 x-* x,* x- x, x* is all the same, *-y *,y -y ,y *y is also the same.
 If the input line is empty it's now the same like *, this means ALL.

+MainPart:
 New submenu "19" in menu command "W" for additional message options.
 From submenu "13" the entries "[ 6] MSG ROOMING" and "[ 7] ASCII MSG"
 are moved into the new submenu "19".

+MainPart:
 In submenu "19" from the menu command "W" there are now two new entries:

 [ 3] QUOTE MESSAGES        <- for automatic complete quoting on replies.
 [ 4] KEEP PRIVATE ON REPLY <- for automatic kepping of the private status
                               on replying a message.

 (Specialy for Bloodrock/tRSi)
 (Suggestion from Bloodrock/tRSi)

             -----------------------------------------------
             MainPart v0.353/Server v0.76/SystemEditor v0.48
             -----------------------------------------------

-MainPart:
 Fixed a bug in Hydra implementation. "DL" and "DG" doesn't work correctly.
 (Reported by Death Angel)

-MainPart:
 Fixed a bug in text view procedure. I've deleted a flag in v0.352, but
 this flag was important. Without this flag MCI text files were degraded
 to Msg-MCI only what means no door start and no message view possibilities.
 This flag is now replaced!
 (Reported by Death Angel)

             -----------------------------------------------
             MainPart v0.354/Server v0.76/SystemEditor v0.48
             -----------------------------------------------

+MainPart:
 Now reading the "ENV:sys/serial.prefs" for serial buffer size, needed by
 some serial cards like the "Vector" card.

15-Jan-96
*********

             -----------------------------------------------
             MainPart v0.354/Server v0.77/SystemEditor v0.48
             -----------------------------------------------

+MainPart:
 Added support for FAMEHydra.FIM to display transfer actions on the Server.

+Server:
 Added support for FAMEHydra.FIM to display transfer actions on the Server.

+Server:
 About window now opens in the middle of your screen, there arn't any longer
 fixed positions.

+Server:
 The two-size-gadget is now available. You can now hide the button bank.

                           -------------------
                           FAMEHydra.FIM v0.34
                           -------------------

+Now brings the transfer actions to the Server.

16-Jan-96
*********

             -----------------------------------------------
             MainPart v0.355/Server v0.77/SystemEditor v0.48
             -----------------------------------------------

-Server:
 Fixed a bug with the new two-size option of the server. If you had positioned
 the Server in minimized state to the screen bottom and than maximized him
 the Window can't maximize, but the internal variable has been set to maximum
 size. This caused a damaged Server window on minimizing again.

-MainPart:
 Fixed some little bugs in "R" read messages which were some backdoors to
 get message trouble.

+MainPart:
 "R" read messages and "MS" message scanner have now two new options:
 "RP" (reply with prompting) and "RN" (reply without prompting).

+MainPart:
 From now on you can reply directly a message on reading it.
 If the pause prompt appears you will see that it now offers "(R)eply".

+MainPart:
 The quoting prompt no longer shows the quote chars and quote examples to
 save some screen space. Now the prompt offers you additional "(?=Help)".
 If you use the questionmark you will see the removed stuff again.
 (Suggested by Siegel/TRSI)

                           -------------------
                           FAMEHydra.FIM v0.35
                           -------------------

-Fixed a bug in hydra source which was a left and forgotten part of the
 original PC-version of Hydra. Hydra doesn't receive files which had
 lower file sizes than 1024 bytes. Hydra received those files, but deleted
 them if the file sizes were lower than 1024 bytes, PC suxx!

20-Jan-96
*********

             -----------------------------------------------
             MainPart v0.356/Server v0.77/SystemEditor v0.48
             -----------------------------------------------

+MainPart:
 Under "W 19" Message options you can now also configure for replying mails
 that the prompt for the message status should no longer appear.

22-Jan-96
*********

             -----------------------------------------------
             MainPart v0.356/Server v0.78/SystemEditor v0.50
             -----------------------------------------------

+Server:
 Server now no longer reads the user buttons from ToolTypes out of the
 Server.info icon. You need to reconfigure the user buttons with the new
 SystemEditor v0.50 under 'Server Settings'.

+SystemEditor:
 In 'Server Settings' you can now configure the user buttons for the
 Server. You can now eleminate the ToolTypes out of the Server.info icon!

+SystemEditor:
 SystemEditor now renembers all actions you did and if you do something
 where datas will be lost SystemEditor now informs you about this via
 an EasyRequest with three choices: 'Save','Don't save'and 'Cancel'.
 If you use 'Save' the SystemEditor saves all datas and continues with your
 selected action. If you klick on 'Don't save' the SystemEditor also
 continues with your selected action, but doesn't saves the datas, they will
 be lost. With 'Cancel' nothing happens... this means it's the same as
 you havn't done something which has released the EasyRequest.

+SystemEditor:
 All restrictions of the old SystemEditor are removed. Now you can select
 as much Nodes or Conferences as you want to. In some cases not everything
 is finished yet, for example the Conference Access settings, but you can
 use it in the old way and the not finished gadgets and actions are
 disabled or will take no effects.

+SystemEditor:
 You can now easy select a Node, Conference or Level by having many
 possiblities to do this, like integer gadgets to type in values directly
 or slider gadgets for available stuff and arrows to walk left/right
 through the numbers and finally the best feature, a like a calculator or
 remote control looking selector window called by gadgets named SELECT.
 In this window you have many possibilities, an integer gadget to type
 values directly, a keyboard for direct values from 1 till 20 and some
 higher ones, a restore original position gadget, a restore last position
 gadget, arrows for one step left/right, arrows for 10 steps left/right
 and arrows for one hundred steps left/right. Most of the gadgets have
 keys (underscores) to active them. You can directly select a numeric
 value by klicking a gadget twice (normal prefs configured double klick)
 and this also works with the depending key, for example klicking twice
 on gadget number 5 or pressing twice the key 5 will close the selector
 window and gives the number 5 to the window which was calling the
 selector window.

-SystemEditor:
 Fixed a bug on 'Screens' settings. On some Nodes the wrong config files
 were saved. This is now fixed with the new SystemEditor.
 (Reported by Siegel/tRSi)

+SystemEditor:
 The main window of the SystemEditor has now keys for gadgets (underscores)
 to activate windows by using the keyboard. Note that this is case sensitive
 unlike other programs having this feature case insensitive. This is
 because the underscores should consequently be available for all windows
 of the SystemEditor. Some gadgets are having this now, but the rest will
 follow too... and there are so many gadgets available on most windows that
 it's needed to have the underscores case sensitive.

+SystemEditor:
 The handling of the Nodes in 'Node Edit' and Conferences in 'Conferences'
 is now much better than before. You can now 'Clone', 'Copy' and 'Get'
 Nodes and Conferences.

+SystemEditor:
 The gadget 'Number of Nodes' in the 'System Datas' settings is no longer
 usable, because the SystemEditor now handles this value itself.

+SystemEditor:
 Optimized much realy old code, something about 10 kb.

+SystemEditor:
 Increase drasticaly the speed of the check option. The SystemEditor
 no checks and creates missing directories and files more than 10 times
 faster, because there were some stupid delays in the code to slow the
 display output down to have a chance to see something in the display
 window, but this is no longer needed, why?
 ...just take a look at the next point:

+SystemEditor:
 Optimized the display window output. Now no longer the space in the
 display will be completely deleted bofore typing the next string into
 it. A new procedure now calculates the string sizes and only refreshes
 realy changing parts. This also eleminates the flashing effect.

+SystemEditor:
 The SystemEditor always asks on checking all directories and system files
 needed by FAME for automatic generating directories and files if something
 is missing and allows you to confirm each single file or directory.
 This was already a feature of the SystemEditor and is no new one, but
 new is that the SystemEditor now uses an EasyRequest with three gadgets
 so you can now select 'Create it for me!', 'Create all!' or 'Abort!'.
 This means you first can take a look what the SystemEditor wants from you
 and than you can tell him everytime that he now should do it alone.
 The first asking EasyRequest has now also three gadgets, new is 'Abort!'
 at this place.

+SystemEditor:
 The doors under the window 'Doors' are now much easier to handle than
 before. If you enters this window the new features are disabled, but if
 you select now a door or change the CMD type via the cycle gadget the new
 useful features are enabled. If you now type the door call name of an
 in this CMD class existing door into the gadget 'Door Call Name', this door
 will automaticly be loaded into the SystemEditor. The next feature is
 if you use after a CMD class changing or door loading the popup gadget
 behind the gadget 'Door Call Name', you will be no longer in the path
 'FAME:Settings/Doors', you will be in the path
 'FAME:Settings/Doors/<actual>CMD'.

+SystemEditor:
 A new gadget 'Menu (Beware)' in the window 'Doors' is available, but i
 think not implemented in the MainPart right now. This is nearly the same
 as 'Internal', but will also start a real menu command, means a door,
 and here is the danger of having deadlocks... be sure that you don't
 call the same command again here.

+SystemEditor:
 There are also other changings in the SystemEditor i've forgotten...
 more small but nice things.. often optimizings... i hope you enjoy
 the new SystemEditor! It was a hard piece of work!

24-Jan-96
*********

             -----------------------------------------------
             MainPart v0.357/Server v0.79/SystemEditor v0.51
             -----------------------------------------------

+MainPart:
 Recompiled for new FAME.library.

+Server:
 Recompiled for new FAME.library.

+SystemEditor:
 Recompiled for new FAME.library.

+MainPart:
 Now more own procedures replaced by FAME.library ones.

                           -------------------
                           FAMEHydra.FIM v0.36
                           -------------------

+Recompiled for new FAME.library.

27-Jan-96
*********

             -----------------------------------------------
             MainPart v0.358/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

+MainPart:
 Read message now reacts on a different message pointer to the actual
 message which should be viewed right now. If the reader is a sysop
 he can continue reading, else this message won't be viewed.
 The level for this is depending on the flag SysOp Read of the level
 settings.

-MainPart:
 Fixed a bug where i've forgotten to unlock a readen message.

01-Feb-96
*********
             -----------------------------------------------
             MainPart v0.358/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

+MainPart:
 New menu command "CLS" for screen clear alternative to ctrl-l.

-MainPart:
 Fixed a bug in MsgBase lock function. It now checks while it tries to lock
 the "MsgBaseLock.dat" if this file exists to create it if it doesn't exists
 and not only one time before going into the loop.

-MainPart:
 Fixed a hard bug in FIM command "RD_SaveMsgFile". There was a string not
 set which is needed to lock the MsgBase. This string is only for the
 MsgBase what means there was no data in or a path to an other MsgBase
 where the user was reading/writing mails before... maybe a totally other
 conference what means that the message was written into a wrong conf.

-MainPart:
 Fixed a second bug in FIM command "RD_SaveMsgFile". The function hasn't
 saved the message if no messages were written before in this conference.
 Now it will.
 (Reported by Dr.Dre!/tRSi)

?MainPart:
 Changed the contends of the "MsgBaseLock.dat" from "Lock!\n" to "FAMELOCK",
 because the FileId.library identifies this files with "Lock!" inside as
 "Disney Animation Studio Anim" what it really isn't 8=).
 Now the FileId.library identifies it as "unknown filetype" and the next
 FileId.library update will identify it as "FAME message base lock file".
 (Reported by Virus Workshop from Flake/tRSi 8=) )

02-Feb-96
*********
             -----------------------------------------------
             MainPart v0.358/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

-MainPart:
 Fixed a bug in "W" change user settings main menu.
 On serial side the user password was visible. Now it's invisible!
 (Reported by Venom/NVX)

-MainPart:
 Fixed three enforcer hits on iconifying the node while it inititalizes the
 modem.
 (I had this one in mind as i saw it once at Siegel/tRSi's board)

+MainPart:
 Enhanched the prompt which appears on read or scan messages if files are
 attached to allow clear screens and the viewing of the description from
 the files attached to a message.
 (Suggestion from Venom/NVX)

+MainPart:
 The message header will now be counted on reading a message to the number
 of lines actual viewed. Now the header no longer scrolls out of the screen.

                           -------------------
                           FAMEHydra.FIM v0.36
                           -------------------

-Fixed some enforcer hits.
 (Reported by Enforcer itself 8=) )

03-Feb-96
*********
             -----------------------------------------------
             MainPart v0.358/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

+SystemEditor:
 FileChecker options string is now 100 chars long no longer only 50.
 (Suggested by Siegel/tRSi)

-SystemEditor:
 Fixed some enforcer hits.
 (Reported by Enforcer itself 8=) )

08-Feb-96
*********
             -----------------------------------------------
             MainPart v0.358/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

-MainPart:
 Shift-F6 at the await screen hasn't started the external User Ed, it
 had started the SystemEditor instead. Fixed!
 (Reported by Venom/NVX)

+SystemEditor:
 Presets select gadget (asl requester) for 'Access Level' now active.

10-Feb-96
*********
             -----------------------------------------------
             MainPart v0.358/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

+SystemEditor:
 Window 'FAME Modules' has three new gadgets: 'FileChecker Location',
 'FileChecker Priority' and 'Checker Err'.
 'FileChecker Location': The location of the FAMEFileChecker tool
                         which is from now a part of FAME.
 'FileChecker Priority': The priority for the FAMEFileChecker tool.
 'Checker Err'         : To configure what shall happen if the
                         FAMEFileChecker fails on startup/initialize:
                         'Continue' : Do without filechecker.
                         'Forbid Ul': No uploading possible.

 NOTE: You have to use the upadte tool 'FAMEModulesDatConv' first!!!
       This one enhances the FAME:Modules/FAMEModules.dat file.

+MainPart:
 Enhanced MainPart so it's now able to start file checkings as background
 processing.

+MainPart:
 Thrown out the code for file checkings.

+MainPart:
 New option in the user settings ('W' command from the menu) under:
 [18] TRANSFER OPTIONS: [ 8] FILECHECK PROCESS.
 You can toggle between: 'BACKGROUND CHECK' (default) and
 'CHECK AFTER TRANSFER'.

 The last one is for those kind of users which want to see what the checker
 is doing on file checking. With this option filechecking is just as it was
 before. With 'BACKGROUND CHECK' the files now will be checked in background
 if a single file has transfered completely. The last file(s) are maybe
 in checking process if you have finished the uploadings. In this case
 the MainPart will notes you about this fact. You can everytime switch
 on the filecheck outputs by pressing a key so you can see what the file
 checker is doing.

 On local upload file checking is forced to check after copying the files.

+MainPart:
+Server:
 MainPart and Server are now using the brand new library function of the
 FAME.library called 'FAMEAvailExe()' which checks the path for the
 FAMEFileChecker, the pathes for doors that will be called, the node
 start pathes and some other pathes if they are vailid. 'FAMEAvailExe()'
 first checks if the path given is a call of a resident program loaded
 into SegList and if not if the path is a direct path to an executable.
 'FAMEAvailExe()' also checks more.

                        ----------------------
                        FAMEFileChecker v0.358
                        ----------------------

+FAMEFileChecker has the same revision as MainPart, that's because it has
 been a part of the MaiPart before so it will begin with the revision
 from the MainPart.

+FAMEFileChecker is available in two versions:
 'FAMEFileChecker_PIPE' and 'FAMEFileChecker_SIMPLE'.

 They are both nearly the same. The first is a realtime checker, means
 if you watch the output it is in realtime, because datas will be read
 by using the PIPE: . The other is more a simple one. It first let the
 checker do their output into a temporry file and if they have finished
 it reads the datas out of this file.
 
 If you have the PIPE: mounted use the PIPE one.
 If you have problems with the PIPE: one use the simple one.

11-Feb-96
*********
             -----------------------------------------------
             MainPart v0.359/Server v0.80/SystemEditor v0.52
             -----------------------------------------------

+MainPart:
 Upload procedure will now check for 0 byte files uploaded. If a 0 byte
 file has been uploaded it will not be given to the FileCheckerProcess,
 because some file checker tools (i've heard somthing like lha and lzx
 too) will guru on 0 byte files.
 (Reported by Scandic/DCN & SieGeL/tRSi)

+MainPart:
 MainPart now informs the user of deleting uploaded 0 byte files.

+MainPart:
 MainPart now informs the user of files uploaded but not found in playpen,
 maybe some tools/doors have deleted/moved them if this happens.
 Later in future this could also happen if the sysop changes online pathes
 of the bbs while a user is uploading files...

-MainPart:
 If you have any internal cmds (BBS/CONF<x>CMD) MainPart v0.358 hasn't
 accepted them, because the new FAME.library function FAMEAvailExe()
 couldn't know of the internal cmd flag. This is fixed now.

13-Feb-96
*********
             -----------------------------------------------
             MainPart v0.360/Server v0.80/SystemEditor v0.53
             -----------------------------------------------

+SystemEditor:
 New directories creating:

 FAME:FileCheck
 FAME:FileCheck/EXAMINE
 FAME:FileCheck/FILECHECK
 FAME:FileCheck/EXAMINE/Storage
 FAME:FileCheck/FILECHECK/Storage

 EXAMINE & FILECHECK are similar to the SYSCMDs EXAMINE & FILECHECK but they
 are no doors. EXAMINE & FILECHECK are directories like your SYS:WBStartup
 where all files in this directories will be executed on background file
 check if a file has been uploaded.

+SystemEditor:
 New gadget in 'File Checkers': 'FileId Extractor'.
 Here you can insert a FILE_ID.DIZ extractor. If the background file check
 process can extract the FILE_ID.DIZ the after upload procedure wont ask
 any longer for the FILE_ID.

 Examples:

 ARC: FAME:FileCheck/ARC e %F %WFILE_ID.DIZ
 DMS: FAME:FileCheck/DMSDescript x %WFILE_ID.DIZ %F
 LHA: FAME:FileCheck/LHA -q e %F FILE_ID.DIZ %W
 LZA: FAME:FileCheck/LHA -q e %F FILE_ID.DIZ %W
 LZH: FAME:FileCheck/LHA -q e %F FILE_ID.DIZ %W
 LZX: FAME:FileCheck/LZX -a x %F FILE_ID.DIZ %W
 ZIP: FAME:FileCheck/UnZip -o %F FILE_ID.DIZ -d %W
 EXE: FAME:FileCheck/EXEDescript x %WFILE_ID.DIZ %F
 TXT: FAME:FileCheck/TXTEXTRACT e %WFILE_ID.DIZ %F

 The examples above will automaticly created if you let the SystemEditor
 create new FileChecker entries.

+SystemEditor:
 With FAME:FileCheck/EXAMINE, FAME:FileCheck/FILECHECK and 'FileId Extractor'
 FAME is able to do all needed checkings and descriptions in background.
 If the FILE_ID is extracted the file can be posted in background into the
 conference. The user can configure if he wants this or not. Also the Sysop
 can configure if he wants this or not.

14-Feb-96
*********
             -----------------------------------------------
             MainPart v0.360/Server v0.81/SystemEditor v0.53
             -----------------------------------------------

+SystemEditor:
 Renamed window titles to the titles of their caller gadgets.
 (Suggestion from SieGeL/tRSi)

+Server:
 Relayouted the About gadgets.
 Now more about gadgets and fileds are available with more informations.

18-Feb-96
*********
             -----------------------------------------------
             MainPart v0.360/Server v0.81/SystemEditor v0.53
             -----------------------------------------------

-MainPart:
 Changed "MesgWrite" to "MsgWrite" in the internal user editor.
 (Reported by SieGeL/tRSi)

-MainPart:
 Changed "donwload" to "download" on sysop download.
 (Reported by SieGeL/tRSi)

-SystemEditor:
 Changed "Doorslog" to "Doorlog" and some other renamings like some
 CANCEL gadgets to BACK gadgets.
 (Reported by SieGeL/tRSi)

+MainPart:
 SYSCMD: QUEST now available direct after a new user had answered MainPart's
 questions.
 (Suggested by SieGeL/tRSi)

+MainPart:
 SYSCMD: QUEST removed, because it already exists but the name is: NEWUSER .

+MainPart:
 If a user begins as a new user now his typed name will be written to the
 Server from the very beginning on, also everytime he changes the name
 on choosing an other one. This will be also done for the location.

-MainPart:
 Fixed some enforcer hits in the internal user editor and with it a bad
 bad bug, because the conference list ponter was invalid on the first
 call of the internal user editor. Also the internal usereditor now handles
 all conferences for a user not only the conferences he has access to.

+SystemEditor:
 New gadget under: Node Edit -> More -> Conf. Preset :

 - Ask for Preset: Internal user editor asks for "Preset on all Confs".
 - No Preset     : Internal user editor don't asks for "Preset on all Confs".
 - Auto Preset   : Internal user editor sets the preset to all confs.

 (Suggested by SieGeL/tRSi)

+MainPart:
 Internal user editor now prompts in newuser mode on pressing "Q/q" or "S"
 if you want to continue with newuser scan or not. Now you no longer need
 to use +/-, but renember that this is possible on newuser scan or match
 scan like "usernna*" with a star as match, here you can use + and - to
 scan forward and backward... also for newuser scan in both directions.
 (Suggested by SieGeL/tRSi)

                           -------------------
                           FAMEHydra.FIM v0.38
                           -------------------

-Removed a bad font code.

                         ----------------------
                         FAMEFileChecker v0.359
                         ----------------------

+Recompiled for new checker structure.

+Version string now indicates PIPE or Simple.

20-Feb-96
*********
             -----------------------------------------------
             MainPart v0.361/Server v0.82/SystemEditor v0.54
             -----------------------------------------------

+MainPart:
 Replaced all AutoRequest() with EasyRequest().

+Server:
 Replaced all AutoRequest() with EasyRequest().

+SystemEditor:
 Replaced all AutoRequest() with EasyRequest().

-MainPart:
 Fixed a bug on serial.

+SystemEditor:
 New gadget in Server Settings: Idle. It's the same as the ToolType IDLE.

+SystemEditor:
 New gadgets in Node Edit -> Ser/Mod/Scr:

 - RAD Boogie  : Highspeed mode for serial devices.
                 Checked is on.
                 Default is on.

 - XDisabled   : Disable XON/XOFF
                 Checked is disabled.
                 Default is disabled.

 - 7Wire       : 7 wire handshake / 3 wire handshake.
                 Checked is 7 wire.
                 Default is 7 wire.

 - Shared      : Shared serial access.
                 Checked is shared
                 Default is exclusive (not checked)

 - Palette/Pens: Opens a screen to set dripens and palette, you will also
                 be able to see how the node would look like.

 NOTE: Please re-configure all your nodes serial settings, because all those
       flags are off, that's because in the data structure unused elements
       are used now for this flags and they are all zero. Please set
       RAD Boogie, XDisabled and 7Wire to on for all your nodes if you update
       to the new FAME. With those three flags on you have exactly the old
       serial configuration from previous versions of FAME.
       If you forget to set those flags you maybe will have problems using
       FAME.

+SystemEditor:
 Protocols window new layouted for 20 xpr libraries.

 NOTE: Please convert the Protocols.dat file!

+MainPart:
 Now uses the serial flags from the SystemEditor -> Node Edit -> Ser/Mod/Scr.

21-Feb-96
*********
             -----------------------------------------------
             MainPart v0.361/Server v0.82/SystemEditor v0.54
             -----------------------------------------------

+MainPart:
 "W" command menus changed a bit to have single toggling flags in fast
 layout what means if you change a flag with two possibilities, no selection
 menu is used and for this only the flag toggles without redrawing the whole
 screeen.

+MainPart:
 "W 18" menu enhanced to handle the new variable xpr protocols.
 Please tell your users to re-configure their protocol settings.

+SystemEditor:
 Some changings on the new layout of the protocol window.

22-Feb-96
*********
             -----------------------------------------------
             MainPart v0.361/Server v0.82/SystemEditor v0.54
             -----------------------------------------------

+Server:
 Chat flag now toggles again if from MainPart the chat flag will be changed.
 This was a fault because a datafield was declared as ULONG and not LONG
 for the Node number.

+MainPart:
 The chat flag on Status & Commands window now toggles while this window is
 open if from the Server the chat flag will be changed.

25-Feb-96
*********
             -----------------------------------------------
             MainPart v0.361/Server v0.82/SystemEditor v0.54
             -----------------------------------------------

+MainPart:
 Now all prompts will be interpreted as MCI command strings what means
 the SysOp is now able to define default prompts with MCI commands too.

+SystemEditor:
 Node Edit: All prompts are now enhanced up to 256 bytes space.
            This is needed to write MCI sequences into them.

 NOTE: please convert the Node data files.

+SystemEditor:
 New gadget under Node Edit: Menu Prompt. The SysOp is now able to generate
 his own default menu prompt for each Node and this with MCI commands.

+MainPart:
 Now able to use 20 different xpr libraries.

+MainPart:
 Now Hydra allow/forbid flags will be used.

+MainPart:
 User config: "[18] TRANSFER OPTIONS" item: "FILECHECK PROCESS" is now
 number [ 9] and no longer [ 8].

+MainPart:
 User config: "[18] TRANSFER OPTIONS" has a new item:
 "[ 8] USER XPR BLOCK SIZE" where users can configure their own xpr block
 sizes to get a higher performance on file transfers depending on
 users <-> bbs line quality.

 Note: Both sides (sender and receiver) must have the same block size.

+MainPart:
 User Block Size now available.

+MainPart:
 Changed a bit the layout of the internal usereditor to have space for
 a new option: (TAB)ConfAccess for individual user conference access.

-MainPart:
 Fixed a list error in the internal usereditor under (C)onfs.
 It was overriding the maximum and minimum conf pointers.

26-Feb-96
*********
             -----------------------------------------------
             MainPart v0.361/Server v0.82/SystemEditor v0.54
             -----------------------------------------------

+MainPart:
 Fixed some bugs in the internal user editor.
 I had used the current conf pointer in the user ed, but this was a fault,
 because if someone was setting a preset or editing in the conference
 user datas the user wasn't any longer in the conference the usered was
 started, he was in the last conf used by the usered.
 This is now fixed with 4 bytes more memory local on the stack for a fresh
 temporr pointer.

27-Feb-96
*********
             -----------------------------------------------
             MainPart v0.361/Server v0.82/SystemEditor v0.54
             -----------------------------------------------

+MainPart:
 Internal user editor's new option: "(TAB)ConfAccess" is now available.
 You will jump into a screen where you can now configure the individual
 conference access for a user. If you jump into this screen the first
 20 available conferences will be displayed and all conferences with a
 star "*" flag before are accessable for this user.

 You can jump into the next/previous 20 conferences if available.

 This user access editor will generate individiual conference access
 data files for each user you edit with this new option and if you save the
 settings from here. If you jump into this screen the current conference
 settings will be loaded. Now you can configure the conference access flags.

 On saving them an individual data file will be created in:
 "FAME:Settings/Access/Conferences" under the users slot number!
 This will look like: "FAME:Settings/Access/Conferences/1.dat" for example
 and the old conference access name in the userdatas will be renamed to
 the slot number... in the above example it would be: "1".

 (Suggestion from Scandic/DCN & SieGeL/tRSi)

28-Feb-96
*********
             -----------------------------------------------
             MainPart v0.362/Server v0.83/SystemEditor v0.55
             -----------------------------------------------

+SystemEditor:
 New gadget: "System Datas -> MORE -> SpyWnd SizeGad".
 If this flag is set to on, the spy-window of the server will now contain
 a size gadget to let you resize the window.

+Server:
 All spy-window positions can now be saved. If you resize the window
 ("System Datas -> MORE -> SpyWnd SizeGad" on!) and save the window positions
 with a width smaller than 640 pixels and toggle now the SpyWnd SizeGad off
 the Server will automaticly resize it to 640. This is because for full line
 display you need the size of 640 pixels and with "SpyWnd SizeGad" on this
 will be more than 640 and you have to use Overscan on your wb, now you can
 decide yourself: If you have overscan or a gfx-board turn "SpyWnd SizeGad"
 on, else it would be better to turn it off.

+Server:
 Spy-window is now simple refresh and will be refreshed on resizing it.

+Server:
 Spy-window's zoom gadget now zooms between maximum size and configured size.

+Server:
 Spy-window now displays a centered message if the node awaits a call.

 (More times suggested by SieGeL/tRSi... here it is 8) )

-MainPart:
 Fixed a hard bug in the new internal usereditor option: "(TAB)ConfAccess":
 On next pages the text was displayed wrong and you can't go back to prevoius
 pages.

29-Feb-96
*********
             -----------------------------------------------
             MainPart v0.362/Server v0.83/SystemEditor v0.55
             -----------------------------------------------

+MainPart:
 Now more informations available if something failed on the start of the
 FAMEFileChecker.

 (Scandic, you can now give me a more detailed error report!)

-Server:
 Put the LastAction field out of the Server config structure into the
 Node list structure to have a real restoring of the action string in the
 Server. First it was only one fixed variable for all nodes which could
 cause worng action strings now it's in the list.

+Server:
 New Node list structure element: LastActCmd to restore the last used
 ActionCmd if the last action string will be restored. This is important
 else the action string was not depending to the action define number.

01-Mar-96
*********
             -----------------------------------------------
             MainPart v0.362/Server v0.84/SystemEditor v0.55
             -----------------------------------------------

+Server:
 Changed some old code with a FAME.library call.

03-Mar-96
*********
             -----------------------------------------------
             MainPart v0.363/Server v0.84/SystemEditor v0.55
             -----------------------------------------------

+Server:
 Changed some old code with a FAME.library call.

+Server:
 Server now creates a semaphore called: "FAMESemaphore".
 With this semaphore you are able to access to a list for all nodes
 with informations about the node, userdata pointers and Server.
 The structure will be enhanced and MainPart must enter some datas
 into the list, before the structures will be released.

-MainPart:
 Hopefully removed a bug which has caused that the MainPart wouldn't
 start the FAMEFileChecker. There was a problem with the new protocol
 selection. Now the RemoveFileChecker procedure is more flexible and
 removes the FAMEFileChecker flag which has caused the FAMEFileChecker
 abort in every case.
 (Reported by Scandic/DCN)

+MainPart:
 CreateFileChecker procedure now first tries to kill a maybe (false) running
 FAMEFileChecker process and tries to start the FAMEFileChecker again
 before it aborts the transfer procedure.

+MainPart:
 SystemEditor -> FAME Modules -> Checker Err gadget setting is now used
 if the FAMEFileChecker start failes (above point) or on one of the 4 other
 fail possibilities: AllocVec() fail, FAMEAvailExe() check fail,
                     SystemTagList() fail and FAMEFileChecker not responses.

 Continue (default) : Forget the extern FAMEFileChecker process, continue
                      and use the internal functions and SYSCMD's instead.
 Forbid Ul          : No upload allowed, also no download with Hydra.

04-Mar-96
*********
             -----------------------------------------------
             MainPart v0.364/Server v0.84/SystemEditor v0.56
             -----------------------------------------------

-MainPart:
 Removed a bug with the msgbase where ALL and EALL messages were checked
 as they were users.

-MainPart:
 Renamed Krypt into Crypt in the message header and some other places in
 the lineeditor.

 (Reported by Scandic/DCN)

-MainPart:
 Fixed an optical bug in the Front-Who with the node numbers if there were
 more than 9 nodes.

 (Reported by Scandic/DCN)

-SystemEditor:
 Fixed an optical bug in Server Settings.
 "User Button Commands" was wrong placed.

 (Reported by Scandic/DCN)

05-Mar-96
*********
             -----------------------------------------------
             MainPart v0.364/Server v0.84/SystemEditor v0.56
             -----------------------------------------------

-MainPart:
 Renamed "SYSOPCOMENT" to "SYSOPCOMMENT" in user options menu
 "[17] COMMUNICATION OPTS".

 (Reported by SieGeL/tRSi)

-MainPart:
 Replaced "U" to "YOU" in user options menu "[17] COMMUNICATION OPTS".

 (Reported by SieGeL/tRSi)

+MainPart:
 Enhanced the Menu command "H" (Help) prompt with: ",(Enter)->to leave help".
 New prompt looks like:

 "Needing Help on what? (?)->List,(Enter)->to leave help>:"

 (Suggestion from SieGeL/tRSi)

06-Mar-96
*********
             -----------------------------------------------
             MainPart v0.364/Server v0.84/SystemEditor v0.56
             -----------------------------------------------

+MainPart:
 Changed "VER" to be up to date.

 (Suggestion from SieGeL/tRSi)

                        ----------------------
                        FAMEFileChecker v0.360
                        ----------------------

-Forgotten to recompile as MainPart config structure has changed a bit.
 The result was a wrong goodfile flag offset at on non background checks.
 Only background file checked files were having the right file state flag
 in the directory lists, because their goodfile flag was taken out of the
 from the FAMEFileChecker generated list.

 (Reported by SieGeL/tRSi)

                           -------------------
                           FAMEHydra.FIM v0.39
                           -------------------

-Recompiled for new MainPart config structure.
 A little bit late, but here it is.
 The old version causes node shutdowns.

 (Reported by Scandic/DCN)

08-Mar-96
*********
                        ----------------------
                        FAMEFileChecker v0.361
                        ----------------------

-FAMEFileChecker PIPE could hang if the filechecker used for testing a file
 was not available, maybe a wrong location could caused this.
 FAME.library's FAMEAvailExe() is now used to check if the checker is an
 executable/resident else the file won't be checked.

                           -------------------
                           FAMEHydra.FIM v0.40
                           -------------------

+Now the auto download string "^XcA\\f5\\a3^Xa" will be send if a user
 uses FAMEHydra with download and files are selected.

 (Suggestion from Death Angel, Scandic/DCN and all their users)

09-Mar-96
*********
             -----------------------------------------------
             MainPart v0.365/Server v0.85/SystemEditor v0.57
             -----------------------------------------------

+MainPart:
 New SYSCMD: MAILHEADER as a replacement for the internal mail header on
 reading messages.

 Example door + source available.

 (Suggestion from Scandic/DCN)

-MainPart:
 Changed all "LosCarrier" strings to "LostCarrier"

 (Reported by Scandic/DCN)

-Server:
 Changed all "LosCarrier" strings to "LostCarrier"

 (Reported by Scandic/DCN)

-SystemEditor:
 Changed all "LosCarrier" strings to "LostCarrier"

 (Reported by Scandic/DCN)

-------------------------------------------------------------------------------

Note: "LosCarrier" strings are changed to "LostCarrier" this includes
      the conference directories!!! Please rename them.

10-Mar-96
*********
             -----------------------------------------------
             MainPart v0.365/Server v0.85/SystemEditor v0.57
             -----------------------------------------------

-MainPart:
 Intern usered's new option "ConfAccess" wasn't changing the alias string
 in the data file to the new user number generated access on saving,
 now it does. Any questions? 8)

+SystemEditor:
 Four new arguments to remote control the new SystemEditor:

 CREATE/S      : Creates all non existing FAME depended directories and files
                 without requesters asking for this. Overrides NOCHECK/S.
 JUMP/N        : Diverting directly into a window, window numbers defined
                 in "include:FAME/FAMEDefine.h".
 WINCLOSEQUIT/S: On closing the active window all other previous windows
                 will be closed automaticly and SystemEditor ends.
 LOADFILE/K    : Load a data file into a specific window (open with JUMP/N)

 JUMP/N possibilities:
 ~~~~~~~~~~~~~~~~~~~~~
  /* SystemEditor window direct defines (JUMP argument) */

 #define	SYSED_WND_Main              0
 #define	SYSED_WND_SystemDatas       1
 #define	SYSED_WND_MoreSystemDatas   2
 #define	SYSED_WND_ServerSettings    3
 #define	SYSED_WND_NodeEdit          4
 #define	SYSED_WND_SerModScr         5
 #define	SYSED_WND_MoreNodeEdit      6
 #define	SYSED_WND_Conferences       7
 #define	SYSED_WND_AccessSecure      8
 #define	SYSED_WND_Levels            9
 #define	SYSED_WND_MoreLevels        10
 #define	SYSED_WND_ConferenceAccess  11
 #define	SYSED_WND_Presets           12
 #define	SYSED_WND_Activities        13
 #define	SYSED_WND_Doors             14
 #define	SYSED_WND_rESERVED1         15
 #define	SYSED_WND_rESERVED2         16
 #define	SYSED_WND_InternalDoors     17
 #define	SYSED_WND_ComputerTypes     18
 #define	SYSED_WND_ModemTypes        19
 #define	SYSED_WND_Screens           20
 #define	SYSED_WND_FileCheckers      21
 #define	SYSED_WND_TextLanguage      22
 #define	SYSED_WND_uNuSED1           23
 #define	SYSED_WND_FAMEModules       24
 #define	SYSED_WND_ExternModules     25
 #define	SYSED_WND_UserFileBase      26
 #define	SYSED_WND_Protocols         27
 #define	SYSED_WND_DoonError         28
 #define	SYSED_WND_DoorPortNames     29
 #define	SYSED_WND_uNuSED2           30
 #define	SYSED_WND_uNuSED3           31
 #define	SYSED_WND_About             32

 LOADFILE/K possibilities:
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 Node Edit  : <Node number>.
 Conferences: <Conference number>.
 Levels     : <Level number>.
 ConfAccess : <Conf access data file>.
 Presets    : <Preset number (-1 = new user preset = default)>.
 Doors      : <Door data file + complete path>.
 Screens    : <Node number>.
 FileChecker: <Checker data file name (extension)>.

 Example: We want to jump directly into Node 2 -> Serial/Modem/Screen window
          on closing the Serial/Modem/Screen window SystemEditor shall end.

 11.Shell:> SystemEditor JUMP=5 WINCLOSEQUIT LOADFILE=2

11-Mar-96
*********
             -----------------------------------------------
             MainPart v0.365/Server v0.86/SystemEditor v0.57
             -----------------------------------------------

-Server:
 Removed enforcer hit which apeared if ToolType "CX_POPUP" wasn't found.

+Server:
 New ToolType and cli argument "AUTOASSIGN" added.
 With "AUTOASSIGN" you no longer need the "FAME:" assign in your user-startup
 or wherever it is.
 "AUTOASSIGN" needs the ToolType "BBSLOCATION" which must point to an existing
 path like: "BBSLOCATION=DH1:FAME/".
 After Server has successful assigned "FAME:" to the path set with
 "BBSLOCATION" the Server uses now "FAME:" instead the path set with
 "BBSLOCATION".
 This shows why you must set a complete existing path and not the maybe
 unassigned "FAME:" assign, because "Assign FAME: FAME:" won't work if "FAME:"
 isn't assigned.

+Server:
 Server now checks if the must assign "FAME:" is assigned.
 If not Server will pop up an EasyRequest and ends.
 "AUTOASSIGN" will be checked and if available used to assign "FAME:"
 before checking for "FAME:".

12-Mar-96
*********
             -----------------------------------------------
             MainPart v0.366/Server v0.86/SystemEditor v0.57
             -----------------------------------------------

+Server:
 Enhanced the About window (Beta Testers): Turbo has now (NVX) in the name.

+Server:
 Enhanced the About window (Beta Testers): New beta tester: Crash!.

-MainPart:
 Fixed a hard bad bug on the error handling.
 There were allocated only 10 bytes of memory needed to build the argument
 string for calling the error door on any error that occours.
 In some cases there will be needed some bytes more and therefore MainPart
 was writing into memory!
 Especially in the shutdown error handling of the Mainpart, if something on
 the start of the Node fails the argument string could have theoretically
 a maximum length of more than 50! bytes. That's the reason why MainPart
 caused gurus if on start something failed like a non available library.

13-Mar-96
*********
             -----------------------------------------------
             MainPart v0.366/Server v0.86/SystemEditor v0.58
             -----------------------------------------------

-MainPart:
 Found a very very bad security bug!
 It was possible for users to add as much different separators before the
 file name to flag as space was left, normally 30 chars, because of
 this the user was able to download EVERY file from the device the actual
 conference is located.

 Example:
         
 "///user.data" was added to the upload path "FAME:Conferences/Amiga/Upload/"
 for example.

 Result: "FAME:Conferences/Amiga/Upload////user.data"

 The AmigaDOS is making out of such a string: "FAME:user.data".

 Now in this version directly before the download all flagged files will
 be checked for such separators before they can be downloaded.
 This makes also sure that no door is able to add such a file with
 separators to the flag list.

 If such a file will be found MainPart notes you about that and deletes
 this flagged file from the file flag list.

 Next MainPart release will also check for such separators directly
 on download prompt, it also will write a note into the Callers.log
 if such a file will be tried to flag.

+SystemEditor:
 Just recompiled for more security, because of new compiled gst file.

14-Mar-96
*********
             -----------------------------------------------
             MainPart v0.366/Server v0.87/SystemEditor v0.58
             -----------------------------------------------

-Server:
 Fixed a bug where some temporr flags wasn't set to a default value,
 this causes some random effects on argument/ToolType handling of the
 new Server. In some cases the nodes were started idle in some other
 cases not, independent from the settings.

-Server:
 "FAME:" must assign check was only checking for assigns, now it also
 checks for volumes and devices.
 (Reported by Scandic/DCN)

17-Mar-96
*********
                -----------------------------------------------
                MainPart v0.367/Server v0.88/SystemEditor v0.59
                -----------------------------------------------

+MainPart:
 Now on download file flag check, download file flag prompt and
 local download MainPart checks for separators. If separators
 will be found the flag will be deleted or the MainPart won't let flag
 those files and notifies the user about this.

+MainPart:
 All flag files with separators found in the name will be written into the
 Callers.log. Example: 'FLAGGED FILE WITH SEPARATOR(S) FOUND: ///user.data'

+MainPart:
 Some potential Enforcer hits removed. There weren't any hits, but there
 could.

+SystemEditor:
 Directory 'FilesNot' located in FAME: is no longer needed. Delete it!

+SystemEditor:
 FilesNotAllowed is now a text and no longer a path.
 Example: 'FAME:FilesNotAllowed.txt'
 Put all your restricted files in here. Those files can't downloaded.
 To have a higher security write 'RESTRICTED' into the file comment of
 the important files like user.data, because some doors also check for
 this file comment.

+MainPart:
 FilesNotAllowed and NamesNotAllowed will now no longer be loaded once
 on the Node start, they will now be loaded if needed.
 Because of this it's possible to add/remove files/names of those text
 files while the FAME is online.

+MainPart:
 Menu item name 'Iconify' renamed to 'Fast Iconify'.

+MainPart:
 In Status&Command window the gadget 'KickUs' renamed to 'HangUp'.

+MainPart:
 Removed some unused dead code and variables.

+SystemEditor:
 New gadget SystemEditor: -> System Datas -> Auto Restrict.
 When set FAME will automaticly set on all files it creates the filecomment
 'RESTRICTED'.  With 'RESTRICTED' FAME and some doors forbid to download
 this file.

+Server:
 Auto Restrict active.

+MainPart:
 Auto Restrict active.

+SystemEditor:
 Auto Restrict active.

18-Mar-96
*********
                -----------------------------------------------
                MainPart v0.367/Server v0.88/SystemEditor v0.59
                -----------------------------------------------

+MainPart:
 FAMESemaphore completed and available.
 See 'include:FAME/FAMEPublicStructs.h': 'struct FAMESemaphore' and
 'struct FAMEInfoList'.

+MainPart:
 FAMESemaphore FAMEInfoList -> fili_BitFlags: FILI_USERSAVELOCK
 will now be checked on writing the user datas of the current user back.
 This is used for a lock mechanism to write user datas from an external
 program while a user is online.

+MainPart:
 Xpr library procedures are supporting now the new file upload/download
 and cps upload/download variables needed for FAMESemaphore.

+MainPart:
 FIM command: 'NR_XferProt' now no longer obsolete.

+MainPart:
 Gadgets: SystemEditor -> System Datas: 'UserData/Key Path',
 'UserData Name' and 'UserKeys Name' will be used from now.

 If the string length of 'UserData/Key Path' is lower than two bytes
 or the string length of 'UserData Name' / 'UserKeys Name' is lower than
 1 byte, MainPart uses as default:

 'BBS Location Path' + 'user.data' / 'user.keys'.

+Server:
 Gadgets: SystemEditor -> System Datas: 'UserData/Key Path',
 'UserData Name' and 'UserKeys Name' will be used from now.

 If the string length of 'UserData/Key Path' is lower than two bytes
 or the string length of 'UserData Name' / 'UserKeys Name' is lower than
 1 byte, Server uses as default:

 'BBS Location Path' + 'user.data' / 'user.keys'.

+SystemEditor:
 Replaced strncpy() with FAMEStrCopy().

                             ----------------------
                             FAMEFileChecker v0.362
                             ----------------------

+Recompiled for new structures.

                              -------------------
                              FAMEHydra.FIM v0.41
                              -------------------

+Supports now the new file upload/download and cps upload/download
 variables needed for FAMESemaphore.

20-Mar-96
*********
                -----------------------------------------------
                MainPart v0.368/Server v0.88/SystemEditor v0.59
                -----------------------------------------------

-MainPart:
 Fixed a bug resulting from a change (17-Mar-96) where the
 FilesNotAllowed and NamesNotAllowed files will be no longer loaded
 once. A buffer was used twice resulting from the change done on the
 17-Mar-96. If a new user was logging on the typed name was overwritten.

21-Mar-96
*********
                -----------------------------------------------
                MainPart v0.368/Server v0.88/SystemEditor v0.59
                -----------------------------------------------

                              -------------------
                              FAMEHydra.FIM v0.42
                              -------------------

-Removed an Enforcer hit if FAMEHydra was called from CLI without arguments.

-FAMEHydra was not giving all resources free if it was called from CLI.

22-Mar-96
*********
                -----------------------------------------------
                MainPart v0.369/Server v0.88/SystemEditor v0.60
                -----------------------------------------------

+SystemEditor:
 New 'More Level' options: EditMessages, KeepOtherMail and OthUsOnOtherMsg
 for the SysOp control of the message base:

 - EditMessages   : Edit foreign mail.
 - KeepOtherMail  : Keep foreign mail.
 - OthUsOnOtherMsg: Divert foreign mail to a other user.

+MainPart:
 EditMessages, KeepOtherMail and OthUsOnOtherMsg available.

-MainPart:
 'switched off!' renamed to 'Switched off!'.
 'Rooming off' renamed to 'Rooming On/Off'.

+SystemEditor:
 Directory 'FAME:FileCheckers/EXAMINE' is now 'FAME:FileCheckers/FILEIDENT'.

+SystemEditor:
 New directories will be created:

 'FAME:Node<x>/NodeBatches/LogoffBatches/Storage'
 'FAME:Node<x>/NodeBatches/LogonBatches/Storage'
 'FAME:Node<x>/NodeBatches/ShutDownBatches/Storage'
 'FAME:Node<x>/NodeBatches/StartBatches/Storage'

23-Mar-96
*********
                -----------------------------------------------
                MainPart v0.369/Server v0.88/SystemEditor v0.60
                -----------------------------------------------

-MainPart:
 Fixed the join conf < - left and > - right commands.
 On arguments like texts and higher numbers the Node rejoins the same
 conf again if you were on the last or first conf.

+MainPart:
 Now nearly every string input prompt is editable with cursor keys.
 I've changed everywhere the flag to allow the editing of string
 input prompts where the input maximum limit is higher than one char
 and where the prompt is no password prompt which will hide the input
 to the user.

 (Suggestion from SieGeL/tRSi)

-MainPart:
 Finally fixed the bad newline problem from the new mail/file scanner!
 YeahhhhhhhhhHHHHHHHH!!!!

-MainPart:
 Fixed some optical bug in the message base and the scanner.

-MainPart:
 Scanner now doesn't continue if you type something wrong in the message
 scan prompt if you are at the last mail in a conference.

-MainPart:
 Fixed a problem with the message base on diverting a mail and a user
 doesn't exists. There were some msgbase errors.

-MainPart:
 Now raises the message written for external message editors.

-MainPart:
 File after upload handling could hang if the sleep timeout has been reached
 or if in some positions the carrier was loss. MainPart now drops directly
 the carrier if it receives the sleep timeout. Files with too long file names
 and files with no descriptions will now be skipped to prepare the next
 file, because this one could have a description and a not too long file
 name. All untreated files will be moved as lost carrier files.

 (Reported by Scandic/DCN)

-MainPart:
 Fixed a bug with resuming of files. On resuming files MainPart was sending
 the filecheck request twice to the FAMEFileChecker process for each
 resume file. This was because xprzmodem.library is testing for a file
 existance with xpr_fopen() and xpr_fclose... what a bad way!
 However checking the file twice would have to result that you have two
 files checked in the result status of the FAMEFileCechker, but more bad
 was that the file was tried to check while it's not complete.
 This had to result that the file was marked as bad and wasn't posted.
 A internal flag must be used now to manage this.

 (Reported by Scandic/DCN)

-SystemEditor:
 Fixed a bug with the asl requesters i havn't seen because of RTPatch.

 (Reported by SieGeL/tRSi)

+SystemEditor:
 On cloning, copying, getting and deleting a Node the Screen datas of the
 affected Nodes will no longer be forgotten.

+SystemEditor:
 The directory Bulletins will no longer be created on saving a conference.

 (Suggestion from elgun)

-MainPart:
 Fixed a bug on new user entry. New users were droped after they have
 answered the questions. No chance for the SYSCMD 'NEWUSER'.
 There was a semicolon ';' wrong posted after a if() like: if(); <-.

                              -------------------
                              FAMEHydra.FIM v0.43
                              -------------------

-The Callers.log and also the UD.log was wrong written. Now it's corrected!

 (Reported by Scandic/DCN)

-If only one file was uploaded and skipped the Node wasn't noting the
 user about this. Now it will.

24-Mar-96
*********
                -----------------------------------------------
                MainPart v0.369/Server v0.89/SystemEditor v0.60
                -----------------------------------------------

-MainPart:
 On newuser entry the 'USERSLOT:' was wrong written to the Callers.log.
 It was always the slot number of the user who was last on.

 (Reported by SieGeL/tRSi)

-MainPart:
 On newuser entry if the first user in system (sysop) was entering his
 account, the Callers.log was not completely written. There was no
 ONDATE, ONTIME ...

-MainPart:
 Internal UserEditor -> More. Some switches were writing wrong outputs
 like ON/OFF instead of NORMAL/FAST as an example for Goodbye.

-MainPart:
 It was possible to write mails to inactive and deleted users if
 no '*' wildcard has been used.

+MainPart:
 FIM command RD_SaveMsgFile is now able to let you attach a file to the
 message.

-SystemEditor:
 Internal Doors Save gadget was inactive!

 (Reported by SieGeL/tRSi)

-SystemEditor:
 Access / Secure -> Levels: After saving a preset and clicking on CANCEL
 the Notification appears telling you that you have changed something.
 Fixed now.

 (Reported by SieGeL/tRSi)

                             ----------------------
                             FAMEFileChecker v0.363
                             ----------------------

+Recompiled for new structures.

26-Mar-96
*********
                -----------------------------------------------
                MainPart v0.370/Server v0.89/SystemEditor v0.60
                -----------------------------------------------

-MainPart:
 Because of the last changing in the after upload procedure a pointer
 on the stack leaves uninitialised. This causes that in some cases of
 upload types the after upload procedure was skipped i.e. local upload
 move.

 (Reported by SieGeL/tRSi)

30-Mar-96
*********
                -----------------------------------------------
                MainPart v0.370/Server v0.90/SystemEditor v0.61
                -----------------------------------------------

-MainPart:
 Fixed a bug with local sysop upload move. File wasn't posted because a new
 variable wasn't initialised.

-MainPart:
 Fixed a bug on door type TXT and other non executable ones.
 Checking for an existing executable and/or residentable program was done
 now with FAMEAvailExe() from the FAME.library... but this one skipes
 text files of course... corrected now.

+Server:
 Changed in About -> Support Team the e-mail address from Dr.Dre! to
 'dr.dre@mail.niederrhein.de'.

-Server:
 Corrected in About -> Beta Testers the e-mail address from Crash! to
 'crash@crash.tcp.co.uk'.

+SystemEditor:
 New ToolTypes and Arguments: FRONTMOST and PUBSCREEN.
 FRONTMOST(/S) is a switch. If set SystemEditor will open it's windows
 on the very first screen.
 PUBSCREEN(/K) is a key and a PublicScreen name is needed like:
 'PUBSCREEN=FAME_Node1'. If a valid PublicScreen name is set SystemEditor
 will open it's windows on the given screen.

 (Suggestion from SieGeL/tRSi)

+SystemEditor:
 Brings the screen to front on which it opens.

+MainPart:
 No longer brings workbench to front on starting the SystemEditor or external
 UserEditor. From now it's on the external called tool to bring the screen
 to front on which it opens.

31-Mar-96
*********
                -----------------------------------------------
                MainPart v0.370/Server v0.90/SystemEditor v0.61
                -----------------------------------------------

+MainPart:
 Arexx command SUSPEND will from now on only be accepted if the Node awaits
 a call.

+Server:
 Changed in About window the group of big-rat to (ETC).

+Server:
 If a Node quits the chat flag gadget of this Node will be cleared.

+MainPart:
 It's now possible to attach files to an existing mail via "E" Edit message
 with the Internal Line Editor. If already files are with the mail the new
 ones will be copied to the old ones so you are able to attach to ervery mail
 as much files as you want and when you want.

 Note: FAMEFullEd isn't able to do the same yet!

 (Suggestion from big-rat/ETC)

+MainPart:
 User read data structure (struct User and struct UserKeys) in MainPart
 memory will be cleared if the Node resets. It's the FAMESempahore user
 data pointer fili_NodeRUser (read) which will be point to the now cleared
 user data memory from MainPart. Note that fili_NodeWUser will be left
 intact, so you can read from it the user datas from the last user which
 was online. The clearing of the read data field can be important for some
 tools.

 (Suggestion from ByteAndi/tRSi)

02-Apr-96
*********
                -----------------------------------------------
                MainPart v0.371/Server v0.90/SystemEditor v0.61
                -----------------------------------------------

-MainPart:
 SwapRed/White was wrong implemented in one of the most used string
 output functions in MainPart. We haven't seen this, because this
 function will be mostly used bei MainPart itself and MainPart doesn't
 use [31m and [37m ansi codes which SwapRed/White will swap, but
 some door functions will also lead over the same string output function.

03-Apr-96
*********
                -----------------------------------------------
                MainPart v0.371/Server v0.90/SystemEditor v0.61
                -----------------------------------------------

+SystemEditor:
 Gadget SystemEditor -> Access / Secure -> Levels -> More Levels: Real Hidden
 activated.

+MainPart:
 Internal WHO now checks for 'Real Hidden' level flag.
 If someone is quiet and has a level with the 'Real Hidden' flag set to on
 the WHO displays for User: '-' for Location: '-' for Status: 'Awaiting Call'
 and for Baud/Cps the init baud rate of the node. Now it's impossible to
 see if someone is online if he is 'Real Hidden', because the WHO will display
 the same as if noone has logged on.

 With argument FORCE normal hidden and 'Real Hidden' users are visable, so if
 you are a SysOp who don't want to be visable for users take care that you
 don't give everybody the 'Force WHO' level flag.

 (This one is a dedicated to SieGeL/tRSi !
  Now you can programm nice FAME stuff without being interrupted every minute.)

+MainPart:
 Front WHO now checks for 'Real Hidden' level flag.
 Front WHO handles quiet users now like the WHO above, except the FORCE
 argument part isn't valid, because Front WHO has nothing to do with args.

-MainPart:
 Fixed a bug with the (#)NumClear function of the "A" menu command.
 It wasn't able to unflag from a list of numbers which are unsorted like:
 "# 2 5 9 7 1" now it can unflag in every case.

 (Reported by elgun)

+MainPart:
 On selecting in menu command "W" (change user stats) number 14:
 '[14] DOOR CONFIG' now the string 'Sorry, menu not implemented yet!'
 appears to inform the user about this non implemented menu.

 (Suggestion from elgun)

+MainPart:
 On message diverting to an other user it's now possible to edit the subject
 of the message too.

 (Suggestion from elgun)

+MainPart:
 New SYSCMDs: 'FILEIDENT(<x>)' and 'DUPECHECK(<x>)'.

 (<x>) means: <x> an increasing number from 1 on.
              () first one must be without number.

 They are quivalent to: 'FILEIDENT' = 'EXAMINE'
                         'DUPECHECK' = 'FILECHECK'

 Note that for compatibility the argument line for FILEIDENT begins not
 with FILEIDENT, but with 'EXAMINE' and for 'DUPECHECK' not with DUPECHECK,
 but with 'FILECHECK'.

+MainPart:
 Local upload now checks for existing files and prompts for overwriting
 or skipping such files.

 (Strongly requested by elgun 8) )

+MainPart:
 New flag for files in file lists: 'O' for overwritten.
 MainPart will set this flag which is from filecheck state the same as
 'P' (passed) if a file shall not be skiped, but shall be overwritten.

 (Suggestion from elgun)

-SystemEditor:
 On canceling a file requester the notification flag wasn't cleared and
 on closing a window later a requester appears to inform about changed
 and undsaved datas which will be lost. Fixed this too.

 (Reported by SieGeL/tRSi)

?MainPart:
 Hmm.. what should i say.. hopefully fixed the optical message scaner
 problems now 8).. please check this out.

-MainPart:
 Fixed the Reserve For User. Now the Server displays everything correct.

-MainPart:
 MainPart wasn't checking for a reserved user if a user begun as newuser.
 Now MainPart does!

-MainPart:
 If the Node waits for a reserved user and the SysOp iconifies/uniconifies
 the Node the gadgets and menus weren't created. Now they will.

                             ----------------------
                             FAMEFileChecker v0.371
                             ----------------------

+Recompiled for new structures.

                              -------------------
                              FAMEHydra.FIM v0.43
                              -------------------

-Fixed a bug where the intuition.library was opened too late.
 This was causing strange effects on some computers.

 (Reported by Venom/NVX)

04-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

-MainPart:
 Changed: "The Name <xyz> ist not used on this BBS!"
      to: "The Name <xyz> is not used on this BBS!"

 (Reported by Marwic)

05-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

+MainPart:
 New setting in menu command "W" (change user stats) in
 "[13] ADDITIONAL OPTIONS": "[13] EXPERT MODUS".
 This one was also new in MainPart v0.371, but i've forgotten to write
 it into the history.

 (Suggestion from dR.dRE!/tRSi)

+MainPart:
 New setting in menu command "W" (change user stats) in
 "[13] ADDITIONAL OPTIONS": "[14] AUTO FORCE ON WHO".
 This will also take effect on OLM!

+MainPart
 In menu command "W" (change user stats) you can now type "W"/"w"
 at the menu prompts to quit the user data changer, but not like with
 "Q"/"q", "X"/"x" and "E"/"e" without saving. With "W"/"w" you quit and
 save your user datas at this point! With the others you just quit and the
 saving of your user data entry will only be done on logoff.

 They are all also possible as arguments!

 With "W W"/"w w" for example you just save your current user datas.

+MainPart:
 (E)ntry User in Internal UserEd Caller is back online 8).

+MainPart:
 Internal UserEd Caller in Await Mode with F6 or from menu with "1"
 will now not quit after quitting the Internal Usered, but it will
 prompt again for the type of user editing you want to select.
 You can now choose between:

 (S)earch for User
 (N)ewUser
 (E)ntry User
 (Q)uit

 Other keys will be from now on no longer excepted, type "Q"/"q" to quit.

 (Suggestion from elgun)

10-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

+SystemEditor:
 Changed the main window picture.

16-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

-SystemEditor:
 ASLFileRequester weren't opened on the same screen as the SystemEditor.
 Now they will.

+SystemEditor:
 If the SystemEditor is on a public screen and it receives a window-to-front
 message as commodity it will now also bring the screen-to-front.

-MainPart:
 MCI command '~CC_' was only starting doors and no internal commands.
 No it does.

 (Reported by Pharaoh/Akira)

+MainPart:
 New MCI command '~CI_' to start internal commands only (no doors).

 (Suggestion from Pharaoh/Akira)

+MainPart:
 New MCI command '~CD_' to start doors only (no internal commands).

 (Suggestion from Pharaoh/Akira)

+MainPart:
 OLM now checks for RealHidden flag of a user on a node.
 If a user is real hidden you can't see him in WHO also OLM now doesn't
 tell to a user that there is someone online. Exception is when a user
 is able to use the FORCE argument or has switched on the AutoForce
 mode (menu command "W 13 14"). To be able to use FORCE argument and
 AutoForce the user must have a level with "Force WHO" set
 (see SystemEditor -> Access / Secure -> Levels -> More Levels -> Force WHO).
 For RealHidden see SystemEditor -> Access / Secure -> Levels -> More Levels
 -> Real Hidden.

-MainPart:
 Fixed in all FIM commands which are displying text files the emergancy
 returncode.

-MainPart:
 Fixed the output on viewing file descriptions from files attached to
 a mail. The returns were forgotten and on serial side the display was
 not correct.

+SystemEditor:
 New gadget: SystemEditor -> Node Edit -> More Node Edit -> MinUsNaChars.
 To define the minimum chars for user names.

 Default: 3.

 Note: Please use the latest SystemEditor and go trough all your Nodes
       and save once. This will be needed to set the currently on 0
       being value up to the default value 3.
       If you forget this it's no problem, because MainPart will use
       3 as default if this value is lower than 1, but it's better
       to set the numbers also else you may wonder later.

+SystemEditor:
 New gadget: SystemEditor -> Node Edit -> More Node Edit -> Less NewUserD.
 So called 'Elite' crap. For all who doesn't want to have newusers asked
 for Origin (City/State), Modem Type and Language.

+MainPart:
 MinUsNaChars build in.

+MainPart:
 Less NewUserD. build in.

+MainPart:
 INFO menu command views now also the actual FAME.library version, revision
 and assembling date.

 (Suggestion from SieGeL/tRSi)

17-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

+SystemEditor:
 New gadget: SystemEditor -> System Datas -> More System Datas
 -> MaxCopyBuffer.

 Allows you to reduce the maximum memory used on file copies like uploads
 into a uplaod path.

 Default: 1048576 bytes  (1MB)
 Minimum:   32768 bytes (32KB)

 Note: Because if this size is lower than 32768 bytes the size of the minimum
       of 32768 bytes will be used and your current size will be 0 now if
       you update FAME from a previous version, you have to set it to a higher
       value by hand (1048576 bytes (1MB) for example).

 Note: Originally FAME tried to use as copy buffer the same size as the
       file to be copied has. FAME is going down from this size to a size
       of the first matching memory chunk available. The same will be done now
       too, but with MaxCopyBuffer you can tell FAME of of maximum size.

 Example: 1. File to copy has 2097152 bytes, MaxCopyBuffer is 1048576.

             2097152 is higher than MaxCopyBuffer of 1048576 bytes so
             FAME uses 1048576 bytes and not 2097152.

          2. File to copy has 524288 bytes, MaxCopyBuffer is 1048576.

             524288 is lower than MaxCopyBuffer of 1048576 bytes so
             FAME uses 524288 bytes.

          3. File to copy has 524288 bytes, MaxCopyBuffer is 1048576,
             biggest free memory chunk is 262144 bytes.

             524288 is lower than MaxCopyBuffer of 1048576 bytes, but
             the first free memory chunk is 262144 bytes so
             FAME uses 262144 bytes.

+SystemEditor:
 New gadget: SystemEditor -> System Datas -> More System Datas
 -> MinFreeUlDirMB.

 MinFreeUlDirMB is used by FAME to check all upload paths (also the
 additional ones) for free bytes to copy files to.
 On this check the volumes will be checkt if the files size + MinFreeUlDirMB
 will fit.

 Example: 1. File to post has 1MB, upload path has 3MB free, MinFreeUlDirMB
             is set to 5MB.

             1MB + 5MB = 6MB which shall be posted to a 3MB free path,
             this doesn't fit.

          2. File to post has 1MB, upload path has 3MB free, MinFreeUlDirMB
             is set to 2MB.

             1MB + 2MB = 3MB which shall be posted to a 3MB free path,
             this fits! And you have MinFreeUlDirMB free after copying
             (2MB in this case).

 As you can see MinFreeUlDirMB is used to ensure that your volumes will
 have a configurable space free and won't be filled completely up.

+MainPart:
 New FIM command: AR_HotKey which is a combine of NR_HotKey and NR_WaitChar.
 AR_HotKey is a non waiting hotkey command with free definable cursor
 key returncodes. With NR_HotKey it is needed to filter yourself the
 cursor keys, with AR_HotKey you no longer need to do this.

21-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

-MainPart:
 Fixed a problem with the AIM arexx door type.
 Now it will work again.

+MainPart:
 Replaced all strupr() calls with FAMEStrToUpper() calls.

+MainPart:
 Capitol files now active.

 (Suggestion from Pharaoh of Akira and WiLD THiNG)

+MainPart:
 Renamed '<Pause...Key to go on!>' to '<Press a Key to Continue!>'.

 (Suggestion from Pharaoh of Akira)

-MainPart:
 Renamed all AddUlPathes strings to AddUlPaths and all AddDlPathes to
 AddDlPaths.

 (Reported by Pharaoh of Akira)

-SystemEditor:
 Renamed all AddUlPathes strings to AddUlPaths and all AddDlPathes to
 AddDlPaths.

 (Reported by Pharaoh of Akira)

+SystemEditor:
 New gadget: 'SystemEditor -> Conferences -> 1.UlPath Behind A.' to let the
 MainPart use the Upload Path I after the additional upload paths
 (Additio. Ul Paths).

 (Suggestion from Pharaoh of Akira)

+MainPart:
 Gadget: 'SystemEditor -> Conferences -> 1.UlPath Behind A.' will be used now.

 (Suggestion from Pharaoh of Akira)

+MainPart:
 If a user with not enough free bytes/files for downloading selects only
 free download files, this user will be able to download those
 free download files now without having a download abort because he has not
 enough bytes/files as it was before.

 (Suggestion from turbo/NVX)

-MainPart:
 XIM command BB_CONFNUM gives now the real conference number.

 (Suggestion from WiLD THiNG)

-MainPart:
 Fixed a bug with the local upload overwrite mode.
 The after upload procedure was canceled in some cases, because the file
 list was not correctly sorted.

 (Reported by elgun)

-MainPart:
 Added the missing line feed for serial between the first ANSI prompt
 and the user name prompt.

 (Reported by Pharaoh of Akira)

+MainPart:
 Changed the welcome message so that if no BBS origin is set MainPart
 now writes: 'Welcome to <BBS name>.' else if BBS origin is set MainPart
 now writes: 'Welcome to <BBS name>, located in <BBS origin>.'.

 (Suggestion from Pharaoh of Akira)

+MainPart:
 The own prompt editor has now an example and the information to use a space
 as the MCI terminator.

+MainPart:
 New option for the local upload overwrite mode. If you type 'a' for
 'always' you will be asked: 'Overwrite existing files always?(y/N)'.

 (Suggestion from elgun)

+SystemEditor:
 SystemEditor now creates the directory 'FAMEStart' in 'FAME:'.

+SystemEditor:
 On new installations the user data/keys paths will now point to
 'FAME:UserData/'.

+Server:
 FAMEExecuteDir() is used to start every executable or scriptfile
 (script bit must be set) located in the new directory 'FAME:FAMEStart'.

 'FAMEStart' is used to let the Server automatically start all tools
 and scripts on starting the Server (on starting FAME).
 
 This will be needed for example for the external FAMECoProcesses
 which have to be installed so they can wait for later events or just
 to register to the Server for start times where they shall be started,
 but you can use this directory also for every other tool which shall
 be started if the Server starts.
 
 Coder note: If your tool shall be started out of this directory, but only
             once be sure you have a mechanism like a semaphore to prevent
             more time executions of your tool, because the SysOp can
             quit the Server and start it again without a reset.

 Server executes all files located in 'FAME:FAMEStart' right after executing
 the 'FAME:Settings/FAMEStart.bat'.

+SystemEditor:
 New main window gadget 'Ext Xfer Mods' and new window 'External Xfer Modules'
 for external transfer modules like FAME Hydra.

 Following gadgets are available:

 -'Write Logfile'             to enable/disable the FAME Hydra logfile.

 -'Remember Window positions' Remember window positions from every FAME Hydra
                              window for every single Node.

 ('Write Logfile' suggested from Death Angel)
 ('Remember Window positions' suggested from BiTeC/stCD)

22-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

+SystemEditor:
 New window 'External Xfer Modules' completed. A new global FAME Hydra
 config file will be created: 'FAME:Settings/FAMEHydra.dat'.

+Server:
 New global FAME Hydra config file 'FAME:Settings/FAMEHydra.dat' will be
 loaded into memory and a pointer given to every Node (MainPart).

+MainPart:
 Receives the new global FAME Hydra config file 'FAME:Settings/FAMEHydra.dat'
 from the Server and gives a pointer to FAMEHydra if used.

+MainPart:
 Loads on starting FAMEHydra the new local FAME Hydra config file
 'FAME:Settings/Node<x>/FAMEHydra.dat' into the FAME Hydra rendezvous data
 structure.

+MainPart:
 Saves on quiting FAMEHydra the new local FAME Hydra config file
 'FAME:Settings/Node<x>/FAMEHydra.dat' to disk.

+SystemEditor:
 New directories will be created:

 'FAME:FileCheckers/EXAMINE'
 'FAME:FileCheckers/EXAMINE/Storage'
 'FAME:FileCheckers/DUPECHECK'
 'FAME:FileCheckers/DUPECHECK/Storage'

-MainPart:
 There was no carrier check on goodbye after transfer procedure.
 Now it is.

 (Reported by TANGo/NerveAxis^Twisted)

                              ------------------
                              FAMEHydra.FIM v1.0
                              ------------------

+Receives from MainPart the local and global FAME Hydra config data structures.

+Checks the global FAME Hydra config data structure for writing the logfile.

+Checks the global FAME Hydra config data structure for remembering the
 current window positions on quiting FAMEHydra.

+Updates the local FAME Hydra config data structure with the current window
 positions if configured to do this.

+Window zooming and sizing for chat read/write window to max screen sizes
 allowed.

                              --------------------
                              FAMEFileChecker v1.0
                              --------------------

+FILE_ID.DIZ extraction build in.
 A FILE_ID.DIZ will be extracted if there is no FILE_ID.DIZ available
 for the current file.

+Build in direcory executions with FAMEExecuteDir() from FAME.library
 for the following directories:

 'FAME:FileCheckers/EXAMINE'
 'FAME:FileCheckers/FILECHECK'
 'FAME:FileCheckers/DUPECHECK'
 'FAME:FileCheckers/FILEIDENT'

 How FAMEFileChecker works:

 1. File will be identified (FileId.library and extension check)

 2. All files in 'FAME:FileCheckers/EXAMINE' will be executed.
    Here some special maybe Bulletin tools can be started.

 3. FAMEFileChecker (PIPE:) file check.

 4. All files in 'FAME:FileCheckers/FILECHECK' will be executed.
    Here some external Filecheckers for FAME can be started.

 5. All files in 'FAME:FileCheckers/DUPECHECK' will be executed.
    Here some external Dupecheckers for FAME can be started.

 6. In backgound check mode all files in 'FAME:FileCheckers/FILEIDENT'
    will be executed.
    Here some external FILE_ID.DIZ extractor tools can be started.

 7. If no description exists FAMEFileChecker tries to extract one.

 Note: FAMEExecuteDir() executes via SystemTagList() every executable
       or script (script bit must be set) in the directories listed
       above.

 Note: Every started tool will get the same argument line:

       '<NodeNr> <UserSlot> <UserName> <path+file of the file>'

       Template for tools started from one of the directories above:

       'NODENR/N/A,USERSLOT/N/A,USERNAME/K/A,FILEPATH/M'

 Note: Result is the returncode of every started tool, but the results
       are not defined yet, so you have to wait a bit.

       With the returncodes as results a tool will be able to tell
       FAMEFileChecker about the goodfile flag (Not in FILEIDENT).

       By the way i someone has ideas for the return codes feel free
       to contact me!

       They must be higher than 20, because of normal DOS return codes.

       Example:

       #define FAMEGOODFILE_OK       1000
       #define FAMEGOODFILE_UNTESTED 1001
       #define FAMEGOODFILE_FAILED   1002

23-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.0/Server v1.0/SystemEditor v1.0
                  -------------------------------------------

-MainPart:
 Removed some bugs in the dirsort source used for menu command "7"
 (list a directory). There were some uncleared memory in the
 DateTime structure which causes memory overwritings, the directory
 list wasn't deallocated and a pointer overwriten which causes also
 lost memory.
 Sorry for this, but this code was not written by me, it's foreign code.
 I have completely debuged and partially rewritten this code.

+MainPart:
 The dirsort source is now also able to make a dir-like view.

+MainPart:
 Menu command "8" (view a directory (dir)) is no longer a call of
 the FAME:Modules/Dir command. It uses dirsort code from MainPart now just
 like menu command "7" (list a directory) always did.

 Note: You no longer need the files: FAME:Modules/Dir and FAME:Modules/List !

+MainPart:
 0 byte files will no longer be moved as lost carrier files, they will be
 deleted.

+MainPart:
 On uploads in the playpen of a node a 0-byte file with the file which
 shall be uploaded will be created for a kind of a lock mechanism for other
 Nodes, because every Node now checks in all other Node playpen directories
 for the file a user is on to upload.

 This is important, because if two users are uploading the same file at the
 same time it's not good that both upload the file completely and the file
 from the user which finished earlier will be posted and the other user gets
 a note that this file already exists.

+MainPart:
 FAME.library's FAMEPostFile() will from now on be used to check for files
 and post the uploaded files into the upload paths.

 From now on the additional upload paths will be available!

 FAMEPostFile() tries to post an uploaded file into a upload path where
 the file will fit completely. For this it gets a list created out of the
 additional upload paths text file which may exist for every confernce.
 If this file doesn't exists FAMEPostFile() uses only the 1. upload path.
 FAMEPostFile() also checks for the MinFreeMB size on finding a path to post
 the file into.

                              ------------------
                              FAMEHydra.FIM v1.0
                              ------------------

+On uploads in the playpen of a node a 0-byte file with the file which
 shall be uploaded will be created for a kind of a lock mechanism for other
 Nodes, because every Node now checks in all other Node playpen directories
 for the file a user is on to upload.

 This is important, because if two users are uploading the same file at the
 same time it's not good that both upload the file completely and the file
 from the user which finished earlier will be posted and the other user gets
 a note that this file already exists.

24-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.1/Server v1.0/SystemEditor v1.1
                  -------------------------------------------

+SystemEditor:
 Creates in check mode 'FAME:Settings/FAMESModem.dat'

-SystemEditor:
 Forgotten to deallocate 3802 bytes on ending SystemEditor.

-MainPart:
 On non local Nodes with SysOp login the InternalUserEd was setting
 a serial good flag and this causes problems with the serial.
 Nothing bad happened, but could. The carrier will be checked bofore
 writing something to serial and that's the reason why on such logins
 after using the InternalUserEd the user was droped. Fixed!

                              ------------------
                              FAMEHydra.FIM v1.1
                              ------------------

-Fixed some bugs where some longs were written into non allocated memory,
 i wonder why the Enforcer wasn't able to get this, because the structure
 pointer is initialised to NULL.

25-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.1/Server v1.0/SystemEditor v1.1
                  -------------------------------------------

+MainPart:
 FIM commands CF_ZModemSend and CF_ZModemSendLst will now also copy
 files local into SysOp's download directory.
 Returncodes in Data2 changed for this:

 1  file has been transfered.
 0  file has been copied local to sysops download directory.
 -1 means xprzmodem.library not open.

-MainPart:
 Fixed a bug on local door download with CF_ZModemSend and CF_ZModemSendLst.
 FAME was telling that it copies out of the MsgBase and the list for
 CF_ZModemSendLst wasn't generated. Fixed!

+MainPart:
 New FIM door command: NR_GetDoorDatas to receive the path from where your
 door has been started, the complete start path of your door (with door's
 filename) and the struct dOORS pointer (for Developers only).

+MainPart:
 New option in user options ('W' menu command) under '[18] TRANSFER OPTIONS'
 '[10] BACKGROUND FILE POST' with the options: 'NO BACKGROUND FILE POST' and
 'BACKGROUND FILE POST'.

 On 'BACKGROUND FILE POST' FAMEFileChecker will extract the file description
 of every uploaded file while uploading in background.
 On 'NO BACKGROUND FILE POST' it won't do it and a door or the internal
 file description prompt will ask after upload is complete for the file
 descriptions.

 Note: This option will also be used for background posting of files,
       but only if file check is successfully and a file description
       could be extracted by FAMEFileChecker or an external file description
       extractor tool started in background out of the directory
       'FAME:FileCheckers/FILEIDENT'.

       This background file posting is currently not available!
       Only file description will be done now.

                              --------------------
                              FAMEFileChecker v1.1
                              --------------------

+FILE_ID.DIZ extraction will now be depending from user settings in
 user options ('W' menu command) under '[18] TRANSFER OPTIONS' ->
 '[10] BACKGROUND FILE POST'.

                            -------------------------
                            FAMESModem.FIM v0.1 alpha
                            -------------------------

+First alpha version for alpha/beta testing.

 *NOT* for regular use!

 Please read the README_BETATESTERS.TXT in the FAMESModem package
 for more details!

29-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.1/Server v1.0/SystemEditor v1.2
                  -------------------------------------------

+SystemEditor:
 New directories will be created in check mode:

 'FAME:FileCheckers/FILEID'
 'FAME:FileCheckers/FILEID/Storage'

                              --------------------
                              FAMEFileChecker v1.1
                              --------------------

-FileId extraction was not adding a linefeed to every description.
 Fixed this.

 (Reported by Death Angel)

-FAMEFileChecker used wrong path: 'FAME:FileCheck' instead of the right one
 'FAME:FileCheckers', fixed.

+New direcory execution  with FAMEExecuteDir() from FAME.library.

 'FAME:FileCheckers/FILEID'

 How FAMEFileChecker works:

 1. File will be identified (FileId.library and extension check)

 2. All files in 'FAME:FileCheckers/EXAMINE' will be executed.
    Here some special maybe Bulletin tools can be started.

 3. FAMEFileChecker (PIPE:) file check.

 4. All files in 'FAME:FileCheckers/FILECHECK' will be executed.
    Here some external Filecheckers for FAME can be started.

 5. All files in 'FAME:FileCheckers/DUPECHECK' will be executed.
    Here some external Dupecheckers for FAME can be started.

 6. In backgound check mode all files in 'FAME:FileCheckers/FILEIDENT'
    will be executed.
    Here some external FILE_ID.DIZ extractor tools can be started.

 7. If no description exists FAMEFileChecker tries to extract one
    (In backgound check mode).

 8. All files in 'FAME:FileCheckers/FILEID' will be executed.
    Here some external tools can add sentby lines etc.
    (In backgound check mode).

 Note: Every started tool will get the same argument line:

       '<NodeNr> <UserSlot> <UserName> <path+file of the file>'

       Template for tools started from one of the directories above:

       'NODENR/N/A,USERSLOT/N/A,USERNAME/K/A,FILEPATH/K/A'


       'FAME:FileCheckers/FILEID' is an exception:

       '<NodeNr> <UserSlot> <UserName> <path+file of the filedescription>'

       Template for tools started from 'FAME:FileCheckers/FILEID':

       'NODENR/N/A,USERSLOT/N/A,USERNAME/K/A,FILEID/K/A'

+Template for tools started from one of the directories with FAMEExecuteDir()
 is changed. The last argument componet is no longer multiple, it's a
 must keyword now which will from now on be surrounded by quotation marks,
 the USERNAME too:

 '<NodeNr> <UserSlot> "<UserName>" "<path+file of the file>"'
 '<NodeNr> <UserSlot> "<UserName>" "<path+file of the filedescription>"'

30-Apr-96
*********
                  -------------------------------------------
                  MainPart v1.2/Server v1.0/SystemEditor v1.3
                  -------------------------------------------

-MainPart:
 Download procedure wasn't checking on global download for additional
 download paths in foreign conferences, it was only checking in the current
 conference for additional download paths.
 Now it will check also in all other conferences for additional download
 paths.

+SystemEditor:
 SystemEditor now automatically starts in CHECK mode if you start SystemEditor
 and something new like directories and/or data files shall be created.

-MainPart:
 In some cases people reported to me that if they are in SysOp chat and
 leave it with F1 that garbage will be displayed.
 That's no garbage, the problem is that MainPart buffers the last output
 string just before the SysOp goes into chat. Those SysOps who had this
 garbage after leaving the chat are using MCI-prompts and that is the
 problem. MainPart can only buffer the last complete String which goes
 out to be viewed, this can be the menu prompt, any other prompt or just
 text displayed. On using MCI prompts there is no complete string which
 will be displayed, the MCI string will be interpreted and every single bit
 of the interpreted string will be displayed. Because of the fact that
 buffering on MCI strings is not possible or makes no sense MainPart
 will display the interpreted string parts in a different mode than normal.
 This different mode is the same as the normal text display procedure,
 but without buffering. Now the problem was that on ending the chat the
 buffer will be viewed in every case, but it wasn't filled as with a normal
 menu prompt for example (standard menu prompt is a complete string and will
 be completely buffered), but it was filled with something else from other
 prompts like "W" user settings etc...
 To avoid this problem the MCI interpreter for string interpretation will
 now fill up the buffer with the standard pause prompt string (Standard means
 build in, not the configurable MCI-prompt).

 Note: The garbage effect was happening on Chat, Internal UserEd, ASL Text
       view and some others.

 (Reported by elgun,Death Angel,Airworx)

+MainPart:
 Pause prompt now prints a return ("\r") after pressing a key.
 Now everybody is able to see that the BBS has got the key press.

 (Suggestion from Bloodrock/tRSi)

+MainPart:
 Renamed 'Security Lv' to 'Security Lev.' in internal "S" user status.
 
 (Suggestion from elgun)

+MainPart:
 Renamed 'LVL' to 'LEV.' in the Status & Commands window.

-MainPart:
 After using the internal UserEd with F6/Shift-F6 while a user was online
 the serial was completely stoped. This was because of previous changings
 on the Internal UserEd and serial stop while SysOp edits a user.
 Now the serial will be restarted if the Internal UserEd will be quited.

 (Reported by Death Angel)

+MainPart:
 On Internal UserEd the serial side will no longer see the double prompt.
 Now if the SysOp quits the Internal UserEd only on console will the
 last buffered string (mostly the menu prompt) be renewed.

+SystemEditor:
 New gadget: SystemEditor -> Node Edit -> More Node Edit -> MinUsPWChars.
 To define the minimum chars for user passwords.

 Default: 3.

 Note: Please use the latest SystemEditor and go trough all your Nodes
       and save once. This will be needed to set the currently on 0
       being value up to the default value 3. You have to go into More Nodes
       and change the values or just go back to the Node Edit window and
       the value will be 3 if you save now.
       If you forget this it's no problem, because MainPart will use
       3 as default if this value is lower than 1, but it's better
       to set the numbers also else you may wonder later.

 (Suggestion from elgun)

+MainPart:
 MinUsPWChars build in (change password and new user entry).

 (Suggestion from elgun)

+MainPart:
 MinUsNameChars is now also used in change user name.
 (login, change user name and new user entry)

                              --------------------
                              FAMEFileChecker v1.2
                              --------------------

+Now FAMEFileChecker checks before adding a LF (line feed) to an extracted
 fileid if this fileid already has a LF as the last char.
 If there is no LF it will be added, else not.

01-May-96
*********
                  -------------------------------------------
                  MainPart v1.3/Server v1.0/SystemEditor v1.3
                  -------------------------------------------

+MainPart:
 Local SysOp download prompts now for copying files or not also changing
 of the download path is possible now.

 (Suggestion from elgun)

                              --------------------
                              FAMEFileChecker v1.2
                              --------------------

+New Argument (FILETYPE/K/A) for:

 - 'FAME:FileCheckers/EXAMINE'  :
 - 'FAME:FileCheckers/FILECHECK':
 - 'FAME:FileCheckers/DUPECHECK':
 - 'FAME:FileCheckers/FILEIDENT':

'<NodeNr> <UserSlot> "<UserName>" "<FileType>" "<path+file of the file>"'

Template for tools started from one of the directories above:

'NODENR/N/A,USERSLOT/N/A,USERNAME/K/A,FILETYPE/K/A,FILEPATH/K/A'

 and for:

 - 'FAME:FileCheckers/FILEID':

'<NodeNr> <UserSlot> "<UserName>" "<FileType>" "<path+file of filedeid>"'

Template for tools started from one of the directory above:

'NODENR/N/A,USERSLOT/N/A,USERNAME/K/A,FILETYPE/K/A,FILEID/K/A'

 Note: Your tool musn't have the '/A' Always key, this '/A' is used for
       defination, to show you that FAMEFileChecker will ALWAYS call
       the files with all arguments.

 Note: FILETYPE will be a string which describes the type of the file
       we are talking about. FILETYPE can be LHA, DMS, LZX, ...
       it musn't be the file extension! FILETYPE will be first generated
       by the usage of the FileId.library and if this brings no result
       the file extension (sufix) will be used.
       If no file type can be found FILETYPE will be empty: FILETYPE="" .

06-May-96
*********
                  -------------------------------------------
                  MainPart v1.4/Server v1.0/SystemEditor v1.4
                  -------------------------------------------

+MainPart:
 Increased the security for pattern matching on file flag list where
 a fixed buffer will now be alloctaed dynamical.

+MainPart:
 Changed internal pattern matching on checking flaged files for download
 to ParsePattern() and MatchPattern().

 (Suggestion from SieGeL/tRSi)

+SystemEditor:
 New gadget: SystemEditor -> Conferences -> 'AmigaDOS File Len.'.
 If activated FAME is able to handle file names with 30 chars in length
 else only 12 chars.
 If activated in some to 12 chars fixed places in FAME you will see the
 (green) char '>' on files with names longer than 12 chars.

 (Suggestion from SieGeL/tRSi)

08-May-96
*********
                  -------------------------------------------
                  MainPart v1.4/Server v1.0/SystemEditor v1.4
                  -------------------------------------------

+MainPart:
 Download procedure completely adapted for AmigaDOS file name length.

+MainPart:
 New option in user options ('W' menu command) under '[18] TRANSFER OPTIONS'
 '[11] FILE NAME LENGTH' with the options: 'PC (12 CHARS) FILE NAME LENGTH'
 and 'CONF DEPENDING FILE NAME LENGTH'.

 On 'CONF DEPENDING FILE NAME LENGTH' the maximum file name length of an
 uploaded file into the current conference depends on the settings done
 by the SysOp for this conference. This can be 12 chars (PC) or 30 chars
 (AmigaDOS). On 'PC (12 CHARS) FILE NAME LENGTH' the user always want to have
 12 chars long file names.

+MainPart:
 Upload procedure completely adapted for AmigaDOS file name length.
 It takes care of the user settings ('W 18 11') and the from the SysOp
 configured conference depending settings with file name length.

+MainPart:
 In conferences with 30 char file name length the files posted into the
 file lists will have a '>' behinf the name, like here:

 '12345678.123>'

 The char '>' indicates that this filename is longer than 12 chars.

09-May-96
*********
                  -------------------------------------------
                  MainPart v1.4/Server v1.0/SystemEditor v1.4
                  -------------------------------------------

+MainPart:
 FIM door commands 'AR_Userlimit' and 'AC_Userlimit' changed, because
 the internal user limit variable is a ULONG we need fdom_Data3 !

#define AR_Userlimit       826
/* Retrieve the Userlimit
 *
 * Data1
 * Data2
 * Data3    -> Contains the BBS Userlimit.
 * IOString
 */

#define AC_Userlimit       919
/* Change the Userlimit
 *
 * Data1
 * Data2
 * Data3    <- The new BBS Userlimit.
 * IOString
 */

-MainPart:
 Changed all FAMEAtol() calles to ANSI-C atol() calls where strings will
 be converted to ULONGS, because FAMEAtol() which uses StrToLong() wasn't
 converting ULONGS correctly.

-MainPart:
 Changed all %ld to %lu for RawDoFmt on ULONG variables which i had forgotten
 to change as i changed from ANSI-C sprintf() to RawDoFmt.
 This caused in some cases negative values.

 This and the one above caused wrong displays on different user status
 displays and also in the internal usereditor.

 (Reported by Pharaoh of Akira and some other SysOps)

10-May-96
*********
                  -------------------------------------------
                  MainPart v1.4/Server v1.0/SystemEditor v1.4
                  -------------------------------------------

-MainPart:
 On uploads MainPart hasn't substracted hold bytes and files.
 Now MainPart will!

 (Reported by QuartZ / mYStiC)

15-May-96
*********
                  -------------------------------------------
                  MainPart v1.4/Server v1.1/SystemEditor v1.4
                  -------------------------------------------

-MainPart:
 Fixed two enforcer hits in the history list which could only be found
 on using CyberGuard on a 060 CPU.

 (Reported by CyberGuard and Motorola 68060)

-MainPart:
 Fixed a bug where on starting the mail scanner on joining a conference
 two spaces have overwritten the first two chars of the pause prompt.

 (Reported by elgun, SieGeL/tRSi)

-MainPart:
 Fixed a bug where i've forgotten to check also for the time bonus of a user
 on logging on. The time bonus is a value a user gets on uploading files
 and will increase on every upload. This value in time bonus will be available
 for the same day as the upload day. The bug was that the user couldn't
 logon again at the same day if the carrier drops or the user was loging off
 after uploading files which takes longer than the normal online time the user
 had remaining for this day.

 Old: Is TimeUsed >= TimeLimit ?
 New: Is TimeUsed >= TimeLimit + TimeBonus ?

 (Reported by pharaoh)

-MainPart:
 Added on Renewed submission the missing 't' in the word '(L)ostCarrier'.

 (Reported by mAGiC mAX)

+MainPart:
 Changed in the user prompt defination menu the string: '~R SENDS A RETURN'
 to '~R PRINTS A CR/LF'.

+MainPart:
 Fixed now successfully the problem with MCI strings and buffering of
 prompts and output strings. The Buffer which will be used to remember
 the last output string like texts and prompts is now a structure with
 bit flags for informations about the buffered string like if it's a
 MCI string like SysOp/User defined menu prompts. With this flag MainPart
 is now able to restore not only normal strings on the screen after quiting
 the internal user editor or ending the chat (only some buffer examples)
 MainPart is now also able to restore MCI strings too.

 (MCI buffer problem reported by elgun, RAMSES & PASO and pharaoh)

+Server:
 System Bank 2 gadget 'Quiet Node' now active.

 (Hardly wanted by pharaoh and elgun)

+MainPart:
 Now receives the quiet request from the Server.

+MainPart:
 Tells the user on using menu command 'Q' not only 'You are now hidden!'
 and 'You are no longer hidden!', it now also tells the user about the
 quiet mode of the Node: 'Your Node is quiet.' and 'Your Node is not quiet.'.

+Server:
 'SystemEditor -> Node Edit -> Quiet Node' gadget will now be used.

+MainPart:
 'SystemEditor -> Node Edit -> Quiet Node' gadget will now be used.

+MainPart:
 Quiet Node will now effect FrontStat, WHO and OLM.

-MainPart:
 Fixed a bug in the line editor caused by ASCII mode usage or FullEd
 on reply with the line editor.
 Lines with more than 74 chars wasn't correctly displayed, now they
 will.

 (Reported by pharaoh)

+MainPart:
 Optimized a bit code in the way to launch SYSCMD doors in upload procedure
 like ULSTAT/FILECHECK/EXAMINE/FILEIDENT/DUPECHECK.

-MainPart:
 SYSCMD 'ULSTAT' was also started on door uploads if no files were uploaded.
 Now 'ULSTAT' will no longer be launched if no files have been uploaded.

-MainPart:
 SYSCMD 'ULSTAT' was also started on uploads if all uploaded files have
 been deleted by the user.
 Now 'ULSTAT' will no longer be launched in this case.

 (Reported by pharaoh and WiLD THiNG)

-MainPart:
 'FAME:SystemStats' has been increased also if a user havn't reached the
 menu prompt, but user calls have not been increased in this case.
 Now both will only increase if a user has been completely logged in.

 (Reported by WiLD THiNG)

-MainPart:
 User baud was only be updated on user logoff and not also on logon.
 This caused wrong baud rates displayed for example with MCI command '~BR'.
 Fixed!

 (Reported by WiLD THiNG)

-MainPart:
 Fixed the output of the MCI command '~LC' where the non converted time
 value was wrongly displayed.

 (Reported by WiLD THiNG)

+MainPart:
 Now receives from FAMEHydra.FIM the name of every new upload/download
 file and sends it to the Server.

+Server:
 Now receives from MainPart the name of every new upload/download file
 if it's from FAMEHydra.FIM and adds it to the Last 10 upload/download list.

                              ------------------
                              FAMEHydra.FIM v1.2
                              ------------------

+Renamed following strings:

 Renamed '**1 file has been added to upload list'
      to '**1 file has been added to send list':

 Renamed '**<x> files have been added to upload list'
      to '**<x> files have been added to send list'.

 Renamed '**Upload request noticed'
      to '**Send request noticed'.

 Renamed '**Upload request already set'
      to '**Send request already set'.

 (Suggestion from elgun)

-Changed the way of opening the Hydra.log file, because it seems that it was
 not always correctly opened.

 (Reported by elgun)

-Forgotten to give every new upload/download file name to MainPart for
 the last 10 upload/download list of the Server. Now Hydra does.

 (Reported by elgun)

                              --------------------
                              FAMEFileChecker v1.4
                              --------------------

+Recompiled for MainPart v1.4.

21-May-96
*********
                  -------------------------------------------
                  MainPart v1.5/Server v1.1/SystemEditor v1.4
                  -------------------------------------------

+MainPart:
 System calls will now be additional loaded if a user enteres the user name
 on logon. This is needed for MCI command ~SC used in early bull texts.

 (Suggestion from WiLD THiNG)

+MainPart:
 FIM door command 'CF_SysLanguage' not longer needed.
 'CF_SysLanguage' is obsolete now, use 'CF_Language' instead, because it
 combines now both, text suffix and system language.

 (Suggestion from SieGeL/tRSi)

-MainPart:
 LanguageSelector now handles full language names and not only the first
 10 chars.

 (Reported by SieGeL/tRSi)

-MainPart:
 Fixed some bugs with computer type, modem type and language selectors.
 Those selectors will be used for example with FIM door commands:
 'CF_CompType', 'CF_ModemType' and 'CF_Language'.
 On giving them a number as argument they havn't loaded the right datas
 from disk.

22-May-96
*********
                  -------------------------------------------
                  MainPart v1.5/Server v1.1/SystemEditor v1.5
                  -------------------------------------------

+SystemEditor:
 Gadget SystemEditor -> Node Edit -> More Node Edit -> 'Less NewUserD.'
 obsolete.

26-May-96
*********
                  -------------------------------------------
                  MainPart v1.5/Server v1.1/SystemEditor v1.5
                  -------------------------------------------

+SystemEditor:
 Gadget SystemEditor -> 'MORE' renamed to 'MORE I'

+SystemEditor:
 Window SystemEditor -> Node Edit -> 'More Node Edit' renamed to
 'More Node Edit I'

+SystemEditor:
 New Gadget: SystemEditor -> 'MORE II'

+SystemEditor:
 New Window: SystemEditor -> Node Edit -> 'More Node Edit II':

 Following NewUser questions are now selectable:

 - Location
 - CityState
 - PhoneNumber
 - NumberofLines
 - Computer
 - Modem
 - Language
 - MsgClearScreen
 - FilelistClearScreen
 - RedWhiteSwap
 - XferProtOptions

+MainPart:
 NewUser entry sequence now only asks for name, password and configured
 questions which are now configurable for each Node in the SystemEditor
 -> Node Edit -> More Node Edit II window.

+MainPart:
 Final question for NewUser datas will now only show the from the SysOp
 configured datas which are set to on.

                              ------------------
                              FAMEHydra.FIM v1.3
                              ------------------

+Some code optimizings.

+More error string outputs instead of only error codes.

                              --------------------
                              FAMEFileChecker v1.5
                              --------------------

+Corrected argument template for:

 - 'FAME:FileCheckers/EXAMINE'  :
 - 'FAME:FileCheckers/FILECHECK':
 - 'FAME:FileCheckers/DUPECHECK':
 - 'FAME:FileCheckers/FILEIDENT':

'<NodeNr> <UserSlot> "<UserName>" "<FileType>" "<path+file of the file>"'

Template for tools started from one of the directories above:

'NODENR/K/N/A,USERSLOT/K/N/A,USERNAME/K/A,FILETYPE/K/A,FILEPATH/K/A'

 and for:

 - 'FAME:FileCheckers/FILEID':

'<NodeNr> <UserSlot> "<UserName>" "<FileType>" "<path+file of filedeid>"'

Template for tools started from one of the directory above:

'NODENR/K/N/A,USERSLOT/K/N/A,USERNAME/K/A,FILETYPE/K/A,FILEID/K/A'

 Note: Your tool musn't have the '/A' Always key, this '/A' is used for
       defination, to show you that FAMEFileChecker will ALWAYS call
       the files with all arguments.

 Note: FILETYPE will be a string which describes the type of the file
       we are talking about. FILETYPE can be LHA, DMS, LZX, ...
       it musn't be the file extension! FILETYPE will be first generated
       by the usage of the FileId.library and if this brings no result
       the file extension (sufix) will be used.
       If no file type can be found FILETYPE will be empty: FILETYPE="" .

 - The templates are the same as before, just NODENR and USERSLOT are
   now also defined as keywords (/K), because they already are keywords
   and FAMEFileChecker always uses them as keywords in argument strings.

   Old was: /N/A    -> NODENR/N/A,USERSLOT/N/A

    New is: /K/N/A  -> NODENR/K/N/A,USERSLOT/K/N/A

   ReadArgs need the keyword declaration, because FAMEFileChecker uses
   the keywords and the number of arguments are more than two so keywords
   are a must in this case.
   
   Please change in your tools the template to /K for every argument.

27-May-96
*********
                  -------------------------------------------
                  MainPart v1.5/Server v1.1/SystemEditor v1.5
                  -------------------------------------------

-MainPart:
 Corrected the ANSI prompt/data stuff.
 Ansi prompts are now really able to override user settings.

 (Reported by RAMSES & PASO)

+SystemEditor:
 New gadget in SystemEditor -> More Node Edit I -> 'ANSI Prompt'.
 With ANSI Prompt you can now switch of the early (first) ANSI Prompt.
 This takes NO effect on the late and user data depending ANSI Prompt.

 (Suggestion from RAMSES & PASO)

+MainPart:
 Gadget: SystemEditor -> More Node Edit I -> 'ANSI Prompt' will be used
 from now on.

-MainPart:
 LostCarrier files have been deleted instead of being resumed. Fixed again.
 Problem was because of the new kind of security lock out for other Nodes
 where a 0-byte file will be created in the Node's playpen directory to
 be used by other Nodes to check if a file which shall be uploaded already
 will be uploaded on another Node.

 (Reported by Scandic/DCN)

+MainPart:
 Doubled the delay between ModemRest and ModemInit, because the old one was
 to short for some modems and this causes in some cases problems with the
 RING detect, because the ModemInit was done to early where the modem was
 not ready with ModemReset.

 (RING detect problems reported by RAMSES & PASO and some other SysOps)

                              ------------------
                              FAMEHydra.FIM v1.3
                              ------------------

+Fixed a bug in the Hydra.log file writings.
 Corrupted stuff was written into the Hydra.log file instead the file names
 of received files. Fixed, now the received file names will be written
 correctly.

28-May-96
*********
                  -------------------------------------------
                  MainPart v1.5/Server v1.2/SystemEditor v1.5
                  -------------------------------------------

-MainPart:
 Fixed enforcer hit on door upload if sysop/user was local online.
 This hit only happens if you haven't startet "U" or any other normal
 upload before, because a list was not initialised for FAMEPostFile()
 of FAME.library. FAMEPostFile() will now no longer be used for door
 and msgbase upload, because FAMEPostFile() has been used in this case
 to check for dupefiles what isn't necessary in this case here.

 (Reported by SieGeL/tRSi)

+MainPart:
 On msgbase upload (file(s) to message) SYSCMD 'DUPECHECK' will be skiped
 now.

+SystemEditor:
 New gadgets: SystemEditor -> Access / Secure -> Levels:

 - UserNr.
 - UserName

 The level editor is now splited into three different ways to load/save
 levels.

 1. Level (old way) where you generate a level between 1 - 999.
 2. UserNumber where you generate a level directly for a special user.
 3. UserName where you generate a level directly for a special user.

 Generated .dat files will look like following ones:

 1. Level200.dat or Level255.dat
 2. 1.dat or 15.dat
 3. SysOp.dat or <UserName>.dat

 UserNr. is an integer gadget and UserName a string gadget.
 If you type a number/name here the level will be loaded if found, else
 flags will be cleared and you can generate a new one if you save then.

 You see which of the three ways is currently used on the color of the
 texts (Level/UserNr./UserName). Active one is white and the other both
 black (depends on your wb colors, in this case standard ones).

 Note: In the following way MainPart tries to load level data files
       for a user:

       1. UserNumber
       2. UserName
       3. UserLevel
       4. Next lower UserLevel (-1 each try)
       5. Default values

+MainPart:
 In internal status 'Xfer Protocol' to 'Location' changed.

-Server:
 Fixed a bug with NodeSpyWindow.
 It was possible to notify more nodes to display their text on the
 NodeSpyWindow, fixed now.

 (Reported by elgun)

-MainPart:
 Some display problems with user settings menu 'W 18' and 'W 19'
 if called with arguments. Corrected now.

 (Reported by WiLD THiNG)

+MainPart:
 On calling the FAMEError.FIM door MainPart now restores the whereiam phase
 datas so if the door has finished the action string in the Server will be
 restored.

 (Reported by Scandic/DCN)

+MainPart:
 Now MainPart restores the whereiam phase datas also in download/upload
 procedure.

 (Reported by Scandic/DCN)

+MainPart:
 Now MainPart restores the whereiam phase datas also in SysOpChat after
 viewing files.

 (Reported by Scandic/DCN)

+MainPart:
 CloseGadet window totally changed and a second gadget added.
 First gadget (CloseGadet) is like before the gadget to popup the IconifyAsk
 window. Second gadget (IconifyGadet) is to iconify immediately.

01-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.5/Server v1.2/SystemEditor v1.6
                  -------------------------------------------

+SystemEditor:
 Removed gadget disabling. Windows will now be locked by setting the mouse
 pointer to a BusyMousePointer, modified IDCMP flags, fixed window sizes
 and a requester.
 For AmigaOS V39 and higher the BusyMousePointer will be taken from your
 preferences, else we use our own.

02-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.6/Server v1.2/SystemEditor v1.6
                  -------------------------------------------

-MainPart:
 MCI-Interpreter was displaying colors in ANSI-off-mode, now the strings
 will also be send trough the CutAnsi() procedure before displaying them.

 Note that the interpretation of MCI-Strings has to work char by char, means
 that ANSI sequences build in MCI strings *CAN'T* be filtered out, because
 they are no longer strings. Use MCI-Commands for colors instead!

 Exmaple:

  Works not in every case: '[32m ~N  >:'

 Works fine in every case: '~2  ~N  >:'

 (Reported by Scandic/DCN)

-----------------------------------------------------------------------------
Following some serial changings because of many serial problems with
3rd party serial cards and device drivers.

Thanks to Olaf `Olsen' Barthel for the source of the latest term 4.6
so that i was able to implement some code for special serial cards.
-----------------------------------------------------------------------------

+MainPart:
 DTR drop now first tries to transmit the `drop the line' command supported
 by some IO serial boards (namely the ASDG board) before trying to close
 and reopen the serial driver.

+MainPart:
 Checks after using the above `drop the line' command for the carrier and
 uses close/reopen if carrier is available.

04-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.6/Server v1.2/SystemEditor v1.6
                  -------------------------------------------

-MainPart:
 Fixed hardly bugs with download/upload byte calculation.
 Every user was able to download files in every case. Problem was the changes
 in the handling of ulong variables where some calcualtion procedures were
 no longer working correct, now fixed.

 (Reported by Derrow/DCN)

07-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.7/Server v1.2/SystemEditor v1.6
                  -------------------------------------------

-MainPart:
 MsgBase: A LF was missed in 'Divert to (O)ther user' on diverting to
 'ALL', 'EALL' and 'SYSOP'.

 (Reported by elgun)

09-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.7/Server v1.2/SystemEditor v1.6
                  -------------------------------------------

+SystemEditor:
 Completely re-layouted the Serial/Modem/Screen window.

+SystemEditor:
 New gadget in Serial/Modem/Screen window: PopUp gadget for 'Serial Driver'.
 A device selector window appears with devices from your DEVS: and from
 the exec DeviceList.

+SystemEditor:
 New gadgets in Serial/Modem/Screen window:

 - Use OwnDevUnit    : Using OwnDevUnit.library for device sharing.
 - Not use if Shared : Do not use OwnDevUnit.library if device is shared.
 - Release Online    : Release device on request (Drops DTR)
 - Release Device    : Release device (in normal and shared mode).
   Keep Device Open  : Keep device open (in shared mode only).

 Note: OwnDevUnit.library will be currently not used from MainPart !

11-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.7/Server v1.3/SystemEditor v1.6
                  -------------------------------------------

+SystemEditor:
 Gadget-Help build in.
 Every currently documented gadget/window in the
 'FAME:Documentation/SystemEditor.guide' is now available via gadget-help.
 Move the mouse over a gadget, system-gadget, drag-bar or window and you
 will get a help-text. For SystemEditor gadgets and windows the
 SystemEditor.guide will be loaded and the gadget/window depending Node
 loaded.

 For this feature you must have the SystemEditor.guide like here located:

 'FAME:Documentation/SystemEditor.guide'

+MainPart:
 Internal Door settings: WHO and OLM are now also switchable to ON/OFF
 in SystemEditor -> Internal Doors .

+SystemEditor:
 SystemEditor.guide completed and because of this Gadget-Help also
 completed.

 You *NEED* the latest SystemEditor.guide !

+SystemEditor:
 New gadget 'HELP' in the mainwindow to pop up help-requesters giving
 some informations about Gadget-Help and Gadget-Underscores.

+Server:
 Recompiled because of a compiler fake.

12-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.8/Server v1.3/SystemEditor v1.6
                  -------------------------------------------

-MainPart:
 Recompiled because of a simple missing intuition #pragma in the includes
 which caused gurus on opening the Node screen.

 (Reported by SieGel/tRSi and Scandic/DCN)

13-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

+SystemEditor:
 New gadget: SystemEditor -> System Datas -> 'Max Fid Lines' to define how
 many lines per file id are allowed.
 This value will be used on entering file descriptions manual per hand and
 also from the FAMEFileChecker to cut file ids down to this number of
 max. lines.

 Note: You should set this gadget to a value (12 is recommended), actually
       this gadget is set to 0 what means MainPart and FAMEFileChecker
       are using the default value of 12.

+SystemEditor:
 New directories will be created:

 - FAME:Node<x>/Uploader
 - FAME:Node<x>/Description

+Server:
 New directories will be checked and created:

 - FAME:Node<x>/Uploader
 - FAME:Node<x>/Description

 Uploader is for data files like LostCarrier and PartUpload data files.
 Those files will be directly created if a file begins to be uploaded
 and will be used after crashes/resets while files are uploaded to
 make them as LostCarrier/PartUpload files for the uploader.

 In Description the file descriptions for the dirlistings will be created
 and after this added to the dir listings. Reason is that descriptions
 can be created asynchron to file postings and after successful file posting
 those description will be added to the dirlistings and on failure to the
 held file in the current conference.

                              --------------------
                              FAMEFileChecker v1.6
                              --------------------

+New FILE_ID.DIZ handling:
 Extracted FILE_ID.DIZ files will now no longer be just renamed and if
 needed a line feed added.

 Now FAMEFileChecker generates a completely new file out of a FILE_ID.DIZ
 where every single line will be cuted down to max. 44 chars, all returns
 and line feeds will be cuted too and only a single line feed will be added.

 Means however the origin FILE_ID.DIZ looks like it will be corrected
 to FILE_ID.DIZ defined values. This is needed because of all those stupid
 PC owners meaning they can do what they want and add file ids with
 untypical sizes. PC's typical LF/CR combinations will also be terminated.

+A new and better handling.

 - FAMEFileChecker will now be skipped on door or message base uploads.

 - File checking works now as follows:

   - In background mode FAMEFileChecker receives a check request after every
     complete uploaded file.

   - In direkt mode FAMEFileChecker receives a check request from MainPart
     for every uploaded file, but one file after another if the complete
     upload has been finished.

     In this case MainPart also calls different SYSCMDs for every single
     file:

     1. EXAMINE
     2. FILEIDENT
     3. FILECHECK
     4. DUPECHECK

     - This all will now be skipped on door or message base uploads.

     - MainPart also skips SYSCMD DUPECHECK on uploading file(s) in
       overwrite mode.

   - FAMEFileChecker now also skips DUPECHECK on uploading file(s) in
     overwrite mode.

 - FAMEFileChecker works now as follows:


   ** MainPart calls FAMEFileChecker --
                                       |
                                       v
                          ----------------------------
                         | Identifying of the file    |
                         | 1. Try with fileid.library |
                         | 2. Extension check         |
                          ----------------------------
                                       |
                                       v
        ---------------------------------------------------------------
       | Execution of all files located in 'FAME:FileCheckers/EXAMINE' |
        ---------------------------------------------------------------
                                       |
                                       v
                                   ----------
                             YES /   MsgBase  \
    ----------------------------<    Upload    >
   |                             \     ?      /
   |                                ----------
   |                                NO |
   |                                   v
   |                 -------------------------------------
   |                | FAMEFileChecker's own FileCheck     |
   |                | (Only if identifying was a success) |
   |                 -------------------------------------
   |                                   |
   |                                   v
   |   -----------------------------------------------------------------
   |  | Execution of all files located in 'FAME:FileCheckers/FILECHECK' |
   |   -----------------------------------------------------------------
   |                                   |
   |                                   v
   |   -----------------------------------------------------------------
   |  | Execution of all files located in 'FAME:FileCheckers/DUPECHECK' |
   |   -----------------------------------------------------------------
   |                                   |
    ---------------------------------->|
                                       v
                                   ----------
                              NO / Background \
    ----------------------------<     Post     >
   |                             \     ?      /
   |                               ----------
   |                               YES |
   |                                   v
   |   -----------------------------------------------------------------
   |  | Execution of all files located in 'FAME:FileCheckers/FILEIDENT' |
   |   -----------------------------------------------------------------
   |                                   |
   |                                   v
   |                               ----------
   |                             /   Exist    \ YES
   |                            < FILE_ID.DIZ  >------------------
   |                             \     ?      /                   |
   |                               ----------                     |
   |                                NO |                          |
   |                                   v                          |
   |             ----------------------------------------------   |
   |            | FAMEFileChecker's own FILE_ID.DIZ extraction |  |
   |             ----------------------------------------------   |
   |                                   |                          |
   |                                   v                          |
   |                               ----------                     |
   |                          NO /   Exist    \                   |
   |<---------------------------< FILE_ID.DIZ  >                  |
   |                             \     ?      /                   |
   |                               ----------                     |
   |                               YES |                          |
   |                                   v                          v
   |     --------------------------------------------------------------
   |    | Execution of all files located in 'FAME:FileCheckers/FILEID' |
   |     --------------------------------------------------------------
   |                                   |
   |                                   v
   |                       -------------------------
   |                      | Background file posting |
   |                       -------------------------
   |                                   |
   |<----------------------------------
   |
   v

   ** Back to MainPart

   MainPart now checks (also in background mode) for files and descriptions,
   because if no descriptions are extracted or FAMEFileChecker was not used
   in background mode the files should be posted.

16-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

+SystemEditor:
 Iconify state of new Nodes is now set as default to iconifyed = true.

+MainPart:
 Removed user limitation code completely for FAME-Demo-Version.
 Now only a requester appears each time a Node will be opened.
 On connecting the delay + inforamtion about the demo state has been left
 intact.

 Except of the both things above FAME-Demo-Version has no longer any
 limitations !

 (Suggestion from many people and also limitations will only make trouble)

17-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

+Server:
 Changed the Server outgoing message system to a more dynamical version.
 This shall fix all problems in this case and also a Node start is again
 much faster.

+MainPart:
 ReadArgs() will be used now and also an additional Server check.

+MainPart:
 Checked the whole ShutDown() procedure, fixed many bugs and added more
 security if something fails.

+MainPart:
 Completely rewritten the serial open/close stuff.
 Hope this will fix the problems.

+MainPart:
 If a serial device couldn't be opened an easyrequester appears now.

+MainPart:
 OwnDeviceUnit.library will now be used on opening the serial device.

 Note: OwnDeviceUnit.library is not a must and will only be used if
       found. A missing OwnDeviceUnit.library will not shutdown the Node.

+MainPart:
 No longer used serial devices will be removed from exec device list
 after closing them if possible.

19-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

-Server:
 Fixed a bug in the Server incomming message system if a Node ends and sends
 the very last message Server now holds the Node till Server is ready with
 some stuff. Server normally replyes immediately incomming messages from
 Nodes. Server only makes a copy of all needed datas before.
 This speeds up message system a lot and keeps interupting short, nearly
 to zero.

 This is ok, but not on the very last command were the Node notifies the
 Server that the Node ends now and where the Node frees all it's memory.

 This caused some uninitialised pointers in the message structure.

 This bug nearly can't be found with normal ways.
 Thanks are going to the coder(s) of MungWall.

20-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

+MainPart:
 FAME:Node<x>/Uploader/#? and  FAME:Node<x>/Description/#? will be cleared
 now too before and after uploads.

                              --------------------
                              FAMEFileChecker v1.6
                              --------------------

+Background file and description posting finally implemented.

22-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

+MainPart:
 Xpr transfer now generates LostCarrier and PartUpload crash files.
 Crash files are files generated if a user begins an upload or a file
 has been completely uploaded while a batch upload is in progress.

 Location: 'FAME:Node<x>/Uploader/<FileName>'.

 Crash files are text files similar to normal LostCarrier and PartUpload
 files generated in the conferences.

 The look like here:

 1. line: File name                <- The name of the file.
 2. line: File size                <- Complete file: File size, else ? .
 3. line: Receive position         <- Complete file: File size, else ? .
 4. line: Complete                 <- Complete file: 100, else ? .
 5. line: Username                 <- Uploaders username.
 6. line: User's slot number       <- Uploaders usernumber.
 7. line: Date string              <- MM-DD-YY
 8. line: Time string              <- HH:MM:SS
 9. line: Conference number (Real) <- This line is additional and not in the
                                     normal above told LostCarrier and
                                     PartUpload files.

 Crash files will be used if the computer crashes while users are uploading
 files. If those crash files are generated they will be used next time
 on starting the Server to make them as LostCarrier and PartUpload files
 for the uploader.

 Note: Crash files will be generated for every file uploaded and every file
       which will be started to upload. Crash files will be deleted from
       their location 'FAME:Node<x>/Uploader/<FileName>' every time an
       upload begins or ends. They will only be there while a transfer
       runs. The Server has to look for them to make those files available
       for the user(s).

+Server:
 Crash files will now be sorted out for every Node you start.
 They will be placed to the origin uploaded conferences into PlayPen,
 PartUpload and LostCarrier directories.

                              ------------------
                              FAMEHydra.FIM v1.4
                              ------------------

+Crash files will be generated now. See above for more details.

23-Jun-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

+MainPart:
 Totally rewritten the after-upload code to be able to handle background
 filepostings.

-MainPart:
 Fixed a bug with string int string format on writing crash files.

+Server:
 New window apears on preparing crash files with informations about
 the file from where to where it will be moved.

-MainPart:
 Fixed the bug that on local sysop login the failed files weren't moved to
 hold. Now they will.

+MainPart:
 Now the following SYSCMD's will be skipped if a file has already failed:

 - FILECHECK
 - DUPECHECK

+MainPart:
 Background posting has passed MungWall check completely !

                              --------------------
                              FAMEFileChecker v1.6
                              --------------------

-Background description posting bug fixed.

-Fixed a variable coalisation bug where the same bitflag was used in MainPart
 and in FAMEFileChecker at the same time.

+Completely MungWall check passed !

02-Jul-96
*********
                  -------------------------------------------
                  MainPart v1.9/Server v1.4/SystemEditor v1.7
                  -------------------------------------------

                              --------------------
                              FAMEFileChecker v1.7
                              --------------------

-Fixed a longread from NULL bug which has been only tracked by Cyberguard
 and the 060 CPU.

11-Jul-96
*********
                  --------------------------------------------
                  MainPart v1.10/Server v1.5/SystemEditor v1.8
                  --------------------------------------------

+MainPart:
 On viewing the Logon.txt now also Logon<x>.txt level texts can be used.

 (Hardly suggested by turbo/NVX)

+MainPart:
 New SYSCMDs: STARTCHAT, ENDCHAT, CHATIN and CHATOUT.

 STARTCHAT  - If a door is found it will be used instead of the internal
              sysop chat.

              Note: If a door replaces the internal sysop chat the SYSCMDs
                    CHATIN<x> and CHATOUT<x> won't be started.
                    The door started with STARTCHAT has to call them!

 CHATIN<x>  - Door(s) will be started on entering the sysop chat.
 CHATOUT<x> - Door(s) will be started on leaving the sysop chat.
              In this case the door gets also the following arguments:

              1. The time chated in seconds.
              2. Number of chars typed by the sysop.
              3. Number of chars typed by the user.

              Template for ReadArgs will be:

              TIMECHATED/K/N/A,SYSOPCHARS/K/N/A,USERCHARS/K/N/A

              MainPart will build for example the following argument string:

              TIMECHATED=157 SYSOPCHARS=267 USERCHARS=235

+MainPart:
 New SYSCMDs: OWNDEVUNIT and OWNDEVUNITA.

 OWNDEVUNIT will be called if MainPart receives a request from the
 OwnDevUnit.library to give the currently used device + unit free.

 The door receives following arguments:

 1. The device currently used.
 2. The unit number of the device currently used.

 Template for ReadArgs will be:

 DEVICE/K/A,UNIT/K/N/A

 MainPart will build for example the following argument string:

 DEVICE="serial.device" UNIT=0

 Note: OWNDEVUNIT will only be called if a user is online
       and the OwnDevUnit.library is used.


 OWNDEVUNITA is the same as OWNDEVUNIT, but will only be called if the Node
 is in "Await" mode.

 Note: OWNDEVUNIT will only be used if OwnDevUnit.library
       is used.

-MainPart:
 FIM command 'RD_SaveMsgFile' and XIM commands 'FM_SaveMsgFile',
 'FM_SaveMsgFileFF' and 'FM_SaveMsgFileFD' will now set the current date
 value in the header structure.

+MainPart: FIM command 'RD_SaveMsgFile' enhanced to add file(s) to a mail.
 See 'Include:FAME/FAMEDoorCommands.h' -> RD_SaveMsgFile description for
 more informations.

+MainPart:
 ANSI prompts: 'ANSI graphics?' renamed to 'ANSI emulation?'.

 (Suggestion from SieGeL/tRSi)

+MainPart:
 Newuser's ANSI flag will now be "Prompt for ANSI".

 (Suggestion from RAMSES & PASO)

-MainPart:
 After sending files via ASL-Requester the whereiam-phase (user status flag)
 will now be renewed to the old one.

 Example: SysopChat, after sending (a) file(s) with SHIFT-F5 the action field
          at the Server will no longer contain 'Downloading Files'. It will
          now contain 'Chatting with SysOp' as it was before sending the
          file(s).

 (Reported by Scandic/DCN)

+MainPart:
 Gadget 'Userlimit' in 'SystemEditor -> System Datas' will now be used
 to check for the maximum users allowed.

 If a newuser comes in and the user limit is reached and no deleted user
 exists the newuser will see the following text on trying to begin as
 a newuser:

 'Sorry, no more newusers allowed! Maximum configured user limit reached!'

 or a textfile will be displayed if found called:

 '<Node's screen path>:NewUserLimit.txt'.

 After viewing the NewUserLimit.txt or displaying the text above a short
 delay will follow.

 After the delay (about 2 seconds) a new SYSCMD will be called:

 'NEWUSERLIMIT' without arguments.

 Note: If 'UserLimit' is set to '0' (default) user limit check is disabled.

 (Immediately implementation suggestion from aIRwORX)

+MainPart:
 Gadgets 'NewUser' and 'NewUserKey' in 'SystemEditor -> Node Edit ->
 More Node Edit I' will now be used by MainPart.

 NewUser has three diferent states: - No NewUser
                                    - NewUser Ask
                                    - NewUserKey Wait

 No NewUser     : No more newusers allowed on this Node.
 NewUser Ask    : Ask for newuser stuff (Like FAME was before).
 NewUserKey Wait: This one is more tricky and a hidden way to allow
                  some friends to continue as newusers while for other
                  users the BBS looks like it doesn't allows no more users.
                  For normal users the BBS looks like if this gadget is
                  set to 'No NewUser'.
                  'NewUserKey Wait' means the BBS doesn't allows any newusers
                  except if the user types the same string as defined in
                  gadget 'NewUserKey' at the UserNamePrompt !

                  On typing the in 'NewUserKey' defined string at the
                  UserNamePrompt the BBS will allow this user to continue
                  as a newuser.

 If gadget 'NewUser' is set to 'No NewUser' or to 'NewUserKey Wait' and
 the users hasn't used the right 'NewUserKey' at the UserNamePrompt
 the BBS will show the following textfile:

 '<Node's screen path>:NoNewUser.txt'.

 If this textfile can't be found the BBS will write the following line:

 'Sorry, no newusers allowed!'

 Next a delay (about 2 seconds) will follow.

 After the delay a new SYSCMD will be called:

 'NONEWUSER' without arguments.

 Note: If 'NewUser' is set to 'NewUserKey Wait' and gadget 'NewUserKey'
       contains nothing 'NewUser' will be set to 'No NewUser'.

 (Immediately implementation suggestion from aIRwORX)

 Note: If a 'NewUserKey' is set, it will automatically be added by MainPart
       into the NamesNotAllowed list so you needn't to put it into the
       NamesNotAllowed.txt by hand.

-MainPart:
 If CapitolFiles is used the filepaths and names will be converted uppercase
 in MainPart for no-background-mode so doors will receive the right case
 strings for filenames/paths.

 (Reported by cLYDE rADCLIFFE)

-MainPart:
 Fixed a bug with LostCarrierFiles.
 On LostCarrierFiles MainPart wasn't generating the additional upload pathes
 list of the conference where LostCarrierFiles were detected.
 The additional upload pathes list was empty (on first start) or was a list
 of any possible conference (the last conference used of the last online
 user).
 This resulted in wrong filepostings. The descriptions were posted into
 the right conference, but the files to a totally wrong conference in most
 cases.

 FIXED!!!

 (Reported by elgun)

+MainPart:
 SerIn / SerOut gadgets in 'Status & Commands' window (on pressing the
 HELP key) are now working correctly also online F-Keys F8 and F9 activated
 to toggle serial in and output on/off.

 (Wanted by elgun)

+SystemEditor:
 New gadgets in: 'SystemEditor -> Access / Secure -> Levels -> MORE':

 - BBS Help (H)
 - Quiet Mode (Q)
 - Edit FileFlags (A)

 Note: You *HAVE* to set those three gadgets to true for all your levles
       or your users are no longer able to use "H", "Q" and "A" commands !!!

+SystemEditor:
 Enhanced gadget description in 'SystemEditor -> Access / Secure -> Levels'
 and 'SystemEditor -> Access / Secure -> Levels -> MORE' a bit.
 You will find the menu commands like (A), (F), (U), (D) etc with the texts.

-MainPart:
 Build in level checks for missing command actions:

 - (A)   FILE FLAGS
 - (F)   FILELISTING
 - (N)   NEW FILES
 - (U)   UPLOAD
 - (B)   BULLETINS
 - (V)   VIEW FILES
 - (C)   PM tO SYSOP
 - (H)   BBS-HELP
 - (R)   READ MSG
 - (W)   CHANGE STATS
 - (D)   DOWNLOAD
 - (S)   USER STATUS
 - (E)   ENTER MSG
 - (Z)   SEARCH FOR FILES
 - (Q)   QUIET MODE
 - (OLM) ONLINE MESSAGE
 - (OLC) ONLINE CAPTURE
 - (OLD) ONLINE DISCONNECT USER
 - (OLG) ONLINE GET USER INTO CHAT
 - (OLS) ONLINE CHANGE USERS TIMELIMIT
 - (OLT) ONLINE SPY USER
 - (UG)  GLOBAL UPLOAD
 - (UL)  LOCAL UPLOAD
 - (DG)  GLOBAL DOWNLOAD
 - (DL)  LOCAL DOWNLOAD

 (Reported by turbo/NVX)

+MainPart:
 On menu command 'A' (EditFileFlags) you can now use alternative '+' instead
 of '*' as joker char.

+MainPart:
 If you flag (a) file(s) directly as argument(s) with Menu command 'A'
 (EditFileFlags) you will now no longer be in the EditFileFlag menu.
 You will now jump directly back into menu and files are flaged meanwhile.

 If you use no arguments with 'A' or defined command arguments like
 'F', 'N', 'C' and '#' you will stay in the EditFileFlag menu.

 (Suggestion from elgun)

+Server:
 On saving the window position now the position for the minimized window
 will be saved also.
 Also the state will be saved (minimized/maximized) just as the Server
 window is sized on saving the window position.

 (Suggestion from elgun)

+SystemEditor:
 New gadget 'Open Minimized' in 'SystemEditor -> Server Settings' to start
 the Server minimalized.

+Server:
 New ToolType: MINIMIZE to start the Server minimalized.

+Server:
 New arguments: MINIMIZE/S to start the Server minimalized and MAXIMIZE/S
 to start the maximalized.

 Note: Arguments are *ALWAYS* overiding ToolTypes and settings.

                              --------------------
                              FAMEFileChecker v1.7
                              --------------------

-If CapitolFiles is used the filepaths and names will be converted uppercase
 before FAMEFileChecker will use them. Now every called tool from
 FAMEFileChecker will get uppercase filenames and pathes if CapitolFiles
 is switched on.

 (Reported by cLYDE rADCLIFFE)

12-Jul-96
*********
                  --------------------------------------------
                  MainPart v1.10/Server v1.5/SystemEditor v1.8
                  --------------------------------------------

+MainPart:
 On using the Server buttons: 'SysopLogin', 'SysFastLgn', 'LocalLogin',
 'LocFastLgn', 'Remote Lgn' and 'RemFastLgn' the Node will now open
 the screen if iconified, if not it will bring the Node screen to front.

 (Suggestion from elGuN)

-MainPart:
 After renaming a too long file one of the both path buffers was not updated
 what has some wrong not existing paths as result.

 (Reported by elGuN)

-MainPart:
 FIM command 'SR_PurgeLine' and XIM command 'BB_PURGELINE' weren't restarting
 the serial after clearing the serial device. Now they do.

 (Reported by cLYDE rADCLIFFE)

+MainPart:
 Replaced every single FileCopy() call with FAME.library's FAMEDosMove().
 Internal FileCopy() code terminated.

-SystemEditor:
 Removed the check for the amigaguide.library.
 If the amigaguide.library can't be opened SystemEditor will now disable
 GadgetHelp feature and starts.

 (Reported by elGuN and shiva)

+SystemEditor:
 amigaguide.library will now be opened with v34.

-MainPart:
 Fixed some bugs with the ShowFile() text file view procedure call.
 In some cases a wrong argument was given to ShowFile().
 "0" instead of just "".
 This had had as result a non correct working FIM command CF_ShowTextSuffix
 and XIM command JH_SG. Fixed now.

 (Reported by elGuN and cLYDE rADCLIFFE)

+MainPart:
 Changed a bit the NUP (NewUserPassword) handling.
 Now on every wrong typed NUP the wrong NUP will be written into the
 Callers.log and not only of the maximum NUP fails is reached.

 (Suggestion from elGuN)

-SystemEditor:
 Fixed a bug where i used the AslBase -> lib_Version instead of the
 SysBase -> LibNode . lib_Version (exec), because of this it was possible
 on OS 2.x computers with asl.library V39 installed to disable the bugy
 MX kind gadgets.

 If you try to disable MX kind gadgets with OS/Intuition < 39 the gadgets
 won't be disabled as they should be !
 They will be reseted to default instead, means in 'SystemEditor ->
 Door Edit' the gadgets Single/Multi Node and Interface Module Type
 will be reseted to the first possible option on trying to disable them.

 This caused under OS 2.x with asl.library V39 installed wrong door
 settings.

 (Reported by Funky and elGuN)

                              ------------------
                              FAMEHydra.FIM v1.5
                              ------------------

 +Recompiled because of changed structures.

25-Jul-96
*********
                  --------------------------------------------
                  MainPart v1.11/Server v1.5/SystemEditor v1.8
                  --------------------------------------------

+SystemEditor:

 Renamed argument define for argument JUMP :

 - Renamed: SYSED_WND_uNuSED3 (31) to SYSED_WND_FAMEDebug (31).

+SystemEditor:

 New window in SystemEditor: -> 'FAME Debug' <- with the following gadgets:

 -                  Cmd: FIM log (in)active.
 -                  Dat: FIM data values also.
 -                  Str: FIM string values also.
 - FIM Command/Data Log: Path to the log for FIM door debug.
                         (FAME:Debug/DoorFIMCmdData.Log)

 -                  Cmd: XIM log (in)active.
 -                  Dat: XIM data values also.
 -                  Str: XIM string values also.
 - XIM Command/Data Log: Path to the log for XIM door debug.
                         (FAME:Debug/DoorXIMCmdData.Log)

 -                  Cmd: AIM log (in)active.
 -                  Dat: AIM data values also.
 -                  Str: AIM string values also.
 - AIM Command/Data Log: Path to the log for AIM door debug.
                         (FAME:Debug/DoorAIMCmdData.Log)

 -                  Cmd: TIM log (in)active.
 -                  Dat: TIM data values also.
 -                  Str: TIM string values also.
 - TIM Command/Data Log: Path to the log for TIM door debug.
                         (FAME:Debug/DoorTIMCmdData.Log)

 -   Debug Log (active): Global FAME debug log file (in)active.
 -            Debug Log: Path to the global FAME debug log file.
                         (FAME:Debug/FAMEDebug.Log)

 Simply start the SystemEditor once to generate the new default datafile.
 SystemEditor automatically will start with CHECK argument.

 (Door command tracing is a suggestion from SvEN tHE CREAToR)

10-Aug-96
*********
                  --------------------------------------------
                  MainPart v1.11/Server v1.5/SystemEditor v1.8
                  --------------------------------------------

-MainPart:
 Fixed a bug with the call of the internal usereditor while reading mails.
 Because of copying a string into a null pointer it wasn't possible to get
 the message writer of a mail directly into the internal usered on reading
 the writers mail.
 Fixed - Now it's possible to get the user datas of a writer of a mail
 directly into the internal usereditor by pressing the F6 key.

-MainPart:
 Fixed a bug in the internal usereditor where a 0-byte has been written
 at char 30 in a string, but in most cases not into a string but into
 memory/code of MainPart, because most times there was no buffer available
 for this string - just a single char. The string length wasn't checked
 before writing this 0-byte - now it will.
 It was possible to see this bug if you were in chat and if you go into the
 internal usereditor by pressing F6. This was destroying a buffer in the
 chat code which was exactly the '/' char of a string which is used to check
 for the path to the 'STARTCHAT' SYSCMD. This means in this case the path to
 check for the door which replaces the internal chat by a door was now
 no longer a pat to a file but to a directory which could be locked but not
 executed. This causes the effect that on pressing F1 to go into chat
 the chat was skiped - on resident FAME systems this effect appears for
 every resident node. Fixed!

 (Reported by SieGeL/tRSi)

12-Aug-96
*********
                  --------------------------------------------
                  MainPart v1.11/Server v1.6/SystemEditor v1.9
                  --------------------------------------------

+FAME.library v4.0:
 FAMECutANSI() has been implemented.

-FAME.library v4.0:
 A bug has been fixed which was in the 3.x version of the library and
 had destroyed something in the ExecBase. This caused wrong library
 counters for the FAME.library and had removed reset resident code
 i.e. from RADs.

 (Reported by RAMSES & PASO)

+$VER:FAMEDoorStartUp v0.23:
 CutAnsi code removed and replaced by FAMECutANSI from the FAME.library.

+MainPart:
 CutAnsi code removed and replaced by FAMECutANSI from the FAME.library.

+Server:
 CutAnsi code removed and replaced by FAMECutANSI from the FAME.library.

+MainPart:
 Reorginized download status:

1 Download Bytes/Files Total:    17.676.486 bytes           132 files
2 Upload Bytes/Files Total  :   872.068.331 bytes           876 files
3 Download Bytes/Files (G/C):    17.676.486 bytes           132 files
4 Upload Bytes/Files   (G/C):   872.068.331 bytes           876 files
5 Avail Bytes/Files Today   :    20.000.000 bytes      DISABLED files
6 Bytes/Files Available     :      DISABLED bytes      DISABLED files

7 Overall Bytes/Files Avail.:    20.000.000 bytes      DISABLED files

 1st line: Total and global downloaded bytes and files.
 2nd line: Total and global uploaded bytes and files.
 3rd line: Total and global *OR* conference depending download bytes
           and/or files.
 4th line: Total and global *OR* conference depending upload bytes
           and/or files.
 5th line: The bytes/files available for download of the maximum per day.
 6th line: The bytes/files available for download calculated out of the
           3rd and 4th line. This is the pool a user has free to download
           before the user has to upload again.
 7th line: This line indicates the overall bytes/files for now to download.

 In the (old and renamed) lines 3 and 4 the bytes and/or files for download
 and upload are having a flag which indicates if the values are taken
 from the global user datas or from the conferences own datas.
 This will be decided (for bytes/files and this for upload and download)
 with the RatioType state of the conference the user downloads from.
 If the RatioType of the conference is set to GLOBAL the global/total
 user datas will be used, if not the conference datas with one exception.
 If the global/total bytes/files are less than the conference ones the
 global/total will be used, because they limit the user overall the bbs.

 -> G means global / C means conference depended (G/C).

 The 5th and the 6th line are depending from another. If you have disabled
 like in this case here for bytes to download, but the day bytes are limited
 like here with 20MB per day the disabled is limited up to 20MB per day.

 The 7th line are calculated from line 5 and 6.

 (Suggestion from Scandic/DCN enhanced by Strider/tRSi)

+SystemEditor:
 'FAME Debug' window enhanced with the following gadgets:

 - Strip ANSI : If selected all traced strings have to go through
                FAMECutANSI() where all ANSI atributes will be removed.

 - Buffer     : If selected the tracing will be buffered.

 - Buffer Size: The size in bytes used for the trace buffer.
                Min. and default is 16384 bytes.

 Note: Tracing doors shall only be used for debugging purposes and *NOT*
       in a normal BBS ! And if *NOT* on Nodes used by the users !
       Tracing will slow down the System drastically with more options you
       have selected to be traced. A running door will call many door
       commands per second. There are tones of bytes being traced in a very
       short time --- and this takes time !

       If you have a local Node use this one ! If not it's time to create
       you a personal local SysOp/Programmer Node.

13-Aug-96
*********
                  --------------------------------------------
                  MainPart v1.11/Server v1.6/SystemEditor v1.9
                  --------------------------------------------

+SystemEditor.guide:
 Enhanced for the debug window and gadgets.

+MainPart:
 Debug door tracing completed for FIM.

+MainPart:
 Added a delay in RD_ServerCommand for more security, but the best security
 is that you *DO NOT* use the FIM command RD_ServerCommand or there is no
 guarantee that the bbs runs stable.

+MainPart:
 Debug door tracing completed for XIM.

+MainPart:
 Debug door tracing completed for AIM.

+MainPart:
 Debug door tracing completed for TIM.

+MainPart:
 Global debug tracing completed.

+MainPart:
 New FIM command: 'CF_SysOpChat' to take the user into SysOp-Chat.

----------------------------------- Cut ------------------------------------
#define CF_SysOpChat       426
/* Jump into SysOp-Chat.
 *
 * Data1    <- if 0 last line will be restored.
 * Data2    <- if TRUE shifted chat.
 * Data3
 * IOString
 * StringPtr
 *
 * Note: Data1 indicates (if 0) that the last displayed string on screen
 *       before the chat will be called is buffered and shall be re-
 *       displayed after chatting.
 *       Often useful for buffering input prompts.
 *
 * Note: Data2 emulates (if TRUE) a chat like with SHIFT-F1 called.
 *       If FALSE it will be a chat like with F1 alone.
 *
 * Note: If the user is already in SysOp-Chat it's not possible to go
 *       in chat again. It's only posible if no SysOp-Chat runs.
 *
 *       If it was not possible to go into SysOp-Chat because the user
 *       is already in chat the command will return with:
 *       ReturnCode = 1 (Comand not successfull executed).
 */
----------------------------------- Cut ------------------------------------

+SystemEditor:
 New gadget in SystemEditor -> System Datas -> MORE -> 'Upload Handling':

 Handling of uploads can be done direct (after all files are uploaded)
 or in background everytime a file is completely received.

 There are three possible choices:

 -      User definable: The user is able to decide if he likes background
                        filechecking and posting or not.
                        In this case the user can be more flexible, because
                        the user can have some parts in background and some
                        directly after the transfer if it's complete.

 - Background Chk/Post: Overrides the user settings and forces FAME to
                        have background handlings where ever possible.

 - After Upload Chk/P.: Overrides the user settings and forces FAME to
                        have no background handlings, but direct handlings
                        after the transfer has been completed.

 (Suggestion from turbo/NVX & RAMSES & PASO)

+MainPart:
 If you use the lineditor to write messages and reply to a mail
 the underline from the previous writer attached to the mail contains
 now behind the name also the date and time were the previous writer
 has written the mail:

[< The Name, MM.DD.YY, HH:MM:SS >----------------------------------------]

 Soory, if you use the FAMEFullEd this feature is not available yet, because
 the editor itself has to write this line.

 (Suggestion from Tracer)

-MainPart:
 Fixed some formating problems in status display "S" of FAME.
 Now the contends are limited to the mask.

 (Reported by elGuN)

                              --------------------
                              FAMEFileChecker v1.8
                              --------------------

+Backgroundposting now also checks for the global settings from
 SystemEditor -> System Datas -> MORE -> 'Upload Handling' above.

14-Aug-96
*********
                  --------------------------------------------
                  MainPart v1.11/Server v1.6/SystemEditor v1.9
                  --------------------------------------------

+FAME.guide:

 Forgotten to expain some MCI commands:

 ~BN        BBS Name
 ~BO        BBS Origin
 ~BS        SysOp Name

 and some more.

+MainPart:
 New menu command: 'AA' for '(A)dvanced (A)lter File Flags'.

 Also with the normal 'A' ('(A)lter File Flags') menu command you can pop
 up the advanced options by pressing <A> + <Enter>.

 If you are in advanced mode you can switch into the smaller mode with 'L'
 and from the smaller with 'A' to the advanced.

 It's now also possible to type a Ctrl-L at the prompt of 'A' and 'AA'
 to clear the screen.

15-Aug-96
*********
                  --------------------------------------------
                  MainPart v1.12/Server v1.6/SystemEditor v1.9
                  --------------------------------------------

+MainPart:
 Menu command: 'A' and 'AA':

 You can toggle between the new (A)dvanced menu and the smaller (L)ess
 commands menu.

 Advanced menu has the additional options:

 (T)op        : Select a flag to bring it to the top of all flags.
 (B)ottom     : Select a flag to bring it to the bottom of all flags.
 (U)p         : Select a flag to bring it one place up.
 (D)own       : Select a flag to bring it one place down.
 (^)User Flags: A flag menu for some user flags.
 (I)nfo       : Information menu for a flag file.

 Note: With (T)op, (B)ottom, (U)p and (D)own it's possible to change the
       order of the file flags flagged by newfiles doors or other sources.

       A feature plan is to enhance this more in future with sort functions
       like sorting alphabetic, with file sizes, with extensions and more
       if there are more interressting things.

       To implement this i have to wait for a dynamical list sort procedure
       in the FAME.library which shall be implemented later.

       Bloodrock/tRSi will implement this if he gets a Boyer-Moore search
       algorithm in asm. If you have such a source in asm or something
       similar, please contact us.

 (^)User Flags Menu:
 -------------------

 The User Flags Menu looks like:

----------------------------------- Cut -----------------------------------

Edit the flags for this file flag:

   (1)MyFile.lha *   [MyFile.lha]

   *  Free Download.
[1]   Don't Download this flagged file.
[2]*  Don't delete this flag after downloading the file.

Number to toggle (1-2) (Enter)->None >:
----------------------------------- Cut -----------------------------------

 - First there is the selected file with the same outfit as it would look
   like in the file flag list of all flags.

 - Behind the full name is displayed.

 - If you can remember a '>' behind the filename meens this file is longer
   than the displayed 12 chars. In our example above we havn't this '>'
   indicator, but one char behind it's place is the star '*' which indicates
   that there are file flags at the file flag.
   They will be displayed in the next three lines:

   - File is free download (Not changeable by the user)

   - A flag which forces the download procedures to oversee (skip)
     this file flag.
     Needed if you have more files flagged and you want to download
     some files, but not each file yet.

   - A flag which forces the download procedures to keep this file flag.
     Needed if you test something out and don't want to lose this file flag
     i.e. transfer speed / debugging.

     Note: In some cases the download procedures will oversee this flag
           and delete this file flag if needed i.e. separator check and
           restricted check.

 - Users are able to change for each flagged file the flags indicated
   with [1] and [2].

 (I)nfo Menu:
 ------------

 The Info Menu looks like:

----------------------------------- Cut -----------------------------------

File informations for this file flag:

   (1)MyFile.lha *

Full file name: MyFile.lha
 Size in bytes: Not available yet !

File flags:

  Multiple delete flag.
* Free Download.
  Don't Download this flagged file.
* Don't delete this flag after downloading the file.

<Press a Key to Continue!>
----------------------------------- Cut -----------------------------------

 - First there is the selected file with the same outfit as it would look
   like in the file flag list of all flags.

 - Full file name and file size.
   If flag is not validated (if it will be displayed yellow / 'D' validates)
   there will be displayed 'Not available yet !', because the non validated
   file has no path set and because of this no examination is possible.

 - Now there are the file flags listed. For more see above under
   '(^)User Flags Menu'

   Only difference is the flag 'Multiple delete flag.' which is a internal
   flag and can't be changed.

+MainPart:
 Download procedure will now take care of the file flags listed above
 (Advanced alter file menu) exactly it will check the file flag flags
 FFFL_NODOWNLOAD and FFFL_NODELETE. FFFL_FREEFILE will be checked from
 previous FAME versions too.

+MainPart:
 The FIM command: 'CF_SysOpChat' enhanced (See Data3):

#define CF_SysOpChat       426
/* Jump into SysOp-Chat.
 *
 * Data1    <- if 0 last line will be restored.
 * Data2    <- if TRUE shifted chat.
 * Data3    <- if TRUE no screen to front will be done, else it will.
 * IOString
 * StringPtr
 *
 * Note: Data1 indicates (if 0) that the last displayed string on screen
 *       before the chat will be called is buffered and shall be re-
 *       displayed after chatting.
 *       Often useful for buffering input prompts.
 *
 * Note: Data2 emulates (if TRUE) a chat like with SHIFT-F1 called.
 *       If FALSE it will be a chat like with F1 alone.
 *
 * Note: If the user is already in SysOp-Chat it's not possible to go
 *       in chat again. It's only posible if no SysOp-Chat runs.
 *
 *       If it was not possible to go into SysOp-Chat because the user
 *       is already in chat the command will return with:
 *       ReturnCode = 1 (Comand not successfull executed).
 */

+MainPart:
 SYSCMD 'DLSTATS' enhanced with 'MODE=<x> INT=<x>' like it is in ULSTATS.

+MainPart:
 SYSCMD 'DLSTATS' will now be started everywhere on downloading files
 after the transfer is complete, also local.

 Also the DLSTATS in Callers.log and UD.log will now be done everywhere
 you can download files.

 New are CAllerslog/UDLog and DLSTATS SYSCMD in:

 - ASL-Download.

 - Door-Download remote and local.

 - MSGBase-Download remote and local.

+MainPart:
 On local download now a final status line with information about files,
 bytes, effic., ... appears like in remote downloads.

+MainPart:
 SYSCMD 'ULSTAT' has a new argument: 'DEL=<x>' which indicates files
 FAME has deleted from the uploaded files.

 Files will be deleted if they are 0-byte files and if the user deletes
 uploaded files with the internal fileident editor.

+MainPart:
 SYSCDMs 'ULSTAT' and 'DLSTAT' will be now started in every case.
 Also if there are 0 files uploaded/downloaded.

 Check for FILES=0 in the arguments of 'ULSTAT' and 'DLSTAT'.

+MainPart:
 On local SysOp uploads FAME now also calculates bytes, files, timebonus,
 daily byte + files bonus and cps and adds them to the SysOp user datas
 like it happens on uploading files from remote.

+MainPart:
 On local SysOp downloads FAME now also calculates bytes, files, free bytes,
 free files, daily byte + files bonus and cps and adds them to the SysOp
 user datas like it happens on uploading files from remote.

-MainPart:
 The after upload status now displays the right datas, especially the
 daily datas are displaying now correct values.

+MainPart:
 The dialy byte bonus for files and bytes will be used now.
 The daily byte bonus are all bytes and files uploaded on the current day
 for every single user which will be added to the daily file and byte limit
 check.
 The dialy byte bonus will be reseted to 0 bytes and files every new day.
 This is nice for users if they upload enough they will be now able to
 overide the daily file and byte limit size, but only as much bytes and
 files as they are uploading and only for one day.

                              ------------------
                              FAMEHydra.FIM v1.6
                              ------------------

 Download procedure will now take care of the file flags listed above
 (Advanced alter file menu) exactly it will check the file flag flags
 FFFL_NODOWNLOAD and FFFL_NODELETE. FFFL_FREEFILE will be checked from
 previous FAME versions too.

21-Aug-96
*********
                 ---------------------------------------------
                 MainPart v1.12/Server v1.6/SystemEditor v1.10
                 ---------------------------------------------

+SystemEditor:
 New directories will be created:

 'Settings/DoorConfig' and 'Settings/UserHandler'.

 Additional note: If you don't know it, you needn't to have the CHECK option
                  set on your SystemEditor (ToolType/Argument) to check for
                  new data files every time you call the SystemEditor.
                  Since some time the SystemEditor automatically starts
                  with the CHECK option if something has changed.
                  
                  In this case the SystemEditor will start with CHECK,
                  because of the new directories... test it!

25-Aug-96
*********
                 ---------------------------------------------
                 MainPart v1.13/Server v1.6/SystemEditor v1.10
                 ---------------------------------------------

+SystemEditor:
 Finished the DoorConfig part.
 Now all door config doors will be held in a listviewgadget and can be placed
 in a direction you like. You are able to move entries to top, bottom, up
 and down.
 The same direction showed in the list will be used to display the DoorConfig
 doors in MainPart with "W 14" user settings editor.

+MainPart:
 "W 14" user settings editor finished to display your build in DoorConfig
 doors.
 It can handle as much pages as needed full with DoorConfig doors.
 20 DoorConfig doors per page.

26-Aug-96
*********
                 ---------------------------------------------
                 MainPart v1.13/Server v1.6/SystemEditor v1.10
                 ---------------------------------------------

+MainPart:
 Fixed a little bug in FIM command 'RD_GetUserDataLoc'.
 The path was not ever correct.

31-Aug-96
*********
                 ---------------------------------------------
                 MainPart v1.13/Server v1.6/SystemEditor v1.10
                 ---------------------------------------------

+MainPart:
 There are new bit flags in the FAMESemaphore info structure:

New defines:
~~~~~~~~~~~~
 /* FAMEInfoList fili_BitFlags defines */

#define	FILI_QUIETNODE								(1 << 1)
#define	FILI_USERHIDE									(1 << 2)
#define	FILI_USERREALHIDE							(1 << 3)
#define	FILI_FORCEWHO									(1 << 4)

01-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.13/Server v1.6/SystemEditor v1.10
                 ---------------------------------------------

-MainPart:
 Fixed some enforcer hits with the door debug part.

-SystemEditor:
 Fixed a bug in the door window.
 On empty door call name it could happen that memory trash has been entered
 into the gadged.

07-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.13/Server v1.6/SystemEditor v1.10
                 ---------------------------------------------

-SystemEditor:
 Fixed some bugs within the DoorConfig window.

+SystemEditor:
 DoorConfig part now finished.

 You can now enter all your doors which have a config doors with it
 for configuring the door settings.

 You can also enter doors which have the config part included if they
 start in their config mode with an argument.
 In this case enter this door as a DoorConfig doors and enter into the
 'Arguments' gadget the call of the door with normal DoorCallName and
 the needed argument.

 Example for ByteAndis's newfiles:

 Arguments: 'n w'.

 FAME will tell newfiles or any other door those arguments later.

 Note: DoorConfig doors can only be FIM doors and no other one.

       If you want to use also other door type doors you have to use the
       FAMEDoorConfig FIM door to start other foreign door type doors
       as a FAME DoorConfig door.

       For more details get the FAMEDoCo1.lha file.

       FAMEDoCo1.lha contains FAMEDoorConfig and descriptions + examples.

+MainPart:
 DoorConfig part finished. Use "W 14" (user settings) to see all available
 DoorConfig doors.

 20 DoorConfig doors can be displayed and selected per page.
 If you have more than 20 DoorConfig doors you can go to the next page
 with "N" and back to the previous page with "P".

 There is no limitation in number of pages. --- FAME typical eh? ;)

 List coding rooles!

+MainPart:
 New FIM door commands:

 - NR_GetDoorCallName:

   - Get the DoorCallName.

 - CF_SpecialCmd:

   - Execute a special door command (BBSCMD, SYSCMD or CONF<X>CMD).

08-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.14/Server v1.7/SystemEditor v1.12
                 ---------------------------------------------

+SystemEditor:
 A new directory called 'FAX' will be created.

+MainPart:
 FAX support integrated.

 On receiving a FAX call FAME will execute every program or script
 located in the new directory 'FAX' generated by the SystemEditor.

 The executed programs/scripts will also get some arguments.

 Following an example script to launch GPFAX:

----------------------------------- Cut -----------------------------------
.key node,serialdriver,serialunit,initbaud
.bra <
.ket >

; When running GPFax from CLI, you may use the following command line opts:
;
; -B<speed>   set DTE-DCE speed to 19200 or higher (Class 2)
; -D<x>       Command delay (Class 1 Only)
; -F<0-5>     max fax speed (Class 2 Only)
; -IT<string> Replace the init string in environment with <string>
; -L          Lock Baudrate for Fax/DATA (Class 2 Only)
; -NP         Disable GPFax printer driver
; -M<type>    USR etc. (Class 1 Only)
; -Q          Open in iconified mode
; -S          Do not open serial device
; -Z          Use WorkBench Screen

run GPFAX:GPFAX -NP -Q -B<initbaud> -S -L

Wait 2

rx "Address 'REXX_GPFAX' 'openserial'"
rx "Address 'REXX_GPFAX' 'fconreceive'"
rx "Address 'REXX_GPFAX' 'closeserial'"
----------------------------------- Cut -----------------------------------

 Copy this script into 'FAME:FAX/'

 Example: 'FAME:FAX/FAX_GPFAX.bat'

-MainPart:
 Fixed a bug where in "S" status the real conference number has been used
 instead of the releative one.

 (Reported by sNoW)

+MainPart:
 On FIM and XIM door emulation returncodes from internal functions will now
 be saved to remember them on quitting a door.

 Now also older XIM logoff doors will work.

 (Reported by AirWorx)

-MainPart:
 Fixed a bug in FIM commands RD_LoadAccountMisc and RD_LoadAccount.
 The user data load procedure returncode check was completely wrong.

 (Reported by mEPHISTO%%mARODEUR)

+MainPart:
 Most of the returncodes which will now be remembered on FIM and XIM door
 emulation (2 points above) have been removed as they were before.

 The reason is that there are some doors which will misuse the doortimeout
 to get a reply on the messageport to update prompts etc...

 Left commands which will be checked for returncodes which can bring emergancy
 shutdowns are:

 FIM:

 - CF_ExecuteCommand
 - CF_InternalCmd
 - CF_SpecialCmd
 - CF_ReturnCommand
 - CF_InternReturnCmd

 XIM:

 - RETURNCOMMAND
 - PRV_COMMAND
 - BB_DROPDTR

13-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.14/Server v1.7/SystemEditor v1.11
                 ---------------------------------------------

+Server:
 ToolPort partially implemented.

 - FAMEToolPort semaphore implemented.
 - Tool registration ready.
 - Tool un-registration ready.
 - Tool update ready.
 - ToolPort list handling ready.
 - Infoprocess written, but not 100% complete.
 - A lot more work done in this case.

20-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.14/Server v1.7/SystemEditor v1.11
                 ---------------------------------------------

+MainPart:
 On transfer serial error "Error 36! XPR Error: Hardware data overrun"
 (SerErr_LineErr) now nolonger aborts the transfer.

+MainPart:
 In the main screen on waiting for a call now if Shift-F10 the ^F10 key
 (Iconify Node) is pressed the Node directly iconifies and no longer
 pops up the "Iconify?" window.

-MainPart:
 Mainpart was remebering aborted files on upload.
 This causes that the after upload procedure was trying to handle this file
 as an uploaded files an wrote the error message:

 "Can't find file: <aborted file> !"

 This also was calling EXAMINE, DUPECHECK etc. doors to work with the file
 which doesn't exists. In some cases the file get's written into the
 dir listing which mades it impossible to resume the file if dupechecker
 were installed.

 Now MainPart will forget the aborted file and it will no longer be tried
 to work with aborted files.

+FAME:
 Again a complete Segtracker + Enforcer + Mungwall check on FAME.

 Especially: - Server + Node start.
             - SystemEditor call + system data editing.
             - External login via nullmodem.device.
             - Complete upload procedure:
               - Single files.
               - Batch uploads.
               - With and without transfer abort.
               - With background check and post.
               - With *NO* background check and post.
               - With reset and crash file move + lost carrier file move.
               - Lost carrier posting.

 All tests solved 100% without a single memory hit/loss/overwrite...

 Server v1.7 passed check.
 MainPart v1.14 passed check.
 SystemEditor v1.12 passed check.
 FAMEFileChecker 1.8 passed check.

 Also using on upload without any problems or errors:

 - ByteAndi's FileId v2.6
 - Siegel's mULTI-cHECK v1.2
 - Super-DupeCheck v1.02 by P0T-NOoDLE.

+Server:
 Changed dr.dre's e-mail address in the Server about under Support Team
 to "dr.dre@devilspoint.niederrhein.de".

+MainPart:
 If a filename is too long it must be renamed.
 Now it will also be checked if the new shorter name already exists in one
 of the upload pathes of the conference.

 If this file name already exists it must be renamed again.

 (Suggestion from turbo/NVX)

+MainPart:
 Additional to the point directly above:

 If a renamed file exists the user is now able to delete this uploaded file
 instead of renaming it again.

 The user is now able to delete dupes if they just have a different file name.

 If the file will be deleted the bytes and the file counter will decrease
 to a value as if the file has been never uploaded.

-MainPart:
 Fixed a bug on deleting uploaded files with the internal file description
 generator.

 If no file description is entered it's possible to delete the file.
 In tis case the bytes and the file counter weren't decreased, now they will.

 This was a way to get free bytes and files, but this way is now terminated
 also most SysOps are using fileid doors and in this case the internal
 file description generator was never called and this bug couldn't take
 effect.

                              --------------------
                              FAMEFileChecker v1.9
                              --------------------

+Return codes for FAMEFileChecker now defined.
 They are needed for tools located in:

 'FAME:FileCheckers/EXAMINE/#?'
 'FAME:FileCheckers/FILECHECK/#?'
 'FAME:FileCheckers/DUPECHECK/#?'

 The return codes are:

 #define	FAMEGOODFILE_OK							0
 #define	FAMEGOODFILE_UNTESTED				101
 #define	FAMEGOODFILE_FAILED					102

 Return them with the usage of exit(); in your program.

 Example:

 exit( FAMEGOODFILE_OK );       / exit( 0 );
 exit( FAMEGOODFILE_UNTESTED ); / exit( 101 );
 exit( FAMEGOODFILE_FAILED );   / exit( 102 );

21-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.14/Server v1.7/SystemEditor v1.11
                 ---------------------------------------------

+MainPart:
 System-Password now invisable and stars (*) will be displayed instead.

 It's the same as in the user password prompt.
 On the local SysOp side the System-Password can be seen or also be
 displayed as stars, this depends on the settings in Systemedior ->
 Node Edit -> More Node Edit I -> Display Passwords to SysOp.

+MainPart:
 Stealth Mode implemented.

 In Stealth Mode the way how to login is completely changed in this way:

 1. The Private.txt will be displayed if found.

 2. FAME will ask for the System-Password if there is one.

 3. FAME will ask for user's name and password.

 4. The FAME info and welcome message will be displayed.
    Also FrontEnd will bestarted and the ANSI/emulation prompt appears.

 5. Title.txt will be displayed.

 from now it's the same way as the normal way.

+MainPart:
 Unix Mode implemented.

 The unix mode emulates a complete unix login procedure in the following way:

 1. The login is the same as without unix either Stealth Mode login or normal.

    If you want to have a complete unix like login you have to activate
    Stealth Mode and to remove the System-Password so no Private.txt will be
    displayed and no System-Password will be asked for.

    In this case the first apearing is the username prompt (only exception
    is the next point).

 2. At the very first right before looking for the System-Password or
    welcome message (depending on Stealth Mode on/off) and right before point
    1. a new text will be called named "UnixLogin.txt" so you can emulate
    a workstation connect message.

 3. After valid name + password combination FAME will continue normal login
    procedure.

 How FAME reacts on the user name and password prompt:

 - The typed name will be displayed and you can press as much enter without
   entering a name as you want.

 - In *ANY* case if a name exists or not exists after entering a name
   or whatever FAME asks for the password.

 - The password will *not* be displayed ! Nothing will be displayed on
   entering the password. No stars or other chars *NOTHING*.

 - As i told above in the name prompt you can enter as much as you like
   enter without entering a string/name and nothing happens just a new
   name prompt appears directly under the otehr prompt, but if a name +
   password combination has been entered or a name and no password FAME
   will count the number of wrong combinations and will validate this with
   the SystemEditor -> System Datas -> 'Max Name Failure' value and hangs
   up if this value is reached.

 - If a name + password combination won't exists FAME will display directly
   under the password prompt the string: "Invalid Login".

 - Between the name prompt, password prompt and "Invalid Login" message
   no empty lines will be placed.

 - As i told above on entering a password it won't be displayed and that
   *NOTHING* will be displayed.

   That's not 100% correct.

   If in SystemEditor -> Node Edit -> More Node Edit II the gadget
   'Display Passwords to SysOp' is activated the SysOp is able to read
   the password, but *NEVER* in *NO* case the user can!
   The user can see *NOTHING*.

   By the way, the Callers.log will be written in Unix Mode too including
   every wrong entered password.

 There are some restrictions in the Unix Mode which are not less and also
 important ones, so you must know what you do. Normally the Unix Mode will
 only be used for telnet Nodes.

 Restrictions are:

 - No newuser allowed yet!
   There is no way of beginning as a newuser, because there is no GUEST
   feature or similar yet. If someone needs this, please inform me abot it
   and tell me how do you want to have it implemented, but i think there
   can be only a way via a GUEST keyword.

 - FAME does not display *ANY* FAME typical and unix untypical messages.

 - User's can press enter as much as they like in the name prompt.

 - The user number instead of name feature is disabled.

 - The pattern name feature (Name*) is disabled.

 - No check will be done if the user has been already logged into another
   Node.

 - No check will be done if the Node is reserved for another user.

 - SYSCMD PWFAIL won't be called.

 (Hardly suggested by Scandic/DCN enhanced by Strider/tRSi)

+MainPart:
 New FIM door command:

New AR command:
~~~~~~~~~~~~~~~
#define AR_DropDtrOnNode   862
/* Drop the carrier on a Node.
 *
 * Data1    <- The Node where the carrier shall be droped.
 * Data2
 * Data3
 * IOString
 */

 To drop the carrier on a given Node.

 (Suggestion from Venom/NVX)

+Server:
 Worked a bit on the ToolPort and Info Process, but they are not ready.

 You can register your tools and un-register them, but nothing more and
 this is also not tested yet. No example source exists yet.

 Server Info Prcocess can be called on clicking on the Server gadget
 'FAME TooPort/CoProcesses' and the main window appears, but only with
 an test entry in it, nothing special.

 Please be patiend i work on this all and it will be ready for usage soon.

22-Sep-96
*********
                 ---------------------------------------------
                 MainPart v1.14/Server v1.7/SystemEditor v1.11
                 ---------------------------------------------

-MainPart:
 Fixed a small new bug on local logon.

 This bug has to do with the new Stealth Mode and Unix Mode and is fixed.
 Local login was not possible in 1.14 now it works again.

 This bug was only in the 1.14 MainPart for dr.dre and Venom.

-Server:
 Fixed a bug on quiting the Server.

 If a Node fails on start (maybe if a serial device was busy) Server
 couldn't be quited completely, now it can.

01-Oct-96
*********
                 ---------------------------------------------
                 MainPart v1.15/Server v1.8/SystemEditor v1.12
                 ---------------------------------------------

+MainPart:
 Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

+Server:
 Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

+SystemEditor:
 Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

                             ---------------------
                             FAMEFileChecker v1.10
                             ---------------------

+Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

                              ------------------
                              FAMEHydra.FIM v1.7
                              ------------------

+Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

                                  ----------
                                  SentBy 1.2
                                  ----------

+Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

                               -----------------
                               FAMEError.FIM 1.1
                               -----------------

+Accessfile() procedure (Lock check) now also checks for
 "IoErr() == ERROR_OBJECT_IN_USE" to be sure that a file exists or not exists.

+Recompiled, because it was not linked with the latest DoorStartup code.

03-Oct-96
*********
                 ---------------------------------------------
                 MainPart v1.15/Server v1.8/SystemEditor v1.12
                 ---------------------------------------------

-Mainpart:
 The file in progress check should be work now again so no files can be
 uploaded more times on different Nodes at the same time.
 This should work for xpr-transfers and FAMEHydra too.

+SystemEditor:
 New gadget: SystemEditor -> Node Edit -> More Node Edit I ->
 'Free Download Node' to have a Node completely free download for all
 Conferences used on this Node.

+SystemEditor.guide:
 Enhanced for 'Free Download Node' gadget which is now available for the
 GadgetHelp feature.

+SystemEditor.guide:
 DoorConfig part described which is now available for the GadgetHelp feature.

+SystemEditor.guide:
 UserHandler part described which is now available for the GadgetHelp feature.

+MainPart:
 On local logins MainPart now no longer checks if the user is logged on
 on another Node.

-MainPart:
 Fixed a bug in Unix Mode.

 The hidden password enter procedure was not completely hidden, on using
 backspaces the prompt has been erased. Fixed!

+MainPart:
 On FileFlag editor (A) in advantaged mode (AA) MainPart will now check
 if there is only one file flagged. If there is only one file flagged the
 keys "T" (TOP), "B" (BOTTOM), "U" (UP) and "D" (DOWN) will no longer work.

+MainPart:
 On FileFlag editor (A) in advantaged mode (AA) MainPart will now check
 if there is only one file flagged. If there is only one file flagged on
 using the keys "I" (INFO) and "^" (EDIT USER FLAGS) MainPart will no longer
 ask for the filenumber, MainPart will now use directly the single flag.

+MainPart:
 If less than 2 bitplanes are used for a Node screen MainPart will now
 cut ANSI sequences for the console output.

+MainPart:
 In Unix Mode a new textfile will be displayed: "Unix.txt".

 You can have cycling texts ("<X>-Unix.txt") or only one simple text
 ("Unix.txt").

 Nothing happens if this text file doesn't exists, no comment or
 error-message.

 Location is the screens path of your Node.

-MainPart:
 Fixed a bug with the goodfile flag on local logons.
 There was always N (not checked) on local uploads. Fixed now.

                             ---------------------
                             FAMEFileChecker v1.10
                             ---------------------

+Enhanced argument template.

 New argument: 'CONFPATH/K/A' the Conferences location path enhanced for:

 - 'FAME:FileCheckers/EXAMINE'  :
 - 'FAME:FileCheckers/FILECHECK':
 - 'FAME:FileCheckers/DUPECHECK':
 - 'FAME:FileCheckers/FILEIDENT':

'<NodeNr> <UserSlot> "<UserName>" "<FileType>" "<path+file of the file>"
 "<Conference path>"'

Template for tools started from one of the directories above:

'NODENR/K/N/A,USERSLOT/K/N/A,USERNAME/K/A,FILETYPE/K/A,FILEPATH/K/A,
CONFPATH/K/A'

 and for:

 - 'FAME:FileCheckers/FILEID':

'<NodeNr> <UserSlot> "<UserName>" "<FileType>" "<path+file of filedeid>"
 "<Conference path>"'

Template for tools started from one of the directory above:

'NODENR/K/N/A,USERSLOT/K/N/A,USERNAME/K/A,FILETYPE/K/A,FILEID/K/A,
CONFPATH/K/A'

 Note: Your tool musn't have the '/A' Always key, this '/A' is used for
       defination, to show you that FAMEFileChecker will ALWAYS call
       the files with all arguments.

 Note: FILETYPE will be a string which describes the type of the file
       we are talking about. FILETYPE can be LHA, DMS, LZX, ...
       it musn't be the file extension! FILETYPE will be first generated
       by the usage of the FileId.library and if this brings no result
       the file extension (sufix) will be used.
       If no file type can be found FILETYPE will be empty: FILETYPE="" .

 - The templates are the same as before, just NODENR and USERSLOT are
   now also defined as keywords (/K), because they already are keywords
   and FAMEFileChecker always uses them as keywords in argument strings.

   Old was: /N/A    -> NODENR/N/A,USERSLOT/N/A

    New is: /K/N/A  -> NODENR/K/N/A,USERSLOT/K/N/A

   ReadArgs need the keyword declaration, because FAMEFileChecker uses
   the keywords and the number of arguments are more than two so keywords
   are a must in this case.

   Please change in your tools the template to /K for every argument.

 (Suggestion from dR.dRE!/tRSi)

+Format buffer doubled in size to 512 bytes, because of 'CONFPATH/K/A'.

                                  ----------
                                  SentBy 1.2
                                  ----------

+New Argument 'CONFPATH/K/A' from the FAMEFileChecker v1.10 will be read
 and placed into a buffer, but not used. It's only an example source.

05-Oct-96
*********
                 ---------------------------------------------
                 MainPart v1.16/Server v1.8/SystemEditor v1.13
                 ---------------------------------------------

-SystemEditor:
 Fixed a bug in all windows which have a "More" gadget.
 On using the JUMP argument into such a "More" window the notification
 flag was not checked if something has been changed in the window.
 Now it will.

-SystemEditor:
 Fixed a bug in all windows which have other child windows like "More"
 etc.. The jump flag wasn't reseted after closing such a window.
 This causes on closing the child and the mother window and reopening the
 mother window by hand again a jump into the child window.

+SystemEditor:
 New window: "More Conferences" in 'SystemEditor -> Conferences' window.

+SystemEditor:
 New gadget in 'SystemEditor -> Conferences -> More Conferences'
 called "Conf Password".

 Here you can enter a password for joining a conference.
 If no password is set the password check is disabled, entering a passowrd
 enables the password check on joining this conference.

 (Suggestion from SieGeL/tRSi)

+MainPart:
 It will now be checked if the "Conf Password" is set, if it will be asked
 and validated before joining into this conference is allowed.

 Note: One of the next versions of MainPart will count the amount of wrong
       entered passwords for each user and every conference.

       This version will also call a new SYSCMD named "CONFPWFAIL"
       where a door can be started which will be able to ask for the amount
       of wrong typed conference passwords for the user and for the conf.
       where it happens etc.
       So you doorcoders can write doors which can inform the SysOp and/or
       inactivate the user on max failures.

+MainPart:
 New Callers.Log entry on wrong typed "Conf Passwords":

CONFERENCE PASSWORD FAIL: <Wrong Password>
           OF CONFERENCE: <Conference Name>

+MainPart:
 On viewing files with menu commands "2" (CallersLog), "3" (UDLog),
 "4" (DoorLog), "5" (Filelistings) and "6" (Files) a reverse scan is now
 also possible. MainPart will ask for this with a Yes/No prompt.

 On "2" till "5" reverse scan is default, on "6" normal scan.

 For "2" till "4" a special mode will be activated and the star (***) lines
 (the border which separates the calls) will be displayed in yellow.

 Thanks to Derrow/DCN who gaves me a source to display logfiles reverse.
 This saved me a lot of time. I just has to rework the source to make
 it compatible to MainPart.

 Hey Derrow, it seems that there is a bug in the source which will overwrite
 the memory buffer in some very special cases. I fixed it and will inform
 you about what exactly it is, else the source is fine. Nice that you've
 changed a lot of your coding style and that you get rid of ANSI-C code!

+SystemEditor:
 New gadget in 'SystemEditor -> System Datas -> More System Datas'
 called: "Inactive Windows".

+MainPart:
 State of the new gadget "Inactive Windows" above will be checked now.

 If this gadget is activated all self opening windows will open inactive
 if the Node screen is open.
 If this gadget is not activated they will all open activated.

 This effects following windows:

 - ModemInit window.

 - Transfer window.

 - Door/Tool window.

 - Chat window.

 The both last windows are not used yet.

                              ------------------
                              FAMEHydra.FIM v1.8
                              ------------------

+On opening the Chat-Write-Window (the one which will be the active one)
 the new gadget "Inactive Windows" (above) state will be checked.

 If this gadget is activated this window will open inactive
 if the Node screen is open and Hydra opens on it.
 If this gadget is not activated the window will open activated.

06-Oct-96
*********
                 ---------------------------------------------
                 MainPart v1.17/Server v1.8/SystemEditor v1.13
                 ---------------------------------------------

+MainPart:
 Conference security password check will now also be done if a user
 is logging on and rejoines into such a Conference with a password set.

 In this case it's a bit more difficult to do a security check, becuase
 what is if the user has forgotten the password.

 On rejoin security check more will be done:

 1. The user will see an information about that he/she is rejoining a
    Conference which as a security password set.

 2. Then the user will be asked if he/she wants to rejoin the Conferences
    and entering the password in this case.

 3. If the user wants this he/she will now get the informations about
    which Conference it is (Conference number and name).
    If the user doens't want to enter the password now see point 6.

 4. Next the password will be asked for.

 5. If the user fails entereing the password see point 6, if not
    the Conference will be rejoined.

 6. From point 3 and 5.

    In this case the list of available Conferences will be displayed
    and the user can select a different conference to rejoin.

    If this Conference has also a security password see point 1, if not
    this Conference will be rejoined.

    The user also can enter "G" for Goodbye at the Conference list to leave
    the BBS (maybe a SysOp needs to set passwords for each Conference).

+Mainpart:
 If a user fails on entering the right Conference security password
 Mainpart will now count it in the struct "UserConf" in element
 "NumOfConfPWFail" (v0.27 includes).

+MainPart:
 If a user fails on entering the right Conference security password
 Mainpart will now start a new SYSCMD: "CONFPWFAIL".

 Arguments (Mainline) will be:

 'CONFPWFAILS=%ld USEDPW="%s" CONFNUM=%ld CONFNAME="%s" CONFLOCATION="%s"'

 Note: CONFNUM is the *REAL* conference number, the physical one!

+MainPart:
 Enhanced Callers.Log entry on wrong typed "Conf Passwords":

CONFERENCE PASSWORD FAIL: <Wrong Password>
           OF CONFERENCE: [<Conference Number>] <Conference Name>

 "[<Conference Number>]" is new!

11-Oct-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.8/SystemEditor v1.14
                 ---------------------------------------------

+SystemEditor:
 New gadget in 'SystemEditor -> Conferences -> More Conferences'
 called "ConfPW Mail/File scan skip".

+MainPart:
 On activating the gadget told from above and if a Conference Password is set
 the mail/file scanner won't scan this Conference any longer for new mails
 and files.

 In this case the scanner will tell the user that scanning is not possible
 on this Conference.

 Only if a user joins successfully the Conference by hand the mails and files
 will be scanned.

 An exception will be made also if a user is logging on and enters
 successfully on rejoining a Conference the password.
 In this case the scanner will also scan this Conference, but no other
 Conference with a password set.

20-Oct-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.8/SystemEditor v1.14
                 ---------------------------------------------

-MainPart:
 Fixed a case error of the following text on logoff:

There are flagged files in Conference (<conf num>) <conf name>
Do you want to leave without downloading them?(y/n/s/A/g/?)>:

(y)es, forget them.
(n)o, Back to the BBS!
(s)ave them till next call.
(A)ll save. Save all flags and quit now!
(g)oodbye, now!

 (N) was upper case and (a) was lower case, but that was false,
 now (n) is lower case and (A) is upper case.

01-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.8/SystemEditor v1.14
                 ---------------------------------------------

+SystemEditor:
 New argument and ToolType called "SINGLEWINDOWS" (switch).

 This switch is to save chip memory.

 If this argument or ToolType is set SystemEditor will now close the
 actual window which is open on opening a new one.
 After closing the new window the previous window will be reopened.

 (Suggestion from dalamar)

05-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.9/SystemEditor v1.14
                 ---------------------------------------------

-MainPart:
 DoorConfig doors can now be also started if they are resident in memory.

 (Reported by Snow & Sven the Creator)

+MainPart:
 New FIM door command:

#define NR_GetUserLevelFlags 114
/* Get the level flags for the actual user.
 *
 * Data1
 * Data2    -> MaxPages
 * Data3    -> MaxRelogins
 * IOString -> Array of level flags.
 *
 * Note: You will get an Array (IOString) where you can use the level defines
 *       to see if a level flag is set.
 *       True / (1) = (flag set), false / 0 = (flag not set).
 *       If in the position you check the value is 0 the level flag
 *       is not set and the user isn't able to do this. If the value is
 *       <> 0 or != 0 (not 0) it's set and the user is able to do this.
 *
 * Note: For the level defines used in the array see FAMEDefine.h
 *       FLVL_<Level flag name> ( FLVL_ ) defines.
 *
 * Example 1:
 *
 * PutCommand("",0,0,0,NR_GetUserLevelFlags);
 *
 * if(MyFAMEDoorMsg -> fdom_IOString[ FLVL_CommenttoSysOp ])
 *   PutString("\r\nComment to SysOp allowed!\r\n",1);
 * else
 *   PutString("\r\nNo comment to SysOp allowed!\r\n",1);
 *
 * Example 2:
 *
 * PutCommand("",0,0,0,NR_GetUserLevelFlags);
 *
 * if(MyFAMEDoorMsg -> fdom_IOString[ FLVL_CommenttoSysOp ] == 0)
 *   PutString("\r\nNo comment to SysOp allowed!\r\n",1);
 * else
 *   PutString("\r\nComment to SysOp allowed!\r\n",1);
 *
 */

 To get the different level flags set for the actual user.

 (Suggestion from Derrow/DCN)

-MainPart:
 Fixed a bug on reading the serial default prefs "ENV:sys/serial.prefs".

 If this serial.prefs file was not available MainPart was guruing.
 Now MainPart first checks if the file exists. If it doesn't exists the
 default serial buffer size of 16384 bytes will be used.

 (Reported by bLACKlINE)

+Server:
 New argument and ToolType called "NOVERCHECK" (switch).

 If set Server will do no version/revision checkings.

 Note: See the point below.

+Server:
 Version check implemeted.

 Server now checks on every start if the argument and ToolType "NOVERCHECK"
 isn't set for versions and revisions of the following exectuables:

 - FAME.library    (Location: Libs:)

 - SystemEditor    (Location: *1)
 - FAMEFileChecker (Location: *1)
 - UserEditor      (Location: *1)
 - FAMEHydra.FIM   (Location: *2)

 - (FAMEInfo)      (Location: *1)
 - (FAMESModem)    (Location: *2)

 - MainPart        (Location: *3)

 *1 = FAMEModules, configure it with SystemEditor -> FAME Modules -> '...'.
 *2 = Will be taken from the SYSCMD data files.
 *3 = If Resident from RAM else as configured, configure it with
      SystemEditor -> Node Edit -> 'Node Start Path'.

 Note: FAME.library will be checked ALWAYS! Also if "NOVERCHECK" is set!

 Note: FAMEInfo and FAMESModem will not be checked yet, because they arn't
       released yet, but the check code is ready and implemented.

 Note: MainPart will be checked for every started Node.

 Note: Resident executables will also be checked.

 Note: The check will be done for version and revision.
       There will be a check for a minimum and maximum allowed value
       of versions and revisions.

 Note: If you use MainPart not resident it will take now some more time to
       start the Nodes, because they will be loaded twice now.

       A good reason to make MainPart resident NOW! ;)

 (Suggestion from dalamar)

07-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.9/SystemEditor v1.14
                 ---------------------------------------------

-MainPart:
 Pattern match check on download was failing in some cases.
 Shall be fixed now.

 (Reported by elgun)

+MainPart:
 New DeleteFile() replace procedure called DeleteFileForce() implemented
 which deletes the DELETE protection bit before it deletes a file.

 This is important, because some funny guys are uploading files with a
 File_Id.diz included which has the DELETED bit set and can't be deleted
 without removing it before. If such a file like the File_Id.diz can't be
 deleted every other uploaded file will have the same description.

 Now this can no longer happen. DeleteFileForce() will be used also on every
 other place where DeleteFile() has been used.

                              ------------------
                              FAMEHydra.FIM v1.9
                              ------------------

-Fixed an enforcer hit in the original Hydra source.
 This hit happens on skipping files on upload.
 Fixed.

 (Reported by elgun)

-Fixed a small bug where the elapsed time was not viewed in the receive
 window, but in the send window instead.

+Elapsed and estimated time strings in the transfer windows will now have
 leading zeros.

 Old: " 9: 9 mins left"

 New: "09:09 mins left"

 (Suggestion from TANGo/NerveAxis^Twisted & aIRwORX)

09-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.9/SystemEditor v1.14
                 ---------------------------------------------

-MainPart:
 Fixed a bug with the online F-keys F8 and F9 (serial I/O blocking).
 If those keys were used local FAME was crashing.
 Fixed.

 (Reported by elgun & SieGeL/tRSi)

+MainPart:
 On local download it's now also possible to flag additional files.

                             ---------------------
                             FAMEFileChecker v1.11
                             ---------------------

-File descriptions will now no longer be posted to the Conferences Dir/Held
 if the depending file couldn't be posted before. On systems with full
 hard disks where no space was left for the upload but for the description
 it happens that there was the description posted but not the file.
 This was causing double descriptions on later posting of the file.

 (Reported by ENZO)

10-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.9/SystemEditor v1.14
                 ---------------------------------------------

+SystemEditor:
 SystemEditor -> Node Edit -> Ser/Mod/Scr -> 'Init Baud' has two new gadgets
 '<' and '>' to walk trough a list of defines baud rates:

 -    110 Baud
 -    300 Baud
 -    600 Baud
 -   1200 Baud
 -   2400 Baud
 -   4800 Baud
 -   7200 Baud
 -   9600 Baud
 -  12000 Baud
 -  14400 Baud
 -  19200 Baud
 -  31250 Baud
 -  38400 Baud
 -  57600 Baud
 -  64000 Baud
 -  76800 Baud
 - 115200 Baud
 - 230400 Baud
 - 345600 Baud
 - 460800 Baud
 - 576000 Baud
 - 614400 Baud
 - 691200 Baud
 - 806400 Baud
 - 921600 Baud

 Now it's more easy to select different baud rates.
 The mechanism behind the new gadgets is made logical and will
 increase/decrease to the next/previous available baud rate.
 If a non existing baud rate has been entered manually the next higher/lower
 defined baud rate will be used on using the '<' and '>' gadgets.

12-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.9/SystemEditor v1.14
                 ---------------------------------------------

+SystemEditor:
 Palette/Pen window completed.

   See: SystemEditor -> Node Edit -> Ser/Mod/Scr -> 'Palette/Pens' gadget.

 Here you can change every color and every pen of every Node.
 You can set/get default datas (used for new created Nodes), undo, exchange,
 reset, change ScreenMode, colors, font etc. live on an example Node Screen
 where you can see the results directly. You can save it for other Nodes,
 get the settings from other Nodes and lots more.

 Also a new feature is the color 1 / 7 swap.

 On using this the colors and needed pens are swaped to toggle between
 color 1 (white/red) and 7 (red/white). Also MainPart will toggle the pens
 and swaps the colors for 1 / 7 displayed if this mode has been selected.

+MainPart:
 The color and pen datas will be used now generated by the SystemEditor
 (see above). If they doesn't exists the default values will be used.

-Mainpart:
 The problem in some cases with a non fited backgroundwindow should be
 fixed now.

 PLEASE: If you have problems now with the new FAME and your screen
         settings, use the SystemEditor and go into every Node's screen
         data settings (SystemEditor -> Node Edit -> Ser/Mod/Scr)
         and select your ScreenMode again... or just saving should also help.

+MainPart:
 If the above told 1 / 7 color swap has been activated the strings send
 to console will be swaped in color 1 and 7.

14-Nov-96
*********
                 ---------------------------------------------
                 MainPart v1.18/Server v1.9/SystemEditor v1.14
                 ---------------------------------------------

+Server:
 About window: Changed the e-mail addresses from dre.dre, siegel, beatnik
               and strider to the new <name>@trsi.de ones.

+FAME.guide:
 Changed the e-mail addresses from dre.dre, siegel, beatnik and strider
 to the new <name>@trsi.de ones.

+MainPart:
 Enhanced FIM door commands:

 - NR_HotKey
 - NR_WaitChar
 - AR_GetKey
 - AR_WaitRAWChar
 - AR_HotKey

 fdom_Data3 now indicates if the char is from the console (0) or from
 the serial (1).

 (Suggestion from Dr. Ice/GMS^LSC & Splash/ElT^MGS!)

+MainPart:
 New FIM door commands:

#define NC_Nuked             255
/* Called from a Nuker to update the nuked bytes and files
 *
 * Data1    <- The number of files nuked.
 * Data2
 * Data3    <- The number of bytes nuked.
 * IOString
 *
 * Note: Data1 and Data3 are files and bytes nuked by the nuker and they
 *       will be added to the user's datas.
 *
 * Note: This command will also call all doors found under SYSCMD
 *       NUKED and NUKED<x>
 */

#define NC_NukedAfter        256
/* Called from a Nuker to update the nuked bytes and files
 *
 * Data1    <- The number of files nuked.
 * Data2
 * Data3    <- The number of bytes nuked.
 * IOString
 *
 * Note: Data1 and Data3 are files and bytes nuked by the nuker and they
 *       will be added to the user's datas.
 *
 * Note: This command will also call all doors found under SYSCMD
 *       NUKED and NUKED<x>, but not before the Nuker has shut down.
 */

 (Suggestion from Thomas Schuerger)

+MainPart:
 New SYSCMD will be called if a Nuker supports the new FIM commands
 NC_Nuked or NC_NukedAfter.

 The SYSCMD is named NUKED btw. NUKED<x> where <x> is a number from 1
 to the maximum number of doors installed for this command.

 Doors called by NUKED<x> can get the following argument string on using
 the FIM command NR_MainLine :

 "NUKED NNFILES=%ld NNBYTES=%lu USERSLOT=%ld USERNAME=%s UFILESU=%ld " +
 "UBYTESU=%lu UFILESD=%ld UBYTESD=%lu NFILES=%ld NBYTES=%lu"

 Description:

 - NUKED          The SYSCMD name.

 - NNFILES=%ld    Nuked Files. Files nuked NOW. (long value)

 - NNBYTES=%lu    Nuked Bytes. Bytes nuked NOW. (unsigned long value)

 - USERSLOT=%ld   Nuked user's slot number.

 - USERNAME=%s    Nuked user's name.

 - UFILESU=%ld    Nuked user's uploaded files overall. (long value)

 - UBYTESU=%lu    Nuked user's uploaded bytes overall. (unsigned long value)

 - UFILESD=%ld    Nuked user's downloaded files overall. (long value)

 - UBYTESD=%lu    Nuked user's downloaded bytes overall. (unsigned long value)

 - NFILES=%ld     Nuked user's nuked bytes overall. (long value)

 - NBYTES=%lu"    Nuked user's nuked files overall. (unsigned long value)

+SystemEditor:

 New SystemEditor window direct defines (JUMP argument):

#define	SYSED_WND_MoreConferences		35
#define	SYSED_WND_PalettePens				36

 Usage: 'SystemEditor JUMP=35' or 'SystemEditor JUMP=36'

+MainPart:
 New text in StealthMode called "Stealth.txt" which will be displayed
 if found in the actual screens path (if StealthMode is on) and will be
 displayed between the SysPW prompt and the name prompt.

 (Suggestion from Airworx)

+Mainpart:
 After uploading / downloading files the user datas will be written
 back to disk to be more save against data loss.

 (Suggestion from ENZO)

+MainPart:
 Recompiled with the new SAS/C 6.57 update.

+SystemEditor:
 Recompiled with the new SAS/C 6.57 update.

+Server:
 Recompiled with the new SAS/C 6.57 update.

                              ------------------
                              FAMEHydra.FIM v1.9
                              ------------------

+Recompiled with the new SAS/C 6.57 update.

                             ---------------------
                             FAMEFileChecker v1.11
                             ---------------------

+Recompiled with the new SAS/C 6.57 update.

15-Nov-96
*********
                 ----------------------------------------------
                 MainPart v1.18/Server v1.10/SystemEditor v1.14
                 ----------------------------------------------

-Server:
 Version check was checking a wrong FAME.library revision.
 You need FAME.library v4.0 !

 (Reported by SieGel/tRSi)

+Server:
 Version check checks now also only versions/revisions higher 0.

-Server:
 Version check will now be executed after starting the FAMEStart.bat and
 all files in FAME:FAMEStart/ and not before.

 (Reported by SieGel/tRSi)

18-Nov-96
*********
                 ----------------------------------------------
                 MainPart v1.18/Server v1.11/SystemEditor v1.14
                 ----------------------------------------------

-Server:
 Version check was using AccessFile() and not FAMEAvailExe() to check if
 FAMEHydra.FIM exists at it's configured location. The check failed
 if FAMEHydra.FIM was used resident. Now it works fine, because
 FAMEAvailExe() also checks for resident programs in memory.

 The same for the FAMESModem.FIM version/revision check which won't be
 called yet, but which is the same kind of check as FAMEHydra.FIM's .

 (Reported by SieGel/tRSi)

20-Nov-96
*********
                 ----------------------------------------------
                 MainPart v1.19/Server v1.12/SystemEditor v1.14
                 ----------------------------------------------

-MainPart:
 The UPLOADSTAT and DOWNLOADSTAT in Callers.log and UD.log has been
 destroyed in most cases, because the new insterted line to write
 user.datas back has overwritten the buffer needed for writing the
 Callers.log and UD.log stats. Fixed.
 User datas will now be written back to disk after the logs are written.

 (Reported by SieGel/tRSi)

+Server:
 Recompiled, because of version check.

21-Nov-96
*********
                 ----------------------------------------------
                 MainPart v1.20/Server v1.12/SystemEditor v1.14
                 ----------------------------------------------

-MainPart:
 Menu command "/" was allowed. "/" is a separator and not allowed here.

 (Reported by sERAPH)

01-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.20/Server v1.12/SystemEditor v1.14
                 ----------------------------------------------

+MainPart:
 Changed my e-mail address.

+MainPart:
 Changed some texts in the GUI.

+MainPart:
 SystemEditor -> Node Edit -> 'PW's Case Insens.' flag will be used from
 now on the following password prompts:

 - SysPW     (Has been used always here)
 - NewUserPW (New)
 - UserPW    (New)
 - DoorPW    (New)

 You can now decide for each Node if the passwords will be case sensitive
 or case insensitive.

 (Suggestion from elgun)

05-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.20/Server v1.12/SystemEditor v1.14
                 ----------------------------------------------

-MainPart:
 Again pattern match check on download failed in some cases.
 Now in the pattern string the containing stars ('*') will be converted first
 to '#?' before calling ParsePatternNoCase().

 (Reported by elgun)

06-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.20/Server v1.12/SystemEditor v1.15
                 ----------------------------------------------

-SystemEditor:
 On the Palette/Pen window the color changing via the three sliders wasn't
 possible directly on pulling them with the pressed mouse button. Now it is.

+SystemEditor:
 New gadget in SystemEditor -> Node Edit -> Ser/Mod/Scr -> 'NumOfRings'
 (Number of rings) which indicates how many rings have to be received
 till the Node informs the Modem to answer the call.

 Note: Every value shorter than 2 should be handled as 1 so you needn't
       to set it to 1 if you already have FAME installed, because in this
       case the 'NumOfRings' will be 0 now for every Node.

+MainPart:
 'NumOfRings' (see above) will be used now to indicate the number of rings
 before the Modem answers.

 On every ring a timer will be started for 10 seconds. After 10 seconds
 the ringcounter will be reseted and the Node resets. On the final ring
 the timer will be set to 30 seconds (after the modem answer string has
 been send) to wait for the connect 30 seconds long (just as it was
 implemented before).

+MainPart:
 Enhanced the internal debug output for calls/connects etc...

+SystemEditor.guide:
 'Palette/Pens screen' part written.

+SystemEditor:
 'Palette/Pens screen' docu (SystemEditor.guide) implemented for GadgetHelp.

-SystemEditor:
 'Ser/Mod/Scr' window wasn't set to busy or wasn't closed (SINGLEWINDOWS mode)
 on opening the 'Palette/Pens screen' screen. Fixed.

+MainPart: FIM door commands 'NR_PromptChars' and 'NR_GetEditString' changed
 and enhanced:

 'NR_PromptChars':

 - Description changed a bit.
   "Display Levels to SysOp" was a totally wrong string it has to be:
   "Display Passwords to SysOp".

 - New Data2 mode flags 7 and 8.

#define NR_PromptChars      14
/* Prompt the user for a specified number of chars
 *
 * Data1    <- Max. chars can be typed.
 * Data2    <- Flag for different modes.
 * Data3    -> Returncode from internal procedure (usable for Data2 flag 3).
 * IOString <- String will be used in prompt.
 * IOString -> Filled string with chars typed by the user.
 *
 * Data2 flag description:
 *
 * 0 Simple stringingput without edit and other features.
 * 1 Stringingput for chatmode. (uses wordwrapping. Do not use this to get a
 *   complete string, because after a wordwrap the string changes).
 * 2 Stringingput for MsgEditor. (You can't use this flag! It can cause
 *   damage, because it uses an internal list. Flag denied.
 * 3 Stringingput for bulletinviewer. (It returns cursorkeys left and right
 *   up and down for the bullview to switch -(x)-BullHelp.txt texts.
 *   Data3 contains: Up: 65 Down: 66 Rigth: 67 Left: 68.
 * 4 The same as 0, but all chars will be displayed as *. Like: ****** ,
 *   but they musn't be displayed as * on console! If the flag "Display
 *   Passwords to SysOp" is set the chars will be displayed as real chars
 *   on console.
 * 5 Unused.
 * 6 A real feature! This is the best flag u can use! U let the user totaly
 *   edit his string. The user can walk into the string, delete chars with
 *   delete and backspace and the user can insert at every position new chars.
 * 7 The same as 4, but here will definality no single char be typed on the
 *   screen. No single char means also NO stars (*). Only exception is if
 *   the flag "Display Passwords to SysOp" is set the chars will be displayed
 *   as real chars, but only on console.
 * 8 Numeric mode only. Only alphanumeric chars can be typed and no
 *   alphabetical ones.
 *
 * Higher flags are reserved and can't be used.
 * Normaly u can only use flag 0 and 6 !!!
 *
 * If IOString contains data on calling this command, the user will get this
 * data into the prompt, and can edit it (flag 6).
 */


 'NR_GetEditString':

 - Description changed a bit.
   "Display Levels to SysOp" was a totally wrong string it has to be:
   "Display Passwords to SysOp".

 - New Data2 mode flags 7 and 8.

 - Data3 will be used now too.

#define NR_GetEditString    83
/* Prompt the user for a specified number of chars and edits String
 *
 * Data1    <- Max. chars can be typed.
 * Data2    <- Flag for different modes.
 * Data3    -> Returncode from internal procedure (usable for Data2 flag 3).
 * IOString <- String will be used in prompt.
 * IOString -> Filled string with chars typed by the user.
 *
 * Data2 flag description:
 *
 * 0 Simple stringingput without edit and other features.
 * 1 Stringingput for chatmode. (uses wordwrapping. Do not use this to get a
 *   complete string, because after a wordwrap the string changes).
 * 2 Stringingput for MsgEditor. (You musn't use this flag! It can cause
 *   damage, because it uses an internal list.
 * 3 Stringingput for bulletinviewer. (It returns cursorkeys left and right
 *   up and down for the bullview to switch -(x)-BullHelp.txt texts.
 *   Data3 contains: Up: 65 Down: 66 Rigth: 67 Left: 68.
 * 4 The same as 0, but all chars will be displayed as *. Like: ****** ,
 *   but they musn't be displayed as * on console! If the flag "Display
 *   Passwords to SysOp" is set the chars will be displayed as real chars
 *   on console.
 * 5 Unused.
 * 6 A real feature! This is the best flag u can use! U let the user totaly
 *   edit his string. The user can walk into the string, delete chars with
 *   delete and backspace and the user can insert at every position new chars.
 * 7 The same as 4, but here will definality no single char be typed on the
 *   screen. No single char means also NO stars (*). Only exception is if
 *   the flag "Display Passwords to SysOp" is set the chars will be displayed
 *   as real chars, but only on console.
 * 8 Numeric mode only. Only alphanumeric chars can be typed and no
 *   alphabetical ones.
 *
 * Higher flags are reserved and can't be used.
 * Normaly u can only use flag 0 and 6 !!!
 *
 * If IOString contains data on calling this command, the user will get this
 * data into the prompt, and can edit it (flag 6).
 *
 * Note: NR_GetEditString is nearly the same as NR_PromptChars. In fact it
 *       is the same, but if you use NR_GetEditString no Data2 (mode flag)
 *       check will be done. Here you can use undocumented, obsolete and non
 *       existing modes. Beware of what you're doing it can result in crashes
 *       if you use for example flag number 2.
 */

 (Data2 mode 8 suggested by elGuN)

                             -------------------
                             FAMEHydra.FIM v1.10
                             -------------------

+Hydra Receive and Send window title enhanced with some more information.
 Because of this the window titles are changed.

 Now they will look like below:

  - Receive: 'Nd.<Num> Hydra Receive <FilesIn>'
             'Nd.0 Hydra Receive 15'

             <Num>     = Node number.
             <FilesIn> = Files uploaded yet.

  -    Send: 'Nd.<Num> Hydra Send <FiOut/Flgd>'
             'Nd.1 Hydra Send 34/154'

             <Num>     = Node number.
             <FiOut>   = Files downloaded yet.
             <Flgd>    = Files flagged.

 (Suggestion from elGuN)

07-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.20/Server v1.13/SystemEditor v1.15
                 ----------------------------------------------

+Server
 Recompiled for the new version/revision numbers of MainPart v1.20,
 SystemEditor v1.15 and FAMEHydra.FIM v1.10. Needed for the Server
 version/revision check.

 Possible versions/revisions:

 - MainPart v1.19 - v1.20

 - SystemEditor v1.14 - v1.15

 - FAMEHydra.FIM v1.9 - v1.10

08-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.21/Server v1.14/SystemEditor v1.16
                 ----------------------------------------------

+SystemEditor:
 Two new gadgets:

 SystemEditor -> Node Edit -> More Node Edit II -> 'TrapDoorMode'

 and:

 SystemEditor -> Node Edit -> More Node Edit II -> 'ExitTrapDoor'

 'TrapDoorMode':

 This mode is for TrapDoor calls.
 TrapDoor is for mailer like fido mailers.

 If TrapDoorMode is selected the Node doesn't react on the serial itself.
 The Node waits for a signal from the Server. The Server gots the TrapDoor
 call signal from the tool FAMETrapDoor which will be called from TrapDoor.

 In the TrapDoorMode the Node starts but doesn't opens the serial driver,
 it waits for the request to overtake the serial from TrapDoor. If the Node
 receives such a request it will open the configured serial driver and unit
 with the from TrapDoor transmited DTE rate in shared mode and connects
 like a normal Modem call.

 If you don't want that the Node is loaded and waits for the TrapDoor request
 you can also swtich on the next gadget called 'ExitTrapDoor'.

 Note: If the Node is shutdown and a TrapDoor call receives the Node will
       be started and answers the request.

 'ExitTrapDoor':

 If ExitTrapDoor is selected the Node shuts down after a TrapDoor connection.
 The Node also starts if the Server receives a TrapDoor call.

 ExitTrapDoor is only available if 'TrapDoorMode' is selcted.

 Note: If you don't want to have the Node started if you start the Sever
       select also SystemEditor -> Node Edit -> 'Idle Node'.

+SystemEditor.guide:
 Enhanced with docus for 'TrapDoorMode' and 'ExitTrapDoor' (see above).

+Server:
 TrapDoor support implemented.

 Server will inform the Node or start the Node if a TrapDoor call receives.

+MainPart:
 TrapDoor support implemented.

 The Node is now able to handle TrapDoor calls. If the Node is not
 configured to receive TrapDoor calls then the Node ignores the requests.

 I don't know if the whole TrapDoor thing works, please test it!

 (TrapDoor support requested by joo and some others i forgot)

+MainPart:
 New arguments for TrapDoor support:

 - TRAPDOOR/K/S
 - DTERATE/K/N
 - CONNECTMSG/K

 Note: Do not use these arguments and start the Node directly from
       TrapDoor like on other BBS Systems. The Server does this for
       you and uses therefor those arguments.

       *Please use always the 'FAMETrapDoor' tool.*

+MainPart:
 Two new texts: 'NewUserJoin.txt' and 'NewUserJoined.txt'.

 'NewUserJoin.txt' will be displayed if a user begins as newuser.

 'NewUserJoined.txt' will be displayed if the user has successfully
 filled out all datas.

                            -----------------
                            FAMETrapDoor v1.0
                            -----------------

+New tool which is the starter of TrapDoor Nodes.
 FAMETrapDoor will be called by TrapDoor itself and has the following
 argument template:

 "NODE/K/N/A,DTERATE/K/N/A,CONNECTMSG/K/A"

 Example TrapDoor string:

 'FAME:Modules/FAMETrapDoor NODE=1 DTERATE=%B CONNECTMSG="%C"'

 FAMETrapDoor informs the Server about TrapDoor requests and waits then
 till a CTRL-C recieves and ends then.

 The called TrapDoor Node sends a CTRL-C to FAMETrapDoor after the user
 has logged off.

11-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.21/Server v1.14/SystemEditor v1.16
                 ----------------------------------------------

-SystemEditor:
 Fixed a bug with the Palette/Pen screen.
 After changing some colors the sliders for red, green and blue were
 having the wrong positions after using the 'Test' button or after
 using 'Save' and reopening the Palette/Pen screen. The same thing
 also happened on choosing another palette color. Fixed.

 Note: If you have problems now with your colors please reset the colors
       ('Origin' button / or just load them into the Palette/Pen screen
       and save). Reason: There will be only 4 bit values saved now.

 Note: Don't wonder if you change some R/G/B values and save + reopen the
       Palette/Pen screen or if you just use the 'Test' button after and
       the value isn't exactly the same as the one you have moved the R/G/B
       slider(s) to after reopening the screen and windows.
       The R/G/B sliders are using 8 bit values from 0-255, but internal
       they will be cuted down (shifted '>> 4') to 4 bit values (0-15).

       Higher color values will be supported in a later time.

 (Reported by WiLD THiNG)

+SystemEditor:
 The part of the new argument 'SCREENDEFAULT' changed. It will now
 directly call the Palette/Pen screen without going trough other windows.

+SystemEditor:
 On 'SCREENDEFAULT' mode (used by FAMEScrMode and the installer script)
 the Palette/Pen screen now reacts different as it would react normally 
 if it has been started by hand from Node Edit:

 - Some not needed gadgets are disabled.

 - The first default ScreenMode will be the one from the Workbench or if
   this fails PAL:Highres.

 - On using the SAVE button the default datas will be created.

+MainPart:
 Loads now the default screen color and pen datas if the one for the Node
 are missing.

                             ---------------
                             FAMEScrMode 1.0
                             ---------------

+FAMEScrMode is a new tool coded for the installer script.
 It's programmed to generate on FAME installation the default screen datas.
 There are three modes possible and available from the installer script:

 - Use Workbench ScreenMode, 8 colors, topaz font.

 - Select ScreenMode and font.

 - Call the SystemEditor with 'SCREENDEFAULT' argument to let it completely
   create the best ScreenMode, font, pens etc...

12-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.21/Server v1.14/SystemEditor v1.16
                 ----------------------------------------------

-MainPart:
 On reading the incoming messages from the Server now a special buffer
 will be filled with attached strings before the message will be replyed.
 On earlier versions it may happen that some transmitted strings have been
 overwritten to fast on the Server. This should also solve the problem
 why sometimes the OLMs weren't transmitted completely.

-MainPart:
 In some cases the capturing of a user hasn't been stoped if the user lost
 the carrier. Now it will be stoped.

 (Reported by aIRwORX)

+MainPart:
 On entering the username while beginning as NewUser the entered username
 will now be trimmed.
 Trimmed means spaces AND alt-spaces in front of and behind strings will
 be cutted.

 Examples:

 - "Name "                      -> "Name"
 - "   My Name is unknown !" -> "My Name is unknown !"

 (Suggestion from Seraph)

+MainPart:
 Server now displays incoming strings from the Modem of a Node while the
 Node awaits a call. This will display for example the ring and the
 connect strings.
 On 'RING' also the ring-counter and the maximum of rings before answering
 will be displayed.

 (Suggestion from aIRwORX)

+MainPart:
 New FIM door command 'CF_GetUserConfXS':

#define CF_GetUserConfXS   428
/* Get a string containing the conference access of a special user.
 *
 * Data1    <- The usernumber of the user you want to get the conf xs from.
 * Data2
 * Data3
 * IOString
 * StringPtr -> A buffer filled with the conference access.
 *
 * Note: Check fdom_ReturnCode for a failure!
 *
 * Note: StringPtr will be an allocated buffer which will be freed from
 *       MainPart if you door exists.
 *
 * Note: StringPtr contains the conference access of you user in the
 *       following form: "X__X__X_X_"... The first char (byte 0) will be
 *       Conference 1 the second (byte 1) Conference 2 and so on.
 *       There is *NO* relative Conference here! They are physical from
 *       1 till the last Conference available. You have to check yourself
 *       if the Conference is in the relative list if you need this.
 *       For this you can use NR_GetRelativeStatus to see if relative
 *       Conferences is activated and NR_AbsToRel to get the releative
 *       number of an absolute (real/physical) one.
 *
 * Note: X means that the user has access to this Conference.
 *       _ means that the user hasn't access to this Conference.
 *       Please check always for X and not _ because X is the relevant one
 *       and everything which is not X is _ and means no access.
 */

 (Suggestion from elGuN)

+MainPart:
 MainPart now checks on uploaded files after executing all 'EXAMINE'
 and 'FILEIDENT' doors if the file/upload still exists.
 If the file/upload is deleted MainPart now skips all further actions on
 this file (no user prompting for FileId, no 'FILECHECK' and 'DUPECHECK'
 doors and no file/upload posting).

 Now FileId doors are able to delete single files/uploads.

 (Suggestion from SvEN tHE CREAToR)

+SystemEditor:
 New gadget:

 SystemEditor -> Node Edit -> More Node Edit II -> 'SkipLocalCPS'

+SystemEditor.guide:
 Enhanced with docus for 'SkipLocalCPS' (see above).

+MainPart:
 The gadget 'SkipLocalCPS' from above will take effect now.

 If SkipLocalCPS is selected the Node won't count the min. and max. user
 CPS for uploaded files on uploading and downloading files if the Node
 is a local Node.

 (Suggestion from sCANDIC/dCN)

-MainPart:
 On adding a new user to the user datas via 'F6' key (await call) or using
 '1' in the menu prompt the 'FirstCall' and 'LastTime' date longs in the
 user data entry was 0 and not the current date. Now it's the current date.

 (Reported by elGuN)

+MainPart:
 On using the 'F6' key (await call) or '1' key in the menu prompt you will
 get the InternalUserEd selector. This selector is now enhanced in the
 cursor control to override the min. and max. positions to reach directly
 the top from the bottom and from the bottom the top.

+MainPart:
 Reorganized the FIM doorstartup sources.

 Less stack usage is one result of the reorganisation, but the main reason
 is an internal reason. The C-compiler needs more shorter single files
 to build better code and also to create near data and near code sections.
 Now all FIM command types are having their own source files.
 Because of this it was needed to put all local stack data into a structure
 which will now be allocated. This saves 658 bytes stack on each rekursive
 FIM door call.

+Server
 Recompiled for the new version/revision numbers of MainPart v1.21,
 SystemEditor v1.16 and FAMEFileChecker v1.12. Needed for the Server
 version/revision check.

                             ---------------------
                             FAMEFileChecker v1.12
                             ---------------------

+FAMEFileChecker now checks on uploaded files after executing all 'EXAMINE',
 'FILECHECK', 'DUPECHECK' and 'FILEIDENT' tools if the file/upload still
 exists and if not FAMEFileChecker now skips all further actions on this
 file (no own FileID extraction, no execution of 'FILEID' tools and no
 file posting).

 Now FileId tools are able to delete single files/uploads.

 (Suggestion from SvEN tHE CREAToR)

16-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.22/Server v1.14/SystemEditor v1.16
                 ----------------------------------------------

+MainPart:
 New FIM door commands: 'RD_GetDldFileStamm', 'RD_RIDldFileStamm' and
                        'RD_PutDldFileStamm'.

#define RD_GetDldFileStamm 1058
/* Retreive the DldFilesStamm list root pointer.
 *
 * Data1
 * Data2
 * Data3
 * IOString
 * StructDummy1 -> The struct NumFlagList *DldFilesStamm pointer.
 *
 * Note: Use RD_GetDldFileStamm to retreive the beginning of the downloaded
 *       file list. In this list you will find all files downloaded by
 *       the currently online user of the last download if there was one
 *       this time. DldFilesStamm is empty if no download has been done yet.
 *       DldFilesStamm will be reinitialized if the user starts a new
 *       download or the user logges off.
 *
 * Note: After using RD_RIDldFileStamm you have to use RD_GetDldFileStamm
 *       again if you want to continue work with the DldFilesStamm pointer!
 */

#define RD_RIDldFileStamm  1059
/* Reinitialize the DldFilesStamm list.
 *
 * Data1
 * Data2
 * Data3
 * IOString
 *
 * Note: RD_RIDldFileStamm reinitializes the DldFilesStamm you will get
 *       with RD_GetDldFileStamm. This means all list entries will be freed
 *       and the list pointer reinitialized.
 *
 * Note: After using RD_RIDldFileStamm you have to use RD_GetDldFileStamm
 *       again if you want to work with the DldFilesStamm pointer!
 */

#define RD_PutDldFileStamm 1060
/* Add a file to the DldFilesStamm list.
 *
 * Data1    <- The Conference number depending to the file.
 * Data2
 * Data3
 * IOString <- The filename.
 *
 * Note: The filed FileNumber of the struct NumFlagList will be used for
 *       the Conference number. This number indicates the Conference
 *       (real/physical number) where the file has been downloaded from.
 *       If you don't know the Conference number set it to 0 as default.
 */

17-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.22/Server v1.15/SystemEditor v1.17
                 ----------------------------------------------

+MainPart:
 Recompiled because of changed structures.

+Server:
 Recompiled because of changed structures.

+SystemEditor:
 Recompiled because of changed structures.

                             ---------------------
                             FAMEFileChecker v1.13
                             ---------------------

+Recompiled because of changed structures.

                              -------------------
                              FAMEHydra.FIM v1.11
                              -------------------

+Recompiled because of changed structures.

18-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.22/Server v1.15/SystemEditor v1.17
                 ----------------------------------------------

+SystemEditor:
 New gadgets in SystemEditor -> Server Settings:

 'Num of Last Users':

  - The number of Last Users displayed in the ListView of the Server Info
    window.

    Default: 10

 'Num of Lst Locations':

  - The number of Last Locations displayed in the ListView of the Server Info
    window.

    Default: 10

 'Num of Last Actions':

  - The number of Last Actions displayed in the ListView of the Server Info
    window.

    Default: 10

 'Num of Last Baud/CPS':

  - The number of Last Baud/CPSs displayed in the ListView of the Server Info
    window.

    Default: 10

 'Num of Last Uploads':

  - The number of Last Uploads displayed in the ListView of the Server Info
    window.

    Default: 10

 'Num of Lst Downloads':

  - The number of Last Downloads displayed in the ListView of the Server Info
    window.

    Default: 10

 'Num of Flagged Files':

  - The number of Flagged Files displayed in the ListView of the Server Info
    window.

    Default: 10


 Note: As higher this value is as more space will be taken.
       It will be something about 300 bytes of memory per used Node if you
       have entered here a value of 10.

 Example: If you use on all 7 Server Info Lists 10 entries this will be
          7 * 300 = 2100 bytes per Node of memory usage.

          If you have 5 Nodes started it will be 10500 bytes (10kb).

          If you have not 10, but 100 entries for all 7 Server Info lists
          you have a memory usage of something about 100kb.

          Please note that such values are releative, because the memory
          will be allocated dynamically. Normally it will be less bytes.

          Also if a Node hasn't been started or noone calls on a Node the
          memory won't be allocated. If there is something to add to one
          of the 7 lists it will be allocated then and not before.

+Server:
 The gadgets 'Info' of every Node starts no longer the ServerInfo tool.
 It opens an asynchron running window which displays 7 different lists.

 There are:

   - The Last User strings displayed on the Server.

   - The Last Location strings displayed on the Server.

   - The Last Action strings displayed on the Server.

   - The Last Baud/CPS strings displayed on the Server.

   - The Last Upload strings displayed on the Server.

   - The Last Download strings displayed on the Server.

   - The Flagged Files (not available yet).

 From this window displaying the 7 lists you are now able to start the
 ServerInfo tool.

 Note: The amout of entires for each of the 7 lists depends on your
       configuration. See above for more informations about this.

 To the betatesters: Please test if the Upload and Download lists works.

 General note: If you have the Server Info Window open it refreshes the
               entries automatically if something happens on the Node
               the Server Info Window actually displays. You don't need
               to close and repopen this window.
               
               You also don't need to close and reopen this windows if you
               want to display the datas of a different Node. Just click
               on the 'Info' gadget of the other Node you want to have
               displayed now and the Server Info Window displays now
               the new Node. You can see the number of the actual displayed
               Node in the windowtitle of the Server Info Window.

19-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.22/Server v1.15/SystemEditor v1.17
                 ----------------------------------------------

+SystemEditor:
 New gadgets in SystemEditor -> Server Settings:

 - 'FreeExit':
 
   If selected the Node list of a Node will be deleted and the memory
   deallocated if the Node exits.

 - 'FreeStart'

   If selected the Node list of a Node will be deleted and the memory
   deallocated if the Node starts.

 Both gadgets can be combined.

+Server:
 Takes care of the new gadgets 'FreeExit' and 'FreeStart' from above.

20-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.22/Server v1.15/SystemEditor v1.17
                 ----------------------------------------------


-Server:
 Fixed a bug with the Server Info windowtitle.
 In some cases if the window has been refreshed the buffer contained
 a wrong string and this was resulting in a wrong title.

 (Reported by SieGeL/tRSi)

+Server:
 Filter implemented for the Server Info Window.
 This window now checks for empty strings and strings completely containing
 spaces and/or alt-spaces. All such strings will be filtered out.

 This filter takes care about the username and location if the same user
 calls again and no other user has called in between.

21-Dec-96
*********
                 ----------------------------------------------
                 MainPart v1.23/Server v1.16/SystemEditor v1.18
                 ----------------------------------------------

+MainPart:
 Recompiled because of changed structures.

+Server:
 Recompiled because of changed structures.

+SystemEditor:
 Recompiled because of changed structures.

                             ---------------------
                             FAMEFileChecker v1.14
                             ---------------------

+Recompiled because of changed structures.

                              -------------------
                              FAMEHydra.FIM v1.12
                              -------------------

+Recompiled because of changed structures.


***-------------------------- New Demo release --------------------------***

11-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.24/Server v1.17/SystemEditor v1.19
                 ----------------------------------------------

+SystemEditor:
 Added the last few V34 bps rates to the default list:

 'SystemEditor' -> 'Node Edit' -> 'Ser/Mod/Scr' -> '<' and '>'.

 (Taken out of term 4.7b release)

-MainPart:
 Fixed a bug with door download.

 On using FIM door command CF_ZModemSendLst only 26 files could be
 downloaded on local download. On serial download all files could be
 downloaded, but not on local sysop download.

 The reason was that a temporr buffer has been used for the source
 file path+name while the scan point from the progress indicator runs
 to the 26th point where it stops to delete back the points to the
 beginning. On this turn the buffer temporrly used was overwritten.
 The next 26 files can't be donwloaded. If the progress indicator turned
 again to move forward the files continued with the download.

 (Reported by SieGeL/tRSi)

+Server:
 Recompiled because of the version/revision check.


18-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.25/Server v1.18/SystemEditor v1.20
                 ----------------------------------------------

+SystemEditor:
 New gadget: SystemEditor -> 'Server Settings' -> 'Verbose Action'.

 If selected the Server will display some more datas for each Node in the
 Action field.

 Currently there will be additional displayed some RING/CONNECT datas.

 Note: This gadget is to disable the additional displayed data, because
       in previous versions of FAME this feature was always on and can't be
       turned off, but there are SysOps who don't like this feature so
       it's possible to turn it off.

 Note: If you have installed pervious versions of FAME and you like to see
       this feature than you have to turn it on now! Now it's turned off
       with your old settings. On new installations this feature is on
       by default.

 (Suggestion from Newt/Abyss^Crux)

+Server:
 'Verbose Action' flag transmiting to the Nodes implemented.

+MainPart:
 'Verbose Action' flag will be used now.

+Server:
 Implemented the FAMERemoteControl commands.

+SystemEditor:
 New window: SystemEditor -> 'Away Messages'.

 Here you can define some default Away Messages and the one which shall be
 used if no other Away Message has been selected from the Server.

 (Suggestion from Newt/Abyss^Crux)

+Server:
 New gadget 'SysOp Away' in 'System Bank 2' directly under gadget
 'Node Chat'.

 This will pop up an asynchron running window (means that it won't
 interrupt the normal BBS operation in any case). Here you can select
 between 10 different default Away Messages or you can enter a different
 reason.

 On using an Away Message the chat flag will be turned off for every
 online Node.

+MainPart:
 The internal pager takes now care of the Away Message and displays
 the selceted Away Message if there is one set.

+MainPart:
 New FIM door commands:

#define AR_AwayMessage     863
/* Retrieve the actual Away Message.
 *
 * Data1
 * Data2
 * Data3
 * IOString -> The actual Away Message.
 * StructDummy1 -> The struct aWAYmSG.
 *
 * Note: If IOString is empty (IOString[0] == '\0') then there is no
 *       Away Message set yet.
 */

#define AC_AwayMessage     938
/* Change the actual Away Message.
 *
 * Data1
 * Data2
 * Data3
 * IOString <- The new Away Message.
 */

 Note: These FIM commands are implemented especially for 'Pager' doors.

       Now coders of 'Pager' doors are able to display the Away Message
       if the chat flag is set to off (FALSE) and the IOString
       from AR_AwayMessage contains a string.

       Please use this feature in your 'Pager' door !!!

                         ----------------------
                         FAMERemoteControl v1.0
                         ----------------------

 FAMERemoteControl is a tool for FAME BBS (MainPart v1.25 +) which is a
 remote controler of Nodes from CLI.

 FAMERemoteControl is a CLI tool and can be used from CLI and scripts.

 FAMERemoteControl is able to start or quit a specific Node.

 Start: If a Node is Idle (not started) you can start the Node with the
        argument: "STARTNODE".

        If the Node is already running "STARTNODE" will let the Node
        open it's screen and/or brings it to front.

  Quit: If a Node is running you can quit it with the arguments:
        "QUITNODE" or "QUITNODEOH".

        "QUITNODEOH" will quit the Node Off Hook (Modem OH).

        Note: It's not possible to quit a Node with "QUITNODE" and
              "QUITNODEOH" if it's not awaitng a call.

 Argument template for FAMERemoteControl:

 "NODE/K/N/A,STARTNODE/S,QUITNODE/S,QUITNODEOH/S"

 Example FAMERemoteControl argument string:

 'FAME:Modules/FAMERemoteControl NODE=1 STARTNODE'

 Argument switch priority:
              
 1. STARTNODE
 2. QUITNODE
 3. QUITNODEOH

 FAMERemoteControl informs the Server about your request and sends the
 needed commands to the depending Node.

 (Suggestion from aIRwORX)

19-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.25/Server v1.18/SystemEditor v1.20
                 ----------------------------------------------

+SystemEditor:
 New directory will be created: 'FAME:UserText'

+MainPart:
 On menu command "W" (change user settings) in menu '[19] ADD MESSAGE OPTIONS'
 are two new entries:

 - '[ 6] MSG HEADLINE (MCI)'
 - '[ 7] MSG TAGLINE (MCI)'

 Here you can define a headline and a tagline which will be added to every
 mail you write.

 Both lines can contain MCI commands.

-MainPart:
 Fixed a bug in the history code which was cuting down an entered string
 to 200 chars max. if this string has been added to the history list.
 Fixed.

+MainPart:
 LineEditor now inserts the Message Headline and Message Tagline if
 the user has set them.

+Server:
 In the Away Message window on double clicking one of the default Away
 Messages this double clicked message will be used.

20-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.24/Server v1.17/SystemEditor v1.19
                 ----------------------------------------------

+Server:
 Away button removed from System Bank 2 !
 It's now moved into the first gadget row of the Server (over the Nodes).

25-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.25/Server v1.18/SystemEditor v1.20
                 ----------------------------------------------

+Server:
 Finally it's done.

 Server's GUI is now flexible in the number of Nodes.
 The sizegadget is reactivated and you can now size the Server
 between 1 and 30 visible Nodes in the GUI.

 The 'Nodes' cycle gadget is now also available to toggle between as many
 as available Node banks.

 The range and the number of banks depends on the number of Nodes the
 Server actually holds in one bank. Additional a minimum of one not
 defined/configured Node to start online new Nodes. The number of such
 undefined Node depends on the room left on the last Node bank, but the
 minimum is one Node.

 On starting such a not defined/configured Node the SystemEditor will
 automatically be started to configure the new Node (this will be the first
 Node after the last defined Node also if you clicked on a higher not
 defined Node).

 Note: With the current version of FAME the whole BBS will hang at the time
       you are in the SystemEditor to create a new Node as long as you
       are in the SystemEditor (Only for the case explained one point above).

 All over all it's now possible to have and use as much Nodes as you want.
 The theoretical maximum amount of Nodes will be the size of a long variable
 (long = 4 bytes - 1 bit = 31 bits = 2^31 = 2.147.483.647 possible Nodes ).

 I've never seen such a hardware and this maximum number of Nodes will only
 be theoretical so the memory size of the hardware and the CPU power will
 be the only real limit on the maximum number of Nodes.

26-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.25/Server v1.18/SystemEditor v1.20
                 ----------------------------------------------

-Server:
 Fixed various bugs depending with the new kind of GUI.

+Server:
 Build in the support for minimized Servers with the new GUI.

+SystemEditor.guide:
 Enhanced with docus for all new gadgets and the new 'Away Messages' window.

27-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.25/Server v1.19/SystemEditor v1.20
                 ----------------------------------------------

-Server:
 Fixed a bug with the EasyRequest of the Server on creating a new and
 undefined Node. The used buffer for the EasyRequest message was to short
 and some other buffers have been overwritten. Fixed.

28-Jan-97
*********
                 ----------------------------------------------
                 MainPart v1.25/Server v1.19/SystemEditor v1.20
                 ----------------------------------------------

-Server:
 Fixed a bug with the System and User Banks.
 The gadgets couldn't been toggled, because a new flag was used wrong.
 Because of this the code wasn't executed to change the gadget texts.
 Fixed.

 (Reported by elGuN)

01-Feb-97
*********
                 ----------------------------------------------
                 MainPart v1.26/Server v1.19/SystemEditor v1.20
                 ----------------------------------------------

-MainPart:
 Fixed a bug in the internal user editor.
 User names beginning with numeric digits couldn't be found by their names,
 because of StrToLong() only usage. Now first FAMEIsNumStr() will be used
 to check if a name has been entered or a user number for number access.

 (Reported by SieGeL/tRSi)

02-Feb-97
*********
                 ----------------------------------------------
                 MainPart v1.26/Server v1.19/SystemEditor v1.21
                 ----------------------------------------------

+SystemEditor:
 Changed and new gadgets in SystemEditor -> Node Edit -> More Node Edit I
 -> Baud Start/Endtimes part.

 The StartTime and EndTime gadgets have been replaced by four sliders
 to select the start and end times by hours and minutes.

 New gadget implemented to select already created BaudTimes from disk.

 Two new gadgets implemented to switch between defined baud rates.
 The following baud rates can be selected with both gadgets:

 -    110
 -    300
 -    600
 -   1200
 -   2400
 -   4800
 -   7200
 -   9600
 -  12000
 -  14400
 -  16800
 -  19200
 -  21600
 -  24000
 -  26400
 -  28800
 -  31200
 -  31250
 -  33600
 -  38400
 -  57600
 -  64000
 -  76800
 - 115200
 - 230400
 - 345600
 - 460800
 - 576000
 - 614400
 - 691200
 - 806400
 - 921600

 Note: If the start hour is the same as the end hour and the start minutes
       the same as the end minutes the whole BaudRate is disabled and
       users with such a connect will be able to connect 24 hours a day.

+SystemEditor.guide:
 Enhanced with docus for all new gadgets.

+MainPart:
 The connect rate and baud time check will be done now!

 First MainPart checks if for a Node (while a user connects) the depending
 data file for the connect rate exists. If not MainPart will decide what
 to do depending on the setting of: SystemEditor -> Node Edit ->
 More Node Edit I -> 'If BaudTime not found'.

 If the next higher or lower baud rate shall be used and couldn't be loaded
 too the user isn't allowed to connect to the BBS! So if you don't like
 any baud time (connect rate) check switch 'If BaudTime not found' to
 'Use 24 hours'.

 If the depending or next data file can be found and loaded the Start and
 End time of the data file will be validated with the actual time.

 If the actual time is not in the Start and End time range of the data
 file the user isn't allowed to connect.

 If the Start and End time of the data file is exactly the same the check
 is disabled for the depending connect rate.

 If the user isn't allowed to connect the MainPart tries to display
 the following text file before it drops the carrier:

 <ScreenLocation>:BaudNotAllowed<ConnectRate>.txt

 If the file can't be found MainPart tries to display:

 <ScreenLocation>:BaudNotAllowed.txt

 If the second file can't be found too MainPart will display a text:

 'Sorry, <ConnectRate> baud is not allowed between HH:MM - HH:MM !'

05-Feb-97
*********
                 ----------------------------------------------
                 MainPart v1.26/Server v1.19/SystemEditor v1.21
                 ----------------------------------------------

-MainPart:
 Fixed a bug with the language and suffix (file-extension) settings of the
 user. Both, the language and the suffix are combined since some longer
 time ago, but not in every case the MainPart was changed to work like this.
 The result was in some cases a wrong language setting and suffix for
 some users. Fixed now.

-MainPart:
 The FIM door commands CF_ShowTextSuffix and CF_ShowTextSufLvl were not
 working correct. CF_ShowTextSuffix was doing exactly the same as
 CF_ShowTextSufLvl. There were also problems with the suffix of the users.
 Wrong suffixs have been used. See the point above for the reason.

 (Reported by Derrow/DCN)

12-Feb-97
*********
                 ----------------------------------------------
                 MainPart v1.26/Server v1.20/SystemEditor v1.21
                 ----------------------------------------------

+Server:
 New gadget in the Away window called: 'SysOp is Back'.

 The Server now remembers the current chat flags of the Nodes if the Away
 feature is used. On clicking on this new gadget the chat flags will
 be restored!

 (Suggestion from z0d^trsi)

+Server:
 On using the 'Save Win' gadget now the actual number of visible Nodes
 will be saved too! You no longer need to change the number of visible
 Nodes with the SystemEditor from now on.

 (Suggestion from exon)

15-Feb-97
*********
                 ----------------------------------------------
                 MainPart v1.26/Server v1.20/SystemEditor v1.21
                 ----------------------------------------------

-MainPart:
 There was a bug with the DoorConfig thing.
 If a user has called a DoorConfig door and the level of the user
 wasn't high enough to run this door a flag wasn't set back to 0.

 The result was that from now on on every other door start FAME was
 telling the user that the user has a to low level to start the door.

 This happens because FAME was meaning that from now on every door has to
 be a DoorConfig door and wasn't loading the door settings for the doors
 started from now on. FAME was telling the user again and again that the
 level is to low (If the level is to low it's a kind of an error and the
 code returns with a negative return code and this directly before the
 reset of the flag).

 Fixed this by reseting the flag NOW in any case.

 (Reported by SieGeL/tRSi)

16-Mar-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.21
                 ----------------------------------------------

-MainPart:
 Cleanup code wasn't removing the FAMEDoorPort if it has been left open
 for any reason. Now all messages will be read and replyed and the port
 closed in any case if MainPart exists.

10-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.21
                 ----------------------------------------------

-MainPart:
 Fixed a bug with the download procedure.
 If adding a file in the download prompt (First type "D" <Enter> and then
 enter the file if prompted) the (day)byte/(day)file ratio was checked
 in the case of a free downloadfile or free download conference.
 On flagging the file first or entering the file as an argument on
 calling "D" like "D <filename>" it was working very well, but not
 on entering it on the prompt.

 Now the complete restricted and free download check is placed before
 doing the ratio check to be save that if only freedownload files
 are flagged that tehy can be downloaded.

 Only limit is the timelimit of the user which can forbid the
 transfer anyway.

 (Reported by micnst)

11-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+SystemEditor:
 New gadget in 'SystemEditor -> System Datas -> More System Datas' called
 'Conf Accounting'.

 With 'Conf Accounting' you can enable or disable the Conference Accounting.

 In previous FAME versions where Conf Accounting was not on/off turnable
 it was always on. Now the default is off, because the handling of
 Conf Accounting is not very easy to understand and to handle.

 Mostly Conf Accounting is not needed. If you needed don't forget to turn
 this flag on!

+SystemEditor.guide:
 Enhanced with docus for the new gadget(s).

12-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

-MainPart:
 Fixed a bad bug in the download calculation code.

 The daily file and byte bonus has been added to the daily file/byte
 downloaded value on substracting it from the daily file/byte limit.

 Example:

 DailyFileLimit - (DailyFileDld + DailyFileBonus)

 That's completely wrong. So if a user has uploaded files to get a
 higher daily file/byte limit it was instead of increasing the
 daily limit decreasing it.

 Correct is:

 (DailyFileLimit - DailyFileDld) + DailyFileBonus

 First substract the already downloaded files/bytes from the limit
 and then add the bonus.

 Fixed.

-MainPart:
 Fixed another bad bug in the download calculation code.

 In the case of a daily file/byte disabled in the global user datas
 but not in the conference user datas the global ratio flag
 (if set) hasn't been checked which would cause the Node to only use
 the global user datas (in this case the disabled wasn't working).

 Tooks only effect if Conference Accounting was on --- but ---
 Conference Accounting was always on in MainPart versions earlier than
 1.27. ;)

+MainPart:
 Build in the new flag ('SystemEditor -> System Datas -> More System Datas ->
 Conf Accounting') check.

 Now it's possible to disable/enable the Conference Accounting.

 In earlier MainPart versions Conference Accounting was *ALWAYS* on and
 could only be turned off for every single user in every single Conference
 (Conference user datas - RatioType set to GLOBAL).

 Now it's by default off - if you need Conference Accounting you have to
 turn it on.

19-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+SystemEditor:
 Now every window will be opened in the middle of the screen
 and not at the fixed middle of a Multisync Productivity screen
 as it was before. Reason: I now have a graphics card ;)

 (Suggestion from my Workbench)

21-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

-MainPart:
 Found a bug in the user logon / newuser part.
 A buffer has been overwritten in some cases before it was free
 for re-usage. This bug tooks mainly in Unix-Mode effect.
 Bug has not been reported yet, but i found it on reading the source.

22-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+MainPart:
 Changed the keyeword for the NUP failure in the Callers.log from
 "FAME_NUPPWFAIL: <Wrong NUP>" to "NUPFAIL: <Wrong NUP>".

+MainPart:
 Added some additional datas to the NUP failure in the Callers.log.

 Now there will be a new line with the following keyword first:
 "NUPNAME: <Used name on entering the NUP>".
 Then after the "NUPFAIL: <Wrong NUP>" keyword the on date and on time
 will be added.

 Now a wrong entered NUP entry will look like this:

---------------------------------------------------------------------
- F2 LOCAL LOGIN -
NUPNAME: <Used name on entering the NUP>
NUPFAIL: <Wrong NUP> ON: 05-10-96 AT: 02:48:26
OFFDATE: 05-10-96 OFFTIME: 02:48:35 STATUS: NO CARRIER
---------------------------------------------------------------------

 (Suggestion from eXON)

24-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

                              -------------------
                              FAMEHydra.FIM v1.13
                              -------------------

-Titles of the receive and send window havn't been updated if a file
 has been completely transfered. Now they will.

27-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+SystemEditor:
 New directorys will be created: "FAME:Settings/Doors/ULDCMD" and
                                 "FAME:Node0/NodeBatches/ULDBatches" and
                                 "FAME:Node0/NodeBatches/ULDBatches/Storage"

+SystemEditor:
 New gadget in SystemEditor -> Doors -> "ULD Drop".

 "ULD Drop" can only be selected if the cycle gadget:
 "BBSCMD/SYSCMD/CONFxCMD/ULDCMD" is set to ULDCMD.

 If "ULD Drop" is selected for a ULDCMD the carrier will be droped after the door
 has been ended.

+MainPart:
 ULD (User Logon Door) feature build in.

 If a user is logging on and a <userslot>.dat file exists in
 "FAME:Settings/Doors/ULDCMD", which is then a ULDCMD command, it will be started
 directly behind the user has entered the password.
 Exactly after the "Late ANSI Prompt" when most datas for the user are loaded
 and before the user day time check and the "Logon.txt".

 This feature is implemented to either start a door for a special reason or
 to start a door for a user which should only be able to go into this door
 and not into the BBS.

 With the new checkbox gadget in SystemEditor for ULDCMD doors "ULD Drop"
 you can force the Node to logoff after the door has been ended.

 In this case the logoff batches located in the new directory
 "FAME:Node<x>/NodeBatches/ULDBatches/#?" will be launched  instead of the
 batches for normal users: "FAME:Node<x>/NodeBatches/LogoffBatches/#?".

 (Suggestion from RAMSES & PASO)

+SystemEditor.guide:
 Enhanced for the "ULD Drop" gadget which is now available for the
 GadgetHelp feature.

28-Apr-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+SystemEditor:
 Increased the size of the default "Menu Prompt" from 255 chars to now
 511 chars (see SystemEditor -> Node Edit -> 'Menu Prompt' to have more
 space for a MCI based prompt.

+SystemEditor:
 New gadgets in:

 - SystemEditor -> Node Edit -> More Node Edit II -> 'Node Name'
   (127 chars)

   To define a name or something else to identify the Node with your own
   words.

 - SystemEditor -> Node Edit -> More Node Edit II -> 'Node Name (Short)'
   (6 chars)

   To define a short name or something else to identify the Node with your
   own shortage.

 - SystemEditor -> Node Edit -> More Node Edit II -> 'Node Phone Number'
   (127 chars)

   To define a phone number for this Node.

 Note: 'Node Name (Short)' will be later a replacement for the 'Node <x>'
       gadgets of the Server. Then it will be possible to name the gadgets
       with your own words to identify the Nodes easily by name.

       Examples: - '0-Mdm'
                 - '0Modem'
                 - 'Ser. 0'
                 - 'HyCOM0'
                 - 'Local'
                 - 'Telnt0'

+FAMESemaphore:
 Enhanced with pointers to 'Node Name' (fili_NodeName),
                           'Node Name (Short)' (fili_NodeNameSh) and
                           'Node Phone Number' (fili_NodeTel).

+MainPart:
 New FIM door command:

#define AR_GetNodeNameTel  864
/*
 * Retrieve the name(s) and the phone number of a Node
 *
 * Data1    <- The Node you mean. A value < 0 for the current Node.
 * Data2
 * Data3
 * IOString -> Node Name (Short -  max 6 chars).
 * StringPtr -> Node Name (max 127 chars).
 * StringPtr2 -> Node phone number (max 127 chars).
 */

+SystemEditor:
 New gadget: SystemEditor -> Internal Doors -> "NODE".

 NODE means "NODE Info" and dislays some informations about the Nodes.
 It displays the "Node Name" and the "Node Phone Number" strings of the Nodes.

+MainPart:
 New menu command "NODE" implemented.

 For more informations just try it or see the the point directly above.

 (Suggestion from Bakerman / Depth^Rebels)

05-May-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+MainPart:
 The downloaded files list will now be filled up in any case also
 in door downloads or on local downloads and asl downloads
 (needed for the FIM command "RD_GetDldFileStamm").
 Only exception is if a file hasn't been transfered completely
 in this case the original file flag gets also not deleted.

 (Suggestion from Derrow/DCN)

                              -------------------
                              FAMEHydra.FIM v1.13
                              -------------------

-The file flags have always been deleted after sending a file
 (user's download). Now FAMEHydra takes care of the NoDelete bit flag
 of a file flag just like on xpr.

                            -------------------------
                            FAMESModem.FIM v0.2 alpha
                            -------------------------

+Updated to the latest FAME DoorStartUp v1.3 (v1.4).

+Got SModem to work finally via FAMESModem.FIM *MYSELF*.

 (Shame on my beta testers - they didn't helped me much in this case -
 is SModem really wanted? - I got no response or help.)

+FAMESModem.FIM reads now the DSZ formated logfiles into a structure to
 collect every needed data to be handed to MainPart after the transfer
 is finished.

11-May-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.20/SystemEditor v1.22
                 ----------------------------------------------

+MainPart:
 Free upload files and bytes will be counted now seperately from free
 download.

 NOTE: Free doenload is positive for user's point of view, because if
       a file or Conference is free download the downloaded bytes and
       files of free download files and/or Conferences won't be added
       to the user datas... this means if a user downloads 10 files
       in 10 MB they won't be added to the user data (global and Conference
       datas) so it's free for the user and looks like if the user never
       downloads the file(s) to the stats.

       Free download takes effect on: - number of downloads
                                      - download bytes
                                      - daily number of downloads
                                      - daily download bytes

       (Both in global and Conference datas)

       Free upload is now (logical) the more negative thing of the user's
       point of view, because all files uploaded to a free upload Conference
       won't be counted to the user datas too (global and Conference datas).

       Free upload takes effect on: - number of uploads
                                    - upload bytes
                                    - daily file bonus
                                    - daily byte bonus

       (Both in global and Conference datas)


       So please beware! Free upload is only for a whole Conference possible,
       means check your Conference datas (SystemEditor -> Conferences)
       "Free Upload Level" for each Conference if the settings are ok to your
       whiches... if you are not sure about this set the cycle gadget right
       aside to "Off!" to disable free upload.

       Free upload is maybe needed for request Conferences or whereever you
       don't like to give the users additional uploads bytes and files for
       their uploads.

+MainPart:
 The XPR protocols will now be displayed in any case without the XPR prefix.

 Example: "XPRZMODEM" will be displayed now as "ZMODEM"

 The reason is easy to explain: PC, MAC and other platform users arn't familar
 with the expression "XPR" so they can be confused if they read it.

 (Suggestion from Pharaoh/Akira)

+MainPart:
 The prorocol selectors have been updated to let users choose SModem as an
 alternative bi-directional xfer protocol.

+MainPart:
 SModem call build in.

+MainPart:
 Updated some string texts for upload and download.

+SystemEditor:
 Gadget: SystemEditor -> Protocols -> 'SModem' is now enabled.

 You need to turn this gadget on to allow SModem.

                            ------------------------
                            FAMESModem.FIM v1.0 beta
                            ------------------------

+First beta version ready.

 Note: You have to start the Node's serial drivers in "shared" mode to be
       able to run SModem !

 Note: The SModem executable has to be in the same directory as FAMESModem.FIM.

+Background check and post isn't possible - soory, but that is a problem
 of SModem itself, but after the complete transfer on parsing the DSZ
 logfile every parsed upload file will be given to background check/post
 meanwhile... so do not wonder if it looks like background check and post...
 it's just to save some seconds, because of parallel parsing.

12-May-97
*********
                 ----------------------------------------------
                 MainPart v1.27/Server v1.21/SystemEditor v1.22
                 ----------------------------------------------

+Server:
 Recompiled because of new version numbers and changed structures.

                             ---------------------
                             FAMEFileChecker v1.15
                             ---------------------

+Recompiled because of changed structures.

14-May-97
*********
                 ----------------------------------------------
                 MainPart v1.28/Server v1.21/SystemEditor v1.22
                 ----------------------------------------------

+MainPart:
 User settings menu ("W" menu command) -> TRANSFER OPTIONS ("18" / "W 18")
 enhanced with a new menu item for the protocol selctor.

 New menu item: "[ 1] PROT. FOR ALL CASES" implemented to change the transfer
 protocol for all cases in one go.

+MainPart:
 ASL download mode is now able to handle local SysOp downloads too.

 Shift-F5 (online) will now be enabled also for local logins... so it's
 a kind of a copy function for the SysOp. First selecting via an
 ASL Filerequester file(s) and then they will be copied into the SysOp's
 download path (via ASL Requester changable like in normal SysOp download
 mode).

 The main reason of the local SysOp possibility of the ASL download is not
 to just to copy files from path to path it's more because of the new
 User Profile function of the user settings "W" menu command.

15-May-97
*********
                 ----------------------------------------------
                 MainPart v1.28/Server v1.22/SystemEditor v1.22
                 ----------------------------------------------

+MainPart:
 User Profile function of the user settings "W" menu command implemented.

 If you type "W" in the menu prompt you will now be able to choose "P"
 to go into the User Profile submenu - alternative use "W P"/"W P E"/"W P I".

 User Profile generates a downloadable file with various user settings of
 the caller. This file can be uploaded over the same menu into other BBS
 Systems which are running FAME (same or higher version of course).

 It's now possible to configure as a user once all your datas in the
 user settings menu ("W" menu command) and then import them to other
 FAME BBS Systems without having all the work again and again... saves
 time and money. If you have installed FAME at home you are also able to
 generate the User Profile there and upload then at all FAME boards you
 are calling.

 Note: Not everything of the user datas available in "W" will be
       exported/imported... only datas which are static ones.
       This means for example no Conference depending datas or computer,
       modem and language types - the import function will also only
       import datas allowed to be changed (some datas like user's
       location/phone number and so on can be disabled by the SysOp
       (Level settings)) also some important datas like the name and
       password will not be possible to import.

 Here is now a list of all the datas which will be exported/imported:

 - LOCATION     (Only on Level flags: EditUserAccount and EditUserLocation)
 - FROM         (Only on Level flags: EditUserAccount and EditUserCityState)
 - PHONE NUMBER (Only on Level flags: EditUserAccount and EditPhonenumber)
 - BIRTHDAY     (Only on Level flags: EditUserAccount and EditBirthday)
 - MENU PROMPT
 - MSG HEADLINE (MCI)
 - MSG TAGLINE (MCI)
 - SHELL NUMLINES
 - All NODE TO NODE COMMUNICATION OPTIONS
 - NUMBER OF LINES
 - GENERAL M/F SCANNING
 - ANSI MODUS
 - DEFAULT PROTOCOL
 - BEGIN UPLOAD
 - BEGIN DOWNLOAD
 - MESSAGE ATTACH UL
 - MESSAGE ATTACH DL
 - DOOR FILE UPLOAD
 - DOOR FILE DOWNLOAD
 - USER XPR BLOCK SIZE
 - EDITOR TYPE
 - HIDDEN FOR WHO/CHAT
 - MSG SCREEN CLEAR
 - FILE SCREEN CLEAR
 - DEFAULT UPLOAD
 - DEFAULT DOWNLOAD
 - RED/WHITE SWAP
 - EXPERT MODUS
 - AUTO FORCE ON WHO
 - FILECHECK PROCESS
 - BACKGROUND FILE POST
 - FILE NAME LENGTH
 - MSG ROOMING
 - ASCII MSG
 - MESSAGE QUOTE
 - PRIVATE ON REPLY
 - MSG SUBJECT ON REPLY

+Server:
 Recompiled because of new version number of FAMEHydra.FIM v1.14.

                              -------------------
                              FAMEHydra.FIM v1.14
                              -------------------

-Fixed a silly bug where i was setting the window title also if the Node
 Screen was closed.

 (Reported by sNoW)

18-May-97
*********
                 ----------------------------------------------
                 MainPart v1.28/Server v1.23/SystemEditor v1.22
                 ----------------------------------------------

-MainPart:
 Fixed a little bug with the new "NODE" menu command.
 The wrong flag has been checked to allow or forbid the command.
 Instead of checking the new internal doors "NODE" allow flag the flag
 for the FrontEnd has been checked. Fixed.

 (Reported by elGuN)

+MainPart:
 If one of the following menu commands isn't allowed the the Node will
 display now the unknown command string

 - WHO
 - OLM
 - NODE

-MainPart:
 Fixed a bug of the synchron/asynchron batch file executation.

 From MainPart 1.27 on synchron and asynchron have been exchanged,
 because of some optimizings. Now they are exchanged back just as
 they shall be and just like it was always before.

 (Reported by SieGeL/tRSi)

+Server:
 Recompiled because of version/revision number changes.

************************
FAME 2.0 BUILD 26-Jun-97
************************

+Server:
 FAMEToolPort finally implemented.
 It works but is not 100% complete.
 Mainly missing are some more commands (this will be done next).

+Server:
 FAMEToolPort handles now FDCMP event messages to the ToolPort
 tools if requested.

 Currently 134 FDCMP events are possible and build in.

+Server:

 Note: FAME 2.0 is currently in alpha state and things like the
       FAMEToolPort and FAMECoProcess are highly complex and not
       everything will be documented now in the history,
       but only the important things will. So theoretically
       the following history days would fill kilo bytes of
       texts, but this would be too much and not necessary for
       a history and new implemented not yet released code like
       this is.

************************
FAME 2.0 BUILD 27-Jun-97
************************

+Server:
 FAMEToolPort data display/control window implemented
 and some times redesigned to fit all the data and gadgets.

+Server:
 ToolPort/CoProc 2nd Server process enhanced to handle all
 the new asynchron windows and controls completely asynchron
 from them selves and from the rest of the Server.

+Server:
 4 example tools have been written to show the possibilities of
 the FAMEToolPort and the data display windows:

 - ToolPortScroller    - Scrolls a text and changes some other texts
                         using FAMEToolPort dependig info texts
                         every tool has.
 - ToolPortFDCMPPlayer - Sets and deletes various FDCMP event requests
                         which can be seen with the FAMEToolPort
                         data display/control window.
 - ToolPortAllFDCMP    - Has just all possible FDCMP flags set to
                         make it possible to use the FAMEToolPort
                         data display/control window to check the
                         FDCMP flags set by this tool.
 - ToolPortFDCMPTest   - Has some FDCMP events set on which it also
                         reacts if it receives one of it.
                         It also shows with the BBSHelp flag that
                         it's possible to let the Server remove
                         a FDCMP flag after the tool has received it.

 All these 4 tools are simple and in linear form coded example tools
 and available with the source.

 There will be written one more complexe and non-linear with a main loop
 and main event handling one next time.

************************
FAME 2.0 BUILD 28-Jun-97
************************

+Server:
 Fixed some little optical things and gadget sizes + positions of the
 FAMEToolPort/CoProc data display windows.

29-Jun-97
*********
                 ----------------------------------------------
                 MainPart v1.28/Server v1.24/SystemEditor v1.22
                 ----------------------------------------------

-Server:
 Fixed some optical problems with some texts placed on some windows.
 The coordinates wasn't font sensitive.
 In the about window the position of the text erase rectangular too.

************************
FAME 2.0 BUILD 30-Jun-97
************************

+Server:
 FAMEToolPort - Command FAMETP_DisplayTextToNode now ready.

+MainPart:
 FAMEToolPort's command FAMETP_DisplayTextToNode will now be received and
 displays a text line (max 79 chars) to the Node's console.
 The line position can be defined and will be checked if it fits on the
 actual screen size, if not no text will be displayed.

+Server:
 FAMEToolPort - New command implemented: FAMETP_DisplayAwaitTextNode

+MainPart:
 FAMEToolPort's command FAMETP_DisplayAwaitTextNode will now be received and
 displays a text line (max 79 chars) to the Node's console if it's in await
 mode. The line position can be defined and will be checked if it fits on the
 actual screen size, if not no text will be displayed.

 Only if the node is in "Awaiting Call" mode and the line number for this
 command is higher or the same as 25 (minimum) the text will be displayed...
 else refused.

+Server:
 FAMEToolPort - Two new FDCMP flags implemented.

 FDCMP_SERVER_AwaitBulletinStart - Informs a ToolPort tool that the Node
                                   is now in "Awaiting Call" mode and it's
                                   possible to display bulletin texts or
                                   whatever to the Node's screen
                                   (via FAMETP_DisplayAwaitTextNode).

                                   Note: If you receive this FDCMP event
                                         you *HAVE* to redisplay your
                                         text to the Node, because you
                                         will also receive this event
                                         if a Node screen opens (uniconifies).

 FDCMP_SERVER_AwaitBulletinStop  - Informs a ToolPort tool that the Node
                                   is now no longer in "Awaiting Call" mode
                                   and it's not possible to display bulletin
                                   texts or whatever to the Node's screen
                                   (via FAMETP_DisplayAwaitTextNode).

                                   Important for tools which are continousely
                                   updating texts.

************************
FAME 2.0 BUILD 01-Jul-97
************************

+MainPart:
 The FAMEToolPort FDCMP flags FDCMP_SERVER_AwaitBulletinStart
 and FDCMP_SERVER_AwaitBulletinStop will no only be send if the Node screen
 is open and in "Await Call" mode.

 You now can start displaying text on receiving FDCMP_SERVER_AwaitBulletinStart
 until you receive FDCMP_SERVER_AwaitBulletinStop.

 FDCMP_SERVER_AwaitBulletinStart always means that you have to generate the
 complete display if you receive this event, because you also receives it
 if a Node screen uniconifies.

 If a Node screen iconifies in "Await Call" mode you receive for example
 FDCMP_SERVER_AwaitBulletinStop.

+Server:
 FAMEToolPort - New command implemented: FAMETP_RequestAwaitBullMode

+MainPart:
 FAMEToolPort's command FAMETP_RequestAwaitBullMode will now be received.

 FAMETP_RequestAwaitBullMode can be used to force the Node to send you
 either the FDCMP_SERVER_AwaitBulletinStart or FDCMP_SERVER_AwaitBulletinStop
 event (which depens on current iconify and "Await Call" mode).

 FAMETP_RequestAwaitBullMode will be used for the case that a Node screen
 is already open on starting the ToolPort tool... without sending
 FAMETP_RequestAwaitBullMode you will not now if it's currently possible to
 display your text to the screen in this case. 
 Only if the screen gets iconified or uniconified (and in some other special
 cases) you will receive the FDCMP events FDCMP_SERVER_AwaitBulletinStart and
 FDCMP_SERVER_AwaitBulletinStop if you forget to use the ToolPort command
 FAMETP_RequestAwaitBullMode.

+Server:
 A new example FAMEToolPort tools has been written to show the possibilities
 of the FAMEToolPort:

 - FAMETPDigiClock  - If you remember the old XIM door called "dIGI cLOCK"
                      written in 1994 under the pURE-aRT! label by me then
                      you know what FAMETPDigiClock is ;)

                      FAMETPDigiClock is a digital clock for the Node
                      screen.
                      
                      If a Node is in "Await Call" mode you can now have
                      a running digital clock on a Node.

                      This tool is a great example tool (with source) how
                      to use and handle the FAMEToolPort and the FDCMP events.

                      If you code your own FAMEToolPort tools like this one
                      they will be 100% AmigaOS and FAME conform.

                      Don't try to code your FAMEToolPort tools in a different
                      way! The whole FAMEToolPort thing is very stable and has
                      many lock mechanisms and should not easy get in trouble,
                      but if you want to make everything 100% correct and make
                      the SysOps life as great as possible then use the
                      guide lines... FAMEToolPort programming is easier than
                      for example DoorPort programming is... why?... because
                      the whole idea behind the FAMEToolPort system is done
                      by me and has taken more than 3 years of perfectionism
                      (not the code, but the theoretical side) and has been
                      planed completely on text/paper - better in a text 
                      editor - before it has been coded.

                      So have a look at the source... and *PLEASE* do not
                      simple change the source and release another Clock
                      tool without some great new features and big changes!!!
                      
                      Btw. FAMETPDigiClock is only the working digital display
                      without a world time or something like this (yet).

                      FAMETPDigiClock uses some cpu time if it runs.. it's
                      not a little what it takes.. it takes much!
                      Not as much as the old "dIGI cLOCK" tooks of course,
                      but it's not recommendable to have a Node screen or
                      more than one Node screen running all the time with
                      the Clock. Check it out... also it slows down if you
                      have one or more Node screens open with the clock
                      and the ToolPort/CoProc window and the ToolPort/FDCMP
                      data window.

                      This is not a reason to not install FAMETPDigiClock,
                      because FAMETPDigiClock only takes cpu time if the
                      depending Node screen is open and the Node is in
                      "Await Call" mode. If the Node screen is closed
                      (iconified) and/or the Node is not in "Await Call" mode
                      FAMETPDigiClock is not taking a single bit of cpu time
                      (except exec's task sheduller looking for work as 
                      for every single task of course ;)).

                      So that's the reason why FAMETPDigiClock is such a great
                      example FAMEToolPort tool. The source is well commented
                      and you will learn how to use the FAMEToolPort features
                      in a very efficent way without polling datas.

+Server:
 New gadgets in the window "FAMECoProcess / FAMEToolPort" called
 "Remove FAMECoProcess" and  "Remove FAMEToolPort Tool".

 Also a new gadget in the window "FAMEToolPort" (FAMEToolPort/FDCMP controler)
 called "Remove".

 Those gadgets are used to break running tools which are using the
 FAMEToolPort. From now on every FAMEToolPort tool has to support the CTRL-C
 signal bit to get aborted from outside.

 Example source for this is FAMETPDigiClock.
 The other example tools are or will be updated to this guide line part soon.

+Server:
 The new CTRL-C guide line feature of the FAMEToolPort will now be used
 from the Server's FAMEToolPort code too to break running tools using the
 FAMEToolPort if the Server ends.

 Note: If a FAMEToolPort tool receives the CTRL-C signal (SIGBREAKF_CTRL_C)
       it has a maximum of 20 seconds (more less than 20) to unregister
       (command "FAMETP_EndRegister") with the FAMEToolPort.
       In this time it can send some FAMEToolPort commands and they will
       be executed, but always the returncode of every command will be
       "FAMETPRC_ServerEndQuitTools" and forces you to end your tool.
       Please don't forget to use "FAMETP_EndRegister" if you receive
       the CTRL-C signal... if you forget this the Server can't substract
       you from it's internal tool counter and it takes the whole 20 seconds
       before the Server ends completely. No memory will be lost in this case,
       but it takes the 20 seconds to wait for and then you never will get
       a CTRL-C signal again from FAME.

+Server:
 A new window appears if the Server ends called "FAME Resource Clearer"
 which displays various informations about the Sever and FAME resources
 controled by the Server on removin them.
 
 This includes the FAMEToolPort tool removings (CTRL-C) with the 29 seconds
 timeout.

+Server:
 New ToolTypes:

 - NO_FAME_RES_CLR_WIN - Disables the "FAME Resource Clearer" window.
 - FAME_RES_CLR_DELAY  - Changes the delay before the "FAME Resource Clearer"
                         window closes. Default is 1 second.

************************
FAME 2.0 BUILD 02-Jul-97
************************

+Server:
 FAMEToolPort / CoProcess - Changed completely the way with the xxx_Node field
 in all FAMEToolPort and CoProcess depending structures.

 internal:

 struct FAMECoProcList
 struct FAMEToolPortLst

 public:

 struct FAMECoProcessMsg
 struct FAMEToolPortMsg
 struct FAMEToolNotifyMsg

 The xxx_Node fields are *NO LONGER* used to idenitfy your tools from multiple
 tools running with the same tool name. For this a new entry is in the
 structures called xxx_Num.

 You have to support xxx_Num as xxx_Node before.

 xxx_Num has to be set one time of the tool before it calls the ToolPort
 the first time to register with and it's not allowed to be changed then!

 xxx_Node will now be used to send commands directly to every Node of your
 choice (if the command is for Nodes of course).

 FAMEToolPort tools are from now on more flexible and no longer Node depended!

 Examples:

   - FAMECoProcessMsg  -> fcpm_Node - Can be set by a CoProc tool to inform
                                      the Server that the depending command
                                      is for this special Node.

                                      If FAMECoProcessMsg  -> fcpm_Node is
                                      set to a value lower than 0 you mean
                                      every available Node.

   - FAMEToolPortMsg   -> ftpm_Node - Can be set by a FAMEToolPort tool to
                                      inform the Server that the depending
                                      command is for this special Node.

                                      If FAMEToolPortMsg   -> ftpm_Node is
                                      set to a value lower than 0 you mean
                                      every available Node.

   - FAMEToolNotifyMsg -> ftnm_Node - Contains the Node number which has
                                      caused the FDCMP event.

                                      If FAMEToolNotifyMsg -> ftnm_Node is
                                      lower than 0 the FDCMP event is not from
                                      a Node.

+Server:
 FAMEToolPort - Source changed for xxx_Num as control number.

+Server:
 FAMEToolPort - Node depending commands using xxx_Node = -1 or a different
 value < 0 will now be send to every running Node.

+Server:
 FAMETPDigiClock has a new argument (NODENR/K/N,ALL/S)

 ALL/S to use the new feature of xxx_Num with a negativ value (i.e. -1).
 Alternative you can use NODENR=-1.

 Beware! ALL is just an example to show the feature of sending commands
 to all running Nodes and shouldn't be used to have FAMETPDigiClock
 for all running Nodes, because this won't work correctly!

 The FDCMP using lock mechanism in the code which detects and knows
 if a Node screen is open and the Node in "Await Call" mode isn't
 handling more than one Node. There is a problem of the following nature
 - Do you think all Nodes are at the same time in the same state ???
 Well if just only one Node isn't the whole feature of sending a command
 (in this case the display of the clock) to all Nodes isn't useful
 - you will get the display on all Node screens also if someone is online.

 So this feature is just an example and not for real usage!!!

 If you want to have FAMETPDigiClock running for all ore some more Nodes
 you can make FAMETPDigiClock resident (you musn't but it saves some space)
 and run it more times with the argument NODENR=x where x is the Node
 number for one Node.

 It's no problem to run it maybe 10 times or 1000 times if you like...
 especially if it's made resident... if the Node screen(s) are closed
 FAMETPDigiClock will sleep completely.

+Server:
 New script and new directory will be executed:

 FAMEStartLate.bat

 and

 FAME:FAMEStartLate/

 It's the same as FAMEStart.bat and FAME:FAMEStart/ directory but they will be
 executed later.

 They will be executed directly after the FAMEToolPort is completely
 ready for usage and after the Nodes has been started and directly before
 the Server is going in the main loop.

 So simply put all your FAMEToolPort tools and CoProc tools into the directory
 FAME:FAMEStartLate/ or add them into the script FAMEStartLate.bat and they
 will be started at the right time to comunicate with the Server.
 In "FAMEStart" (without Late) such tools can't be started because that's
 really to early. The Server is setting up and starting the Nodes in this
 time... so just use FAMEStartLate.

 Note: Well FAMEStartLate.bat and FAME:FAMEStartLate/ arn't exactly the same
       as FAMEStart.bat and FAME:FAMEStart/ ... there is one short but
       important difference mainly for the directories.

       While files in the directory FAME:FAMEStart/ will be *ALL* started
       synchron, files in the directory FAME:FAMEStartLate/ will be started
       asynchron.

       In FAMEStart.bat and FAME:FAMEStart/ you normally make assigns and
       tools resident (like the FAMETPDigiClock :)) but not starting tools
       which are running longer time such as FAMEToolPort using tools
       like FAMEToolPort and FAMECoProcess tools.

       It's important that such tools are started asynchron so all files in
       FAME:FAMEStartLate/ will be started asynchron.
       
       So please start all such tools in the FAMEStartLate.bat with "Run"
       to start them also asynchron... sure it's only needed if the tools
       arn't starting asynchron themselves.

       Tools started synchron without running just a few seconds will delay
       the Server and the whole BBS ... or hang it completely.. depends on
       the time they run.

       The best is to code tools in a way that they run asynchron.

+SystemEditor:
 New directories will be created in CHECK mode:

 - FAMEStart/Storage

 - FAMEStartLate

 - FAMEStartLate/Storage

 - Modules/ToolPort

************************
FAME 2.0 BUILD 03-Jul-97
************************

+Server:
 FAMEToolPort Semaphore enhanced.

 There is now a new structure called FAMETPSemaphore. The FAMEToolPort
 Semaphore is no longer just a simple SignalSemaphore, now there is
 a complete structure with it.

 Currently there is one string pointer and two longs available in this
 structure... The string pointer points to the Server version string
 and the both long variables are containung the version and the revision
 of the Server.

 Now it's possible for every FAMEToolPort using tool to check the version
 of the Server first and if it's compatible to this tool.


 Following a part out of the new includes (FAMEPublicStructs.h):


 It's also possible to check the version of the Server and with it the
 ToolPort version if it's compatible with your tool.
 Check if the version and revision of the Server is the same or higher
 than the one your tool is coded for.

 First check if the Server version is higher if(ServerVer > MyVer) to be sure
 to run your tool on all higher versions. Then check for the case that the
 Server version is the same as your version in this case check then the
 revision: if(ServerVer == MyVer && ServerRev >= MyRev). All other cases
 are not ok.

 Put both cases with OR together into one if():

 if(ServerVer > MyVer || (ServerVer == MyVer && ServerRev >= MyRev))

 Example:
 --------

 #define TOOL_NEEDED_VERSION  2
 #define TOOL_NEEDED_REVISION 0

 ObtainSemaphore( FAMETPSemaphore );

 if( FAMETPSemaphore -> ftps_SVVersion > TOOL_NEEDED_VERSION || ( FAMETPSemaphore -> ftps_SVVersion == TOOL_NEEDED_VERSION && FAMETPSemaphore -> ftps_SVRevision >= TOOL_NEEDED_REVISION ) )
 {
   Printf("\nOk, version and revision is ok!\n\n");
 }
 else
 {
   Printf("\nSorry, this tool is not compatible with the version of FAME you use!\n\n");

   ReleaseSemaphore( FAMETPSemaphore );

   FreeVec()...
   Free...
   ...

   exit( RETURN_WARN );
 }

 ReleaseSemaphore( FAMETPSemaphore );

 ...


 The field ftps_SVVersionStr contains a pointer to the version string of the
 Server. It has the following format:

 "FAME Server v<Version>.<Revision><Phase> <Compile Date>"

 - Version      - Server's version
 - Revision     - Server's revision
 - Phase        - The phase (=beta) normally  if beta version or nothing
 - Compile Date - The date where the Server has been compiled.

+Server:
 The example tool FAMETPDigiClock is now doing this version check at the start
 (directly after it opens the FAME.library and before ReadArgs()).

 In the source of FAMETPDigiClock you can directly see how this works.

+Server:
 FAMEToolPort - 93 new commands implemented.

************************
FAME 2.0 BUILD 04-Jul-97
************************

+Server:
 FAMEToolPort - New command implemented.

  - FAMETP_FIMCommand -

 With FAMETP_FIMCommand you can use (nearly) every command
 a online FIM-Door can use.

 You have to allocate the normal FAMEDoorMsg like a door:

 struct FAMEDoorMsg *MyFAMEDoorMsg = FAMEAllocObject( FOBJ_FAMEDoorMsg );

 and the put the pointer into ftpm_StructDummy1:

 MyFAMEToolPortMsg -> ftpm_StructDummy1 = MyFAMEDoorMsg;

 Like a door you have to fill out all needed fields of FAMEDoorMsg
 and then send the command.

 Example: The FIM command (see FAMEDoorCommands.h):

          MyFAMEDoorMsg -> fdom_Command   = AR_SendStr;
					MyFAMEDoorMsg -> fdom_StringPtr = "Hello user!";

 It's not allowed for a ToolPort tool to use the FIM Must Commands
 MC_DoorStart, MC_ShutDown and MC_ShutDownLastWords !!!
 If you do fdom_ReturnCode will be: FIM_CMDDENIED .

 There will be also some command which arn't working correctly
 so please check all commands you use! For example commands like
 NR_PromptChars or other functions to ask for user strings
 arn't working, because the GetString command is if a user is online
 the main loop of the Node and is already in use - it's not able to
 work recursive yet. Maybe this will be changed in future or you
 write your own GetString function.
 Single char prompt functions like NR_WaitChar are working.

 Well ok, that's easy and logical till here, but using FIM commands
 via FAMEToolPort is not that simple. The problem is the asynchronous
 work of the Server. If you send a ToolPort command like
 FAMETP_FIMCommand it will immediately executed and the message
 replied. In the case of FAMETP_FIMCommand the Server sends the
 command and the datas directly to the Node you've defined with
 the command... but the Server is not waiting till the Node replies
 no it continues work and will get the reply sometime later...
 only on doing it that way the Server is able to react parallel
 to all Nodes and tools or whatever signals the Server could get.
 That means if the Server has send the request of your command to
 the Node the Server will not wait but will reply your ToolPort
 message... well the problem is that FIM DoorPort will work completely
 different. A door sends the message and wait as long as the command
 execution is in progress... in case of a WaitKey or GetString
 command it could take theoretically hours until the Node replies
 the message to the Door. The Server couldn't wait so that's the
 problem.

 The solution for this problem is the FDCMP event feature of the
 FAMEToolPort.

 That means you have to support FDCMP if you want to use
 FAMETP_FIMCommand.

 FDCMP_SERVER_FIMCommandReturn (ftpm_BitRequests5) will be the FDCMP
 event bit your tool will receive if the Node is ready with your
 FIM command request.

 Now there is a second problem.

 Your tool has to end if it receives CTRL-C as every FAMEToolPort
 using tool has to do.

 Only waiting will not be possible because if your tool has to end
 before the command has been returned to you you can't deallocate
 the FAMEDoorMsg structure, because it's in use.

 The solution for this second problem is easy. You have not much
 to do with it... if you receive a CTRL-C or whatever your tool
 quits then deallocate the FAMEDoorMsg structure in any case.

 The Server will handle this internal, but there is something
 different to the way a door handles this and you have to know this
 so now it will be explained what happens internally.

 First you have to know that it's like a door only possible to send
 one FAMETP_FIMCommand at one time so you have to wait for the
 FDCMP_SERVER_FIMCommandReturn event before you send the next one.
 Multiple requests will be refused by the Server with the returncode
 FAMETPRC_FIMCommandInProgress.

 Now to the explanation.

 If the Server receives your request (FAMETP_FIMCommand) your
 FAMEDoorMsg structure will be copied into an internal buffer
 (that's why it's safe to deallocate your memory after the
 reply of your request). Now this buffer will be used to send
 the request to the Node. If the Node replies the Server will
 send you this message (pointer) within the FAMEToolNotifyMsg
 (ftnm_StructDummy1) to your FDCMP in port. Now you can read
 this message to get the results from your FAMETP_FIMCommand
 request.. but beware.. the message you receive within the
 FAMEToolNotifyMsg is not yours!!! Do not free it or change it!
 The best is you copy it into your own FAMEDoorMsg structure
 and reply the FAMEToolNotifyMsg - this will be the safest way.
 Then interpret your copy.

 Like a door you have to check the field fdom_ReturnCode of the
 FAMEDoorMsg you receive after the call of FAMETP_FIMCommand
 with the FDCMP event FDCMP_SERVER_FIMCommandReturn.

 For a ToolPort tool it's not important to end like a door
 if the fdom_ReturnCode is negative, but you can react on possible
 problems and better stop using FAMETP_FIMCommand for this Node.

************************
FAME 2.0 BUILD 05-Jul-97
************************

+Server:
 FAMEToolPort - Command FAMETP_FIMCommand completed.

 FAMETP_FIMCommand should now work correctly and also safe.

 Now the memory for the list entry containg all datas for using
 FIM commands will be allocated if the tool uses FAMETP_FIMCommand
 the first time and will be deallocated if the tool ends to prevent
 memory fragmentation, because normally more than one FIM comamnd will
 be used.

 Also if a tool ends which has send an FAMETP_FIMCommand request before it
 has received the reply the list entry will automatically be deallocated
 if the Server receives the reply from the Node and recognises that the tool
 is no longer running.

 Additional warning:

 Currently the internal identify check is not very secure... so it may
 happen that a new FAMEToolPort tool is getting the same identify code
 as a tool has got before and has been quit some time before...
 ...this makes the FIM command thing a bit unsure for online usage at
 the moment.. but it will be fixed asap.

************************
FAME 2.0 BUILD 06-Jul-97
************************

+Server:
 FAMEToolPort - FAMEToolPort / CoProcess main info window enhanced.

 Written my own ListView Hook for both ListView gadgets
 (CoProcess and FAMEToolPort).

 Now the texts in the ListViews are separated by lines to make them
 easier to read, because the line for a tool consits of 4 or 5
 part strings which are now separated from each other.

 This Hook took me nearly the whole day, because i have to generate
 the complete listview contends in the Hook code... only to have
 those separators... also i use (as everywhere else) no __saveds...
 also here within the hook which is also a part of a second process
 and not the Server. This took me some time to code, but finally
 it works great... not exactly as i wanted, but it works.

 The separators are only displayed for existing elements and not for
 the whole ListView, because GadTools erases the unused part of
 the ListView from time to time and this looks ugly... but now i
 think it's ok... just have a look.

************************
FAME 2.0 BUILD 07-Jul-97
************************

+Server:
 The ListViews of the main FAMEToolPort CoProcess info window are now
 handling the ListView entries in a better correct way. It's no longer
 activating the most top entry on a simple change of an entry.. like
 a text change or whatever.... it will now only activate the first entry
 if the currently selected one disappears (tool ends).

+Server:
 FAMEToolPort - Changed the indentify creation.

 Changed the way of creating the unique identify code for the tools
 in a really unique way.

 Now is FAMEToolPort in a state where i can say it's ready for action!

 Use it, code tools using it.. go on!

************************
FAME 2.0 BUILD 15-Jul-97
************************

+Server:
 Completely changed the way of the CoProc technique.

+Server:
 Structures for CoProc completely changed and redesigned:

 struct FAMECoProcList
 struct FAMECoProcessMsg
 struct FAMECoProcRequest

************************
FAME 2.0 BUILD 21-Jul-97
************************

+Server:
 FAME CoProcess: Initialize code build in.

+Server:
 FAME CoProcess: Remove code build in.

+Server:
 FAME CoProcess: Initialize code and remove code liked with the FAMEToolPort.

+Server:
 FAME CoProcess: Message handle code build in and liked with the FAMEToolPort.

+Server:
 FAME CoProcess: List function code build in.

+Server:
 FAME CoProcess: First command function (Install) partitialy written.

+Server:
 FAME CoProcess: First support functions coded.

************************
FAME 2.0 BUILD 22-Jul-97
************************

+Server:
 FAME CoProcess: FAME ToolPort/CoProc Info window enhanced to handle also
 CoProc datas.

+Server:
 FAME CoProcess: FAME CoProc Info window implemented.

23-Jul-97
*********

+All include files of FAME:

 Everywhere where the word "Stamm" was appearing it has been replaced by
 "Base" now!

 So be warned, also some FIM DoorCommands have been renamed:

 - RD_FGetConfStamm   is now named RD_FGetConfBase   (FAMEDoorCommands.h)
 - RD_GetDldFileStamm is now named RD_GetDldFileBase (FAMEDoorCommands.h)
 - RD_RIDldFileStamm  is now named RD_RIDldFileBase  (FAMEDoorCommands.h)
 - RD_PutDldFileStamm is now named RD_PutDldFileBase (FAMEDoorCommands.h)

************************
FAME 2.0 BUILD 28-Jul-97
************************

+Server:
 FAME CoProcess: All missing functions implemented in the last days.

 Now it's time to write the first working FAME CoProcess Tool to
 test the whole thing.

 The name of the tool: FAMEMsgDeleter.FCP

 Note: .FCP is the indicator suffix for FAME CoProcess tools!
       Just like .FIM is for FAME doors.

       *Please* support this in your tools to be able to see at
       once what kind of tool it is.

       Note: FAMECoProc tools always *MUST* be located in
             FAME:Modules/CoProcess/ directly or in a sub-directory,
             no other main path is possible else the CoProc never gets
             started.

10-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.29/Server v1.24/SystemEditor v1.23
                 ----------------------------------------------

-MainPart:
 Fixed a little bug with the DlDFilesBase list which causes random
 values in the list.

+MainPart:
 If the SysOp enters the first time to the BBS and begins as a
 newuser, in this case as the SysOp, the Username from the System
 Datas (SystemEditor) will be used and can't be changed here,
 it will just be checked for restrictions and if it fails the
 SysOp will be logged out with a note to change the SysOpName
 with the SystemEditor first.

+Server:
 Recompiled because of new version numbers and changed structures.

+SystemEditor:
 Recompiled because of changed structures.

                             ---------------------
                             FAMEFileChecker v1.16
                             ---------------------

+Enhanced internal info list to indicate hold files.

                              -------------------
                              FAMEHydra.FIM v1.15
                              -------------------

+Recompiled because of changed structures.

                            ------------------------
                            FAMESModem.FIM v1.1 beta
                            ------------------------

+Recompiled because of changed structures.

-MainPart:
 The SysOpStats of uploaded files and hold files was not generated in
 background post mode. Now it will.

 (Reported by SieGeL/tRSi)

11-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.29/Server v1.24/SystemEditor v1.23
                 ----------------------------------------------

+MainPart:
 DoorConfig menu (W 14) now first validates the DoorConfig doors before
 they will be displayed to the user.

 The user will now only see such DoorConfig doors which have the level
 the user is allowed to use.

 (Suggestion from SieGeL/tRSi)

+MainPart:
 DoorConfig menu (W 14) now prints more error texts on starting a
 DorrConfig door which fails.

+SystemEdior:
 FileRequester, ScreenModeRequester, FontRequester and DeviceDriverRequester
 will now open centered on your screen.

+SystemEdior:
 Gadget SystemEditor -> Node Edit -> MORE I -> 'Free Download Node'
 is now active.

+MainPart:
 Node flag 'Free Download Node' will now be used.
 If this flag is set all files downloaded on this Node are for free.

 (Needed by engine)

-MainPart:
 Fixed a little bug with the mail status which will be displayed on
 joining a different Conference.

 The first line 'Total messages' was always at 0 if the general mail
 scanning setting (W 12) was set to 1 (No Scan) or 4 (File Scan).

 (Reported by SieGeL/tRSi)

12-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.29/Server v1.24/SystemEditor v1.23
                 ----------------------------------------------

+MainPart:
 Debug logging enhanced to log now all Message Scanner activities.
 If you have problems with (sometimes reported) not displayed mails
 then you can log the debug output and send the file to us.

 (Suggestion from Splash/ElT^MGS!)

-MainPart:
 Fixed a bug with the Debug logging.
 In some cases the debug buffer get's written into the wrong
 debug log file if you have turned on more than one debug
 log file.

+MainPart:
 Speed of debug logging drastically increased (more than 10 times
 faster than the old one) by removing all string length
 counting code and by replacing it with complete pointer
 orientated code. Also all unix time code has been replaced
 by DateStamp.

13-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.23
                 ----------------------------------------------

+MainPart:
 Speed of debug logging for Door debug increased by replacing unix time
 with DateStamp.

20-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.23
                 ----------------------------------------------

+MainPart:
 MsgBase read mail header now displays "Del in Days:" in the real format.
 If no Delete In Days is set (0) the header says now: "Del in Days: Never!".
 If it's set the header now displays the amount of days left before the mail
 is outdated. Previeous MainPart versions always displayed the entered amount
 of days before the mail is outdated means all days the same value.
 Now there you will see a positive value for the left days, 0 for the day
 where the mail is outdated and neagtive values for mails which are outdated
 as many days as the value is in negative range.

21-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.24
                 ----------------------------------------------

+SystemEditor:
 New window: SystemEditor -> Conferences -> Del.Mail -> 'Auto Delete Mails'.

 With this configuration window you can now set for every available Conerence
 default values which will be used by MainPart for the different message types
 to set the 'Delete In Days' message value/flag automatically on entering
 a mail.

 The SysOp is able to define a range, means minimum of days a mail can be
 stay in the message base and a maximum it can stay there.

 If the minimum is set to 0 the whole thing is disabled, because 0 means
 'Never Delete In Days'. So if you like to have private mails in Conference
 1 stay intact without auto delete just set the minimum value to 0.

 If minimum is > 0 then you can enter the maximum value too.
 Now you have defined a range from - to. This is now a range of possible
 days a user can choose from if the user enters a mail, but if minimum is 0
 so it's dissabled as told above. This means for the user that the mail won't
 be deleted after a time period - except the users enters an own value in this
 case.

 If minimum is > 0 then you can also enter a default value which must be
 between minimum and maximum or the same as minimum or maximum.
 This default value will be used then if a user writes a mail as the number
 of days from write date to delete the mail.

 If minimum is > 0 then you can also enter an override level.
 This is dedicated for SysOps and means that they can chosse every
 value they want - also 0 for no auto delete.

 Theese 4 values (min, max, default, override level) are existing now 5 times,
 because there are 5 possible message types available:

  - Public mails
  - Private mails
  - ALL mails
  - EALL mails
  - UEALL mails

 So you can configure theese 4 values for all 5 message types individually.

 The SystemEditor will automatically check for changes if you start it,
 because of some updated and additional datas/directories etc.

 If the SystemEditor does this check it now will also default all theese
 values for every Conference you have to the following values:

 Public mails:

  Minimum       : 0   - Disabled. Never auto delete mails in days.
  Maximum       : 92  - 3 months max.          (Disabled but defaulted)
  Default       : 92  - 3 months default.      (Disabled but defaulted)
  Override Level: 250 - Level 250 to override. (Disabled but defaulted)

 Private mails:

  Minimum       : 0   - Disabled. Never auto delete mails in days.
  Maximum       : 365 - 1 year max.            (Disabled but defaulted)
  Default       : 182 - 1/2 year default.      (Disabled but defaulted)
  Override Level: 250 - Level 250 to override. (Disabled but defaulted)

 ALL mails:

  Minimum       : 0   - Disabled. Never auto delete mails in days.
  Maximum       : 92  - 3 months max.          (Disabled but defaulted)
  Default       : 92  - 3 months default.      (Disabled but defaulted)
  Override Level: 250 - Level 250 to override. (Disabled but defaulted)

 EALL mails:

  Minimum       : 0   - Disabled. Never auto delete mails in days.
  Maximum       : 61  - 2 months max.
  Default       : 61  - 2 months default.
  Override Level: 250 - Level 250 to override.

 UEALL mails:

  Minimum       : 7   - 1 week minimum.
  Maximum       : 31  - 1 month max.
  Default       : 31  - 1 month default.
  Override Level: 250 - Level 250 to override.


 Theese are all values i think which are valuable for the most purposes.
 If not - change them to your needs.

 ALL cases except UEALL mails are disabled, because to let FAME act
 like it always act before, but if you like to use the Auto Del In Days
 feature then set the minimum value to 1 for example.
 Because of this the other values are defaulted, but disabled till you enable
 them.

 UEALL is enabled, because it's never completely build in till now ;)
 so it makes no difference.

 Additional note: If you set a minimum value of 1 or higher to enable the
                  Auto Del In Days function you "Reduce" the user possibilities
                  of handling their mails and if they get auto deleted or not.

                  This is maybe important to know, because the MainPart will
                  allow the user to set for all 5 message types for "Reduced"
                  and "Not Reduced" mode default settings which will allow
                  the user to automate the whole Auto Del In Days thing.

                  The user will be able to chosse between, prompt for the
                  value, use default, use minimum, use maximum possible,
                  use user's own value (which will not be able to override
                  your settings) and in the case of "Not Reduced" to choose
                  between prompt for the value, use user's own value and 
                  "Never delete automatically".
                  
                  For more about this see the MainPart description of this
                  later if it's build in.

22-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 User Config 'W' enhanced.

 In the user configuration menu ('W' menu command) in submenu
 '[19] ADD MESSAGE OPTIONS' you will find a new menu point called
 '[ 8] MESSAGE AUTO DELETE OPTIONS' which is also a submenu...

 This is a FAME 2.0 feature which only will take completely effect in FAME
 v2.0, because the whole 'Message Auto Delete' feature will be completed
 in FAME 2.0 first, but nevertheless it's not false to have this feature
 implemented into the MainPart 1.31+ now, because the only thing what is
 missing to 2.0 is the FAMECoProc and the FAMECoProc module
 'FAMEMsgDeleter.FCP' which deletes the messages in background.
 If you have FAME 2.0 then 'FAMEMsgDeleter.FCP' will be able to work with
 the now made settings to the message base.

 ...back to the new submenu (short: 'W 19 8')

 The menu is splitted into two parts.

 1st the 'REDUCED BY SYSOP' and 2nd the 'NOT REDUCED BY SYSOP' part
 where REDUCED means that the SysOp has reduced the freedom of the user
 to choose the amount of days till the mail get's deleted automatically.
 This mainly means that the user is not able to set a mail to 'DELETE NEVER'
 (0) and also not to a very high amount of days like years.
 For the example that the SysOp has defined an amount range of 14 days
 from 1 day to 14 days (minimum = 1 and maximum = 14) the user is not able
 to choose a value higher than 14 and not lower than 1.

 'REDUCED BY SYSOP' now means that for the case the SysOp has set a range
 (REDUCED) for a Conference where a user now writes a mail to, the above told
 restrictions are taking place. 'NOT REDUCED BY SYSOP' is for all the cases
 (Conferences) where the SysOp has made no restrictions.

 Conferences? Yes... the SysOp is able to set theese 'Message Delete In Days'
 options for every single Conference the BBS knows off, but that's not all.

 To the Conference based settings the amount can be reduced for all five
 available message types.

 Message types are: - Public mails
                    - Private mails
                    - ALL mails
                    - EALL mails
                    - UEALL mails

 This means there are 5 message types for two cases for the amount of
 Conferences (5 * 2 = 10 means 10 * amount of Conferences) which can be
 completely different configured with the 'Auto Delete Messages In Days'
 feature --- too much for the user to configure so there are not all
 theese settings available for every Conference to the user, but once
 for both cases (REDUCED and NOT REDUCED). Theese are default settings then
 which will be calucalted to the Conference settings by the SysOp.

 The following settings are possible for the user:

 REDUCED: For message type: [ 2] PUBLIC MAIL
                            [ 3] PRIVATE MAIL
                            [ 4] ALL MAIL
                            [ 5] EALL MAIL
                            [ 6] UEALL MAIL

          - Submenu: [ 1] PROMPT FOR AUTO DELETE IN DAYS VALUE
                     [ 2] USE DEFAULT VALUE
                     [ 3] USE POSSIBLE MINIMUM
                     [ 4] USE POSSIBLE MAXIMUM
                     [ 5] USE OWN VALUE
                     
                     [ 6] ON LEVEL OVERRIDE    : NEVER AUTO DELETE MAILS   <---- (Example)


 NOT REDUCED:  For message type: [ 8] PUBLIC MAIL
                                 [ 9] PRIVATE MAIL
                                 [10] ALL MAIL
                                 [11] EALL MAIL
                                 [12] UEALL MAIL

          - Submenu: [ 1] PROMPT FOR AUTO DELETE IN DAYS VALUE
                     [ 2] NEVER AUTO DELETE MAILS
                     [ 3] USE OWN VALUE

 There are also the points '[ 1] FOR 2-6 TOGETHER' and '[ 7] FOR 8-12 TOGETHER'
 which will make the same settings for the points (2-6) and (8-12) in one go
 for REDUCED and NOT REDUCED.

 Explanation of the submenu points which are now the possible settings a user
 can choose:

 PROMPT FOR AUTO DELETE IN DAYS VALUE - This will tell the Mainpart to appear
                                        a prompt on saving a new mail to let
                                        the user choose a value for the amount
                                        of days till the mail will be deleted.
                                        (REDUCED and NOT REDUCED)

 USE DEFAULT VALUE                    - Means to use the by the SysOp
                                        predefined default value for the amount
                                        of days till the mail will be deleted.
                                        (REDUCED only)

 USE POSSIBLE MINIMUM                 - Means to use always the possible
                                        minimum amount of days till the mail
                                        will be deleted.
                                        (REDUCED only)

 USE POSSIBLE MAXIMUM                 - Means to use always the possible
                                        maximum amount of days till the mail
                                        will be deleted.
                                        (REDUCED only)

 USE OWN VALUE                        - To choose an own value for the amount
                                        of days till the mail will be deleted.
                                        (REDUCED and NOT REDUCED)

                                        Note: In the REDUCED case this amount
                                              isn't able to override the range
                                              configured by the SysOp - it will
                                              then the nearest range used.

                                        Example: User has defined 20 SysOp has
                                                 defined a range from 2-10 so
                                                 10 will be the used value.

 NEVER AUTO DELETE MAILS              - Means that the value shall be set
                                        automatically to 0 on writing a mail
                                        which means that the mail won't be
                                        automatically deleted after a time.
                                        (NOT REDUCED only)

 ON LEVEL OVERRIDE                    - Here the user can define the default
                                        action for the case that the user level
                                        is higher or the same as the by the 
                                        SysOp as 'Override Level' defined one.
                                        The user can choose between all
                                        possibilities available for REDUCED and
                                        also 'NEVER AUTO DELETE MAILS'.
                                        (REDUCED only)

 So now the user will be able to configure this once to automate this whole
 thing like the user wants it to.

 Default user settings will be for all message tpyes in REDUCED mode
 'USE DEFAULT VALUE' and 'ON LEVEL OVERRIDE : NEVER AUTO DELETE MAILS'
 and for NOT REDUCED 'NEVER AUTO DELETE MAILS'.

23-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 Prepare Download (menu command 'D'/'DL'/'DG') enhanced.

 On wildcard flagging (files with * - jokers) it will now be asked on every
 found file if the file shall be flagged and not like before that all found
 files will be flagged without asking for them.

 Possible options on the ask prompt are Yes, No, All Files, Previous, Break.

 Yes       - To flag the found file.

 No        - To skip to the next file.

 All Files - To flag all files, the current one and all following ones.

             Note: You can break automatical file flagging by pressing
                   CTRL-C.

 Previous  - To go back to the file flag before. Nice if you've forgotten to
             flag the file before.

 Break     - To break (stop) the wildcard flagging.

 Example prompt look:

 Found file FAMEWH12.lha (12 kb 0 mins 1 secs).
 Flag this file?[(Y)es/(n)o/(a)ll files/(p)revious/(b)reak] >:

+MainPart:
 New prompt in Prepare Download (menu command 'D'/'DL'/'DG').

 Directly after the file flag prompt you will now get a prompt where you
 can jump back into file flag mode, continue and downlaod files or where
 you can list and delete file flags.

 This prompt also displays the overall flagged files, bytes and the time left.

 Example prompt look:

 4 files flagged, 1.282.715 bytes 0 hours 1 minutes 48 seconds.
 (D)elete flag(s) (L)ist flag(s) (B)ack to flag mode (Enter)->Continue >:

25-Aug-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 "Auto Delete In Days" of the message base will now be different for
 private mails.

 On private mails the value will mean the days from receiving the mail
 on and not like all other message types the day the mail is written on.

 So private mails will not be deleted automatically until the receiver
 has read it.

12-Sep-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.24/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 Updated the 'VER' menu command display.

29-Sep-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+Server:
 Enhanced the About with a listview gadget for a new about part.

-MainPart:
 Fixed a hard bug which could damage the SysOps user data (from slot
 number 1). If a newuser enters and was not finished answering the
 questions it was possible to call with F6 the internal usereditor
 and also possible to save the newuser then, but always over
 the SysOp account as usernumber 0, because at the very beginning
 there is no slot reserved for the newuser.

 FIXED!!!!!!!!

 Now there is an internal usereditor lock mechanism build in which
 will be activated at the point where a user calls or a user is
 logging in till the user has entered his handle and the user data
 gets loaded... and in the case of a newuser till the newuser
 has validated the questions.

 In this time the usereditor will be disabled.

 (Reported by Splash/tBF)

01-Oct-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+Server:
 About enhanced with ' & Contact' submenu and 'FAME Infos'.

 'FAME Infos' holds a listview gadget and datas about when
 the Server has been started and in the listview when the
 Nodes have been started, including version, revison,
 hours and minutes running.

 (Suggestion from SieGeL/tRSi)

+Server:
 Hotkeys build in for the main Server window.

 Now nearly everything is usable via hotkeys and shortcuts.

 Following keys are available:

 A                  About
 B                  Cycle Banks       (System Banks 1/2 / User Banks 1/2)
 C                  Iconify           (System Bank 1)
 D                  Drop User         (System Bank 1)
 E                  ShutDown Node     (System Bank 1)
 F                  SysOp Fast Login  (System Bank 1)
 G                  Remote Fast Login (System Bank 1)
 H                  SysOp Chat        (System Bank 1)
 I                  Iconify Server
 L                  Local Login       (System Bank 1)
 N                  Toggle between Node banks
 O                  Local Fast Login  (System Bank 1)
 P                  SysOp Login       (System Bank 1)
 R                  Remote Login      (System Bank 1)
 S                  Save Win
 T                  ToolPort/CoProcess
 U                  Launch UserEditor (System Bank 1)
 Y                  Away
 SPACE              Launch SystemEditor
 #                  Node ShutDown OH  (System Bank 1)
 ^                  Window size (small/big)
 ESC                Win Close Button
 Shift ESC          Like ESC + Drop Users
 TAB                Cycle between Last 10 User/Last 10 Ul/Last 10 Dl
 Up                 Last 10 User/Ul/Dl scroll up   (1 line)
 Down               Last 10 User/Ul/Dl scroll down (1 line)
 Shift Up           Last 10 User/Ul/Dl scroll up   (4 lines)
 Shift Down         Last 10 User/Ul/Dl scroll down (4 lines)
 RAmiga A           About
 RAmiga ?           About
 0-9                Toggle Chat on Node 0-9
 LShift 0-9         Info on User of Node 0-9
 RShift 0-9         Launch UserEd on Node 0-9 and load it's user
 RAlt 0-9           Start Node / Open Node Screen / Combine Node 0-9
 RShift RAlt 0-9    Exit Node 0-9
 L+RShift RAlt 0-9  Exit Node OH 0-9
 RAmiga 0-9         Resume Node 0-9
 RShift RAmiga 0-9  Suspend Node 0-9
 LAlt RAlt 0-9      Drop User on Node 0-9

 Note: All 'System Bank 1' keys can be combined like on Mouse usage
       with the Node gadgets.

       Example: Type 'F' for 'Fast SysOp Login' and the click on one
                of the Node gadgets or use RAlt 0-9 to select the Node.

                In this example the Node Screen will open / come to front
                and the SysOp is automatically logging in in fast mode.

 (Suggestion from Bakerman / Depth^Rebels)

26-Oct-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 The new Prepare Download prompt (menu command 'D'/'DL'/'DG') has been shorted
 a bit, because the complete prompt + the text which appears behind the prompt
 to confirm the user input was > 79 chars.

 Old example prompt look:

4 files flagged, 1.282.715 bytes 0 hours 1 minutes 48 seconds.
(D)elete flag(s) (L)ist flag(s) (B)ack to flag mode (Enter)->Continue >: DELETE FILE FLAG(S)

 New example prompt look:

4 files flagged, 1.282.715 bytes 0 hours 1 minutes 48 seconds.
(D)elete/(L)ist flag(s) (B)ack to flag mode (Enter)->Continue >: DELETE FLAG(S)

28-Oct-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+SystemEditor:
 Changed some EasyRequester texts to make some things clearer.

+SystemEditor.guide:
 Updated for the Conferences sub part window "Auto Delete Messages".
 The whole part is described now and available with GadgetHelp.

-SystemEditor:
 All FileCheckers created as default by the SystemEditor have been
 created with Checker OFF option. Now they will be created with
 Checker ON option to let them take effect. Please check if some
 of your FileCheckers are set to OFF (disabled) because of this
 bug. Fixed.

+SystemEditor:
 SystemEditor -> Access / Secure -> Presets -> 'Time Limit'
 will now be the daily time limit in minutes and no longer
 in seconds. Internally it will be converted into seconds.

+SystemEditor:
 New gadget in SystemEditor -> Access / Secure -> Levels
 'DELETE' to delete a level.

+SystemEditor:
 New gadget in SystemEditor -> Access / Secure -> Conference Access
 'DELETE' to delete a Conference Access.

30-Oct-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+SystemEditor:
 New gadget in SystemEditor -> Node Edit -> Ser/Mod/Scr -> 'Window Only'
 to open the Node not on it's own Screen, but on the FGPS
 (FAME Global Public Screen) or a different PublicScreen.

 Note: You need FAME 2.0 for this feature.

+SystemEditor:
 New gadgets in SystemEditor -> System Datas -> More :

 - Def. PublicScreen

 - Other PubScreen

 - FallBack PubScreen

 - FAME Glob ScrMode

 - BitPlanes

 - Font

 - Font Size

 to define the FGPS (FAME Global Public Screen) and to
 configure which Screen shall be used by default as the
 PublicScreens for the Node windows.

09-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

                             ---------------------
                             FAMEFileChecker v1.17
                             ---------------------

+The bytes in the dir listing will be created now in an advanced format.

 This was needed because the old one only holds space for 7 digits
 means 9999999 bytes = 9.999999 MB = 10 MB - 1 byte.

 The new one will put the bytes in kilobytes (KB/K) behind the bytes
 space if the bytes of a file are 10MB and more, but not if less -
 in this case the old bytes format will be used.

 So it's now space for nearly 10 gigabytes (GB).

 Examples:
 ---------

 Old format and also currently used format if bytes are under 10 MB:

12345678.123 P      1  11-08-97  Test Test Test
12345678.123 P     10  11-08-97  Test Test Test
12345678.123 P    100  11-08-97  Test Test Test
12345678.123 P   1000  11-08-97  Test Test Test
12345678.123 P  10000  11-08-97  Test Test Test
12345678.123 P 100000  11-08-97  Test Test Test
12345678.123 P9999999  11-08-97  Test Test Test

 New format if bytes are 10 MB and more:

12345678.123 P  10000K 11-08-97  Test Test Test
12345678.123 P 100000K 11-08-97  Test Test Test
12345678.123 P9999999K 11-08-97  Test Test Test

 As you can see there will only a 'K' for KB or kilobytes be added
 directly behind the number of bytes to indicate that this will
 be kilobytes instead of bytes.

 So the first of the two empty spaces between bytes and the date
 will be used to indicate the kilobytes with the 'K'.

 What about problems with newscanners and other tools now?

 Well good coded tools will have no problems with it.

 I've currently checked two (often used) tools with the new
 format:

 Newfiles (FAME version) by ByteAndi/tRSi:

   - No problems detected.

 Aquascan (XIM door) by Aquarius/Outlaws:

   - The bytes with the 'K' at the end will no longer be displayed
     in color, but in pure white.
     
     Well i don't think that this will be a problem - no i think
     this is a great side effect, because you will now see
     without directly looking at the bytes which bytes are in
     kilo and which not.

 What other scanners say to the 'K' is not known by me, well but i
 think they will work... btw there are 2 other scanners under
 development for FAME now (a filereverse and a complete newfile scanner)
 and they will of course have no problem with the 'K'.

12-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

-MainPart:
 Fixed a bug in the internal UserEditor.

 If a user has been loaded into the internal UserEditor while the
 user was online at the Node where the internal UserEditor has been
 used the Conference data editor part wasn't loading the right
 Conference user datas into the UserEditor. It always has used
 the Conference user datas from the current Conference where the user
 was at the moment. This was because the function loading the Conference
 user datas from disk was always checking if the online user is the same
 as the user in the UserEditor and hasn't also checked if the Conference
 is also the same, because if both are the same the data won't be
 loaded from disk, but the datas from the user which are already in
 memory shall be used.

 Fixed! Now the Conference check will be done too.

-MainPart:
 Fixed a 2nd bug in the internal UserEditor.

 There was a bug like the one above, but this time in the function which
 saved the Conference datas back to disk, it also wasn't checking if
 the Conference to be saved was the same as the one the user was currently
 in.

 Fixed!

+MainPart:
 Re-added a small feaure in the internal UserEditor.

 If a online user gets loaded into the internal UserEditor on the Node
 the user is online then on using "C" for jumping onto the Conference
 user data part of the internal UserEditor the current Conference
 user datas will be loaded instead of the ones of the first available 
 Conference.

 This feature was originally build in, but was resulting in the above
 show bugs. Now this will work correctly.

13-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+MainPart
 SYSCMD 'NUKED' using doors will get now some small modified arguments.
 The UBYTESU (user bytes uploaded) and UBYTESD (user bytes downloaded)
 will now be a string (%s) and no longer a ULONG (%lu).

 Following the updated description to the command.

 NUKED      : - Will be started if a Nuker has nuked bytes and files, but
                only if the Nuker supports the FIM commands 'NC_Nuked' or
                'NC_NukedAfter'.

                Doors called by this SYSCMD can get the following argument
                string on using the FIM command NR_MainLine:

                'NUKED NNFILES=%ld NNBYTES=%lu USERSLOT=%ld USERNAME="%s"'...
                ...' UFILESU=%ld UBYTESU=%s UFILESD=%ld UBYTESD=%s'...
                ...' NFILES=%ld NBYTES=%lu' (continued string)

                Description:

                - NUKED         The SYSCMD name.

                - NNFILES=%ld   Nuked Files. Files nuked NOW.
                                (long value)

                - NNBYTES=%lu   Nuked Bytes. Bytes nuked NOW.
                                (unsigned long value)

                - USERSLOT=%ld  Nuked user's slot number.

                - USERNAME="%s" Nuked user's name.

                - UFILESU=%ld   Nuked user's uploaded files overall.
                                (long value)

                - UBYTESU=%s    Nuked user's uploaded bytes overall.
                                (64 bit string value)
                                (Convert with FAMEAto64() into 64 bit var.)

                - UFILESD=%ld   Nuked user's downloaded files overall.
                                (long value)

                - UBYTESD=%s    Nuked user's downloaded bytes overall.
                                (64 bit string value)
                                (Convert with FAMEAto64() into 64 bit var.)

                - NFILES=%ld    Nuked user's nuked bytes overall.
                                (long value)

                - NBYTES=%lu"   Nuked user's nuked files overall.
                                (unsigned long value)

 Now you may ask we the hell a string is used now instead of the ULONG.
 The answer is simple ;) See one point below.

+MainPart:
 From now on FAME supports for up and download bytes in the User
 and User-Conference datas 64 bit values instead of 32 bit ones.

 This changing was a must because the 32 bit range is too small
 for todays up and download bytes.

 Following the maximum sizes for 32 and 64 bit:

 UDOUB:              4.294.967.295 ( 32 bit = 1 ULONG )
 UQUAD: 18.446.744.073.709.551.615 ( 64 bit = 2 ULONGs )

 So with 64 bit variables the amount of bytes is now more than
 18 trillion bytes instead of more than 4.2 giga bytes (32 bit).

 Because of the new 64 bit values and of it's size (max. 20 chars in a row
 and 26 inclusive seperator dots) most byte displaying layout must be changed.

 Following all changes will be documented (SYSCMD 'NUKED' is one of them).

+MainPart:
 All upload byte calculations will be done in 64 bit now.

+MainPart:
 All download byte calculations will be done in 64 bit now.

+MainPart:
 The upload statistics after uploading files will take now the whole
 79 chars to display 64 bit byte values and will now look like this:

Type     Global Files          Global Bytes   Local Files           Local Bytes
-------------------------------------------------------------------------------
Upload          3.906         3.993.603.840           419            48.348.662
Download          193            22.692.917            59             4.664.506

Type               Available Files            Available Bytes
-------------------------------------------------------------
Overall                   DISABLED                   DISABLED
Today                     DISABLED                   DISABLED

 In the first part (user's bytes and files) only 21 chars space is
 available for the byte display and in the second part the calculated
 available bytes and files 26 chars.

 26 chars are needed to display the maximum 64 bit value of 18 trillion
 with seperator dots without only 20. So if the size of the bytes with
 dots is higher than 21 the byte value will be displayed without dots
 then in the first 21 char space part of the statistics, but this will
 only happen if someone has uploaded/downloaded more than 
 9.999.999.999.999.999 bytes (10 million giga bytes) and this is much
 really much!

+MainPart:
 The download statistics before downloading files has been changed completely.

 1st it  has been updated in the size it takes to fit 64 bit values
 completely (with seperator dots).

 2nd it has been enhanced with the local (Conference user data display)

 3rd download bytes and files have been exchanged with the upload ones
 to have a better basis to understand the calculations better.

 The new display will now look like this:

Upload Bytes/Files Total :              3.993.603.840 bytes         3.906 files
Downl. Bytes/Files Total :                 22.692.917 bytes           193 files
Upload Bytes/Files Local :                 48.348.662 bytes           419 files
Downl. Bytes/Files Local :                  4.664.506 bytes            59 files

Upload Bytes/Files  (T/T):              3.993.603.840 bytes         3.906 files
Download Bytes/Files(T/T):                 22.692.917 bytes           193 files
Bytes/Files Available    :                   DISABLED bytes      DISABLED files
Avail Bytes/Files Today  :                   DISABLED bytes      DISABLED files

Overall Bytes/Files Avail:                   DISABLED bytes      DISABLED files

 Line  1: The total (global) user upload bytes and files (User.data)

 Line  2: The total (global) user download bytes and files (User.data)

 Line  3: The local (Conf) user upload bytes and files (UserCnf.data)

 Line  4: The local (Conf) user download bytes and files (UserCnf.data)

 Line  5: - Empty -

 Line  6: The for the calculation used upload bytes and files.
          Either the above total or local ones (indicated by the T or L
          in the text brackets i.e. (T/L) or (T/T)...
          The decision will be done if Conference Accounting is activated
          and the Conference Ratio is not set to "GLOBAL".
          In this case the bytes and files will be checked for the smaller
          one for bytes and files of upload and download bytes.

 Line  7: The for the calculation used download bytes and files.
          Either the above total or local ones (indicated by the T or L
          in the text brackets i.e. (L/T) or (L/L)...
          The decision will be done if Conference Accounting is activated
          and the Conference Ratio is not set to "GLOBAL".
          In this case the bytes and files will be checked for the smaller
          one for bytes and files of upload and download bytes.

 Line  8: Displays the finally calculated available bytes and files which
          can be downloaded now. "DISABLED" appears if the Ratio is set to
          0 (disabled) which also depends of the Conference Accounting
          flag and the "GLOBAL" Ratio setting of the Conference user datas
          If Conference accounting takes place and the Ratio is then in
          the Global User datas or Confernce User datas disabled, but not
          in bot the one will be used which is not disabled means if
          Conference Accounting is on and "GLOBAL" is not selected the
          always smaller one in the priority will be used. To have in this
          case disabled both the Conference and Global Ratio must be set
          to 0 (disabled) to have disabled as the final result.

 Line  9: Displays the finally calculated available daily bytes and files
          which can be downloaded now.
          See the description for Line 8 to see how the Ratio and how
          the disabled decision will be calculated.

 Line 10: - Empty -

 Line 11: Finally Line 8 and 9 will be taken and calculated and the
          result will be displayed here. This is now *REALLY* what the user
          is able to download for today.

          The decision will be made like for Line 8 and 9. The one which
          is smaller will be used. So if the user has disabled bytes and
          files, but only 10MB and 100 files available for TODAY the user
          has *NOT* really disabled... the user has disabled, but reduced
          in a size per day.

 I hope the Conference Accounting will be understood now too ;)
 It's a bit complicated, but it works nice.

+MainPart:
 The prompt which prompts for files to be download on command "D"
 will now support 64 bit bytes:

<xyz> mins <64 bit value> bytes <32 bit value> files Filespec(1)>:

+MainPart:
 The following FIM door commands have been enhanced to support the 64 bit
 up and download bytes:

Changed (enhanced) NR commands:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define NR_BytesUpload      53
/*
 * Retrieve bytes uploads per user
 *
 * Data1
 * Data2
 * Data3    -> Contains the User's bytes uploaded.
 * Data4    -> Contains the User's bytes uploaded higher ULONG (64 bit value).
 * IOString
 *
 * Note: Data4 is new from MainPart 1.30+ on.
 *       Now two ULONGs will be used to have 64 bit values for the upload
 *       and download bytes. One ULONG alone has only a byte range from
 *       0 -              4.294.967.295 bytes, but 64 bit from
 *       0 - 18.446.744.073.709.551.615 bytes (more than 18 trillion bytes !!!).
 *       This is needed, because 4.2 GB is too small for uploaders today,
 *       but 18 trillion will be enough for the next millenium (i hope) ;)
 *
 *       The higher ULONG (Data4) is be left (before) the lower ULONG (Data3).
 *       The old variable (Data3) is the lower one and can be used as before
 *       by older tools, but they didn't know of the new ULONG and because of
 *       this the value they read and write will no longer be correct, because
 *       on values higher than 4.294.967.295 bytes they doesn't change the
 *       higher ULONG too! This will result in wrong values, not completely
 *       wrong, but wrong in the lower ULONG bytes. This means if a user
 *       has nearly 4.294.967.295 bytes (4.3 GB) and there are bytes added
 *       to this user bytes an overflow will happen and the lower ULONG will
 *       start with 0 bytes without increasing the higher and new ULONG.
 *
 *       There is not much we and you can to do against this except of using
 *       new and updated tools and doors which are able to handle 64 bit
 *       values too.
 *
 *       Nevertheless it's in every case something you can't do anything
 *       against, because if FAME would in future just use 32bit (one ULONG
 *       instead of two) as it was in previous versions and also as every
 *       other well know BBS program does you will ever have the problem
 *       of the overflow if a user has more bytes up and/or downloaded
 *       than 4.2 (4.3) GB and there are bytes getting added to it will ever
 *       restart at 0. So you just have to live with this problem except
 *       now with FAME... with FAME you have now 64 bit values for the bytes
 *       and new tools and doors will be able handle this feature too.
 *
 *       If FAME adds bytes from an upload or download to a user's value
 *       which is at the maximum possible for 32 bits FAME now will
 *       increase the higher ULONG and if this happens no old tool will ever
 *       be able to change this higher ULONG so the bytes won't get lost at all!
 *       This means the case where an old tool is able to destroy the value
 *       is relative small, because if FAME does the overflow it does it correct
 *       and the lower ULONG restarts at 0 too where such an old tool then
 *       can add bytes correctly to.
 *
 *       So two cases are possible where an old tool can bring trouble to you:
 *
 *       - If it adds bytes and this results in an overflow.
 *       - If it reads bytes to display or doing whatever with it it will
 *         always display/do something false if the bytes or higher
 *         than 4.3 GB.
 *
 * Note: Handling 64 bit values (add/substract/multiply/(divide)/validate/...)
 *       can't be done with normal functions or operations.
 *       The computer and compiler only knows of 32 bit as the most possible
 *       values to work with so you have to use special 64 bit functions for 
 *       every thing you want to do with 64 bit variables.
 *
 *       We have coded the following functions for 64 bit variable handling:
 *
 *       - Add (+)
 *       - Substract (-)
 *       - Multiply (*)
 *       - Convert to string (also with formating it)
 *       - Converting from a string into 64 bit variable.
 *       - Checking for equal (=) / (==)
 *       - Checking for higher (>)
 *       - Checking for lower (<)
 *
 *       Add is a FAME.library (4.0) function called FAMEAdd64()
 *
 *       Substract is a FAME.library (4.0) function called FAMESub64()
 *
 *       Convert to string is a FAME.library (4.0) function called
 *       FAMENum64ToStr().
 *       (Note about using FAMENum64ToStr(). There is a bug in
 *       FAME.library 4.0 if you use FAMENum64ToStr() with 0 as the 
 *       buffer size. In this case FAMENum64ToStr() will *NOT* convert 
 *       to the string. The string will be left intact.
 *       Please use the size of the buffer (-1) you handle to it instead
 *       of using 0 !!! 0 is thought for passing big enough buffers,
 *       but this does not work yet!).
 *
 *       The other functions will be available with FAME.library 5.0
 *       also with a new and fast multiply function and i hope with
 *       a divide function too. Until then i will release the
 *       functions as source/object code to be able to use them *NOW* too.
 *
 *       Watch out for the release of the 64bit example archive.
 */

#define NR_BytesDownload    54
/*
 * Retrieve bytes downloaded per user
 *
 * Data1
 * Data2
 * Data3    -> Contains the User's bytes downloaded.
 * Data4    -> Contains the User's bytes downloaded higher ULONG (64 bit value).
 * IOString
 *
 * Note: Data4 is new from MainPart 1.30+ on.
 *       Now two ULONGs will be used to have 64 bit values for the upload
 *       and download bytes. One ULONG alone has only a byte range from
 *       0 -              4.294.967.295 bytes, but 64 bit from
 *       0 - 18.446.744.073.709.551.615 bytes (more than 18 trillion bytes !!!).
 *       This is needed, because 4.2 GB is too small for uploaders today,
 *       but 18 trillion will be enough for the next millenium (i hope) ;)
 *
 *       The higher ULONG (Data4) is be left (before) the lower ULONG (Data3).
 *       The old variable (Data3) is the lower one and can be used as before
 *       by older tools, but they didn't know of the new ULONG and because of
 *       this the value they read and write will no longer be correct, because
 *       on values higher than 4.294.967.295 bytes they doesn't change the
 *       higher ULONG too! This will result in wrong values, not completely
 *       wrong, but wrong in the lower ULONG bytes. This means if a user
 *       has nearly 4.294.967.295 bytes (4.3 GB) and there are bytes added
 *       to this user bytes an overflow will happen and the lower ULONG will
 *       start with 0 bytes without increasing the higher and new ULONG.
 *
 *       There is not much we and you can to do against this except of using
 *       new and updated tools and doors which are able to handle 64 bit
 *       values too.
 *
 *       Nevertheless it's in every case something you can't do anything
 *       against, because if FAME would in future just use 32bit (one ULONG
 *       instead of two) as it was in previous versions and also as every
 *       other well know BBS program does you will ever have the problem
 *       of the overflow if a user has more bytes up and/or downloaded
 *       than 4.2 (4.3) GB and there are bytes getting added to it will ever
 *       restart at 0. So you just have to live with this problem except
 *       now with FAME... with FAME you have now 64 bit values for the bytes
 *       and new tools and doors will be able handle this feature too.
 *
 *       If FAME adds bytes from an upload or download to a user's value
 *       which is at the maximum possible for 32 bits FAME now will
 *       increase the higher ULONG and if this happens no old tool will ever
 *       be able to change this higher ULONG so the bytes won't get lost at all!
 *       This means the case where an old tool is able to destroy the value
 *       is relative small, because if FAME does the overflow it does it correct
 *       and the lower ULONG restarts at 0 too where such an old tool then
 *       can add bytes correctly to.
 *
 *       So two cases are possible where an old tool can bring trouble to you:
 *
 *       - If it adds bytes and this results in an overflow.
 *       - If it reads bytes to display or doing whatever with it it will
 *         always display/do something false if the bytes or higher
 *         than 4.3 GB.
 *
 * Note: Handling 64 bit values (add/substract/multiply/(divide)/validate/...)
 *       can't be done with normal functions or operations.
 *       The computer and compiler only knows of 32 bit as the most possible
 *       values to work with so you have to use special 64 bit functions for 
 *       every thing you want to do with 64 bit variables.
 *
 *       We have coded the following functions for 64 bit variable handling:
 *
 *       - Add (+)
 *       - Substract (-)
 *       - Multiply (*)
 *       - Convert to string (also with formating it)
 *       - Converting from a string into 64 bit variable.
 *       - Checking for equal (=) / (==)
 *       - Checking for higher (>)
 *       - Checking for lower (<)
 *
 *       Add is a FAME.library (4.0) function called FAMEAdd64()
 *
 *       Substract is a FAME.library (4.0) function called FAMESub64()
 *
 *       Convert to string is a FAME.library (4.0) function called
 *       FAMENum64ToStr().
 *       (Note about using FAMENum64ToStr(). There is a bug in
 *       FAME.library 4.0 if you use FAMENum64ToStr() with 0 as the 
 *       buffer size. In this case FAMENum64ToStr() will *NOT* convert 
 *       to the string. The string will be left intact.
 *       Please use the size of the buffer (-1) you handle to it instead
 *       of using 0 !!! 0 is thought for passing big enough buffers,
 *       but this does not work yet!).
 *
 *       The other functions will be available with FAME.library 5.0
 *       also with a new and fast multiply function and i hope with
 *       a divide function too. Until then i will release the
 *       functions as source/object code to be able to use them *NOW* too.
 *
 *       Watch out for the release of the 64bit example archive.
 */

Changed (enhanced) NC commands:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define NC_BytesUpload     220
/* 
 * Change bytes uploads per user
 *
 * Data1
 * Data2
 * Data3    <- The new bytes uploaded of the online user.
 * Data4    <- The new bytes uploaded of the online user higher ULONG (64 bit value).
 * IOString
 *
 * Note: Data4 is new from MainPart 1.30+ on.
 *       Now two ULONGs will be used to have 64 bit values for the upload
 *       and download bytes. One ULONG alone has only a byte range from
 *       0 -              4.294.967.295 bytes, but 64 bit from
 *       0 - 18.446.744.073.709.551.615 bytes (more than 18 trillion bytes !!!).
 *       This is needed, because 4.2 GB is too small for uploaders today,
 *       but 18 trillion will be enough for the next millenium (i hope) ;)
 *
 *       The higher ULONG (Data4) is be left (before) the lower ULONG (Data3).
 *       The old variable (Data3) is the lower one and can be used as before
 *       by older tools, but they didn't know of the new ULONG and because of
 *       this the value they read and write will no longer be correct, because
 *       on values higher than 4.294.967.295 bytes they doesn't change the
 *       higher ULONG too! This will result in wrong values, not completely
 *       wrong, but wrong in the lower ULONG bytes. This means if a user
 *       has nearly 4.294.967.295 bytes (4.3 GB) and there are bytes added
 *       to this user bytes an overflow will happen and the lower ULONG will
 *       start with 0 bytes without increasing the higher and new ULONG.
 *
 *       There is not much we and you can to do against this except of using
 *       new and updated tools and doors which are able to handle 64 bit
 *       values too.
 *
 *       Nevertheless it's in every case something you can't do anything
 *       against, because if FAME would in future just use 32bit (one ULONG
 *       instead of two) as it was in previous versions and also as every
 *       other well know BBS program does you will ever have the problem
 *       of the overflow if a user has more bytes up and/or downloaded
 *       than 4.2 (4.3) GB and there are bytes getting added to it will ever
 *       restart at 0. So you just have to live with this problem except
 *       now with FAME... with FAME you have now 64 bit values for the bytes
 *       and new tools and doors will be able handle this feature too.
 *
 *       If FAME adds bytes from an upload or download to a user's value
 *       which is at the maximum possible for 32 bits FAME now will
 *       increase the higher ULONG and if this happens no old tool will ever
 *       be able to change this higher ULONG so the bytes won't get lost at all!
 *       This means the case where an old tool is able to destroy the value
 *       is relative small, because if FAME does the overflow it does it correct
 *       and the lower ULONG restarts at 0 too where such an old tool then
 *       can add bytes correctly to.
 *
 *       So two cases are possible where an old tool can bring trouble to you:
 *
 *       - If it adds bytes and this results in an overflow.
 *       - If it reads bytes to display or doing whatever with it it will
 *         always display/do something false if the bytes or higher
 *         than 4.3 GB.
 *
 * Note: Handling 64 bit values (add/substract/multiply/(divide)/validate/...)
 *       can't be done with normal functions or operations.
 *       The computer and compiler only knows of 32 bit as the most possible
 *       values to work with so you have to use special 64 bit functions for 
 *       every thing you want to do with 64 bit variables.
 *
 *       We have coded the following functions for 64 bit variable handling:
 *
 *       - Add (+)
 *       - Substract (-)
 *       - Multiply (*)
 *       - Convert to string (also with formating it)
 *       - Converting from a string into 64 bit variable.
 *       - Checking for equal (=) / (==)
 *       - Checking for higher (>)
 *       - Checking for lower (<)
 *
 *       Add is a FAME.library (4.0) function called FAMEAdd64()
 *
 *       Substract is a FAME.library (4.0) function called FAMESub64()
 *
 *       Convert to string is a FAME.library (4.0) function called
 *       FAMENum64ToStr().
 *       (Note about using FAMENum64ToStr(). There is a bug in
 *       FAME.library 4.0 if you use FAMENum64ToStr() with 0 as the 
 *       buffer size. In this case FAMENum64ToStr() will *NOT* convert
 *       to the string. The string will be left intact.
 *       Please use the size of the buffer (-1) you handle to it instead
 *       of using 0 !!! 0 is thought for passing big enough buffers,
 *       but this does not work yet!).
 *
 *       The other functions will be available with FAME.library 5.0
 *       also with a new and fast multiply function and i hope with
 *       a divide function too. Until then i will release the
 *       functions as source/object code to be able to use them *NOW* too.
 *
 *       Watch out for the release of the 64bit example archive.
 */

#define NC_BytesDownload   221
/*
 * Change bytes downloaded per user
 *
 * Data1
 * Data2
 * Data3    <- The new bytes downloaded of the online user.
 * Data4    <- The new bytes downloaded of the online user higher ULONG (64 bit value).
 * IOString
 *
 * Note: Data4 is new from MainPart 1.30+ on.
 *       Now two ULONGs will be used to have 64 bit values for the upload
 *       and download bytes. One ULONG alone has only a byte range from
 *       0 -              4.294.967.295 bytes, but 64 bit from
 *       0 - 18.446.744.073.709.551.615 bytes (more than 18 trillion bytes !!!).
 *       This is needed, because 4.2 GB is too small for uploaders today,
 *       but 18 trillion will be enough for the next millenium (i hope) ;)
 *
 *       The higher ULONG (Data4) is be left (before) the lower ULONG (Data3).
 *       The old variable (Data3) is the lower one and can be used as before
 *       by older tools, but they didn't know of the new ULONG and because of
 *       this the value they read and write will no longer be correct, because
 *       on values higher than 4.294.967.295 bytes they doesn't change the
 *       higher ULONG too! This will result in wrong values, not completely
 *       wrong, but wrong in the lower ULONG bytes. This means if a user
 *       has nearly 4.294.967.295 bytes (4.3 GB) and there are bytes added
 *       to this user bytes an overflow will happen and the lower ULONG will
 *       start with 0 bytes without increasing the higher and new ULONG.
 *
 *       There is not much we and you can to do against this except of using
 *       new and updated tools and doors which are able to handle 64 bit
 *       values too.
 *
 *       Nevertheless it's in every case something you can't do anything
 *       against, because if FAME would in future just use 32bit (one ULONG
 *       instead of two) as it was in previous versions and also as every
 *       other well know BBS program does you will ever have the problem
 *       of the overflow if a user has more bytes up and/or downloaded
 *       than 4.2 (4.3) GB and there are bytes getting added to it will ever
 *       restart at 0. So you just have to live with this problem except
 *       now with FAME... with FAME you have now 64 bit values for the bytes
 *       and new tools and doors will be able handle this feature too.
 *
 *       If FAME adds bytes from an upload or download to a user's value
 *       which is at the maximum possible for 32 bits FAME now will
 *       increase the higher ULONG and if this happens no old tool will ever
 *       be able to change this higher ULONG so the bytes won't get lost at all!
 *       This means the case where an old tool is able to destroy the value
 *       is relative small, because if FAME does the overflow it does it correct
 *       and the lower ULONG restarts at 0 too where such an old tool then
 *       can add bytes correctly to.
 *
 *       So two cases are possible where an old tool can bring trouble to you:
 *
 *       - If it adds bytes and this results in an overflow.
 *       - If it reads bytes to display or doing whatever with it it will
 *         always display/do something false if the bytes or higher
 *         than 4.3 GB.
 *
 * Note: Handling 64 bit values (add/substract/multiply/(divide)/validate/...)
 *       can't be done with normal functions or operations.
 *       The computer and compiler only knows of 32 bit as the most possible
 *       values to work with so you have to use special 64 bit functions for 
 *       every thing you want to do with 64 bit variables.
 *
 *       We have coded the following functions for 64 bit variable handling:
 *
 *       - Add (+)
 *       - Substract (-)
 *       - Multiply (*)
 *       - Convert to string (also with formating it)
 *       - Converting from a string into 64 bit variable.
 *       - Checking for equal (=) / (==)
 *       - Checking for higher (>)
 *       - Checking for lower (<)
 *
 *       Add is a FAME.library (4.0) function called FAMEAdd64()
 *
 *       Substract is a FAME.library (4.0) function called FAMESub64()
 *
 *       Convert to string is a FAME.library (4.0) function called
 *       FAMENum64ToStr().
 *       (Note about using FAMENum64ToStr(). There is a bug in
 *       FAME.library 4.0 if you use FAMENum64ToStr() with 0 as the 
 *       buffer size. In this case FAMENum64ToStr() will *NOT* convert 
 *       to the string. The string will be left intact.
 *       Please use the size of the buffer (-1) you handle to it instead
 *       of using 0 !!! 0 is thought for passing big enough buffers,
 *       but this does not work yet!).
 *
 *       The other functions will be available with FAME.library 5.0
 *       also with a new and fast multiply function and i hope with
 *       a divide function too. Until then i will release the
 *       functions as source/object code to be able to use them *NOW* too.
 *
 *       Watch out for the release of the 64bit example archive.
 */

+MainPart:
 The "S" command user statistics now also supports 64 bit values,
 but because of the small space without seperator dots and only
 the maximum size of 11 chars (99 giga bytes).

+MainPart:
 The following MCI commands are supporting now 64 bit values:

 ~BU        Display the current user bytes uploaded.
 ~BD        Display the current user bytes downloaded.

+MainPart:
 The internal UserEditor now supports 64 bit values for upload
 and download bytes of the global User datas and the local
 Conference datas.

 To display the bytes the layout has been changed a bit.

 The old UserEditor was displaying:

(W)Uploads   >: 4294967295                     (X)BytesUpload>: 4294967295
(Y)Downloads >: 4294967295                     (Z)BytesDownl.>: 4294967295

 The new one displays now:

(W)BytesUpload>: 18.446.744.073.709.551.615    (X)Uploads    >: 4294967295
(Y)BytesDownl.>: 18.446.744.073.709.551.615    (Z)Downloads  >: 4294967295

 As you can see the bytes will now be displyed with seperator dots.
 If you now edit the value the bytes will be displayed without dots
 as long as you are editing the bytes.

 You now can also snap the value with dots and insert it then with the
 dots, because the new prompting method will filter all non numeric
 chars now.

+MainPart:
 New prompting method for editing numeric values in the internal
 UserEditor.

 If you edit a numeric only value now *ONLY* numeric chars can be
 typed in and no other chars. All other chars get filtered out of the
 input stream.

20-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 Replaced all 64 bit operation code with the new FAME.library 5.0
 64 bit function calls.

+MainPart:
 FAME.library 5.0 required.

+Server:
 FAME.library 5.0 required.

+SystemEditor:
 FAME.library 5.0 required.

                             ---------------------
                             FAMEFileChecker v1.17
                             ---------------------

+FAME.library 5.0 required.

23-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

+MainPart:
 Following FIM door commands enhanced:

#define CF_ZModemSend      405
/* 
 * Send file to the user via Zmodem protocol
 *
 * Data1    <- 100 = Count user bytes and files else not.
 * Data2    -> Returns the status.
 *             1  = file has been transfered.
 *             0  = file has been copied local to sysops download directory.
 *             -1 = xprzmodem.library not open.
 * Data3
 * IOString <- The File to be sended to the user.
 *
 * Note: There are also defines for Data1:
 *
 * #define DOORUD_DONOTCOUNTBYTES 0
 * #define DOORUD_COUNTBYTES      100
 */

#define CF_ZModemReceive   406
/*
 * Receive files via Zmodem protocol
 *
 * Data1    <- 100 = Count user bytes and files else not.
 * Data2    -> Returns the status. 1 means all seems to be going right.
 *             0 means xprzmodem.library not open.
 * Data3
 * IOString <- The path for the file to be sended to.
 *
 * Note: You have to give a path! Else the transfer won't begin!
 *
 * Note: There are also defines for Data1:
 *
 * #define DOORUD_DONOTCOUNTBYTES 0
 * #define DOORUD_COUNTBYTES      100
 */

#define CF_ZModemSendLst   407
/*
 * Send files to the user via Zmodem protocol from Flaglist
 *
 * Data1    <- 100 = Count user bytes and files else not.
 * Data2    -> Returns the status.
 *             1  = file has been transfered.
 *             0  = file has been copied local to sysops download directory.
 *             -1 = xprzmodem.library not open.
 * Data3
 * IOString
 * StringPtr <- A Stringpointer of nearly unlimited filenames incl. path.
 *              Between every single path/filename has to be a space.
 *              Maximum filelength of path+filename is 100 chars.
 *              Example: "RAM:File1.123 RAM:File2.123 RAM:ENV/TIME"
 *
 * Note: There are also defines for Data1:
 *
 * #define DOORUD_DONOTCOUNTBYTES 0
 * #define DOORUD_COUNTBYTES      100
 */

 You now can tell those commands to count the upload/download bytes to the
 user's user datas of all uploaded/downloaded files and bytes as if they 
 were normal uploads/downloads.

 (Suggestion by SieGeL/tRSi)

24-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.30/Server v1.25/SystemEditor v1.24
                 ----------------------------------------------

-MainPart:
 Fixed a major bug with calculating of download bytes.
 This is an old so called '/X-bug' which can be missused to download bytes
 for free.

 The bytes of an downloaded file hasn't been added to the user datas if the
 file has been aborted. /X had such a bug some years ago and it was world wide
 missused by some users which just have downloaded 99% of the file and then
 on resuming the download the last 1% so they only get 1% of the file counted
 to their user datas.

 This bug was also in FAME, but only in a special case. The case were only
 one file per download has been flagged, downloaded and aborted.

 Fixed this now that also if only one file gets downloaded the bytes are
 counted too like also in every other case where a file gets aborted.

-MainPart:
 Fixed a bug with the wildcard flagging on preparing for download.

 Because of the fact that only a pointer instead of the contends of it
 has been checked on using wildcards (*) the wildcard flag function always
 found empty and not existing files and not only matching ones.

 Fixed.

-MainPart:
 Fixed another bug with the credits this time on resuming uploads.

 If a user was resuming an upload the user always got 2 instead of 1 file
 uploaded added to the credits.

 Fixed.

-MainPart:
 Fixed again a bug with the credits. This bug (a reported one) was originally
 the reason why i checked the xpr up and download code (also for resuming)
 completely for more of such bugs and because if this i found all the bugs
 listed above.

 On resuming upload files the user only got the bytes of the resume upload
 for the file resumed and not the complete amount of bytes the file has
 if it's 100% done. The bytes will only be added completely to the user
 account if the file has been transfered completely and not like on downloads
 every single byte a user downloads at every time and this was the bug.

 Now on resuming files the xpr code will substract the uploaded bytes
 from the byte counter and adds the filesize instead.

 BTW: All those bugs above have only exists on xpr up and downloads.

 (Reported by ENZO)

26-Nov-97
*********
                 ----------------------------------------------
                 MainPart v1.31/Server v1.25/SystemEditor v1.25
                 ----------------------------------------------

+MainPart:
 AllHacks and LastHacks of the user datas will now be counted on every password
 failure.

 (Suggestion by SieGeL/tRSi)

+SystemEditor:
 Modified SystemEditor -> Doors -> Door Config:

 Changed the string gadget name 'Arguments' to 'Mainline'.

 (Suggestion by Zod/tRSi)

08-Mar-98
*********
                 ----------------------------------------------
                 MainPart v1.31/Server v1.25/SystemEditor v1.25
                 ----------------------------------------------

+MainPart:
 Internal UserEd now also checks for the configured minimum amout of chars
 allowed for the user name on changing it with the UserEd.

-MainPart:
 Fixed a bug on beginning as a newuser.

 If a newuser enters with a name which is already in use (but by an inactive
 user) FAME was allowing this acidently and a second user with the same name
 has been added. Mostly added after the inactive one what means that FAME
 always found the inactive one on the logon of this newuser and was breaking
 the user check at this place.

 Now if this case happens in the new FAME, FAME will tell the user that this 
 name is not allowed on this BBS just like if it has been placed in the
 NamesNotAllowed.txt . The reason for this and not easily saying that the
 name is already in use is the fact that if a user is inactive it should look
 from outside like that the user doesn't exists in this BBS and we need a way
 to keep this secret and because of this we need to explain why this username
 is not allowed to be used by a newuser.

 This check will also be done in the user settings menu ("W") on changing the
 username.

 Also all other checks for the exitence of a username will now take better
 care of inactive users.

 (Reported by ENZO)

+MainPart:
 Changing the own username in the user settings menu ("W") will now also check
 the new name for the wildcard "*" like the newuser entry does.

09-Mar-98
*********
                 ----------------------------------------------
                 MainPart v1.31/Server v1.25/SystemEditor v1.25
                 ----------------------------------------------

-SystemEditor:
 Fixed a bug with the Gadgethelp.

 On using the Gadgethelp feature in the DoorPortNames window always
 Nodes from the FAMEDebug window were loaded, because of a missing
 break in an switch case instruction.

 (Reported by SieGeL/tRSi)

11-Mar-98
*********
                 ----------------------------------------------
                 MainPart v1.31/Server v1.26/SystemEditor v1.25
                 ----------------------------------------------

+MainPart:
+Server:
 XIM MultiComPort thing implemented.

 From now on nearly every XIM door is able to work with FAME.

 The MultiComPort thing is a kind of data sharing protected by Semaphores.
 Used mainly by doors like WHO doors and Multinode chat doors.
 So from now on all kind of XIM doors which needs the thing are working too.

 I hope i have build in that thing correctly. If you have problems or some
 ENV variable conversion is incorrect or missing feel free to contact me.

 I've changed the way the MultiComPort is setup a bit too a more system
 fiendly one and i hope not having problems now with some tools which may
 coded that bad way that the need the old version, but i can't think that
 something bad could happen because it's absolutely ok and system friendly.

 BTW the MultiComPort thing is naturally limited to 9 Nodes (0-8) so also
 in FAME only Node 0-9 are supported! There is since version 3.2 i think
 a new MultiComPort added which is totally incompatible to the one i've
 build in and if you try to use a Door which is for a 3.2+ version you
 will get in trouble (Enforcerhit like hell and wihtout Enforcer running
 maybe bad crashes) !

 If you have the new structures for 3.2 MultiComPort implementation or/and
 the ENV var defines behind 27/28 ENV_RESERVE/ENV_OLM please gimme that
 stuff so i will be able to implement that too (depends on the changes)!

 To enable the MultiComPort read the next one:

 Tested doors: AquaWho v2.0 - AquaWho.10.000

 (Suggestion from Ghost Rider)

+SystemEditor:
 MultiComPort enable/disable gadget build in.

 There is a new gadget: SystemEditor -> Door Port Names -> 'MultiCom Port'
 you have to check mark if you want FAME to install the MultiComPort thing.

 That's all.

-SystemEditor:
 SystemEditor was always checking and creating a FAME:BakUp instead of 
 FAME:BackUp directory. Now it does so please delete or rename this one!

-MainPart:
 Fixed a bug on entering as the first user (SysOp).

 Because of few changes in FAME 1.30 the usernumber 1 gets nulled a few lines
 later in the code and the first user got usernumber 0 instead of 1.

 Fixed.

 (Reported by tolpan/desaster)

-MainPart:
 Fixed a bug on entering as the first user (SysOp).

 The SysOp got the newuser level too instead of the level 255.

 Fixed.

07-Apr-98
*********
                 ----------------------------------------------
                 MainPart v1.31/Server v1.25/SystemEditor v1.25
                 ----------------------------------------------

-MainPart:
 Fixed a bug with the DoorConfig doors (W 14 menu command).

 After using a DoorConfig Door always an unknown errors has been wrongly
 reported, because of having a wrong success check which was 0 not 1.

 (Reported by hELLRAiSER!)

15-Apr-98
*********

+SystemEditor:
 Because of the fact that the FAME Config Feature is nearly completed
 SystemEditor get's adapted as the first FAME executable to the new
 FAME Config Feature.

 This is the most work on adapting FAME 2.0 to the FAME Config Feature
 especially the SystemEditor part and will take a lot time and results
 in many changes and the normal adaptation won't be written step by
 step into history so first if every thing is finished for the
 SystemEditor you will read of it here. Only different changes wich will be
 done will be written into history between.

30-Apr-98
*********
                 ----------------------------------------------
                 MainPart v1.31/Server v1.25/SystemEditor v1.25
                 ----------------------------------------------

+Server:
 It's now possible to quit the Server by sending the CTRL-C signal.

 If no Nodes are running the Server directly quits and with it all
 running FAMEToolPort tools and FAMECoProcess requests.

 If there are Nodes running they will be quited instead - means
 not the Server. A second CTRL-C signal is needed then.

 Also if FAME is configured not to quit Nodes while a user is online
 the depending Nodes won't quit and because of this the Server also not.

20-May-98
*********

+SystemEditor:
 Reorganized SystemEditor -> Conferences to be more flexible with the
 Conferences. Some gadgets like, 'Default', 'New', 'Copy', 'Clone'
 and so on have been removed and replaced by a new one called
 'SORT/DEL'. With the new gadget you will be able to delete and sort
 you Conferences like you wish and then you can let the SystemEditor
 adapt you changes to all necessary data files of FAME.

07-Jun-98
*********
                 ----------------------------------------------
                 MainPart v1.32/Server v1.27/SystemEditor v1.26
                 ----------------------------------------------

+Server:
 Adapted to be FAME.library 6.0 compatible. In particular this means that
 Server is now able to read FAME 2.0 data file headers which will be
 automatically created by FAME.library 6.0 if the FAME Config Feature
 of it will be used for accessing a FAME data file.

+SystemEditor:
 Adapted to be FAME.library 6.0 compatible. In particular this means that
 SystemEditor is now able to read FAME 2.0 data file headers which will be
 automatically created by FAME.library 6.0 if the FAME Config Feature
 of it will be used for accessing a FAME data file.

+MainPart:
 Adapted to be FAME.library 6.0 compatible. In particular this means that
 MainPart is now able to read FAME 2.0 data file headers which will be
 automatically created by FAME.library 6.0 if the FAME Config Feature
 of it will be used for accessing a FAME data file.

-MainPart:
 A little bug has been fixed in MainPart with the FAMEDoorConfig feature
 (in "W" menu command) where the old Mainpart was wrongly generating an
 error message also if the DoorConfig was a success.

 (Reported by SieGeL/tRSi & elGuN)

                             ---------------------
                             FAMEFileChecker v1.18
                             ---------------------

+Adapted to be FAME.library 6.0 compatible. In particular this means that
 FAMEFileChecker is now able to read FAME 2.0 data file headers which will be
 automatically created by FAME.library 6.0 if the FAME Config Feature
 of it will be used for accessing a FAME data file.

+FAMEFileChecker now also checks the results of all tools executed in 
 FAME:FileCheckers/FILEID and FAME:FileCheckers/FILEIDENT.
 That's important for fileid tools wich want to set a file to hold status.

22-Sep-98
*********
                 ----------------------------------------------
                 MainPart v1.33/Server v1.28/SystemEditor v1.27
                 ----------------------------------------------

+Server:
 Creates and holds now the base for FIM Request lists to handle it to the Nodes.

+MainPart:
 Uses Server's FIM Request list base now.

+MainPart:
 New FIM door commands based on the FIM Request list base and other new FIM door 
 commands added:

#define RD_GetULPathLst    1061
/*
 * Get a pointer to a list containing the main and additional upload
 * paths of a specific or all Conferences.
 *
 * Data1    <- The "Relative" Conference number, 0 for all Conferences.
 * Data2    <- The "Real" Conference number, 0 for all Conferences.
 * Data3    -> Error code. Currently FIMLR_SUCCESS and FIMLR_NODATATOREAD.
 * IOString
 * StructDummy1 -> The struct NumFlagList  *AddULPath   (single Conference).
 * StructDummy1 -> The struct FAMENFList2D *AddULPath2D (all Conferences).
 *
 * Note: As you can see StructDummy1 could be one of two kinds of structures
 *       depending on what you request.
 *
 * Usage: Use Data1 or alternative Data2 before sending the FIM request.
 *        Fill Data1 with the "Relative" or Data2 with the "Real" Conference
 *        number you want the upload path list from or use 0 for Data1 *AND*
 *        Data2 to get a two dimensional list base containing lists for
 *        each Conference.
 *        In the first case (single Conference) just use the Next pointer
 *        to get the next list entry - meaning the next path with it -
 *        as far as you need to go or as long as Next is not NULL.
 *        In the second case use the Next pointer to get the next list
 *        (as long as the Next pointer is not NULL) - meaning the next sub
 *        list (next Conference) and with that entry you can go through the
 *        sub list like in the single Conference case, because the sub list
 *        is a struct NumFlagList one.
 *        Confused? So go and buy a good book to learn something about more
 *        dimensional lists ;) It's easy and absolutely basic knowledge.
 *        Or just check the example below.
 *
 *        If you get the two dimensional list (Data1 = 0 and Data2 = 0) you have
 *        to know that what you get is *NOT* the first entry, but the base.
 *        This means you have to use fnfl_AltNext or fnfl_Next first to get the
 *        first Conference entry.
 *        This is a must, because it's not sure if the first "Relative" Conference
 *        is the first "Real" Conference too.
 *
 *        After calling this command Data3 has to be checked!
 *        If Data3 is FIMLR_NODATATOREAD the StructDummy1 pointer is not valid,
 *        because FIMLR_NODATATOREAD means that there is nothing to read and
 *        because of this nothing a list could be build from!
 *        Only if Data3 is FIMLR_SUCCESS you are allowed to use StructDummy1 to
 *        access the generated list. FIMLR_NODATATOREAD means for example that
 *        (all - depends on the case) AddUlPaths.txt files are empty.
 *        On this command here you normally won't get this result, but you could,
 *        because it depends on the case. Example: You set Data3 to
 *        and the AddUlPaths.txt(s) is/are empty.
 *        If Data3 is FIMLR_SUCCESS, but StructDummy1 is NULL then there must
 *        be a different problem like "out of memory" so StructDummy1 *always*
 *        has to be checked like every foreign pointer has to be checked
 *        before you use it if you don't want to activate the enforcer.
 *        If Data3 is FIMLR_BASENOTAVAIL then an internal problem exists like
 *        the Server is not compatible to the MainPart you use.
 *
 *        If you read the struct NumFlagList list you can validate the structure
 *        entry "BitFlags" for the bit defined by "FNFL_MAINPATH" to see if the
 *        entry you are checking is the main upload path. If FNFL_MAINPATH is set
 *        it's the main upload path - if not you have an additional one.
 *        The position of the main upload path in the list is normally the first
 *        or the last list entry what depends on the SysOps settings made with
 *        the SystemEditor under Conference settings named "1.UlPath Behind A."
 *        If this switch is on the main upload path will be the last and if it's
 *        off the first list entry.
 *        Bitflag check: if( AddULPath -> BitFlags & FNFL_MAINPATH )...
 *
 * Note:  For the two dimensional list which contains lists for all Conferences
 *        the struct FAMENFList2D will contain two pairs of Next and Prev
 *        pointers. fntl_Next + fntl_Prev are the "Real" and fnfl_AltNext +
 *        fnfl_AltPrev the "Relative Conferences" pointer pairs.
 *        So always use the alternative ones if you want to use the in most cases
 *        needed "Relative" ones.
 *        For the case where the SysOp has no "Real Conferences" activated
 *        both pointer pairs will be the same so you havn't to check and decide
 *        which pair to use, simple use always the alternative ones.
 *
 *        If you are confused now or if you don't know the difference between
 *        "Real" and "Relative" Conferences then *ALWAYS* use the "Relative"
 *        means fnfl_AltNext and fnfl_AltPrev pointers and not the other ones,
 *        because with fnfl_AltNext and fnfl_AltPrev you will be 100% FAME
 *        friendly. Just a simple explaination: "Real" means the Conferences in
 *        the way the SysOp has set them up on this BBS and "Relative" means
 *        the Conferences are sorted in the way the current user is able to
 *        see them and to access to. If the user has for example no access to
 *        Conference "1 - NewUser", but to the next one called i.e. "2 - Amiga"
 *        then the user will see it as it would be the first Conference like here:
 *        "1 - Amiga" so the user will never know of Conferences where the user
 *        has no access to. On "Real" the user would know that there is a other
 *        Conference with no access for this user and the user might bother
 *        the SysOp with questions or whatever.
 *
 *        *DO NOT* modify the list! The list will be shared with other tasks
 *        if requested at the same time.
 *
 * See also: Include/FAME/FAMEPublicStructs.h - for struct NumFlagList
 *           Include/FAME/FAMEPublicStructs.h - for struct FAMENFList2D
 *
 * Important Note: This function is designed to share the list(s) to reduce
 *                 memory usage if more than one door requests the same kind
 *                 of list at the same time, but only for the case that you
 *                 request the two dimensional list. This means first that it's
 *                 read only (it will directly be created on your request and freed
 *                 if no more tools are using it and does not interfere with the FAME
 *                 internal data so modifying will make no sense) and the second
 *                 point is that it's important that you use RD_FreeULPathLst if
 *                 you no longer need the list(s) and that you *DON'T USE*
 *                 StructDummy1 to go through the list if you use it later with
 *                 RD_FreeULPathLst to free the list.
 *                 The best is you first take your own pointer to keep the with
 *                 StructDummy1 returned list pointer of this command and later
 *                 you use it with RD_FreeULPathLst. Now you can use StructDummy1
 *                 to go through the list, but it's also better to use a second
 *                 copy if you call other FIM commands between this function and
 *                 RD_FreeULPathLst.
 *
 * Example:
 * --------
 *
 * /*
 *  * Temp pointers.
 *  */
 *
 * struct FAMENFList2D *AddULPath2D,
 *                     *AddULP2DWork;
 * struct NumFlagList  *AddULPathWork;
 *
 * /*
 *  * Get the two dimensional list base and let the temp pointers point to it.
 *  */
 *
 * PutCommand( "", 0L, 0L, 0UL, RD_GetULPathLst );
 *
 * switch( DoorMsg -> Data3 )
 * {
 *   case FIMLR_SUCCESS:
 *
 *     AddULPath2D = AddULP2DWork = DoorMsg -> StructDummy1;
 *
 *     /*
 *      * Walk through the lists and print their contents.
 *      * Check before if the pointer we get is valid.
 *      */
 *
 *     if( AddULPath2D )
 *     {
 *       STRPTR MainOrAdd;
 *
 *       AddULP2DWork = AddULP2DWork -> fnfl_AltNext;
 *
 *       while( AddULP2DWork )
 *       {
 *         AddULPathWork = AddULP2DWork -> fnfl_NumFlagList;
 *
 *         while( AddULPathWork )
 *         {
 *           if( AddULPathWork -> BitFlags & FNFL_MAINPATH )
 *           {
 *             MainOrAdd = "Main";
 *           }
 *           else
 *           {
 *             MainOrAdd = "Additional";
 *           }
 *
 *           PutStringFormat( "ConfNumber: <%2.2ld>, ConfPath <%2.2ld>: <%s> (%s)\n", AddULP2DWork -> EntryNumber, AddULPathWork -> FileNumber, AddULPathWork -> FileName, MainOrAdd );
 *
 *           AddULPathWork = AddULPathWork -> Next;
 *         }
 *
 *         AddULP2DWork = AddULP2DWork -> fnfl_AltNext;
 *       }
 *
 *       /*
 *        * Finally free the list - with an UNMODIFIED and ORIGINAL pointer.
 *        */
 *
 *       DoorMsg -> StructDummy1 = AddULPath2D;
 *
 *       PutCommand( "", 0L, 0L, 0UL, RD_FreeULPathLst );
 *     }
 *
 *   break;
 *   case FIMLR_NODATATOREAD:
 *
 *     PutString( "No datas to read!\r\n", 0 );
 *
 *   break;
 *   default:
 *
 *     PutString( "Unknown Error...\r\n", 0 );
 *
 *   break;
 * }
 */

#define RD_FreeULPathLst   1062
/*
 * Free a with RD_GetULPathLst allocated list.
 *
 * Data1        -> Status (unimportant)
 * Data2
 * Data3
 * IOString
 * StructDummy1 <- The struct NumFlagList  *AddULPath   (single Conference).
 * StructDummy1 <- The struct FAMENFList2D *AddULPath2D (all Conferences).
 *
 * Note: As you can see StructDummy1 could be one of two kinds of structures
 *       depending on what you have requested with RD_GetULPathLst before,
 *       but that's not important. Important is that it has to be the *UNMODIFIED*
 *       pointer or a copy of it you got by using RD_GetULPathLst.
 *
 *       Data1 is 0 if your door was the last owner of the list and that
 *       it has been freed. Data1 is not 0 if there are other tools using
 *       this list. In this case Data1 contains the remaining open counter.
 *       However, if you have used RD_GetULPathLst it's no longer allowed
 *       to access this list. If you need it again use RD_GetULPathLst first.
 */

#define RD_GetDLPathLst    1063
/*
 * Get a pointer to a list containing the main and additional download
 * paths of a specific or all Conferences.
 *
 * Data1    <- The "Relative" Conference number, 0 for all Conferences.
 * Data2    <- The "Real" Conference number, 0 for all Conferences.
 * Data3    -> Error code. Currently FIMLR_SUCCESS and FIMLR_NODATATOREAD.
 * IOString
 * StructDummy1 -> The struct NumFlagList  *AddDLPath   (single Conference).
 * StructDummy1 -> The struct FAMENFList2D *AddDLPath2D (all Conferences).
 *
 * Note: As you can see StructDummy1 could be one of two kinds of structures
 *       depending on what you request.
 *
 * Usage: Use Data1 or alternative Data2 before sending the FIM request.
 *        Fill Data1 with the "Relative" or Data2 with the "Real" Conference
 *        number you want the download path list from or use 0 for Data1 *AND*
 *        Data2 to get a two dimensional list base containing lists for
 *        each Conference.
 *        In the first case (single Conference) just use the Next pointer
 *        to get the next list entry - meaning the next path with it -
 *        as far as you need to go or as long as Next is not NULL.
 *        In the second case use the Next pointer to get the next list
 *        (as long as the Next pointer is not NULL) - meaning the next sub
 *        list (next Conference) and with that entry you can go through the
 *        sub list like in the single Conference case, because the sub list
 *        is a struct NumFlagList one.
 *        Confused? So go and buy a good book to learn something about more
 *        dimensional lists ;) It's easy and absolutely basic knowledge.
 *        Or just check the example below.
 *
 *        If you get the two dimensional list (Data1 = 0 and Data2 = 0) you have
 *        to know that what you get is *NOT* the first entry, but the base.
 *        This means you have to use fnfl_AltNext or fnfl_Next first to get the
 *        first Conference entry.
 *        This is a must, because it's not sure if the first "Relative" Conference
 *        is the first "Real" Conference too.
 *
 *        After calling this command Data3 has to be checked!
 *        If Data3 is FIMLR_NODATATOREAD the StructDummy1 pointer is not valid,
 *        because FIMLR_NODATATOREAD means that there is nothing to read and
 *        because of this nothing a list could be build from!
 *        Only if Data3 is FIMLR_SUCCESS you are allowed to use StructDummy1 to
 *        access the generated list. FIMLR_NODATATOREAD means for example that
 *        (all - depends on the case) AddUlPaths.txt files are empty.
 *        On this command here you normally won't get this result, but you could,
 *        because it depends on the case. Example: You set Data3 to
 *        and the AddUlPaths.txt(s) is/are empty.
 *        If Data3 is FIMLR_SUCCESS, but StructDummy1 is NULL then there must
 *        be a different problem like "out of memory" so StructDummy1 *always*
 *        has to be checked like every foreign pointer has to be checked
 *        before you use it if you don't want to activate the enforcer.
 *        If Data3 is FIMLR_BASENOTAVAIL then an internal problem exists like
 *        the Server is not compatible to the MainPart you use.
 *
 *        If you read the struct NumFlagList list you can validate the structure
 *        entry "BitFlags" for the bit defined by "FNFL_MAINPATH" to see if the
 *        entry you are checking is the main download path. If FNFL_MAINPATH is
 *        set it's the main download path - if not you have an additional one.
 *        The position of the main download path in the list is always the first
 *        list entry, because there is no way and no need to change this.
 *        Bitflag check: if( AddULPath -> BitFlags & FNFL_MAINPATH )...
 *
 * Note:  For the two dimensional list which contains lists for all Conferences
 *        the struct FAMENFList2D will contain two pairs of Next and Prev
 *        pointers. fntl_Next + fntl_Prev are the "Real" and fnfl_AltNext +
 *        fnfl_AltPrev the "Relative Conferences" pointer pairs.
 *        So always use the alternative ones if you want to use the in most cases
 *        needed "Relative" ones.
 *        For the case where the SysOp has no "Real Conferences" activated
 *        both pointer pairs will be the same so you havn't to check and decide
 *        which pair to use, simple use always the alternative ones.
 *
 *        If you are confused now or if you don't know the difference between
 *        "Real" and "Relative" Conferences then *ALWAYS* use the "Relative"
 *        means fnfl_AltNext and fnfl_AltPrev pointers and not the other ones,
 *        because with fnfl_AltNext and fnfl_AltPrev you will be 100% FAME
 *        friendly. Just a simple explaination: "Real" means the Conferences in
 *        the way the SysOp has set them up on this BBS and "Relative" means
 *        the Conferences are sorted in the way the current user is able to
 *        see them and to access to. If the user has for example no access to
 *        Conference "1 - NewUser", but to the next one called i.e. "2 - Amiga"
 *        then the user will see it as it would be the first Conference like here:
 *        "1 - Amiga" so the user will never know of Conferences where the user
 *        has no access to. On "Real" the user would know that there is a other
 *        Conference with no access for this user and the user might bother
 *        the SysOp with questions or whatever.
 *
 *        *DO NOT* modify the list! The list will be shared with other tasks
 *        if requested at the same time.
 *
 * See also: Include/FAME/FAMEPublicStructs.h - for struct NumFlagList
 *           Include/FAME/FAMEPublicStructs.h - for struct FAMENFList2D
 *
 * Important Note: This function is designed to share the list(s) to reduce
 *                 memory usage if more than one door requests the same kind
 *                 of list at the same time, but only for the case that you
 *                 request the two dimensional list. This means first that it's
 *                 read only (it will directly be created on your request and freed
 *                 if no more tools are using it and does not interfere with the FAME
 *                 internal data so modifying will make no sense) and the second
 *                 point is that it's important that you use RD_FreeDLPathLst if
 *                 you no longer need the list(s) and that you *DON'T USE*
 *                 StructDummy1 to go through the list if you use it later with
 *                 RD_FreeDLPathLst to free the list.
 *                 The best is you first take your own pointer to keep the with
 *                 StructDummy1 returned list pointer of this command and later
 *                 you use it with RD_FreeDLPathLst. Now you can use StructDummy1
 *                 to go through the list, but it's also better to use a second
 *                 copy if you call other FIM commands between this function and
 *                 RD_FreeDLPathLst.
 *
 * Example:
 * --------
 *
 * /*
 *  * Temp pointers.
 *  */
 *
 * struct FAMENFList2D *AddDLPath2D,
 *                     *AddDLP2DWork;
 * struct NumFlagList  *AddDLPathWork;
 *
 * /*
 *  * Get the two dimensional list base and let the temp pointers point to it.
 *  */
 *
 * PutCommand( "", 0L, 0L, 0UL, RD_GetDLPathLst );
 *
 * switch( DoorMsg -> Data3 )
 * {
 *   case FIMLR_SUCCESS:
 *
 *     AddDLPath2D = AddDLP2DWork = DoorMsg -> StructDummy1;
 *
 *     /*
 *      * Walk through the lists and print their contents.
 *      * Check before if the pointer we get is valid.
 *      */
 *
 *     if( AddDLPath2D )
 *     {
 *       STRPTR MainOrAdd;
 *
 *       AddULP2DWork = AddULP2DWork -> fnfl_AltNext;
 *
 *       while( AddDLP2DWork )
 *       {
 *         AddDLPathWork = AddDLP2DWork -> fnfl_NumFlagList;
 *
 *         while( AddDLPathWork )
 *         {
 *           if( AddDLPathWork -> BitFlags & FNFL_MAINPATH )
 *           {
 *             MainOrAdd = "Main";
 *           }
 *           else
 *           {
 *             MainOrAdd = "Additional";
 *           }
 *
 *           PutStringFormat( "ConfNumber: <%2.2ld>, ConfPath <%2.2ld>: <%s> (%s)\n", AddDLP2DWork -> EntryNumber, AddDLPathWork -> FileNumber, AddDLPathWork -> FileName, MainOrAdd );
 *
 *           AddDLPathWork = AddDLPathWork -> Next;
 *         }
 *
 *         AddDLP2DWork = AddDLP2DWork -> fnfl_AltNext;
 *       }
 *
 *       /*
 *        * Finally free the list - with an UNMODIFIED and ORIGINAL pointer.
 *        */
 *
 *       DoorMsg -> StructDummy1 = AddDLPath2D;
 *
 *       PutCommand( "", 0L, 0L, 0UL, RD_FreeDLPathLst );
 *     }
 *
 *   break;
 *   case FIMLR_NODATATOREAD:
 *
 *     PutString( "No datas to read!\r\n", 0 );
 *
 *   break;
 *   default:
 *
 *     PutString( "Unknown Error...\r\n", 0 );
 *
 *   break;
 * }
 */

#define RD_FreeDLPathLst   1064
/*
 * Free a with RD_GetDLPathLst allocated list.
 *
 * Data1        -> Status (unimportant)
 * Data2
 * Data3
 * IOString
 * StructDummy1 <- The struct NumFlagList  *AddDLPath   (single Conference).
 * StructDummy1 <- The struct FAMENFList2D *AddDLPath2D (all Conferences).
 *
 * Note: As you can see StructDummy1 could be one of two kinds of structures
 *       depending on what you have requested with RD_GetDLPathLst before,
 *       but that's not important. Important is that it has to be the *UNMODIFIED*
 *       pointer or a copy of it you got by using RD_GetDLPathLst.
 *
 *       Data1 is 0 if your door was the last owner of the list and that
 *       it has been freed. Data1 is not 0 if there are other tools using
 *       this list. In this case Data1 contains the remaining open counter.
 *       However, if you have used RD_GetDLPathLst it's no longer allowed
 *       to access this list. If you need it again use RD_GetDLPathLst first.
 */

#define RD_GetRestrictLst  1065
/*
 * Get a pointer to a list containing the "Restricted Files" list.
 *
 * Data1
 * Data2
 * Data3    -> Error code. Currently FIMLR_SUCCESS and FIMLR_NODATATOREAD.
 * IOString
 * StructDummy1 -> The struct NumFlagList *FAMERestrictFiles.
 *
 * Usage: Simply call this request to get the list then just use the Next
 *        pointer to get the next list entry - meaning the next restricted file -
 *        as far as you need to go or as long as Next is not NULL.
 *
 *        Data3 has to be checked! If Data3 is FIMLR_NODATATOREAD the StructDummy1
 *        pointer is not valid! Only if Data3 is FIMLR_SUCCESS you are allowed
 *        to use StructDummy1 to access the generated list.
 *        FIMLR_NODATATOREAD means that FilesNotAllowed.txt is empty.
 *
 * Note:  *DO NOT* modify the list! The list will be shared with other tasks
 *        if requested at the same time.
 *
 * See also: Include/FAME/FAMEPublicStructs.h - for struct NumFlagList
 *
 * Important Note: This function is designed to share the list(s) to reduce
 *                 memory usage if more than one door requests the same kind
 *                 of list at the same time. This means first that it's read only
 *                 (it will directly be created on your request and freed if
 *                 no more tools are using it and does not interfere with the FAME
 *                 internal data so modifying will make no sense) and the second
 *                 point is that it's important that you use RD_FreeRestrictLst if
 *                 you no longer need the list(s) and that you *DON'T USE*
 *                 StructDummy1 to go through the list if you use it later with
 *                 RD_FreeRestrictLst to free the list.
 *                 The best is you first take your own pointer to keep the with
 *                 StructDummy1 returned list pointer of this command and later
 *                 you use it with RD_FreeRestrictLst. Now you can use StructDummy1
 *                 to go through the list, but it's also better to use a second
 *                 copy if you call other FIM commands between this function and
 *                 RD_FreeRestrictLst.
 *
 * Example:
 * --------
 *
 * /*
 *  * Temp pointers.
 *  */
 *
 * struct NumFlagList *RestrictBase,
 *                    *RestrictWork;
 *
 * /*
 *  * Get the two dimensional list base and let the temp pointers point to it.
 *  */
 *
 * PutCommand( "", 0L, 0L, 0UL, RD_GetRestrictLst );
 *
 * switch( DoorMsg -> Data3 )
 * {
 *   case FIMLR_SUCCESS:
 *
 *     RestrictBase = RestrictWork = DoorMsg -> StructDummy1;
 *
 *     /*
 *      * Walk through the list and print the contents.
 *      */
 *
 *     while( RestrictWork )
 *     {
 *       PutStringFormat( "Restricted File <%2.2ld>: <%s>\n", RestrictWork -> FileNumber, RestrictWork -> FileName );
 *
 *       RestrictWork = RestrictWork -> Next;
 *     }
 *
 *     /*
 *      * Finally free the list - with an UNMODIFIED and ORIGINAL pointer.
 *      */
 *
 *     DoorMsg -> StructDummy1 = RestrictBase;
 *
 *     PutCommand( "", 0L, 0L, 0UL, RD_FreeRestrictLst );
 *
 *   break;
 *   case FIMLR_NODATATOREAD:
 *
 *     PutString( "No datas to read!\r\n", 0 );
 *
 *   break;
 *   default:
 *
 *     PutString( "Unknown Error...\r\n", 0 );
 *
 *   break;
 * }
 */

#define RD_FreeRestrictLst 1066
/*
 * Free a with RD_GetRestrictLst allocated list.
 *
 * Data1        -> Status (unimportant)
 * Data2
 * Data3
 * IOString
 * StructDummy1 <- The struct NumFlagList *FAMERestrictFiles.
 *
 * Note: StructDummy1 has to be the *UNMODIFIED* pointer or a copy of it
 *       you got by using RD_GetRestrictLst.
 *
 *       Data1 is 0 if your door was the last owner of the list and that
 *       it has been freed. Data1 is not 0 if there are other tools using
 *       this list. In this case Data1 contains the remaining open counter.
 *       However, if you have used RD_GetRestrictLst it's no longer allowed
 *       to access this list. If you need it again use RD_GetRestrictLst first.
 */

#define RD_GetNamesNotLst  1067
/*
 * Get a pointer to a list containing the "Names Not Allowed" list.
 *
 * Data1
 * Data2
 * Data3    -> Error code. Currently FIMLR_SUCCESS and FIMLR_NODATATOREAD.
 * IOString
 * StructDummy1 -> The struct NumFlagList *FAMENamesNotAllowed.
 *
 * Usage: Simply call this request to get the list then just use the Next
 *        pointer to get the next list entry - meaning the next name not allowed -
 *        as far as you need to go or as long as Next is not NULL.
 *
 *        Data3 has to be checked! If Data3 is FIMLR_NODATATOREAD the StructDummy1
 *        pointer is not valid! Only if Data3 is FIMLR_SUCCESS you are allowed
 *        to use StructDummy1 to access the generated list.
 *        FIMLR_NODATATOREAD means that NamesNotAllowed.txt is empty.
 *
 * Note:  *DO NOT* modify the list! The list will be shared with other tasks
 *        if requested at the same time.
 *
 * See also: Include/FAME/FAMEPublicStructs.h - for struct NumFlagList
 *
 * Important Note: This function is designed to share the list(s) to reduce
 *                 memory usage if more than one door requests the same kind
 *                 of list at the same time. This means first that it's read only
 *                 (it will directly be created on your request and freed if
 *                 no more tools are using it and does not interfere with the FAME
 *                 internal data so modifying will make no sense) and the second
 *                 point is that it's important that you use RD_FreeNamesNotLst if
 *                 you no longer need the list(s) and that you *DON'T USE*
 *                 StructDummy1 to go through the list if you use it later with
 *                 RD_FreeNamesNotLst to free the list.
 *                 The best is you first take your own pointer to keep the with
 *                 StructDummy1 returned list pointer of this command and later
 *                 you use it with RD_FreeNamesNotLst. Now you can use StructDummy1
 *                 to go through the list, but it's also better to use a second
 *                 copy if you call other FIM commands between this function and
 *                 RD_FreeNamesNotLst.
 *
 * Example:
 * --------
 *
 * /*
 *  * Temp pointers.
 *  */
 *
 * struct NumFlagList *NamesNotAllowedBase,
 *                    *NamesNotAllowedWork;
 *
 * /*
 *  * Get the two dimensional list base and let the temp pointers point to it.
 *  */
 *
 * PutCommand( "", 0L, 0L, 0UL, RD_GetNamesNotLst );
 *
 * switch( DoorMsg -> Data3 )
 * {
 *   case FIMLR_SUCCESS:
 *
 *     NamesNotAllowedBase = NamesNotAllowedWork = DoorMsg -> StructDummy1;
 *
 *     /*
 *      * Walk through the list and print the contents.
 *      */
 *
 *     while( NamesNotAllowedWork )
 *     {
 *       PutStringFormat( "NamesNotAllowed <%2.2ld>: <%s>\n", NamesNotAllowedWork -> FileNumber, NamesNotAllowedWork -> FileName );
 *
 *       NamesNotAllowedWork = NamesNotAllowedWork -> Next;
 *     }
 *
 *     /*
 *      * Finally free the list - with an UNMODIFIED and ORIGINAL pointer.
 *      */
 *
 *     DoorMsg -> StructDummy1 = NamesNotAllowedBase;
 *
 *     PutCommand( "", 0L, 0L, 0UL, RD_FreeNamesNotLst );
 *
 *   break;
 *   case FIMLR_NODATATOREAD:
 *
 *     PutString( "No datas to read!\r\n", 0 );
 *
 *   break;
 *   default:
 *
 *     PutString( "Unknown Error...\r\n", 0 );
 *
 *   break;
 * }
 */

#define RD_FreeNamesNotLst 1068
/*
 * Free a with RD_GetNamesNotLst allocated list.
 *
 * Data1        -> Status (unimportant)
 * Data2
 * Data3
 * IOString
 * StructDummy1 <- The struct NumFlagList *FAMENamesNotAllowed.
 *
 * Note: StructDummy1 has to be the *UNMODIFIED* pointer or a copy of it
 *       you got by using RD_GetNamesNotLst.
 *
 *       Data1 is 0 if your door was the last owner of the list and that
 *       it has been freed. Data1 is not 0 if there are other tools using
 *       this list. In this case Data1 contains the remaining open counter.
 *       However, if you have used RD_GetNamesNotLst it's no longer allowed
 *       to access this list. If you need it again use RD_FreeNamesNotLst first.
 */

#define RD_MergeNumFlgList 1069
/*
 * Merge two struct NumFlagLists together.
 *
 * Data1        -> Last "FileNumber" of the struct NumFlagList (output) list.
 * Data2
 * Data3
 * IOString
 * StructDummy1 <- The first struct NumFlagList * (pointer) list to merge.
 * StructDummy2 <- The second struct NumFlagList * (pointer) list to merge.
 * StructDummy1 -> The merged (new) struct NumFlagList * (pointer) list.
 *
 * Usage: You need this command if you have two lists of the type
 *        struct NumFlagList and you want to merge both into a new
 *        struct NumFlagList to have the contents of both list in
 *        only one list.
 *        Put the first list onto StructDummy1 and the second one onto
 *        StructDummy2 before calling the command.
 *        After calling the command you will get in StructDummy1
 *        a new list which is then the merged list of both input lists.
 *
 *        On success Data1 contains the number of the last list entry
 *        of the generated (new) merged list so you can validate or do
 *        whatever needed with this information which discribes the
 *        amount of list entries you got.
 *
 * Note:  A new list will be created and returned. If StructDummy1
 *        is valid (not NULL) both lists successfully have been merged
 *        together.
 *
 *        The struct NumFlagList entry "FileNumber" will be counted new
 *        so the list entries are increasely numbered begining with 1.
 *
 *        Use RD_FreeNumFlgList later to free the merged list.
 */

#define RD_ComprNumFlgList 1070
/*
 * Compress struct NumFlagList by removing double "FileName" entries.
 *
 * Data1        -> Last "FileNumber" of the struct NumFlagList (output) list.
 * Data2        -> Last "FileNumber" of the struct NumFlagList (input) list.
 * Data3
 * IOString
 * StructDummy1 <- The struct NumFlagList * (pointer) list to compress.
 * StructDummy1 -> The compressed struct NumFlagList * (pointer) list.
 *
 * Usage: You need this command if you have one list of the type
 *        struct NumFlagList and you want to compress it by removing
 *        double enties (identified by struct NumFlagList entry "FileName".
 *        Put the list onto StructDummy1 before calling the command.
 *        After calling the command you will get in StructDummy1
 *        a new list which is then the compressed list of the input list.
 *
 *        On success Data1 contains the number of the last list entry
 *        of the generated (new) merged list so you can validate or do
 *        whatever needed with this information which discribes the
 *        amount of list entries you got.
 *        Data2 contains the amount of entries in the input list
 *        (the uncompressed list) so you can i.e. compare Data2 with Data1
 *        to see if and how many entries have been compressed.
 *
 * Note:  A new list will be created and returned. If StructDummy1
 *        is valid (not NULL) the input list successfully has been
 *        merged.
 *
 *        The struct NumFlagList entry "FileNumber" will be counted new
 *        so the list entries are increasely numbered begining with 1.
 *
 *        Use RD_FreeNumFlgList later to free the compressed list.
 */

#define RD_FreeNumFlgList  1071
/*
 * Free a struct NumFlagList list.
 *
 * Data1        
 * Data2
 * Data3
 * IOString
 * StructDummy1 <- The struct NumFlagList * (pointer) list to free.
 *
 * Usage: Put a list based on struct NumFlagList onto StructDummy1
 *        and call this command to free the whole list. 
 *        After using RD_MergeNumFlgList and RD_ComprNumFlgList 
 *        you need to do this in example.
 */

#define CF_PausePrompt     429
/*
 * Call the standard pause prompt.
 *
 * Data1
 * Data2
 * Data3
 * IOString
 *
 * Usage: Simply call this command to let the Node print the standard
 *        pause prompt and wait for a key. This is the standard
 *        (default) pause prompt or the one the SysOp has configured.
 */

+SystemEditor:
 Changed the way the Door settings are handled.
 Because of the new way it was a must to change the Door settings a bit.
 Now if you have a door setting loaded and if you then change the
 command type or Conference number (i.e. from BBSCMD to SYSCMD)
 to loaded setting will be freed and the gadgets reseted.
 If you want to clone a setting you now easily can copy the setting
 file via your favourite directory tool from one sub directory (command)
 to a different one.
 SystemEditor now has a code implemented on loading a door setting which
 automatically notifies wrong settings like wrong command types and corrects
 them on loading. So if you load this by hand copied setting some day it
 will automatically be corrected. Also other because of previous buggy
 SystemEditor versions saved settings will be corrected on loading them.

+SystemEditor:
 Completed with rewriting the code to use the new FAMEConfig feature being a
 part of the new FAME.library v6.1 to share datas through the complete BBS.
 SystemEditor now makes it possible that changes you do while your BBS is
 running are exactly at the same time available to the whole BBS as you are 
 doing them.

 This will work first 100% if the complete FAME has been converted to the
 FAMEConfig feature use. Server, MainPart and all other tools are still missing
 and will be adapted now.

-MainPart:
 Fixed a bug on local Door files download function code.
 There was accidently a post decrement made and not as it has to be
 a pre decrement. Fixed.

 (Reported by SieGeL/tRSi)

                             ---------------------
                             FAMEFileChecker v1.18
                             ---------------------

+Adapted to be FAME.library 6.1 FAMEConfig feature compatible. 

23-Sep-98
*********
                  -------------------------------------------
                  MainPart v2.6/Server v2.6/SystemEditor v2.6
                  -------------------------------------------

+MainPart:
 FileChecker code now creates a memory pool for the Status List and handles
 it to FAMEFileChecker.

                             --------------------
                             FAMEFileChecker v2.6
                             --------------------

+FAMEFileChecker now runs only on 020+ CPUs and OS3.0 (V39) minimum.
 There is no longer a version below 2.6 of FAMEFileChecker in development.

+FAMEFileChecker needs now OpenUtil.library 1.0.

+Memory allocations will now be done in a memory pool if possible else
 in the systems main memory.

+The memory pool created by MainPart will now be used for the Status List.

                              ------------------
                              FAMEHydra.FIM v2.6
                              ------------------

+FAMEHydra.FIM now runs only on 020+ CPUs and OS3.0 (V39) minimum.
 There is no longer a version below 2.6 of FAMEHydra.FIM in development.

+FAMEHydra.FIM needs now OpenUtil.library 1.0.

+Memory allocations will now be done in a memory pool if possible else
 in the systems main memory.

28-Sep-98
*********
                  -------------------------------------------
                  MainPart v2.6/Server v2.6/SystemEditor v2.6
                  -------------------------------------------

+SystemEditor:
 FAME SystemEditor now runs only on 020+ CPUs and OS3.0 (V39) minimum.
 There is no longer a version below 2.6 of FAME SystemEditor in development.

 FAME SystemEditor needs now OpenUtil.library 1.0.

 Memory allocations will now be done in a memory pool if possible else
 in the systems main memory.

+Server:
 FAME Server now runs only on 020+ CPUs and OS3.0 (V39) minimum.
 There is no longer a version below 2.6 of FAME Server in development.

 FAME Server needs now OpenUtil.library 1.0.

 Memory allocations will now be done in a memory pool if possible else
 in the systems main memory.

29-Sep-98
*********
                  -------------------------------------------
                  MainPart v2.6/Server v2.6/SystemEditor v2.6
                  -------------------------------------------

-MainPart:
 Local SysOp download wasn't sending the filenames to the Server so that
 Server wasn't able to add them into the last 10 files downloaded list.
 Now MainPart sends the information on local SysOp downloads too.

-Server:
 Updating of the last 10 uploads and downloads has been done too late
 so that a file added to the list has only been updated visible in the
 list if a second file has been uploaded or downloaded or the SysOp
 has toggled the list of the last 10 users/uploads/downloads by hand.
 Last 10 users has been updated exactly at the same moment a user has
 logged in so in this case everything worked well in previous FAME
 versions, but not for uploads and downloads.
 Now fixed for uploads and downloads - so that you will see it in real
 time now too.

08-Oct-98
*********
                  -------------------------------------------
                  MainPart v2.6/Server v2.6/SystemEditor v2.6
                  -------------------------------------------

-MainPart:
 Internal Conference Access Editor wasn't unlocking the 
 "FAME:Settings/Access/Conferences" path. Now it unlocks it correctly.

28-Dec-98
*********
                  -------------------------------------------
                  MainPart v2.6/Server v2.6/SystemEditor v2.6
                  -------------------------------------------

-MainPart:
 Fixed a small bug with the transfer progress bar.
 The procentual calculation had an internal LONG value overflow on bytes
 transfered > 21 MB what resulted in a negative progress bar.
 Now a case selection has been integrated to have a modified calculation
 on byte sizes > 20MB.

 (Reported by eXON and SieGeL)

19-Jun-99
*********
                  -------------------------------------------
                  MainPart v2.7/Server v2.7/SystemEditor v2.7
                  -------------------------------------------

-SystemEditor:
 Fixed the broken DeviceRequester for choosing a serial device driver, because of modifications
 of the depending oRequestLibA() function in the OpenUtil.library.

25-Jul-99
*********
                  -------------------------------------------
                  MainPart v2.7/Server v2.7/SystemEditor v2.7
                  -------------------------------------------

+MainPart:
 Made some Y2K compliant changes.
 The date form MM-DD-YY now restarts by 00 for the year 2000 instead of increasing
 the year to a digit size > 2 chars. Restarting by 00 is not that fine and not
 Y2K compliant, but the form for dir listings is limited to 2 chars (because of
 /X-dirlisting compatibility) - so this is the only possible way to go here.

 Most newfile/file scaners won't scan correctly in the new millenium for the first
 call, but after the first call they hopefully will correct themself (if they are good).
 It could and will mostly happen that most of the file scaner tools will
 no longer find files uploaded before the millenium change - on every scan
 - at every day.

 We *DO* need new or fixed file scaner tools to have a correct scan.
 This also has to be fixed in the internal file scaner of FAME too soon.

                             --------------------
                             FAMEFileChecker v2.7
                             --------------------

+Made some Y2K compliant changes.
 The date form MM-DD-YY now restarts by 00 for the year 2000 instead of increasing
 the year to a digit size > 2 chars. Restarting by 00 is not that fine and not
 Y2K compliant, but the form for dir listings is limited to 2 chars (because of
 /X-dirlisting compatibility) - so this is the only possible way to go here.

                              ------------------
                              FAMEHydra.FIM v2.7
                              ------------------

+Made some Y2K compliant changes.
 The date form MM-DD-YY now restarts by 00 for the year 2000 instead of increasing
 the year to a digit size > 2 chars. Restarting by 00 is not that fine and not
 Y2K compliant, but the form for dir listings is limited to 2 chars (because of
 /X-dirlisting compatibility) - so this is the only possible way to go here.

27-Jul-99
*********
                  -------------------------------------------
                  MainPart v2.7/Server v2.7/SystemEditor v2.7
                  -------------------------------------------

+Server:
 Copyright notes updated to display the correct date.

+MainPart:
 Copyright notes updated to display the correct date.

+Server:
 Dial number updated for calling the pUNISHmENT iNC. BBS and corrected the ip to
 the new actual values (pUNISHmENT iNC. BBS is the FAME main support BBS).

+MainPart:
 Dial number updated for calling the pUNISHmENT iNC. BBS and corrected the ip to
 the new actual values (pUNISHmENT iNC. BBS is the FAME main support BBS).

-MainPart:
 Fixed a bug on calculating the file transfer complete/percentage progress value.
 This value will be used for example for the progress bar and percentage display in
 FAME if a file gets transfered.

 Normaly the following code will be used to calculate the percentage:

 Percentage = (xferedbytes * 100) / filesize;

 The problem with this is that on a LONG value xferedbytes * 100 will result in a
 overflow of the LONG limit (2,1GB (million bytes)) and because of multiplying the
 transfered bytes by 100 we will get an overflow on 21 MB and more bytes transfered!

 Now after a transfered size of 20 MB the internal percentage code will switch
 to a different calculation method as follows:

 Percentage = 10000 / (filesize / (xferedbytes / 100));

 This expands the numeric range of the values to be able to calculate high values
 without exceeding the LONG limits.

 (Reported by SieGeL/tRSi)
 (Thanks to Bloodrock/tRSi for helping me there finding out an alternative)

08-Aug-99
*********
                  -------------------------------------------
                  MainPart v2.7/Server v2.7/SystemEditor v2.7
                  -------------------------------------------

+SystemEditor:
 New flag SystemEditor -> Node Edit -> Serial/Modem/Screen -> "Force Drop" added to
 force a carrier drop on logging off the BBS. Normally FAME will try to send the
 hangup command to the Modem to drop the line if a user logs out of the BBS.
 Because of some ISDN cards having problems with Hayes (AT) compatible command
 set Modem emmulation on droping a carrier like a Modem this flag forces a Node
 to drop the line immediately and not to wait for a drop command doing this.

 (Suggestion from SieGeL/tRSi)

+MainPart:
 Now uses Force Drop flag to drop serial line immediately.

31-Oct-99
*********
                  -------------------------------------------
                  MainPart v2.8/Server v2.8/SystemEditor v2.8
                  -------------------------------------------

+MainPart:
 Made some Y2K compliant changes.

 Following text has been written in the history of 25-Jul-99:

 > Most newfile/file scaners won't scan correctly in the new millenium for the first
 > call, but after the first call they hopefully will correct themself (if they are good).
 > It could and will mostly happen that most of the file scaner tools will
 > no longer find files uploaded before the millenium change - on every scan
 > - at every day.
 >
 > We *DO* need new or fixed file scaner tools to have a correct scan.
 > This also has to be fixed in the internal file scaner of FAME too - soon.

 The file/newfile scanner of FAME has been updated now to be able to scan also
 correctly uploads made before the new millenium.

 Following you will find an explaination of what has been changed and what
 the internal file scanner of FAME will handle in what way.

 The FAME internal date functions are expanded to detect dates > 1999.
 FAME knows the current date and if it's in the new millenium, but the problem
 is the file listing... to be /X compatible the file listing has only two
 digits for the year information - so we don't really know what millenium
 is meant. Also if you call the internal file scanner with a date as argument
 (US format) like mm-dd-yy we don't really know the millenium, not rally - but we
 know it in some different way. Because of the fact that the date function begins
 with the 1. January 1970 we can say that every year < 1970 is in the new
 millenium and every >= 1970 is in the old one. The code wich is validating
 the dates will exactly do this trick in the case where we can't really know
 the millenium - where we know it the code uses it of course. We know
 it everywhere where FAME saves date information in their own structures
 - like the last day a user was online.

 From now on the date validation code will internally expand the date variables
 to be validated with a 4 digit year.

 If you call the internal file scaner with a date as argument you always
 have to use the US date format (mm-dd-yy). This is also not Y2K compliant
 so from now on you also will be able to use the expanded form (mm-dd-yyyy).

 Note: If you don't want to have problems with your file scaner tools/doors in the
       new millenium and you arn't able to get a fixed version of your scaner tools
       i would advice you to remove your file scaner tools/doors as long as
       you can't get a fix for them and better use the fixed internal scanner
       of FAME. The internal scanner is able to scan normally over whatever
       dirs a user defines with arguments, newfile scan, scan from a different
       date on and more... see details:

       N           -> New files, date will be asked
       N S         -> New files since last call
       N T         -> New files since today
       N <-Days>   -> New files from today minus <-Days>
       N <Date>    -> New files from <Date> (mm-dd-yy) not really y2k compliant
       N <DateY2K> -> New files from <Date> (mm-dd-yyyy) y2k compliant

       Optional parameters:

       <Dir>       -> The directory number (U for upload (last), A for all)
       NS          -> NonStop scan.

-MainPart:
 Fixed a stack problem where reading from an illegal stack pointer on using
 a paradoor which takes usage of the PG_US command to get the date.

+MainPart:
 Where the old US date format (mm-dd-yy) has been displayed and where it was
 possible the new Y2K US date format (mm-dd-yyyy) will be displayed now.

+MainPart:
 New keys added to the log files:

 - ONDATEY2K:  (bbs connect)
 - OFFDATEY2K: (bbs disconnect)
 - #Y2KDATE:   (Node start/end)
 - Y2KON:      (NUP fail)

 These are additional keys and do not replace the original ones.
 They have been added to log the new Y2K US date format (mm-dd-yyyy) too.

