VBBS TERM... Copyright 1990 By Stephen Vermeulen VOICE: (403) 282-7990 VBBS line 1: (403) 284-2048 (USR Dual Standard V32bis/HST) VBBS line 2: (403) 284-5625 (USR Dual Standard V32bis/HST) PO Box 3295, Station B, Calgary, Alberta, CANADA, T2M 4L8. Introduction: This document is divided into four parts, the first is a basic installation introduction and overview. The second is a trouble shooting section, if you have problems setting up TERM read this section. The third is a more detailed function description. And the fourth is a "changes" section, once you have TERM installed and working you will want to read this section to learn about what changes were made in a new version you have just obtained. You might also have to read the Changes section (at least the most recent parts) if you have just picked up a copy of TERM since I might not have updated the other sections... Installation and operation of TERM has been greatly simplified, in fact all you need to do is to drag the two icons "TERM" and "Demo_Script" to where you want TERM to live. Double clicking the TERM icon will then dial you into VBBS and log you on. (well almost...) Before you double click the TERM icon there are a few things you will need to do. First use the WorkBench's Info menu item to edit the tooltypes in the TERM icon. You should change the NAME= and PASSWORD= tooltypes to specify your name and your password. If you have a 1200 baud modem you should change the BAUD= tooltype to read BAUD=1200. You should also consider setting up the following tooltypes: MESSROOT=dirname EMAILROOT=dirname DOWNDIR=dirname TEMPDIR=dirname EDITOR=programname KEEPFILE=filename These will greatly improve life with TERM. Here is a quick run down on these: (the "dirname" means these tooltype expect to be assigned to a full AmigaDOS directory name, you should include the drive in this too, like: TEMPDIR=dh1:t) MESSROOT= This is used to specify a directory where you want the "Sigs" tool to download the messages bases to. This in an "off-line" reading/replying/posting system (to minimize connect time) so you will need to make this directory on a disk with some space. The directory must exist before you start TERM (and hit the Sigs button) and you should NOT store anything else in this directory. EMAILROOT= This is used specify a directory where you want any EMail that is sent to you to be saved and where the User List is also to be saved between TERM sessions (so you don't have to keep downloading it). Again this directory should exist before you start using EMail. DOWNDIR= This is used to specify a directory where you want any files you download to be put. Note that you cannot currently change this directory while you are running TERM except by setting it to a logical name like "DOWNDIR=fred:" and then either inserting one of several disks called "Fred" or by using the CLI command Assign to change the location of the Fred: assign. (These should work but I have not tried -- the limitation will be removed when I get the time) TEMPDIR= This is where TERM will store a number of different temporary files it creates from time to time. You might assign this to "t:" or perhaps "ram:". EDITOR= TERM allows you to use the editor of your choice to compose email, file descriptions, and messages. The default is "ED" and you will probably want to change that real fast! The limitation is the editor MUST be in your C: directory (at least under 1.3). KEEPFILE= When you are reading messages in the "Feedback" tool you can save ones of interest by just hitting a button, these messages are saved in the file specified by this tooltype. Please note that you should include the full path to the file, like: KEEPFILE=dh1:vterm/stuff/junk/fred/goodies where "goodies" is the file which will contain the saved messages. Lastly, if you do not have ARP installed on your system you will need to execute the following command from the CLI: copy AMUC_VOL_52A:showcase/arp.library LIBS: For most users that is all you have to do to install the TERM program for VBBS, all you have to do now is to double click the icon. If you use an internal modem or a modem attached to an expansion board with extra serial ports you will probably want to change the UNIT= and DEVICE= tooltypes as well. If you have any problems logging into VBBS read the following section first and then give me a call at 282-7990 or leave a message for me on the AMUC Express. COMMON PROBLEMS!!!!! The following are a few tips for first time users of the VBBS-TERM package. All of these gotchas are fairly common, so if something does not work make certain you look at these first! 0) TERM refuses to start and immediatly returns to the CLI prompt. You need to check your LIBS: to see if you have ARP.LIBRARY installed, also check to see that you are not already using the serial port. Could also be that you are low on memory. 1) The initial terminal window goes away then reappears instead of the control window. Your modem cable probably is not passing the CARRIER DETECT line. 2) When I type stuff into the initial terminal window all I get is garbage. You probably have the BAUD rate set incorrectly. Note that TERM gets its baud rate from PREFERENCES, unless you start it with a line like: TERM -dserial.device -u0 -b1200 or you might have the baud rate incorrectly specified in the TERM icon's tool type array, check the BAUD= entry. 3) I can read messages but cannot post new ones or reply to old ones. This is typically caused by your not editing the "editor" line in the TERM icon's tool type array. This may also be caused by not running TERM with enough stack space. Try the CLI command: STACK 10000 just before running TERM. 4) How do I log in under my own name? Simple! Just edit the TOOLTYPES in the TERM icon. There is an entry called "NAME=" for your name and "PASSWORD=" for your password. 5) When I call the BBS I get a bad connection or I cannot login at 2400 baud or the BBS hangs up on me. Solution, call again and if it happens again wait 1 minute, the BBS does a complete reset of its serial port and modem a short while after it sees the phone ring if no one has been able to log in. Some modems occasionally screwup their baud rate and/or parity settings and until they reset the BBS cannot understand what they are saying. 6) The Talk window opens and then immediatly closes. You need to have the translator.library in LIBS: and the narrator.device in DEVS: Often people strip these from their system to save space on the boot disk. It is safe to run TERM without these present, but you will not be able to page the Sysop. 7) TERM wants to write to my boot disk. TERM needs to create some temporary files from time to time. It puts these files in the directory "T:". By default this directory will be the :T directory on your boot disk. You need to add a command like: ASSIGN T: RAM: to your startup sequence. This tells your Amiga to put temp files into the ram disk. Alternatively, you can edit the TOOLTYPES in the TERM icon and add an entry called "TEMPDIR=", pointing to the directory you wish to use. 8) When I exit term with the Quit menu item the modem still stays on line, I want it to hang up the connection. The problem here is that your modem has been set to ignore the DTR line, when TERM exits it closes the serial port which should drop the DTR line. This should cause the modem to drop the line. However, modems can be set to ignore this line, and/or your serial cable may not pass this line. If your modem is ignoring the line you may wish to send it an AT&D3 command before starting up TERM. You can make this setting permanant by issuing an AT&W0 and AT&W1 command. Note: some people do not like to use the AT&D3 setting as they like to hop from one terminal package to another without the modem hanging up the connection. 9) I get massive quantities of line noise resulting in very slow file transfers. This can result from having the wrong handshaking between your modem and serial port. There are two modes available: either "-hn" (no handshaking) "-h7" (RTS/CTS handshake, 7 wire mode). It should not matter which you choose, except that if you are running a newer modem where the serial rate can be higher than the modem's phone line rate then you MUST use the 7 wire mode. NOTE: since TERM/VBBS uses a full 8-bit binary connection you cannot select the XON/XOFF handshaking. If you do, TERM will default to no handshaking. 10) I can read messages but I cannot post new ones. This could be because you are using an editor that detaches from the CLI. The editors: AZ and CygnusEd are known to do this. Try a different editor. Actually TERM can now handle these editors too, just wait until you are finshed editing your message and have saved the file BEFORE clicking on the TERM requester that asks you if you want to post the message. 11) I am using the Applied Engineering internal modem board for the 2000, and cannot get anything to happen. Make certain you send the modem the command "ATC1". 12) fixed. 13) I am using an internal modem (either the SupraModem or the Applied Engineering one) and strange things are happening. Earlier versions of the Applied Engineering modem would not handle multiple character reads correctly, new versions of the modem's ROM software fix the problem. I can recompile the TERM program so that it does not do multiple character IO, this will patch the problem until you get the board fixed. Contact me about the single character IO version. 14) Various things in TERM don't seem to want to work. For some reason running TERM from an IconX shell script when the Shell-Seg is resident prevents term downloads from working. Also DON'T run one of those "cancel requesters" programs while you are using term, the result will be that you cannot download files or post new messages (or replys) while the requester canceler is in the system. Actually, it might be safe to do this now, as I have replaced most of the AutoRequest() calls with my own routine. 15) When I run "The Enforcer" (a developer's MMU utility) and TERM, the enforcer reports violations when I use the Talk function, the Message reader and the file downloader. These violations are probably due to the AutoRequest() function and the Translate() function. You should find these disappear when TERM is run under 2.0 (it appears that you can use the 2.0 translate.library in a system running 1.3, so if you have 2.0 try that). 16) If you find that the message reader locks up or crashes after posting or replying to a message -- and you are running TERM from the WorkBench -- remove the line in your startup-sequence which says "resident Shell-Seg" or else run TERM from the CLI. 17) If you are using an MNP capable modem and cannot use TERM once the connection process is complete and the control window says you are `Logged In', then take a look at your modem settings you should set AT\G0. (This was the Al K. problem). 18) My script file prints garbage or TERM crashes on exit. Are you running DMouse or some other form of windowing enhancer? Try running TERM without it enabled and see if the problem goes away. Whatever the outcome, report it to me! 19) My Packard Bell modem does not seem to dial when I use a script file. On some modems it seems that the "cr" command in the script file (which sends a carriage return line feed pair) confuses the modem. The solution to this is to replace all "cr" commands with "char 13" commands (which will just send a carriage return). How to use TERM: FROM THE WORKBENCH: Just check the tooltypes array (in the TERM icon) to see that the entries are correct for your system. Make certain that the "demo_script" is in the same drawer as the TERM program -- or else correct the SCRIPT= tool type) and then double click the icon. TERM will dial up VBBS and log you in. For an explaination of the various tool types fields see the next section. You may have to edit the UNIT= and DEVICE= tooltypes if you are using an internal modem card or a serial port on an expansion board. Also, you may need to edit the BAUD= tooltype to suit your modem. If you are running Commodore's shell (or using a relatively unmodified 1.3 startup-sequence) you should see problem #16 in the above list. FROM THE CLI: NOTE: CLI users will need to keep the TERM.info (icon) file around because this is used to specify the various parameters that TERM needs to run. Because CLI users do not like their directories cluttered with .info files, when TERM is started from the CLI it will first look in the current directory for the TERM.info file (if you rename TERM to FarOutTerminal you will need to rename the icon to FarOutTerminal.info as well), if it does not find it there it will then look in the S: directory and if it fails to find it there it will look in the C: directory. First you need to establish a phone connection, do this by starting the VBBS terminal program called "TERM". The arguments TERM accepts are the serial.device name, the unit number, the baud rate, the handshaking type and the name of a script file to run. These arguments are optional. If you have a second serial board, you can use it by suppling the appropriate name of the serial device and the unit number. If you just supply the serial device name and not the unit number it will open unit zero. Finally, if you specify an alternate serial device and unit but no baud rate the system will use whatever baud rate is specified in PREFERENCES. TERM [scriptfile] -dserial.device -uunitno -bbaudrate -hhandshake for example to use the ASDG serial card, unit number 1, at 4800 baud with no handshaking you would use TERM demo_script -b4800 -u1 -dsiosbx.device -hn To run TERM with a MNP modem connected on the serial port at 9600 baud either: TERM demo_script -b9600 -h7 or TERM demo_script -b9600 -h7 -dserial.device -u0 will do the trick. The script file is the name of a TERM script file to run to get yourself dialed in. NOTE: all the command line parameters are applied after TERM reads the configuration information from the icon, so if you wish to override the icon settings without changing the icon you may do so. A window will appear on the workbench which you can use to talk directly to the serial port. You would probably send a command to your modem next to get it to dial my number: atdp 284-2048 will probably suffice. My system, running the VBBS bbs module, will answer the phone and a connection will be established. The initial terminal window will display the login welcome message and then the error correcting multiplexing protocol will be started. Once this has been done a small window will appear (initially called "Control window") and when the connection is complete the name will be changed to "Logged in". Now the protocol has started you can select one of five things: Chat Send File, Messages, Talk or End Protocol. You select Chat to start a new chat window, Send File to send some data to the other computer's RAM: disk, Messages to read the new messages since you last read them (and to post new messages), Talk to type in messages that will be SPOKEN at the other end and End Protocol to quit. Note you cannot quit while there are any open channels (chat windows or send/receive file windows). This system also supports the carrier detect line if your modem and cable supports it. When the carrier is lost the system will shut down and return to the initial terminal window. If a send file requester is on the screen you will have to click on it's close gadget to close it down. Note that at the moment your modem cable MUST support this line, otherwise TERM will never enter the error correcting protocol mode. Exiting from TERM. There are two ways to quit from TERM. The first is to close down any open communications windows and then select the End Protocol menu item. This method is preferred since it waits for any buffered messages to be sent before allowing the exit to take place. You can also quit by just causing the phone connection to be broken (switching the modem off usually does this), this will automatically cause a complete shutdown. Support files........... The TERM program currently needs ARP.LIBRARY in libs:, as well it needs its icon file (TERM.info) from which it will get default parameters. The icon contains various tooltypes which allow you to set your user ID (USER=) and password (PASSWORD=) you should edit these to select an account name for yourself and a password. The EDITOR= tooltype specifies the path to your favourite editor (the default is "ed" which is nobody's favourite). If you do not specify the directory the editor is in (and you only supply the name of the editor) then the editor will be loaded from the C: directory. NOTE: THIS MEANS THE PATH WILL NOT BE SEARCHED. THE EDITOR WILL ONLY BE LOADED IF YOU HAVE IT IN YOUR C: DIRECTORY. Do I make myself clear? The CONFHISTORY= tooltype enters a number which specifies the number of lines that are to be kept in the conference window's scrollable history buffer. A value such as 30-50 is appropriate. The HAILSTRING= and TAILSTRING= tooltypes contain text or control characters you want sent with each paragraph you type in the conference window to identify your messages. The first is the text you want put at the start of your message and the second is the text you want put at the end of your message. There are a number of other tooltypes which are explained later on, although their names should make them pretty obvious. A sample icon is included. Note that when the system sees an unknown name it automatically sets up a new account and records that name and password on the BBS hard disk for future reference. ------------------------ COMMAND LINE PARAMETERS ---------------------- The following command line parameters are supported by the TERM program: -b Sets the baud rate -b9600 (9600 baud) -b1200 (1200 baud) -d Selects the serial device to be used -dserial.device (the default Amiga serial port) -dsiosbx.device (the ASDG dual serial card) -h Selects the serial port handshaking mode to be used -hn (no handshaking, the default) -h7 (no hand shake using the 7-wire (CTS/RTS) protocol. -u Selects the unit number of the serial device to be used -u0 (the default (Amiga serial) or the lower connector on the ASDG card) -u1 (the second connector (upper) on the ASDG card) NOTE: command line parameters will override the defaults that were set up by tooltypes in the icon. So if you want to change something temporarily you can just specify the command line parameter for it. ----------------------- Using the Message Section ---------------------- VBBS and TERM 0.5 and higher support message posting and reading operations. To access the message base select the Messages menu item once the connection has been established. Doing this will open up the message reader window and cause the VBBS to send all the new messages to your machine. The first message will be displayed and then the output will pause waiting for you to finish reading and select one of the options by pressing the appropriate key: RETURN -- preceed to the next message R -- fire up the editor so you can write a reply to this message P -- post a new message on a different topic. K -- appends a copy of the current message to your keepfile. SPACE -- messages that are longer than a screen will automatically pause when the screen has been filled, you can then hit the space bar to get to the next screen full. In order for you to post new messages and to reply to existing messages you need to have a text editor in your C: directory or else you must specify the full path to the editor with the "EDITOR=" tooltype (see above). This editor can be any editor you can run from the CLI with a command like: myeditor filename So when you press either the "P" or "R" keys TERM will call up your editor to allow you to compose your message. When you are editing a reply all the text in your editor will be sent to the BBS as the reply to the messsage; however, when you are posting a new message ("P") the FIRST LINE of your message will be placed in the SUBJECT field of the message header. ----------------------- USING THE TALK WINDOW ------------------------ VBBS 0.6 now supports a "Talk" window which is similar to the Chat window except what you type will be SPOKEN at both ends. This is useful for paging the Sysop and so that the Sysop can annoy you without filling your screen... So when you log on and want to find out if the Sysop is nearby type something into the talk window and hit return. Note the talk window does not send anything to the other machine UNTIL you hit return. Stephen Vermeulen 25-Feb-1990 ------------------- USING GET FILES, THE FILE LIBRARY ---------------- VBBS 0.8 now supports a file library which you can browse through and download files from. Currently, the user interface for this feature is in the prototype phase, it is fully functional but quite crude. I would appreciate feedback on this issue for a later release. With that proviso out of the way, you access the file library on the BBS by using the "Get Files" menu item from the main control window menu. When this is done a new window will popup. Initially this contains "Parent" and two lines with "^^^ vvv" on them. The parent string is a gadget that, when clicked on, will move you to the parent of the current directory. The "^^^" scrolls the current file or directory list up by 5 items when clicked on. The "vvv" scrolls the current file or directory list down by 5 items when clicked on. After a short pause the upper section of the window will show several directory names, these are the directories you have access to on the BBS machine's hard drive. There should be at least one directory visable here, and there may be many. The names presented here are not really of interest to you but are important to the Sysop. Clicking on one of these directory names will move you into that directory and will show you the directories and files within the directory. Everytime you select a new directory your terminal program will ask the BBS for a list of files within that directory and the BBS will send it that list. If you exit a directory and then re-enter it later you will find that the file list reappears immediatly since the TERMinal program stores the file lists it receives locally. When you want to download a file just click on the filename in the lower half of the window. Doing this will cause a requester to appear showing the name of the file and its size that you have selected for download. If you answer Yes to this requester then the download will commence and you can go on to do other things on the BBS, in fact you could even go back to the files window and request to download something else, note if you do this the download window for the second request may not appear for a while since the files are sent in 5K byte bursts. In version 14 the file requester was enhanced to be resizable and to display the file sizes (in bytes) to the right of the file names. It should also be possible to make this requester very tall on an interlaced screen. ------------------------- USING THE SCRIPT FILE ------------------------ TERM now supports a script file which can be used to allow for automatic redial until you are logged in. The commands for the script file are: send STRING delay N goto LABEL wait STRING on STRING LABEL exit cr char N print STRING ;this is a sample comment Comments in the script file are initiated with the ";" character. All following characters until the end of the line are considered to be part of the comment. Blank lines are allowed in the script if you wish. A script may be automatically run when TERM is started either from the CLI or from an icon. In the icon use the "SCRIPT=" tooltype to specify the name of the script file you want TERM to run. The "send" command sends the following string of text to the serial port. STRING may be a single word such as: Xyzzy or it may be a word or words enclosed in double quotes ("), such as: "this is a sample STRING" The "delay" command delays for N tenths of a second (N is a number). The "goto" command causes the script to jump to the indicated label in the script (either fowards or backwards) and execution will continue following the label. You may have as many labels as you like, labels may be any combinations of ascii characters which do not make up one of the above reserved command words. The "wait" command causes execution of the script to pause until the indicated STRING (as defined above) is received on the serial port or another string that triggers an exception is received. The "on" command is used to add a new exception string to the list of strings which, when received on the serial port, will cause an immediate jump to the specified label. You may have as many exception strings active as you wish. Specifing the same string a second time will erase the first specification allowing you to change the branch label. The "exit" command is used to terminate the script file and put the TERM program into it's listen for auto-connect sequence mode. The "cr" command is used to send a cariage return (well line feed and carriage return pair actually) to the serial port. The "char" command will send a single ascii character (identified by its ASCII code number) to the serial port. The "print" command will cause the following string to be printed on the display window, but nothing is sent to the serial port. This is useful for printing status messages telling you what the script is currently doing. Here is a brief autodial sequence... ----------------------------------------------- init on CONNECT startproto on BUSY redial on NOCARRIER redial redial send ATZ cr wait OK send ATDP2842048 cr delay 100 goto redial startproto exit ----------------------------------------------- ---------------------------- CHANGES -------------------------------- 65 Fixed a bug in Sigs that could cause memory to get trashed (encapsulated the function call in asm register save/restore like the rest...) 64 Added new-look screen feature for 2.0 users -- now TERM will look much nicer if you open it on a custom screen under 2.0. Also added a requester to the EMail that will prompt you for a new directory for EMAILROOT if it can't find the directory you specified. 63 Added the "Send Fido" button to EMail. Fixed a bug in the window opening function to prevent snapshots that are off the current screen (ie. were made on a bigger screen) from taking effect. Added ability to receive and reply to FIDO net mail. Added send ability to FIDO, just hit the Send Fido button and fill in the string requesters that pop up. If you have messed up the MESSROOT definition TERM will prompt you for a valid one. Finally, at long last, added a DownDir button to allow you to change the download directory while term is running. 62 Fixed the bug in Get Files that could strike you dead (or result in truncated or scrambled lists of files) if you clicked on Parent or in the directory area too quickly. 61 The pop up "yes/no" requesters will now try to appear underneath your mouse. This is especially useful for those lucky A3000 owners who run TERM on WorkBench screens that are several screens large... You should no-longer be able to confuse EMail by repeatedly requesting a user list. 60 Fixed a bug in the emailing of files where the file name could get corrupted. Fixed a bug in the text list handling routines that prevented you from clicking on the last item of a list. 59 Email now sorts the user name list. Fixed a bug that could cause TERM to crash when the "inactive do something" requester came up and you were using a MNP/V42 connection. Email now keeps old messages in your EMAILROOT/VBBS_Host directory (until you delete them). DO NOT set up your MESSROOT and EMAILROOT directories to use the same directory! READ cannot read EMail. If you set MESSROOT=ram: you can have problems, don't do this, it defeats the basic design of the Sigs system. 58 Fixed a small bug in EMail, if you had just cleaned/created your local email directory and there was email waiting for you on the BBS machine you would have problems replying to it. Fixed now. Was an exclusive directory lock from CreateDir("VBBS_Host"). 57 Now the "Beep" button in the monitor will no longer beep if you have turned off the "Bell". Added EMail with both file and message transfer capability between users. You can test this by EMailing yourself. Note: yet another tooltype has been added to the TERM icon, this is the EMAILROOT= setting which you should set to a directory where you want your email messages to be placed upon receipt. Note that email files get sent to your download directory (since they are received by the file downloader). When you snapshot the email window(s) some additional tooltypes will be created as well. Apparently there may be a bug in my scrolling list routines, for this reason you are cautioned against manipulating list windows while the bbs is sending new data to be displayed in the list window. 56 Enhanced the Monitor, VBBS Message and Get Files windows to use a single list display routine. This provides you with enhanced functionality while reducing the size of TERM (before adding some more features). The changes required the addition of several new tool types: GETFILE_BTNS The buttons window for Get Files GETFILE_FILES The file name requester window for Get Files GETFILE_DIRS The directory name requester window for Get Files MON_BTNS The buttons window for the Monitor tool MON_LIST The event list window for the Monitor tool and the removal of the GETFILEWINDOW and MONWINDOW tooltypes. Also allowed for snapshotting of the Describe/Confirm gadgets in the Getfiles tool and the Flash/Bell gadgets in the Monitor tool. The tooltypes for these are: GETFILE_DESC Enables long descriptions to be sent to you GETFILE_CFRM Enables the "do you want to..." requester MON_BELL Enables the bell on your terminal MON_FLASH Enables the screen flashing Added an interlock to the Sigs button so that you can only start one of them at a time. 55 Revised the tooltypes processing so that now you can enter tooltype names (the part to the left of the "=" sign) in either upper or lower case (or any mixture of the two). Added a new version of the protocol, which is automatically activated by the BBS if you make an error-corrected connection (such as an HST, MNP, or V42 type protocol). With this method there is virtually no overhead on the data transfer between VBBS and TERM, as well the processing requirements are off-loaded to the modem to some extent. 54 Added the Monitor client. This allows you to see who else is on line and what they are doing. As well it contains a "Beep" button you can use to page all those who are on line and for those who might get annoyed at your beeping there are two additional buttons to enable/disable the audio beeper (Bell) and the screen flasher (Flash). By default both these are enabled (button pressed in). Note that whenever you hit beep there will be a beep at your end, and if you have "Bell" enabled you will get a second beep a moment later. Also, note that the only time someone can be paged is if he has the monitor window opened. 53 Changed the multiplexer/protocol handshaking to use semaphores instead of Forbid/Permit. Added an abort script function, hit the ESC key to stop a script. Fixed a bug in script files that could result in trashed memory -- this would also result in the garbage character printed after the string in the print and cr commands. Reversed the date sort, so most recent dates appear on top. Added some diagnostic requesters to script files. Fixed a Remove() function call in scripts. 52 Adjusted the priority on the Sigs function, it is now the same as the file send/receive functions so it should no longer lock out file transfers. 51 Found a nasty little bug in the low level protocol. Every time a NAK was received from the remote end there was a possibility of corrupting some memory. This is probably why Craig Lever's Sister caused so much havoc. 50 This version fixes up the times with Messages a bit more. Should be the last fix needed. Note that you will be effectively deleting all the messages you have downloaded, so it would be best if you delete the VBBS_host directory and all its contents (including subdirectories) so that we get a clean start. Now TERM does some checking on the validity of your MESSROOT directory. 49 Changed the new message base gadget to "Sigs" and the old message base gadget to "Feedback". The gadgets in the Message Filter window now do something -- they just tell you they are not implemented yet. Fixed the problem with snapshotting that could cause the rightmost main Messages gadget to be hidden. Now the BBS supports "optional sigs", the sysop configures the sigs you will receive by default until you create a MySigs file. I have set this up so you only see two sigs initially. This was done because the USENET connection is bringing a LOT of stuff online and you should select just the ones you want. Note that because TERM locks the VBBS_host directory while it is using it you may not be able to look into that directory with the READ utility or with AmigaDOS! 48 Term now touches all the vbbs.keyfiles in the parent directories of a directory where it has just stored a new message, this allows Read to always descend to find new files. SIG filtration has been added to TERM. Right now the interface is a bit crude, but it'll do the job. Whenever you connect to a VBBS system and select the Messages gadget, the server will send your system a full list of the sigs that are available, your system will write this into the current BBS's directory (VBBS_Host) in the file "AllSigs". Then your system will request from the BBS an update of only those sigs that are listed in the "MySigs" file. If the MySigs file does not exist you will get an update on all the Sigs. This has been added so that when my usenet newsfeed is feeding directly into the VBBS Message base you can shut off the news groups you don't want. 47 The vbbs.lastread file has been moved again, it should now appear within the VBBS_Host directory (the name of my BBS), this allows TERM to track when you last logged onto each different VBBS system you called. Also the lastread file is set by the time at the VBBS end, so you don't have to have an accurate clock anymore. For those of you who like to stay in sync, or who don't have battery backed up clocks, the new tooltype SETCLOCK= when set to "yes" will allow TERM to change your machine's system time to match that of VBBS. The default setting is "no". 46 Moved the s:vbbs.lastread file into the MESSROOT directory. Fixed some forgotton file locks. Now writes the correct dates to the vbbs.keyfile files so that scans work. Note you should delete your complete message directory tree and get a fresh copy. 45 Added the sort by "Name" and "Date" gadgets to the Get Files window. The "Messages" button now does something... All the little buttons within the message filter window still do nothing; however, upon selecting the message filter tool you will start to build a copy of the message tree that exists on the BBS on your machine. To make this work, you must add the MESSROOT= tooltype to your TERM icon. This should be set to a convenient directory where you want your copy of the message tree build. If it is now specified the message tree will be built in RAM:. You will probably want this on a physical disk so that you can refer to messages when not logged into VBBS. Once the MESSROOT= tooltype is set, just call VBBS, select the "Messages" gadget and wait until the new status display tells you it is done. After you close the message filter window you will be able to view the messages. Try a "DIR dirname OPT A" on the name of the root directory you specified in MESSROOT=, you should see a number of files and subdirectories. Now, your machine will keep track of the date you last read messages, TERM stores it in a file called S:VBBS.LASTREAD, its only a 4 byte long file containing the last time (in seconds) you requested a message update. Whenever you select the "Messages" gadget in TERM your computer will send the BBS machine a request for all messages newer than that date, and will then update the message base on your machine, and log the last time of update. If you ever want to rescan the full message base on the BBS, just delete the S:VBBS.LASTREAD file and call VBBS. Now how do you go about reading messages? Well, you use a new stand alone program called "READ". This is similar in use to the old message reading window, but since the data comes directly from your disks it will be faster. Note also that this in not a part of TERM and will be updated separately. Now you can do all your message reading off line, but what about replys and new postings? Well READ allows you to make new postings and replys just as the old message function did (using whatever editor you like), and it knows how to maintain the linkages between messages for you. So reading while off line and composing replys and postings becomes simplicity itself. But how do the new messages get back onto VBBS? Well every time you select the "Messages" gadget in TERM your system not only requests an update, but at the same time scans your outgoing mail directories (which are within the MESSROOT) and sends VBBS any new postings or replys it finds there, and at the same time removes them from your system. 44 Beta test release to Ian Gunn. 43 Fixed a bug in the protocol that was causing a crash on exit. 42 Changed the relative priorities of the get files requester and the message reader, so that the get files requester still responds during a large message download. Fixed a number of small bugs so it should now run clean under the enforcer and io_torture. There still seems to be an occasional memory overwrite detected when run under MungWall. 41 Added project icon support. Now TERM can also be started from a project icon (rather than just a tool icon). This allows you to have one copy of TERM somewhere on your disks and a bunch of PROJECT icon's (each with different settings in their TOOLTYPES) each of which uses TERM as its "Default Tool". By doing this you can log on under different names, with different dial up scripts, different colours, or even different window snapshots. Additionally, if there is a TERM.info in the same directory as the TERM, then TERM will will read its tooltypes array first (before reading the project icon) to establish the default settings to be used, it will then read the project icon to determine any special settings for this invocation. Fixed a bug in the multiplexer where it would get confused and reuse a channel that was already in use, resulting in crossed connections. 40 Fixed a couple of minor bugs in the get file requester, the stray highlighting and the "miss-behaviour" of the sliders. 39 Added highlighting of the file/directory name that is clicked on in the get file requester (an UUG request). Added the ability for the uploader of a file to supply the long description at the time he uploads the file. The upload procedure works as before, except you will be asked if you want to enter a file description. If you answer yes to this TERM will fire up your editor and you can enter the file description there, saving and exiting the editor as is normally done in the reply/post message function. TERM will take care of the rest. There is actually no limit to the length of file descriptions, but it is recommended to keep them to less than a screen full. Please include the author's name and a version number if applicable. You may include an upload credit too. IMPORTANT: this version is supposed to fix the "resident Shell-Seg" and WorkBench bug. Test this version with and without the resident Shell-Seg line in your startup sequence (running TERM from the WorkBench) and let me know if the message reader does not crash or lock up after a message posting or reply. Some system requesters used to always appear on the workbench screen, these should now appear on TERM's custom screen. Now when the "Warning: you have been inactive too long" requester appears just clicking on the "Yes" gadget is enough to get the BBS end to give you another 7 minutes in which to sleep. 38 Rearranged the colour palette, swapping the black and white entries so that they now match with intuitions way of doing things. If you do not adjust the "PALETTE=000" and "PALETTE=FFF" entries (swap them) your 3D gadgets will appear "wrong". When the you have been idle timeout message appears the TERM (or WorkBench if you run term there) screen should pop to the front. Fixed the bug in window position snapshotting that was preventing the message reader and conference windows from staying where you put them. Actually this would affect any window you tried to snapshot into the lower half of an interlaced screen. Made the 3D gadgets change their rendering to suit the aspect ratio of the screen that is being used (interlaced or non-interlaced) to improve their appearance on a non-interlaced screen. If windows are snapshotted on a huge screen and TERM is then told to use a smaller screen windows which would have appeared outside the small screen will be opened so they fit on the smaller screen. Added the first cut at message selection requester for the new messagebase. It does not do anything, but shows you what sort of controls there will be. In order to access this window you will have to delete any CONTROLWINDOW= tooltypes that may exist in your TERM icon. 37 Revised the 3D gadgets slightly (thickened the border slightly). Added two additional toggle gadgets to Get Files requester. If the Describe gadget is selected (pushed in) you will be sent file descriptions as soon as you click on the file name. If it is not selected you will not see any descriptions. If the Confirm gadget is selected the system will ask you if you want to download the file before allowing the download to start, if it is not selected the download will begin as soon as you click on the file name. 36 Started revising the interface to include "3D" style gadgets. Note, for these to look their best you will have to run TERM on a custom screen, it will still run on the WorkBench however. Now the horizontal slider in the get files window will not move when you hit the resize gadget. The AutoRequest() style of requester have all been changed to match the new 3D type look (also this removes one of the buggy CBM routines from use... 35 Just bug fixes. Fixed it so that the "Idle reminder" now shows up on the TERM screen rather than the WorkBench. The bug in parsing the tooltypes that was causing "USER" and "USERWINDOW" to be confused is fixed. Added a requester to the closewindow button on the message reader, this will popup if you hit the close gadget before a message you recently posted (or replied) is still in the queue to be transmitted. If you reply "yes" to this requester (saying you want to quit) there is a risk that part of your message will be lost. On KenW's request I have added an additional TOOLTYPE (the TEMPDIR= tooltype) that will let you select a directory (other than the default "t:") in which TERM will place the message files so that they may be edited. Note: an important bug (which I cannot explain) has been discovered, if you find that the message reader locks up or crashes after posting or replying to a message -- and you are running TERM from the WorkBench -- remove the line in your startup-sequence which says "resident Shell-Seg" or else run TERM from the CLI. 34 Added some of the window position and size snapshotting. Note the snapshot menu item appends a tooltype to your TERM.info file (icon). These tooltypes are read from first to last, so if there are multiple occurances of a particular window's tooltype only the last entry will have any effect -- TERM will not overwrite existing tooltypes in case you change your mind later. 33 Added some small fixes for the custom screen stuff -- now your editor should open up on the VBBS custom screen when you reply or post a message. There are some new "customize" menus in this one, but they didn't do anything... 32 Added even more WorkBench support. Now the s:vbbs.init file is no longer needed. Instead all the contents of that file are stored as TOOLTYPEs entries in the TERM icon. The following new TOOLTYPEs are available: (notes is ()'s explain what eash does) USER=(put you user name here) PASSWORD=(put your password here) EDITOR=(put your editor's name here) DOWNDIR=(this is the directory you want downloads to go to) KEEPFILE=(this is the file where you want kept messages stored) CONFHISTORY=(this is how many lines of conference to buffer) HAILSTRING=(this is your conference "hailing" string use it to set up some initials and fancy font or colours for your message text) TAILSTRING=(this is your conference "tailing" string, use is to reverse the effects of your HAILSTRING so that other user's messages are not affected) Added the ability to run TERM on its own screen. If you specify one of: SWIDTH=(640|greater) SHEIGHT=(200|greater) SDEPTH=(1|2|3|4) in the TERM icon's tooltypes array, TERM will open its own custom screen and all its windows will appear on it. This really helps to unload the WorkBench, so give it a try! The SWIDTH specifies the width of the screen in pixels, it must be at least 640 wide. The SHEIGHT specifies the number of lines on the display, if you select 400 you will get an interlaced display. SDEPTH is the number of bit planes to use for the screen, 1 gives you 2 colours, 2 gives you 4, 3 gives you 8 and 4 gives you 16. I strongly advise against using the 16 colour option, especially if you are running on an unexpanded system. So that you can set up custom colours for your custom screen the TERM program recognizes the PALETTE tool type to specify a custom colour. If you are running a 2 bitplane (4 colour) screen you will need 4 lines of PALETTE commands. For example: PALETTE=AAA PALETTE=000 PALETTE=FFF PALETTE=679 will give you a custom screen with the same colours as 2.0 uses. Craig Lever suggests a palette of 000, AA9, F70, 008. 31 Fixed bug with scroll bars in file requester where scrolling to the bottom of either the file or directory lists and then selecting the last item (which was the only one on the display) would cause the first item in that list to be selected. Added WorkBench support for TERM. You can now run TERM from the workbench just by double clicking its icon. Note that you must set the various default parameters in the icon's TOOLTYPEs array. The valid types are: BAUD=(300|1200|2400|4800|9600|19200|38400|...) DEVICE=(serial.device|modem0.device|siosbx.device|...) HANDSHAKE=(none|NONE|7wire) UNIT=(0|1|2|3|...) SCRIPT=(name of the script file you want run, including directories) The various parameters you can choose from are shown in brackets separated by vertical bars. So to set your TERM to use 2400 baud, no handshaking, using ASDG's serial device, unit 1, and to run the demo_script found in your ram: directory you would have the following tooltypes array: BAUD=2400 DEVICE=siosbx.device HANDSHAKE=none UNIT=1 SCRIPT=ram:demo_script 30 Fixed a few odd bugs in the conference window -- relating to the the scrolling and resizing of sliders. Added file download resume capability. All the user has to do to make use of this is to leave partially downloaded files in his download directory and then reselect them for download in a later session, the TERM program will then see that a partial file exists and will ask the user if he wants to resume the download. Note, to guard against corruption of data, the last 1000 bytes of the file will be retransmitted. 29 Added extended file descriptions, these appear on demand in pop up windows. If a file description is not available a small sysop-defined message will be shown instead. 28 Changed some internal routines to make things a bit more stable. Also changed the way that processes are spawned, so force saving of all registers (also should help prevent the odd crashes). Added the "keep file" function to the message reader. When you hit the "k" key the current message will be appended to your private keep file. Note: this change means an additional line has been added to the vbbs.init file, this new line specifies the name of the keep file. See the sample vbbs.init file for the location. 27 Added a local deadbeat timer, that will pop open a system requester to tell you to do something before the BBS end shuts you down. When this pops up protocol activity is suspended until you respond to the requester, and then you should do something that the BBS end will hear -- opening and then closing the Chat window will surfice -- to reset the dead beat timer on the BBS end. Also added a pair of string gadgets to the "User Window" in the Conference function. These are to allow you to change your prefix/postfix strings on the fly, to ease the pains of editing them and testing them. Note the contents of these gadgets are not saved to your S:VBBS.INIT file, so you must make any changes to the file yourself. Also note that this allows you to set up several conference windows on your screen and assign a different name to each of them, this will allow multiple people to share the same Amiga and participate in extended conferences. (Try it Sami and Nadeem). Added paging of the output that appears in the Sig Reader window. Scrolling will automatically pause when the screen fills, and when the SPACE BAR is hit the next page will scroll onto the screen... 26 Fixed a bug in the "VBBS Message" window which would prevent some users from seeing the popup message window, instead they would see the "Data but no server" error message. Also fixed a bug in TERM (and in VBBS) which would prevent the system from completely hanging up if several things were active at once, this would happen quite rarely -- about once in two days at the BBS end so most TERM users would never see this one. Enhanced the scrolling of the VBBS Message window and the conference window. 25 Added a "VBBS Message" window, for the moment this will popup whenever you login to the system. In the future this will be used to display other messages of interest to you (such as error messages and status information). Added some more Forbid() Permit() pairs around critical code. 24 Added a number of Forbid/Permit pairs to critical places. Added a "Do you want to post this message?" requester which will pop up after you have saved a new message. Note that if your editor has the "detach from CLI" feature this requester will appear just as the editor is starting up. If this is the case DO NOT ANSWER the requester until AFTER you have saved and exited the editor. Note this and a few future archives will contain two versions of TERM, one called TERM and another called TERM.ae, this second version of TERM is for those people who have the Applied Engineering internal modems. While the TERM.ae will work with all external modems it is not advised that you do so, since this version does all I/O in single character packets, thus slowing things down quite a bit. 23 Added a scrollable history buffer to the conference window. Also this is user settable as to the number of messages it keeps, to set the maximum number of messages you need to edit your vbbs.init file (again). 22 Fixed the bug in the file download requester which could cause a system crash if you clicked on gadgets while the initial directory tree information was being sent. Added two new lines at the end of the VBBS.INIT file. These lines contain text or control characters you want sent with each paragraph you type in the conference window to identify your messages. The first line is the text you want put at the start of your message and the second line is the text you want put at the end of your message. 21 Added the multi-chat conference function. This is a chat window like function that allows you to talk to other users who are on the system. You type into the User Window and when you hit the return key your message is sent to the BBS, once it gets there it is echoed to all users who are on line and in the conference. The echoed message will be printed in the conference window. Note that there is no way of identifing who is saying what at the moment, this will be added later. 20 Fixed a few bugs related to the scroll bars in the Get File requester. Added horizontal scrolling to the Get File requester, and added the file date and time to the file requester. Moved the location of the file size. 19 Added sorting to file and directory names in the Get Files requester. Added sliders and real parent gadget to Get Files requester. 18 Some minor bug fixes. Released now because I am just about to start on the enhanced message system. 17 Added some more Forbid/Permit pairs around the FindTask calls. Revised the launch() function to avoid the bug with starting processes when doing downloads. This resulted in the download window appearing briefly and then disappearing... 16 Fixed an odd bug with the download file requester, if you descended the directory tree and then went back up using the "parent" gadget the file list section would not get updated correctly (the names on the screen were fine, but selecting a file would bring up the file name of one of the deeper directories.) Added an "about" item to the control window's menu. Fixed two calls to closetimer() which were not passing the appropriate parameter -- this could cause a GURU. 15 THROW AWAY 14! V. 15 fixes the bug that was introduced in 14 that prevented file transfers from working. This was one of those "remove a line of code to fix it" bugs. This version also adds the name of the file being uploaded to the send files window. 14 Some more bugs fixed. In particular the favourite "I'm getting messages going into my chat window" bug has been fixed. When multiple windows are opened (for example 2 chat windows) TERM will now try not to perfectly cover the first window with the second, instead the second window will be opened a bit lower down the screen. This also applies to file transfer and Talk windows. The resetting of the modem at the BBS end has been improved, it should be easier to log on now. The Get Files requester has been enhanced: it is now resizable and shows the file sizes too. The "scrolling bug" in the requester may have been fixed in the process... TERM will now tell you if it could not open the script file. And the Send Files window now displays the bytes remaining to be sent. 13 Some potential bugs in the Multiplexer and Protocol tasks have been fixed. As well some memory was not being freed by the protocol task, this is now freed. No new features in this release. Added distinct names to the various sub-tasks so that it is easier to figure out what was left over from a crash. 12 Default handshaking has now been set to "none", fixed the bug that could produce garbaged file names when downloading multiple files at once. Added close window gadgets to the send and receive files windows allowing one to abort an in-progress file transfer from either end. Note that doing so will cause a "data received, but no server" (or similar) error message to appear in the title bar of the control window -- this is normal. 11 Some modifications to the low level protocol. Added the command line switch "-h" to specify the handhaking mode. You can select no handshaking with "-hn" and the RTS/CTS (7-wire mode) with "-h7". 10 Added comments to the script files. Added the "print" and "char" commands. Removed the echo of all data sent to the serial port. Changed the version numbering scheme. 0.9 Added script files, first draft. Added a server command to close a client packet -- now you can close talk and chat windows that were opened from the other end of the connection. Also if the other end cannot start the required server (not enough memory...) the window that you opened will automatically close down. 0.8 Added the file library window. 0.7 Fixed bug in Talk window, added command line baud rate specification, added PACE packects to Send Files. 0.6 Added talk window, revised VBBS.INIT file, fixed editor selection. fixed some bugs in low level protocol 0.5 Added message section. 0.4 Initial public testing release. -------------------------- THANKS --------------------------- Thanks to all those who suffered through the bugs in various early versions of VBBS and TERM, your testing is much appreciated. And special thanks go to Ian Gunn for the loan of his spare modem! Another round of thanks go to the AMiga Users of Calgary (AMUC) for their loan of two modems and phone lines for testing some of the multi-line facilities. My thanks also go out to US Robotics for allowing me to purchase a pair of their Dual Standard V32bis/HST modems on their developer support program. Highly recommended modems, these babies really truck!