Welcome to the HELP Command How to Use the HELP Command Moving Around within the HELP Command HELP Command Prompts HELP Error Messages How to Write HELP Files An Explanation of the Tree Structure of the HELP Command Sample HELP Files Illustrating Use of Tree Structure :HELP: Welcome to the HELP Command Welcomå tï thå HELÐ Command¡ Thå HELÐ Commanä ió designeä tï assisô you¬  thå CP/Í user¬ iî thå uså oæ CP/Í iî generaì anä specifiã CP/Í commandó iî particular®  Iô ió designeä aó aî interactive¬ on-linå assistancå system. HELР pulló  iî  fileó nameä .HLР froí  disë  anä displayó theså tï thå useò iî á pageä mode®  Theså fileó arå oæ twï basiã typeó -- indexeä anä non-indexed. Indexeä  fileó  arå  thoså HELÐ fileó whicè  starô  witè  aî index®  Thió  ió aî examplå oæ aî indexeä file®  Wheî  HELÐ loadó  aî indexeä file¬  iô displayó thió indeø tï thå  useò anä  allowó hií tï selecô entrieó froí it®  Thå useò maù selecô aó manù entrieó aó hå desireó iî anù ordeò hå desireó bù simplù typinç thå letteò oæ hió selection®  Oncå thå useò haó madå hió selection¬  HELР wilì looë uð thå bodù oæ texô hå  selecteä  anä displaù iô tï hií iî á pageä mode®  Wheî thå useò haó finisheä readinç  hió  selection¬  HELÐ theî returnó hií tï  thå  indeø menu® Typinç á Control-à wilì returî thå useò tï CP/M. Non-indexeä fileó arå thoså HELÐ fileó whicè dï noô starô witè aî index®  Iî sucè cases¬  HELÐ wilì immediatelù displaù thå  contentó  oæ thå filå tï thå useò and¬  wheî thå useò  haó finisheä lookinç aô it¬ HELÐ wilì returî tï CP/M. HELÐ ió menu-driven¬  anä alì thå commandó availablå tï  thå useò aô anù giveî timå arå displayeä tï him® Thå  versioî oæ HELÐ describeä iî thió HLÐ filå ió  designeä tï  worë witè thå ZCPR² systeí anä takå advantagå oæ somå oæ  itó special features. Richard Conn :HELP: How to Use the HELP Command The HELP Command is executed in one of three ways: (1) by just typing 'HELP' (2) by typing 'HELP FILENAME', where FILENAME is the name of a disk file named FILENAME.HLP (3) by typing 'HELP FILENAME.TYP', where FILENAME.TYP is the name of a file created in the format of a help file Iæ  thå useò typeó jusô 'HELP'¬  hå wilì receivå á lisô  oæ thå availablå HELÐ Fileó anä mù elecô tï reaä thå basiã  HELP.HLÐ file® Foò alì otheò formó oæ thå HELÐ command¬ thå useò wilì seå thå  specifieä helð filå information®  Generallù  speaking¬  thå namå  oæ  thå  helð filå shoulä bå indicativå oæ  itó  subject¬ likå CPM.HLÐ shoulä contaiî helð informatioî oî CP/M. The HELP File Search Hierarchy Wheneveò HELÐ lookó foò á specifieä HELÐ Filå (eitheò  froí thå  HELР Commanä  oò  froí aî  Informatioî  Sectioî  whicè specifieó á Nodå [seå later])¬ HELÐ wilì perforí á searcè foò thå indicateä file® Thió searcè goeó aó follows: 1®  Undeò  ZCPR2¬  HELР caî bå seô uð tï  follo÷  thå externaì path®  Aó such¬  HELÐ wilì searcè thå currenô directorù (disë  anä  user©  first®  Iæ iô ió noô seô  uð  tï  searcè  thå external path, it will search along its internal path. 2®  Iæ  thå  HLÐ filå ió noô founä undeò  thå  currenô directory¬ HELÐ wilì searcè alonç thå ZCPR² patè foò it. (Continued Next Frame) HELP File Search Hierarchy, Continued 3®  Iæ thå HLÐ filå ió noô founä alonç thå ZCPR² path¬ theî HELÐ wilì searcè alonç itó internaì patè foò thå file® Thió ió á majoò differencå betweeî HELÐ anä otheò ZCPR² utilities® Tï configurå  HELР witè GENINS¬  yoõ shoulä firsô telì GENINÓ  thaô HELÐ doeó noô uså externaì paths¬  definå thå internaì path¬  anä theî telì GENINÓ thaô HELÐ useó externaì pathó anä wherå thå patè begins. 4®  Iæ  thå HLÐ filå ió noô found¬  HELР wilì  eitheò displaù  thå nameó oæ thå HLÐ fileó alonç thå patè anä prinô  itó internaì documentatioî oò finä thå filå HELP.HLÐ anä prinô that. :HELP: Moving Around within the HELP Command Oncå thå useò ió runninç HELP¬ hå ió giveî á seô oæ commandó bù whicè hå caî displaù thå particulaò itemó oæ informatioî hå ió interesteä in. Afteò  issuinç thå HELÐ command¬  thå useò wilì comå uð iî onå oæ twï modeó (dependinç oî thå typå oæ HELÐ filå referenced)® Iî Indexeä Mode¬  á Menõ oæ topicó ió displayeä tï thå useò anä hå  caî  selecô thå desireä topiã bù typinç  thå  letteò  iî fronô  oæ thå topiã title»  iî Non-Indexeä Mode¬  nï menõ ió displayeä anä thå entirå filå ió vieweä aó onå Informatioî Section. Aî  Informatioî Sectioî ió á collectioî oæ screeî  displayó (onå  screeî fulì oæ text© calleä  Frames®  Typically¬  aî Informatioî Sectioî shoulä contaiî á logicaì groupinç oæ  relateä datá  oî á particulaò topic®  Iî Indexeä Mode¬  eacè Menõ topiã referó tï aî Informatioî Section® Bù selectinç á topic¬ thå useò ió placeä intï aî Informatioî Section®  Iî Non-Indexeä Mode¬ thå entirå HELÐ filå ió onå Informatioî Section. Moving From the Menu Aô  thå  Menõ  oæ á HELÐ file¬  thå  useò  haó  twï  basiã options® Theså optionó arå tï selecô á Menõ topiã tï revie÷ oò tï  exiô tï CP/M®  Iæ á Menõ topiã ió selected¬  thå useò  ió placeä intï thaô Informatioî Section. Á  thirä  optioî aô thå Menõ oæ á HELÐ filå  ió  sometimeó available®  Thió  optioî  ió tï movå uð tï thå previouó  HELÐ Level®  Somå  Informatioî  Sectionó arå entirå HELР fileó  iî theiò owî right¬ whicè caî bå accesseä independentlù oæ thå HELÐ filå thå useò ió currentlù in® Iæ thå useò enteró onå oæ theså Informatioî Sections¬ thå namå oæ thå currenô HELÐ filå ió saveä anä thå ne÷ HELÐ filå ió loaded®  Wheî thió happens¬  thå useò ió placeä aô thå nexô HELÐ Leveì (aî ascendinç number¬ wherå thå originaì HELÐ filå ió aô HELÐ Leveì 0¬  á HELÐ filå calleä  froí thió leveì ió aô HELÐ Leveì 1¬ á HELÐ filå calleä froí thió leveì ió  aô HELÐ Leveì 2¬  etc.)®  Wheî thå useò ió aô á loweò  HELÐ Leveì (useò ió NOÔ aô HELÐ Leveì 0)¬ hå haó thå optioî tï movå tï  thå nexô higheò HELÐ Leveì (froí HELÐ Leveì ± tï HELР Leveì 0¬ foò example). Thå  concepô  oæ movinç betweeî HELÐ Leveló ió deriveä  froí thå concepô oæ á Treå datá structurå froí Computeò  Science®  Iî thió concept¬  thå useò startó aô thå rooô oæ thå treå anä theî climbó  uð  anä  dowî thå treå tï variouó  levels¬  oò  nodes® Froí eacè node¬  thå useò maù onlù movå uð oò dowî thå treå  -- hå  can'ô  crosó oveò tï á nodå aô thå samå leveì withouô  firsô movinç dowî thå treå anä theî bacë up®  Tï illustrate¬ consideò thå following: Node A Node B HELP Level _________ ____________ 5 \ Node C / -------------- 4 \ Node D Node E ------------ ---------------- 3 \ Node F / Node G --------------------------- ----------- 2 \ Node H / Node I -------------------------- ------- 1 \ Node J / Root of Tree --> -------------------------- 0 Iî  thå abovå example¬  thå useò musô alwayó starô aô  thå rooô  oæ thå treå (Nodå J)®  Thió ió analogouó tï HELÐ Leveì  0¬ whicè ió wherå thå useò ió placå wheî hå issueó thå HELÐ Command® Tï geô tï Nodå C¬  foò example¬  thå useò haó tï climâ thå  treå froí  Nodå  Ê tï Nodå È tï Nodå Æ tï Nodå Ä tï  Nodå  C®  Thió woulä   bå  likå  thå  useò  enterinç  ´  Node-Typå  Informatioî Sections¬ iî whicè differenô HELÐ fileó arå successivelù loaded. No÷ thaô thå useò ió aô Nodå C¬  let'ó saù thaô hå wantó  tï gï  tï Nodå E®  Undeò thå HELÐ System¬  therå arå twï wayó tï dï this: 1®  Jumð ofæ oæ thå treå anä theî climâ bacë uð tï Nodå  E®  Here¬  thå useò woulä jumð froí Nodå à tï Nodå Ê  anä theî gï tï Nodå È tï Nodå Æ tï Nodå E® Undeò HELP¬ thå useò caî dï  thió bù exitinç tï CP/Í anä theî reissuinç thå HELР Commanä oò bù issuinç thå Rooô Commanä (.)»  oncå aô thå rooô oæ thå tree¬  hå theî climbó iô agaiî bù enterinç thå  appropriatå Informatioî Sections. 2®  Climâ dowî thå treå anä theî bacë up®  Thå useò woulä  movå  froí Nodå à tï Nodå Ä tï Nodå Æ anä theî bacë uð  tï Nodå  E®  Thå HELÐ useò caî gï tï thå previouó leveì bù  issuinç thå  Uð Leveì (^© command®  Iî thió example¬  hå woulä Uð  Leveì twicå anä theî gï bacë down. Moving Within An Information Section Oncå  thå useò ió withiî á textuaì Informatioî  Section¬  hå haó  severaì capabilitieó foò movinç withiî thió sectioî anä  ouô oæ thió section. First¬  tï movå ouô oæ aî Informatioî Section¬ thå useò caî returî  tï  thå menõ (iæ thå currenô HELÐ filå  ió  Indexed©  oò returî tï CP/M®  Additionally¬  iæ thå useò ió noô oî thå rooô (HELР Leveì  0)¬  hå caî returî tï thå previouó HELР Leveì  (Uð Level)®  Iæ  thå  useò ió noô iî aî Indexeä HELР file¬  movinç forwarä  beyonä thå Enä oæ Informatioî (EOI© wilì returî hií  tï CP/Í iæ hå ió aô HELÐ Leveì ° oò returî hií tï thå previouó  HELÐ Leveì iæ not. Tï movå withiî aî Informatioî Section¬ thå datá ió typicallù arrangeä sequentially®  Consequently¬ thå useò caî movå Forwarä tï  thå nexô Frame¬  Backwarä tï thå previouó Frame¬  oò tï thå beginninç  oæ thå Informatioî  Section®  Naturally¬  thå  useò cannoô  movå  backwarä  beyonä thå beginninç oæ  thå  Informatioî Section®  Also¬  iæ thå useò trieó tï movå forwarä beyonä  thå Enä  oæ  Informatioî (EOI)¬  hå ió eitheò returneä tï thå  Menu¬ returneä  tï  CP/M¬  oò returneä tï thå previouó  HELР Leveì  aó describeä above. :HELP: HELP Command Prompts Thå  followinç  arå thå basiã promptó foò  useò  commanä whicè HELÐ displayó tï thå useò anä theiò meanings. ^C=CP/M ^=Level .=Root M=Menu S=Start L=Last CR=Next - \ \ \ \ \ \ \__Goto Next Frame \ \ \ \ \ \__Goto Last (Previous) Frame \ \ \ \ \__Goto Start of Info Section \ \ \ \__Goto Menu of HELP File \ \ \__Goto Root if NOT at Level 0 \ \ (this is displayed only if NOT at Level 0) \ \__Goto Previous Level \ (this is displayed only if NOT at Level 0) \__Return to CP/M EOI ^C=CP/M ^=Level .=Root M=Menu S=Start L=Last CR=Next - \ \________\_______\________\_______\_______\_______\__Same as \ Above \__User is at the End of Information (end of Information Section) Type ^C=CP/M ^=Level .=Root or Enter Selection - \ \ \ \__Enter letter of desired \ \ \ Information Section \ \ \__Goto Root \ \ (this is displayed only if NOT at Level 0) \ \__Goto Previous Level \ (this is displayed only if NOT at Level 0) \__Return to CP/M Preceedinç  eacè oæ thå abovå promptó ió aî indicatoò  oæ thå HELÐ Leveì anä Framå Numbeò thå useò ió currentlù at® Thió indicatoò maù takå thå followinç forms: \__The user is at the Menu of Level 0 fff: \__Current Frame Number within Information Section (the user is at Level 0) Level lll/ \__Current Level Number (The user is at a Menu Frame) (this is displayed only if the user is NOT at Level 0) Level lll/fff: \ \__Current Frame Number within Information Section \__Current Level Number (this is displayed only if the user is NOT at Level 0) Summary of User Commands Cmd Meaning ^ Go to Previous Level . Go to Root Level M Go to Menu of Current HELP File S Go to Start of Information Section L Go to Previous Frame CR (Carriage Return or Space) Go to Next Frame ^C (Control-C) Return to CP/M :HELP: HELP Error Messages Thå  followinç  arå thå erroò messageó issueä bù  HELÐ anä theiò meanings: HELP FATAL ERROR -- File not Found The specified HELP File cannot be found. HELP FATAL ERROR -- File Name Contains Wild Car Thå  specifieä HELÐ Filå containó thå characteò "*¢ oò  "?"® Thió ió noô alloweä sincå iô specifieó aî ambiguouó name. HELP ERROR -- Invalid Response The user issued an invalid command. HELP ERROR -- EOF on HELP File Iî searchinç foò aî Informatioî Section¬  HELÐ raî intï  thå enä  oæ  thå HELÐ File®  Thå Indexeä HELÐ Filå ió  improperlù structureä (morå indeø entrieó thaî Informatioî Sections). HELP ERROR -- Not Possible to Backup Before Start of Info Aî  Ì  Commanä  waó issueä wheî thå currenô Framå  waó  thå beginninç oæ thå currenô Informatioî Section. HELP ERROR -- Node Level Limit Reached -- Aborting Thå  limiô  oæ thå nestinç oæ thå HELÐ Leveló  ió  exceeded® HELÐ limitó thå numbeò oæ HELÐ Leveló thaô caî bå traverseä tï 1° (default¬  whicè  caî bå changed)¬  anä aî attempô waó madå  tï enteò HELÐ Leveì 1± (oò defaulô « 1). HELP ERROR -- Invalid File Name in Load Aî Informatioî Sectioî whicè ió tryinç tï loaä á nodå  (gï tï nexô HELÐ Level© containó aî invaliä filå name. HELP ERROR -- No Higher Level to Return to Aî  attempô waó madå tï gï tï á HELÐ Leveì previouó tï  HELÐ Leveì ° (Þ Commanä issueä froí HELÐ Leveì 0). HELP ERROR -- Not Enough Room for HELP File Thå  selecteä  HELР Filå  ió toï largå  tï  loaä  intï  thå availablå memorù iî thå user'ó computeò system®  Thå HELÐ Filå shoulä bå reduceä iî size» usinç HELÐ Leveló (Nodå references© iî thå Informatioî Sectionó ió á gooä waù tï dï this. :HELP: How to Write HELP Files Fileó  useä  bù  thå HELÐ prograí arå eitheò  simplå  CP/M- standarä  fileó oæ ASCIÉ texô oò ASCIÉ  fileó  generateä bù  thå Worä Staò texô editor/formatter®  Theså files¬  aó mentioneä  above¬  arå  oæ twï basiã  typesº  indexeä  anä  non- indexed¬  anä  eacè typå ió relateä tï thå otheò anä ió oæ  thå samå basiã format. Grouping of Information Informatioî displayeä tï thå useò ió groupeä bù thå indeø iî indexeä  HELР fileó anä maù alsï bå groupeä bù lineó  beginninç witè Forí Feeä (^L© characters® Groupinç ió aî effectivå waù tï logicallù  organizå  informatioî sï thaô meaninç wilì  bå  morå cleaò tï thå useò anä unitó oæ informatioî wilì noô pasó  betweeî screeî displays. Thå  informatioî  displayeä  tï thå useò ió  organizeä  intï logicaì  unitó  calleä Informatioî Sectionó anä  screeî  displayó (onå  screeî fulì oæ text© calleä Frames®  Usinç texô  editors¬ thå  useò  caî  creatå  hió  owî  HELР fileó  anä  organizå  hió informatioî aó hå desireó foò displaù tï thå HELÐ user. Non-Indexed HELP Files Non-indexeä  HELР fileó arå simplå ASCIÉ fileó whicè  starô witè  á coloî (:© aó thå firsô characteò oæ thå filå anä  consisô oæ ASCIÉ texô (witè eacè linå terminateä bù á carriagå returî anä linå feeä characteò combination)®  Thå informatioî iî sucè  á helð  filå consistó oæ alì texô afteò thå leadinç coloî uð  tï eitheò  thå  terminatinç end-of-filå marë (control-Z© oò á  ne÷ linå whicè startó witè á colon. Indexed HELP Files Indexeä  HELР fileó arå simplå ASCIÉ fileó whicè  dï  noô starô  witè  á coloî (:© aó thå firsô characteò oæ  thå  file® Thió  typå oæ HELÐ filå consistó oæ onå oò morå normaì  ASCIÉ texô  lineó  aó  thå  firsô  lineó  oæ  thå  filå  followeä  bù informatioî  sectionó  whicè  begiî  witè  á  linå  whoså  firsô characteò ió á coloî anä enä witè eitheò thå firsô linå  oæ thå nexô informatioî sectioî oò thå enä oæ thå file. Tree Structures within Indexed HELP Files Aó  mentioneä above¬  thå Indexeä HELÐ Filå ió divideä  intï Informatioî Sections¬ wherå eacè Informatioî Sectioî startó witè á coloî (:)® Therå arå twï basiã typeó oæ Informatioî Section: 1®  Informatioî Sectionó containinç textuaì material» thió typå oæ Informatioî Sectioî simplù containó readinç materiaì whicè  ió  organizeä intï Frames¬  wherå á Framå ió equaì tï  onå screeî display. 2®  Informatioî  Sectionó whicè referencå otheò  HELÐ files»  thió  typå oæ Informatioî Sectioî beginó witè twï  colonó (::©  insteaä  oæ  onå aó iî (1© above»  thå  twï  colonó  arå immediatelù followeä bù thå namå oæ thå HELÐ filå (thå HELР filå typå maù bå optionallù specified). Tï illustrate¬  thå followinç outlineó thå structurå oæ thå twï typeó oæ Informatioî Sections: :Title for Type 1 Information Section : [next Information Section] Figure: A Text (Type 1) Information Section ::HLPFILE <-- for HLPFILE.HLP : [next Information Section] ::HLPFILE.TYP <-- for HLPFILE.TYP : [next Information Section] Figure: Examples of Node (Type 2) Information Sections :HELP: The Tree Structure of HELP -- Basic HELP File -- |Info Sect 1 |Info Sect 2 |Info Sect 3 |Info Sect 4 | | Text | HELP File | Text | HELP File | / \ / \ -- SubHelp File 1 -- -- SubHelp File 2 -- |Info Sect 1 |Info Sect 2 | |Info Sect 1 |Info Sect2| | Text | HELP File | | Text | Text | / \ -- SubSubHelp File 1 -- |Info Sect 1 |Info Sect 2 |Info Sect 3 | | Text | HELP File | HELP File | / \ / \ -- Sub3Help File 1 -- -- Sub3Help File 2 -- |Info Sect | |Info Sect 1 |Info Sect 2| | Text | | Text | HELP File | / \ -- Sub4Help File -- |Info Sect 1 |Info Sect 2| | Text | Text | Figure: Sample HELP File Structure Thå   abovå  diagraí  ió  meanô  tï  illustratå  ho÷   treå structureó  caî bå implementeä undeò Versionó 1.´ anä beyonä  oæ HELP®  Aó  thå useò caî see¬  á ne÷ nodå oæ thå treå ió createä wheneveò  á HELÐ filå ió referenceä bù aî  Informatioî  Sectioî (aó  opposeä tï simplù havinç texô iî thå Informatioî  Section)® Eacè  nodå becomeó thå baså oæ á ne÷ tree¬  whicè itselæ  maù contaiî referenceó tï otheò HELÐ files. Froí thå previouó diagraí (feeì freå tï refeò bacë tï it)¬ SubHelð Leveì ³ containó twï HELÐ files®  Theså caî bå entereä froí  Informatioî Sectioî ² anä Informatioî Sectioî ³ oæ SubHelð Leveì  2®  Bù  simplù enterinç onå oæ  theså  twï  Informatioî Sections¬  thå  appropriatå HELÐ filå ió loadeä anä thå useò ió placeä aô thå nexô level® Froí theså HELÐ files¬ thå useò maù movå  withiî  thå HELÐ filå itselæ oò movå uð  tï  thå  previouó leveì  (naturally¬  thå  useò  alwayó haó thå optioî tï  exiô  tï CP/M). :HELP: Sample HELP Files Illustrating Use of Tree Structure Thå  followinç  Frameó  sho÷ thå sourcå  tï  threå  HELÐ Files¬  nameä DEMO.HLP¬  DEMO2.HLP¬  anä DEMO3.HLP® DEMO.HLÐ ió provideó  thå  Rooô Nodå tï á treå whicè includeó  DEMO2.HLР anä DEMO3.HLÐ aó subnodes®  Additionally¬  DEMO3.HLÐ haó á  subnodå whicè   referenceó  DEMO.HLP¬   sï  wå  havå  á  recursivå  treå structure. DEMO.HLP TEST 1 - OK <-- Menu TEST 2 - SIMPLE NEST TEST 3 - INVOLVED NEST TEST 4 - OK :TEST 1 <-- First Info Section (Text) THIS IS TEST 1 ::DEMO2 <-- 2nd Info Section (Node) ::DEMO3 <-- 3rd Info Section (Node) :TEST 4 <-- 4th Info Section (Text) TO BE, OR NOT TO BE, THAT IS THE QUESTION! ... TO TAKE ARMS AGAINST A SEA OF TROUBLES AND BY OPPOSING END THEM. TO DIE, TO SLEEP ... TO SLEEP, PERCHANCE TO DREAM. AYE, THERE'S THE RUB! FOR IN THAT SLEEP, WHAT DREAMS MAY COME! DEMO2.HLP :TEST 2 <-- No Menu -- 1 Info Section THIS IS TEST 2 DEMO3.HLP TEST 3A <-- Menu TEST 3B TEST 3C :TEST 3A <-- First Info Section (Text) THIS IS TEST 3A the rain in Spain falls mainly in the plain :TEST 3B <-- 2nd Info Section (Text) THIS IS TEST 3B ::demo <-- 3rd Info Section (Node)