Old school prob - DOS EMS
Linc
OwnerDetroit Icrontian
I'm trying to play an old (circa '93) DOS game on my Windows 98 machine. When I exectute it in DOS, it says "1 EMS not found." I figured out the 1 is probably just an error code, but I don't know how to get extended memory going in DOS. I've found stuff about needing a special boot disk, but I haven't found where to make one. Anyone better with DOS?
0
Comments
www.bootdisk.com
device=a:\himem.sys
(if booting from floppy AND ytu have valid himem.sys on floppy also)
else if you have DOS on HD,
device=C:\dos\himem.sys
and possibly with 98 but probably not with 98 SE:
device=c:\windows\command\himem.sys
Now, there is another additional possible, for a machine that is trying to run a DOS game circa a bit later than you said, and it would run as second line in config.sys
if from floppy:
a:\emm386.exe (then switches as needed)
if DOS on HD:
c:\dos\emm386.exe (then / type switches, like eXcluding space for video buffer , etc.)
If you want to boot into DOS mode, ie Command Prompt mode:
edit the file config.dos and use:
c:\windows\command\emm386.exe (then / type switches as wanted)
(emm386 supplies ENHANCED memory support)
I MIGHT be wrong about this emm386 call, it might actuallly go in autoexec.bat as first line, SIF (sorry, I forget)
You can get help from emm386.exe itself with:
c:\windows\command\emm386.exe /?
at any DOS prompt. YOU CAn start up in DOS mode with F8 to boot menu, then choosing Command Prompt only, but will need to edit the system files config.dos and\or autoexec.bat first.
They do not show in a normal directory, unless you have the folder properties set to show system and hidden files, then they will be visible and you can right click them, edit in notepad, save as ASCII, rename what they need to be, use Explorer (file manager) to show, right click, make system and hidden and read-only again, then restart and go into Command prompt mode with F8 and then 3-4 down arrow strokes.
Sorry, do not have a switch reference for himem.sys at all, and himem.sys might still be documented on the web, but do NOT use any refs to a system device of that name in docs about PC-DOS or you will be hit with errors. EMM386.exe is still documented on the web also. Where old web docs say different, assume my recollection is faulty, please, been quite a while and my DOS books are in the attic.
John.
My dilemna seems to be this - if I start up and a command prompt or restart in DOS, I have no CD-ROM support. If I boot from my 98 floppy, I have no EMM386 driver installed.
Himem.sys and Emm386.exe are expanded memory managers. Most modern systems don't make a distinction between "base" memory and "expanded" memory, or even have base memory, but if you watch the POST sequence on something like a Pentium 1 motherboard, you'll probably see something along the lines of:
Testing Memory:
640KB OK
65536KB OK
The first number is your base RAM, which is soldered onto the motherboard. The second number is the amount of RAM you've added to the system in the form of DIPs, SIPs, SIMMs, or DIMMs or whatever else your board takes. When the AT spec was first pioneered, they thought you'd never need more than 640KB of RAM, so that's the maximum amount you could address. Then people needed more, so they pioneered a dirty hack of the AT spec where you could add more, and then gain access to it through memory managers like Himem.sys and Emm386.exe. Then you could load stuff into "upper memory" which is in your extended RAM and not be limited by 640KB of RAM.
Then came Windows 95, and we all know what happened next.
-drasnor
-drasnor
What exactly must i edit in my config.sys or config.dos?
Do i need to dl himem.sys or emm386.exe if not how do i run them or find them... and exactly how do i make it all come together... i may need laments terms b/c i wasnt following to well the rest of the thread... i really want this to work and i would be emmensely appreciative if you guys could help out.
I can't tell you exactly how to make your config.dos and autoexec.dos files, since they vary greatly from system to system due to hardware configuration and personal preference. First, I suggest using Google to find the syntax for both files (or reading Ageek's cryptic post above very carefully), then drafting a basic pair that loads a memory manager and sets up a better-than-default DOS environment (hint: stacks, buffers, lastdrive statements in config.dos).
The most difficult thing will be finding DOS drivers for anything you're going to need, which is most likely going to be your sound card, CD-ROM, and mouse. You can probably find a DOS driver for your sound card assuming you have anything made prior to 2000. Just about any canned CD-ROM driver will work with most CD-ROMs: I use either oakcdrom.sys or idecdrom.sys depending on which I have handy at the time, as well as MSCDEX.EXE which is part of Windows (it's in Windows\Command). Special cases for CD-ROM drivers are when the CD-ROM is plugged into the sound card instead of to the motherboard. As for mice, the one that's bundled with Windows (mouse.com in Windows\Command) works nicely.
If your head is spinning right now, that's normal. It took me a week to get my 486 all happy and working. If you're still stumped at the end of the week, you can try DOSbox. DOSbox is a portable open-source DOS emulator, but it's not going to be as fast as real mode DOS simply because you're emulating an x86 processor, sound card, and graphics. I haven't tried it, but apparently it works.
-drasnor
The DOSbox manual (you DID read it, right?) describes the syntax and valid switches for mounting your CD-ROM. In my 5 second search I wasn't able to find an online version of the DOSbox manual, but in the DOSbox forums accessible from their Sourceforge page, I found this: In short, type at the command line in DOSbox where _path to CD-ROM_ is the DOS path to your CD drive (usually just D:\ or E:\). If in fact you have mounted your CD-ROM and it's giving you that error, you need to try and remember what drive letter your CD-ROM was when you installed the game, or better yet just start with a blank DOSbox directory and install the game from within DOSbox.
-drasnor
did anyone mention that himem goes before emm386?
I went into the config.sys file and found the word "noems" after the "EMM386" device. I deleted that tag and my game works again.
The Oak Technology driver is on Windows 95, 98, and 98 SE Windows Startup disks.
Yeah, I had fun with PC-DOS and MS-DOS. LOTS of fun. One thing you can do, is use a .pif file to spec what is called for a program that is recalcitrant to running. Run program in 95 compatibility mode. To get the memory from your DOSsy Command session released right, close it with the command:
exit
if you have 98 or SE or ME running. For those who don't have that early a Windows, you can also use 'exit' (can, but need not be all caps) to close a CMD session and memory is released faster that way in 2000 and XP.
John D.
Just a funny (belly laugh kind) side note, which still has me chuckling off and on three hours after I read about it in PC-Mag for the next issue (somehow I got a free subscription for a year). Microsoft left old phase 1 DVD burning software support in XP-- this is a legacy that dates back to 95 OSR2 times (thus my brain stores it under old things being carried forward, or "grandfathered" stuff). If you never need to do a DVD burn with old software (and don't have a VERY old DVD burner) that uses phase 1 burning, then open 'regedt32' invoked from Start|Run and look for a key that has the value 'Mr. Enigma' in it. XP itself does not need that key, but it is still default entered in registry at XP install time. According to PC-Mag, the reason Microsoft software dev named it that was that it was "just stupid enough to be unique." Same key value, same idea, for Windows 2000, AFAIK. Hmmm....
It's slow and choppy because you're running it on top of an x86 emulator. Your computer is an x86. So we have a little phenomenon going on where instead of it executing the game's code on your x86 processor, we're executing it on a virtual x86 (a 386 actually) that is being emulated by your current processor. The emulation isn't optimized either, so it's going to be slow, probably on anything slower than a 1.4GHz Pentium III.
There are two things that will make it go faster. First, you can configure real mode DOS and run your game in that. Second, you can build a faster computer. On a cheaper note, you can also build a slower computer and install DOS on that .
-drasnor