COMMS FOR BEGINNERS ------------------- BY DAVID FOSTER --------------- PART 1: IN THE BEGINNING! ========================= Comms can be a confusing subject for newcomers, with all sorts of jargon, buzzwords and abbreviations to be found, not only with regard to setting up and using comms software, but also logging on to different services. In this series, I intend to look at the the various aspects and explain the mumbo-jumbo in simple terms. You won't find detailed technical descriptions about how modems or error correction work my object is to make all facets of comms sufficiently understandable that you will know enough about the jargon to find your way around the various on-line services without wasting time and money. Let's start right at the beginning. Communications provides a means of passing data (anything from text files to programs) backwards and forwards over long distances, usually over telephone lines. Unfortunately, phone lines are not really the ideal means of doing this, for a number of reasons. One problem with the telephone network is the poor quality of some lines, which can cause data corruption. This is being improved as new lines and digital exchanges are installed throughout the country. The old, Strowger, type of telephone exchange is purely mechanical and the noise made by the relays clicking away as people dial out is often enough to cause noise on nearby lines. Another problem is that the way the telephone system works makes it unsuitable for passing data in a form that a computer can understand, so some means is required to convert the data. This is the job of the modem. The modem (MOdulator DEModulator) converts the data at the computer end into a form suitable for transmission over the phone (modulates it) and reconverts received data back into computer-digestible form by demodulating it. Data is transferred between the computer and the modem via a serial link, where each bit of data is passed down the same wire, one after another, unlike the parallel connection, used by most printers, where several bits are passed down a number of parallel lines at the same time. The serial port is often referred to as the RS232 port, or in some cases, a RS423 port. The latter is really a sub-set of the RS232 with enough, though not all, of its facilities. It's important that the modems at each end of a line know the exact form in which data is to be transmitted and received and this is done by the carrier tone. When you dial another modem, one of the modems tries to determine what form the transfer is to take by listening to the carrier. Having recognised the signal, it switches into the same mode, so that both modems can 'talk' to each other and know what each other is doing. I shall look at the serial port in more detail next time, as well as the settings required when using it. PART 2: THE RS232 INTERFACE =========================== The RS232 Serial port standard was one of those wonderful ideas which never quite came off. It was originally intended to provide a standard for serial ports, with all items of equipment using the same type of plugs and sockets wired in the same way, so that all equipment which used the serial port could just be plugged in, using the appropriate cable and everything would work. So much for theory! As many of you will have long since discovered, this ideal hasn't really been met, for a number of reasons. The socket on the back of a computer, for example, should be a male 25-pin D-type, but some portable manufacturers decided that having all those male pins hanging out the back was not very safe, so chose to use the female variety of socket instead. IBM, in its wisdom, decided that AT computers should use a 9-pin D- type connector and Acorn settled on the 5-pin DIN connector and a sub-set of the RS232 standard, called the RS423. I won't go into any great detail about all the possible different set-ups, other than to say that matters seem to be improving, with many computers now using not only the same connectors, but even wiring them the same way (more or less). The way the cable is wired is not only important as far as communicating with another modem is concerned, but also because a lot of software reads the various signals to determine whether it is on or off line, among other things. The main thing that the modems at each end of a line need to know is the speed at which data is to be transmitted down the line. This is often referred to as the Baud rate, but there are also standard terms used to describe them. The most common rates are 300/300, also known as V21, 1200/1200 (V22), 2400/2400 (V22bis) and 1200/75 and 75/1200 (V23 and reverse V23) bps. Bps means bits per second and is the accurate description of the rate of data transfer. V23 differs from the others in that the transmit and receive rates are different. When such split baud rates are in use, one computer is always set to one rate and the other to its reverse mode, so that the 1200 rates match and so do the 75bps rates. The effect of this is that data flows quickly in one direction, but slowly in the other. This is often not such a problem as it might appear, as usually a lot of data will transfer in one direction, with only a limited number of responses the other way. Prestel is a good example, where you will receive a complete screen full of characters in return for a single press of a numeric key or the hash key. Split baud rates are rarely used outside the UK. At one time, Prestel and also many bulletin boards, used split baud rates exclusively, although many now support a range of speeds. Having now got a suitable cable and a suitable data transfer speed, it is important that the serial port is set to transmit and receive data in the same format that the other end is using. The format of data is determined by three main items: word size, parity and number of stop bits. Most services and software use either 7-bit or 8-bit words each character sent down the wire consists of 7 or 8 bits. An ASCII character consists of only 7 bits, as this is all that is required to produce any character between 0 and 127 in the ASCII character set. If you want to produce characters in the extended character set, which includes such symbols as the pound sign, then 8 bits are required for each character. It is therefore important that each computer knows how many bits make up each character it receives. If you are connecting to a service such as Prestel, Telecom Gold, or even a bulletin board, you will not generally have any say in the word size, as this is determined by the system. For some obscure reason, most of the commercial services like Prestel and TG use a 7-bit format, while most BBs use 8-bit. Parity is, to a great extent, obsolete. It was originally intended as a crude form of error-checking, but there are now far better methods. The usual options are odd, even and no parity. Again, this is determined by the service you are using. The principle behind this error-checking is that the number of bits which are set in a character are totalled up and, depending on whether the number is an odd or an even number, another bit is sent afterwards, to indicate whether the number was odd or even. When the character is received, the number of set bits is added up and compared with the parity bit to see whether the number is still the same. As a means of error-checking, it is largely redundant, but you still have to use the correct settings. The final setting is the number of stop bits. Nowadays the setting is nearly always 1, but in the early days of communications, when response was often sluggish, it was not uncommon to use 2 or more stop bits, to ensure that at least one was picked up by the receiving computer. Again, you must use the correct setting, as the number of bits passed down the wires for a single character is determined by a combination of all three settings, so both ends must know what to expect. Next week I shall look at different methods of ensuring that data is received and transmitted without corruption. PART 3: LINE NOI!%SE ===================== One of the problems with using phone lines for comms, particularly at high speeds, is that characters are sometimes lost or text is corrupted. This is usually due to line noise. Line noise may be caused by a number of things noisy equipment in old fashioned exchanges, a fault on the line, or just too much traffic using the main trunk route lines. Whatever the cause, line noise can be anything from a mild inconvenience to a major problem. If it only happens occasionally while you are reading text, it may not be a problem, but if you are trying to upload or download an important text file, or, even worse, a program file, the effects of even one bit of corruption can be disastrous. The reason why it appears to be worse at faster line speeds is that, for a given duration of a bout of line noise, more characters will have been transferred and corrupted. Until recently, there wasn't really any solution to the line noise problem. A number of file transfer protocols have now been developed, to solve the problem of transferring data program files. There are lots of file transfer protocols, but the most common is Xmodem, which is available on the vast majority of services. Xmodem is far from the most efficient in terms of transfer speed, but has proved to be very reliable and is so well established that you cannot afford to ignore it. Many of the other protocols which have appeared are developments of the original Xmodem, aiming to improve transfer rates or enable more than one file at a time to be transferred. One of Xmodem's disadvantages is that it will only work with 8 data bit connections. This means that it cannot be used with services requiring 7 data bits, including many of the major online systems, such as Telecom Gold. Another file transfer protocol you'll meet quite often is Kermit. (Yes, it was named after the frog.) Kermit will work with both 7-bit and 8-bit systems. Transfer protocols follow the general principle of reading a pre- determined amount of data and transmitting it as a block (often called a packet) of a fixed length, complete with start-of-block and end-of- block markers and, usually, a checksum. When the receiving computer received a packet it strips out the markers, re-calculates the checksum and compares it with the checksum sent with the packet. If the checksums don't match, the receiving computer transmits a request to re-send the packet. If the checksums match, the block was alright and the receiving computer sends an acknowledgement, at which point the transmitting computer sends the next block and so on until the complete file has been transferred. Many protocols are much more sophisticated than this. I shall look more fully into the pros and cons of the more frequently-met protocols in a future article. File transfer protocols are ideal for their intended purpose, but do nothing to eliminate line noise encountered when just browsing around. The recent development of error correction protocols addresses this problem. The currently most popular error correction protocol in this country is MNP. It stands for Miracom Networking Protocol and was developed by the US modem manufacturer, Miracom. I'll examine MNP more fully next week. PART 4: ERROR CORRECTION ======================== As briefly mentioned last week, MNP is currently the most commonly encountered error correction protocol and is to be found either implemented as a part of the modem the most efficient method or, in a few cases, as part of the comms software the cheapest way. There are many levels of MNP error correction, each more efficient than its predecessor. Microcom put the original, lower, levels into the Public Domain, presumably to encourage the protocol's development and popularity. Initially, only level 2 was available, but I understand that level 4 is now available and that level 5 may be before long. Levels higher than this are still the property of Microcom. The original versions were not very efficient in terms of throughput of data, with the rate of transfer reducing to about 80% of uncorrected when using level 2. Later versions have improved efficiency, with level 4 producing approximately the same transfer rate as uncorrected. The big jump comes with level 5, which introduces data compression to error correction. Theoretically, with the right type of data, the transfer rate can rise to about twice that of uncorrected transfer. Many newer modems are available with MNP up to level 5 (or higher) but, so far, the highest level available in software is level 5. Depending on the power of the computer, level 5 in software may not be as efficient as the same level incorporated into a modem, due to the extra processing that has to be done by the computer. Everything isn't quite as rosy as it may seem though, as the efficiency of the data compression is very much determined by the type of data being transferred. Plain ASCII text usually compresses well, program files less so. Compressed files, such as ARCed or ZIPped files, are even less efficient, even to the extent of being slower, because MNP goes through the process of trying to compact, but fails, only wasting time. Another problem is that some of the file transfer protocols, such as Xmodem and Kermit, don't work very efficiently in conjunction with MNP. The reason for this is that the file transfer protocol wraps everything up into packets, then passes it on to MNP, which proceeds to do the same before sending it. At the other end, it has to be unpacked twice, then an acknowledgement has to be packed up and sent back to the transmitting computer. There are a number of file transfer protocols (called streaming protocols) which are designed for use with error correction and these merely pass the data through, leaving MNP to do the correction. Ymodem-g is one such and allows greater throughput than most. Another file transfer protocol which works quite well with MNP is Zmodem, which does so by virtue of the fact that it just keeps transmitting data until it receives a message from the other end requesting a re-send because a packet doesn't check out. This ought never to happen, as MNP should ensure that it always arrives intact. The same rules apply (even with the streaming protocols) with regard to efficiency reducing when transferring already compacted files. Generally speaking, it is better to use level 4 rather then level 5 if you want to transfer already compacted files, which should then transfer at about the same rate they would do if uncorrected. MNP is easy to use, only requiring you to tell the modem, or software, whether you want to use it and, if so, what level you want to use. When you call an online service, as soon as the carriers have been detected, the modems automatically try to agree not only whether MNP will be used, but the level to be used. If the modems fail to agree, either because one doesn't have it, or the line is too bad, it is possible to continue without correction, or the modem may be configured to drop the line in such a situation. MNP is a fallback protocol which means that if both modems recognise that the other wants to use MNP, they attempt to agree the highest common level of correction, falling back to lower levels until both can agree. There are other protocols. Some are standards which have been agreed, but not used to any great extent EPAD, proprietary to modem manufacturers, requiring both modems to be the same make. At the moment, MNP is the leader in this country, though things may well change in the future. MNP already has a good following and it will require something special to persuade so many people to abandon it for something else. PART 5 BULLETIN BOARDS ====================== After our brief looks at connecting a modem and error correction, it is time for a complete change, with a look at scrolling services. There are two main types of scrolling services (those which do not use the Prestel "paged" format) electronic mail services, such as Telecom Gold, which are generally commercial and Bulletin Board Services (BBS), which are mostly privately run and free. There is a degree of overlap. Some BBs are commercially run and make charges; some electronic mail services also provide many other facilities. Bulletin boards can be fascinating and very worthwhile, but they can also be extremely expensive and, in some cases, a complete waste of time and money. Long-distance calls to a good BB can be very costly, so beware. There are over 300 BBs in the UK, but the good ones never seem to be a local call away! Most BBs are run as a hobby by comms enthusiasts and this should be remembered and respected. The person in charge of a bulletin board is known as the sysop SYStem OPerator. In most cases the sysop is also the owner. The majority of BBs offer a mixture of messaging and file/upload and download facilities and, occasionally, online games. At least one BB Merkinstead, in Manchester enables users to view Ceefax and Oracle online, even though it is a scrolling system rather than a videotex service. Very ingenious. Depending how sophisticated it is, a BB may have many message areas, each covering a different subject comms, programming and micro specific discussions, for example. Some BBs also allow messages to be passed to other bulletin boards in a network, but it can take time for messages to get around and, in terms of speed, is no substitute for Prestel or Telecom Gold messaging. Bulletin boards may also have a number of files available for download, using suitable file transfer protocols. These are usually classified by types of software (comms, utilities) or by make of computer. All software on BBs should be either public domain or shareware it is an offence to distribute copyrighted programs without the permission of the authors. Public domain describes software which the author has made freely available to everyone, usually on the condition that no charges are made for it. Often, they still retain the copyright of the program. Shareware is different (though many people don't seem to think so). It is commercial software which the author makes available for users to try out. If, after a reasonable period of time, you decide you want to use the program regularly, you are morally obliged to pay the author the amount of money he or she suggests as a registration fee. Many BBs also have news areas, containing information on all sorts of subjects and doors which provide access to some of the many games and programs written specially for the purpose. Doors are separate programs which can be linked in to most BB software. The vast majority of these programs are written for IBM PC- compatibles. Setting up a BB is something which should not be done lightly a considerable amount of time, money and effort is needed. The requirements for setting up a BB are a computer, a modem with auto- answer capability, a phone line and suitable BB software. Most BBs have their own phone line, so that they are available 24 hours a day, but some, often newly-opened BBs, are only available for certain hours of the day or more commonly night because the phone is needed for normal purposes the rest of the time. The only satisfactory solution is a completely separate line. Once you have paid the installation charge, costs are relatively small since people will be calling the BB, the line will qualify for a low usage rebate. Bulletin board software is available for most computers, from the Spectrum to the Amiga and even the BBC Micro, with its puny 32K of memory. Far and away the most popular computer for running a BB is the PC. There are several reasons for this. Not only is a wide range of BB software available, but hard discs are relatively cheap and many add- ons, like compact discs, are available for PCs. While a hard disc is not essential, it certainly makes for a better BB, as the amount of data (messages and files) you can offer is very restricted if you only have floppy drives. Hard discs are also considerably quicker. BB software varies widely, from basic systems with few facilities, to multi-user versions, handling several callers at a time and providing very sophisticated and customisable options. The more sophisticated the software, the more time it will take to set up and maintain. Maintenance is something which must be considered it can take the sysop considerable time to answer messages, check out software uploaded to the BB by users and locate it in the appropriate areas. Next week, I'll describe how to set up your software to access a BB and take you through a typical online session. PART 6: HOW TO LOG ON TO A BB ============================= Logging on to a bulletin board for the first time can be rather intimidating. Logging on to Prestel for the first time is a bit worrying, but somehow it seems more impersonal than a BB, where you are aware that the sysop may be watching what you are doing. There's no need to worry though most sysops know that everyone has to start somewhere and are only too willing to help. Before you can log on to a bulletin board, you must set up your software to suit the system. Scrolling BBs usually use 8-N-1 settings 8 bit words, No parity and 1 stop bit, so if you use the same software as you use for Prestel, you'll need to re-configure it from the Prestel 7-E-1 setting. If you know what Baud rates the BB supports, then you should set it to the highest that both the BB and your modem will handle. If you don't know, then the only answer is to find out by trial and error. If your modem handles 1200/1200, try that first as most BBs support it. If not, then select 300/300 for the first attempt. If neither works, then try 1200/75 Baud if you've got it. Once you have successfully logged on, most BBs' opening screens tell you which rates they support and whether MNP error correction is available. Make a note for future occasions. If your modem connects but nothing happens, press the Return key a few times some BBs require "waking up" in this way. If nothing still happens, one of two things is probably wrong. Either the BB hasn't reset the software properly from the previous caller or you've connected at 1200/1200 to a service which only supports 1200/75 this occasionally happens. If lots of garbage appears on-screen, try again using a lower speed. Sometimes a message will appear, informing you that the BB is running under "BinkleyTerm" or something similar and asking you to wait a few seconds. This is part of the system mentioned last week, where messages are passed round a network of BBs. After a few seconds, the BB software starts up and you are presented with the Welcome screen. You can often speed this up by pressing the Esc key. The Welcome screen will usually ask for your name, either as first and surname separately, or both at the same time. Sometimes it will ask you to enter NEW or NEW USER if it is the first time you have used the board. Most sysops actively encourage users to give their proper names, rather than pseudonyms. Some software automatically rejects names like Maggie Thatcher or Donald Duck. The first time you use a particular BB, it will repeat the name you entered and ask you to confirm it, as a safe-guard against the name being corrupted by line noise. If it isn't correct, re-enter it. You are then asked for a password. The size permitted for passwords varies, but most systems will allow you to use punctuation marks as well as letters and numbers. You may sometimes by asked to use a different name. This is because there is already a user with the same name, so change it slightly. Names must be exclusive as they are used when passing messages between callers, among other things. Make sure you remember the precise name and password you used because the next time you log on, the software will check them against a user list. If they match, you will be allowed to continue into the BB, otherwise you will be thrown out! Do not log on under different names, unless you really have to it only makes more work for the sysop and a mockery of the system. Most BB sysops grant extra facilities to known users, in the way of either more time allowed you on the BB many BBs have time limits on how long you may stay logged on to them, in any one day, or access to more areas. Sometimes you will be asked to complete a short questionnaire. Generally, you are not obliged to fill this in, but it can provide the sysop with useful information about his callers. Very occasionally, the information is used by the sysop to contact you in writing or by phone, to confirm you are who you said you are, before granting full access to the BB. Once into a BB for the first time, particularly if it is running different BB software from any you have come across, it is worth finding the help files and capturing them to study later, off-line. On most BBs they will be found in a bulletin, news or general files area. Next week, I'll look at some of the things you can expect to find on BBs. PART 7: WHAT'S ON BOARD? ======================== If you are a newcomer to the world of bulletin boards, it is all too easy to become confused there are so many different brands of BB software, each with its own 'feel'. Things are made even worse because some programs allow sysops to change the appearance of the software completely! This individuality is also one of the fun things about BBs, allowing sysops to put their personal stamps on their bulletin boards. Despite these variations which usually extend to visually different selection menus and help screens the basic operation of most BBs falls into one of two categories. In nearly all cases, pressing ? or H or just Return when the BB is waiting for input will provide you with a help screen detailing the commands the board will recognise. The simplest BBs are those which just have Message and File areas, where going to the area results in your being offered a number of different sections within each category. Selecting the Message area from the main menu will normally take you to the first message area, which may, for example, be for General Messages to and from the Sysop. You can then change to a different area by selecting from a list of available message areas. These are often categorised into special subjects, such as Comms and Programming, or sometimes into areas dedicated to different types of computer. File areas tend to be divided in a similar fashion, into different types of software, or software for specific makes of micro. The second commonly found type of BB is one has SIGs Special Interest Groups. The main difference with these is that once you have logged on to the BB, you are offered a number of SIGs to select from. These may be broken down into different Groups for each make of computer, or by subjects. Once you select the SIG you want, you enter what is, in effect, a special BB devoted only to that subject, often with just a single message area, but often a number of different file areas. The advantage of this is that you only get to see items related to your chosen subject, whereas with the earlier system you must always select the relevant areas when you switch between Files and Messages. Another advantage of the SIG approach is that the sysop can (and often does) allow other people to run the different SIGs as sub-sysops. This relieves the pressure on him/her to keep everything up-to-date and also means that each area can be run by a specialist in that subject. Message areas provide a place where you can read notices from other users, reply to them and post new ones of your own for others to read. This can result in some very interesting "conversations". Most BB software allows users to follow the thread of linked messages, instead of just reading them in the order they were posted on the board. Most BBs also allow you to send private messages to other users, in addition to the public messages which can be read by anyone. Files areas are extremely popular and often contain vast amounts of Public Domain and Shareware software. This usually consists of the latest versions, as people are always uploading new versions they have found, so they quickly spread round the bulletin boards. It will be possible to List the files in the area (usually with a brief description of each program's purpose) and often to Search for a file or files. You could, for example, search for XMODEM and obtain a list of all files which contain the word XMODEM in either their name or description. You can then choose to download one or more program files. Provision is often made for you to view the contents of any archived files before downloading, to make sure the program is what you are looking for. The range of file transfer protocols provided by BBs varies, but usually consists of Xmodem, in its various guises, at the very least and sometimes a choice of as many as fifteen. A warning won't go amiss at this point. Most sysops are only too happy for you to download software, but some BBs suffer from what are known as troughers people who download everything in sight, but never upload anything, or even leave the sysop a message saying 'Thank you'. Troughers are rarely popular and the least you can do is upload something that you notice isn't already available on the BB and leave a message when you log off. The whole BB system works on the principle of give and take, so don't just take! Some sysops operate a time limit, which restricts you to a maximum time on line to the BB each day, while others limit the number of files you can download at any time. Generally, if you prove yourself to be the responsible sort, your time or file limit can be increased by the sysop. As well as Message and File areas, many BBs have other interesting areas such as Doors. These provide a means to run another program from within the BB and a wide range is available. Door programs can be almost anything, although many are games which you can play on-line and often see how you do compared with previous callers. Bulletin Boards can be fun and also extremely useful as a means of obtaining information. They can also be expensive if you spend too long on line, so be careful! Finally, when you log off a bulletin board, try to do so properly, using the menu option to do so. Don't just drop the line. Most BB software copes quite happily happily with dropped lines and recovers for the next caller. However, many of them update user information when you log off properly. They can't do this if you just reset your modem or computer. PART 8: A QUICK LOOK AT CIX =========================== I have looked at the bulletin board scene over the last few weeks. These are mostly free, but there are also a number of commercial services which make charges for accessing them, in much the same way as you pay to use Prestel. There are two main types of commercial service. The first includes bulletin boards which make a charge for their facilities and the other covers services like Telecom Gold and MicroLink, which also charge. The big difference between the two types is that services like TG and MicroLink have nationwide (even international) access numbers, whereas "commercial BBs" usually require a call directly to where they are based. CIX (CompuLink Information eXchange) is an example of the commercial BB. There are many telephone lines into CIX, but they are all based in the same exchange, meaning the cost of a long distance call for many people in addition to the online charges . CIX has developed a reputation for being a 'techy' service, frequented by computer gurus. To a certain extent this is true, as many professional programmers use CIX and it can provide a wealth of technical information, but there are also many "normal" users. (Sorry all you programmers and techie types no insult intended!) The software which CIX uses is unusual in many respects and has a reputation for being "unfriendly". I'd call it different, rather than hostile and Help is there if you need it. CIX is also a very powerful system with lots of features and comms novices may find this intimidating. CIX is a conferencing system, which means that it is divided into many sections (conferences), each of which can have a number of sub- sections. I believe there are several hundred conferences (I haven't bothered to count them!), covering every imaginable subject, from Politics to Pascal. One example is the Arnor conference, moderated (maintained) by Mark Tilley, who is also a Netter, which has topics for Protext and Prodata. Some conferences are private and you must apply, or be invited, to join them, although the vast majority are open to anyone who cares to join in. CIX doesn't have Message and File areas like most BBs. Instead, it has files stored within conferences. Once you join a particular conference, you can read the messages in any of its topics. In many cases you can also find files to download and you can also upload files to a conference topic. CIX is command-driven, eschewing the menu-driven interface of most BBs. Once you log on you are presented with a simple command prompt, at which you have to issue the required commands. This is probably what has gained CIX its reputation for being unfriendly but it is also one of the features which makes it so powerful. Another feature is the scratchpad. Instead of reading messages on line, you can save them to the scratchpad using commands like File 1 to last, which will save all the messages in the topic to the scratchpad. You can keep doing this for different topics and conferences, then, before logging off, you can compress the scratchpad into an ARC file and download it, saving time and money. CIX also provides a private messaging system allowing you not only to send message to and receive messages from other users, but also to send and receive files. The drawback is that unless you are lucky enough to be within local call reach of CIX, the cost can be extremely high long-distance phone call plus online time charges. If you think Prestel is expensive, then forget about CIX! I shall look at the commercial services which provide more local access next week. PART 9: LOGGING ON TO GOLD ========================== There are many commercial services. Some only provide private facilities for companies and organisations on payment of a subscription, but a number are open to anybody prepared to pay the charges. Two of the better known, particularly to the home computing and small business communities, are Telecom Gold and MicroLink. MicroLink was part of the Telecom Gold network until October 1989, when it moved onto the Istel INet network. I shall look at MicroLink later. Telecom Gold provides local call access to users in many parts of the country (guess who isn't one of them!), by means of the PSS (Packet Switched Stream) network. Currently, the maximum baud rate available is 1200/1200 over the PSS network, but I understand that work is in hand to not only increase this to 2400 baud, but also to make MNP error correction available. 2400 baud and MNP to level 5 are available on TG, but currently only by dialling a London number, which also supports 300/300, 1200/75 and 1200/1200. Like Prestel, TG is a 7-bit system, requiring the same settings of 7 bits, Even Parity and One Stop bit (7-E-1), but unlike Prestel, which is displayed as frames of text, TG is a scrolling terminal system. The London direct multi-baud rate number also allows 8-N-1 access (8 bits, No Parity, One Stop bit) but this does require suitable software capable of "stripping" the extra bit from text displayed on screen. The advantage of being able to use 8-bit communications is apparent when you consider that most file transfer protocols (except Kermit and Modem7) require 8 bits to work. Both Xmodem and Ymodem file transfer protocols are available when using the London number and the Ymodem-g "streaming" protocol, for use with error-correcting protocols such as MNP, is also available. Further protocols will no doubt be added in time. If you are dialling into TG via PSS, you must press Return twice, input A2 followed by a couple more Returns as soon as the carriers connect. You will then be presented with the input prompt NUI? This is asking you to enter your Network User Identity, which you are given when you join Telecom Gold. Note that when you key it in, only the first part is echoed back to your screen. The next prompt is ADD?, to which you have to reply with another sequence of characters which you are also given when you join. Things are a lot simpler if you dial the London number direct you are merely greeted with a PAD> prompt, to which you reply CALL nn, where nn is the number of the TG service you want to use. In the case of InterLink, Micronet's own Gold service, it is 74. From this point on, you are into the TG system and everything is the same, no matter how you connected. You are now asked to Please sign on and should enter ID cccnnnnn at the > prompt, where ccc are the three characters and nnnnn are the numbers which make up your ID. Finally, you are asked to enter your password. That may all sound a little complicated but most comms software either provides the facility to send the responses automatically, or you can put them in macros, requiring only a keypress or two. By the way, with security in mind, never include passwords in any automatic log-on sequences you have stored on disc. There is another way for Micronetters to gain access to TG this is via the InterLink Gateway on Prestel. InterLink is the service provided by Micronet and allows the cheapest access of all to Telecom Gold, even though you have to pay an extra charge over and above your your Micronet sub to access it. The easiest way to access InterLink from within Prestel is by keying *INTERLINK#, then following the routes from there. Two gateways are available. The first of these uses a semi-videotex format, where everything is converted into 40-column width and displayed as frames. The second is a scrolling gateway, which allows you to use TG in much the same way you would when accessing via PSS or dialling London. This is the most satisfactory way, but does require comms software which can switch between viewdata and scrolling displays while on line. Not all comms proggies can do this. Accessing TG via the Gateway is an ideal way of receiving mail, as you can get it as fast as your software and modem allow. It is not ideal for sending messages, though, due to the fact that Prestel does not use handshaking and its buffers soon fill and overflow, as they do if you try uploading text to a Prestel Mailbox faster than 300 baud. I find I use the gateway to read and download most of my mail and dial either PSS or London to upload mail. Next week, I shall look at what you can do once you are on line to TG. PART 10: ON LINE TO TELECOM GOLD ================================ Whereas Prestel is an interactive medium, with its chat areas and publicly readable letters areas, Telecom Gold is mainly used for sending private messages. Being a scrolling system, TG is ideal for handling large lumps of text. It permits full-screen-width messages of unlimited length to be sent and received. (To the best of my knowledge; I have not tried sending a never-ending message!) This article will find its way to the Micronet office via TG. Telecom Gold messaging offers many options. Sending and receiving messages is relatively simple once you have sorted out what you are supposed to be doing. The same message can be sent to many people at the same time. Blind Copies, where the recipient is not aware that the message has been sent to others and Carbon Copies, which list the other recipients, may be sent. Messages received can be forwarded to others, receipt of your messages at the other end acknowledged and you can even request that the message recipient is placed in "reply" mode as soon as she/he reads your message. Marking a message as Express will send it to the top of the recipient's queue of messages. If you want more information on the command syntax used with messaging (and other options), there is a considerable amount available on Micronet. Type *INTERLINK# for the main InterLink menu, then Key 2 for the InterLink User Guide. One item barely mentioned (alas) in the User Guide is the PCMAIL command previously called WPMAIL which is just about the most useful command I know, enabling a lot of messages to be uploaded at one go extremely easily. Many people haven't even discovered it. The user creates a single text file (using a word processor) which contains the messages and where they are to be sent. Once online, she/he just types PCMAIL and sets their uploader going. As long as the user has included the .S command (which actually sends the message) at the end of each message and .END at the end of the file, TG will do the rest. A useful tip is to add -ECHO to the PCMAIL command, so that everything is displayed on your screen as it is uploaded. Full details about PCMAIL are available on TG by typing INFO PCMAIL at the > prompt. INFO is a very useful command, providing online help and information on a wide range of subjects. Some info files are quite long, so it is worth capturing them with your software and digesting the contents off line. INFO INFO tells you which subjects have INFO files available. There are so many INFO files that you could probably spend a lifetime reading them all! Telexes may be received and sent worldwide via InterLink and full help is available in the InterLink User Guide. Extra charges are made for sending telexes, according to the number of characters sent. Beware! Do NOT use the TELEX command unless you intend to use the service, as it creates a file called TELEX2 which you cannot delete yourself and which incurs a small storage charge. Faxes may also be sent via TG and, again, the procedure is fully described in the User Guide. Unfortunately, it is not possible to receive incoming faxes, nor to to send faxes containing graphics, but in many situations this is acceptable and far cheaper than using a fax bureau. Apart from messaging in its various forms, TG has many other services which can be accessed. For example, there's Jordans, which contains Companies House information on large companies. Use INFO DATABASE at the > prompt for full details of available databases. You can even get information on the BBC TV Micro Live series if you really feel you have to! There is a lot of information available on TG and some of it does not appear to be particularly well publicised. A useful command is GOLDNEWS, which periodically provides information on new items and changes. Using InterLink via the Prestel gateway is an ideal means of accessing TG to receive mail and to indulge in a bit of browsing, as it is cheaper than accessing it via PSS. But until Prestel can handle the uploading of messages at a sensible speed, it is better to use PSS to upload messages if you have prepared them off line. PART 11: MICROLINK ================== MicroLink has been going for a number of years. Originally, it was on Telecom Gold and offered a range of facilities, including a "traditional" BB for messages to be posted on and access to a number of specialist services. Last year MicroLink moved from TG to the Inet Istel network. There is a larger number of access points than for TG, but these are a mixture of baud rates and you may find, as I do, that the only local number is a 1200/75 number. This is alright for reading and downloading, but is hopeless for uploading anything. There are also several 1200/1200 and 2400/2400 access points and a number of multi baud rate numbers. Some access points also provide MNP error correction, but only to level 2, though some of the newer access points offer level 4. One strange thing I have found with the system is that very often the 1200 and 2400 numbers are considerably slower than the 1200/75 baud numbers. I suspect the reason for this is that the 1200/75 baud numbers are actually a different network and may well be less heavily loaded with traffic. A lot of new and enhanced features were promised when the move was announced, but many have only just come online, or are still in abeyance. Access is available to a number of information databases and also to multi-user games. At first, a lot of people found the new system very confusing for a number of reasons. Many things are very different and take some getting used to. Caucus is one of these. Caucus is the name of the Bulletin Board software and, though it's very powerful, it is also quite confusing and not very intuitive to use. This hasn't been helped by the fact that only a very basic introduction to the system was provided at the time of the changeover and, as far as I know, full documentation on how to use the system is still not available. Caucus offers a "conferencing" system it is broken into separate sections devoted to different makes of computer and subjects. Messaging on MicroLink vaguely resembles that on TG, but without many of the options and, again, is not very intuitive. Most systems use the word Send to send a message MicroLink uses Compose! This is one of the problems with MicroLink. The various parts use different software, requiring different syntax to be used to perform the same tasks in different areas. Sending a message is totally different from posting a message on Caucus. You also find that different commands are required at different stages to move back up the tree structure. Another problem is that some parts of the system actually run on different computers. The effect of this is that if you are reading the letters in the PC Link area, you cannot reply to them directly, as you could before, but have to exit PC Link, go back to the main messaging area and send sorry, Compose a message from there. If you thought TG was confusing, then MicroLink might make you think again. This is all the more surprising when you consider the large menus which appear at every possible opportunity and the volumes of on line help available! The only solution is to use MicroLink often enough to become conversant with it. Repeatedly calling up the extremely verbose help is an expensive pastime, as you are charged for every block of 500 characters received. It is also possible to send messages to a number of other email networks. This used to include Telecom Gold, but I understand that this facility has now been withdrawn. File transfer is currently very rudimentary, consisting only of a non-windowing version of Kermit, which appears to be very quirky. Other protocols are promised for the future, but not yet implemented. Overall, MicroLink promises a lot, but still seems to be suffering from teething troubles. While local call access is more widely available than with TG, there appears to be a fair amount of trouble with keeping them all functioning, with numbers periodically "going down". Very frustrating if your next nearest number is a long distance call! PART 12: FILE TRANSFER PROTOCOLS ================================ Some weeks ago I said I would come back to the subject of file transfer protocols, so I will take a break from looking at the various on line services this week. Depending on the sort of data you want to transmit over the telephone lines, some form of error checking is important, even vital. If you only send text files, it may be sufficient to just transmit them as ASCII files without any error correction and hope that noise doesn't corrupt anything. It is easy enough to see where corruption has occurred in text files as bits will not make sense and usually you can make sort out any corrupted bits. Many businesses transfer considerable amounts of data between branches as part of their business and in such cases it is essential that corruption does not occur. The same is also true of some text files. Trying to detect corruption in a text file containing lots of numbers may well be difficult and if you are sending anything to a typesetting company, they aren't going to waste their time reading the text to check for corruption. Bulletin Boards thrive on the passing backwards and forwards of PD and Shareware programs and file transfer protocols are part and parcel of this process. In simple terms, file transfer protocols function by 'chopping' the file into chunks, or packets, and transmitting them with markers to indicate the start and end of the packet, together with some form of checksum figure. Once the packet has been received the receiving end strips out start and end markers, performs a check sum analysis on the received data and compares the result with the checksum it received. If they match, the data is alright and an acknowledgement is sent, but if not, a 'request to re-send' is made. The most commonly encountered file transfer protocol must be Xmodem. This was originally developed by a gentleman by the name of Ward Christiansen, who put the protocol into the Public Domain. Xmodem is a relatively old protocol now, but remains popular for the reason that just about every comms program includes it as at least one of its options. There are one or two that don't provide any protocols at all and others, mostly specialist, which only provide their own proprietary protocols, but, in general, if the program supports a file transfer protocol, it will be Xmodem. Even Xmodem is available in a variety of flavours. There are both Xmodem CRC Xmodem Checksum and Xmodem-1K types. CRC and Checksum are essentially the same with the exception that they use different methods of checking the integrity of the blocks. CRC, incidentally is short for Cyclic Redundancy Check. I won't go into any further details about the differences, other than to say that CRC is more efficient thanbChecksum, so if it supported by the software at both ends, use it. Most versions of Xmodem will attempt to use CRC checking initially and fall back to Checksum if that is what the transmitting program is using. Xmodem-1K differs from Xmodem in that it transfers blocks in 1K chunks rather than the standard 128 byte blocks. The effect of this is to considerably speed up the transfer of data for a number of reasons. Firstly, as the blocks are larger, fewer have to be packed and unpacked, which saves processing time and also reduces the number of bytes transmitted, as the various packet markers and checksums all add to the amount to be sent. Secondly, Xmodem waits for an acknowledgement from the other end after every block, before either re-sending the block if it was corrupted, or sending the next block. The disadvantage of using Xmodem-1K is that if a packet fails the check, the whole 1K must be re-sent. Unless the line is particularly bad considerable time savings can result from using the larger packets. Xmodem is a single file transfer protocol, meaning that you can only send one file at a time and you have to tell the receiving end the name of the file before starting. Over the years, many new protocols have been developed, most of which have their roots in Xmodem. One of the most commonly encountered of these is Ymodem which was developed by Chuck Forsberg. Ymodem is basically the same as Xmodem-1K, but was originally intended to be able to transfer multiple files. This was made possible by Ymodem sending a header to the other end, containing details of the name of the file being sent, its size and date/time stamp, before commencing the true file transfer. Ymodem still waits for an acknowledgement from the other end before transmitting the next packet. Unfortunately, some of the implement-ations of Ymodem weren't as good as they should have been and even though they sent the file name, many of them would only receive a single file. Ymodem-Batch was developed as a result and does allow the transfer of more than one file in a session, with a new header block being transmitted between each file. This was a big step forward, allowing, as it did, unattended transfer of many files. I shall continue with the discussion of the main protocols and their merits next week. PART 13: ZMODEM =============== Perhaps one of the most common variants of Xmodem is Zmodem, also developed by Chuck Forsberg. This addressed several limitations of Xmodem, Ymodem and also introduced a number of new features. The first enhancement was a tightening up on the error-checking by using a 32-bit CRC check, which reduced even further the possibility of corruption. With Xmodem there is a small chance that two errors in a packet might cancel each other out, giving the impression that everything is OK. Using a 32-bit check reduces that chance even further. Zmodem also tackled the problem of speed by eliminating the wait between blocks while the transmitting program waited for an acknowledgement or a request to resend. Basically, Zmodem keeps transmitting blocks one after another until it receives a request to re-send if there is anything is wrong with a block, or transmission and reception get out of step. This reduces delays considerably. Zmodem uses a sophisticated method of coping with bad lines and line noise. Depending on the speed of the connection between computers, Zmodem will typically transmit 1K blocks with 2000 bps connections (at lower speeds it starts with a smaller block size). If a request is received to resend a block, depending on the cause of the problem, Zmodem will reduce the block size by half, so only a 512-byte block is sent. If this is successful, it will continue to send 1K blocks for a while, but if no more errors are encountered, it will step up a gear again and start transmitting 1K blocks. Conversely, if it meets failures with 1K blocks, it will drop down to 128-byte blocks and then step back up if everything is alright. The smallest block size I have seen is 32 bytes. Although sending smaller blocks is less efficient, because more processing is required, it is still relatively efficient as there is no pause between blocks. Another advantage is that the smaller the block, the less likelihood of a block being corrupted and the transfer fail due to excessive re-tries of the same block. I have seen Zmodem successfully transfer files when all other protocols have been beaten by line noise. Not content with such enhancements, file transfer recovery features were included. If a file transfer fails, the the receiving program closes down the file in an orderly fashion, rather than abandoning it as some protocols do. If the original uploader rings back (it can be at any later date) and tries to re-upload the file, the receiving end checks whether the file exists, then tells the transmitter how big it is. If there is a difference in file size, a comparison is made of the last block uploaded and transmission continues from where it left off. A real boon if a transfer fails after 350K! If the two files don't match up to the point when failure occurred, Zmodem re-transmits the complete file. This can also happen if you tried to upload a different version of a file with the same name. Zmodem also has many other bells and whistles and may include options to allow or restrict the transmission of directory paths as well as filenames, suppress the overwriting of existing files of the same name at the destination and even automatically to commence a download when the other end transmits a special sequence of codes. Even though the Zmodem protocol has been put into the Public Domain, it's only fairly recently that versions have appeared for computers other than the PC. It is now available for ST, Amiga and even in CP/M versions as well as for UNIX-based machines. Zmodem is also available in "add-on" form so that it may be run from any comms program if it supports external protocols which many do. I would say that, currently, Zmodem is the most frequently found of the newer protocols and is the one most people will choose. Next week I shall look at some of the other popular protocols. PART 14: KERMIT AND SOME OTHERS =============================== Kermit is a very popular protocol, not only because there is a good chance that it will be available for most systems, but because it has one other feature which almost makes it unique. Whereas most file transfer protocols require 8-bit communications in order to work, Kermit can work on both 7-bit and 8-bit systems. As a result, Kermit has been popular with Telecom Gold and other 7-bit systems for some time. Kermit is American in origin (aren't they all?) and was developed by Columbia University and, yes, it is named after the Muppet frog! The protocol was placed into the Public Domain, which is one of the reasons why it has been implemented in so many operating systems and comms programs. In the UK, Kermit is officially represented by Lancaster University, who can supply support and advice if necessary. There are many different versions of Kermit available, but all of them agree on the highest common features and use them during transmission. This means that if you have a modern version of Kermit and try to communicate with an older version with fewer features, the programs will sort out the highest common features and use those. Some of the developments to Kermit include data compression and sliding windows. This last feature makes a big difference, allowing full-duplex communications, with the program transmitting data continuously, while at the same time scanning for responses from the other end. Many versions of Kermit include Server Mode, in addition to the normal file transfer mode Telecom Gold uses it. Selecting server mode puts you in control of the host computer's protocol and use commands such as GET, SEND, LOGOUT and FINISH to control transfers, log off or return to the normal mode on completion of transfers. The different versions vary wildly in efficiency; the standard protocol isn't particularly quick, but sliding windows versions have quite reasonable transfer rates. There are also a number of other protocols which regularly appear on bulletin boards, many of which are only available for use on PCs. SEALink is a proprietary protocol, based on a sliding windows development of Xmodem. It was originally developed to overcome the delays which occur when Xmodem is used with PSS networks and satellite transmissions. These have a disastrous effect on the transfer spped of normal Xmodem, which always waits for an acknowledgement before sending the next block. SEALink appears to work alright, but has few, if any, benefits over the other streaming protocols. CompuServe B (CIS B) is a protocol developed for users of the CompuServe Information Service in the USA. MegaLink is yet another protocol with its roots in Xmodem, the main differences being that it uses 512-byte blocks for faster transfer and a 32-bit checksum for more accurate error-checking. Another interesting protocol is Jmodem. What makes it different from most protocols is that it starts off with small (512 byte) blocks and if the line appears good, with no re-tries, it gradually increases the size of the block in jumps of 512 bytes, up to a maximum of 8K blocks. If a block fails to check, it is re-transmitted, but reduced by 512 bytes, up to a maximum of 8K blocks. If a block fails to check, it is re-transmitted, but reduced by 512 bytes in size. If it still fails, it is reduced again and so on. The one big flaw with Jmodem is that if you manage to build up to a big block size and then have a failed block transfer, the whole 8K has to be re-transmitted. Other protocols which have appeared on the scene recently include Lynx and Puma, both by the same author and trying to make improvements on Zmodem, which is probably the current leader in the popularity stakes. Both protocols provide similar facilities, but appear not to offer anything really new except, possibly, a slight increase in speed. BiModem is the most interesting of the new protocols and is radically different from all the others I've I've described. BiModem allows files to be transferred in both directions simultaneously and with no apparent loss in transfer speed. On top of that, BiModem enables you to "chat" with the person at the other end at the same time with error correction! The program is very complex and still exhibits one or two minor quirks, but is, nonetheless, a remarkable achievement. I have used it quite extensively in the last month or two and never cease to be impressed with the speed at which files are being transferred, with transfer rates in both directions typically being slightly faster than Zmodem. I think we shall see a lot more of BiModem in the future. That concludes my look at file transfer protocols. I haven't covered them all, but have tried to look at those which are readily found and, to a great extent, those which are available for use on a range of different computers. PART 15: DUMB MODEMS ==================== In general, the old saying that you get what you pay for stands true for modems. Having said this, there is sometimes a wide variation in the price of equally powerful units. I do not intend to go into great detail about the actual workings of modems, as Paul Blitz's excellent 'Advanced Comms' series running at the moment gives the low down on all the technical stuff. There are two types of modem: intelligent and dumb. Intelligence refers to whether the modem actually contains any software to interpret and control what is going on. Some of the latest intelligent modems contain their own processors which are as powerful as the average computer. Nevertheless, dumb modems are not entirely without intelligence. A typical dumb modem is the Datachat 1223, which is free to Micronet subscribers. There is absolutely nothing wrong with dumb modems; they work as well as any other modem within their restricted range of speeds. In many cases, the only speeds available are 300 bps and 1200/75 bps. Generally speaking, they have no facility to auto-dial numbers. Instead, you have to dial the number using your telephone and then press the online switch once you hear the carrier at the other end. You also have to set the speed manually to the required rate before going on line and, when a call finishes, drop the line by switching off. There is one major disadvantage to most dumb modems which becomes apparent when you try to use them with modern computers. The 1200/75 split baud rate is not used in the USA and, since most popular computers have their roots in America, they don't split rates. In addition, a fair percentage of comms software is American and does not support 1200/75 bps either. This means that the computer can only be connected to the modem at 300/300 bps, which works fine, or 1200/1200, which will not work properly. You may get a connection and actually receive data, but you won't be able to transmit anything. Intelligent modems have a buffer which can capture data and hold it while transmitting it at 75 bps. There's no need to buffer received data, as this is passed through at 1200 bps. Dumb modems do not have buffers, mainly because they have no software to control them. It is still possible to use 1200/75 bps with dumb modems as long as the software is specially written to do the necessary work. Many British comms programs are written to take this into account and when used with a dumb modem, they perform some very clever switching of the baud rates between 1200/1200 and 75/75 bps, so that they are able receive at 1200 and transmit at 75 bps. The more sophisticated dumb modems provide a form of auto-dialling, but this is not done in any intelligent way. The software "rattles" the lines in much the same way that you can rattle a telephone to dial a number. As long as the software sends the appropriate number of "highs and lows" at suitable intervals, the telephone line can be fooled into thinking that someone is dialling the number manually. Examples are the Magic Modem and Voyager. Intelligent modems are a different matter altogether and I shall look at them next week. PART 16: INTELLIGENT MODEMS =========================== Most people think of intelligent modems being Hayes-compatible modems. This is not strictly true. Hayes modems are intelligent, but they are not the only intelligent ones. An intelligent modem is one which contains its own software and is, to a great extent, capable of controlling the transfer of data to the other modem on its own. Intelligent modems are told what to do by the software sending special escape sequences down the serial cable. The modem initially scans the data received from the computer, watching for these escape sequences. Once it finds one it recognises, it interprets it and acts accordingly. The Hayes command set is the most commonly encountered set of escape codes, although there are others. Many of these are proprietary they belong, technically, to the modem manufacturer who invented them. Most of these have now fallen by the wayside, leaving the Hayes set as the favourite. There is one other command set which is found in reasonable numbers, usually offered as an alternative to the Hayes set and this is known as V25. The reason for the inclusion of V25 probably owes more to the fact that it is a standard and readily available to anyone to use. The Hayes set, however, is proprietary and it may be possible for Hayes Microcomputer Products Inc to prevent other modem manufacturers from using its command set. Intelligent modems also offer speed-buffering: this allows the computer to be connected to the modem at one speed, while the modem is connected to another modem at a different speed. The modem's software handles the storing of data both from the other modem and the computer and passing it on at the appropriate speeds. Many intelligent modems can cope with split baud rates and speed buffering is beneficial when the modem is connected to a service which only supports 1200/75 baud rates while the computer itself doesn't. This includes IBM PC compatibles, the Atari ST and the Commodore Amiga. Speed-buffering also becomes an important factor when the modem incorporates MNP error correction. The higher levels of MNP (5 and above) allow data compression to such an extent that it is possible to double the rate of transfer with MNP 5 and even more with the higher levels. The data may transferred between modems at 2400 bps, but if the modem is also connected to the computer at 2400 bps, a bottleneck is formed. Once a block of data has been transferred using MNP, it is unpacked and may double in size, which means that twice as much data has to be passed on to the computer. If the modem-computer connection is at 2400 bps, the modem will have to wait while this is transmitted to the computer and the buffer cleared before it can request more data from the other modem. Similarly, if the data is passed from the computer to the modem for transmission at 2400 bps, the modem will have to wait until it has received twice as much data, before it can compress it and pass it on to the other modem. The effect of this is that the gains of MNP compression are lost. The solution is to set the computer-to-modem connection at a much higher baud rate and let the modem buffer it as necessary, until it is ready to transmit it, or pass it on to the computer. Note that some comms programs can handle MNP in software, in which case there is little to be gained by increasing the speed of the modem-computer connection as the expansion of the data does not take place until it has reached the computer. PART 17: HAYES COMMANDS ======================= In my look at intelligent modems last week, I mentioned the Hayes command set, which you'll come across quite often. The true Hayes command set is actually quite limited, with only a small range of commands and small number of registers which may be set to pre-configure certain features of the modem. Most Hayes-compatible modems contain a number of extra commands and registers which, technically, are not part of the Hayes standard. These have evolved as a result of a need for extra commands to control new features in modern modems and also to handle the split baud rates, which the Americans have no need for. Unfortunately, though the basic Hayes command set is largely standard throughout all modem manufacturers, the same can not be said for the extended commands and registers. This can be a cause of considerable confusion and is one of the reasons why most comms programs offer a wide range of alternative modem setups for various models of modem or the facility to configure your own setup. I understand that Hayes Microcomputer Products have been making noises about the command set being its property and that modem makers wishing to use it must pay Hayes for the privilege. I think this claim is based on the principle of the special on-line escape sequence used by Hayes modems, rather than the actual commands. When the modem is off-line no carrier has been detected from another modem it scans all input from the computer for Hayes commands and acts on them. Once the modem is on-line, it ceases scanning for these commands, otherwise it would react to every occurrence of commands, even if they were part of text being transmitted or received! This is where the escape sequence comes into play and, while the modem is on line, instead of scanning for Hayes commands, it constantly scans for the escape sequence. By default, this escape sequence is three consecutive plus signs +++. It isn't quite as simple as that though, as a "guard time" is required before and after the sequence. The default guard time demands a delay of one second before and one second after the sequence. If this complete sequence of delay +++ delay is not received, or any other characters are sent between the plus signs, the modem starts its search again. If the sequence is recognised, the modem goes into local mode nothing is transmitted to the other modem and it is virtually off-line, except that the carriers are still locked between the two modems. The user can then send Hayes commands to the modem to change settings, for example. With two exceptions, the Hayes commands are all prefixed with the characters AT (short for ATtention), followed by one or more characters to specify the actual command and any parameters it may require. The two exceptions are AT which, used on its own, elicits an acknowledgment from the modem and A/, which causes the last AT command sequence received by by the modem to be repeated. A feature of Hayes commands is that a number of them may be strung together into a sequence. When Return is pressed, the whole command line is checked and, if valid, each command is acted upon. It is only necessary to have the AT sequence at the start of the command, to initially get the modem's attention, after which a number of command letters may be used to perform various tasks. I won't discuss every command in detail, as these are usually covered by the modem manuals, but next week I'll list the main commands and discuss some of the more commonly misunderstood ones and problems associated with them. PART 18: HAYES COMMANDS (CONTINUED) =================================== I shall start this week with a list of the Hayes commands which are part of the true Hayes command set and, theoretically, common to all Hayes-compatible modems, then go on to discuss some of the more commonly encountered problems. AT Get the modem's attention. ATA Answer. The modem goes on-line, emits an answer carrier and waits for an incoming carrier. If, after a while, no carrier has been detected, the modem will timeout and go off-line. ATD Dial. If the command is issued on its own, the modem goes on-line and attempts to connect with a modem at the other end. If the command is followed by a telephone number, the modem will dial the number and attempt to connect. ATEn Echo. Determines whether the command sent to the modem is echoed back to the computer. ATE0 Not echoed. ATE1 This is the default. ATH HangUp, or On/Off Hook. This command is used to force the modem to drop the carrier. This is normally used after going into local mode with the escape sequence (+++) while on-line, to terminate the call. ATIn Identity. This command varies slightly from modem to modem, but gives details of the modem and its software, version etc, depending on the number n following the command. ATMn Monitor. This controls the modem's internal speaker and normally has three possible values, though occasionally more. ATM0 No Speaker at all. ATM1 Speaker on until carriers connect. Default. ATM2 Speaker permanently on. ATO On-line. Normally used to return to on-line state from local mode. ATP Pulse dial default. Sets the default mode of dialling to pulse dialling. ATQn Quiet. Determines whether result messages are returned to the computer in response to Hayes commands received. ATQ0 Result messages sent. Default setting. ATQ1 No results sent. ATSn Set S registers. The S registers allow certain modem settings to be reconfigured and are discussed in more detail later. ATT Tone dial default. Sets the default mode of dialling to tone dialling. ATVn Verbose. Determines whether the result codes returned (if ATQ has been set to return them) are verbose or terse. ATV0 Terse. Numbers are sent according to the result of the command. ATV1 Verbose. Plain English messages are sent back to the computer. ATXn Extended result codes. The number of valid values varies from modem to modem but, typically, the higher the number, the greater the number of different result messages. Zero will often only send CONNECT or NO CARRIER (or their terse values of 0 and 1), while higher values will report the speed of the connection, BUSY, NO DIALTONE etc. ATZ Software reset. Resets the modem to its default settings. Some modems are provided with battery-backed RAM which is used to retain the default settings for a number of the commands. If this is the case, two special commands (not strictly part of the standard command set) are available to set and reset the RAM. AT&F Resets the RAM to the factory defaults. AT&W Writes the current defaults to RAM. Many modems have considerably extended command sets, some to an apparently absurd degree, where every feature you would never want to reconfigure can be configured, or all manner of on-line tests can be made! This is usually done with "extended codes" such as AT\, AT& and AT%, followed by a character or characters. The S registers have been briefly mentioned already and enable certain new default values to be set, using the ATS= command. ATS0=10, for example, would set S register zero to 10. Most modems have considerably extended S registers, but the basic Hayes S registers, common to all Hayes compatible modems, are as follows: S0 The number of rings before the modem auto answers an incoming call. 0 disables auto-answer. S1 Indicates the number of rings before a call was answered. This is normally a read-only register. S2 The Escape character. The default is 43 the + character. S3 Carriage Return. Default 13. S4 Line Feed. Default 10. S5 Backspace. Default 8. S6 Wait time for dial tone before dialling. Default 4 (secs). S7 Wait time for carrier after dialling or answering. Default 40 (seconds) S8 Length of pause when a comma is used in dialling string. Default varies, according to modem. S9 Carrier Detect Response Time. The minimum time a carrier must be present for the modem to recognise it as a valid carrier. Default 6 (1/10ths of a second). S10 Lost Carrier Hangup Delay. The amount of time the modem waits after a carrier is lost before hanging up. Default varies, but is in 1/10ths of a second. S11 MF Tone duration and spacing. Only relevant to tone dialling and not used by all modems. S12 Escape Sequence Guard Time. The length required for the pause before and after the sequence of the three escape characters determined by the S2 register. Default is 50, being 1 second. S13-S16 These are reserved for special use. As you will see, the standard Hayes command set is quite small when compared with those provided by most modems, but it supplies most of the necessities, with the exception of anything to do with split Baud rates, which is one of the reasons for the extended sets. PART 19: ONLY CONNECT! ====================== Originally, Hayes modems determined the speed of modem to modem connection required by reading the speed of the connection between the computer and the modem at the time when the most recent AT command was received. This meant that if you set your comms software to 1200/1200, the modem would attempt to connect at 1200/1200. As many computers are incapable of handling split baud rates, the modem to computer connection is usually made at 1200/1200 and the modem will handle the buffering, but some method of telling the modem to attempt to connect at 1200/75 is required. Different manufacturers have chosen different methods to do this. In the case of the current Amstrad modems, the ATB command may be used to set the baud rate and ATB23 forces the modem to connect at 1200/75. In the case of the Pro 24 modem, the ATF command is used, with a setting of ATF3. Miracom, on the other hand, uses a special S register on its WS range of modems, requiring a setting of S26=10, while the Pace Linnet 1200 requires the S50=1, or S50=2 and S51=2. Alternatively, in the case of the Linnet 1200, '+75' may be added to the end of the telephone number to be dialled to achieve the same result! Confusing, isn't it? The matter is further complicated when using modems with MNP correction, as the connection between the computer and the modem should be at a higher rate than the required modem-to-modem connection. This means that in many cases it is necessary to send a special AT command to the modem to tell it the required speed of connection. Again, the precise codes vary from modem to modem. Many current modems now default to auto-scanning when originating the call (calling another service) and attempt to connect at the highest possible baud rate. This may not be what you want on all occasions. Sometimes it is possible to connect at 2400/2400 and have so much line noise that you would have been better at 1200/1200, but with auto- scanning, it keeps connecting at 2400 bps! Another problem with auto-scanning is that if the modems at both ends are scanning, it is possible for them to switch at the same time and miss the connection. By tradition, the calling (originating) modem sets a constant rate and the receiving (host) modem does the scanning. If you have trouble connecting at the baud rate you require, see whether your modem includes a command to force the speed of connection. Another common problem occurs when software waits for result codes from the modem before going on-line. There are three possible AT commands which can affect this. ATE, ATQ and ATX. Some software requires 'terse' (numeric) result codes, whilst others expect 'verbose' messages, which means that the ATQ setting must be set to return the appropriate result. It is also important to ensure that ATE is set to echo the codes back at all, otherwise the software will wait for them for ever! The ATX settings may also be important, particularly when running a BB, as most software determines the speed of the modem-modem connection according to the result codes returned. This means that the ATX setting must be set to a high level so that the result messages report the speed of connection, such as CONNECT 1200 and not just CONNECT. Sometimes, for example when connecting to a Mercury line or ringing out through an office's internal switchboard it may be necessary to dial part of the number with pulse dialling and the remainder with tone dialling or to introduce a delay part way through. The Hayes commands allow for this by permitting certain characters to be included in the telephone number in the dialling string. The comma ',' may be used in the middle of a number to make the modem pause for a period of time determined by the S8 register setting. If a longer delay is required, more than one comma may be used, or the S8 setting changed. Dialling may be changed between pulse and tone by inserting P and T in the telephone number where appropriate. If neither of these characters are found the modem will dial using the default mode, or that set by any ATT or ATP command. Note that not all Hayes compatible modems support tone dialling the original Pace Linnet accepts the ATT command and the use of a T in the dialling string, but ignores them! Most software provides configuration options, or examples in the documentation, for commonly encountered modems. If yours isn't one of them, there is little option but to experiment with settings. If your modem has non-volatile RAM to store modem settings, it is a good idea to use AT&F, then AT&W to reset the RAM back to defaults before experimenting. In most cases the default settings will be fairly near those you require for your installation. PART 20: WHICH COMMS SOFTWARE? ============================== In this final article I shall take a general look at comms software in an attempt to make it easier for you to decide on the sort of software you will find most useful. Comms programs differ widely in the features they provide and some are more suited to one purpose than others. Many are the result of one person's "dream" of what a comms program should be, which may, or may not, coincide with yours. The problem is that people use comms in very different ways. Some people are only interested in logging on to Prestel, while whereas others may only want to access Telecom Gold. Some people require a program which provides script files, so that the complete on-line session can be automated and carried out with a single keypress; others have no need for such things. These are very basic differences between comms software, but there are others, such as whether you wish to save Prestel frames in ASCII text form suitable for loading into a word processor, or whether you prefer to save them as they appear, for later replay. Another feature, particularly relevant to Prestel, is whether you use the messaging system a lot. If you do, then look for a program which can automatically download all incoming mail, allow you tp read and reply to them off-line, then log on and upload the replies automatically. With some makes of computer you do not have a lot of choice in comms software, but others, particularly the PC, have a wide range of software available, covering just about every possible option. I have yet to discover a single program which provides every feature I would like to have, so compromises have to be made and the program which is nearest to the ideal selected. Some programs are very easy to use, often because there is little to them; but it is possible for a program which contains many features to be just as simple. Take script files as an example. One of the most popular PC comms programs has quite a powerful, yet relatively simple, script language. Unfortunately, the only way to log on to a service and automatically send IDs and passwords is by creating a script file for each service you want to use. On the other hand, there are other programs which do not have a script language as such, but which allow you to specify the ID and password sequence to be sent at log-on as part of the dialling directory entry. If all other features of the programs are equal and you have no use for script files, then it is obviously sensible to choose the program which does not require scripts. If your main concern is with logging on to BBs and uploading and downloading files, then it is sensible to choose a program which will allow you to use the file transfer protocol you prefer. This does not necessarily mean a program which includes lots of protocols, but a program which allows you to link in external protocols, several of which are available for most computers. Zmodem is currently "flavour of the month"; lots of comms software doesn't have it, but it is available as an external protocol and may be hooked into any other program which can handle them. It is worth taking time and even spending money to get the program which suits your use best. Not only is it more pleasant to use a program you feel comfortable with, but it is also cheaper, as the quicker you can carry out tasks, the less time you will spend on-line. You might, for example, be prepared to fore go the pleasures of full- colour Prestel graphics in return for a faster screen display and simulated graphics in text mode. The choice is yours and the range is wide, so don't just stick with the program you are using just because it came with the computer or modem. Find out what is available and, if possible, try them out. Luckily for us, a large percentage of comms software is shareware, allowing the opportunity to try them out at little initial cost. Do register the program if you use it regularly though. The number of comms users is only a small percentage of the total number of computer users, so the authors do need as many registrations as possible if they are to be encouraged to support and develop their software! This is the last of this series on basic communications and I hope that I have covered most of the areas which can cause confusion to beginners and even the more experienced. Paul Blitz's excellent Advanced Comms series covers the technical side, which I have tried to avoid! I have tried to avoid any unnecessary complications and jargon as far as possible, but if there are any areas which you think I have missed, or not covered as clearly as I might, I would welcome feedback to my mailbox (219992706) and might be persuaded to to a follow-up article.