MS-DOSIn spite of everything, your best bet is still to run the games on contemporary hardware equipped with MS-DOS. Depending on the age of the game, a 286, 386 or 486 class PC will do fine. MS-DOS with its rudimentary command line will be a major hurdle for most. Especially memory management can become a nightmare which is why configuration is explained in detail on its own page.
Slowing DownEven in MS-DOS, the most common problem will be your computer simply being too fast for the game you're trying to run. Either everything will be so fast it's unplayable or the game won't even run at all ('Runtime Error 200' is the typical result).
Apart from buying another (slower) computer, the solution is to use so-called slowdown applications. Those are programs which run in the background and do nothing but 'waste' CPU time so that the actual application (game) only gets less cycles and thus runs slower. Mo'Slo is the most prominent example, and it is even still updated for all kinds of recent systems.
moslo /10 c:\games\x\x.exe...runs the executable C:\GAMES\X\X.EXE at 10% of normal speed. For more information, just run moslo without any parameters or visit the official website at http://moslo.info.
EmulatorsIf you don't want to go through the effort of having a second computer, you'll need an emulator sooner or later as slowing down can not solve the problem of the missing operating system and MS-DOS is unlikely to run decently on your current hardware (unless you're still running a serial mouse, keyboard and so on... which you aren't).
DosboxDosbox is an emulator specifically made to run games, making it the obvious choice for most cases. Their website also includes a huge compatibility database.
We can only offer a brief usage guide as the specifics depend on your own system, the emulator version used, and last but not least, many people use one of the many 'frontends' to configure it. In general, though, after running the emulator, you get a command line reminiscient of MS-DOS. Here, you'll need to mount a directory of your real system in order to access it from within the emulator. For example
mount c c:\games\or
mount c /home/user/games/respectively mount the path C:\GAMES\ (on MS-Windows systems) or /home/user/games/ (on Unix-ish systems) as virtual drive C: within the emulator. Using a CD-ROM is similar, just append the -t cdrom switch to the command:
mount d d: -t cdrom
mount d /media/cdrom -t cdrommaps the real drive D: (Windows) or the real mount point /media/cdrom (Unix) to virtual drive D:. Of course, if you plan to use the emulator regularly, you should automate your mount commands by putting them into the [autoexec] section of your configuration file.
Once everything is mounted the way you require, switch to the game directory and run the game. For example:
Z:\>C: C:\>cd game C:\GAME>game...if your game is in the directory GAME and the executable is called GAME.BAT, GAME.EXE or GAME.COM. If you're unsure about the directory or the name of the executable, use the 'dir' command to see the contents of the current location ('dir /w' prints it in a more readable fashion).
To slow your game down or speed it up, use Ctrl+F11 and Ctrl+F12 respectively. Obviously, the upper limit is the capabilities of your host hardware. Keep in mind that even a 1+ GHz CPU will struggle emulating a 100 MHz CPU, so don't expect wonders.
Of course, a lot more can be configured, but it all depends on your own specific needs and the specific game. A good overview of what's possible can be found in the Dosbox Wiki.
DOSEMUOf course, it's also possible to run a full-blown general purpose x86 emulator. DOSEMU is one of those which is in turn based on Bochs, but specialized on the purpose of running MS-DOS and MS-DOS applications.
DOSEMU just emulates the hardware, though, so to actually use it, you have to install an operating system within the emulator. If you own a copy, you can install the original MS-DOS, otherwise, there is FreeDOS which is an excellent free replacement.
Once you got so far, the environment within DOSEMU behaves completely like a virtual computer, so you have to treat it as you would a real machine. All the hints above refering to the use of real hardware apply here as well.