home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / help / help20.lbr / HELP20.HQP / HELP20.HLP
Encoding:
Text File  |  1985-06-17  |  23.3 KB  |  490 lines

  1. Welcome to the HELP Command
  2. How to Use the HELP Command
  3. Moving Around within the HELP Command
  4. HELP Command Prompts
  5. HELP Error Messages
  6. How to Write HELP Files
  7. An Explanation of the Tree Structure of the HELP Command
  8. Sample HELP Files Illustrating Use of Tree Structure
  9. Help on CP/M in general
  10. :HELP: Welcome to the HELP Command
  11.      Welcome  to the HELP Command!   The HELP Command is designed to assist 
  12. you,  the  CP/M  user,  in  the use of CP/M in general  and  specific  CP/M 
  13. commands  in  particular.   It  is  designed  as  an  interactive,  on-line 
  14. assistance system.
  15.      HELP pulls in files named <FILENAME>.HLP from disk and displays  these 
  16. to the user in a paged mode.  These files are of two basic types -- indexed 
  17. and non-indexed.
  18.  
  19.      Indexed files are those HELP files which start with an index.  This is 
  20. an  example  of  an indexed file.   When HELP loads  an  indexed  file,  it 
  21. displays  this index to the user and allows him to select entries from  it.  
  22. The  user may select as many entries as he desires in any order he  desires 
  23. by  simply typing the letter of his selection.   Once the user has made his 
  24. selection, HELP will look up the body of text he selected and display it to 
  25. him  in a paged mode.   When the user has finished reading  his  selection, 
  26. HELP  then returns him to the index menu.   Typing a Control-C  will return 
  27. the user to CP/M.
  28.      Non-indexed  files  are  those HELP files which do not start  with  an 
  29. index.   In such cases,  HELP will immediately display the contents of  the 
  30. file to the user and,  when the user has finished looking at it,  HELP will 
  31. return to CP/M.
  32.      HELP is menu-driven, and all the commands available to the user at any 
  33. given time are displayed to him.  
  34.  
  35.      HELP  can  be a very useful tool for on-line reference to  the  user.  
  36. It,  in  conjunction with the many HELP files now available,  has  already 
  37. proven to be of significant value.
  38.                                              Richard Conn
  39. :HELP: How to Use the HELP Command
  40.      The HELP Command is executed in one of three ways:
  41.           (1) by just typing 'HELP'
  42.           (2) by typing 'HELP FILENAME', where FILENAME
  43.               is the name of a disk file named FILENAME.HLP
  44.           (3) by typing 'HELP FILENAME.TYP', where
  45.               FILENAME.TYP is the name of a file created in
  46.               the format of a help file
  47.  
  48.      If the user types just 'HELP',  he may  receive the HELP.HLP help file 
  49. (now being displayed to you).  For all other forms of the HELP command, the 
  50. user will see the specified help file information.  Generally speaking, the 
  51. name  of the help file should be indicative of its  subject,  like  CPM.HLP 
  52. should contain help information on CP/M.
  53.      HELP  can be configured in many different ways.   One such way causes 
  54. the  simple  command  'HELP'  to display to the  user  the  names  of  the 
  55. accessable  HLP  files  (as  opposed to the file HELP.HLP)  and  then  the 
  56. default HELP information built into HELP itself.
  57.  
  58.                       The HELP File Search Hierarchy
  59.  
  60.      Whenever  HELP looks for a specified HELP File (either from the  HELP 
  61. Command  or  from  an  Information Section which  specifies  a  Node  [see 
  62. later]),  HELP will perform a search for the indicated file.   This search 
  63. goes as follows:
  64.  
  65.           1.   The  current user area on the current disk will be examined 
  66. for the file and the file will be loaded if found.
  67.           2.  If the user is not in the User Area 0 (default, which may be 
  68. changed),  User  Area 0 (or the default user area if different from 0)  on 
  69. the current disk will be examined for the file and the file will be loaded 
  70. if found.
  71.           3.   If the user is not on Drive A:, User Area 0 (or the default 
  72. user area if different from 0) on Drive A:  will be examined for the  file 
  73. and the file will be loaded if found.
  74.           4.   If the file is HELP.HLP, then the internal HELP File within 
  75. the HELP Command itself will be displayed.
  76.           5.   If  the above steps fail,  an error message will be printed 
  77. and control returned to CP/M.
  78.  
  79. :HELP: Moving Around within the HELP Command
  80.      Once the user is running HELP, he is given a set of commands by which 
  81. he can display the particular items of information he is interested in.
  82.  
  83.      After  issuing the HELP command,  the user will come up in one of two 
  84. modes (depending on the type of HELP file referenced).  In Indexed Mode, a 
  85. Menu  of  topics is displayed to the user and he can  select  the  desired 
  86. topic  by  typing the letter in front of the topic title;  in  Non-Indexed 
  87. Mode,  no  menu  is  displayed  and  the entire  file  is  viewed  as  one 
  88. Information Section.
  89.  
  90.      An Information Section is a collection of sequential screen  displays 
  91. (one  screen  full  of text) called  Frames.   Typically,  an  Information 
  92. Section should contain a logical grouping of related data on a  particular 
  93. topic.  In Indexed Mode, each Menu topic refers to an Information Section.  
  94. By selecting a topic,  the user is placed into an Information Section.  In 
  95. Non-Indexed Mode, the entire HELP file is one Information Section.
  96.  
  97.  
  98.                            Moving From the Menu
  99.  
  100.      At  the Menu of a HELP file,  the user has two basic options.   These 
  101. options  are to select a Menu topic to review or to exit to  CP/M.   If  a 
  102. Menu topic is selected, the user is placed into that Information Section.
  103.      A  third  option at the Menu of a HELP file is also  available  some-
  104. times.   This  option  is to move up to the  previous  HELP  Level.   Some 
  105. Information  Sections are entire HELP files in their own right,  which can 
  106. be accessed independently of the HELP file the user is currently  in.   If 
  107. the user enters one of these Information Sections, the name of the current 
  108. HELP  file is saved and the new HELP file is loaded.   When this  happens, 
  109. the user is placed at the next HELP Level (an ascending number,  where the 
  110. original HELP file is at HELP Level 0,  a HELP file called from this level 
  111. is at HELP Level 1, a HELP file called from this level is at HELP Level 2, 
  112. etc.).   When the user is at a lower HELP Level (user is NOT at HELP Level 
  113. 0),  he  has  the option to move to the next higher HELP Level (from  HELP 
  114. Level 1 to HELP Level 0, for example).
  115.  
  116.  
  117.      The concept of moving between HELP Levels is derived from the concept 
  118. of a Tree data structure from Computer Science.  In this concept, the user 
  119. starts  at  the root of the tree and then climbs up and down the  tree  to 
  120. various levels,  or nodes.   From each node,  the user may only move up or 
  121. down  the tree -- he can't cross over to a node at the same level  without 
  122. first moving down the tree and then back up.   To illustrate, consider the 
  123. following:
  124.      Node A      Node B                                        HELP Level
  125.    _________   ____________                                         5
  126.      \  Node C   /
  127.      --------------                                                 4
  128.            \  Node D            Node E
  129.          ------------         ----------------                      3
  130.                \       Node F       /        Node G
  131.              ---------------------------   -----------              2
  132.                          \         Node H    /        Node I
  133.                        --------------------------    -------        1
  134.                                    \         Node J    /
  135. Root of Tree -->                 --------------------------         0
  136.  
  137.      In  the above example,  the user must always start at the root of the 
  138. tree (Node J).  This is analogous to HELP Level 0, which is where the user 
  139. is place when he issues the HELP Command.   To get to Node C, for example, 
  140. the  user has to climb the tree from Node J to Node H to Node F to Node  D 
  141. to Node C.   This would be like the user entering 4 Node-Type  Information 
  142. Sections, in which different HELP files are successively loaded.
  143.      Now that the user is at Node C, let's say that he wants to go to Node 
  144. E.  Under the HELP System, there are two ways to do this:
  145.           1.   Jump  off  of  the tree and then climb back up to  Node  E.  
  146. Here,  the user would jump from Node C to Node J and then go to Node H  to 
  147. Node F to Node E.  Under HELP, the user can do this by exiting to CP/M and 
  148. then  reissuing the HELP Command or by issuing the Root Command (.);  once 
  149. at  the  root  of  the tree,  he then climbs  it  again  by  entering  the 
  150. appropriate Information Sections.
  151.           2.   Climb down the tree and then back up.   The user would move 
  152. from Node C to Node D to Node F and then back up to Node E.  The HELP user 
  153. can go to the previous level by issuing the Up Level (^) command.  In this 
  154. example, he would Up Level twice and then go back down.
  155.  
  156.                    Moving Within An Information Section
  157.  
  158.      Once the user is within a textual Information Section, he has several 
  159. capabilities for moving within this section and out of this section.
  160.  
  161.      First,  to move out of an Information Section, the user can return to 
  162. the  menu (if the current HELP file is Indexed) or return to CP/M.   Addi-
  163. tionally,  if the user is not on the root (HELP Level 0), he can return to 
  164. the previous HELP Level (Up Level).  If the user is not in an Indexed HELP 
  165. file,  moving forward beyond the End of Information (EOI) will return  him 
  166. to  CP/M if he is at HELP Level 0 or return him to the previous HELP Level 
  167. if not.
  168.  
  169.      To move within an Information Section, the data is typically arranged 
  170. sequentially.   Consequently, the user can move Forward to the next Frame, 
  171. Backward  to the previous Frame,  or to the beginning of  the  Information 
  172. Section.  Naturally, the user cannot move backward beyond the beginning of 
  173. the Information Section.   Also,  if the user tries to move forward beyond 
  174. the End of Information (EOI),  he is either returned to the Menu, returned 
  175. to CP/M, or returned to the previous HELP Level as described above.
  176.  
  177. :HELP: HELP Command Prompts
  178.      The  following  are  the basic prompts for user  command  which  HELP 
  179. displays to the user and their meanings.
  180.  
  181. ^C=CP/M  ^=Level  .=Root  M=Menu  S=Start  L=Last  CR=Next -
  182.     \        \       \        \       \       \       \__Goto Next Frame
  183.      \        \       \        \       \       \__Goto Last (Previous) Frame
  184.       \        \       \        \       \__Goto Start of Info Section
  185.        \        \       \        \__Goto Menu of HELP File
  186.         \        \       \__Goto Root if NOT at Level 0
  187.          \        \           (this is displayed only if NOT at Level 0)
  188.           \        \__Goto Previous Level
  189.            \            (this is displayed only if NOT at Level 0)
  190.             \__Return to CP/M
  191.          
  192.   EOI   ^C=CP/M  ^=Level  .=Root  M=Menu  S=Start  L=Last  CR=Next -
  193.    \        \________\_______\________\_______\_______\_______\__Same as
  194.     \                                                            Above
  195.      \__User is at the End of Information (end of Information Section)
  196.  
  197. Type  ^C=CP/M ^=Level .=Root or Enter Selection -
  198.           \        \       \            \__Enter letter of desired
  199.            \        \       \                Information Section
  200.             \        \       \__Goto Root
  201.              \        \           (this is displayed only if NOT at Level 0)
  202.               \        \__Goto Previous Level
  203.                \            (this is displayed only if NOT at Level 0)
  204.                 \__Return to CP/M
  205.  
  206.  
  207.      Preceeding  each  of  the above prompts is an indicator of  the  HELP 
  208. Level and Frame Number the user is currently at.   This indicator may take 
  209. the following forms:
  210.  
  211. <Nothing>
  212.      \__The user is at the Menu of Level 0
  213.  
  214. fff:
  215.  \__Current Frame Number within Information Section
  216.       (the user is at Level 0)
  217.  
  218. Level lll/
  219.        \__Current Level Number (The user is at a Menu Frame)
  220.             (this is displayed only if the user is NOT at Level 0)
  221.  
  222. Level lll/fff:
  223.        \   \__Current Frame Number within Information Section
  224.         \__Current Level Number
  225.              (this is displayed only if the user is NOT at Level 0)
  226.  
  227.  
  228.                           Summary of User Commands
  229.  
  230.      Cmd  Meaning
  231.       ^   Go to Previous Level
  232.       .   Go to Root Level
  233.       M   Go to Menu of Current HELP File
  234.       S   Go to Start of Information Section
  235.       L   Go to Previous Frame
  236.      CR   (Carriage Return or Space) Go to Next Frame
  237.      ^C   (Control-C) Return to CP/M
  238.  
  239. :HELP: HELP Error Messages
  240.      The  following  are  the  error messages issued  by  HELP  and  their 
  241. meanings.
  242.  
  243. HELP FATAL ERROR -- File not Found
  244.      The specified HELP File cannot be found.
  245.  
  246. HELP ERROR -- Invalid Response
  247.      The user issued an invalid command.
  248.  
  249. HELP ERROR -- EOF on HELP File
  250.      In searching for an Information Section, HELP ran into the end of the 
  251. HELP  File.   The  Indexed HELP File is improperly structured (more  index 
  252. entries than Information Sections).
  253.  
  254. HELP ERROR -- HELP File NOT Terminated by ^Z
  255.      In loading a specified HELP File,  the last record was not terminated 
  256. by  a Ctrl-Z character,  which is the CP/M End of File Mark.   There is  a 
  257. suspected HELP File structure error.  If the HELP File specified is indeed 
  258. what  you  wanted,  edit  it and place a blank line at the  end  for  good 
  259. measure.
  260.  
  261. HELP ERROR -- Not Possible to Backup Before Start of Info
  262.      An  L Command was issued when the current Frame was the beginning  of 
  263. the current Information Section.
  264.  
  265. HELP ERROR -- Node Level Limit Reached -- Aborting
  266.      The limit of the nesting of the HELP Levels is exceeded.  HELP limits 
  267. the number of HELP Levels that can be traversed to 10 (default,  which can 
  268. be changed),  and an attempt was made to enter HELP Level 11 (or default + 
  269. 1).
  270.  
  271. HELP ERROR -- Invalid File Name in Load
  272.      An  Information  Section which is trying to load a node (go  to  next 
  273. HELP Level) contains an invalid file name.
  274.  
  275. HELP ERROR -- No Higher Level to Return to
  276.      An attempt was made to go to a HELP Level previous to HELP Level 0 (^ 
  277. Command issued from HELP Level 0).
  278.  
  279.  
  280. HELP ERROR -- Not Enough Room for HELP File
  281.      The selected HELP File is too large to load into the available memory 
  282. in  the user's computer system.   The HELP File should be reduced in size; 
  283. using HELP Levels (Node references) in the Information Sections is a  good 
  284. way to do this.
  285.  
  286. HELP FATAL ERROR -- File Name Contains Wild Card
  287.      The indicated HELP file name contains either an '*' or '?' wild card.  
  288. This is not permitted.
  289.  
  290. :HELP: How to Write HELP Files
  291.      Files  used by the HELP program are either simple CP/M-standard  files 
  292. of   ASCII   text  or  ASCII  files  generated  by  the  Word   Star   text 
  293. editor/formatter.  These files, as mentioned above, are of two basic types: 
  294. indexed  and non-indexed,  and each type is related to the other and is  of 
  295. the same basic format.
  296.  
  297.                           Grouping of Information
  298.  
  299.      Information displayed to the user is grouped by the index in  indexed 
  300. HELP  files and may also be grouped by lines beginning with Form Feed (^L) 
  301. characters.   Grouping is an effective way to logically organize  informa-
  302. tion  so that meaning will be more clear to the user and units of informa-
  303. tion will not pass between screen displays.
  304.  
  305.      The information displayed to the user is organized into logical units 
  306. called Information Sections and screen displays (one screen full of  text) 
  307. called Frames.  Using text editors, the user can create his own HELP files 
  308. and organize his information as he desires for display to the HELP user.
  309.  
  310.  
  311.                           Non-Indexed HELP Files
  312.  
  313.      Non-indexed HELP files are simple ASCII files which start with a colon 
  314. (:) as the first character of the file and consist of ASCII text (with each 
  315. line terminated by a carriage return/line feed character combination).  The 
  316. information  in  such  a help file consists of all text after  the  leading 
  317. colon  up to either the terminating end-of-file mark (control-Z) or  a  new 
  318. line which starts with a colon.
  319.  
  320.  
  321.                             Indexed HELP Files
  322.  
  323.      Indexed  HELP  files are simple ASCII files which do not start with  a 
  324. colon  (:)  as the first character of the file.   This type  of  HELP  file 
  325. consists  of one or more normal ASCII text lines as the first lines of  the 
  326. file  followed by information sections which begin with a line whose  first 
  327. character  is  a  colon  and end with either the first  line  of  the  next 
  328. information section or the end of the file.
  329.  
  330.  
  331.                 Tree Structures within Indexed HELP Files
  332.  
  333.      As mentioned above, the Indexed HELP File is divided into Information 
  334. Sections,  where each Information Section starts with a colon (:).   There 
  335. are two basic types of Information Section:
  336.  
  337.           1.   Information Sections containing textual material; this type 
  338. of Information Section simply contains reading material which is organized 
  339. into Frames, where a Frame is equal to one screen display.
  340.           2.   Information Sections which reference other HELP files; this 
  341. type of Information Section begins with two colons (::) instead of one  as 
  342. in  (1) above;  the two colons are immediately followed by the name of the 
  343. HELP file (the HELP file type may be optionally specified).
  344.  
  345.      To illustrate,  the following outlines the structure of the two types 
  346. of Information Sections:
  347.  
  348.  :Title for Type 1 Information Section
  349.      <text>
  350.  : [next Information Section]
  351.  
  352.                Figure:  A Text (Type 1) Information Section
  353.  
  354.  
  355.  ::HLPFILE                    <-- for HLPFILE.HLP
  356.  : [next Information Section]
  357.  
  358.  ::HLPFILE.TYP                <-- for HLPFILE.TYP
  359.  : [next Information Section]
  360.  
  361.          Figure:  Examples of Node (Type 2) Information Sections
  362.  
  363.  
  364. :HELP: The Tree Structure of HELP
  365.         -- Basic HELP File --
  366.   :Info Sect 1    :Info Sect 2    :Info Sect 3    :Info Sect 4 :
  367.   : Text    : HELP File    : Text        : HELP File  :
  368.             /      \               /    \
  369.          -- SubHelp File 1 --        -- SubHelp File 2 --
  370.         :Info Sect 1 :Info Sect 2 :    :Info Sect 1 :Info Sect2
  371.      : Text         : HELP File  :    : Text         : Text
  372.              /    \
  373.          -- SubSubHelp File 1 --
  374.      :Info Sect 1 :Info Sect 2 :Info Sect 3 :
  375.      : Text         : HELP File  : HELP File  :
  376.              /  \         /    \
  377.      -- Sub3Help File 1 --  -- Sub3Help File 2 --
  378.      :Info Sect :        :Info Sect 1 :Info Sect 2:
  379.      : Text     :        : Text         : HELP File :
  380.                          /    \
  381.                      -- Sub4Help File --
  382.                  :Info Sect 1 :Info Sect 2:
  383.                  : Text         : Text     :
  384.  
  385.                    Figure:  Sample HELP File Structure
  386.  
  387.      The  above diagram is meant to illustrate how tree structures can  be 
  388. implemented under Versions 1.4 and beyond of HELP.  As the user can see, a 
  389. new  node of the tree is created whenever a HELP file is referenced by  an 
  390. Information  Section (as opposed to simply having text in the  Information 
  391. Section).   Each  node  becomes the base of a new tree,  which itself  may 
  392. contain references to other HELP files.
  393.  
  394.      From  the previous diagram (feel free to refer back to  it),  SubHelp 
  395. Level  3 contains two HELP files.   These can be entered from  Information 
  396. Section 2 and Information Section 3 of SubHelp Level 2.   By simply enter-
  397. ing  one of these two Information Sections,  the appropriate HELP file  is 
  398. loaded and the user is placed at the next level.   From these HELP  files, 
  399. the  user may move within the HELP file itself or move up to the  previous 
  400. level (naturally, the user always has the option to exit to CP/M).
  401.  
  402. :HELP: Sample HELP Files Illustrating Use of Tree Structure
  403.      The  following  Frames  show the source to three  HELP  Files,  named 
  404. DEMO.HLP, DEMO2.HLP, and DEMO3.HLP.  DEMO.HLP is provides the Root Node to 
  405. a tree which includes DEMO2.HLP and DEMO3.HLP as subnodes.   Additionally, 
  406. DEMO3.HLP has a subnode which references DEMO.HLP,  so we have a recursive 
  407. tree structure.
  408.  
  409.  
  410.                                  DEMO.HLP
  411.  TEST 1 - OK                  <-- Menu
  412.  TEST 2 - SIMPLE NEST
  413.  TEST 3 - INVOLVED NEST
  414.  TEST 4 - OK
  415.  :TEST 1                      <-- First Info Section (Text)
  416.  THIS
  417.  IS 
  418.  TEST
  419.  1
  420.  ::DEMO2                      <-- 2nd Info Section (Node)
  421.  ::DEMO3                      <-- 3rd Info Section (Node)
  422.  :TEST 4                      <-- 4th Info Section (Text)
  423.  TO BE, OR NOT TO BE, THAT IS THE QUESTION!
  424.  WHETHER 'TIS NOBLER TO SUFFER THE SLINGS AND ARROWS OF OUTRAGEOUS FORTUNE
  425.  OR TO TAKE ARMS AGAINST A SEA OF TROUBLES AND BY OPPOSING END THEM.
  426.  TO DIE, TO SLEEP ... TO SLEEP, PERCHANCE TO DREAM.
  427.  AYE, THERE'S THE RUB!  FOR IN THAT SLEEP, WHAT DREAMS MAY COME!
  428.  
  429.                                 DEMO2.HLP
  430.  :TEST 2                       <-- No Menu -- 1 Info Section
  431.  THIS
  432.  IS
  433.  TEST
  434.  2
  435.  
  436.                                 DEMO3.HLP
  437.  TEST 3A                       <-- Menu
  438.  TEST 3B
  439.  TEST 3C
  440.  :TEST 3A                      <-- First Info Section (Text)
  441.     THIS
  442.     IS
  443.     TEST
  444.     3A
  445.     the rain in Spain falls mainly in the plain
  446.  
  447.  :TEST 3B                      <-- 2nd Info Section (Text)
  448.     THIS
  449.     IS
  450.     TEST
  451.     3B
  452.  ::demo                        <-- 3rd Info Section (Node)
  453.  
  454.  
  455. :HELP: General Information on CP/M
  456.      CP/M is a monitor control program for microcomputer system development 
  457. which  uses IBM-compatible flexible disks (floppy disks) for mass  storage.  
  458. Using  a  microcomputer  mainframe  based on Intel's 8080  or  Zilog's  Z80 
  459. microprocessor,   CP/M   provides   a  general  environment   for   program 
  460. construction,  storage,  and editing, along with assembly and program debug 
  461. facilities.   An important feature of CP/M is that it can be easily altered 
  462. to  execute  with any computer configuration which uses an  Intel  8080  or 
  463. Zilog  Z80 Microprocessor and has at least 16K bytes of main memory with up 
  464. to four IBM-compatable diskette drives.
  465.      The  CP/M monitor provides access to programs through a  comprehensive 
  466. file  management  system.    The  file  subsystem  supports  a  named  file 
  467. structure,  allowing dynamic allocation of file space as well as sequential 
  468. and  random  file access.   Using this file system,  a up  to  64  distinct 
  469. programs can be stored in both source and machine-executable form.
  470.      Digital  Research,  the  designer of CP/M,  has provided a set of  six 
  471. manuals which describe the use and operation of CP/M in detail.
  472.  
  473.      These manuals are:
  474.           1.  An Introduction to CP/M Features and Facilities
  475.           2.  ED:  A Context Editor for the CP/M Disk System
  476.           3.  ASM:  CP/M Assembler User's Manual
  477.           4.  DDT:  CP/M Dynamic Debugging Tool User's Manual
  478.           5.  CP/M Interface Guide
  479.           6.  CP/M System Alteration Guide
  480.  
  481.      As the reader can see,  CP/M supports a context editor,  an  assembler 
  482. (Intel-compatable),  and  a  debugger system.   These are available in  the 
  483. basic CP/M package.   There is a large variety of other software  available 
  484. which  can  run under CP/M with little or no modification.   Such  software 
  485. includes  several  assemblers (both 8080 and  Z80),  a  symbolic  debugger, 
  486. several  high-level  languages (including FORTRAN  IV  {compiler},  BASIC-E 
  487. {translator},  CBASIC {translator}, many interpretive BASICs, ALGOL, FOCAL, 
  488. and  C),  and  several special-purpose applications programs (such as  text 
  489. formatting systems and accounting systems).
  490.