os/dos/cwsdpmi.txt
author rubidium
Wed, 26 Nov 2008 13:12:45 +0000
changeset 10385 4f9838649c7f
permissions -rw-r--r--
(svn r14636) -Add: DOS port of OpenTTD, without network support though.
10385
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     1
CWSDPMI is Copyright (C) 1995-2000  Charles W Sandmann (sandmann@clio.rice.edu)
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     2
                                    1206 Braelinn, Sugar Land, TX 77479
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     3
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     4
This is release 5.  The files in this binary distribution may be redistributed
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     5
under the GPL (with source) or without the source code provided:
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     6
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     7
* CWSDPMI.EXE or CWSDPR0.EXE are not modified in any way except via CWSPARAM.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     8
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
     9
* CWSDSTUB.EXE internal contents are not modified in any way except via
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    10
  CWSPARAM or STUBEDIT.  It may have a COFF image plus data appended to it.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    11
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    12
* Notice to users that they have the right to receive the source code and/or
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    13
  binary updates for CWSDPMI.  Distributors should indicate a site for the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    14
  source in their documentation.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    15
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    16
-------------------------------------------------------------------------------
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    17
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    18
CWSDPMI was written to provide DPMI services for V2 of DJGPP.  It currently
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    19
does not support 16-bit DPMI applications, or DPMI applications requiring a
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    20
built in extender.  It does support virtual memory and hardware interrupt
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    21
reflection from real mode to protected mode.  DJGPP V1.1x and RSX applications
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    22
will also run using this server, which can be used to provide enhanced control
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    23
over hardware interrupts.  Some DPMI 1.0 extensions (0x506, 0x507, 0x508) have
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    24
been implemented.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    25
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    26
CWSDPR0.EXE is an alternate version which runs at ring 0 with virtual memory
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    27
disabled.  It may be used if access to ring-0 features are desired.  It
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    28
currently does not switch stacks on HW interrupts, so some DJGPP features
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    29
such as SIGINT and SIGFPE are not supported and will generate a double fault
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    30
or stack fault error (to be fixed someday).
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    31
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    32
CWSDSTUB.EXE is a stub loader image for DJGPP which includes CWSDPMI.  This
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    33
allows single executable image distributions.  You can use the EXE2COFF
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    34
program and COPY /B CWSDSTUB.EXE+yourimage yourimage.exe to create a
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    35
standalone executable image.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    36
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    37
Some of the internal tuning and configuration parameters may be modified
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    38
in the image using CWSPARAM.EXE (see CWSPARAM.DOC).
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    39
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    40
If you want to use CWSDPMI with DJGPP, you expand the distribution into the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    41
DJGPP directory tree.  CWSDPMI.EXE will be put in the BIN directory with your
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    42
DJGPP images and it will automatically be loaded when they run.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    43
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    44
Directions for use (server can be used in either of two different ways):
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    45
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    46
1) "cwsdpmi" alone with no parameters will terminate and stay resident
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    47
   FOR A SINGLE DPMI PROCESS.  This means it unloads itself when your
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    48
   DPMI application exits.  This mode is useful in software which needs
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    49
   DPMI services, since CWSDPMI can be exec'ed and then will unload on exit.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    50
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    51
2) "cwsdpmi -p" will terminate and stay resident until you remove it.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    52
   It can be loaded into UMBs with LH.  "cwsdpmi -u" will unload the TSR.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    53
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    54
3) The file used for virtual memory swapping, if desired, is controlled
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    55
   by the "-sc:\cwsdpmi.swp" syntax on the command line.  You must specify
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    56
   either a file with full disk/directory syntax, or "-s-" which disables
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    57
   virtual memory.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    58
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    59
4) The default swap file name is c:\cwsdpmi.swp, but this can be changed
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    60
   with the CWSPARAM image, as can some other parameters.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    61
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    62
5) You can disable the DPMI 1.0 extensions by starting the image with the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    63
   "cwsdpmi -x" syntax.  This feature allows you to run programs developed
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    64
   under other DPMI providers which do not behave properly with these
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    65
   extensions enabled (typically use of NULL pointers).
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    66
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    67
I would like to give special thanks to DJ Delorie who wrote the original
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    68
GO32 code on which CWSDPMI is based.  Morten Welinder also provided and
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    69
improved much of the code in this program.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    70
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    71
-------------------------------------------------------------------------------
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    72
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    73
This section contains a list of the error messages you might see out of
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    74
CWSDPMI and some details on what they mean.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    75
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    76
Exceptions are only handled by CWSDPMI if the application does not establish
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    77
an exception handler, exceptions nest 5 deep, or the error is particularly bad:
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    78
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    79
"Page fault" -
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    80
  1) an illegal page fault happens in a RMCB or HW interrupt, (lock all pages!)
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    81
  2) all available pages have been locked,
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    82
  3) the application is using non-committed pages for null pointer protection.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    83
