home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / bds.zip / BDS.DOC < prev   
Encoding:
Text File  |  1986-07-24  |  13.8 KB  |  288 lines

  1.      A    AUTO            < , >          Place current line in center of page
  2.      C    CLS             < . >          List current program line
  3.      D    DELETE          < - >          List previous program line
  4.      E    EDIT            < + >          List next program line
  5.      L    LIST            <PgUp>         List previous page of lines
  6.      L"   LOAD"           <PgDn>         List next page of lines
  7.      M    MERGE           <Ctrl><PgUp>   List first page of lines
  8.      P    LLIST           <Ctrl><PgDn>   List last page of lines
  9.      S"   SAVE
  10.      U    Un-NEW                     Single Step Trace Commands
  11.                            SYSTEM TROFF                       disable SST
  12.                            SYSTEM TRON [LINE] [lineno]        enable  SST
  13.  
  14.      COMPRESS                            UNCOMPRESS
  15.      H [RL,NC,LB,LR,LT,SD,SP,RV]         I [E L D I T]
  16.  
  17.      Where:                              Where:
  18.           RL  Remove Lines                    E  Expanded option
  19.           NC  No Combination                  L  Line Indentation
  20.           LB  Leave Blanks                    D  DATA item seperation
  21.           LR  Leave Remarks                   I  Indent loop suppress
  22.           LT  Leave Type chars                T  Type char suppress
  23.           SD  Shorten and Display
  24.           SP  Shorten and Print
  25.           RV  Remove Variables
  26.  
  27.                                 VARIABLE DUMP
  28.  
  29.           V .                List all variables to the screen
  30.           V ,                List all variables to the printer
  31.           V .vn              List variables to the screen in ascending order,
  32.                              starting with the specified variable
  33.               V ,vn          List variables to the screen in ascending order,
  34.                              starting with the specified variables
  35.           V .vn,vn[,vn,]...  List the specified variables to the screen
  36.           V ,vn,vn[,vn,]...  List the specified variables to the printer
  37.           V vn[,vn,]...      List the specified variable(s) to the screen
  38.           V                  Repeat the previous V command
  39.  
  40.  
  41.                                  SUPER RENUM
  42.  
  43.           R [newline] [,[increment] [,[startline] [,endline]]]
  44.                      Renumber and/or relocate a block of program lines
  45.           R I [newline] [,[increment] [,[startline] [,endlling]]]
  46.                      Duplicate a block of program lines
  47.           R U
  48.                      Scan program for unidenfined lines
  49.  
  50.               VARIABLE/LINE NUMBER/NUMERIC CONSTANT CROSS-REFERENCE
  51.  
  52.            X .         List all references to the screen
  53.            X ,         List all references to the printer
  54.            X .ppppp    List all references starting with ppppp to the screen
  55.            X ,ppppp    List all references starting with ppppp to the printer
  56.            X ppppp     List all references to ppppp to the screen
  57.            X           List to the screen the 'next' program line which
  58.                        contains a reference to the last X ppppp command
  59.  
  60.  
  61.                         STRING/KEYWORD CROSS-REFERENCE
  62.  
  63.             F .REM     List program lines containing REM to the screen
  64.             F ,REM     List program lines containing REM to the printer
  65.             F .        List all keyword references to the screen
  66.             F ,        List all keyword references to the printer
  67.             F ."kw     List keyword references to the screen in ascending
  68.                        sequence starting with kw
  69.             F ,"kw     List keyword references to the screen in ascending
  70.                        sequence starting with kw
  71.             F ."ss"    List string references to the screen in ascending
  72.                        sequence starting with ss
  73.             F ,"ss"    List string references to the screen in ascending
  74.                        sequence starting with ss
  75.             F "kw      List references to kw to the screen
  76.             F "ss"     List string references which CONTAIN ss to the screen
  77.             F "kw1+kw2 List references in which kw1 and kw2 appear in the
  78.                        program line to the screen
  79.             F "kw1,kw2 List references to kw1 to the screen and REPLACE
  80.                        each occurrence of kw1 with kw2
  81.             F          List the 'next' program line containing a reference to
  82.                        the last F "kw or F "ss" command
  83.  
  84. COMPRESS
  85. ~~~~~~~~
  86.           This module reduces the size of the resident program to an absolute
  87. minimum for optimal execution under the BASIC interpreter.  Programs which
  88. have been so compressed typically occupy 30 to 40% less memory space, and
  89. run 7 to 10% faster.
  90.  
  91. The compression is accomplished through the fillowing actions:
  92.  
  93.          1) Remove remarks.
  94.          2) Remove unneccessary blanks.
  95.          3) Remove extraneous colons.
  96.          4) Remove quotation marks at the end of a line, unless the quote is
  97.             required to retain a trailing blank.
  98.          5) Remove the LET keyword.
  99.          6) Remove the GOTO keyword in the sequences THEN GOTO and ELSE GOTO.
  100.          7) Remove variable type declaration characters ($,%,!,#) when a
  101.             previous DEFINT, DEFSTR, DEFSNG, or DEFDBL statement makes
  102.             such explicit typing redundant.
  103.          8) Merge separate lines into single multiple-statement lines.
  104.          9) Remove any non-executable program lines, i.e. unreferenced lines
  105.             which follow GOTO,RETURN or END statements.
  106.         10) Remove variable names from NEXT statements.
  107.         11) Automatically shorten variable names.
  108.  
  109.  
  110. Items 3 and 4 are not optional, but the remaining actions are controlled by
  111. parameter.  The default state for items 9,10,and 11 is OFF, while the
  112. default for all other items is ON.
  113.  
  114. For item 7 to function correctly, the DEFxxx (where xxx = INT,STR,SNG,or DBL)
  115. statements must appear in a physical order corresponding to there logical
  116. order.  If DEFxxx statements appear in subroutines which are referenced by
  117. GOSUB statements, those lines which appear in the program physically before
  118. the DEFxxx statements will be treated as if the DEFxxx statement was not in
  119. effect.  Therefore, in order to take maximum advantage of this feature, the
  120. DEFxxx statements should be at or near the beginning of the program.
  121.  
  122. Although item 10 normally saves a few bytes, the primary opjective in removing
  123. the variable names from NEXT statements is to improve the performance of the
  124. program.  Our benchmark tests show that FOR/NEXT loops execute up to 25%
  125. faster with the variable names ommitted.
  126.  
  127. Compress is invoked with the H command, optionally followed by one or more
  128. parameters to tailor the compression to your specific requirements.
  129. Mutiple parameters must be separated by commas.
  130. The parameters are:(The envelope please)
  131.  
  132. RL    Remove Lines (#9). Non-executable lines are removed.
  133.  
  134. NC    No Combination (#8). Seprate lines are not merged into multiple-statement
  135.       lines.  Inhibits removal of non-executable program lines (#9), even if
  136.       the RL parameter is specified.
  137.  
  138. LB    Leave Blanks (#2).  Blanks are not removed.  This also disables removal
  139.       of LET (#5) and GOTO (#6) keywords.  Under certain circumstances, a
  140.       very few blanks may be removed, even with this option set.
  141.  
  142. LR    Leave Remarks (#1). Remarks are not removed.
  143.  
  144. LT    Leave Typing characters (#7).  Variable type declaration characters
  145.       are not removed.
  146.  
  147. SD    Shorten and Display (#11).  Specifies that you want to shorten variable
  148.       names and sent the new/old variable nave list to the Display.
  149.       Variable names which are already less than four(4) characters in
  150.       length are not shortened.  The new variable names will be two or three
  151.       characters long and will retain the same first letter as the old
  152.       variable name.
  153.  
  154. SP    Shorten and Print (#11).  Specifies that you want to shorten variable
  155.       names and send the new/old variable name list to the Printer.
  156.       When using this parameter, a printer fault such as out-of-paper or
  157.       printer off-line will terminate the compress function and leave the
  158.       program in an unfinished condition.  You should exercise sufficient care
  159.       to prevent such a printer faule; but if it does occur, the Un-NEW
  160.       function can be used to recover the program.
  161.  
  162. RV    Remove Variables (#10).  Remove the variable names from NEXT statements
  163.       WARNING: Do not use this parameter if your program: 1)contains a GOTO
  164.       referencing a NEXT statement with a variable name which is the control
  165.       variable of an outer loop, and 2)depends upon the inplied
  166.       'abnormal termination' of an inner loop.  Refer to the "FOR and NEXT"
  167.       statement discription in your BASIC manual for a further discussion
  168.       or the need for variable names on NEXT statements.
  169.  
  170.  
  171. UNCOMPRESS
  172. ~~~~~~~~~~
  173.  
  174.           UNCOMPRESS is invoked with the I command, optionally followed by
  175.   one or more parameters to talor the expansion to your individual taste.
  176.   Multiple parameters may be entered with or without blanks as delimiters.
  177.   The parameters are:
  178.  
  179. E     Expanded option.  Inseret spaces after left parentheses and before
  180.       right parentheses.  Some people like spaces here, some hate them.
  181.       No one seems to pe indifferent on this topic, so try it both ways and
  182.       pick your favorite.
  183.  
  184. L     Line indentation.  Indent new program lines which were created by
  185.       seperating multiple-statement lines.  This will provide a 'stair step'
  186.       visual connection of statements which are executed as a single unit.
  187.  
  188. D     DATA statement items are separated into nultiple line.
  189.  
  190. I     Indentation supperss.  Statements contained within FOR/NEXT and
  191.       WHILE/WEND loops are not indented.
  192.  
  193. T     Type character suppress.  Variable type declaration charcters are
  194.       not inserted.
  195.  
  196.  
  197.  
  198. Scrolling Keys
  199. ~~~~~~~~~~~~~~
  200.  
  201.       The scrolling keys perform the specified action immediately, there is
  202. no need to also press the Enter key.  However, these keys are active only on
  203. the first keystroke followint the BASIC Ok prompt or Enter key.
  204. If you start to type on a command line, then backspace to the beginning of the
  205. line, you must press the Enter key to restore the first keystroke state so
  206. that the scrolling keys can be recognized.  Likewise, if you use the arrow keys
  207. to change the cursor location, the BDS scrolling keys will be inactive until
  208. you press the ENTER key.
  209.  
  210.  
  211.    < , >          List current program line in center of screen.
  212.    < . >          List current program line.
  213.    < - >          List previous porgram line.
  214.    < + >          List next program line.
  215.    <PgUp>         List previous page of program lines.
  216.    <PgDn>         List next page of program lines.
  217.    <Ctrl><PgUp>   List first page of program lines.
  218.    <Ctrl><PgDn>   List last page of program lines
  219.  
  220. If you enter the line number it will give you the line rather then delete it
  221. (an edit function)
  222.  
  223.  
  224.                 DEBUG BDS.COM
  225.                 E116"MX BASICA",0
  226.                 W
  227.                 Q
  228.  
  229.  
  230.           E116      |    "M/D"    |   "X"    |  "BASICA"     |   ",0"
  231.                     |             |          |               |
  232.     ADDRESS OF BDS  | STORE CMDS  | ADVANCED | CALLS BASICA  | NO FURTHER
  233.                     | IN MEMORY   | FEATURES | COULD BE      | INSTRUCTIONS
  234.                     | OR CALL FROM|          | \DOS\BASICA   |
  235.                     |    DISK     |          |               |
  236.                     |             |          |               |
  237.  
  238. TO PUT IT ALL BACK TO NORMAL     DEBUG BDS.COM
  239.                                  E116,0
  240.                                  W
  241.                                  Q
  242.  
  243.  
  244. You can change Single Step Tron with the GREY "-" and GREY "+"
  245. so thet the line numbers appear in the upper lefo corner of
  246. so thet the entire line appears across the top of the screen
  247.  
  248. < Lists first program line
  249. > Lists last program line
  250.  
  251. <Ctrl><M> executes the next program line, clears the Single Step Trace window,
  252. then repeats the last direct mode VARIABLE DUMP command (with display output
  253. limited to the screen window specified by CSRLIN).
  254.  
  255.  
  256.      Protection Level
  257.                        DEBUG BDS.COM
  258.                        E19E,1    Protection level one.  When you type a line
  259.                                  number only and press <ENTER>, the specified
  260.                                  line is EDITed rather than DELETEd.  Since
  261.                                  this provides a faster way to edit a program
  262.                                  line, the E abbreviation for EDIT is removed
  263.  
  264.                        E19E,2    Protection level two.  In addition to level
  265.                                  one, when you type one of the single letter
  266.                                  BDS commands which can modify the program
  267.                                  (H for Compress, I for Uncompress, R for
  268.                                  Super Renum), the following verification
  269.                                  message is displayed: Are you sure? (Y/N)
  270.                                  Then you can type Y to continue the
  271.                                  command or N to return to the direct mode
  272.                                  without modifying the program.
  273.  
  274.                        E19E,3    Protection level three.  In addition to level
  275.                                  one, the verification message shown above is
  276.                                  displayed or any BDS command beginning with
  277.                                  C for Copy, D for DELETE, H for Compress,
  278.                                  I for Uncompress, M for Move, and R for
  279.                                  Super Renum.
  280.  
  281. Right at this moment the file I sent you is on level 3
  282.  
  283.  
  284. I hope you find this as useful as I have, all you need do is invoke it
  285. with this command
  286.  
  287. C>BDS (you could add things like /f:60 or /s:512 or whatever you want
  288.