[PCem] Diablo II in PCem Mini-Guide


New member
Jan 6, 2022
Version 1.0.

Why Diablo II in PCem?

We have Diablo II: Resurrected which looks beautiful but isn’t a completely faithful remaster and patch 2.4 will start to change the balance compared to
the game we know and love from patch 1.10+.

Patch 1.14 updated the game for modern systems but in doing so moved to Direct3D being the prefered renderer, instead of Glide. Prior to patch 1.14
many players used Glide wrappers as they no longer had Voodoo cards. EAX support was never changed so you still have to use a Direct Sound wrapper.

Virtual Machines allow us to run old software on our modern systems but the hardware they emulate tends to be limited and not aimed at gaming.

In steps PCem; why not emulate a system that was perfect for Diablo II back in its hay day? The goal here is to use a Voodoo for Glide support and a Sound Blaster for 3D sound and environmental effects.

We will bump back down to patch 1.13d as that is the last patch before the 1.14 series started to change things for modern hardware. The 1.14 series
didn’t effect the game balance at all so this is perfect.

Building PCem

On Linux building PCem is quite straight forward if you have compiled a few things before and take note of the requirements in the PCem readme. For
Ubuntu there is a build guide.

For Windows there is a build guide on the PCem forum.

Configuration and files are stored in ~/.pcem. If you run PCem it’ll create the directory structure.

Diablo II Minimum Requirements

Pentium 233
DirectX 6.1
Windows 95 and up

So this is the bare minium we will try and emulate to get the game running smoothly. This may seem very low, but we are emulating hardware we don’t actually have, which takes a lot of CPU power.

My Specs

Intel i5-4690k @ 4.4GHz
Intel HD Graphics 4600
Steelseries Arctis 7 Headphones
Void Linux

The main bottle neck for PCem is CPU power. A dedicated graphics card would help take some pressure off the CPU, a basic one would do. The goal is to run with Emulation Speed not dropping below 100% too much. You can track this by selecting \"Machine\" in the mouse menu. On Linux to release the mouse button you press the middle mouse button, Ctrl-End didn’t work for me. Then you can right click the window to bring up the menu.

If the Emulation Speed is dropping below 100% the main thing that will help is dropping down to a slower speed CPU. If the Emulation Speed drops regularly you will have sound and video glitches. If the Emulation Speed is 100% then it is a perfect emulation: any video or loading lag is being emulated!

Emulated Specs

These are the specs I am able to run Diablo II without the Emulation Speed dropping under 100% very often. The game does feel laggy as we haven’t met the minimum requirements but it is playable!

[Socket 7] Epox P55-VA
- Supports enough RAM and CPUs for Diablo II. Runs Windows 98 SE and Windows 2000 without additional drivers.

Pentium OverDrive MMX 150/160
- The bottle neck for PCem. My PC can handle up to about 166 Hz and this CPU should give the most bang for the buck.

128 MB RAM
- We always want more but this is enough.

3DFX Voodoo Banshee (reference)
- Keeping it simple by using a Voodoo that accelerates both 2D and 3D, required for Glide graphics. FalconFly 3dfx Archive is an excellent resorce for Voodoo drivers.

Sound Blaster PCI 128
- First Sound Blaster with EAX support, required for 3D sound and environmental effects. You can still download the driver from Creative’s website.

Other specs:
Standard IDE
6GB Hard Drive
PCemCD @ 72X
Microsoft Intellimouse (PS/2)

Windows 98 SE
- Dropping down to Windows 95 may help performance but I haven’t tested that.

Better Specs

These are the specs I would aim for, if I had a more powerful PC, and should run Diablo II smoothly.

[Slot 1] Gigabyte GA-686BX
- Supports Pentium II which is apparently emulated better than regular Pentium. Runs Windows 2000 without additional drivers.

Pentium II/233
- Meets the Diablo II Minium Requirements. Of course, go higher if your PC can handle it.

512 MB RAM
- More is always better.

3DFX Voodoo Banshee (reference)
- Should be plenty powerful for Diablo II.

Sound Blaster PCI 128
- PCem doesn’t emulate any newer Creative cards yet.

Other specs:
Standard IDE
6GB Hard Drive
PCemCD @ 72X
Microsoft Intellimouse (PS/2)

Windows 2000
- Shouldn’t hurt performance much and will be more stable than Windows 9x as it’s based on Windows NT.

Other Settings

I didn’t find changing other settings helped with the Emulation Speed much. Changing Render settings from the default made things worse on my system.

The Future

I hope to ugrade my PC so that I can play Diablo II as it was in it’s hay day. I thought I’d put this basic guide up to show it is perfectly possible to emulate Diablo II in PCem. I may add tips on installing Windows and the game. A comparison between PCem and Wine version of Diablo II would show what the benefits of PCem are. For now I’m heading back to the nearest hedge for a sleep :p.
This is awesome. I never heard of this project but very interesting concept, applying emulation in this way. Could you post some screenshots of D2 running in there and also screenshots of the Sound and Video Options?
3D Sound and Environmental Effects on! For some reason the Music is always muted when I start the game but works once I move the slider up.
View attachment 2

Video Options, Perspective on! After this I moved the Contrast slider to the middle as the colours were washed out. 800x600 works as well but I’m choosing to use 640x460 as you can scale it x2 and it fits on a 1080p monitor.
View attachment 1

Killing Corpsefire. You can see the frame rate has dropped and I believe Skip would ideally be zero, I need to emulate that faster CPU!
Nice! That’s pretty cool :). Thanks for posting those screenshots!
Drops screenshots? Why not!

I almost immediately got a nice bow, nice for when I run out of mana.

View attachment 1

Nice staff dropped shortly after the bow! I’m using Charged Bolt as I can respec later and it has free Frozen Armor too. I had to wait on taking the screenshot as I couldn’t afford an Identify Scroll :p.

Haha nice. The game always seems to drop good stuff when you least expect it or when you are not even trying to play seriously. Like imagine you are like \"I’m just trying to see if the game runs in this virtual machine..\", you walk outside, kill one monster, and then a Zod drops. Wth do you do in that situation? Throw it out cause you weren’t seriously playing and it’s probably a test character anyways lol. Little do you know it will take you another 3-5 years before your next Zod haha.

What version you playing in that emulation environment? 1.13d or 1.14d?
I tried 1.14d in Windows 2000 and it didn’t work, so the changes in the 1.14 series probably assume Windows XP and up. The screenshots are from 1.13d running on Windows 98 SE.
[mention]hedgesparrow[/mention] That’s correct. 1.14 made the game incompatible with Windows XP (and Vista) as part of their changes. I was able to find the original url for the Blizzard post but I wasn’t able to find it in the wayback machine nor Google cached pages. I do remember reading the post back in the day though and I do remember it mentioning this. Also other posts around the internet that reference the link also state the same:

original link (not working):