
                    Welcome to dBASE IV version 2.0 
                    -------------------------------

This file contains important, late-breaking information about dBASE IV,
including revisions to the documentation.  Information in this file 
supersedes information in the dBASE IV documentation.

TABLE OF CONTENTS
-----------------
1.  How to Contact Borland
2.  Answers to Common Configuration Questions
3.  Notes on dBASE's New High Performance Filter Optimization
4.  Notes on Language Drivers
5.  File-sharing in a Multi-tasking Environment
6.  Running dBASE in Multiple Sessions
7.  Creating User-defined Help
8.  Creating Pop-ups for Data Validation
9.  Improvements in International String Comparisons
10. Documentation Additions and Corrections
11. Compatibility Issues


1. HOW TO CONTACT BORLAND
-------------------------
If you have any problems with the product, please read this file and 
the dBASE IV manuals first.  If you still need assistance, you can get 
help from the following sources:

  1. CompuServe bulletin board: GO BORLAND
     - Provides access to the Borland forums where you can ask technical
       questions, and get the latest technical information, sample 
       files, utilities, and ideas.

  2. File Download BBS: 1-408-439-9096 (8, N, 1)
     - Contains sample files, applications, and technical information
       that you can download.

  3. Automated Support: 
       800 Automated Support (phone): 1-800-524-8420
       Online Automated Support (via modem): 1-408-431-5250 (8, N, 1) 
       - Provides up-to-date technical information 24 hours a day, seven
         days a week.  Also provides product information, usage tips,
         troubleshooting information, and answers to commonly-asked
         questions.

  4. TECHFAX service: 1-800-822-4269 
     - A 24-hours a day service that provides technical information
       on all Borland products and delivers it to your fax machine.

  5. dBASE Advisor Line: 1-900-555-1003.
     - A faster, more comprehensive level of technical support.  Each
       call is $2.00 per minute (the first minute is free).

  6. Borland Express Support Line: 1-800-524-8420
     - Provides recorded answers to common questions. 

  7. dBASE Technical Support: 1-408-431-9060

For more information about all of the Borland Technical Support programs, 
read the brochure, "Borland introduces a New Class of Technical Support," 
included with this product.

Information You Need When You Call Technical Support
----------------------------------------------------
When you call Technical Support, please have the following information 
ready:

  a. Product name and serial number on your original distribution disk.  
     Please have your serial number ready or we will be unable to process 
     your call.

  b. Product version number. 

  c. Computer brand, model, and the brands and model numbers of any 
     additional hardware.

  d. Operating system and version number. (The version number can be 
     determined by typing VER at the DOS prompt.)

  e. Contents of your AUTOEXEC.BAT file.

  f. Contents of your CONFIG.SYS file.

  NOTE:  You can obtain the requested information by typing the
         following at the DOS prompt:  DBINFO -x -o.  This command 
         creates a file, DBINFO.TXT, which includes information on 
         your hardware configuration, operating system, CONFIG.SYS 
         and AUTOEXEC.BAT.


2. ANSWERS TO COMMON CONFIGURATION QUESTIONS
--------------------------------------------
Q1:  I'm unable to start dBASE IV 2.0 under Windows 3.1.  Each time I
     try, I get an "Insufficient Memory" message.

A1:  dBASE IV 2.0 requires approximately 4MB of virtual memory to 
     run.  Use the following procedure to obtain information about  
     your system's memory and adjust memory allocation:  
     
     1)  In Window's Program Manager, select About Program Manager...
         from the Help menu and check the amount of free memory.

         a) If you have LESS than 4MB of free memory, read step 2.

         b) If you have MORE than 4MB of free memory, check the available
            contiguous XMS memory by selecting the DOS prompt icon, and
            typing PMINFO at the DOS prompt.  This utility tells you how
            much memory is available for DOS-16M programs.  If it indicates 
            less than 3MB available memory, read step 2.

     2)  Increase the swap file size.  To do so, 
         a) Choose Window's Control Panel.
         b) Choose 386 Enhanced.
         c) Click the Virtual Memory push button.
         d) Click the Change push button.
         e) Increase the value of the New Size option.

         Increasing the swap file size should increase the amount of
         available virtual memory.    

     3)  If you have problems starting dBASE in multiple sessions,
         close all your dBASE sessions, and type SET DOS16M=:4M at
         the DOS prompt.  This allocates a maximum of 4MB to each
         session of dBASE.


