Tron BBS System V0.67 Copyright (C) 1994-1996 by Paul Spijkerman Software and documentation written by Paul Spijkerman All rights reserved ===================================================================== The major changes from Tron V0.66 -> V0.67 --------------------------------------------------------------------- This update is a bit delayed by a crash of my harddisk but has a lot of changes and new features. -Rewritten the initialization of the modem. Before the actual init string is send the programm checks if the modem is actualy listening with an AT command. -Marked messages area saved to disk when logging out just for the case the logging out wasn't voluantary. -Tilde code ~120 for the number of marked messages. -When the resource manager is active the key is locked so nobody can copy or download it. -You can configure parity and the number of Data and Stop bits for a node, this is usefull in france for use with the minitel terminals. When there are 8 databits and no parity the serial device is switched in the high speed mode. -You can configure a node to be used with a nullmodem cable. In this modem no modem strings will be send and the node will 'answer' when it detects a return. Note that the serial.device will work in 7-wire mode, if you want to use 2 wires you have to connect some pins of the connectors with each other so it will work alright. -You can configure if an existing Upload will be skipt or it will be accepted and a new name will be asked. -The screen buildup is faster after changing the buffering of the screen. -Rewritten the waiting mail code. When you want to read waiting mail, the first thing you see how many new messages there are, and how many waiting messages you have already read. There are 2 sets of commands for reading waiting mail, one set for new messages, and a set for old messages. So you never loose a message. -When you start a node with a '-A' flag no lastcaller data will be kept for this node, this may be convenient if you want to call this node with a point packet or terminal program via nullmodem.device -The resource manager wouldn't work on a 68000 because of a possible uneven LONG pointer, this is fixed. -When a BBS screen is selected which doesn't exist on your machine or your running out of Chip memory the system will try to open the smallest type op screen. (1 bitplane 640x256 pixels) -There are a pair new BBSText codes you can use for Upload and Download reports. %t = Total number of bytes transfered for a file. %p = Percentage of the file totaly transfered. -More information in logs if a file is partially transfered. -Improved the 'bumping' of names in the mailer if a received file already exists. -The Max's door interface now translates user levels because some doors have more (sysop) options with higher levels. A level of 255 (sysop) is translated as 10.000. A level of 240 or higher (cosysop) is translated as 5000. -Written my own code for asking the current time instead of using the SAS link code, because the linkcode uses 'ENV:TZ' wich gave some problems with a few sysops. The new code is smaller and quicker. -The BBS nodes check their configuration file (tron:cfg/tron-X.cfg) more on the rigth number of options on a line. -Rewritten a large part of The resource manager to make it easier to expand and make the use of memory a little more efficient. Information that is accessable from utilities and wich is only used by TronRM is seperated. Structures with filenames and pointers and this sort of information is only available when an area is accessed. -Added a BiDirectional FileBuffer/Cache system to TronRM. This system makes File and Message searches at least twice as fast. Packing of mail is probably even fasted because there are less head movements necessary from one file to another. -There was a little problem with the mail processor, when it scanned some messages from PC systems it got confused and couldn't find the Origin line and seen-by's. This is fixed by rewritting a big old part of the mail processor. Which makes it a little more efficient. -The mail processor is al little smarter. It checks if a file with a packet name is indeed a packet, and if the message body is not terminated with a NULL-character it can reconstruct the message without any problems. This because some other Systems had this problems sometimes and the Tron mail processor didn't react correctly. -TronTick and the mail processor now use there own functions to keep doubly linked lists of files in Inbound and Outbound directories. Wich is much more efficient because the mail processor Unpacks archives in a certain sequence. Depending on the day and sequence of the creation of the archives. (depending on the extensions of archive names) -Fixed a little problem in the mail processor, it could only read password of 7 characters from it's configuration files. -Added FlushBuffer and PushIntoBuffer commands to the Additional Clidoor support interface. -Empty BBStext lines aren't stored in memory to save a little memory. -BBStext is loaded a little sooner so you can't see EMSI codes when logging in because the 'press escape' text is printed over it. -Fixed a little problem in the BBS wich could sometimes crash the system when carrier was lost in a door. -If during an IEMSI login the password was not correct it will be written to the log. -The second acknoledge of EMSI and IEMSI sessions will now be correctly flushed. -If during an Upload a File description file is found it will be shown before the Question if it should be used is asked. -If something went wrong with Uploads there was a change there stil was a File description file (File_ID.DIZ) in the Upload directory .. which could be read with the next Upload. This is fixed. -If you change FILE_LIST_FILE and FILE_LIST_FREEFILE BBStext entries .. the length of the next description lines is now correct. -During a filelist WordWrap will be turned of is the description for a file is 'preformated' (if there are returns in the description) to show FILE_ID.DIZ descriptions better. -Private messages are now correctly shown, only if the message is to or from someone or if the user has a Special flag. -Fixed a little bug. If a User used a password of 16 characters the termination character wasn't read. Which gave problems for all folowing numerical fields. The menus and menu compiler: ============================ IMPORTANT !!! Note that the binary format of the menu files is changed a little bit from version 0.66 to 0.67 If you want to use menus from version 0.66 with version 0.67 you have to compile them with the 'menu' compiler from version 0.67 with 'menu #?'. -De menu interpreter is completelly rewritten. It uses 400 bytes less stack memory and is much more flexibel. You can compile a menu when a menu is in use. (But only when you are at the prompt in that menu) what wasn't possible in version 0.66. -Instead of 'Cmd' in a menu you can also use 'MenuBegin', 'MenuEnd', 'CommandBegin' and 'CommandEnd'. This can be Usefull if you want for instance log the name of a menu when it is entered. -You can use extra numerical arguments in menus. This is usefull when you want to define the amount of stack for a door. Default is 8192 bytes (or 8KB) if you use: CliDoor "path/command" If you need more, just enter something like: CliDoor "path/command" , 12000 This is possible with commands: CliDoor, ParagonDoor, MaxDoor, RexxDoor, DosCommand, DosCommandSync There is also an extra argument for 'PlaySample' .. the number of times a sample is played. Default is one time. PlaySample "Path/sample" PlaySample "Path/sample" , 3 -You can use flags after a 'Cmd' line to indicate who has acces to a menu. S = sysop, only local (at the keyboard) can use the command. U = user, only remote users (at a serial port) can use the command. Flags and levels are separated by a comma. Examples: Cmd "A" ; Can be used by everyone. Cmd "A" , 5 - 255 ; Can be used by users with a level from 5 to 255. Cmd "A" , S ; Only to use localy. Cmd "A" , 255 , U ; Only to use remotely with a sysop level. Cmd "A" , SU ; Can be used everywhere -Added a MenuCommand 'ModemCommand' .. this is usefull when your modem has a status command, this command forces the modem in command mode to execute this command then it returns the modem online and shows the results. -Added a MenuCommand 'StartChat' which enters the chatmode like the sysop pressed F1. This is Usefull in PageDoors. -Added MenuCommands 'FlushBuffer' and 'PushIntoBuffer'. These are usefull when for instance you want to force a name when someone is writing messages to your CoSysops. For example: Cmd "C" , 0-255 CommentToSysop EndCmd Cmd "S" , 0-255 ChangeMessageArea "1" ;Area 'comment to sysop' FlushBuffer PushIntoBuffer "Cosysop|" WriteMessage EndCmd Cmd "A" , 10-250 ChangeMessageArea "5" ;Area 'Message To All' FlushBuffer PushIntoBuffer "All|" WriteMessage EndCmd NOTE: (For more information on menus and menu commands look at the documents in the tron:docs/lists/ directory) Utilities: ======================= -Enhanced the CDromDoor. The listing of files and sections is much better. The header above listings have other colors so you can see better where the lists start. -Rewritten the lastcaller programm, and made it configurable. You can define a line for every kind of call. The programm got its own directory in the doors directory with all the data and files needed. -Made a very simple Log-off police programm wich will write a local message to user when they drop carrier. Just call it in you logout scripts with a number of a private local message section. -Rewritten the Sysop Page door with a number of buttons in the workbench window to deiconize the node and to start yout favourite chat mode/door. The door will react quicker to button clicks while playing the sample. -Written a few simple 'clickit' tools, wich are windows on the workbench with buttons to start scripts and editors and to send commands to BBS nodes. -Rewritten the Full Screen Editor partially because sometimes when you deleted a line it would get confused. It now uses functions for a doubly linked list of lines instead of the build in normally linked list code. -The BulkUpload programm can now add files with a file description file by using the Upload script. -The allfiles programm is more configurable, you can config your favourite archivers. -You can configure in TronTick if netmail should be send with a Tick file.