Well, I can tell you my usual MS-DOS setup--and this is replicated many
times in the hardware that I have.
I first install Win98SE or ME (with command-line shutdown patch). This
gives me an MS-DOS 7.1 base and FAT32 support. I modify the MSDOS.SYS
file to boot into "plain DOS" mode, rather than GUI mode--I can get to
the Windows GUI with the "WIN" command. I also install DOSLFN to give
me long-filename support in non-GUI mode.
Next, I install Japheth's HXDOS DPMI server with Win32 support. This
allows me to run later compilers and assemblers that require a WIN32
API. It also lets me compile and run console WIN32 programs.
If it's a later system with more than a GB of memory, I'll install the
Win98 "unofficial service Pack 2" and dedicate a large part of the extra
memory to a RAMDisk and assign it as the temporary drive for Windows.
That gives me a system that runs MS-DOS programs, allows for
unobstructed access to low-level system facilities (e.g. I/O ports) and
gives me the option of running Windows if I need to.
If the machine can run them, I'll also install Windows XP and Linux or
BSD in multiboot mode.
On larger, later systems, where I don't need direct hardware access,
I'll run both VirtualBox and DOSEMU and WINE under Linux, which allows
me to run pretty much whatever I want.
That's a setup that I use nearly every day--and have been for years to
do real, productive work.
I am not interested in running vintage games.
--Chuck