Q2:  I use Windows for Workgroups.  How do I configure dBASE IV 2.0 so
     that it runs optimally in this environment?

A2:  Use the same memory configuration as described for Windows 3.1 in
     the previous question.


Q3:  Why isn't there an option to install cache during installation?

A3:  dBASE IV 2.0 uses all available extended memory and no longer requires
     a separate disk cache.


Q4:  When I start dBASE under Windows 3.1, I get a "LOCALSHARE is currently
     ON so you cannot run dBASE IV..." message followed by "Initialization
     Error."  What do I do?

A4:  LOCALSHARE is a new Config.db setting which enables file-sharing
     in a multi-tasking environment such as Windows 3.1.  It is ON by
     default.  When you start dBASE under Windows 3.1, dBASE checks if 
     you have loaded SHARE.EXE, the DOS program that provides file-sharing 
     and locking capabilities.  If SHARE.EXE is not loaded, you get the 
     "LOCALSHARE is currently ON so you cannot run dBASE IV..." message.  

     Depending on your work environment, use one of the following
     procedures:

     1)  If you don't intend to share dBASE files in multiple dBASE
         sessions or with other applications (such as Quattro), use
         DBSETUP or edit the CONFIG.DB file to set LOCALSHARE=OFF.

     2)  If you want to share dBASE files in multiple dBASE sessions
         or with other applications, install SHARE.EXE.  Read your 
         DOS manual for instructions on how to do so.


Q5:  When I start dBASE, I get a "System is not configured for the
     current code page..." message.  What should I do?

A5:  You get this message if the code page you selected during installation
     of dBASE IV 2.0 is different from your system's code page.  Use the
     following procedure to correct the problem:

     1)  At the DOS prompt, type CHCP to find out your system's code page.
     2)  Reinstall dBASE IV 2.0.
     3)  In the Code Page Value option, choose the value that matches
         your system's code page.  (By default, dBASE IV's installation
         utility displays your system's code page value.)


Q6:  I have a previous version of dBASE installed on my computer.  I
     want dBASE IV 2.0's installation utility to automatically overwrite
     the existing files.  What should I do?

A6:  dBASE IV 2.0's installation utility gives you the option of 
     "protecting" old dBASE IV and SQL system files, or overwriting them.
     Use the following procedure to overwrite the old system files:

     1)  During installation, select "Install Options... [KEEPDB4 SHIELDSQL]"
         The installation utility displays the following options:

         Protect Old dBASE IV System Files: [Yes]
         Shield Existing SQL System Files:  [Yes]

     2)  Change both options to "No" by pressing Enter when the option 
         is highlighted.  Pressing Enter toggles the selection.

     3)  Press Esc to return to the previous menu.


Q7:  When I try to start dBASE, I get a "Bad command or file name"
     message.  How do I correct this problem?

A7:  dBASE may not be in your current path.  Either set dBASE in the
     DOS path in your AUTOEXEC.BAT file, or type the full path at the 
     DOS prompt.

     The dBASE IV system files may be missing.  Check that DBASE.EXE
     exists in your dBASE home directory.  If it doesn't, reinstall
     dBASE IV.  In the "Configuration... [dBASE SAMPLES TUTORIAL DTL
     UTILS]" option, make sure that "dBASE IV System" is set to "Yes."


Q8:  When I start dBASE IV, it appears in black and white.  What happened 
     to the default colors?

A8:  dBASE IV 2.0 loads in black and white in the following situations:  
     - You performed a network installation
     - You have an existing CONFIG.DB in the dBASE home directory 
       (The installation utility does not overwrite or modify an
       existing CONFIG.DB during installation)
     - You are using a CGA monitor

     To set the default screen colors, follow the instructions in the
     "Setting Colors and Line Modes" section in Chapter 2 of the
     "Getting Started" manual.


Q9:  I'm running dBASE IV and I get a VM error 5312 or 5313.  What
     does this mean and what should I do?

