home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l078 / 1.img / README < prev    next >
Encoding:
Text File  |  1987-04-02  |  15.6 KB  |  458 lines

  1.  
  2.  
  3.                  WELCOME TO TURBO BASIC
  4.                  ──────────────────────
  5.  
  6.     This README file contains information that will be useful
  7.     and/or of interest to you. Please read it in its entirety,
  8.     referring to it when you encounter problems in the manual.
  9.  
  10.     TABLE OF CONTENTS
  11.     ─────────────────
  12.  
  13.     1. How to get Help
  14.     2. Graphics support for the new IBM Personal System computers
  15.     3. Corrections/Additions to the Manual
  16.     4. Important tips
  17.     5. Files on the disk
  18.  
  19.  
  20.     1. HOW TO GET HELP
  21.     ──────────────────
  22.  
  23.     If you have any problems, please read this file and the
  24.     Owner's Handbook first. If you still have a question and need
  25.     assistance, help is available from the following sources:
  26.  
  27.        1. Type GO BORLAND on the CompuServe bulletin board system.
  28.        2. Check with your local software dealer or users' group.
  29.        3. Write to us at the following address:
  30.  
  31.          Borland International
  32.          Turbo Basic Technical Support
  33.          4585 Scotts Valley Dr.
  34.          Scotts Valley, CA  95066
  35.  
  36.        4. If you have an urgent problem that cannot wait and you
  37.        have sent in the license agreement from the front of
  38.        your manual, then call the Borland Technical Support
  39.        department. Please have the following information ready
  40.        before calling:
  41.  
  42.        a) Product name and serial number on your original
  43.           distribution disk.
  44.  
  45.        b) Product version number. The version number for Turbo
  46.           Basic is displayed when you first load the program
  47.           and before you press any keys.
  48.  
  49.        c) Computer brand, model, and the brands and model
  50.           numbers of any additional hardware.
  51.  
  52.        d) Operating system and version number. (The version
  53.           number can be determined by typing VER at the DOS
  54.           prompt.)
  55.  
  56.        e) Contents of your AUTOEXEC.BAT file.
  57.  
  58.        f) Contents of your CONFIG.SYS file.
  59.  
  60.  
  61.  
  62.     2. NEW IBM GRAPHICS MODE SUPPORT
  63.     ────────────────────────────────
  64.  
  65.     Turbo Basic supports the new enhanced graphics modes
  66.     available on the new IBM Personal System computers.
  67.  
  68.     Use the SCREEN statement to access the new modes.  The 
  69.     following table describes the new modes the SCREEN
  70.     statement takes:
  71.  
  72.  
  73.        SCREEN   MODE
  74.        ───────────────────────────────
  75.        11   640 X 480  black and white
  76.        12   640 X 480  16 Color
  77.  
  78.  
  79.     3. CORRECTIONS/ADDITIONS TO THE MANUAL
  80.     ──────────────────────────────────────
  81.  
  82.     The following lists the corrections and additions to the
  83.     Turbo Basic manual. They are sequential by page number so you
  84.     can easily update your manual while you read through them.
  85.  
  86.     Page 38 - The G (for global) option in the editor's Find
  87.     command does NOT stop at the position of each occurrence of
  88.     your search string. It searches through the entire file from
  89.     beginning to end, and positions the cursor on the LAST
  90.     occurrence of the search string.
  91.  
  92.     Page 38 - The N (for Next) option of the Find command is not
  93.     documented here. The N option finds the Next occurrence of a
  94.     search string, starting at the current cursor position in the
  95.     file you are editing. Keep in mind that the G option will
  96.     override the N option if you use both at the same time. Also,
  97.     note that the N option is different than the n of the Find
  98.     command. The lower case n represents an integer that can be
  99.     used in the option list of the Find command.
  100.  
  101.     Page 39 - The n (for number) option of the Find and replace
  102.     command. Unlike the n option in the Find command, the n
  103.     option for Find and replace causes the next n cases of the
  104.     search string to be replaced by the replace string. If the G
  105.     option is used, the search starts at the top of the file;
  106.     otherwise it starts at the current cursor position.
  107.  
  108.     Page 49 - A word of warning is necessary concerning the 8087
  109.     coprocessor and Turbo Basic. In some cases, a program will
  110.     read that your machine has an 8087 chip when it really
  111.     doesn't; for example, if you've set the switch on for 8087
  112.     but have yet to install the chip. This will either cause
  113.     Turbo Basic to hang when running a program or to generate
  114.     compile-time errors when compiling programs with numbers.
  115.     Environment variables solve this problem nicely. Add the
  116.     following to your AUTOEXEC.BAT file:
  117.  
  118.        SET 87=NO
  119.  
  120.     Take a look at Appendix G, "A DOS Primer," for more
  121.     information about environment variables and AUTOEXEC.BAT
  122.     files.
  123.  
  124.     Page 52 - The sentence: "Note that 8 notes equal 1 byte;"
  125.     should be: "Note that 1 note equals 8 bytes;"
  126.  
  127.     Page 55 - In the discussion of Save Options/Window/Setup, it
  128.     says that you may save the options to TB.EXE. Actually, a
  129.     file extension of .TB is always added to the end of the
  130.     configuration file's name.
  131.  
  132.     Page 57 - Under the Run-time error option in the Debug menu,
  133.     note that you'll receive a "Run-time error not found" error
  134.     message if you give an invalid program counter.
  135.  
  136.     Page  76 - Arrays are  considered dynamic in the following
  137.     cases:
  138.  
  139.        - If declared after the $DYNAMIC metastatement is used, 
  140.          as in
  141.         10 $DYNAMIC
  142.         20 DIM A(10)
  143.        - If declared as dynamic explicitly, as in
  144.         10 DIM DYNAMIC A(10)
  145.        - If a variable is used in the DIM statement, as in
  146.         10 X% = 10
  147.         20 DIM A(X%)
  148.        - If the array is included in a COMMON statement, as in
  149.         10 DIM A(10)
  150.         20 COMMON A(1)
  151.        - If there are two or more DIM statements for the same
  152.          array identifier, as in
  153.         10 DIM A(10)
  154.         20 A(0) = 10
  155.         30 DIM A(10)
  156.        - If an array is declared local to a procedure or function, 
  157.          as in
  158.         DEF FNTest%
  159.           LOCAL A()
  160.           DIM A(10)
  161.           FNTest% = A(0)
  162.         END DEF
  163.  
  164.  
  165.     Page 107 - The example program on this page  uses a variable
  166.     called name$. This variable will cause a syntax error because
  167.     you cannot use a reserved  word as a  variable. Replace the
  168.     variable name$ with FileName$.
  169.  
  170.     Page 125 - $INLINE's example program contains two extra
  171.     commas that will cause a compile error. Remove the commas
  172.     at the end of the first two $INLINE statements.
  173.  
  174.     Page 144 - The description of the CEIL function should read:
  175.  
  176.        The CEIL function converts a numeric variable or
  177.        expression to an integer by returning the smallest integer
  178.        that is...
  179.  
  180.     Page 155 - Make the following modification to the example program for
  181.     the CLOSE statement:
  182.  
  183.      Change:
  184.        OPEN "CLOSEFIL.ONE" AS #1
  185.        OPEN "CLOSEFIL.TWO" AS #2
  186.  
  187.      To:
  188.        OPEN "CLOSEFIL.ONE" FOR OUTPUT AS #1
  189.        OPEN "CLOSEFIL.TWO" FOR OUTPUT AS #2
  190.  
  191.     Page 162 - Remove the OPEN statement in COM(n)'s example
  192.     program; it is extraneous and will cause a compile error.
  193.  
  194.     Page 174 - Remove the following line from the example program:
  195.  
  196.        Your results:
  197.  
  198.     Page 180 - The example statement in the middle of the page:
  199.  
  200.        = m + 16
  201.  
  202.      should be:
  203.  
  204.        n = m + 16
  205.  
  206.     Page 191 - Make the following change to the example program
  207.     for DRAW:
  208.  
  209.      Change:
  210.  
  211.        DRAW "M= " +VARPTR$(I%) + ",40"
  212.  
  213.      To:
  214.  
  215.        DRAW "BM=" + VARPTR$(I%) + ",40"
  216.  
  217.     Page 239 - The first sentence in the Remarks section should be:
  218.  
  219.        n is the trapped key, and integer expression from 1-25,
  220.        30, or 31, according to the following:
  221.  
  222.     The table following the first paragraph should be modified to
  223.     look exactly like the one on page 274.
  224.  
  225.     Page 242 - The syntax description for LBOUND is:
  226.  
  227.        LBOUND(array(dimension))
  228.  
  229.      In the example program, the statement:
  230.  
  231.        PRINT "Lower Array Bound of Dimension 2 is ";LBOUND(Array%,2)
  232.  
  233.      Should be changed to:
  234.  
  235.        PRINT "Lower Array Bound of Dimension 2 is ";LBOUND(Array%(2))
  236.  
  237.  
  238.     Page 274 - The first sentence in the Remarks section should be:
  239.  
  240.        n is the trapped key, and integer expression from 1-25,
  241.        30, or 31, according to the following:
  242.  
  243.     Page 286 - The syntax for the OPEN COM statement is:
  244.  
  245.        OPEN "COMn:[baud] [,parity] [,data] [,stop] [options]"
  246.  
  247.     Page 287 - The example program for OPEN COM should be changed
  248.     to the following:
  249.  
  250.        ' allocate a string array to store input
  251.        DIM ComPortInput$(1)
  252.  
  253.        $COM1 1024    ' set up a 1K input buffer
  254.  
  255.        OPEN "COM1:300,n,8,1,DS,RS,CS,CD" AS #1 LEN = 1
  256.  
  257.        PRINT "Press any key to terminate the program..."
  258.        WHILE NOT INSTAT ' while a key hasn't been pressed
  259.         ' if there is any input available
  260.          IF LOF(1) > 0 THEN
  261.             ' read any info available in the com port buffer
  262.             ComPortInput$(0) = INPUT$(LOF(1), #1)
  263.             ' display input
  264.             PRINT "COM Port input: ";ComPortInput$(0)
  265.          END IF
  266.        WEND
  267.  
  268.        END   ' end of program
  269.  
  270.     Page 301 - The example statement in the middle of the page is
  271.     missing a colon.
  272.  
  273.      Change:
  274.  
  275.        a$ = "C D E" PLAY "E D E X" + VARPTR$(a$)
  276.  
  277.      To:
  278.  
  279.        a$ = "C D E" : PLAY "E D E X" + VARPTR$(a$)
  280.  
  281.     Page 319 - The DATA statements for the example program are
  282.     missing. Use the following:
  283.  
  284.        DATA W. Perry,    78, 65, 35, 79, 86, 93, 79, 85, 99, 96
  285.        DATA P. Watson,   98, 94, 70, 88, 99, 100, 75, 96, 100, 95
  286.        DATA M. Ciccone, 65, 59, 75, 82, 56, 79, 82, 76, 69, 89
  287.  
  288.     Page 352 - Remove the comment from the first statement of the
  289.     program:
  290.  
  291.       Change:
  292.  
  293.        ' top$ = STRING$(40,61)
  294.  
  295.       To:
  296.  
  297.        top$ = STRING$(40,61)
  298.  
  299.     Page 365 - The syntax for UBOUND is:
  300.  
  301.        UBOUND(array(dimension))
  302.  
  303.      In the example program, the statement:
  304.  
  305.        FOR index% = LBOUND(Array%) TO UBOUND(Array%)
  306.  
  307.      Should be changed to:
  308.  
  309.        FOR index% = LBOUND(Array%(1)) TO UBOUND(Array%(1))
  310.  
  311.     Page 382 - In the DATA statement for the example program add
  312.     an ending double quote to the word "Paris".
  313.  
  314.     Page 401 - The original assembly language source code for the
  315.     INLINE procedure on this page is:
  316.  
  317.       program segment   ; begin program segment
  318.       assume cs:program
  319.  
  320.       push BP           ; save the Base Pointer
  321.       mov  BP,SP        ; move stack pointer to BP
  322.       les  DI,[BP+6]    ; offset address of parameter
  323.       mov  AX, 64h      ; constant to fill
  324.       mov  CX, C8h      ; length of fill
  325.       cld               ; clear the direction flag
  326.       rep               ; fill the words
  327.       stosw
  328.       pop  BP           ; restore Base Pointer
  329.  
  330.       program ends      ; end program segment
  331.       ends              ; end compilation
  332.  
  333.  
  334.     Note that there is no RET at the end of the routine. You may
  335.     run this code through The MicroSoft Assembler to generate the
  336.     code listed in the manual.
  337.  
  338.     Page 416 - Error 242, String memory corrupt, should be
  339.     String/array memory corrupt.
  340.  
  341.  
  342.     4. IMPORTANT TIPS
  343.     ─────────────────
  344.  
  345.     CTRL-BREAK - If you want to be able to use CTRL-BREAK when
  346.     running a program, toggle ON the Keyboard break option in the
  347.     Options pulldown menu before compiling/running your program.
  348.     Note that CTRL-BREAK will only interrupt your program if the
  349.     Keyboard break option is turned ON and your program is doing
  350.     screen I/O or you have turned the Trace option ON in the
  351.     Debug menu. This is important to note because many public
  352.     domain programs written for BASICA do not provide any way
  353.     for the user to terminate execution other than pressing
  354.     CTRL-BREAK.
  355.  
  356.     PRINT USING - When using the PRINT USING statement to display
  357.     real numbers (single and double precision), you may find that
  358.     the format strings for your BASICA programs do not format the
  359.     numeric values correctly. One symptom may be that your
  360.     numbers are displayed with a preceding % character followed
  361.     by the number. This is because Turbo Basic provides 80 bits
  362.     of numeric precision compared to BASICA's 24 bits. In other
  363.     words, you have proportionately more-significant digits for
  364.     all of your numbers. And consequently, you may have to make
  365.     more room for your numbers when you output them.
  366.  
  367.     We have also found that some versions of GW BASIC
  368.     automatically remove the last character of a number when
  369.     there isn't enough room in the format string to display a
  370.     negative sign. BASICA does not do this, nor does Turbo Basic.
  371.     If you need to display a negative sign, you must allow for it
  372.     in the PRINT USING statement's format string.
  373.  
  374.  
  375.     5. FILES ON THE DISK
  376.     ────────────────────
  377.  
  378.     Disk 1
  379.     ──────────────────────────────────────────────────────────────
  380.     README   COM - The program to use to peruse this README file
  381.  
  382.     TB       EXE - The Turbo Basic compiler
  383.  
  384.     TBINST   COM - The Turbo Basic installation program
  385.  
  386.     TBHELP   TBH - The help file for Turbo Basic
  387.  
  388.     HANOI    BAS - An example Turbo Basic program that plays the
  389.                    famous Towers of Hanoi game.
  390.  
  391.     README       - This file!
  392.  
  393.  
  394.  
  395.     Disk 2
  396.     ──────────────────────────────────────────────────────────────
  397.  
  398.     REGNAMES INC - The named constants representing the registers
  399.                    used by the CALL INTERRUPT statement
  400.  
  401.     ACKERMAN BAS - An example program demonstrating the Ackerman
  402.                    algorithm (illustrating recursion)
  403.  
  404.     BALL     BAS - An example graphics program
  405.  
  406.     HANOI    BAS - An example Turbo Basic program that plays the
  407.                    famous Towers of Hanoi game.
  408.  
  409.     HILBD    BAS - An example program demonstrating the precision
  410.                    of the 8087 math package
  411.  
  412.     MUSIC    BAS - An example sound program
  413.  
  414.     QUIKSORT BAS - An example program implementing the Quick Sort
  415.                    algorithm
  416.  
  417.     RECQUICK BAS - An example program implementing the Quick Sort
  418.                    algorithm using recursion
  419.  
  420.     SIEVE    BAS - An example program implementing the Sieve
  421.                    algorithm
  422.  
  423.     WHEREIS  BAS - The Main file for the WHEREIS program
  424.     WHEREIS  INC - The Include file for the WHEREIS program
  425.     GETDIR   ASM - The Assembly language source for Turbo Basic
  426.                    Inline procedure; gets the current directory
  427.     GETDRIVE ASM - The Assembly language source for Turbo Basic
  428.                    Inline procedure; gets the current drive
  429.     GETDTA   ASM - The Assembly language source for Turbo Basic
  430.                    Inline procedure; gets the current DTA
  431.     SETDTA   ASM - The Assembly language source for Turbo Basic
  432.                    Inline procedure; sets the DTA to a new location
  433.     GETDIR   BIN - The Assembled version of GETDIR.ASM; ready to be
  434.                    used by WHEREIS.BAS
  435.     GETDRIVE BIN - The Assembled version of GETDRIVE.ASM; ready to
  436.                    be used by WHEREIS.BAS
  437.     GETDTA   BIN - The Assembled version of GETDTA.ASM; ready to
  438.                    be used by WHEREIS.BAS
  439.     SETDTA   BIN - The Assembled version of SETDTA.ASM; ready to
  440.                    be used by WHEREIS.BAS
  441.  
  442.     MC       BAS - The Main file for the MicroCalc example program
  443.     MC0      INC - An Include file for MicroCalc
  444.     MC1      INC - An Include file for MicroCalc
  445.     MC2      INC - An Include file for MicroCalc
  446.     MC3      INC - An Include file for MicroCalc
  447.     MC4      INC - An Include file for MicroCalc
  448.     MC5      INC - An Include file for MicroCalc
  449.     MC6      INC - An Include file for MicroCalc
  450.     MC7      INC - An Include file for MicroCalc
  451.     MC8      INC - An Include file for MicroCalc
  452.     MC       HLP - The help file for MicroCalc
  453.     MCDEMO       - The Demonstration work sheet for MicroCalc
  454.  
  455.  
  456.  
  457.  
  458.