81 lines
1.5 KiB
C
81 lines
1.5 KiB
C
/*
|
||
* dem.c - Main Module of DOS Emulation DLL.
|
||
*
|
||
* Sudeepb 09-Apr-1991 Craeted
|
||
*/
|
||
|
||
#include "io.h"
|
||
#include "dem.h"
|
||
|
||
/* DemInit - DEM Initialiazation routine. (This name may change when DEM is
|
||
* converted to DLL).
|
||
*
|
||
* Entry
|
||
* argc,argv - from softpc as it is.
|
||
*
|
||
*
|
||
* Exit
|
||
* None
|
||
*/
|
||
|
||
PSZ pszDefaultDOSDirectory;
|
||
|
||
extern VOID TerminateVDM(VOID);
|
||
extern VOID dempInitLFNSupport(VOID);
|
||
|
||
|
||
CHAR demDebugBuffer [256];
|
||
|
||
#if DBG
|
||
BOOL ToDebugOnF11 = FALSE;
|
||
#endif
|
||
|
||
BOOL DemInit (int argc, char *argv[])
|
||
{
|
||
PSZ psz;
|
||
DWORD dw;
|
||
|
||
// Modify default hard error handling
|
||
// - turn off all file io related popups
|
||
// - keep GP fault popups from system
|
||
//
|
||
SetErrorMode (SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
|
||
|
||
pszDefaultDOSDirectory = (PCHAR) malloc(MAX_PATH+14);
|
||
if (!pszDefaultDOSDirectory ||
|
||
!(dw = GetSystemDirectory(pszDefaultDOSDirectory, MAX_PATH)) ||
|
||
dw >= MAX_PATH )
|
||
{
|
||
return FALSE;
|
||
}
|
||
|
||
dempInitLFNSupport();
|
||
|
||
if (VDMForWOW)
|
||
return TRUE;
|
||
|
||
// Check the debugging level
|
||
while (--argc > 0) {
|
||
psz = *++argv;
|
||
if (*psz == '-' || *psz == '/') {
|
||
psz++;
|
||
if(tolower(*psz) == 'd'){
|
||
fShowSVCMsg = DEMDOSDISP | DEMFILIO;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
#if DBG
|
||
#ifndef i386
|
||
if( getenv( "YODA" ) != 0 )
|
||
#else
|
||
if( getenv( "DEBUGDOS" ) != 0 )
|
||
#endif
|
||
ToDebugOnF11 = TRUE;
|
||
#endif
|
||
|
||
return TRUE;
|
||
}
|
||
|