A9:  You were trying to execute an operation in low DOS memory, which
     was fragmented.  To correct this problem, you should reduce the 
     amount of low DOS memory that dBASE uses.  To do so, use the 
     following procedure:

     1.  At dBASE's dot prompt, type ? MEMORY(5).  This returns the 
         amount of memory that VMM is managing.
     2.  Subtract 222 from the value returned by MEMORY(5).
     3.  Use the resulting value as the MAXMEM value in the DBASE.VMC file.
     4.  If the resulting value is LESS than 1024, set MINMEM in the
         DBASE.VMC file to this value also.

     For example: 
     
     If ? MEMORY(5) returns 1200, set MAXMEM and MINMEM to 978 (1200 - 222).
     If ? MEMORY(5) returns 1600, set MAXMEM to 1378 (1600 - 222).


3. NOTES ON dBASE'S NEW HIGH PERFORMANCE FILTER OPTIMIZATION
------------------------------------------------------------
The information in this section supplements the discussion of filter
optimization in Chapter 34 of "Programming in dBASE IV."

The following are some conditions where full optimization occurs:
- The database is in natural order and the filter condition corresponds
  to an open index or order
- The database is indexed and the filter condition corresponds to the
  master index
- The database is indexed on a complex character expression (for example, 
  firstname+lastname+address) and the filter condition corresponds to  
  a subset of the expression (for example, firstname or firstname+lastname)

The following table shows examples of expressions that are fully or
partially optimized:

Expressions                                             Optimization
--------------------------------------------------------------------
INDEX ON State TAG State
SET FILTER TO State="CA" .OR. State="TN"                Full

INDEX ON State+Zip TAG Statezip
SET FILTER TO State+Zip="CA95050"                       Full
SET FILTER TO State="WA"                                Full

INDEX ON State TAG State
SET FILTER TO .NOT. State="NY"                          Full

INDEX ON Lastname TAG Lastname
INDEX ON Year(Date_hired) TAG Year_hired
LIST FOR Year(Date_hired)=1993 .AND. Lastname="Smith"   Full

INDEX ON STR(OrderNo,6)+STR(StockNo,6) TAG LineKey
LIST FOR STR(OrderNo,6)="100001"                        Full

SET FILTER TO State="CA" .OR. State="TN"  && no index   Partial 

SET FILTER TO State+Zip="CA95050"  && no index          Partial

INDEX ON Lastname TAG Lastname
SET ORDER TO Firstname
SET FILTER TO Lastname="Smith"                          Partial

SET FILTER TO "Fred" $ Lastname                         
COUNT                                                   No
SUM                                                     Full; dBASE retains       
                                                        the search results 
                                                        of the previous 
                                                        operation 
                                                      
SET FILTER TO FOUND(2)                                  No    
                                                          


4. NOTES ON LANGUAGE DRIVERS                               
----------------------------
The information in this section supplements the discussion of language
drivers on pages 344 and 345 of the Language Reference.

dBASE IV version 2.0 supports DOS code pages (character sets) 437 and 850.  
Previous versions supported only code page 437.  If you decide to change to 
code page 850 (the code page available, either as the default or as an 
alternate, with all systems running DOS 5.0 or higher), please note the 
following:  dBASE files created on systems running code page 850 may appear 
differently and generate unexpected results when used on a system running 
code page 437, and vice versa.  

This is because many of the extended ASCII (>127) characters differ between 
the two code pages, and if you use these characters in your files, you will 
get different results when viewing and sorting data. 

To ensure data integrity, dBASE IV version 2.0 now marks each data file  
(.dbf) and index file (.ndx or .mdx) with a Language Driver ID.  This ID
identifies the code page and language table which the file was created with.
When you open a file, dBASE compares the language driver assigned to the 
file with the system's current language driver.  If the two are different, 
dBASE displays a warning and gives you the option of continuing the 
operation or cancelling it.

If, for example, you are currently using code page 850 and you open a 
dBASE IV 2.0 data file that was created with code page 437, dBASE warns 
you of mismatched language drivers.  You can choose to cancel the operation 
or use the file.  If you use the file and it has an associated index file, 
dBASE displays the warning again and prompts you to cancel the operation 
or reindex the file with the current language driver.  If you choose to 
reindex the file, dBASE marks the index file with the new language driver ID.  
It does not, however, mark the data file with the new language driver ID. 

Data and index files created in previous versions of dBASE IV do not have 
language driver IDs; if you open these files in dBASE IV 2.0 under code
page 437, dBASE automatically assigns the current language driver ID.  
If you open these files in dBASE IV 2.0 under code page 850, dBASE prompts 
you to assign, or reindex with, the current language driver ID.

