I am running Win2k Pro with a P4 2.2GHz, 512MB Memory, GeForce 4 Ti 4600,
and Adaptec 19160 SCSI card, but I've seen this exact problem reported under
XP and NT4 as well, on laptops, desktops, Intel and AMD machines, SCSI and
IDE machines. I'm trying to run a dos program that requires EMS. It
complained of not enough memory, and I used "mem" to verify, and it made no
mention of EMS at all. himem.sys seems to load fine, as it gives me all the
XMS I ask for in the PIF file. So, before worrying about the program, I
just want to get EMS to show up to DOS programs at all.
I created a PIF file that runs MEM.EXE, and doesn't close on exit. I set
all the memory options to "Auto" and have the "Uses HMA" checked, and
"Protected" unchecked. Everything else is default.
Here is my config.nt:
[...REM deletia...]
config.nt> ECHOCONFIG
config.nt> DOS=HIGH,UMB
config.nt> DEVICE=%SystemRoot%\system32\himem.sys
config.nt> EMM=RAM
config.nt> FILES=80
When I run it, this is what i get:
mem> Unrecognized command in CONFIG.SYS
mem> Error in CONFIG.SYS line 57
mem>
mem> Conventional Memory :
mem>
mem> Name Size in Decimal Size in Hex
mem> ------------- --------------------- -------------
mem> MSDOS 13680 ( 13.4K) 3570
mem> KBD 3280 ( 3.2K) CD0
mem> HIMEM 1248 ( 1.2K) 4E0
mem> COMMAND 4016 ( 3.9K) FB0
mem> KB16 6096 ( 6.0K) 17D0
mem> FREE 112 ( 0.1K) 70
mem> FREE 1200 ( 1.2K) 4B0
mem> FREE 625520 (610.9K) 98B70
mem>
mem> Total FREE : 626832 (612.1K)
mem>
mem> Upper Memory :
mem>
mem> Name Size in Decimal Size in Hex
mem> ------------- --------------------- -------------
mem> SYSTEM 225264 (220.0K) 36FF0
mem> MOUSE 12528 ( 12.2K) 30F0
mem> FREE 4064 ( 4.0K) FE0
mem> FREE 20192 ( 19.7K) 4EE0
mem>
mem> Total FREE : 24256 ( 23.7K)
mem>
mem> Total bytes available to programs (Conventional+Upper) : 651088
(635.8K)
mem> Largest executable program size : 625520
(610.9K)
mem> Largest available upper memory block : 20192
( 19.7K)
mem>
mem> 19922944 bytes total contiguous extended memory
mem> 0 bytes available contiguous extended memory
mem> 15663104 bytes available XMS memory
mem> MS-DOS resident in High Memory Area
As you can see, it's using UMBs for stuff, but no EMS.
I have tried playing with the EMM= line in config.nt, following it's
instructions, and it always complains of "unrecognized command in
config.sys" at that line.
I've tried:
EMM=RAM
EMM=
EMM=B=0x4000 RAM (for 0x1000, 0x2000, 0x3000 and 0x4000)
EMM=B=4000 RAM
EMM = B=4000 RAM
EMM = B=4000 RAM
you know, etc, etc... all permutations I can think of. SOME combinations
(EMM = B=0x4000 RAM, for one) pop up a message saying "The EMM command line
in your config.nt contains invalid parameters or syntax errors." with the
option to close or ignore... ignoring just behaves as always. I really
want to put my page frame in E000... I'm not sure how 0xA000-0xE000 map to
0x1000-0x4000 that's mentioned in the config.nt documentation.
So, if anyone has any information about why the documentation seems to be
completely incorrect, or why this isn't working, or any real information
about this, I think a lot of people would like to hear about it. I'd really
like to specify the Upper memory excludes and includes explicitly, as
B000-B7FF is usually free, between the graphics and text mode video memory
mappings, as well as C800 onward, after the video bios. I've got some
bioses (probably my SCSI card) in the D000-DFFF range, which I think is
where NTVDM is trying to put the page frame.
The funny thing is that this is all running inside a virtual dos machine...
does it really make sense to have to even be concerned about your device
bioses and whatnot? Shouldn't the VM abstract all that?
I installed BOCHS, and got the program and EMS working great under it (w/
DOS 6.22), without any real problems, but it's way too slow to actually use.
Thanks for any help!
-DG
if...@xarble.org
When run, it shows EMS memory of 16777216 just as expected.
I tried this on 6 different computers here in my home office. 5 Win2K
machines and 1 XP machine. It worked as expected on all 5 Win2K machines ...
it failed on the XP machine. All of the W2K machines are at SP3 and the XP
machine is at SP1.
"David Ghandehari" <if...@xarble.org> wrote in message
news:IBI5a.196697$iG3.22905@sccrnsc02...
>Here is my config.nt:
>[...REM deletia...]
>config.nt> ECHOCONFIG
>config.nt> DOS=HIGH,UMB
>config.nt> DEVICE=%SystemRoot%\system32\himem.sys
>config.nt> EMM=RAM
>config.nt> FILES=80
Make that EMM line
EMM = B=4000 RAM
And have it *before* the DOS=HIgh,UMB
The spaces are very important - either side of the first =, none at the
second one.
Then in the properties of a shortcut to the relevant DPOS p[rogram, set
the EMM to a specific size, rather than Auto, and run the program using
the shortcut
--
Alex Nichol MS MVP (Windows - File Systems)
Bournemouth, U.K. Al...@mvps.org
But it still behaves the same, claiming that the EMM line is an
"unrecognized command," and giving me only XMS. It allocates enough memory
for XMS+EMS specified in the PIF, but it just doesn't give me a page frame.
It's looking to me like some kind of hardware incompatibility, but without
tearing my computer apart, I won't know if it's the MoBo or one of my cards
(or a silly BIOS setting). And even if it was a HW problem, I wouldn't
expect to see the EMM reported as an unrecognized command. It could easily
just be a flaw in the error reporting, where any problem on that line yields
the same error message.
-DG
"Alex Nichol" <alexn....@ntlworld.delete.com> wrote in message
news:18nf5v0reki6m62ft...@4ax.com...
Thanks for trying that out, though. I'm just not sure what it tells me.
-DG
"Colon Terminus" <Colon_T...@hotmail.com> wrote in message
news:kvM5a.19118$0L3.7...@news2.news.adelphia.net...
>I did it exactly as you said, changing my PIF to explicitly specify 16MB of
>EMS, and changed my config.nt so it looks like:
>config.nt> ECHOCONFIG
>config.nt> EMM = B=4000 RAM
>config.nt> DOS=HIGH,UMB
>config.nt> DEVICE=%SystemRoot%\system32\himem.sys
>config.nt> FILES=80
>
>But it still behaves the same, claiming that the EMM line is an
>"unrecognized command," and giving me only XMS. It allocates enough memory
>for XMS+EMS specified in the PIF, but it just doesn't give me a page frame.
This is very odd. AFAIK EMM gets loaded as part of the general loading
of the emulator, so it *ought* not to come up as an unknown command, but
I *don't* know exactly what file is involved. About all I can suggest
is a general refresh of the system files - put the CD in the drive, go
to Start - Run and run
SFC /SCANNOW
And check to ensure you do not have some emm86.exe or command.com
hanging about from a previous system (there should be a command.com in
windows\system32 dating from 23 Aug 01)
My config.nt file looks like this:
[a bunch of REM lines snipped]
dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=40
"David Ghandehari" <if...@xarble.org> wrote in message
news:y6T5a.220553$be.198270@rwcrnsc53...