Bamboozled by Expanded Memory
by zieprt - 2/7/11 2:48 AM
Two W98SE systems have been kept in a corner because a DOS application we use was never converted to Windows.
The machines are configured the same, but have different motherboards.
- Iwill KK266 w/384KB
- Aus A7N8X-E w/500KB
Last week I learned that the Iwill has been giving 'Out of Memory' errors when loading large files. This has been happening for some time (years?) and the workaround was to use the other system.
The only difference I can find between the two is that the Iwill opens a DOS partition with Expanded Memory and the Asus does not. The CONFIG.SYS and AUTOEXEC are basic.
DEVICE=C:\WINDOWS\HIMEM.SYS
DOS=HIGH,UMB
DEVICEHIGH=C:\WINDOWS\SETVER.EXE
LASTDRIVE=Z
BUFFERS = 40,0
FILES = 30
========
numlkoff
The obvious solution looked like forcing EMS by adding EMM386 to CONFIG.SYS, and I certainly did not expect to crash in flames so badly.
a) The first line was simple.
DEVICE = C:\WINDOWS\EMM386.EXE RAM
This generated a boot error of:
"EMM386 Not Installed - Unable to set page frame base address"
That means W98 cannot find a contiguous 64KB to use as EMS pages.
b) The workaround was to add parameters p0-p3 which identified four 16KB chunks to constitute a page.
When booted in DOS the application can load large files.
DEVICE = C:\WINDOWS\EMM386.EXE RAM P0=8000 P1=8400 P2=8800 P3=8C00
Attempts to boot W98SE fail with a stall during the opening screen.
c) MSCONFIG/General/Advanced allows setting "EMM Exclude A000-AFFF" so tried again with the following line.
DEVICE = C:\WINDOWS\EMM386.EXE I=A000-AFFF
Booting failed at an even earlier point, during POST.
d) Googling has failed me, nowhere can I find an explanation.
The only thing that makes sense to me at this point is that the Asus has no contiguous 64KB of space. If so, that is a pretty big deviation from being PC-compatible.
I cannot test this theory, but may be able to if any of you know of a utility that can identify what memory banks are being used.
Am open to ideas and would welcome any suggestions on how to make EMS functional in a DOS Window under W98SE on the Asus.
========== MEM /C of Iwill W98SE DOS window ==========
Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 114,480 540,880
Upper 0 0 0
Reserved 0 0 0
Extended (XMS) 67,043,328 ? 401,346,560
---------------- ----------- ----------- -----------
Total memory 67,698,688 ? 401,887,440
Total under 1 MB 655,360 114,480 540,880
Total Expanded (EMS) 67,108,864 (64M)
Free Expanded (EMS) 16,777,216 (16M)
Largest executable program size 540,672 (528K)
Largest free upper memory block 0 (0K)
MS-DOS is resident in the high memory area.
============== MEM /C of Asus W98SE DOS window ========
Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 51,040 604,320
Upper 0 0 0
Reserved 0 0 0
Extended (XMS) 535,756,800 65,536 535,691,264
---------------- ----------- ----------- -----------
Total memory 536,412,160 116,576 536,295,584
Total under 1 MB 655,360 51,040 604,320
Largest executable program size 604,224 (590K)
Largest free upper memory block 0 (0K)
MS-DOS is resident in the high memory area.

Moderator
CNET Staff
Samsung Staff
Dell Staff