The language driver ID assigned to an index file is changed each time you 
reindex the file under a different language driver.  The language driver ID 
assigned to a data file, however, is permanent.  

To "reassign" a language driver ID of a data file, use the COPY STRUCTURE 
and APPEND FROM commands to create a new data file and transfer the data 
under the current language driver.

NOTE:  Marking a file with the new language driver ID does NOT convert 
       extended characters that differ between the two code pages.  If
       your file contains characters that differ, you should change them
       to ensure data integrity.


5. FILE-SHARING IN A MULTI-TASKING ENVIRONMENT
-----------------------------------------------
Many operating systems and programs, such as OS/2, Windows, DOSSHELL, 
and DESQVIEW, provide users with the capability to run dBASE in multiple 
sessions and to share local files.  You can now load dBASE IV in nine 
different sessions (the maximum allowed), and use the same files in more 
than one session.  You can also share dBASE files with other applications 
such as Quattro.

To support file-sharing on a local system, dBASE provides you with the
option of protecting your dBASE files from multi-tasking collisions 
with a new Config.db setting, LOCALSHARE. 

If you intend to use dBASE files in more than one session or application, 
use LOCALSHARE=ON (the default setting) to enable file-sharing protection,
and remove EXCLUSIVE=ON or set EXCLUSIVE=OFF in your CONFIG.DB file.  

When LOCALSHARE is ON, dBASE checks and ensures that your system is running 
SHARE.EXE, a DOS program that provides file-sharing and locking capabilities 
on your hard disk.  If it detects SHARE, dBASE protects your dBASE file in 
the same way it protects files in a multi-user (network) environment.  
For example, dBASE will write the updates to the hard disk each time a 
record is modified or created.

NOTE:  SHARE limits the number of files that can be opened and the
       number of locks available to your system.  You can increase these
       limits by using the /f and /l switches with the SHARE command.
       Refer to your DOS manual for more information.

Unlike running dBASE IV in a multi-user environment, each multi-tasking 
session of dBASE IV uses the same file name (TRANSLOG.LOG) for transaction 
processing.

If LOCALSHARE is ON and you run dBASE under Windows without SHARE.EXE, 
dBASE displays a message telling you to load SHARE.EXE.  You can disable 
file-sharing protection by specifying LOCALSHARE=OFF in your CONFIG.DB 
file.   


6. RUNNING dBASE IN MULTIPLE SESSIONS
-------------------------------------
If you load dBASE in multiple sessions, dBASE assigns a unique identifier 
to each session.  The identifier is a number from 1 to 9 and is added to the 
user ID in a network environment.  For example, in a network environment,
if a user name is "JSMITH", the first session ID is "JSMITH1".  In a 
single-user environment where user IDs are not used, the first session 
is identified as "SESSION1".

The following commands and functions return session IDs:
  ID()
  USER()
  LKSYS(2)
  LKSYS(5)
  LIST USERS
  DISPLAY USERS

Session numbers are assigned and recycled, starting with the lowest 
available number.  Therefore, session numbers will not be in chronological 
order if any sessions are closed before all nine are used.  For example, 
if you open five sessions, then close session 2, the next session you open 
is assigned the number 2, not 6.


7. CREATING USER-DEFINED HELP
-----------------------------
The Form.gen template file lets you create user-defined Help frames.

The F1 Help key can now provide user-defined help information
for individual fields on the Edit screen. When you press F1 Help,
the information in the memo fields of a special database file
will display in a pop-up Help window. If you want to create your own
Help file, create the special database file described below.

The name of the database file must begin with the first six
characters of the name of the format file, followed by "_h.dbf".
For example, if the format file is called Entry.fmt, then the
Help file must be called Entry_h.dbf. The database file must
be created with the following structure, before you compile the
form:

        Field  Field Name  Type       Width  Dec  Tag
        -----  ----------  ---------  -----  ---- ---
            1  FLD_NAME    Character    10         Y
            2  FLD_HEADNG  Character    25         N
            3  FLD_HELP    Memo         10         N
       ----------------------------------------------

Enter the names of the fields for which you want help in the Fld_name
field. You need to create an index tag named Fld_name, as follows:

  INDEX ON UPPER( Fld_Name ) TAG Fld_Name

