09-04-2006, 04:38 PM
Join Date: Sep 2004
Location: Valleyfield, Canada
A quick web seach leaded me to this page
. It could prove usefull for you. Here is a part of the text I find interesting and might be related to your problem:
IV. Troubleshooting MS-DOS 6.xx/7.xx and EMM386.EXE 4.49/4.95
If you encounter unexpected behavior (for example the system or a program hangs) when using EMM386.EXE 4.49/4.95, use these troubleshooting steps:
1. Turn your machine off, then turn it back on (cold boot) to fully reinitialize the system.
2. Start MS-DOS 6.xx interactively by pressing F8 as soon as the text "Starting MS-DOS..." appears. Windows 9x [MS-DOS 7.xx] users need to press Shift + F8 for a similar step-by-step boot confirmation operation.
3. When prompted to load EMM386.EXE, choose N for No. If the problem persists without loading EMM386.EXE, something other than EMM386.EXE is causing the problem.
4. If the problem disappears when EMM386.EXE is not loaded, edit CONFIG.SYS as follows using an ASCII text editor (such as EDIT.COM, the MS-DOS Editor) and change the CONFIG.SYS EMM386.EXE line to read:
DEVICE=drive:\path\EMM386.EXE X=A000-F7FF NOHI NOEMS NOVCPI NOMOVEXBDA NOTR
If the problem is specific to the use of the CTRL+ALT+DEL key combination (warm boot) and EMM386.EXE, add the ALTBOOT parameter to the above line.
Avoid the EMM386.EXE "ALTBOOT" switch IF using a SCSI/(U)DMA/(E)IDE add-in controller! The ROM addresses used by these adapters may CONFLICT with the memory address used by the "ALTernative BOOT" routine, causing LOCKUPS!
5. Cold boot the machine after making the above changes. If the problem persists, the system may have faulty RAM chips or may require a special machine switch for HIMEM.SYS. In addition, any CMOS settings (such as shadow RAM) may need to be disabled, or the system ROM BIOS may need to be upgraded for compatibility with MS-DOS 6.xx/7.xx. Consult your system vendor for information on CMOS settings and availability of BIOS upgrades.
6. If the problem disappears after loading EMM386.EXE as specified above, EMM386.EXE itself is not the source of the problem. Instead, the problem may be related to some service(s) that EMM386.EXE provides.
7. If the above procedure does not correct the problem, remove each EMM386.EXE command line option one by one and cold boot the machine each time.
If the problem reappears, see further below to find a resolution.
More info: Troubleshooting system errors/lockups when using EMM386.EXE [PD0470T.TXT, 21 KB, free]: ftp://ftp.microsoft.com/softlib/mslfiles/PD0470.EXE
If excluding the entire Upper Memory Area (UMA) resolves a system problem, EMM386.EXE may be scanning too aggressively and setting up Upper Memory Blocks (UMBs) on top of some adapter ROM or RAM. Use any available hardware documentation (including documentation on the add-on hardware devices such as video, network, and disk controller cards) to identify any ROM or RAM present in the UMA for that device, and exclude all pertinent regions (example):
The MicroSoft Diagnostic utility (MSD.EXE) may also be useful in identifying various mapped memory regions.
Run: MSD from any DOS prompt, and then press M to display the memory screen.
EMM386.EXE has the ability to load a portion of itself into UMBs (Upper Memory Blocks). If the NOHI option corrects the problem with EMM386.EXE, EMM386.EXE may be loading into an occupied UMB. Excluding the appropriate ranges in the UMA may correct this problem (see the "X=A000-F7FF" section above). If all such regions are excluded, EMM386.EXE cannot be loaded high on the system, and NOHI must be used. Contact your system manufacturer/vendor for additional information on compatibility with EMM386.EXE:
If the NOEMS parameter corrects the problem with EMM386.EXE, EMM386.EXE may be inadvertently conflicting with some hardware ROM or RAM address in the UMA when attempting to establish an expanded memory (EMS) page frame. If EMS is required to run MS-DOS-based applications, use the parameter FRAME=xxxx or Mx (where xxxx and respectively x is the defined hex address) to explicitly specify the placement of the EMS page frame in a nonconflicting region. If no applications require EMS, simply continue to use the NOEMS parameter:
The NOVCPI switch disables Virtual Control Program Interface (VCPI) support and can be used only in conjunction with the NOEMS parameter. If using NOVCPI corrects the problem, the application may not be fully compatible with the EMM386.EXE VCPI allocation scheme. Either continue using NOVCPI, or do not load EMM386.EXE when using the application:
Some (older) machines use the last KiloByte of conventional memory for an Extended BIOS Data Area (EBDA). By default, EMM386.EXE remaps this memory area into the UMA (Upper Memory Area) instead of conventional memory. If this causes unexpected system behavior, the NOMOVEXBDA parameter MUST be used:
EMM386.EXE's detection code searches for the presence of a Token Ring network adapter. This detection code may cause some computers to hang. The NOTR switch can be used to disable this search:
For more details on EMM386.EXE command line syntax:
*- MS-DOS 6.xx users: run: HELP EMM386.EXE from any DOS prompt.
*- Windows 9x users: use Notepad to read the "EMM386.EXE" topic in MSDOSDRV.TXT, a text file located in your Windows folder.