home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / UTILITY / WISPLNG3.ZIP / WISP-SW.DOC < prev    next >
Encoding:
Text File  |  1991-01-19  |  47.7 KB  |  1,055 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                     WISP
  11.  
  12.                      (Whole Instruction Serial Processor)
  13.  
  14.                                 Version  3.0
  15.  
  16.  
  17.  
  18.  
  19.                               A new INTERPRETER
  20.  
  21.  
  22.  
  23.  
  24.                       For IBM and compatible computers.
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.         (C) 1990  Sitting Duck Software   POBox 130   Veneta, OR 97487
  55.             All rights reserved.
  56.  
  57.  
  58.  
  59.  
  60.  
  61.            WISP (Whole Instruction Serial Processor)      Version 3.0
  62.  
  63.  
  64.  
  65.                     An INTERPRETER by Sitting Duck Software
  66.  
  67.  
  68.  
  69. WISP, as does any interpreter, loads a text file containing commands which it
  70. can recognize and act upon.  The loaded text file will be a PROGRAM which you
  71. will write.  WISP is similar to the BASIC interpreter but has a command
  72. structure which has been specifically designed to eliminate most of the coding
  73. needed to accomplish certain tasks and the goals of the programmer.  WISP is
  74. also similar in some respects to PILOT but has a more intuitive syntax and many
  75. commands not available with PILOT.  WISP.EXE is only about 25K in size (before
  76. compression) and is designed to be distributed, along with a program file, on a
  77. floppy disc.
  78.  
  79. For an interpreter to be of such diminutive size requires a limited command
  80. set.  Given the below described uses of the program allowed us to forego many
  81. of the commands found in other languages.  For example, WISP will not perform
  82. any math, not even 2+2.  Neither are there any graphics, looping, data,
  83. printing and, hold on to your hat, there is no error checking whatsoever.
  84. When WISP acts upon a line of code, it presumes it to be PERFECT!
  85.  
  86. Because of the limited instruction set, opportunities are provided to SHELL
  87. from WISP and run other programs or batch files.  Proper use of WISP will
  88. allow you to perform a number of different tasks with a minimum of programming
  89. effort and a relatively short learning curve.  The following represent some of
  90. the tasks that WISP was designed to do:
  91.  
  92.     - CATALOGS
  93.     - MENUING SYSTEMS
  94.     - INSTALLATION PROGRAMS
  95.     - SLIDE SHOWS
  96.     - INSTRUCTION
  97.     - INTERACTIVE TUTORIALS
  98.     - DEMONSTRATIONS
  99.     - MENU DRIVEN, MULTIPLE CHOICE TESTING
  100.     - MENU DRIVEN, TRUE-FALSE TESTING
  101.     - BATCH FILES PROCESSING
  102.  
  103.  
  104. The WISP command set does not allow for the execution of normal DOS batch file
  105. commands although WISP does provide it's own implementation of some of DOS's
  106. features such as clearing the screen and changing drives or directories.  Any
  107. DOS command that WISP cannot handle can be performed by SHELLing from WISP.
  108.  
  109. The command for loading and running a WISP program is:
  110.  
  111.     WISP FILENAME
  112.  
  113. Where FILENAME is the name of a program file (which you write) with the .WSP
  114. extension.  The extension .WSP is not used when running WISP.
  115.  
  116.  
  117.  
  118. For one of the demonstration programs on the accompanying disc, the program
  119. file is -MAIN.WSP.  To run the demo, type:
  120.  
  121.     WISP -MAIN
  122.  
  123. WISP loads itself then loads the program -MAIN.WSP into memory.  WISP will then
  124. process the commands within the program file IF it recognizes the command.
  125. From within WISP and it's loaded file, you can run other programs, display text
  126. in a number of different ways, create single or nested menuing systems, control
  127. the screen colors, draw boxes, load a previously saved screen, change drives
  128. and directories, and retain desirable control over these activities by way of
  129. the GOTO and MENU commands.
  130.  
  131. WISP.EXE is less than 10K in size and will, thereby, take up little of your disk
  132. space and load rapidly.  You may locate WISP anywhere, including a RAM disk, and
  133. establish a path to it.  WISP and the required program file are generally small
  134. enough to be used with 360K floppy diskettes.
  135.  
  136. You should make hard copies of all the .WSP files; they will be helpful in
  137. explaining the structure and syntax of WISP commands.
  138.  
  139.  
  140. THE WISP EDITOR AND ENVIRONMENT
  141.  
  142. In order to make it easy to write and test your WISP programs, you can run
  143. WISPED.  WISPED is an editing environment from which you can compose, save and
  144. test run your WISP programs.  WISPED is also an interpreter and is almost
  145. identical to WISP except that it contains a line editor and provides a limited
  146. amount of syntax checking.  After you are sure that your program functions
  147. perfectly and needs no further editing, use WISP rather than WISPED to run the
  148. file.
  149.  
  150. Typing:     WISPED TESTFILE
  151.  
  152. from the DOS command line, runs WISPED and loads in the file TESTFILE.  If
  153. TESTFILE does not yet exist you will be presented with a blank screen.  If the
  154. file already exists, it will be loaded in, ready for editing.  You will
  155. probably want to load -MAIN.WSP into the editor a play around with it; make
  156. sure you have a backup copy.
  157.  
  158. Currently, WISPED does enough syntax checking to keep your programs from
  159. locking up your machine.  An upcoming enhancement will provide for more
  160. extensive syntax checking.
  161.  
  162. The maximum number of lines in any WISP program file is limited to 1990; more
  163. than enough to accomplish the purposes for which WISP has been designed.
  164.  
  165. The first line of the file is reserved for use of the editor.  You may put the
  166. cursor on this line and press <ENTER> in order to insert a new line at the top
  167. of your program file.
  168.  
  169. Each line of the program can contain one, and only one, command.
  170.  
  171.  
  172. The line you wish to edit is selected with the up and down cursor keys.  The
  173. HOME, END, INSERT, BACKSPACE and DELETE keys allow you to navigate and edit the
  174. highlit line.  PageUp and PageDown move you forward or backward in the file,
  175. in 15 line increments.
  176.  
  177. EDITOR COMMANDS
  178.  
  179.      <ALT><1>   Copies the highlit line into a holding area.
  180.  
  181.      <ALT><2>   Copies the contents of the holding area to the highlit line.
  182.  
  183.      <F1>       Displays the proper syntax of the available WISP commands at
  184.                 the bottom of the screen.  Use the up and down cursor keys to
  185.                 scroll through the syntax list.  You may transfer the entire
  186.                 syntax line into your program by pressing <F1> or you can type
  187.                 the line in manually.  If you transfer the command, you will
  188.                 have to edit it in order to insert your parameters.  Press
  189.                 <ESC> to exit the syntax display.  Along with the syntax of
  190.                 existing commands, the syntax list contains probable commands
  191.                 for enhancements which are being considered.
  192.  
  193.      <F2>       Displays the amount of character space remaining in your
  194.                 program.  Generally, you will run out of lines before running
  195.                 out of character space.
  196.  
  197.      <F3>       Save to disc the program you are working on.  After you edit
  198.                 a program file, you SHOULD save it to disc before running it.
  199.                 If the program crashes and you have not saved your work, you
  200.                 may have to do it all over.
  201.  
  202.      <F4>       Helps you locate words or groups of words in your file.  Just
  203.                 follow the displayed prompts.
  204.  
  205.     ^<F5>       Sends the program file to your printer via port #1.
  206.  
  207.      <F6>       RUNS the program.
  208.  
  209.      <F7>       Toggles the INSERT/OVERSTRIKE mode for the line editor.  This
  210.                 may be temporarily over-ridden by pressing the INSERT key.
  211.  
  212.      <F8>       Deletes the highlit line and moves the following lines up one
  213.                 place.
  214.  
  215.      <F9>       Toggles syntax checking on and off.
  216.  
  217.      <F10>      Displays a handy chart of the extended ASCII characters and
  218.                 all of the 255 possible color combinations available to use
  219.                 with the the program statements requiring requiring a COLOR
  220.                 value.
  221.  
  222.  
  223.      <ESC>      Exits WISPED.  You must manually save a modified file before
  224.                 exiting if you wish to keep the changes.  No warning is given
  225.                 if you have not saved your work.
  226.  
  227.      <ENTER>    Inserts a line below the highlit line and moves the following
  228.                 lines down one place.
  229.  
  230.  
  231. The following is a summary of the rules and commands recognized by WISP.
  232.  
  233. INDENTATION-  Any command or text may be intended for readability and style.
  234.               Line numbers or labels may not be indented.
  235.  
  236. CASE       -  All commands may be in either upper or lower case.  Text is
  237.               displayed in the case in which it is written.
  238.  
  239. SEPARATORS -  1.  The ONLY legal command separator is the slash (/).
  240.               2.  Text for BLOCKPRINT must not contain a /.
  241.               3.  Text for a MENU choice must not contain a /.
  242.  
  243. REMARKS &  -  1.  A  {  left brace indicates a remark.
  244. THE LEFT      2.  A  {  must not precede a command.
  245. BRACE         3.  A  {  must precede a remark.
  246.               4.  A remark must not contain a  /  (slash).
  247.               5.  Text within a command must not contain a  {  or a  / .
  248.                   PRINT/5/9/{Hello/31   is not allowed.
  249.  
  250.               WISPED loads in the entire program file, including remarks.
  251.               WISP, having no use for remarks, does not load in any file line
  252.               characters which follow the left brace.
  253.  
  254. FILE SIZE  -  The file which WISP loads may contain as many as 1990 lines of
  255.               text, which is more than adequate for the intended use.
  256.  
  257. EDITING    -  You do not have to compose your programs with WISPED.  Any word
  258.               processor able to save in ASCII format is suitable.  However,
  259.               you should test your programs with WISPED to find any syntax
  260.               errors.
  261.  
  262. RESIDENCY  -  WISP is not a TSR program and will not cause any of the problems
  263.               that TSRs often do.
  264.  
  265. ANSI       -  WISP does NOT require the loading of ANSI.SYS to make full use of
  266.               color.
  267.  
  268. COMPILATION-  Text files written for use with WISP do not require compiling.
  269.  
  270. ERRORS     -  In order to keep WISP.EXE small and as fast as possible, no
  271.               error checking is performed on the program file which it loads.
  272.               It will be up to YOU to ensure the proper syntax and usage of the
  273.               WISP commands.
  274.  
  275.  
  276. ECHO       -  Proper use of WISP commands will allow you to avoid the pesky
  277.               DOS ECHO command if you plan to do a lot of SHELLing.
  278.  
  279. SHELL      -  Shelling is not altogether reliable in DOS Versions 2.xx and you
  280.               should avoid shelling unless you have V3.0 or later.
  281.  
  282. SCREEN MODE - WISP currently supports only 25 line, 80 column text screens.
  283.  
  284. LINE NUMBERS- Line numbers must be placed flush left.  Line numbers that are
  285.               not flush left will be placed so during syntax checking.
  286.  
  287. LINE LABELS - Line labels must begin with :: (a pair of colons) and cannot
  288.               contain a "/" or a "{".  Line labels, if not flush left, will be
  289.               placed so during syntax checking.
  290.  
  291. BLANK LINES - There are no blank lines in a WISP program.  Blank lines are
  292.               purged during syntax checking and again when the file is saved.
  293.  
  294. EXITING     - Exiting a WISP program cannot be accomplished unless you allow
  295.               for it by either; providing a menu choice as we did in the -MAIN
  296.               demonstration program OR, using the BREAK command described in
  297.               the syntax section on the following pages.
  298.  
  299. STRUCTURE   - A WISP program can be structured in a number of different ways
  300.               and the method you select should be based on personal preference.
  301.               There are two basic structural forms, INLINE and SUB-PROCEDURE.
  302.  
  303.    INLINE   * Program code may be completely INLINE.  The following is an
  304.               example of INLINE coding:
  305.  
  306.               ::Main Menu                   {comments OK on this line
  307.                 MENU/  TITLE  /4/1/1/112/78/78/0/S
  308.                      Choice A=
  309.                      Choice B=
  310.                      Choice C=
  311.                      Choice D=              {an escape route!
  312.               1
  313.                 Perform all the activities Choice A requires (may be many
  314.                 lines of code)
  315.                 GOTO/Main Menu
  316.               2
  317.                 Perform all the activities Choice B requires (may be many
  318.                 lines of code)
  319.                 GOTO/Main Menu
  320.               3
  321.                 Perform all the activities Choice C requires (may be many
  322.                 lines of code)
  323.                 GOTO/Main Menu              {comments are NOT OK on this line!
  324.               4
  325.                 CLS/7
  326.                 CURSORON
  327.                 LEAVE
  328.  
  329.  
  330.    SUBS     * Sub procedures can make the program easier to read as in the
  331.               following example:
  332.  
  333.               ::Main Menu
  334.                 MENU/  TITLE  /4/1/1/112/78/78/0/S
  335.                      Choice A=
  336.                      Choice B=
  337.                      Choice C=
  338.                      Choice D=
  339.               1
  340.                 GOTO/Choice A
  341.               2
  342.                 GOTO/Choice B
  343.               3
  344.                 GOTO/Choice C
  345.               4
  346.                 CLS/7
  347.                 CURSORON
  348.                 LEAVE
  349.  
  350.               ::Choice A
  351.                 Perform all the activities Choice A requires
  352.                 GOTO/Main Menu
  353.               ::Choice B
  354.                 Perform all the activities Choice B requires
  355.                 GOTO/Main Menu
  356.               ::Choice C
  357.                  Perform all the activities Choice C requires
  358.                  GOTO/Main Menu
  359.  
  360.               For a simple, one menu program, the INLINE code would probably
  361.               be preferable.  With multiple menus, the SUBS format might
  362.               be easier.
  363.  
  364.    1 FILE     Using a single file for an entire program ensures the fastest
  365.               execution speed at the possible expense of program readibility.
  366.               If your program needs to be very large, the single file method
  367.               will be of little value.
  368.  
  369.    2+ FILES   There are two alternatives to having a single large program;
  370.               have several smaller programs that can run each other via the
  371.               L-RUN command.  This is illustrated in the program series
  372.               -FILE1/FILE2/FILE3 which is started by typing:  WISP -FILE1.
  373.  
  374.               The second alternative is to have separate files for each page
  375.               of text and use the DSPF command to display them.  This is
  376.               illustrated in the -MAIN.WSP program and is our preferred choice
  377.               unless there is a compelling reason to do otherwise.  WISPED is
  378.               not suitable for writing these text files; use a Word Processor
  379.               or text editor, saving in ASCII.
  380.  
  381.  
  382. -----------------Command syntax, examples and descriptions--------------------
  383.  
  384. NOTE: Only one command per line!
  385.  
  386. BOX/BR/BC/ER/EC/CHR/COLOR/C/S      Draws a BOX where BR is the beginning row,
  387.                                    BC the beginning column, ER the ending row,
  388.                                    and EC the ending column where BR<ER and
  389.                                    BC<EC.  CHR is either a 1 or 2 indicating a
  390.                                    single or double line box.  COLOR is a
  391.                                    single value representing the foreground and
  392.                                    background colors.  See the Single Color
  393.                                    Chart elsewhere in the documentation.
  394.                                    Appending a /C to the argument clears the
  395.                                    inside of the box to the color specified by
  396.                                    COLOR.  Append a /S if you wish the box to
  397.                                    cast a shadow.
  398.  
  399. *CAPTION/F/ROW/COLUMN/COLOR        A probable future enhancement.  Will control
  400.                                    captioning.  Captioning would be a line of
  401.                                    text that would always be displayed on all
  402.                                    screens when the F flag is set; useful for
  403.                                    having a company name or message always
  404.                                    visible without continuously re-printing it.
  405.  
  406. CURSOROFF                          Turns the cursor off.  If you find yourself
  407.                                    at the DOS prompt without a cursor, simply
  408.                                    type:   WISPED CURSORON
  409.  
  410. CURSORON                           Turns the cursor on.  If you turn the cursor
  411.                                    off, remember to turn it back on before
  412.                                    leaving WISP.
  413.  
  414. DSPF/FILENAME/ROW/COLUMN/COLOR     Displays the text file FILENAME at Row,
  415.                                    Column in color COLOR.  The file must be an
  416.                                    ASCII text file, 22 lines maximum.  If the
  417.                                    file is shorter than 22 lines it will
  418.                                    display that which is available, if longer
  419.                                    it will be truncated to 22 lines.  The EOF
  420.                                    marker will not be displayed.  Text files
  421.                                    are smaller than BLOADable files but are
  422.                                    confined to one color combination.  FILENAME
  423.                                    may contain a drive and path.
  424.  
  425.                     Example:       DSPF/C:\BUSINESS\FILEA.WSP/2/2/31
  426.  
  427. FILLSCRN/BR/BC/ER/EC/COLOR/ASCII   Fills a screen area defined by BR, BC, ER
  428.                                    and EC with the character ASCII in the color
  429.                                    COLOR.  To clear the screen use 32 for
  430.                                    ASCII.
  431.  
  432.                     Example:       FILLSCRN/10/10/15/75/31/43
  433.  
  434.                                    Fills an area of the screen bounded by row
  435.                                    10 column 10 and row 15 column 75 with
  436.                                    bright white on blue, plus signs.
  437.  
  438.  
  439. *GOSUB/LINELABEL                   A probable future enhancement.
  440.  
  441. *RETURN                            A matching return statement.  Gosubs will
  442.                                    not be nestable.
  443.  
  444. IFKEYHIT/ASCII/LINE#               Compares the ASCII value of the key pressed
  445.                                    in response to the WAIT statement against
  446.                                    ASCII.  If the values match program control
  447.                                    is transferred to LINE#.  You must create a
  448.                                    loop to handle non-matching variables.
  449.  
  450.                                    1
  451.                                    .
  452.                                    .
  453.                     Example:       10
  454.                                       WAIT
  455.                                       IFKEYHIT/27/99
  456.                                       IFKEYHIT/-71/1
  457.                                    GOTO/10
  458.                                    .
  459.                                    .
  460.                                    99
  461.  
  462.                                    WAIT waits for a keypress.  If the key
  463.                                    pressed was <ESC> the program transfers to
  464.                                    line 99.  If the key pressed was <HOME> the
  465.                                    program transfers to line 1.  If any other
  466.                                    key was pressed, the program will go to line
  467.                                    10 and wait for another keypress.  A chart
  468.                                    showing the ASCII values of keypresses is
  469.                                    included in this documentation.
  470.  
  471. The target LINE# must exist in the program.
  472.  
  473. BRIGHT                             Trades blinking for high intensity colors.
  474.                                    Color selections above 127 are normally
  475.                                    blinking.  Calling BRIGHT trades this blink-
  476.                                    ing for high intensity background colors.
  477.  
  478. DIM                                Restores blinking characteristics for colors
  479.                                    above 127.  Exiting the program by way of
  480.                                    LEAVE, SHELL or L-RUN automatically restores
  481.                                    colors to blinking.
  482.  
  483.  
  484.  
  485.  
  486. LOCATE/ROW/COLUMN                  Locates the cursor at ROW and COLUMN.
  487.  
  488. PAINT/BR/BC/ER/EC/COLOR            Paints the screen area defined by BR, BC, ER
  489.                                    and EC with COLOR.
  490.  
  491. PRINT/ROW/COLUMN/TEXT/COLOR        Print TEXT in color COLOR beginning at the
  492.                                    specified row and column location.
  493.  
  494. *RUNFILE/FILENAME                  A probable future enhancement.  Will load
  495.                                    into WISPED or WISP, FILENAME.  This will
  496.                                    allow you to run another WISP program
  497.                                    without re-loading WISP or WISPED.  The
  498.                                    RETURN pointer for GOSUB will be erased and
  499.                                    CAPTIONing will be turned off.
  500.  
  501. SHELL/XXXX                         Shells and runs the program XXXX, returning
  502.                                    when done.  XXXX may contain a drive and
  503.                                    path.  If you save the screen prior to
  504.                                    shelling and restore it just after the
  505.                                    shell command, you can use GOTO to place you
  506.                                    where you left off.
  507.  
  508.                     Example:       Shell/C:\WORDPROC\GALAXY
  509.                                    GOTO/101
  510.  
  511.                                    Leaves WISP under a new command shell and
  512.                                    runs the GALAXY program located on drive
  513.                                    C in the directory WORDPROC.
  514.  
  515.                                    SHELL is useful for running DOS commands
  516.                                    which WISP does not provide for.  Use SHELL
  517.                                    only with DOS versions 3.0 or later.
  518.  
  519. SHELL                              Shells.  Leaves WISP under a new command
  520.                                    shell.  You must type EXIT at the DOS
  521.                                    command line to return.  Be careful with
  522.                                    both uses of the SHELL command; a poorly
  523.                                    written program could leave you with many
  524.                                    copies of the command environment.  Use
  525.                                    SHELL only with DOS versions 3.0 or later.
  526.  
  527. *SAVESCRN                          A probable future enhancement.  Saves the
  528.                                    current screen.  This will be useful before
  529.                                    using the SHELL command.
  530.  
  531.  
  532. *RESTSCRN                          A probable future enhancement.  Restores the
  533.                                    screen to it's condition when the last
  534.                                    SAVESCRN command was used.  If the screen is
  535.                                    saved prior to shelling and then restored
  536.                                    after returning from the shell, a GOTO can
  537.                                    return you to the exact place of departure.
  538.                                    DO NOT use RESTSCRN unless a previous
  539.                                    SAVESCRN has been used.
  540.  
  541.                     Example:       SAVESCRN                save it.
  542.                                    CLS/0                   clear the screen.
  543.                                    SHELL/PROGRAM           run a program.
  544.                                    RESTSCRN                restore the screen.
  545.                                    GOTO/WHEREEVER          return to where you
  546.                                                            left off.
  547.  
  548. LEAVE                              Exits the program and returns you to DOS.
  549.                                    To ensure that you have not inadvertently
  550.                                    terminated your program while in a second
  551.                                    environment, type EXIT at the DOS prompt.
  552.                                    If you return to WISP, your program needs
  553.                                    some work!
  554.  
  555. L-RUN/XXXX                         Exits and runs the program XXXX.  XXXX is
  556.                                    limited to 14 characters.  XXXX may be a
  557.                                    .BAT, .COM or .EXE program.
  558.  
  559.                     Example:       L-RUN/GALAXY
  560.  
  561.                                    Exits WISP and runs the GALAXY program.
  562.                                    Since XXXX is limited to 14 characters, you
  563.                                    would have to change the directory and drive,
  564.                                    if necessary, before using L-RUN.  Lines in
  565.                                    the program might, then, look like:
  566.  
  567.                                        CDRV/C
  568.                                        CDIR/WORDPROC
  569.                                        L-RUN/GALAXY
  570.  
  571.  
  572. GOTO/LINE#                         Where LINE# is any flush left, 3 digit
  573.                                    integer within the program.  Only comments
  574.                                    may be placed to the right and on the same
  575.                                    line as the number.  The range of GOTO
  576.                                    target lines is 1-999 and need not be
  577.                                    sequential in the program file.  Do not
  578.                                    confuse the line number you provide your
  579.                                    program with the file line numbers displayed
  580.                                    by the editor; they are not related.
  581.  
  582.                     Example:       GOTO/250
  583.                                    .
  584.                                    250  {This is the target line.
  585.  
  586. GOTO/LINELABEL                     Where LINELABEL is the name of a target
  587.                                    line beginning with :: (a pair of colons).
  588.                                    Line labels MAY NOT contain a "/" or "{".
  589.                                    There may not be any remarks or other text
  590.                                    on the same line as the GOTO call.
  591.                                    Line labels are case insensitive.
  592.  
  593.                 Goto Example:      GOTO/HOME SWEET HOME
  594.               Target Examples:     ::HOME SWEET HOME                      OK
  595.                                    ::any text HOME SWEET HOME             NO
  596.                                    ::Home Sweet Home      any text        OK
  597.  
  598.                                    GOTO/THIS LINE     some remarks
  599.                                    is illegal unless you have a target line
  600.                                    which is identical, ie.
  601.  
  602.                                    ::THIS LINE     some remarks
  603.  
  604. Endless loops may be established if you are not careful with the GOTO command!
  605.  
  606. MENU/TITLE/NOI/R/C/HLC/NC/TC/GTO/S
  607.                                    Where:
  608.  
  609.                                    TITLE is the title of the menu which will
  610.                                          appear inside the box.
  611.                                    NOI   is the number of selectable menu items.
  612.                                    R/C   is the ROW and COLUMN in which the
  613.                                          upper left corner of the surrounding
  614.                                          box will appear.  The lower right box
  615.                                          corner will be calculated by the
  616.                                          program based on the length of the
  617.                                          title and number of menu items.
  618.                                    HLC   is the color of the moving highlight.
  619.                                    NC    is the color of the menu items and
  620.                                          surrounding box.
  621.                                    TC    is the color of the menu title.
  622.                                    GTO   (Go To Offset) is a pointer.  The line
  623.                                          number the menu selection will take
  624.                                          you to is the menu choice + the GTO.
  625.                                    /S    provides a shadow.
  626.  
  627. There must be a target line # for each menu choice.
  628.  
  629.  
  630.                                    Items in the menu list must immediately
  631.                                    follow the call to MENU and each must be on
  632.                                    a separate line.  The items in the menu list
  633.                                    must be no greater nor less than NOI.  The
  634.                                    menu list should not be longer than there is
  635.                                    room for on the screen minus the space taken
  636.                                    for the box, title and dividing line.  All
  637.                                    menu choices MUST be the same length, end
  638.                                    in a equal sign and be the same length as
  639.                                    the title.  The equal sign serves the
  640.                                    WISPED syntax checker and helps to ensure
  641.                                    equal lengths.  WISP will remove the = so it
  642.                                    will not be visible in the menu.
  643.                                    MENU CHOICES MAY NOT BEGIN WITH A NUMBER.
  644.  
  645.                     Example:       MENU/   MY MENU   /5/4/3/78/31/78/10
  646.                                         Choice 1    =
  647.                                         Choice #2   =
  648.                                         Choice Three=
  649.                                         Choice #4   =
  650.                                         Choice 5    =
  651.  
  652.                                    This will present you with a 5 item menu,
  653.                                    with the UL corner of the box at row 4,
  654.                                    column 3.  The highlight bar will be yellow
  655.                                    on red, the box and menu choices will be
  656.                                    white on blue and the title will be yellow
  657.                                    on red.  If the third item in the menu list
  658.                                    is selected, you will GOTO line number 13
  659.                                    which is the menu item choice (3) plus the
  660.                                    GTO (10).  If you have several menus in a
  661.                                    program file, the GTO of each one must be
  662.                                    sufficiently different in order to avoid
  663.                                    overlapping.  The spacing on either side of
  664.                                    the menu title can be adjusted to center
  665.                                    the title within the box.
  666.  
  667.  
  668. Options while menu is displayed:   <F1> Blanks the screen until any key is
  669.                                         pressed.  You may want to display this
  670.                                         option as is done in the demo.
  671.  
  672.                                    <F2> Sends a form feed to printer port 1.
  673.  
  674. Note:  For the editor, WISPED, a <F3> keypress stops program operation and
  675.        returns you to the editing environment.
  676.  
  677.  
  678.                                    Menu items may be selected in two ways;
  679.                                    by placing the highlight bar on the desired
  680.                                    selection and pressing <ENTER> or, by
  681.                                    pressing a letter key which corresponds to
  682.                                    the desired selection.  The A key will select
  683.                                    item 1, the B key item 2, etc.
  684.  
  685.                                    If HLC and NC are the same, causing the
  686.                                    highlight bar to be invisible, the <ENTER>
  687.                                    key is disabled and menu selections may be
  688.                                    made only by letter selections.  This is
  689.                                    done in the example program MCTEST.WSP.
  690.  
  691. BLOCKPRINT/NOI/CLR/ROW/COL         Where:
  692.  
  693.                                    NOI   is the number of line of text that
  694.                                          follow which are to be displayed.
  695.                                    CLR   is the color in which the text will be
  696.                                          displayed.
  697.                                    ROW   is the first row for the text block.
  698.                                    COL   is the first column for the text block.
  699.  
  700.                                    The line length of text is limited to 76
  701.                                    characters.
  702.  
  703.                     Example:       BLOCKPRINT/4/95/5/10
  704.                                    Now is the time
  705.                                    for all good men
  706.                                    to come to the aid
  707.                                    of their party.
  708.  
  709.                                    This will print the 4 lines of text shown,
  710.                                    with line 1 on row 5 starting at column 10,
  711.                                    in bright white on magenta.
  712.  
  713. BREAK/ASCII/LINE#                  Placing BREAK at the beginning of a program
  714.                                    will allow you to break out of the program
  715.                                    while waiting for a response due to a WAIT
  716.                                    instruction.  If the value of the key press
  717.                                    is equal to ASCII, program control will
  718.                                    transfer to line number LINE#.  This is not
  719.                                    needed with WISPED because <F3> puts you
  720.                                    into the editor mode.  However, the feature
  721.                                    is in WISPED so you can test it with your
  722.                                    programs.
  723.  
  724.                     Example:       BREAK/-117/999
  725.  
  726.                                    While waiting for a key press in response
  727.                                    to WAIT, if the key press is CTRL-END,
  728.                                    program control transfers to line 999.
  729.  
  730. The target LINE# must exist in the program.
  731.  
  732.  
  733. CDRV/DRIVE                         Changes active drive specification.
  734.  
  735.                     Example:       CDRV/D
  736.  
  737.                                    Changes to drive D
  738.  
  739. CDIR/DIR                           Changes directories.
  740.  
  741.                     Example:       CDIR/D:\WORDPROC
  742.  
  743.                                    Changes to the directory WORDPROC on drive
  744.                                    D.  If you want to change the drives and
  745.                                    directory, before shelling for example, the
  746.                                    sequence of commands would be as follows:
  747.  
  748.                                    CDRV/D
  749.                                    CDIR/D:\WORDPROC
  750.                                    SHELL/GALAXY
  751.  
  752. The CDRV and CDIR commands are useful only in conjunction with the L-RUN and
  753. SHELL commands.
  754.  
  755. WAIT/ROW/COLUMN/COLOR/TEXT         Prints TEXT at ROW and COLUMN in COLOR then
  756.                                    waits for a keypress.  WAIT without
  757.                                    arguments simply waits for a keypress.
  758.  
  759.                     Example:       WAIT/5/16/78/Press any key
  760.  
  761.                                    Prints "Press any key" in row 5, starting at
  762.                                    column 16 in yellow on red, waits for a key
  763.                                    press.  If any key press will do, then WAIT
  764.                                    is sufficient.  If you need to control the
  765.                                    program direction and limit the key press
  766.                                    response, the command IFKEYHIT should be
  767.                                    used on the following line.
  768.  
  769. Note:  For the editor, WISPED, a <F3> keypress stops program operation and
  770.        returns you to the editing environment.
  771.  
  772. CLS/COLOR                          Clears the screen to COLOR.
  773.  
  774. BLOAD/FILENAME$                    Loads a complete text screen file from disc
  775.                                    into video memory.  The memory area into
  776.                                    which the file is loaded is automatically
  777.                                    determined by the monitor in use.  The
  778.                                    screen file must be in the proper format.
  779.                                    BLOAD brings in screen files with colors
  780.                                    intact.  BLOADable files are about 4K in
  781.                                    size and may be created with BASIC.
  782.  
  783. *BSAVE/FILENAME$                   A probable enhancement.  Saves a screen in
  784.                                    BLOADable format.  This feature will allow
  785.                                    you to predesign screens for your programs.
  786.                                    BSAVE will be availabe only in WISPED, where
  787.                                    it is useful.
  788.  
  789.  
  790. *XSCROLL/BR/BC/ER/EC/TIMES/S       A probable future enhancement.
  791.                                    Where X is replaced by either U, D, L or R
  792.                                    to scroll Up, Down, Left or Right.  The area
  793.                                    of the screen defined by BR, BC, ER and EC
  794.                                    is scrolled TIMES times at speed S.  Speed
  795.                                    values of 0 to 5 are useful; 0 being the
  796.                                    fastest.
  797.  
  798.                     Example:       USCROLL/5/5/10/15/3/0
  799.  
  800.                                    Scrolls the area bounded by row 5, column 5
  801.                                    and row 10, column 15,  upwards 3 times as
  802.                                    fast as possible.
  803.  
  804. *VPCX/FILENAME                     A probable future enhancement.  Display a
  805.                                    graphics PCX file on any monitor.
  806.  
  807. VPRINT/ROW/COLUMN/TEXT/COLOR       Will display TEXT vertically beginning at ROW
  808.                                    and COLUMN in COLOR.
  809.  
  810.                     Example:       VPRINT/5/10/abcd/31
  811.  
  812.                                    Displays:
  813.                                              a
  814.                                              b
  815.                                              c
  816.                                              d
  817.  
  818. YNKP/TEXT/R/C/COLOR/GTY/GYN        Waits for either a Yes or No answer.
  819.                                    Displays TEXT at row R and column C in
  820.                                    COLOR.  Waits for either a Y, y, N or n
  821.                                    keypress.  If Y or y (YES) then the GOTO
  822.                                    target line is GTY otherwise the target line
  823.                                    is GTN.  Other key presses are invalid.
  824.  
  825.                     Example:       YNKP/Are you sure?/10/20/12/101/201
  826.  
  827.                                    If answer is yes then the program transfers
  828.                                    control to line 101, if no control is
  829.                                    transfered to line 201.
  830.  
  831.                                    YNKP is similar to IFKEYHIT except that only
  832.                                    YyNn are legal responses.  YNKP eliminates
  833.                                    the loop required by IFKEYHIT should a
  834.                                    simple Yes-No response be sufficient.
  835.  
  836. The target lines GTY and GTN must exist in your program.
  837.  
  838.  
  839. Note:  For the editor, WISPED, a <F3> keypress stops program operation and
  840.        returns you to the editing environment.
  841.  
  842.  
  843.  
  844. *COUNTERUP                         Adds 1 to the value of an internal counter.
  845.  
  846.  
  847. *COUNTERDOWN                       Subtracts 1 from the value of the counter.
  848.  
  849.  
  850. *COUNTERCLEAR                      Sets the counter to zero.
  851.  
  852.  
  853. *DISPLAYCOUNTER/ROW/COLUMN/COLOR   Displays the current value of the counter
  854.                                    at row, column in color.
  855.  
  856.  
  857. *BEEP                              Makes a beep through the speaker.
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869. *FUTURE ENHANCEMENTS:  We were working on the enhancements when this version of
  870. the program was released.  Considering the delay between release and eventual
  871. distribution, most of the work is likely done.
  872.  
  873.  
  874. --------------------------------Color Chart-----------------------------------
  875.  
  876. Use the values in this chart for the COLOR argument in all routines.
  877.  
  878.  
  879.                  --------------------------Background-------------------------
  880.  
  881.                  Black   Blue   Green   Cyan   Red   Magenta   Brown   White
  882. Foreground
  883.  
  884. Black              0      16      32     48     64     80        96     112
  885. Blue               1      17      33     49     65     81        97     113
  886. Green              2      18      34     50     66     82        98     114
  887. Cyan               3      19      35     51     67     83        99     115
  888. Red                4      20      36     52     68     84       100     116
  889. Magenta            5      21      37     53     69     85       101     117
  890. Brown              6      22      38     54     70     86       102     118
  891. White              7      23      39     55     71     87       103     119
  892. Gray               8      24      40     56     72     88       104     120
  893. Bright Blue        9      25      41     57     73     89       105     121
  894. Bright Green      10      26      42     58     74     90       105     122
  895. Bright Cyan       11      27      43     59     75     91       107     123
  896. Bright Red        12      28      44     60     76     92       108     124
  897. Bright Magenta    13      29      45     61     77     93       109     125
  898. Bright Brown      14      30      46     62     78     94       110     126
  899. Bright White      15      31      47     63     79     95       111     127
  900.  
  901. For a blinking foreground add 128 to the above values.
  902.  
  903. Not all color combinations are suitable for all monitors.  Check your programs
  904. on the monitor type that will be in use.
  905.  
  906.  
  907. ASCII VALUES OF KEYPRESSES
  908.  
  909. Shift-Tab    -15              F1        -59               Home         - 71
  910. Alt-A        -30              F2        -60               Ctrl-PrtSc   -114
  911. Alt-B        -48              F3        -61               Ctrl-End     -117
  912. Alt-C        -46              F4        -62               Ctrl-PgDn    -118
  913. Alt-D        -32              F5        -63               Ctrl-PgUp    -132
  914. Alt-E        -18              F6        -64               Ctrl-Home    -119
  915. Alt-F        -33              F7        -65               Cursor Up    - 72
  916. Alt-G        -34              F8        -66               Cursor Down  - 80
  917. Alt-H        -35              F9        -67               Cursor Right - 77
  918. Alt-I        -23              F10       -68               Cursor Left  - 75
  919. Alt-J        -36              Ctrl-F1   -94               PgUp         - 73
  920. Alt-K        -37              Ctrl F2   -95               PgDown       - 81
  921. Alt-L        -38              Ctrl F3   -96               End          - 79
  922. Alt-M        -50              Ctrl F4   -97               Insert       - 82
  923. Alt-N        -49              Ctrl F5   -98               Delete       - 83
  924. Alt-O        -24              Ctrl F6   -99
  925. Alt-P        -25              Ctrl F7   -100
  926. Alt-Q        -16              Ctrl F8   -101
  927. Alt-R        -19              Ctrl F9   -102
  928. Alt-S        -31              Ctrl F10  -103
  929. Alt-T        -20              Alt-F1    -104
  930. Alt-U        -22              Alt-F2    -105
  931. Alt-V        -47              Alt-F3    -106
  932. Alt-W        -17              Alt-F4    -107
  933. Alt-X        -45              Alt-F5    -108
  934. Alt-Y        -21              Alt-F6    -109
  935. Alt-Z        -44              Alt-F7    -110
  936.                               Alt-F8    -111
  937.                               Alt-F9    -112
  938.                               Alt-F10   -113
  939.  
  940. The dash preceding the number shown is a minus sign and must be used.
  941.  
  942.  
  943. REGISTRATION OF WISP
  944.  
  945. WISP is shareware, not public domain.  As such, you are expected to register
  946. your copy if you use it.
  947.  
  948. Registration is $45, for which you get:
  949.  
  950.      1.  The latest version with at least 80% of the proposed enhancements.
  951.      2.  A printed manual.
  952.      3.  Placement on the update list.
  953.      4.  Telephone support.
  954.      5.  One additional upgrade beyond that which you receive when registering,
  955.          when it becomes available.
  956.  
  957. Check with us, before you register, on the status of the enhancements if one
  958. or more of the enhancements is the deciding factor for registration.
  959.  
  960. The following uses of WISP require either site licenses or distribution fees:
  961.  
  962.      1.  Demonstration programs to potential customers.
  963.      2.  Business use on more than one computer.
  964.      3.  Installation or tutorial programs for customers.
  965.      4.  Disc catalogs offering merchandise for sale.
  966.      5.  Any other activity in which the use of WISP allows you to make
  967.          additional profit or gain good will for your business.
  968.      6.  Use on more than 1 computer in an institution of learning above
  969.          grade 12.
  970.  
  971. The following uses of WISP require no additional fees beyond the basic
  972. registration:
  973.  
  974.      1.  Non-profit charitable organizations.
  975.      2.  Non-profit educational institutions, grades 12 and below.
  976.      3.  Shareware catalogs which mention, on the main screen, that WISP was
  977.          used to develop the catalog.
  978.  
  979. If you are unsure of your need for a license, check with us.
  980.  
  981.  
  982.  
  983.             WISP REGISTRATION FORM              Date_________________________
  984.  
  985.  
  986. Name___________________________________________________________ Apt._________
  987.  
  988. Company_________________________________________________________MS___________
  989.  
  990. Address______________________________________________________________________
  991.  
  992. City______________________________________________ State_______ Zip__________
  993.  
  994. Phone (    )      -                 Ext.__________
  995.  
  996. Where did you get this program?______________________________________________
  997.  
  998. Computer_____________________Monitor___________Drives________________________
  999.  
  1000. DOS Version__________________
  1001.  
  1002. Do you program?________Which language(s)?____________________________________
  1003.  
  1004. What do you expect to do with WISP?__________________________________________
  1005.  
  1006. _____________________________________________________________________________
  1007.  
  1008. I want to register and use the verison of WISP I now have. US $15.00 ________
  1009.  
  1010. I want to register and get the upgrade, manual, etc.       US $45.00 ________
  1011.  
  1012.      I am adding for overseas air shipment.                US $ 5.00 ________
  1013.  
  1014. I need some information on site or distribution licenses for the purpose of:
  1015.  
  1016. _____________________________________________________________________________
  1017.  
  1018. I would like to see the following features added to WISP:____________________
  1019.  
  1020. _____________________________________________________________________________
  1021.  
  1022. _____________________________________________________________________________
  1023.  
  1024. _____________________________________________________________________________
  1025.  
  1026. _____________________________________________________________________________
  1027.  
  1028.  
  1029. MAIL TO:  Sitting Duck Software         Sorry, we cannot accept credit cards.
  1030.           POBox 130                     We will ship COD, via UPS only, for
  1031.           Veneta, OR 97487              a $5.00 COD fee if you prefer to order
  1032.           (503) 935-3982                by telephone.
  1033.  
  1034.  
  1035.  
  1036. In addition to your written suggestions above, please checkmark any of the
  1037. following features if they would be of interest to you.
  1038.  
  1039.  
  1040.  
  1041. 1.  Writing to a sequential file.                                 ____
  1042.  
  1043. 2.  Send text to printer.                                         ____
  1044.  
  1045. 3.  TimerOn, TimerOff, etc.; for timed testing.                   ____
  1046.  
  1047. 4.  Random integer generation.                                    ____
  1048.  
  1049. 5.  Text input, ie: a person might input their name               ____
  1050.     for some yet to be determined purpose.
  1051.  
  1052.  
  1053.  
  1054.  
  1055.