home *** CD-ROM | disk | FTP | other *** search
- FINDRCPM Release 1.00 - Copyright (C) 1985 by George M. Sipe.
-
- Notice: This program is NOT public domain. Copyright is retained by
- George M. Sipe, 4873 Scotts Mill Way, Duluth, GA, 30136.
-
- License is granted for free use and re-distribution,
- providing such use and re-distribution contain this notice
- and copyright notice displayed upon program execution. No
- restriction is placed on commercial use, other than written
- notice of such to the copyright holder identified above.
-
- Through the generosity of hundreds of SYSOPs and the publishing
- efforts of Jud Newell, Kim Levitt, and Steve Sanders, the CP/M
- community has available to it a well documented network of remote CP/M
- systems for uploading and downloading of public domain or free use
- software. Each month Jud, Kim, or Steve electronically publish an
- updated listing of accessible systems (which they also periodically
- validate). At the time of this writing (February 1985), that list is
- in its 58th edition and contains 241 entries! On most RCP/M systems
- it is known as RCPM-058.LST (or RCPM-058.LQT in its "squeezed"
- version). Occasionally the list will be renamed to some other similar
- name (e.g. RCPM58.LQT, etc.).
-
- If you are like me, you probably are interested in a specific subset
- of the full RCP/M list. You may even keep your own list by scanning
- the full one for entries specializing in your software and hardware
- interests, are compatible with your modem, are local, or if long
- distance then are large capacity systems. In any event, you probably
- exclude certain entries, perhaps because they require a fee. Scanning
- the full list every month to update your specific list is a very time
- consuming, error prone process... something computers can certainly
- do better than you.
-
- Fortunately, Jud, Kim, and Steve maintain the list in a format which
- lends itself to programmatic scanning. This is where FINDRCPM comes
- in. FINDRCPM will scan the full monthly RCP/M list and create an
- output disk file which contains only those entries which you are
- interested in. For your reference, it will also indicate in the
- output file the selection criteria used.
-
- When executed, FINDRCPM asks only two questions. The first question
- requests the name of the specification file (default is FINDRCPM.DAT).
- You must create this file (any text editor will do) to indicate to
- FINDRCPM what selection criteria to use. By placing this information
- in a disk file, you do not have to re-enter the full selection
- criteria each time FINDRCPM is run. You can also keep multiple
- specification files if you need them (e.g. for CP/M and for PC-DOS).
- The second question will ask you for the current RCP/M list number.
- Merely enter the number - "58" for example (without the quotes). Note
- that FINDRCPM requires that the list be named "RCPM-###.LST" where
- "###" is the three digit list number (with leading zeros if
- necessary).
-
- The specification file is defined to contain three sections, separated
- from each other by a blank line. The first section is used to specify
- general selection criteria and the name of the output file. The
- second section specifies additional selection criteria for entries of
- particular interest. This section is used to select those entries
- which may not be caught by the general selection. For example: you
- may generally be interested in entries which have at least 30 MB and
- support 1200 baud, but you may also want to include entries which have
- at least 5 MB and support 300 or 1200 baud IF they also mention Forth
- or UNIX. The third section specifies entries which are to be
- unilaterally excluded. This section is used to exclude entries which
- may be a long distance call too far away or require a fee, for
- example.
-
- The specification file is case insensitive. Alphabetics will be
- listed in the output file in lower case regardless of their case in
- the specification file. They will "match" entries however, regardless
- of the case used in the entry.
-
- The order and interpretation of lines in the specification file is:
-
- (First Section - General Requirements)
-
- 1. Minimum storage in megabytes required
- (you may use a real number such as 30.25)
- 2. Transmission speed required
- (just list the single character speed codes, one line only)
- 3. Output filename
- (may use '#' symbol, which will be replaced by the list
- number in effect - RCPM-#.SUM for example)
- 4. Blank line
-
- (Second Section - Always Include)
-
- 5. Minimum storage in megabytes required
- (you may use a real number such as 5.0)
- 6. Transmission speed required
- (just list the single character speed codes, one line only)
- 7. Strings to match for inclusion
- (one string per line)
- - Blank line
-
- (Third Section - Always Exclude - Overrides Section One and Two)
-
- - Minimum storage in megabytes to match
- (you may use a real number such as 5.0)
- - Transmission speed to match
- (just list the single character speed codes, one line only)
- - Strings to match for exclusion
- (one string per line)
-
- Note that to be effective, the minimum storage specification in the
- third section should be no larger than that specified in the first two
- sections (otherwise certain entries which they could specify will not
- be candidates for exclusion). Similarly, any transmission speeds
- included in the first two sections should be also included in the
- third section. Finally, it would not make any sense to include any
- particular string in both the second and third sections (the entry
- would always be excluded).
-
- In the following example, each line in the file is commented to the
- right starting with the "<--" symbol (which would NOT actually be
- present in the specification file). The comments for section two are
- not indented as far as those of sections one and three so that you may
- more easily see where the sections are.
-
- Example FINDRCPM.DAT:
-
- Contents Sect 2 Sect 1 & 3
- ======== ====== ==========
- 30.0 <-- any entry with at least 30 MB
- b <-- AND speed codes include 'B'
- rcpm-#.sum <-- output file name ('#' will be replaced)
- <-- mandatory blank line
- 5.0 <-- if not already selected, select if at least 5 MB
- 3b <-- AND speed codes include '3' or 'B'
- forth <-- AND mention of: (subject of interest)
- unix <-- ( " " " )
- flanders <-- (entry of interest)
- rcp/m-eov <-- ( " " " )
- (404) <-- (area code of interest)
- <-- mandatory blank line
- 5.0 <-- BUT always exclude if at least 5 MB
- 3b <-- AND speed codes include '3' or 'B'
- $ <-- And mention of: (fee required)
- application <-- (application required)
- password <-- (password access only)
- registration <-- (registration required)
- apple <-- (Apple oriented)
- dec <-- (DEC oriented)
- heathkit <-- (Heathkit oriented)
- (204) <-- (Canadian area code)
- (306) <-- ( " " " )
- (403) <-- ( " " " )
- (416) <-- ( " " " )
- (514) <-- ( " " " )
- (604) <-- ( " " " )
-
- In order to function correctly, FINDRCPM must make a few assumptions
- concerning the format of the RCP/M list. For your reference, those
- assumptions are:
-
- 1. Header is terminated by a blank line.
- 2. Region names follow lines containing "=====".
- 3. States' names are on lines with '[' in column 1.
- 4. Entries have a non-blank in the first column.
- 5. Entries end with new entries or blank lines.
- 6. Specifications are in "(baud;size)" format in entries.
- 7. Specifications are on the second line of each entry.
- 8. Size is in KB unless followed by M (before ')').
- 9. The first entry starts after the first region marker.
- 10. The last entry ends at the 'region' "NOTES:".
-
- This program is compatible with most versions of Microsoft Basic,
- including CP/M-80 and IBM-PC versions. For maximum performance, it is
- suggested that this program be compiled with Microsoft BASCOM. Please
- note that I am not personally fond of BASIC. I used it because I had
- intended this program to be a temporary implementation and therefore
- was not concerned about speed or maintainability. BASIC was convenient
- for that purpose. One of my future projects is to rewrite the program
- "the right way" in either Forth or 8080 assembly, adding features and
- greatly improving execution speed. When (if?) done, I'll distribute a
- new release of it (including a CP/M .COM file for immediate use).