"Double Fault" - multiple exceptions occurred
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    84
"Invalid TSS" - typically due to RMCB or HW interrupt being called after the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    85
   selectors/memory have been deallocated (remember to reset the mouse)
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    86
"General Protection Fault" - bad parameter sent to a DPMI call
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    87
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    88
"80386 required."
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    89
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    90
Since 80286 and lesser processors don't have the hardware necessary to
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    91
run CWSDPMI.  No workaround, upgrade.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    92
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    93
"DOS 3 required."
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    94
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    95
A few interrupts are used which need DOS 3.0 or higher.  I don't expect to
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    96
ever see this message, since 80386 machines were introduced after DOS 3.0
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    97
and that check is made first.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    98
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
    99
"CWSDPMI V0.90+ (r5) Copyright (C) 2000 CW Sandmann  ABSOLUTELY NO WARRANTY"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   100
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   101
An informational message displayed if the program is not run in one-pass mode.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   102
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   103
"Protected mode not accessible."
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   104
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   105
This message should only be displayed if running CWSDPMI in a protected
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   106
environment with no access to protected mode.  In this case, DPMI should
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   107
already be available and CWSDPMI would not be needed.  This might happen if
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   108
a 16-bit DPMI client is loaded and a DJGPP image attempts to load CWSDPMI
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   109
to provide 32-bit DPMI services under Windows.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   110
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   111
"Warning: cannot open swap file c:\cwsdpmi.swp"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   112
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   113
Maybe you are out of file handles, or the swap file name is incorrectly
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   114
specified in the image (change the name with cwsparam).
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   115
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   116
"No swap space!"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   117
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   118
This message means you tried to use more paging file than CWSDPMI was
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   119
configured to handle.  Since this is protected against in the memory
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   120
allocation code, you should never see this message.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   121
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   122
"Swap disk full!"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   123
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   124
This means the paging file could not be expanded when trying to page
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   125
memory out to disk.  This would normally not be seen, unless you are
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   126
writing output to the same disk which holds the paging file.  Decrease
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   127
the amount of memory your DPMI application is using or free up disk space.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   128
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   129
"Interrupt 0x??"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   130
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   131
Your application tried to call an interrupt from protected mode which
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   132
normally shouldn't be called (something like a data pointer).  If the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   133
request was allowed to continue it would likely hang your machine.  If you
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   134
see this message and think the interrupt should be allowed to continue, let
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   135
me know.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   136
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   137
"Error: Using XMS switched CPU into V86 mode."
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   138
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   139
This message might be seen if you have your memory manager in AUTO mode.  The
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   140
only workaround in this case is to stop using AUTO mode.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   141
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   142
"Error: could not allocate page table memory"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   143
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   144
The page table memory (a minimum of 16Kb) is allocated from conventional
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   145
memory (either in the 640Kb region or UMBs).  If CWSDPMI cannot allocate the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   146
minimum necessary memory, you would see this message.  Free up some
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   147
conventional memory.  You may also see this message if a page directory needs
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   148
to be faulted in, and there are no available pages.  This means too many pages
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   149
have been locked for the allocated page tables available.  While CWSDPMI
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   150
tries to dynamically allocate these if needed, this effort failed.  You need
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   151
to increase the number of page tables with CWSPARAM, or increase the amount
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   152
of free conventional memory if it is low.  If the application which calls
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   153
CWSDPMI internally manages all the DOS memory, the page tables may need to
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   154
be pre-allocated at DPMI startup time (if this is needed, try using the
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   155
run option flag 2 in cwsparam).
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   156
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   157
"16-bit DPMI unsupported."
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   158
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   159
CWSDPMI is a 32-bit only DPMI server.  Ideally, on the request to enter DPMI's
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   160
PM with a 16-bit request, we would just fail the call setting the carry bit
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   161
like the DPMI specification describes.  Some buggy 16-bit compiler tools don't
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   162
check the return status and will hang the machine in this case.  So, I issue
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   163
an error message and exit the image instead.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   164
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   165
"Descriptors exhausted."
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   166
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   167
An attempt to nest a DPMI client failed in the setup phase due to insufficient
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   168
free selectors in the LDT.
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   169
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   170
"CWSDPMI not removed"
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   171
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   172
When the -u parameter is specified, if DPMI is not detected this message is
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents:
diff changeset
   173
printed.  Informational.