PCem is a really cool emulator that is like VirtualBox or VMWare but allowing to bring back to life IBM PCs or Clone PCs (Personal Computers) at “hardware level”, like XT, 286, 386, 486, Pentium, etc. with
Sound Blaster and old CGA graphics, EGA, VGA or SVGA.
This is different from other programs like DosBox. You want to use PCem to really emulate hardware or if you have problems with some old software that need proper, more accurate emulation. In fact, with PCem you'll be emulating the hardware motherboard along with its BIOS: pretty cool.
Sadly, PCem is now abandoned, but 86box is a fork which now has better interface and features. (Thanks to gattilorenz on HackerNews)
Update 2022-05-28: PCem is back with a new mantainer
Example of PCem booting an old PENTIUM-MMX at 233 Mhz and starting Windows 98:
The usual process to prepare the Virtual PC under PCem to boot a typical MS-DOS 6.22 or Windows 9/98 old PC box is:
For the best Intel 486 PC you could get those days, I chose the following for my case:
A220, IRQ 7, DMA1, T6which we'll set at AUTOEXEC.BAT)
In case you want MS-DOS (my case), you'll have to get the drivers and configure CONFIG.SYS and AUTOEXEC.BAT to get the MOUSE and CD-ROM to work, among other nice tweaks (the following is NOT needed if you install Windows 98 SE, for example).
You can do this yourself with the following instructions or Download ZIP with those CD and MOUSE drivers for MS-DOS 6.22 and prepared CONFIG.SYS and AUTOEXEC.BAT
Setting mouse and CD-ROM require copying some files from the MSDOS 6.22 boot disk for example (mount the diskette by using the
Discs menu, then Change Drive A:)
For the Mouse Driver:
MD C:\MOUSEDRV CD C:\MOUSEDRV COPY A:MOUSE.* .
For the CD-ROM Driver:
MD C:\CDROMDRV CD C:\CDROMDRV COPY A:CD1.SYS .
The following configuration assumes you installed MSDOS to
C:\DOS and that also you copied the above files to their folders (MOUSEDRV and CDROMDRV).
Please also note that this config was gotten after doing “MEMMAKER” and other tweaks (like the BLASTER line for sound card).
We load HIMEM.SYS with parameter
/TESTMEM:OFF to skip the annoying extended memory test on boot.
The COUNTRY line is for SPAIN, drop it if you don't need it.
The LASTDRIVE line is to be able to use the SUBST command to map folders to drive letters.
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF DEVICE=C:\DOS\EMM386.EXE RAM BUFFERS=20,0 FILES=40 DOS=UMB LASTDRIVE=Z FCBS=4,0 DEVICEHIGH /L:1,12048 =C:\DOS\SETVER.EXE DEVICE=C:\CDROMDRV\CD1.SYS /D:MSCD001 DEVICEHIGH /L:1,31712 =C:\MOUSEDRV\MOUSE.SYS DOS=HIGH COUNTRY=034,,C:\DOS\COUNTRY.SYS DEVICE=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
The two “MODE CON” lines are for SPANISH codepage usage, drop it if you don't need it.
The KEYB SP line is to setup the SPANISH keyboard layout, drop it if you don't need it.
The SUBST line is just an example for using the SUBST command to map the G: drive letter to a “ANYFOLDER” folder in C: drive.
The BLASTER line allows install/setup programs to auto-detect the Sound Blaster 16 settings (as per PCem README file).
LH /L:0;1,45456 /S C:\DOS\SMARTDRV.EXE /X LH /L:1,27952 C:\DOS\MSCDEX.EXE /D:MSCD001 PROMPT $p$g PATH C:\DOS SET TEMP=C:\DOS MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI) >NUL MODE CON CODEPAGE SELECT=850 >NUL KEYB SP,,C:\DOS\KEYBOARD.SYS SET BLASTER=A220 I7 D1 T6 SUBST G: C:\ANYFOLDER
Once you have your Virtual PC for MS-DOS perhaps you want to prepare a nice “boot menu” for others to easily run some programs or games.
I investigated some oldie “menu makers” for DOS and this 3DMENU free boot menu maker was very nice to setup. As you would expect, putting “menu” as the last line of AUTOEXEC.BAT do the trick (read the included documentation).
Hope this document can help some folks. Have a lot of fun!