home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / mex / pcpfast.mzx / PCPFAST.MEX
Text File  |  1987-01-31  |  28KB  |  561 lines

  1. +
  2.                                    -1-
  3.  
  4.  
  5.                                                     File: PCPFAST.MEX
  6.                                                     Rev:  Jan 26, 1987
  7.  
  8.  
  9.               FAST AUTOMATIC PC PURSUIT CONNECTIONS USING MEX
  10.               ----------ooooooooooOOOOOOOoooooooooo----------
  11.  
  12.                            by Laurence J. Lavins
  13.  
  14.  
  15.   1. P C P F A S T   A B S T R A C T
  16.   ----------------------------------
  17.  
  18.      A simple user-friendly method has been developed for automatically
  19.      accessing a PC Pursuit city, using the MEX v.1.14 PD communication
  20.      terminal program, running under CP/M-80 (v.2.2). If a BUSY signal 
  21.      is received, the access string will be AUTOMATICALLY retransmitted
  22.      every 5-6 seconds until a CONNECT signal is received from Telenet.
  23.      The user may then send commands to the remote Telenet modem in the
  24.      normal manner. This method does not involve any use of a keystring
  25.      file, thus allowing the user to retain the entire capacity of that
  26.      keystring file for other purposes.
  27.  
  28.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  29.  
  30.   2. I N T R O D U C T I O N
  31.   --------------------------
  32.  
  33.      Over the past few months, the number of customers using Telenet's
  34.      PC Pursuit Service has increased dramatically, thus making it very
  35.      difficult to place a call, especially during the few hours of peak
  36.      system usage each day.
  37.  
  38.      As a consequence of the often prolonged, repetitive and wearisome
  39.      transmissions which must be entered by a caller seeking to estab-
  40.      lish a connection with a distant PC Pursuit city, some means were
  41.      sought to facilitate this process.
  42.  
  43.      My own computer system is a modified TRS-80 Model 4 equipped with
  44.      a hard disk, a Hayes compatible 300/1200 baud modem, and both the
  45.      TRSDOS 6.2 and CP/M operating systems. With TRSDOS, I usually use
  46.      the XT4 (v.1.6.8) communications terminal program (Copyright 1985
  47.      by Bill Andrus, Fairfax, VA). And with CP/M, my program of choice
  48.      is MEX v.1.14  (Copyright 1984 by Ronald G. Fowler, Ft. Atkinson,
  49.      WI). Both of these communication programs have many nice features,
  50.      and they're both in the public domain for non-commercial private 
  51.      use. I understand that the authors of both these programs may now
  52.      also have released other commercial or proprietary versions, with
  53.      added features. Unfortunately, these aren't in the public domain.
  54.  
  55.      What I attempted to do, therefore, was to see if I could develop 
  56.      some rather simple means of adapting either of these two communi-
  57.      cations programs to enable faster and/or more automatic means of 
  58.      establishing a PC Pursuit trunk connection to the called city.
  59.  
  60.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  61.  
  62.  
  63.  
  64.  
  65.  
  66. -
  67. +
  68.                                     -2-
  69.  
  70.   3. T H E   S P E C I F I C   P R O B L E M
  71.   ------------------------------------------
  72.  
  73.      When making a call via PC Pursuit, it's first necessary to access
  74.      a Telenet node by calling the local phone number of that Telenet 
  75.      node. This presents no problem. Almost all communications terminal
  76.      programs now in wide use provide excellent capabilities for making
  77.      such phone calls. Once a connection has been established with that
  78.      Telenet node, however, the PC Pursuit caller must then request the
  79.      system to set up a connection from that local node to a modem port
  80.      in the city being called. Therein lies the heart of the problem.
  81.  
  82.      Since there may be hundreds of customers (callers) trying to gain
  83.      access to some limited number of modem ports in any one of the 25
  84.      PC Pursuit cities, the usual response from the system is a "BUSY"
  85.      signal. The callers must then keep calling, and as each port may 
  86.      become available, some lucky caller will be connected. Obviously,
  87.      the more access requests a caller can initiate in a given period 
  88.      of time, the better will be his chances of getting connected.
  89.  
  90.      Unfortunately, this element of a call isn't a trivial matter. The
  91.      Telenet protocol requires the following string to be sent out, in
  92.      response to the Telenet network command prompt symbol, "@":
  93.  
  94.           "C DIALaaa/bb,uuuuuuuu,pppppppp" [cr]
  95.  
  96.      where: aaa      is the Area Code of the city being called.
  97.             bb       is the baud rate in hundreds, either 3 or 12.
  98.             uuuuuuuu is the User ID (usually 8 bytes).
  99.             pppppppp is the Password (usually 8 bytes).
  100.  
  101.      Typing this string isn't bad once, or maybe twice. But just think
  102.      what it would be like to manually enter such a string 100 or more
  103.      times in succession! Well OK, you might say, all anyone has to do
  104.      is to set up a macrokey, or function key, or whatever name your  
  105.      communications terminal program uses for such things. And both of
  106.      my own two terminal programs, named above, certainly do have such
  107.      features, as do most others in wide use today. I agree. Now we're
  108.      much better off, not having to manually type in such long strings,
  109.      over and over, repetitively.
  110.  
  111.      But I'm lazy. And I also get mighty fed up just having to keep on
  112.      pressing [CLR] [KEY] or [ESC] [KEY], over and over, in response to
  113.      each and every BUSY signal from Telenet. Even this, done 100, 150
  114.      or 200 times in rapid succession, is enough to drive me away from
  115.      all this high-tech stuff, back to the wastelands of TV.
  116.  
  117.      Moreover, the XT4 program is limited to a maximum of 10 macrokey 
  118.      strings in each data file. Since I insist on using at least 5 of 
  119.      these for other purposes, then only a maximum of 5 are available 
  120.      in any one data file for these PC Pursuit city strings. Even then
  121.      there's no capacity left for local phone numbers in those cities 
  122.      once all 10 keys are used up. So realistically, I'd have to put up
  123.      with the continuous loading, back and forth, among 5 or more data
  124.      files. Not too accomodating.
  125.  
  126.      MEX fares somewhat better in this regard, although it's not quite
  127.      as convenient for general communication purposes as is XT4, in my
  128.      opinion. Theoretically, MEX allows you to have as many keystrings
  129.      in a single keystring file as there are keys on the keyboard. But
  130.  
  131.  
  132. -
  133. +
  134.                                     -3-
  135.  
  136.      there seems to be a 404 byte limit on each such file, according to
  137.      my arithmetic, which DOES include the two sets of quotes that MEX
  138.      requires to define a string, but DOESN'T include the key symbols 
  139.      themselves and equal signs. So maybe you can put 8 or 9 of these 
  140.      city strings into each keystring file, using the rest of the 404 
  141.      bytes for other commonly used strings, telephone numbers, etc. So
  142.      now, with MEX, we're down to only 3 of these files. For example, 
  143.      PCP1.KEY, PCP2.KEY and PCP3.KEY. Not much of an improvement, but a
  144.      little bit maybe. But it's still a crude approach to the problem.
  145.  
  146.      Another awkward option, of course, is not to prestore any of these
  147.      city strings. But rather, to type them individually, as required, 
  148.      just prior to calling a PC Pursuit city, and then storing only that
  149.      one string. The advantage of this, of course, is that you may then
  150.      be able to get by with a single data file. But as far as all that 
  151.      continuous typing of 35 byte keystring sequences every time a new 
  152.      city has to be called  ... . no thanks!
  153.  
  154.      And now, finally, that everyone understands that I really am quite
  155.      lazy, the problem boils down to developing an easier, faster and  
  156.      more efficient means for dealing with these PC Pursuit city access
  157.      calls, especially in the high-traffic busy hours conditions.
  158.  
  159.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  160.  
  161.   4. S E L E C T I O N   O F   M E X
  162.   ----------------------------------
  163.  
  164.      Despite my own personal preferences for XT4 over MEX for general 
  165.      communications purposes, I did decide, for a variety of technical
  166.      reasons, that XT4 in its present form wasn't a suitable candidate
  167.      for this exercise. Conversely, however, and also out of technical
  168.      considerations, MEX seemed to offer some viable possibilities. So
  169.      the remainder of this paper will deal only with MEX.
  170.  
  171.      I did, of course, reveal my little project to several of my close
  172.      associates. The most profound advice and counsel elicited from all
  173.      these experts was that I wouldn't ever achieve salvation until my
  174.      obsolete "TRASH 80" machines were replaced by Big Blue or one of 
  175.      its clones. With a machine of such a color, and software to match,
  176.      I was told, all problems such as this rapidly disappear. Or at the
  177.      very least, I was also advised, if I insisted upon remaining loyal
  178.      to CP/M (shudder!) why not just purchase the expanded proprietary
  179.      version of MEX from Ron Fowler, which might be able to handle this
  180.      class of problem. As a natural born rebel, I now became even more
  181.      obsessed with the problem, and refused to stop thinking about it,
  182.      and continued on, trying out several different approaches.
  183.  
  184.      So now we're down to the following ground rules:
  185.  
  186.        (1) A standard CP/M-80 (v.2.2) operating system.
  187.  
  188.        (2) MEX Version 1.14 PD release. (The earlier v.1.12 would  
  189.            probably do just as well for this application, however.)
  190.  
  191.        (3) Maintain a simple user-friendly approach, using inherent
  192.            features of MEX and CP/M. Minimize changes & additions. 
  193.  
  194.        (4) Nothing of a commercial or proprietary nature is to be  
  195.            utilized. Everything shall be in the public domain (PD).
  196.  
  197.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  198. -
  199. +
  200.                                     -4-
  201.  
  202.   5. T H E   B A S I C   A P P R O A C H
  203.   --------------------------------------
  204.  
  205.      After much analysis of the MEX commands and stat variables plus a
  206.      great deal of trial and error, it seemed like it might be possible
  207.      to play some tricks on MEX, using the SENDOUT command and/or the 
  208.      READ command, along with some other associated commands and stat 
  209.      variables. 
  210.  
  211.      What we'd like to do is to set up the equivalent of some logic of
  212.      the "IF ...   THEN ... " type. Now, it's quite clear that the PD 
  213.      version 1.14 of MEX doesn't include such sophisticated commands. 
  214.      Specifically, we need to do the following:
  215.  
  216.        (1) Pre-store a complete set of city access strings. Or as an
  217.            alternative, a single string with symbolic variables. They
  218.            should reside in a data file of semi-permanent nature.
  219.  
  220.        (2) Initiate the transmission of any one specified access
  221.            string in a simple manner with minimum keystrokes.
  222.  
  223.        (3) IF a "BUSY" signal is received, THEN repeat the previous
  224.            transmission after a network command prompt appears. This
  225.            is to be done completely automatically, without the user's
  226.            manual intervention, for some specified number of retrans-
  227.            missions. The user should be able to abort this process at
  228.            any time.
  229.  
  230.        (4) IF a "CONNECT" signal is received, THEN do not repeat the
  231.            previous transmission, but rather allow the user to enter
  232.            the data transfer mode and send commands to the modem at
  233.            the distant PC Pursuit city, in the normal manner.
  234.  
  235.  
  236.      At first glance, MEX 1.14 doesn't appear to support the commands 
  237.      needed to implement this logical sequence, but closer examination 
  238.      reveals that it does, in fact, have the capability. We'll have to
  239.      perform some sleight of hand in order to fool the system, but it 
  240.      really can be done. Trust me!
  241.  
  242.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  243.  
  244.   6. T H E   S P E C I F I C   S O L U T I O N
  245.   --------------------------------------------
  246.  
  247.      Here's what we're going to do now to weave our bit of magic with 
  248.      MEX. First, the logical structure, then the details. In hindsight
  249.      it seems so simple. So how come it took so long for someone to
  250.      figure it out, dummy?
  251.  
  252.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  253.  
  254.   6.1  THE LOGICAL STRUCTURE
  255.   --------------------------
  256.  
  257.      The logical basis of the solution here is to use the WTECHO stat 
  258.      variable in conjunction with a SENDOUT command. When WTECHO is ON,
  259.      all characters transmitted to the remote terminal (Telenet) via a
  260.      SENDOUT command are compared with the characters echoed back from
  261.      the remote. Since Telenet does echo back whatever we send out, as
  262.  
  263.  
  264. -
  265. +
  266.                                     -5-
  267.  
  268.      any good host terminal should, that cooperation is what makes our
  269.      trickery work. If there's a discrepancy (error) between what we've
  270.      sent out and what's echoed back, then MEX further provides us with
  271.      the means to retransmit. Not only must WTECHO be turned ON, but we
  272.      must also specify a CANCEL character to be sent out to the remote
  273.      upon discovery of the error, and also a TRIGGER character which we
  274.      must look for from the remote to trigger our retransmission of the
  275.      SENDOUT string. Lest I forget, the "error" character that's added 
  276.      to the SENDOUT string in order to create the discrepancy between  
  277.      the SENDOUT string and its echo in the first place, along with the
  278.      CANCEL and TRIGGER characters are extremely critical and specific.
  279.      It took lots of educated guesswork, plus trial and error, before a
  280.      set of values for these 3 characters  was found that would permit
  281.      a completely workable solution. Unless all the values are set up in
  282.      exactly the correct way, either one of the following may occur:
  283.  
  284.        (1) There may be no retransmission of the initial call after a
  285.            "BUSY" signal is received.
  286.  
  287.        (2) There will be continued retransmissions of the original call
  288.            as long as "BUSY" signals are received from Telenet. But then
  289.            after a "CONNECT" signal is received, MEX will "freeze", and
  290.            CP/M must be rebooted to restore your system.
  291.  
  292.      Additionally, the REPLY and RETRY stat variables should be set up
  293.      properly, but these aren't critical.
  294.  
  295.      The "error" character mentioned above is a single character which
  296.      is appended to the SENDOUT string IMMEDIATELY FOLLOWING the final
  297.      "^M" carriage return in that string. My theory here, which proved
  298.      to be correct, was that such a character would be saved by MEX for
  299.      comparison purposes when WTECHO is ON, but that it wouldn't really
  300.      be transmitted out via our own modem or echoed back by Telenet in 
  301.      the unlikely event that it did get transmitted. Since MEX has been
  302.      designed to save the contents of the string prior to transmission,
  303.      whatever they may be, for comparison purposes, that's exactly what
  304.      we're now going to take advantage of for our own purposes here.
  305.  
  306.      So far, so good. Now let's go back to the SENDOUT string itself, 
  307.      which conforms to the format described back in Section 3. The way
  308.      to make it simpler, at this time, is to execute PREFIX and SUFFIX
  309.      commands as soon as MEX is booted up. Like this, for example:
  310.  
  311.           PREFIX "C DIAL"
  312.           SUFFIX "//12,uuuuuuuu,pppppppp^Me"
  313.  
  314.      where  uuuuuuuu is the User ID
  315.             pppppppp is the Password
  316.             e        represents the appended error character
  317.  
  318.      To initiate transmission, just key in "SENDOUT aaa" for the area 
  319.      code of the city you're calling, and hit your [cr] key. The whole
  320.      string, including the PREFIX and SUFFIX, will then be correctly
  321.      sent out by MEX. Note that if a "BUSY" response comes back from
  322.      Telenet, MEX logic will cause a retransmission, provided that all
  323.      the appropriate stat values have been entered. Have patience now,
  324.      we're still developing the logical structure. The specific values
  325.      for the error character and those stat variables will be revealed
  326.      below, shortly.
  327.  
  328.  
  329.  
  330. -
  331. +
  332.                                     -6-
  333.  
  334.      Now, if everything being done is clearly understood, let's go one
  335.      step further beyond the basic SENDOUT command. This brings us to 
  336.      the READ command. It may appear to be a little difficult to grasp
  337.      at first, but it's quite simple. Look at it like this: All we're 
  338.      doing is to take the SENDOUT command, along with its whole string
  339.      (no need here for PREFIX and SUFFIX commands) and enter it into a
  340.      file on disk. Let's use the default drive (usually A:), and also 
  341.      let's arbitrarily (because I say so) name this file P.MEX. You can
  342.      use any old word processor or text editor of your choice to create
  343.      and store this file. It'll look like this:
  344.  
  345.        File Name: P.MEX
  346.  
  347.        Contents:  SENDOUT "C DIALaaa//12,uuuuuuuu,pppppppp^Me"
  348.  
  349.      See, nothing to it. The contents of this file are all included on
  350.      a single text line. After you've saved this file on the disk, key
  351.      in the command "TYPE P" directly from MEX,  or "TYPE P.MEX" from 
  352.      CP/M, in order to verify that this file really contains what you 
  353.      think you wrote and saved. Since we used the MEX default extension
  354.      for this filename, we don't need to use the extension when calling
  355.      this file from within MEX. (Ain't that clever now, huh?) If you're
  356.      still hangin' in there, don't let go. You've almost got both feet
  357.      up onto this step now.
  358.  
  359.      So guess what needs to be done now to execute the SENDOUT command
  360.      that's written into file P.MEX?  If you said READ P, you're right
  361.      on! Congratulations! If you didn't guess correctly, please review
  362.      what we've done so far and also review the MEX documentation. And
  363.      now we've only got two steps left to reach the top landing.
  364.  
  365.      Everybody aboard now? Alright, let's move on up. And here's where
  366.      you might have just a wee bit more difficulty. MEX has a marvelous
  367.      bit of its own duplicity that permits us to say one thing when we
  368.      really mean another, kinda like some females I've known. Just look
  369.      again at that one line SENDOUT command in the P.MEX file:
  370.  
  371.        SENDOUT "C DIALaaa//12,uuuuuuuu,pppppppp^Me"
  372.  
  373.      I'm going to surgically remove the 3-digit area code, "aaa", and 
  374.      in its place, let's put something else, like "{1}". This numeral,
  375.      ENCLOSED WITHIN BRACES, is called a formal parameter. It may also
  376.      be referred to as a variable symbol. Whatever you want to call it
  377.      is OK with me. Just remember that IT MUST BE ENCLOSED WITHIN THOSE
  378.      BRACES. Now, go back to your word processor and change the SENDOUT
  379.      command, and then save it to filename P.MEX, like this:
  380.  
  381.        SENDOUT "C DIAL{1}//12,uuuuuuuu,pppppppp^Me"
  382.  
  383.      As you might have guessed, there's no free lunches around here. So
  384.      the payment has to be made up at the READ command by appending the
  385.      "aaa", where it's now referred to as an actual parameter. Whatever
  386.      numbers we enter into the actual parameter will be substituted for
  387.      the formal parameter when the READ command is executed. So our READ
  388.      command will now look like this:
  389.  
  390.        READ P aaa [cr]    instead of    READ P [cr]
  391.  
  392.      The numerals used for variable symbols refer back to the actual  
  393.      parameters in the READ command, in sequential order. If you had a
  394.  
  395.  
  396. -
  397. +
  398.                                     -7-
  399.  
  400.      mind to do so, you could replace the baud rate 12 with {2}, as an
  401.      example. Then you would have to follow the aaa in the READ command
  402.      with a 3 or a 12. (I personally always use 12, even for 300 baud 
  403.      transmission. It works, and a 1200 baud port seems easier to come
  404.      by than a 300 baud port.)
  405.  
  406.      Whew! I'm all out of breath. So let's take a short breather, just
  407.      long enough to make sure that everything so far is clearly under-
  408.      stood. OK?  Everyone still here?
  409.  
  410.      Ready now for the final push. The top landing is only a small step
  411.      away. This last step takes us to the EXTEND stat switch variable.
  412.      We're going to turn it on. And you ask me how come? And I say back
  413.      to you because I say so, and also because I'm lazy, and if we turn
  414.      on this switch, then MEX will let us forget to write the READ into
  415.      the READ command line. How's that for doublespeak, huh? So try it,
  416.      you'll like it! And so we now can use just:
  417.  
  418.         P aaa [cr]    instead of    READ P aaa [cr]
  419.  
  420.      It should be very clear to you readers at this point that MEX has
  421.      allowed us to make up a phantom command, which will be executed by
  422.      MEX like any other legitimate intrinsic MEX command. What's more,
  423.      even if you still don't understand how it works, you don't have to.
  424.      All you gotta do, dummy, is press a P and an Area Code number. OK?
  425.      Now that's simple enough to satisfy the original groundrules!
  426.  
  427.      Moreover, none of the valuable 404 bytes in the MEX keystring file
  428.      needs to be used for city access strings. You can use the entire 
  429.      file for all your other strings, like commands, names, telephone 
  430.      numbers, BBS passwords, or whatever else. So you see, we don't have
  431.      to pay a penalty in that department anymore either.
  432.  
  433.                   -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
  434.  
  435.  
  436.   6.2   HERE'S THE FINAL DETAILS  -  NOW GO GETTUM, KEMOSABE!
  437.   -----------------------------------------------------------
  438.  
  439.      If you waded through all the preceding stuff, and understand any 
  440.      of it, you've earned the right to the final critical details and 
  441.      values. And even if none of it makes sense to you, just take your
  442.      numbers and good riddance! I also once thought about saying "to be
  443.      continued next month." But I don't want to be bothered with doing
  444.      another paper any more than anyone out there really wants to bother
  445.      reading one. So here's the goodies:
  446.  
  447.  
  448.        Error character:  @   (Critical value. Others may cause freeze.)
  449.  
  450.        Stat CANCEL:      ^M  (Critical value. Others may cause freeze.)
  451.        Stat ERRID:       Switch OFF (Not critical, but may save time.)
  452.        Stat EXTEND:      Switch ON (Needed for the phantom command.)
  453.        Stat REPLY:       6 sec. (Timeout factor. Not critical.)
  454.        Stat RETRY:       255  (Max retransmissions. User may change.)
  455.        Stat TRIGGER:     @  (Critical value. Telenet command prompt.)
  456.        Stat WTECHO:      Switch ON  (Mandatory setting.)
  457.  
  458.        Abort the loop:   CTRL-C  (This can be done at any time)
  459.  
  460.  
  461.  
  462. -
  463. +
  464.                                     -8-
  465.  
  466.  
  467.   7. S O M E   W O R D S   O F   W I S D O M
  468.   ------------------------------------------
  469.  
  470.      Here's just a few more finishing touches now, plus review of some
  471.      of the lessons learned. There's some important new information in
  472.      here too, regarding the actual operation of this PCPFAST method of
  473.      accessing a PCP city, so please read it all very carefully to make
  474.      sure that you have a clear understanding of what you must do.
  475.  
  476.      (1)  Set up a READ file P.MEX, or whatever other name you want to
  477.           use, and store it on disk. It should contain the one-line   
  478.           SENDOUT command and string described above, with the formal 
  479.           parameter {1} in place of the area code. Remember the braces!
  480.           Also, don't forget to append the error character, "@", to the
  481.           end of the string, immediately following the "^M".
  482.  
  483.      (2)  Set up the principal stat variables, as shown just above. 
  484.           Make sure that there are no active PREFIX or SUFFIX strings.
  485.  
  486.      (3)  Set up and load your PCP.PHN and PCP.KEY files into MEX for
  487.           use with PCP. Enter all your phone numbers, strings, etc.
  488.           Don't forget to execute COLD first to clear out other data.
  489.  
  490.      (4)  CLONE this MEX config for exclusive use with PCP. And name it
  491.           MEXP.COM, perhaps. Then, when you want to use MEX for calling
  492.           PC Pursuit, just call up MEXP from CP/M, and you're all set.
  493.  
  494.      (5)  After a connection has been established with a local Telenet
  495.           node, use ESC-E to return to MEX command mode. Then key in  
  496.           P aaa [cr] to initiate the SENDOUT command in the READ file,
  497.           for area code aaa. If all modem ports in the destination PCP
  498.           city are occupied, you'll get a "BUSY" response, and MEX will
  499.           retransmit an access request approximately every 5.6 seconds.
  500.           You may abort at any time with a CTRL-C, or equivalent key. 
  501.  
  502.      (6)  When a "CONNECT" is received, you'll see it. Now do a CTRL-C
  503.           to abort the READ file. You'll probably time out, and go into
  504.           the command mode. Enter T [cr] to go into terminal mode, then
  505.           follow up with one or two [cr] entries until you see the "@"
  506.           network command prompt symbol. Now THIS IS IMPORTANT for you
  507.           to understand, so PLEASE READ CAREFULLY: As a result of what
  508.           was done to manipulate MEX, you ARE connected to the called
  509.           city at this point, but can't send any commands to its modem
  510.           because you're now in the network command mode, as indicated
  511.           by the "@" prompt.  You must be in the data transfer mode to
  512.           send commands to that modem. To go to the data transfer mode,
  513.           enter CONT [cr]. Then you may send commands to that modem in
  514.           the normal manner. Hint: Put "CONT^M" into your PCP.KEY file.
  515.           (CONT isn't a generally published Telenet command, so please
  516.           make a note of it somewhere.)
  517.  
  518.      (7)  It's probably a good idea to switch WTECHO OFF after you've 
  519.           established connection, but not essential. The ON state can 
  520.           possibly disrupt the normal operation of some keystrings. You
  521.           can easily set up READ files for turning Stat WTECHO ON and
  522.           OFF. They're much easier and faster to use than entering the
  523.           full STAT commands. I use W.MEX and WF.MEX for filenames. If
  524.           you do this, don't forget to turn WTECHO ON again before the
  525.           next PC Pursuit call is initiated.
  526.  
  527.  
  528. -
  529. +
  530.                                     -9-
  531.  
  532.  
  533.   8. T H E   F I N A L   W O R D
  534.   ------------------------------
  535.  
  536.      Good luck to everyone using this method of accessing PC Pursuit  
  537.      with MEX. It works just fine for me, and I see no reason why it  
  538.      shouldn't work just as well for anyone else. 
  539.  
  540.      Hopefully, others will do some of their own experimentation, and 
  541.      perhaps come up with improvements, suggestions, etc. which may be
  542.      beneficial to the entire CP/M - MEX user community. Constructive 
  543.      comments and feedback along such lines are sincerely requested.  
  544.  
  545.  
  546.      If anyone wants to reach me, I can be contacted as follows: 
  547.  
  548.         By U.S. Mail:    P.O. Box 1503, Havertown, PA 19083
  549.  
  550.         By voice phone:  (215) 878-9608  or 878-9609 
  551.  
  552.         By E-Mail:    Drexel Hill Northstar RCP/M  (215) 623-4040 
  553.                       Exclusive-80                 (215) 739-9512 
  554.                       (Both BBS's are accessible via PC Pursuit)
  555.  
  556.  
  557.                       -----------   Larry Lavins
  558.                                     Philadelphia, PA
  559.                                     Jan 26, 1987
  560. END OF FILE
  561.