home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / dos / programo / pmw120.exe / PMODEW.FAQ < prev    next >
Text File  |  1995-07-28  |  6KB  |  111 lines

  1. ------------------------------------------------------------------------------
  2. ------------------ Frequently Asked Questions About PMODE/W ------------------
  3. ------------------------------------------------------------------------------
  4. ----------------------------- Updated 7/22/95 --------------------------------
  5. ------------------------------------------------------------------------------
  6.  
  7. Q: Is PMODE/W 100% compatible with DOS/4GW?
  8.  
  9. A: PMODE/W is compatible with nearly all Watcom C/C++ functions. However,
  10.    PMODE/W does not support all of the extensions and API functions which
  11.    DOS/4GW does. DOS/4GW does a number of things that we feel are quite
  12.    unnecessary for most applications and most likely you will never miss them
  13.    (especially since they waste a lot of your precious memory and disk space).
  14.    Why extend something, wasting system resources, when you may not even be
  15.    using it in your program? So remember: before blaming a problem with your
  16.    program on PMODE/W, make sure that what you are doing is indeed supported
  17.    by our system. Read PMODEW.DOC for more information.
  18.  
  19.  
  20. Q: Why doesn't my PMODE/W program work with DOS/4GW?
  21.  
  22. A: You can not run a compressed PMODE/W program with DOS/4GW. The program may
  23.    be using a DPMI function which PMODE/W supports but DOS/4GW does not. You
  24.    may also be using 16 bit code directly instead of allocating DOS memory,
  25.    copying the code, and using it. PMODE/W always loads 16 bit real mode code
  26.    into low memory, thus enabling you to use it directly. DOS/4GW loads all
  27.    code into extended memory, where you can not use real mode code.
  28.  
  29.  
  30. Q: Why doesn't my DOS/4GW program work with PMODE/W?
  31.  
  32. A: Almost any program that works with DOS/4GW will run correctly with PMODE/W
  33.    as long as it does not use any DOS/4GW specific functions. If a program
  34.    does not work at first, you may have to tweak the PMODE/W system variables
  35.    using PMWSETUP. For example, you may try setting the maximum low memory to
  36.    reserve to 0FFFFh to force PMODE/W to load all 32 bit code and data into
  37.    extended memory like DOS/4GW (16 bit code will still be loaded into low
  38.    memory). You may also try increasing the number and/or nesting of the
  39.    protected and real mode stacks.
  40.  
  41.  
  42. Q: What does not having an exception handler do to my program?
  43.  
  44. A: If it's properly coded, absolutely nothing. An exception should only occur
  45.    in the event that your program has a bug. Exception handlers may provide
  46.    a minimal degree of security to your program, but in the long run end up
  47.    slowing it down. Installing exception handlers means having to take control
  48.    of any IRQ that goes off first, examine it, and then pass it down to its
  49.    appropriate handler. We would rather not slow down IRQ processes in this
  50.    way because our goal here is to run your code as fast as possible. If you
  51.    require exception handling while developing, you can compile your program
  52.    using DOS/4GW and test it with that. Just about anything that is not
  53.    out of the ordinary which you do under PMODE/W should work correctly under
  54.    DOS/4GW. PMODE/W is designed in such a way that you can even execute a
  55.    PMODE/W executable under DOS/4GW without the need to recompile. Simply
  56.    typing "DOS4GW PROGRAM.EXE" (where "PROGRAM.EXE" is your program) will run
  57.    any uncompressed PMODE/W executable under DOS/4GW. This is an excellent way
  58.    to still use DOS/4GW for debugging, and PMODE/W for the finished product.
  59.  
  60.  
  61. Q: Can I still debug PMODE/W programs under the Watcom debugger?
  62.  
  63. A: Yes you can. You can debug your PMODE/W programs in exactly the same manner
  64.    you would debug a DOS/4GW program (using the /TR=RSI switch of course). You
  65.    cannot, however, debug programs which have been compressed using PMWLITE.
  66.    You also cannot debug PMODE/W programs that do not run under DOS/4GW.
  67.  
  68.  
  69. Q: Why can't I access more than 16 megs of memory under my VCPI server when
  70.    there is more than that available in my system?
  71.  
  72. A: You must increase the maximum number of VCPI page tables PMODE/W will
  73.    manage using the PMWSETUP program. Each page table you add will give you
  74.    another 4 megs of memory (provided that it is physically available of
  75.    course).
  76.  
  77.  
  78. Q: Why can't I map more than 4 megs of address space of a physical device
  79.    using DPMI function 0800h?
  80.  
  81. A: You must increase the maximum number of physical address mapping pages in
  82.    PMODE/W using PMWSETUP.
  83.  
  84.  
  85. Q: How come PMODE/W takes a little while to load under EMM386?
  86.  
  87. A: PMODE/W allocates all of its extended memory pool during initialization
  88.    whereas DOS/4GW allocates memory every time you (or the C libraries) call
  89.    the DPMI memory allocation functions. The delay is caused by EMM386's
  90.    slowness in allocating pages. PMODE/W may take a little longer than DOS/4GW
  91.    at startup in this case, but it will be much faster during the execution
  92.    of the program since it does not need to call EMM386 for memory again
  93.    after that. If the delay is a problem, you can adjust the amount of
  94.    extended memory to allocate in PMWSETUP. The less memory there is to
  95.    allocate, the faster loading will be under EMM386. However, keep in mind
  96.    your memory requirements when changing that setting.
  97.  
  98.  
  99. Q: How come DOS/4GW, Pharlap, or other 32bit DOS applications don't work using
  100.    spawn() under PMODE/W?
  101.  
  102. A: Some other DOS extenders require extended memory to initialize. Also, the
  103.    program you are trying to run may require extended memory. To remedy this,
  104.    you can change the maximum amount of extended memory for PMODE/W to
  105.    allocate using PMWSETUP. Set the value to something you feel meets the
  106.    requirements of your program instead of the default (which allocates ALL
  107.    memory). This will make sure that your program does not allocate any more
  108.    memory than it needs, therefore leaving whatever memory is left over for
  109.    the program you are trying to execute.
  110.  
  111.