home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / programming / misc_programming / batman20.z!p / BATMAN.DOC next >
Text File  |  1988-07-20  |  26KB  |  886 lines

  1.  
  2.  
  3.  
  4.                                    BATMAN
  5.                             (BATch job MANager)
  6.  
  7.                   A Tool For Adding Pizazz To Batch Files
  8.                                 Version 1.1
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28. Presented to the public by:   GS Communications
  29.                               PO Box 5962
  30.                               Titusville, FL 32783
  31.  
  32.  
  33.  
  34.  
  35.  
  36. First, the copyright and disclaimers;
  37.  
  38.  
  39.  
  40. * BATMAN is the property of GS Communications with authoring rights by
  41.   Guy Smith. GS Communications reserves all rights and privileges
  42.   afforded by copyright statues.
  43.  
  44. * BATMAN is released to the public as a Shareware offering. This means
  45.   you may use the program as you like with no restrictions. The author
  46.   asks that you make a one dollar contribution if you receive any
  47.   benefit from the program at all.
  48.  
  49. * Business concerns, and this includes sole proprietorships,
  50.   partnerships, corporations, nonprofit organizations, government agencies,
  51.   and cartels must pay a one time, five dollar site licensing fee.
  52.  
  53. * GS Communications offers a cash reward for evidence of business
  54.   concerns that use BATMAN, or any other software produced by GS
  55.   Communications, without paying the requisite fee.
  56.  
  57. * GS Communications and Guy Smith waive all responsibility for the
  58.   usefulness of the product or any damage it may inadvertently cause
  59.   (though it is a clean as clean can be).
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.                                      2
  93.  
  94.  
  95.  
  96. Just What In The Heck Is BATMAN Anyhow:
  97.  
  98.  
  99.      BATMAN is a comic book character that achieved zenith popularity
  100.      during the run of a network television show of the same name
  101.      which aired during the 1960's.
  102.  
  103.      But that's irrelevant. This program, BATMAN, is a tool for
  104.      bringing a little life an pizazz to your MS-DOS batch files. The
  105.      program allows you to do a number of tricks which are either
  106.  
  107.  
  108.           1) impossible to with conventual MS-DOS commands
  109.           2) require cryptic ASNI code to produce or
  110.           3) would otherwise require a bunch of separate utilities
  111.  
  112.  
  113.      I'll get into more detail in a moment. For now we can say that
  114.      BATMAN will allow you to;
  115.  
  116.  
  117.           * Make the speaker beep for any number of times, at any tone
  118.             and with any duration of tone and gap between the tones
  119.  
  120.           * Play 'canned' songs and interesting sound effects
  121.  
  122.           * Switch to any video mode (this saves floppy disc users
  123.             from having to have the MODE program on every disc).
  124.             Support is included for 43 lines on EGA systems and 50
  125.             lines on VGAs.
  126.  
  127.           * Get responses from users and thus allows the batch file to
  128.             react to their answers
  129.  
  130.           * Set foreground and background colors for text
  131.  
  132.           * Write text at any position on the screen
  133.  
  134.           * Solicit "Yes or no" response with many variations.
  135.  
  136.           * Draw boxes with border for putting detail text into
  137.  
  138.           * And many other stunts
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.                                      3
  154.  
  155.  
  156.  
  157. NEW AND IMPROVED:
  158.  
  159.         I have made a number of improvement since 1.0. Briefly they are;
  160.  
  161.         1) The YORN command doesn't make a mess of the screen any more.
  162.            Originally it produced an error message which, if the user made
  163.            too many mistakes, would cause the screen to scroll away. Now an
  164.            error window opens, tells the user to try a "yes or no" type
  165.            answer, and then disappears with the first keystroke. I have used
  166.            a set text attribute for the error box (red background, black
  167.            foreground), which may interfere with your choice. Later I'll
  168.            write in a test of colors and change them dynamically.
  169.  
  170.         2) New commands which clear the screen (an oversight in the first
  171.            version), draw a box and report the current video mode.
  172.  
  173.         3) New sound effects/songs up to five from three (there should be
  174.            more, but I've been busy).
  175.  
  176.         4) Process BATMAN commands from a file for faster response.
  177.  
  178.  
  179.      Sound good? Well flip the page and I'll start describing the
  180.      program.
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.                                      4
  215.  
  216.  
  217.  
  218. How Do You Use BATMAN:
  219.  
  220.  
  221.      Well, first you use the Bat Telephone, dial 1-800-BAT-CAVE . . .
  222.  
  223.      I'm sorry about these silly outburst, but this is a silly day.
  224.      Besides, the name of the program makes for obvious jokes.
  225.  
  226.      To run BATMAN, simply type BATMAN followed by one of the
  227.      supported parameters. Since BATMAN is designed for use in batch
  228.      files, you will probably want to experiment by building your own.
  229.      In this package, there is a batch file named DEMO.BAT which shows
  230.      off some of the features of BATMAN.
  231.  
  232.      Each of the parameters is a command name which can be abbreviated
  233.      to three letters (it was four in version 1.0, but I found a good reason
  234.      to decrease the character count). For example, the following two
  235.      commands function identically;
  236.  
  237.  
  238.                BATMAN VIDEOMODE(CO80)
  239.                BATMAN VIDE(CO80)
  240.  
  241.  
  242.      You can use more than three letters if you like. The only
  243.      restriction is that the first four characters must match a
  244.      command name exactly. You could say;
  245.  
  246.  
  247.                BATMAN VIDEO_MODE_HAS_POWER(CO80)
  248.  
  249.  
  250.      without making the program bomb. As you may note, the VIDEO
  251.      command has a parameter all its own, which is encased in
  252.      parenthesis. Most commands have such a parameters, some have
  253.      several, and a few have none at all. Don't let this bother you.
  254.      If you ever forget how to structure a parameter, just type in
  255.      BATMAN with no commands (or with the HELP command) and a short
  256.      list of commands and parameters will be displayed.
  257.  
  258.      You can combine commands on a single line. This is advised since
  259.      each command line that calls BATMAN causes the computer to hunt
  260.      down the program, allocate memory, load and initialize the
  261.      program, and more time consuming processes.  This new version also
  262.      allows you to use an entire file of BATMAN commands which makes the
  263.      process even faster.  The only time you need to exit BATMAN is when a
  264.      batch file decision is required (i.e. the IF statement).
  265.  
  266.      Finally, I suggest you keep BATMAN in the first directory in your
  267.      path statement (this section really only applies to hard disc
  268.      users, so floppy folks can read on). My \UTIL directory is first
  269.      in the path list and I keep BATMAN at the top of the directory
  270.      (there are a number of utilities that allow you to shuffle the
  271.      order in which files appear in a subdirectory). This speeds up
  272.      batch file execution greatly and saves some wear and tear on the
  273.      drive.
  274.  
  275.                                      5
  276.  
  277.  
  278.  
  279.  
  280.      Some much for the basics. Flip the page and we'll learn about
  281.      each of the parameters.
  282.  
  283.  
  284. BEEP(num,dur,frq,gap)
  285.  
  286.      This command produces beeps of a specific tone, duration and
  287.      delay (i.e. no sound at all) between beeps.
  288.  
  289.  
  290.           num: The number of beeps you want to hear.
  291.  
  292.           dur: The length of the beep in milliseconds.
  293.  
  294.           frq: The frequency, or tone of the beep.
  295.  
  296.           gap: The delay between beeps.
  297.  
  298.  
  299.      Use numbers only. Using character will produce an error message
  300.      (try it, you'll be surprised). You can use negative numbers, but
  301.      the program ignores the negative value, and uses the absolute
  302.      value. The commas are the only delimiters allowed in BATMAN. The
  303.      command;
  304.  
  305.  
  306.           BATMAN BEEP(3,500,440,250)
  307.  
  308.  
  309.      produces three beeps. Each beep is 1/2 second long and is played
  310.      at 440 Hz (or middle A). Silence is heard for 1/4 second between
  311.      each beep.
  312.  
  313.      I decided to leave the parameters as numbers instead of devising
  314.      some coding scheme. This saves program size and processing speed
  315.      and makes BATMAN run faster. Since BATMAN may be used many times,
  316.      it is essential to keep it as tight as possible.
  317.  
  318.      For the convenience of those with a musical background, the
  319.      following chart shows the best approximate value for frq to use;
  320.  
  321.  
  322.         OCTAVE    NOTE      NUMBER    │    OCTAVE    NOTE      NUMBER
  323.         ══════════════════════════════│══════════════════════════════
  324.         0         A         27        │    4         F         349
  325.         0         B         31        │    4         G         392
  326.         1         C         33        │    4         A         440
  327.         1         D         37        │    4         B         494
  328.         1         E         41        │    5         C         523
  329.         1         F         44        │    5         D         587
  330.         1         G         49        │    5         E         659
  331.         1         A         55        │    5         F         698
  332.         1         B         62        │    5         G         784
  333.         2         C         65        │    5         A         880
  334.         2         D         73        │    5         B         988
  335.  
  336.                                      6
  337.  
  338.  
  339.  
  340.         2         E         82        │    6         C         1046
  341.         2         F         87        │    6         D         1175
  342.         2         G         98        │    6         E         1318
  343.         2         A         110       │    6         F         1397
  344.         2         B         123       │    6         G         1568
  345.         3         C         131       │    6         A         1760
  346.         3         D         147       │    6         B         1975
  347.         3         E         165       │    7         C         2093
  348.         3         F         175       │    7         D         2349
  349.         3         G         196       │    7         E         2637
  350.         3         A         220       │    7         F         2794
  351.         3         B         247       │    7         G         3136
  352.         4         C (mid)   262       │    7         A         3520
  353.         4         D         294       │    7         B         3951
  354.         4         E         329       │    8         C         4186
  355.  
  356.  
  357.      I'll update this chart in future release to show the values for
  358.      sharps and flats. For now, your best bet is to pick a number
  359.      between the two surrounding values (i.e. 1st octave A# should be
  360.      about 58).
  361.  
  362.      As I noted before, these are the closet approximate value for the
  363.      frequencies possible. They are close enough that the untrained
  364.      ear won't notice the difference. For duration and gap, I offer
  365.      the following;
  366.  
  367.  
  368.                VALUE    │     BEAT
  369.                ═════════│═══════════════════════
  370.                1000     │     Hole note
  371.                 500     │     Half note
  372.                 250     │     Quarter note
  373.                 125     │     Eighth note
  374.                  66     │     Sixteenth note
  375.                  31     │     Thirty second note
  376.  
  377.  
  378.  
  379. PAUSE(sec)
  380.  
  381.      Causes the batch file to do nothing. This is important. It allows
  382.      users to read messages, or admire your beautiful display.
  383.  
  384.           sec: Time to delay in seconds. This measure is approximate
  385.                (i.e. it is not exactly a second, but a touch more).
  386.  
  387.  
  388.  
  389. VIDEO(mode)
  390.  
  391.      Changes the display mode used by your video adapters. Since MS-
  392.      DOS can support both a color and monochrome monitor in a single
  393.      computer, this command is handy for adjusting this value (you can
  394.      also use the MODE program supplied on your MS-DOS disc, but
  395.      that's just one more file to keep track of). Additionally, you
  396.  
  397.                                      7
  398.  
  399.  
  400.  
  401.      can adjust the line densities of EGA and VGA monitors.
  402.  
  403.  
  404.         mode:  Text which describes what video mode to use. The
  405.                following list contains the only valid parameters;
  406.  
  407.           CO80:     Set video for a color adapter and 80 characters
  408.                     across the screen.
  409.  
  410.           BW80:     Same as above, but in Black and White.
  411.  
  412.           CO40:     40 column video in color.
  413.  
  414.           BW40:     40 column video in Black and White.
  415.  
  416.           MONO:     Switches to a monochrome adapter.
  417.  
  418.           EGA43:    Switches an EGA system to 43 lines of text and 80
  419.                     columns.
  420.  
  421.           VGA50:    Switches a VGA system to 50 lines of text and 80
  422.                     columns.
  423.  
  424.      Don't worry too much about choosing the wrong parameter. MS-DOS
  425.      is forgiving on this point and won't let you do the impossible
  426.      (like switch to MONO if you do not have a monochrome adapter
  427.      installed).
  428.  
  429.  
  430. MODE
  431.  
  432.      Reports what mode the CRT is in. This is very handy if you try to create
  433.      a batch file set which works differently with any monitor/card
  434.      combination (if you do this, you are a prime masochists).
  435.  
  436.      The values reported by MODE are returned in the errorlevel DOS variable,
  437.      and can have the following values;
  438.  
  439.         0:      Black and white in 40 column mode
  440.         1:      Color           in 40 column mode
  441.         2:      Black and white in 80 column mode
  442.         3:      Color           in 80 column mode
  443.         7:      Monochrome monitor, 80 columns
  444.  
  445.  
  446. SONG(num)
  447.  
  448.      Plays a tune or sound effect already stored in BATMAN (I am
  449.      working on the theme song from the old Batman program). At
  450.      present, there are only three tunes stored.
  451.  
  452.  
  453.           num: A number from 1 to 4.
  454.  
  455.                1 -  A rising pitch which lasts for a few seconds
  456.                2 -  A laser blast
  457.  
  458.                                      8
  459.  
  460.  
  461.  
  462.                3 -  A short tune akin to "Irish Eyes"
  463.                4 -  A butchery of the interlude in Jethro Tulls
  464.                     "Mother England Reverie"
  465.                5 -  A note quite right version of the "Close Encounters"
  466.                     contact tune
  467.  
  468.      I have a goal of adding one more tune for every new feature added
  469.      to BATMAN. In time, I suspect the tune will exceed 15 or 20. If
  470.      you want something else, try experimenting with the BEEP command
  471.      and put as many BEEPs on a command line as possible.
  472.  
  473.  
  474.  
  475. ERRORCODE
  476.  
  477.      This command takes a number from the user and uses it as the exit
  478.      code. This code, MS-DOS environment variable ERRORLEVEL, can then
  479.      be used to branch elsewhere in the batch file. There is no
  480.      parameter for this command.
  481.  
  482.      The best use for ERRORCODE would be in constructing a menu. Here
  483.      is an example batch file of a simple menu system;
  484.  
  485.  
  486.         BATMAN WRITE( 1 ........ Lotus 1-2-3)
  487.         BATMAN WRITE( 2 ........ Space Invaders)
  488.         BATMAN WRITE( 3 ........ PC Paintbrush)
  489.         BATMAN WRITE( Enter a number:) ERRORCODE
  490.         IF ERRORLEVEL 1 GOTO LOTUS
  491.         IF ERRORLEVEL 2 GOTO INVADERS
  492.         IF ERRORLEVEL 3 GOTO PAINT
  493.         ...
  494.  
  495.  
  496.      Actually, there is another step involved, but this shows the
  497.      intent. Be careful not to use ERRORCODE and YORN commands on the
  498.      same BATMAN line. Both set ERRORLEVEL and using both will cause
  499.      the first to be unusable.
  500.  
  501.  
  502.  
  503. INFO
  504.  
  505.      Displays information about BATMAN, myself and where to send money
  506.      and bug reports.
  507.  
  508.  
  509.  
  510. FOREGROUND(fcolor,BLINK)
  511.  
  512.      Sets the foreground text color. All text sent to the screen after
  513.      this command is processed will be displayed using the color
  514.      specified. An optional parameter, BLINK, will cause the
  515.      characters to blink on and off while they are on the screen.
  516.  
  517.  
  518.  
  519.                                      9
  520.  
  521.  
  522.  
  523.         fcolor:   One of 16 foreground colors. They are;
  524.  
  525.                   BLUE                LIGHTBLUE
  526.                   GREEN               LIGHTGREEN
  527.                   CYAN                LIGHTCYAN
  528.                   RED                 LIGHTRED
  529.                   MAGENTA             LIGHTMAGENTA
  530.                   DARKGRAY            LIGHTGRAY
  531.                   BROWN               YELLOW
  532.  
  533.         BLINK:    If blinking characters are desired, use the key word
  534.                   BLINK. No other value will do.
  535.  
  536.  
  537.      Use the names exactly as they appear in this chart. It doesn't
  538.      matter if they are upper case, lower case or mixed. Just don't
  539.      separate the word roots.
  540.  
  541.  
  542.  
  543. BACKGROUND(bcolor)
  544.  
  545.      Sets the background color, the color behind the actual characters
  546.      to be printed.
  547.  
  548.  
  549.         bcolor:   Only eight colors are available for the background;
  550.  
  551.                   BLACK               BLUE
  552.                   GREEN               CYAN
  553.                   RED                 MAGENTA
  554.                   BROWN               LIGHTGRAY
  555.  
  556.  
  557.      Please note that if you select BLACK as your foreground color,
  558.      you better select a new background color, and one other than
  559.      black. Otherwise, all your text will simply never show up.
  560.  
  561.  
  562. HELP
  563.  
  564.      Displays a short help screen, the same as if you ran BATMAN
  565.      without any commands. There are no parameters for this command.
  566.  
  567.  
  568.  
  569. WRITE(text)
  570.  
  571.      Displays text on the video screen. Text is limited only to the
  572.      length of the command line in your batch file and one character.
  573.  
  574.  
  575.         text:     The text you want displayed. DO NOT USE PARENTHESIS
  576.                   AS PART OF YOUR TEXT!!!!! There is a technical
  577.                   reason why you can not use a right paren ")" in this
  578.                   command (for the technically minded, read TECHNICAL
  579.  
  580.                                      10
  581.  
  582.  
  583.  
  584.                   ISSUES at the end of this document).
  585.  
  586.  
  587.      The text will be drawn at the current cursor location. The cursor
  588.      will remain at the end of the text line. This allows you to use
  589.      commands ERRORCODE and YORN to get responses from users, and have
  590.      the responses displayed at the correct position on the screen
  591.      (not on the next line or some silliness like that).
  592.  
  593.  
  594. GOTO(x,y)
  595.  
  596.      Causes the video cursor to move to the defined row and column.
  597.      This is very handy for making dazzling displays with banners,
  598.      marked fields and the like.
  599.  
  600.  
  601.         x:   The column you want to start in. Normally a position 1
  602.              through 80, except when your are in 40 column mode.
  603.  
  604.         y:   The row to move to, anywhere from 1 to 50 depending on
  605.              video adapters and mode settings. Normally 1 through 25.
  606.  
  607.  
  608.      Use numbers only. Anything else causes BATMAN to hurl insults in
  609.      your direction (then again, so does any truly invalid parameter).
  610.      If you use a negative number, BATMAN ignores the negative sign
  611.      and uses the absolute value. Numbers greater than the limits of
  612.      your video screen will be ignored.
  613.  
  614.  
  615. YORN
  616.  
  617.      Gets either a 'yes' or 'no' response from the user. The nature of
  618.      the response can be a number of different variations. A value of
  619.      either zero or one is returned to ERRORLEVEL when the program
  620.      finishes. Zero means the user specified 'no' while a one
  621.      specifies 'yes'.
  622.  
  623.  
  624.         Valid 'yes' answers:  YES, AYE, OK, OKAY, SI, OUI, DA, YEP,
  625.                               FINE, 1, Y
  626.  
  627.         Valid 'no' answers:   NO, NINE, NYET, NEGATIVE, NAY, NIX, N
  628.  
  629.  
  630.  
  631. FILE(filename)
  632.  
  633.      Processes BATMAN commands in a file. Commands are the same and can have
  634.      the BATMAN token on the front of the line (this makes for easy switching
  635.      from batch file line mode to command file mode).
  636.  
  637.         filename:  the name of the file containing the commands to process.
  638.                    You must specify the entire file name, including path (if
  639.                    other than current) and extension. I suggest using the
  640.  
  641.                                      11
  642.  
  643.  
  644.  
  645.                    extension BM for BATMAN command files (see DEMO.BAT for an
  646.                    example). No default file name extension is used.
  647.  
  648. BLANK
  649.  
  650.      Clears the screen using the current text attributes. I included this to
  651.      avoid having to exit BATMAN just to clear the screen (You may also use
  652.      the command CLS, just like in DOS. This helps moving an old BATMAN batch
  653.      file to command file format). If you specify a text attribute before
  654.      using blank (say BACKGROUND(RED)) then the entire screen receives the
  655.      attribute.
  656.  
  657. BOX(x,y,height,width,horiz,vert)
  658.  
  659.      Draws a box with border on screen using the current text attribute. I
  660.      included this since I included my windowing routines to handle BATMAN
  661.      errors in other routines. This is a quick way to put up fancy headers
  662.      and such.
  663.  
  664.         x,y:    The screen x and y coordinates with the upper left corner
  665.                 being 1,1.
  666.  
  667.         height: The number of total line tall the box will be INCLUDING the
  668.                 top and bottom frame lines.
  669.  
  670.         width:  Same as above except how wide the box is.
  671.  
  672.         horiz:  The line type for horizontal lines. Must be either SINGLE or
  673.                 DOUBLE. This will produce a line that is either a "─" or a
  674.                 "═".
  675.  
  676.         vert:   Same as above except for vertical lines. Produces either a
  677.                 "│" or a "║".
  678.  
  679.      In all cases the lines convert to proper joining corners to match the
  680.      lines. The following BATMAN line produces a red box, with black letters
  681.      and double lines all the way around in the center of your screen.  Try
  682.      it;
  683.  
  684.        BATMAN foreground(black) background(red) box(10,10,60,5,double,double)
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.      I welcome suggestions for more. Answers need not be in upper
  694.      case. They can be upper, lower or mixed case. Giving a response
  695.      other that one listed will tell the use that their answer is
  696.      ambiguous and to please enter it again. For now the message is
  697.      not very pretty and will cause screen roll if repeated. I'll fix
  698.      this in a later version. The fix will employ an error window,
  699.      color and a return of the cursor to it's original position.
  700.  
  701.  
  702.                                      12
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.                                      13
  764.  
  765.  
  766.  
  767.  
  768. PROBLEMS AND FUNDS:
  769.  
  770.      Please report any problems you discover with BATMAN. This will
  771.      help with making the system batter in later releases. Anyone who
  772.      sends in a problem report and a blank disc (with return postage)
  773.      will get the latest release and bug fix free (if you are going to
  774.      the trouble to send in a report, don't forget the one dollar
  775.      Shareware fee).
  776.  
  777.      Send all correspondence to:
  778.  
  779.                     GS Communications
  780.                     PO Box 5962
  781.                     Titusville, FL 32783
  782.  
  783.      or             Guy Smith
  784.                     Compuserve # 72057,655
  785.  
  786.      or             Wizard !
  787.                     Compusult BBS
  788.                     (407) 729-0935
  789.  
  790.  
  791.  
  792. COMING ATTRACTIONS:
  793.  
  794.      I am already looking forward to version 1.2 of BATMAN. No release
  795.      date will be announced, but I suspect it won't be a month or two
  796.      following this. I would like any and all suggestions you may
  797.      offer. Credit for outstanding suggestions will appear in the
  798.      documentation.
  799.  
  800.      I am considering adding the following features;
  801.  
  802.  
  803.         * The ability to SET environment variable with user response.
  804.           This would allow more control in batch files and allow
  805.           responses like 'A', 'B' or 'DONT-CARE' instead of just
  806.           numbers.
  807.  
  808.         * Large letters. This would allow you to have a line of text
  809.           appear in letters larger than normal. May also consider
  810.           several different text styles, like Shadow or Old English.
  811.  
  812.         * Support DOS commands which would normally require another
  813.           program. Mode was eliminated in this release (as far as
  814.           video was concerned). What else is useful, but requires a
  815.           separate program?
  816.  
  817.  
  818.  
  819. TECHNICAL ISSUES
  820.  
  821.      BATMAN is coded entirely in Turbo Pascal 4.0. If something
  822.      doesn't work, then it's Borland's fault. I may toy around with
  823.  
  824.                                      14
  825.  
  826.  
  827.  
  828.      assembly language speed-em-ups later, but for now it's plain
  829.      vanilla.
  830.  
  831.      The driving goals behind BATMAN were to keep the program small
  832.      and fast while making it easy to use. These goals are always at
  833.      odds with one another, so some compromises had to be made. The
  834.      worst one was the use of regular integers for parameters in the
  835.      BEEP command. It would have been elegant to specify tones as
  836.      musical scales (i.e. a symbol like 3C# for 'third octave C
  837.      sharp') and to have the durations and gaps in beats (say '1' for
  838.      a whole note and '4' for a quarter note, etc). However, lean and
  839.      mean beats fancy any day.
  840.  
  841.      Source code is available upon request. Send one dollar, a blank
  842.      disc and return postage in a disc mailing envelope to;
  843.  
  844.                GS Communication
  845.                PO Box 5962
  846.                Titusville, FL 32783
  847.  
  848.      You will get the souce code, documentation and object code for
  849.      the latest version of BATMAN. I welcome any criticism about
  850.      coding style and efficiency you care to offer.
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.                                      15
  886.