Old school prob - DOS EMS

LincLinc OwnerDetroit Icrontian
edited February 2004 in Science & Tech
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?

Comments

  • shwaipshwaip bluffin' with my muffin Icrontian
    edited December 2003
    I dunno what exactly needs to go on the disk, but you could try one of these:
    www.bootdisk.com
  • Straight_ManStraight_Man Geeky, in my own way Naples, FL Icrontian
    edited December 2003
    Ok, ems can be done like this:

    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.
  • LincLinc Owner Detroit Icrontian
    edited December 2003
    I'm unclear as to which I should use and which file I am to append it to. I have 98SE - but I could locate neither emm386 nor himem in a windows\command folder, a dos folder, or my 98 bootup disk.
  • LincLinc Owner Detroit Icrontian
    edited December 2003
    I found in the config.dos that emm386.exe command, with "NOEMS" as a switch. I deleted that, but haven't had any change.

    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. :(
  • GHoosdumGHoosdum Icrontian
    edited December 2003
    Well, you can load up the mscdex driver from a DOS restart or command prompt to keep your EMM386 driver, or add EMM386.exe to the Win98 floppy, or just make yourself a custom boot disk with the both of 'em.
  • LincLinc Owner Detroit Icrontian
    edited December 2003
    I found that it althought I did succeed in making EMM386 active, the expanded (not extended, as I thought) memory still wasn't working. After a bit, I went for the config.sys file and found the switch "noems" after the EMM386 device :rolleyes: I nuked that tag and my game works again!! :D w00t for Castles II: Siege and Conquest! :cool: Thanks guys!
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited January 2004
    A little background information:

    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 :fold:
  • ketoketo Occupied. Or is it preoccupied? Icrontian
    edited January 2004
    blue screen?
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited January 2004
    keto wrote:
    blue screen?
    They just get fancier with each iteration ;D

    -drasnor :fold:
  • edited February 2004
    I have windows 98 SE and am also trying to run Castles II. when running a dos prompt with windows up I get a "EMS error 1"

    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.
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2004
    stx_one wrote:
    I have windows 98 SE and am also trying to run Castles II. when running a dos prompt with windows up I get a "EMS error 1"

    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.
    You won't be able to run that application in protected mode (DOS box inside Windows). You're going to have to be in real mode DOS (Start Menu -> Shut Down -> Restart in MS-DOS mode), which means you need to configure real mode DOS on your machine by editing your config.dos and autoexec.dos files. DO NOT ADD DOS DRIVERS OR MEMORY MANAGERS TO YOUR AUTOEXEC.BAT AND CONFIG.SYS FILES UNLESS YOU WANT TO HAVE A VERY INTERESTING (read: bad) WINDOWS EXPERIENCE. By loading 16-bit DOS terminate & stay resident in memory drivers, not only are you consuming system resources with legacy code, you're creating conflicts between the DOS drivers and Windows drivers for the same device.

    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 :fold:
  • edited February 2004
    I was way confused by all the editing stuff that i would need to do. But, i did try out the dosbox... and now i have run in the problem that when i try running the program with dosbox that is prompts me to insert the cd or says couldnt find CD-Rom... So if you know a remedy for this that would be awesome. thanks
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2004
    stx_one wrote:
    I was way confused by all the editing stuff that i would need to do. But, i did try out the dosbox... and now i have run in the problem that when i try running the program with dosbox that is prompts me to insert the cd or says couldnt find CD-Rom... So if you know a remedy for this that would be awesome. thanks
    Castles II is telling you that it can't find your CD-ROM. This might be for a variety of reasons, the most likely being that you haven't mounted your CD-ROM in DOSbox, the second-most likely being that you did mount it, but to a different drive letter than when you originally installed the game. I'm willing to bet it's the former, since most games usually don't complain about the latter.

    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:
    (Note: If you want to mount a CD-Rom instead of a folder, type this: mount D D:\ -t cdrom. In my example, D:\ -t cdrom tells DOSBox that my D:\ drive is a CDRom drive, at the first D, tells DOSBox what my new drive name should be called. Then, in the step below, you'd write D: instead of C:. You can find instructions on how to mount other devices, such as floppy drives, in the Readme file)
    In short, type
    mount D _path to CD-ROM_ -t cdrom
    
    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 :fold:
  • csimoncsimon Acadiana Icrontian
    edited February 2004
    omg I don't don't miss dos.
    did anyone mention that himem goes before emm386?
  • LincLinc Owner Detroit Icrontian
    edited February 2004
    My solution was very simple:

    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.
  • csimoncsimon Acadiana Icrontian
    edited February 2004
    My solution was very simple:

    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.
    makes sense ...I don't remember all of the tricks to free the umb. I still have a copy of Qemm386 is anyone wants it.
  • Straight_ManStraight_Man Geeky, in my own way Naples, FL Icrontian
    edited February 2004
    drasnor wrote:
    You won't be able to run that application in protected mode (DOS box inside Windows). You're going to have to be in real mode DOS (Start Menu -> Shut Down -> Restart in MS-DOS mode), which means you need to configure real mode DOS on your machine by editing your config.dos and autoexec.dos files. DO NOT ADD DOS DRIVERS OR MEMORY MANAGERS TO YOUR AUTOEXEC.BAT AND CONFIG.SYS FILES UNLESS YOU WANT TO HAVE A VERY INTERESTING (read: bad) WINDOWS EXPERIENCE. By loading 16-bit DOS terminate & stay resident in memory drivers, not only are you consuming system resources with legacy code, you're creating conflicts between the DOS drivers and Windows drivers for the same device.

    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.

    The Oak Technology driver is on Windows 95, 98, and 98 SE Windows Startup disks.
    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 :fold:

    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....
    :hair::werr::)
  • edited February 2004
    Hey thanks alot drasnor... i got the emulator to run the game... now the only problem i have is that it runs very slow and choppy... anyway i can tweak things to make it run faster and smoother?
  • drasnordrasnor Starship Operator Hawthorne, CA Icrontian
    edited February 2004
    stx_one wrote:
    Hey thanks alot drasnor... i got the emulator to run the game... now the only problem i have is that it runs very slow and choppy... anyway i can tweak things to make it run faster and smoother?

    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 :fold:
Sign In or Register to comment.