You do not need to include all the fields from the database in
the Help file, only the ones for which you want Help windows.

Enter the character string for the top frame of the Help window in the
Fld_headng field.

Enter the Help text you want displayed for each field in the Fld_help
memo field. If there is more text than will fit inside the help window,
navigation instructions are displayed inside the Help window.


8. CREATING POP-UPS FOR DATA VALIDATION
---------------------------------------
Using CREATE/MODIFY SCREEN, you can create a data validation
routine that presents a pop-up displaying the valid choices from
a lookup database file when a user enters a value that does
not match the lookup file.

To create a pop-up for data validation, start from the "Accept value when"
portion of a field's Edit Options table on the forms design screen. You
must enter the following syntax (including quotes):

  "POPUP"="<database>-><fieldname> ORDER <fieldname> [REQ] [SHADOW]"

For example, to validate the Vendor_id field in Goods.dbf against the
Vendor_id field in Vendors.dbf, insert the following pop-up string in
the "Accept value when" fill-in when highlighting the Vendor_id field
in a form that uses Goods.dbf.

  "POPUP" = "Vendors->Vendor_id ORDER Vendor_id REQ SHADOW"

If you want to attach an additional .AND. condition to the pop-up
validation, include the condition after the "POPUP"="..." expression.
The condition should not be delimited with quotes.

The components of this pop-up string are:

POPUP               Initiates pop-up processing for this
                    field during EDIT.

Vendors->Vendor_id  Indicates the database file to open and
                    the field in that database file to use
                    for data validation. You must have an index
                    tag on this field.

ORDER Vendor_id     Specifies the index tag that orders this field.

REQ                 Shows that the user must enter something
                    into the field before moving on. This is
                    optional. If REQ is omitted, the user can
                    escape the pop-up and leave the field blank.

SHADOW              Provides a shadowing effect underneath the
                    pop-ups. SHADOW is optional.

You can use a field from the .DBF file you are currently working
with or a .DBF from another work area. However, the validated file
and the lookup must be different files. Pop-ups are usually displayed
below the currently-highlighted field, unless the current field is
low on the form.

Limitations of Pop-up Validation:

- This feature is designed for EDIT and might not display as smoothly
  in BROWSE. If you have a pop-up on your EDIT, the F2 toggle from EDIT
  to BROWSE is disabled.

- Pop-up validation cannot be used on a multiple choice field.

- Pop-up validation cannot be used on a form created by using a view that
  contains more than one file.

- In order to protect a procedure file you currently have in use, EDIT
  will close it on entry and reopen it on exit. If this presents a
  problem with forms that use procedures, see SET LIBRARY in the Language
  Reference manual, and Sysproc and SET LIBRARY in the Programming in
  dBASE IV manual.

- The first six characters of the form name and the first eight characters
  of the field names with these pop-ups must be unique.


9. IMPROVEMENTS IN INTERNATIONAL STRING COMPARISONS
---------------------------------------------------
In dBASE IV 2.0, comparisons between strings with extended characters
have been improved.  If you use LANGTABLES=ON and SET EXACT OFF, secondary 
differences between characters are ignored.  For example,

      SET EXACT OFF
      ? "ƒbc" = "abc"
      .T.

In previous versions of dBASE IV, ? "ƒbc" = "abc" would have returned .F.

We recommend that you REINDEX old files.  This is important if you work
with LANGTABLES=ON, SET EXACT OFF, and INDEX ON with a FOR condition.


10. DOCUMENTATION ADDITIONS AND CORRECTIONS
------------------------------------------
This section of the README file contains new information and revisions
to the dBASE IV manuals.

"Getting Started"
-----------------
- p. 10:  When you run dBASE IV under Windows 3.1 enhanced mode, use 
  the DOS environment variable SET DOS16M to set the maximum memory
  to 4MB or higher.  

- p. 11:  When you run dBASE IV under OS/2, set DPMI_MEMORY_LIMIT to 4
  or higher.

- p. 68:  To increase or decrease user counts on a multi-user dBASE IV 
  system, you type ADDUSER4 at the DOS prompt, select the option you want, 
  and type in the requested LAN Access number.  dBASE LAN Access Pack 
  version 2.0 no longer prompts you to insert a disk.

