Trouble Shooting Borland Products with DOS 6.0

 








  PRODUCT  :  Borland C++                           NUMBER  :  1393

  VERSION  :  ALL

       OS  :  ALL

     DATE  :  July 31, 1993                            PAGE  :  1/5


    TITLE  :  Trouble Shooting Borland Products with DOS 6.0






  Configuring Your System with DOS 6.0

  ====================================


  The most common conflict that exists with the Borland C++

  compiler and DOS 6.0 arises from the fact that DOS may be

  configured without enough extended (or XMS) memory available for

  the compiler to load.  However, other conflicts can also arise.

  This document addresses the most common problems that can arise.



  1)  INSTALLING ON DOS 6.0

      ---------------------


       If you are experiencing difficulties during installation of

       Borland/Turbo C++, install on a clean boot.  (See Clean

       Booting With DOS 6.0)



  2)  NOT ENOUGH AVAILABLE EXTENDED MEMORY

      ------------------------------------


       Turbo C++ 3.0/Borland C++ 3.x DOS compilers need 1 megabyte

       of extended(XMS) memory _available_.  Turbo C++ 3.x/Borland

       C++ 3.x Windows compilers need 2 megabytes of extended(XMS)

       memory _available_.


       DOS 6.0's 'memmaker' will optimize your system for maximal

       available conventional memory, (the first 640k in memory).

       It does this by loading as much TSR's and devices in the

       extended area of memory, (above 640k), as possible.


       a)   How to get a report of available extended memory:  To

            get an accurate report of how much memory is available,

            exit from all applications that you are currently

            running at which point you should be at a DOS prompt.

            At the DOS prompt type 'mem' which will give you a

            report similar to the following:


         Memory Type        Total =  Used  +  Free

         ----------------  ------   ------   ------

         Conventional        639K     102K     537K

         Upper               104K      96K       8K














  PRODUCT  :  Borland C++                           NUMBER  :  1393

  VERSION  :  ALL

       OS  :  ALL

     DATE  :  July 31, 1993                            PAGE  :  2/5


    TITLE  :  Trouble Shooting Borland Products with DOS 6.0





         Adapter RAM/ROM       0K       0K       0K

         Extended (XMS)     7064K    1336K    5728K

         ----------------  ------   ------   ------

         Total memory       7807K    1534K    6273K


         Total under 1 MB    743K     198K     545K


         Total Expanded (EMS)                 7472K (7651328 bytes)

         Free Expanded (EMS)                  5728K (5865472 bytes)


         Largest executable program size       537K  (549968 bytes)

         Largest free upper memory block         7K    (7104 bytes)

         MS-DOS is resident in the high memory area.



       To compute the total amount of Extended memory available,

       (that is the total amount above 640k conventional), add the

       free amount for 'Extended(XMS)' and the free amount of

       'Upper' in the above  report.


       b)   Suggestions for freeing up more extended memory: First,

            become familiar with both your CONFIG.SYS and your

            AUTOEXEC.BAT before making any changes.  Know what each

            line in these two files are doing. The DOS 6.0 User's

            Guide is a great reference for this.  Some of the most

            common statements that load devices and/or TSR's into

            the extended or high area of memory are:


            'devicehigh'

              example:              devicehigh=c:\mouse\mouse.sys

              could be changed to:  device=c:\mouse\mouse.sys


            'lh' or 'loadhigh'

              example:              lh c:\dos\share.exe

              could be changed to:  c:\dos\share.exe


            'device=c:\dos\smartdrv.exe 1024 2048'

              could be changed to:  device=c:\dos\smartdrv.exe 512


          HINT:  'rem' will temporarily remark out anything that

                 follows on a single line.  This is a very powerful

                 tool to use when attempting to reconfigure these

                 two files.














  PRODUCT  :  Borland C++                           NUMBER  :  1393

  VERSION  :  ALL

       OS  :  ALL

     DATE  :  July 31, 1993                            PAGE  :  3/5


    TITLE  :  Trouble Shooting Borland Products with DOS 6.0





            After making changes, reboot your system and again run

            'mem' to see how much more you have freed up in the

            extended area.



  3)  USING EMM386 MEMORY MANAGER

      ---------------------------


  a)   If using emm386 memory manager, only use DOS 6.0's version

       of himem.sys.  Never mix Windows and DOS versions of emm386

       and himem.sys.


  b)   When using emm386 memory manager, we recommend using the ram

       parameter.  The ram parameter allows access to both EMS and

       extended(XMS) memory and allocates it from the same memory

       pool.  This setting allows the full use of Borland's tools,

       including those such as td286 that use EMS memory.


  c)   If you are using either DOS 6.0's version of emm386 or

       Windows version 3.1 of emm386 you _may_ experience conflicts

       such as unknown general protection faults or exceptions.

       This especially will occur when interfacing with BRIEF

       programmer's editor.


  We have provided a patch for using Borland C++ with either of

  these versions of EMM386.  This patch is described in Borland

  C++'s readme file.  Before applying the patch do the following:


        1.  Make a backup copy of dpmi16bi.ovl, located in the

            borlandc\bin directory.

        2.  Clean boot your machine.  (See Clean Booting)

        3.  Run dpmiinst.exe from the borlandc\bin subdirectory.



  4)  GENERAL PROTECTION OR EXCEPTION FAULTS

      --------------------------------------


      These types of errors can happen for various reasons.

      One of the reasons may be that other devices or TSR's do not

      know how to behave well in protected mode.  Another source

      may be that you don't have enough Extended(XMS) memory

      available.  Check your available memory and then clean boot,

      see if problem persists.  If after clean booting, the problem














  PRODUCT  :  Borland C++                           NUMBER  :  1393

  VERSION  :  ALL

       OS  :  ALL

     DATE  :  July 31, 1993                            PAGE  :  4/5


    TITLE  :  Trouble Shooting Borland Products with DOS 6.0





      goes away, it is most likely  due to a device or software

      that is loaded in either your  CONFIG.SYS or AUTOEXEC.BAT

      that needs to be carefully scrutinized  or possibly removed.

      To find out what piece of software, TSR or device that is

      causing the fault, add statements back one by one to your

      AUTOEXEC.BAT and CONFIG.SYS, reboot and test again.



  5)  CLEAN BOOTING WITH DOS 6.0

      --------------------------


  a) Clean booting for Borland/Turbo C++ for DOS:


     DOS 6.0 provides a quick and easy way of clean booting to test

     DOS applications.  Upon rebooting, immediately after receiving

     the "Starting MS-DOS" press the <F5> key.  This will bypass

     your AUTOEXEC.BAT and CONFIG.SYS files.


  b) Clean booting for Borland/Turbo C++ for Windows:


     Create an AUTOEXEC.BAT that has only your path and prompt

     statements.  Create a CONFIG.SYS that has files=30,

     buffers=30, device=c:\dos\himem.sys.  In addition, if you are

     using any kind of disk compression utility, such as

     DoubleSpace, add those directives.  Edit your win.ini so that

     the load and run lines are blank: 'load=   ' and 'run=    '.

     Edit your system.ini as follows: 'shell=progman.exe'.  Boot

     with your new AUTOEXEC.BAT and CONFIG.SYS in your root drive,

     and execute Windows in standard mode by typing 'win /s' at the

     DOS prompt.


     HINT:  DOS 6.0 provides for Multi-Configuration booting that

            can make this easier.  Refer to your DOS User's Guide

            for further information.



  6)  COMMON QUESTIONS AND ANSWERS:

      -----------------------------


  Q:   Why do I get one of the following errors when I attempt to

       run Borland/Turbo C++?:  "Memory Manager Cannot Initialize"

       "DPMI Server Initialization Error->Not Enough Memory for

       PMInit" "Application Load and Execute Error FFXXX"














  PRODUCT  :  Borland C++                           NUMBER  :  1393

  VERSION  :  ALL

       OS  :  ALL

     DATE  :  July 31, 1993                            PAGE  :  5/5


    TITLE  :  Trouble Shooting Borland Products with DOS 6.0





  A:   All these errors refer to there not being enough available

       extended memory for the compiler to load,  see (2) above.



  Q:   Why do I get this error when attempting to run td286?

       "System:  Machine is running incompatible expanded memory

       manager"


  A:   Td286 depends on EMS memory. It uses a VCPI protocol.  If

       you are using a memory manager with the parameter noems, or

       frame=none, or novcpi, then it can't run.  These parameters

       prevent access to expanded memory.  We recommend using the

       ram parameter.



  Q:   When I clean boot and then run mem, I get 0 bytes free of

       Extended(XMS) memory, but I know I have extended memory!


  A:   When you boot without himem.sys, mem will report 0 bytes

       free of Extended(XMS) memory.  To get the amount free,

       reboot with your himem.sys device.



  Q:   When I attempt to load the development environment, I get

       "Disk full, not enough swap space".


  A:   Borland/Turbo C++ automatically checks for space to create a

       swap file.  If you get this error, you don't have enough

       space for this swap file to be created.  Either use the /rx

       switch, where x is another drive, or execute bc.exe from

       another drive.



  DISCLAIMER: You have the right to use this technical information

  subject to the terms of the No-Nonsense License Statement that

  you received with the Borland product to which this information

  pertains.













Comments

Popular posts from this blog

BOTTOM LIVE script

Fawlty Towers script for "A Touch of Class"