Slashdot Mirror


Playing Older Games on Today's Hardware?

In a follow-up to this month old article, Toby Reyelts asks: "Just like people nostalgically play games like Galaga and Ms Pacman, I'd like to play my old DOS-based games which I own - like Warcraft and Master of Orion II. Unfortunately, every Windows computer in my household runs some variant of NT which prevents these games from playing correctly. I'd like to be able to play my games simply, rather than reformatting my hard drives to contain DOS partitions. My first go, was to setup a DOS boot disk which would create a RAM drive where I could install the games. Unfortunately, it appears that ramdrive.sys (for both MS and PC DOS) has a lame 32M limitation, which is well below the gig of ram I have and the requirements for disk space for these games. (Master of Orion II requires roughly 80M of disk space). Does anyone know of a better DOS ramdrive driver or some other easy way around this problem? Does anyone else think it's silly to have to go through so much trouble to play a game you purchased only a few years ago?" I'm certain other older games may have other technical issues with current hardware, as well. So, who has been having trouble getting older games to play on their newer systems? If you have been playing older games, what things did you have to do to coax your systems to play them (if anything).

18 of 40 comments (clear)

  1. Windows XP will do it by cd_Csc · · Score: 2, Informative

    WinXP has a "Compatibilty Mode" setting associated with every executable... using that allows you to tell the OS to act like a previous version of Windows when interacting with that program. The OS's on the list include everything between Win95 and Win2K. I haven't tried this personally, but Microsoft's article about it is at http://www.microsoft.com/WINDOWSXP/pro/using/howto /gethelp/appcompat.asp. One of the coolest features of XP is that it supposedly overcomes the backwards compatibilty problems that stopped people from upgrading to Win2K.

    1. Re:Windows XP will do it by man_ls · · Score: 2

      Windows 2000 has a similar feature, availble from Windows Update as "Windows 2000 Application Compatibility Update" This will allow you to return Windows 95, Windows 98, or Windows NT 4.0 SP 4 (I think)

      The fundamental problem with this is that it doesn't maintain the system libraries for those OSes. To do so would require too much hard drive space, but all the compatibility layer does is returns a different version to any version checks called by a program, similar to the program SETVER in MS-DOS days.

      One of the best examples that comes to mind of this is C&C95's dependance on certain Windows 9x functions in KERNEL32.dll. Windows 2000 has this file, but it's a different file then Windows 98 has, and doesn't contain the same functions. Because of this, C&C95 can't find the functions it needs, and either crashes with illegal operation, or invalid pointer, or one of a dozen other error messages it spit at me for not having the right entry points where it expected them.

      Any (game/application) tied to an OS by anything more than a version number, such as dependance on the specific locations of functions in a system library, isn't going to run under a compatibility layer. The layer doesn't alter your system files - it just makes the program think you have a different operating system.

      JKoebel

    2. Re:Windows XP will do it by man_ls · · Score: 2

      Even the sample error message on the XP compatibility web site supports my above post. The message "This program requires Windows 95" can be corrected, since that's obviously a version check. However, "POINTER NOT FOUND ON LINE 224 OF KERNEL32.DLL. PROGRAM HALTED." cannot be corrected without a different KERNEL32, which is exactly what Application Compatibility Layers do not do.

    3. Re:Windows XP will do it by Bert64 · · Score: 2, Interesting

      The windows XP compatibility mode is aimed at compatibility with earlier versions of windows. It does not provide greater compatibility with DOS, and i assume these old games would be DOS games. In particular, NT based versions of unix will prohibit programs from gaining direct access to the hardware, something which was common and often necessary for performance reasons, with DOS games. Even installing a version of dos wouldn`t work well on most machines, ms-dos can only support upto 64mb of ram afaik, while enough to play games.. is not really enough for a huge ramdisk AND games, Plus a lot of modern hardware no longer comes with dos drivers, so you may find most games run without sound etc, plus you would be using the bios routines to access disks, which is far from optimal.. and disk caching software can cause problems with games. I would use VMware or similar, it emulates generic hardware, SVGA/VESA, soundblaster etc, which should be well supported by older games, and the underlying os will be doing the actual disk io.. so performance should be better, and with a modern computer the emulation overhead shouldn`t affect the running speed of games designed for older machines, and you can easily reduce the speed of the emulated machine just incase a game runs to fast.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    4. Re:Windows XP will do it by MikeBabcock · · Score: 2

      An actual application compatibility layer _would do_ that, but since this isn't a real compatibility layer but simply falisfying the information returned from a single system call, I don't expect much.

      --
      - Michael T. Babcock (Yes, I blog)
  2. One possible answer FreeDos by ajax142 · · Score: 2, Informative

    FreeDos, www.freedos.org, is an open source "copy" of MS-DOS which would be great for playing old games. It actually is better in some respects than MS-DOS. Besides being free, in both senses, it can installed on large drives, not sure about the current limitations, but I think it's above 8 gigs now. Also the FAT-32 flavor of kernel, still in alpha/beta stages, supports Windows LFN and large partitions. If you wish to help out this project we are always looking for programmers and supports. We really could use a good EMM386 clone, and some work on the XMS managers. If anyones interested.

  3. Linux + VMWARE by BroadbandBradley · · Score: 2, Informative

    run a real OS, then boot other OS's in virtual machines using VMWare (VMWARE is available for winNT as well, I just like Linux :-) )
    I've done it on my Pentium II 266 to run Win95, and it seemed to run at native speeds. If you have a Big Bad 1GHz+ machine with tons of ram, VMWare will work GREAT. You can re-partition for other OS's but you don't have to, you also have the option of storing that partition as a single file in your regular partition.

  4. Virtual PC for Windows by shumacher · · Score: 2
    Connectix, long time purveyors of Virtual PC (I've seen a number of Mac versions, as well as a NeXT version an I think a few variations of IRIX and Solaris) released a version for Windows a few months back. Virtual PC for Windows allows you to create a virtual x86 box on your Windows machine, without any partitions.


    I think you might also be able to emulate a dos environment inside of Mandrake's LNX4WIN.


    Or you could go buy an old machine for a song. Try Goodwill. Go to a garage sale. Bring a $20.

  5. DOS commands by man_ls · · Score: 3, Informative

    DOS has some elementary directory restructuring commands that you might be able to use to get around this limit by setting up multiple RAM drives.

    SUBST {drive letter} {path} assigns the drive letter {drive letter} to a directory. It doesn't need to be on the same

    ASSIGN {target}={actual} reroutes drive requests for TARGET to ACTUAL.

    JOIN (this is probably what you want) driveletter: path. This allows you to access the contents of one directory through another.

    These might work.

    JKoebel

  6. Re:What about timer speeds? by shaniber · · Score: 3, Informative
    I remember back in the day, even on a 486, games that were written for slower machines would run to fast to be playable. Now that your computer will be many times faster than a 486, the game will also be many times faster and definitly not usable at all.
    Not so! The MoSlo utility will slow down games quite handily. Depending on what you read, you may or may not be able to use it under windows, and it might not be as effective on a GHz screamer as it was on a 486. But it may work, and might be useful to check out.
    --
    mah na mah na.
  7. Speed issues by larien · · Score: 2
    Some older games are unplayable on new hardware due to the speed of the CPUs. I got some old games back when I had a 233MHz Pentium, and they were unplayable as they ran far too fast. One Pacman clone was horribly fast, even though it had a speed setting (ie, you could slow down/speed up the game).

    I dread to think what they would be like on a 2GHz P4 or an Athlon XP!

    Some games are more intelligent and some don't have such issues (i.e. by not being real-time).

  8. Syndicate by truesaer · · Score: 2
    This was one of my favorite games in middle school. I bought a copy, but never could get it to work. First, the sound card wouldn't work in DOS mode. I use a laptop in a port replicator, and I think it has something to do with how the sound card is integrated into it, but I couldn't find any way to get it working in DOS mode. The bigger problem is that without real mode drivers the game crashes when you try to enter a mission. I couldn't get these drivers working in Win98.


    so, can't really help you, but I feel your pain!! :)

  9. Re:What about timer speeds? by Glytch · · Score: 2

    (insert standard lame joke about Windows doing the same thing here)

  10. Sound In DOS Games by CritterNYC · · Score: 4, Informative

    To get sound in DOS games under Windows NT/2000, try using VDM Sound. It is an "open, plug-in oriented platform that emulates an MPU-401 interface (for outputting high-quality MIDI music), a SoundBlaster compatible (SB16, SBPro 2, SB2, SBPro, etc.) implementation (for digital sound effects and FM/AdLib music), as well as a standard game-port interface (for playing games with joystick support)." I've used it on my Win2K box and been able to play several old DOS games with sound.

  11. Bochs by AT · · Score: 2

    I've had limited success running DOS under Bochs (http://bochs.sourceforge.net/). Bochs is a PC hardware emulator done completely in software, so it should work on non-x86 platforms too. Additionally, it has the added "feature" of running the game slow enough to play.

  12. Use OS/2 Warp by LordNimon · · Score: 2
    OS/2 has always had excellent DOS emulation support, way better than any version of Windows has ever had. I remember running two copies of Wing Commander at the same time, each in its own window.

    For more information on running DOS games under OS/2, see http://www.os2world.com/games/.

    There are two versions of OS/2 available now, IBM's (called the Convenience Pack), and eComStation. eCS is better choice for the end-user. And thanks to Project Odin and VirtualPC for OS/2, you can also run tons of Windows software (more than Wine will). Plus, lots of Linux apps have been ported to OS/2, like XFree86, Gimp, Apache, and so on. In fact, I think OS/2 now runs more apps than any other OS. Plus, it makes a great desktop OS with it's powerful and easy-to-use WorkPlace Shell user interface.

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
  13. Good ramdrive.sys replacement? get SRDISK.SYS by mfarah · · Score: 2

    I still use a MS-DOS partition for some stuff, and I still use the SRDISK ramdrive manager. It's WAY beyond ramdrive.sys (it lets you change the size of the drive on-the-fly!). I can't check it now, but it surely is still to be found in SIMTEL's MS-DOS section, or in garbo.uwasa.fi. Look for a file called sr*.zip in the ramdrive directory (my memory is a bit hazy right now).

    --
    "Trust me - I know what I'm doing."
    - Sledge Hammer
  14. Re:What about timer speeds? by Nullsmack · · Score: 2, Informative

    Actually, It was my understanding that a great number of games programmed for 486's or better had timing loops so it would adjust it's speed automatically, so it wouldn't do this.

    In fact, late 386 and I'm sure all 486 games were programmed in this way.. It's been used like that since then. That's the main reason why Half-life will run the same speed on a p233 as an AthlonXP 1800+ (No, I'm not talking about fps here, I'm talking about stuff that should be constant.. Like running speeds and reload speeds.)

    BTW, I won't even talk about the "speed cheat" that appeared back in Jan 2001.. That played with the timings of a cpu somehow to throw the timing calibration of HL out of whack. Plus it blew up quite a few cheaters' cpus (Best part >:P)