"Programming in dBASE IV"
-------------------------
- p. 498:  VMM runs automatically when you start dBASE IV if your 
  system has less than 4.5MB of extended memory or if you change 
  VMM's default settings through the DBASE.VMC configuration file.

- p. 499:  NOSWAPFILE is not a valid DBASE.VMC parameter. 

- p. 501:  The following are valid values for the BUFFSIZE parameter
  in DBASEIV_BUFF:  1, 2, 4, 7, 8 (default), 9, 15, 20, 21, 30, 31, and 32.
  The buffers are dynamically sub-allocated from 64K segments.  Each 
  buffer allocated includes control header information.  Consequently, 
  large buffer sizes (such as 16 and 32) which are exact divisors of 
  64 waste substantial amounts of memory (almost one full buffer)
  because the last buffer (plus its header) doesn't fit into the
  64K segment.

  You can achieve optimum memory utilization by using buffer sizes 
  which are close to an even divisor of 63, for example, 7, 9, 15, or 21.  
  With these buffer sizes, extended memory is used more efficiently 
  since more buffers fit into the same physical space, thereby enlarging 
  the effective size of the buffer.  This, in turn, improves overall dBASE 
  I/O performance.

  Generally, larger buffers (such as 21) provide good performance with
  sequential processing, such as scanning a database file without an
  active index or copying a subset of one file to another.  Smaller buffer
  sizes are recommended for random file accesses.

  Values 1 and 32 are seldom good settings.  Values between 7 and 21 
  provide good overall performance.  On networks, smaller values, such as
  2 or 4, may improve performance.

- p. 508:  The following commands should be added to the list of
  commands that are optimized when the FOR clause is used: BLANK, DISPLAY, 
  and INDEX.  SCAN is optimized only when preceded by SET FILTER TO.

"Language Reference"
--------------------
- p. 58:  If you are appending from an SDF (System Data Format) file, 
  you can now speed up APPEND processing by using the optional NOVERIFY 
  argument to turn off error-checking and data validation during the APPEND.  
  If you use NOVERIFY, the source data is copied as-is into the target 
  fields.  The following is an example of the APPEND FROM command with 
  the NOVERIFY option:

        APPEND FROM Myfile TYPE SDF NOVERIFY

  You should use this option only if your data is in the correct format. 
  Without data validation, dBASE doesn't check or convert your source data 
  to fit the data type of the target fields.  For example, when you use
  NOVERIFY, dBASE doesn't check the setting of POINT and accepts only a 
  period as a valid decimal point character.  Therefore, if you want to
  use the NOVERIFY option and get reliable results, use a period as the
  decimal point in float and numeric data types in your source data.

- In previous versions of dBASE, when you used the SDF or DELIMITED clause
  with the APPEND FROM command, the formfeed character was appended to the
  database.  Now, the formfeed is not appended to the database if it is
  preceded by a carriage return.
  
- p. 239:  If you are running dBASE in a multi-user or multi-tasking 
  environment, and you use REPLACE with a scope clause to replace an 
  indexed field, you are now required to have exclusive use of the database.  
  This ensures that all records are replaced properly.

- p. 275:  This version of dBASE improves the internal processing of the 
  USE AGAIN command.  If you use a database in more than one work area, 
  any changes made to the file in one work area are reflected in all other 
  work areas.  Previously, if you used the same database in more than one 
  work area, updates to the database in one work area were not reflected 
  in the others.  
  
  NOTE:  If you're working in a multi-tasking (LOCALSHARE=ON) 
  or multi-user environment, SET EXCLUSIVE must be OFF to use the USE AGAIN 
  command.  If SET EXCLUSIVE is ON, dBASE displays a "File already open" 
  message.

- p. 214:  If you omit <command> when you use ON SELECTION BAR, the
  command previously assigned to the specified menu bar is disabled, and 
  a command specified with ON SELECTION POPUP is associated with the menu
  bar.

- p. 216:  If you omit <command> when you use ON SELECTION PAD, the
  command previously assigned to the specified pad is disabled, and a
  command specified with ON SELECTION MENU is associated with the pad.

