.; Telecommunication (Alpha + PC) .title Transferring files between the Alpha and the IBM .H Introduction: As many SuperVUE customers have multiple computers, we have provided a means for transferring files back and forth between these computers. These programs provide error checking and may be used either with modems or by connecting the computers together directly with an RS-232 serial cable. \ WXTERM program on the IBM: On the IBM, a program called WXTERM has been provided. This is a public domain telecommunications program. This program allows you to upload and download files with another system. Simply type WXTERM at the MS-DOS prompt. The program will then clear the screen and connect you with the remote computer or modem. Pressing ALT-P will allow you to change parameters like BAUD, number of bits, parity, and port number. Usually, you will use COM1 as your serial port. To communicate with an Alpha Micro, you will need to use 8 bits data, 1 stop bit, no parity. If you are using a modem, you will need to set the BAUD to either 1200 or 2400 depending on your modem. If you are connecting directly with the Alpha, then use 9600 BAUD. This is the highest speed WXTERM supports. If you use a different telecom program, you may be able to use higher speeds. Note that the Alpha Micro will send data to your IBM at higher speeds, but will not receive data faster than 9600 baud. This is due to limitations in the AMOS terminal service system. \ WXTERM will give you a list of command keys when you press the HOME key on the numeric keypad. This is what you will see: ALT-C will clear the screen on the IBM ALT-H will hang up your modem (Hayes compatible modems only) ALT-P allows you to examine and change communications settings ALT-R tells the IBM to receive a file from the Alpha ALT-S tells the IBM to send a file to the Alpha ALT-X will exit WXTERM and put you back in MS-DOS Once you have used ALT-P to set your communications parameters, WXTERM will save this information for next time. \ XMODEM program on the Alpha: A program called WXMODEM is provided which will run on the Alpha Micro. This program supports XMODEM-CHK, XMODEM-CRC, XMODEM-1K and WXMODEM protocols. Don't worry about any of that, it is all automatic. Use of this program will be covered in detail later in this document. XMODEM will also allow you to transfer files from non-IBM computers like the Macintosh. Such transfers are quite easy, but are beyond the scope of this document. In other words, you are on your own. \ Cabling: If you are using a modem to hook the computers together, use the standard cables that your dealer recommends (on the IBM and the Alpha). However, if you are connecting directly, you will need a "gender changer" adaptor in order to plug a terminal cable into the IBM serial port. Typically, terminal cables end in a male connector, and the terminal has a female connector. However, IBM, in their infinite wisdom, uses male connector on the serial port. Hence, the need for an adaptor. Technoids take note: You DON'T need to switch pins 2 and 3 (you don't need a "null modem" adaptor). \ Talking to the Alpha with a modem: When you enter WXTERM, it will put you in direct communication with the serial port. Assuming you are using a Hayes compatible modem, you can type ATD###-#### to call the Alpha. When the Alpha answers the phone, you will get CONNECT, or something like it. Then, press return a couple of times, and you should get the AMOS prompt. If you can't communicate with your modem, check the BAUD with ALT-P to make sure it is correct. Talking to the Alpha directly: The easiest way to do this is to use a working terminal. This way, you don't have to change your AMOSL.INI file, or add new cables. As most terminals run at 19200 baud, you will need to type BAUD 9600 to slow it down. When you do this, you won't be able to type on that terminal for a while. Unplug the terminal cable, and plug it into the IBM (using a "gender changer" adaptor). Enter the WXTERM program on the IBM and make sure that it is running at 9600 baud (press ALT-P). Then, press return and you should see the AMOS prompt. \ Once you are hooked up to the Alpha: After you have established comminications and have the AMOS prompt on your screen, you are ready to send or receive files. WXTERM does not do any terminal emulation, so if you try do do anything that requires cursor control, it will look really messy. If you have a program on the Alpha (like AFFIX or DRIVER) to change terminal drivers, you can change to TELTYP. If you don't do this, it will not cause any real problems; it's just that you may see "trash" from time to time as the Alpha tries to send commands like "bright" and "dim" to your terminal. Simply ignore this and plow on anyway. \ Taking a file from the Alpha: Let's say you want to take the file DSK0:POISON.T[20,20] from the Alpha, and put a copy on your IBM. Connect with the Alpha as described above. Then, log into DSK0:[20,20]. You can do a DIR to make sure that the file POISON.T is really there. When you are satisfied that you are in the right account, and the file you want is there, type XMODEM. You should now see something like this: .XMODEM Micro Concepts XMODEM protocol file transfer program. (S)end, (R)eceive, (H)elp, or (E)xit? \ We want the Alpha to SEND us a file, so we type "S" followed by a return. You will be asked "What file do you wish to take?". Type in the name of the file (POISON.T in our example). If you don't specify an extension, "T" will be assumed. Your screen should now look like this: .XMODEM Micro Concepts XMODEM protocol file transfer program. (S)end, (R)eceive, (H)elp, or (E)xit? S What file do you wish to take? POISON.T POISON.T is 7243 bytes (57 xmodem blocks). Start XMODEM receive, press return when transfer is complete. \ The Alpha is now ready to send your file. To tell WXTERM to receive a file, press ALT-R. WXTERM will then ask you what you want this file to be called on the IBM. Normally, you would use the same name as on the Alpha Micro to avoid confusion. Type POISON.T and press return. Then, sit back and watch the fun. WXTERM will display a continually updating status report on how things are going. Watch the block number being transferred. As our file is 57 xmodem blocks long (according to XMODEM on the Alpha), it will count up to 57 then stop. WXTERM will tell you if there are any problems. Assuming everything went OK, WXTERM will tell you to "Press any key". Go ahead and press any key. You will then be put back in communications with the Alpha. On the Alpha end, the XMODEM program is waiting for you to press return; telling it that the file transfer is finished. Press return, and you will see: Transfer complete - no errors. (S)end, (R)eceive, (H)elp, or (E)xit? \ That's all there is to it! Type "E" and press return to exit the XMODEM program and get back to the AMOS prompt. Then, if you don't have any more files to transfer, type ALT-X. WXTERM will ask you if you really want to exit. Type "Y" and press return. You will be back at the MS-DOS prompt. Of course, if you are using a modem, you will probably want to hang up the modem with ALT-H (or do it yourself manually) before you exit WXTERM. Short cut: You may type "S POISON.T" instead of typing "S" (return), "POISON.T" (return) to get XMODEM on the Alpha to send the file. \ Sending a file from the IBM to the Alpha: Let's say you send MYFILE.T from your IBM to the Alpha Micro. Connect with the Alpha as described above. Then, log into the account where you want to deposit the file. When you are satisfied that you are in the right account, type XMODEM. We want the Alpha to RECEIVE a file from us, so we type "R" followed by a return. You will be asked "What name do you wish given to the file?". Type in the name of the file (MYFILE.T in our example). If you don't specify an extension, "T" will be assumed. Your screen should now look like this: .XMODEM Micro Concepts XMODEM protocol file transfer program. (S)end, (R)eceive, (H)elp, or (E)xit? R What name would you like given to the file? MYFILE.T All set to receive - Please send the file now. \ The Alpha is now ready to receive your file. To tell WXTERM to send a file, press ALT-S. WXTERM will then ask you for the name of the file you want to send. Type MYFILE.T, and press return. WXTERM will now give you a status display similar to the one used when receiving a file. You can watch the "ACK'd" blocks count up to the "Total Blocks" number. When they are the same, the transfer is complete. WXTERM will ask you to "Press any key to continue". Do that, and you will be communicating with the Alpha again. XMODEM on the Alpha is now waiting you to press return to tell it that the file has been transferred. Press return, and you will see: Transfer complete - no errors. (S)end, (R)eceive, (H)elp, or (E)xit? \ That's all there is to it! Type "E" and press return to exit the XMODEM program and get back to the AMOS prompt. Then, if you don't have any more files to transfer, type ALT-X. WXTERM will ask you if you really want to exit. Type "Y" and press return. You will be back at the MS-DOS prompt. Of course, if you are using a modem, you will probably want to hang up the modem with ALT-H (or do it yourself manually) before you exit WXTERM. Short cut: You may type "R MYFILE.T" instead of typing "R" (return), "MYFILE.T" (return) to get XMODEM on the Alpha to receive the file. \ Making your terminal work again: When you have finished transferring files, you will need to disconnect the IBM, and plug your terminal back in. If your terminal runs at 19200 baud, you will need to type BAUD 19200 on the IBM before you exit WXTERM and unplug the cable. Plug the cable back into the terminal, and press return. You should now see the AMOS prompt. If you changed terminal drivers at the beginning of the session, you should change back to whatever your terminal requires at this time. \ Aborting a transfer: While in SEND or RECEIVE modes, you can press ^X to tell WXTERM to abort the transfer. This may take a few seconds to take effect, but the program will stop. You will then be placed in communications with the Alpha. Press return, and the Alpha should wake up and ask you what you want to do. \ Lightning hit my IBM during a transfer: If some drastic thing happens to your IBM while you are doing a transfer (or if your modem hangs up), you might find that the Alpha won't respond to anything you do. Don't panic. Press ^X twice, then press return. If that doesn't work, wait 20 seconds then try again. If you don't type anything, XMODEM on the Alpha will eventually give up and wait for a return to be pressed. This takes about 3 minutes, so it isn't worth the wait. \ WARNING: Do not, repeat DO NOT "abort", "purge", "nuke" or whatever a job that is currentlly running XMODEM. If you do, the system will probably crash when you try to use that job again. XMODEM has to do some pretty tricky fiddling around with your terminal in order to get around some shortcomings in the operating system. This means that it MUST be allowed to shut down and put things back to normal. If you abort the job, it will not get to do that, and the secretary will disavow all knowlege of your actions. Also, other people on the system will probably be quite upset when it crashes. \ Using other telecom packages on the IBM: You may use a different telecommunications program on the IBM, rather than WXTERM. The XMODEM program on the Alpha Micro is a generic communication program that will work with most of the telecom programs currently available. A. Sending files to the Alpha When you send files to the Alpha, XMODEM will direct the IBM as to the specific protocol to be used. Remember that the Alpha will not take data into a serial port at speeds over 9600 baud. Normally, XMODEM will try to get the IBM to send data using windowed-XMODEM (WXMODEM). If your package does not support this, XMODEM will try XMODEM-CRC. Failing this, it will drop back to generic XMODEM-CHK. There are two options that may be used to control the RECEIVE mode on XMODEM. If you put "-O" in front of the filename, XMODEM will not try Windowing or XMODEM-CRC, but will start off with XMODEM-CHK. Try this if you can't get anything to work. \ Another thing you can do is to put "-T" in front of the file name. This tells XMODEM to use "TURBO" mode. Use this only if you are connected directly, or have an error-free modem connection. Any error encountered when receiving a file in "turbo" mode will cause the whole transaction to be aborted. If you are using WXTERM, or your package supports windowed-XMODEM, don't use this option. Windowing is faster, and will allow errors without aborting the transmission. Note: This may not work well with all send programs. There are definitely problems with most of the send programs on the Macintosh when using this mode. \ B. Taking files from the Alpha When you take files from the Alpha, your package will tell XMODEM what kind of protocol is to be used. The Alpha can send data as fast as your receive program can take it; it is not limited to 9600 baud as it is in send mode. The only option available when sending a file from the Alpha is putting a "-K" in front of the file name. This will cause XMODEM to send the file in 1024 byte blocks instead of the default 128 byte blocks. This speeds up transfers (assuming your receive program supports 1k blocks). Some receive programs can request the "1k" buffers themselves, but most can not. If your receive program supports "turbo" mode, and does not support windowed-XMODEM, you can enable "turbo". Some packages call this "supercharged mode" or some other zippy sounding name. Remember, that the connection with the Alpha had better be error-free if you do this. \ References and such: WXTERM is a public domain program which we distribute on our release disk for your convenience. It is quite a nice program, but doesn't have all the bells and whistles of the ones for which you have to pay money. All protocols used by WXTERM and XMODEM are public domain protocols. Peter Boswell (TOPPER on PeopleLink) has put together quite a good protocol reference manual which discusses XMODEM-CHK, XMODEM-CRC and the WXMODEM extensions. This is available from bulletin board networks like PeopleLink and CompuServe. Chuck Forsberg has also posted an XMODEM, XMODEM-CRC, YMODEM reference manual on CompuServe. \ XMODEM Specifications (overly technical mumbo-jumbo): Following are some specifications on the XMODEM protocol. If you are a non-technical type, feel free to stop reading at this point. ASCII control codes used: Name Decimal Hex Description ------------------------------------------------ SOH 01 01 Start Of Header EOT 04 04 End Of Transmission ACK 06 06 Acknowledge (positive) DLE 16 10 Data Link Escape * DC1 17 11 Transmit On (X-ON) * DC3 19 13 Transmit Off (X-OFF) * NAK 21 15 Negative Acknowledge SYN 22 16 Synchronous idle * CAN 24 18 Cancel * - used in windowed-XMODEM mode only \ Either 128 byte or 1024 byte blocks may be used. The file may have padding characters appended to the end of it to make it an even multiple of 128 bytes. If 1024 byte blocks are used, the file will not be padded to 1024; the sender will revert to 128 byte blocks to complete the transfer. Two different error checking methods are allowed. XMODEM-CHK (the most primitive system) employs a 1 byte checksum on the data. As this is not very reliable for large blocks, 1K block mode does not allow this. XMODEM-CRC employs a 2 byte CRC (Cyclic Redundancy Check). This is much more reliable than CHK, and is the preferred method. Receive program: The receive program initiates the transfer by sending NAK to the other computer. This NAK is either a regular NAK (denoting XMODEM-CHK), a "C" (denoting XMODEM-CRC), a "C" followed by a "K" (denoting XMODEM-1K), or a "W" (denoting WXMODEM). \ WXMODEM: The receiver will send a "W" and wait 3 seconds for the beginning of an XMODEM packet. This will be repeated 3 times before the receiver will drop down to XMODEM-CRC. XMODEM-CRC: The receiver will send a "C" and wait 3 seconds for the beginning of an XMODEM packet. This will be repeated 3 times before the receiver will drop down to XMODEM-CHK. XMODEM-CHK: The receiver will send a NAK and wait 3 seconds for the beginning of an XMODEM packet. This will be repeated 4 times before the receiver will "time out" and abort the transfer. The receiver will "time out" while waiting for a character (start of packet, or data) after 15 seconds. 10 timeouts in a row will cause the transmission to be cancelled. \ Send program: The send program will respond to the receive program appropriately. This is a receiver-driven protocol. The sender will "time out" while waiting for ACK or NAK from receiver after 15 seconds. 10 timeouts in a row will cause the transmission to abort. When using WXMODEM, the sender will allow X-OFF. While waiting for the subsequent X-ON, the sender will "time out" after 10 seconds and resume sending data. .