JuangaCovas.info

La página personal de Juan Gabriel Covas

Herramientas de usuario

Herramientas del sitio


windows:howtos:pcemu-page

Juanga's PCem Page (Old PC Emulator)

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.

Update 2021-07-23: 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

References:

Example of PCem booting an old PENTIUM-MMX at 233 Mhz and starting Windows 98:


How to Setup a virtual, old MS-DOS PC 486

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:

  • Get a hard drive attached (virtual, image file: you can create one from PCem itself).
  • Perform the BIOS setup
  • Install MS-DOS (or Windows 95/98). This video can help.

For the best Intel 486 PC you could get those days, I chose the following for my case:

  • Machine
    • Machine: [486] AMI 486 clone or [Socket 7] Shuttle HOT-557
    • CPU: Intel / i486DX2/66 or, if you chose [Socket 7], a Pentium MMX 233
    • [ ] Dynamic recompiler (not ticked, your choice: some say is a bit slower but better emulation)
    • Memory: 64 MB for MS-DOS, or 256 MB for Windows 98.
  • Graphics:
    • Device: S3 ViRGE/DX (for standard VGA and VESA SVGA with at least 1 MB of video memory)
    • Speed: Fast VLB/PCI
  • Sound: Sound Blaster 16 (defaults to settings A220, IRQ 7, DMA1, T6 which we'll set at AUTOEXEC.BAT)
  • Hard Drive tips
    • For MS-DOS/old CPU typical setup, the biggest hard drive allowed seems to be:
      504MB, sectors 63, Heads 16, Cylinder 1024
    • Another reference. For a HD of 2.1 GB: sectors 63, Heads 64, Cylinders 1023
    • Biggest Hard Drive (8 GB)for [Socket 7] Shuttle HOT-557, Cylinders 16383 (max), Sectors 63 and Heads 16.

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).

CONFIG.SYS

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.

CONFIG.SYS

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)

AUTOEXEC.BAT

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).

AUTOEXEC.BAT

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

3DMENU

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).

Final words

Hope this document can help some folks. Have a lot of fun!

~~DISCUSSION|Comentarios~~

windows/howtos/pcemu-page.txt · Última modificación: 28/05/2022 08:51 por Juanga Covas