- p. 287, 337, 351:  The SET BLOCKSIZE command allocates the same block 
  size for both memo field data (.dbt files) and index data (.mdx files).  
  In this version of dBASE, you can specify different block sizes for memo 
  field blocks and index blocks by using SET MBLOCK and SET IBLOCK, 
  respectively.  The following describes how the SET BLOCKSIZE setting  
  affects SET IBLOCK and SET MBLOCK, and vice versa:

  - If you change the value of BLOCKSIZE through DBSETUP, dBASE IV changes
    the IBLOCK and MBLOCK values to equivalent block sizes.  For example,
    setting BLOCKSIZE to 2 changes IBLOCK to 2 and MBLOCK to 16.  Each sets 
    the block size to 1024 bytes.

  - Through DBSETUP, you can change the IBLOCK and MBLOCK values 
    individually.  These values do not change the BLOCKSIZE value.  
    For example, if you leave the BLOCKSIZE value at its default of 
    1 and set IBLOCK to 2 and MBLOCK to 4, dBASE creates 1024-byte 
    memo field blocks and 256-byte index blocks.  In this case, the 
    IBLOCK and MBLOCK values override the BLOCKSIZE value.

  - In a CONFIG.DB file, the command that appears further down the file
    overrides one that appears earlier.  For example, if "IBLOCK= " appears 
    after "BLOCKSIZE= " (and it does when DBSETUP writes to CONFIG.DB),
    the IBLOCK value overrides the BLOCKSIZE value.

  - Using the SET BLOCKSIZE command at the dBASE dot prompt changes IBLOCK
    and MBLOCK values to equivalent block sizes.

- p. 489:  MEMORY(7) returns the size, in kilobytes, of the swap file that 
  VMM creates.  VMM always creates a swap file to improve overall 
  performance.  

- p. 521:  Setting the second option, <expL2>, of the RUN() function to    
  .T. tells dBASE to release all available extended memory prior to running
  the specified command or program.  To find out how much extended memory
  is currently available to execute a command or program with RUN(), use 
  MEMORY(0).  To determine how much extended memory dBASE will release when 
  you execute RUN(<expC>,.T.), use MEMORY(3).

- p. 696:  Byte 29 in the database file header contains the language 
  driver ID.


11.  COMPATIBILITY ISSUES
-------------------------

Using dBASE with DOS 5.0 DOSSHELL
---------------------------------
If you run dBASE IV under a task switcher, such as DOS 5.0 DOSSHELL, you 
should install MULTI16M.EXE.  This TSR is provided with dBASE IV.  For
more information about this program, read MULTI16M.DOC.  This file is
in your dBASE home directory.

Using dBASE with Stacker
------------------------
If you are using Stacker or another disk compression software,
the amount of disk space indicated by DIR or other commands may 
be more than is actually available.  This may cause you to run 
out of disk space when installing dBASE.  Stacker users who have 
less than 10MB of disk space should run SCHECK to see how much 
disk space is actually available.  This information can be found 
under "Bytes Free" in the STACVOL file.

Using dBASE under OS/2
----------------------
dBASE will fail to load under OS/2 unless you increase its
DPMI_MEMORY_LIMIT setting to 4 or higher.

If you run dBASE under OS/2 2.0 with the Service Pack installed, using
SET MOUSE ON and moving the mouse pointer causes dBASE IV to crash.
This is a problem with the OS/2 2.0 Virtual DOS mouse driver, which can
be resolved in one of the following ways:

1)  Use the VMOUSE.SYS driver included with your original OS/2 2.0 disks.
2)  Use MOUSE=OFF in your CONFIG.DB file.
3)  Contact IBM OS/2 Support at 1-800-237-5511, and refer to problem
    number PJ06533 to obtain the patch that corrects this problem.

Mouse drivers for Windows 3.1
-----------------------------
If you run dBASE IV 2.0 in a window session, you must use MOUSE.COM
or MOUSE.SYS version 8.20 or higher in order for the mouse to work.
You can use an older version of MOUSE.COM or MOUSE.SYS if you run dBASE
in full screen mode.

Running Multi-user dBASE IV with IBM LAN Server or Microsoft LAN Manager
------------------------------------------------------------------------
PC client workstations running multi-user dBASE IV with IBM LAN Server
or Microsoft LAN Manager may lose network connections and get the messages 
"File not found," "Network busy," or "Device no longer exists" when 
network traffic is heavy.  This is a network problem and if it occurs, 
contact IBM Technical Support or Microsoft Technical Support.
