MEX Newsletter #002 Date: 05-13-84 From: Ron Fowler MEX rev: 1.00 This is the second in a series of (hopefully) informative notes for the MEX communications program. These newsletters will provide bug fixes, tips, applications information, etc. for users of MEX. ------------------------------------------------------------ There are several flavors of overlay that will not work with MEX; the ones I am aware of so far are the DEC VTxx overlays and the Osborne overlays. The reason for this is the same reason that MEX doesn't work "out-of-the-box" (as mentioned in Newsletter #001). Since this problem occurs before you get MEX running, the patch using the POKE command will not work (obviously, you can't execute commands if you can't bring MEX up in the first place). For this reason, I'm providing the fix for this problem in a HEX file for- mat; this patch may be installed in a working MEX (even a CLONEd version). It provides all of the fixes detailed in Newsletter #001, along with the DEC/Osborne fix. In addition, it fixes another bug with Alternate Long Distance numbers (not the same bug detailed in 001) and brings your MEX revision level up to 1.00A (modifies the sign-on message). To install this patch, clip the following lines of HEX code out of this file and into a file named MEXFIX01.HEX. Then issue the following command line (this assumes your existing mex is MEX10.COM, and outputs a new MEX called NEWMEX.COM): MLOAD NEWMEX.COM=MEX10,MEXFIX01 There is no harm in installing this patch even if you've already installed the patch in Newsletter #001. Here is the code that should be extracted into MEXFIX01.HEX: :100E6A00CDB314D83E0CEBCD0146EBC3DE123AD417 :0F0E7A0052B7C4EA31F1F5E67F21DC52C3894358 :0152D40000D9 :0312DA00C36A0ED6 :03438100C3780EF0 :010ED70041D9 :01130C0000E0 :0000000000 ------------------------------------------------------------ New overlay for MEX: I've re-written the old MDM overlay for the Godbout System Support I/Interfacer 3/4 for enhanced use with MEX; the new file is called MXO-GB10.ASM, and sup- ports SET PORT as well as SET BAUD (you can change to any of 8 possible Interfacer three/four ports as well as the System Support 1 serial port; you can also change the baud-rate in the same command line). I'm hoping the new Godbout overlay will spur the enhancement of many of the old MDM overlays; much more power is possible in the SET command using the new parsing features of the MEX service processor. ------------------------------------------------------------ Alternate Long Distance Service numbers (ALDS): The documentation for ALDS numbers is a bit terse; probably for good reason: they're pretty simple to use. You may have two ALDS numbers defined; simply enter them as you would any other number, but give them a name of '>' or '<'; normal delay char- acters, passwords, etc may be included. Then, if you have a number you'd like to route through your ALDS service, simply prefix it with the associated '>' or '<'. An example should clarify this: You have MCI service, your password is 98765, and it takes 2-4 seconds to connect after the number is dialed. You also have Sprint (you cover all your bases, don't you?), the password is 12345, and it sometimes takes 6 seconds to reach the number after it is dialed. Finally, you have a Hayes Smartmodem; a comma in the dialing string is a 2-second pause (is it really? I don't have a Hayes, so let's pretend). In order to use both services, we'll put one number on the '>' key: [MEX] A0>>PHONE >=555-9122,,98765 <<--- MCI (note the four second delay with the two commas, then the password) Now Sprint: [MEX] A0>>PHONE <=555-8144,,,12345 . Now RBBS Rockhead is a long, long distance call; it's available only through Sprint (and, of course, Ma Bell). We decide that if we can't make it through Sprint, we don't want to call RBBS Rockhead. Here's how we enter the number: [MEX] A0>>PHONE ROCKHEAD=<202-555-1414 Now RBBS Aristocrat is our favorite BBS; if Sprint is jammed up, we'd like the option of dialing it over (ugh) Ma Bell lines. So we define it without an ALDS marker, like this: [MEX] A0>>PHONE ARISTOCRAT=202-555-2222 Now notice that we can still call Aristocrat through Sprint or MCI with: [MEX] A0>>CALL >CALL >ARISTOCRAT <<--- MCI But we must explicitly enter the ALDS symbol in the CALL command. Since Rockhead is defined with a leading '<', it will always go through MCI; we don't have to supply an ALDS symbol in the CALL command (we can switch to the other ALDS number, however, by specifying the other ALDS symbol in the CALL command; eg,"CALL >ROCKHEAD" will switch to MCI even though we've defined Sprint as Rockhead's ALDS number). In short, the left or right arrow specification is treated as if its ALDS number were part of the number being dialed. ------------------------------------------------------------ New line-editing character: If you're an MDM7 user, you're probably used to using control-U to cancel a command line. Not mentioned in the MEX documentation are the command-line editing characters, which are the same as MDM7, except that control-X is supported. It works similarly to CP/M's control-X. ------------------------------------------------------------ For the adventurous: Several people have asked about the possibility of changing the command characters recognized in the terminal mode (especially since the MDM overlay supports the re-definition of these characters). Actually, I had planned for this, but never found the time to test it. You might try the procedure I'm about to describe. I can't guarantee that it will work correctly, and don't yet have the time to support it if it doesn't, but you might like to give it a shot: At location 0D06H is a byte marked "reserved" in MEXPAT10; actually, this is an overlay flag byte. The low bit of this byte, when set to 1, should shift the command character set to that specified in the overlay. I can't guarantee that this will be supported in future releases of MEX ... ------------------------------------------------------------ There have been some queries regarding keystrings, and some problems re- ported in using them on RCPM systems. I'd like to clarify their use a little. First, there is a variable that may be changed with the STAT command that directly affects keystrings: this varible is WTECHO. When this switch-variable is turned ON, MEX will send each character, then wait for it to echo from the remote end. If you're sending into a system that allows type-ahead (most time-share computers, Compuserve, Arpanet, some MP/M and TurboDOS systems, etc), it is best to turn this variable OFF; the keystring will be transmitted a lot faster. If you're dealing with an RCPM system, however, you might well overrun the receiving end with the keystring (especially if you're transmitting into a BASIC program, such as RBBS). For such systems, you should turn WTECHO ON; MEX will then wait for each character to be echoed from the remote. The rest of this discussion addresses the same topic with respect to the SENDOUT command. WTECHO also affects the SENDOUT command in the same way; there is a dif- ference between SENDOUT and keystrings, however, that you must be aware of: SENDOUT tries its best to send the string correctly when WTECHO is on; if an echoed character is different than the transmitted character, SENDOUT will send a cancel character and try again (up to a retry-limit). The retry-limit and the trigger and cancel characters are all STAT variables, allowing them to be changed with the STAT command. The trigger-character in the distributed MEX is the right-arrow ('>'); this is most handy for RCPM systems (which prompt each command with a right-arrow). If you want to use SENDOUT with non-CP/M systems (or with RCPM programs that use a different prompt), you'll need to change the trigger character. For example, if you're sending commands to a remote PIP, you'd want to use PIP's asterisk ('*') as the trigger, so you'd do: STAT TRIGGER "*". For sending commands to a Smart- modem (with the modem set to non-echo, which is the default for US Robotics), you'll want to set WTECHO to OFF and TRIGGER to 0. --------------< End of MEXNEWS.002 >------------------------