I'm so sucking and low player that actually for past fifteen (!) years I've been playing in actually four games: Diablo I, Diablo II, Civilisation and Transport Tycoon. The first two caught my heart so deeply that I even try to run them (Diablo I!) on Windows 7. And... I actually managed to do this.
Since, this involved a lot of googling and asking, here is a summary of my findings.
Get an archive that the original Diablo game, patched to 1.09 version and cracked, so it doesn't require CD. Simply unzip and run.
Game is very old (1996) and on most new Windows systems, it will run with some ugly, pissing-off white pixels all around your screen. Go to
diablo.exe (or shortcut) properties, to
Compatibillity page and check all checkboxes found there. Set first combo box to run Diablo in compatibility to
Windows 95. This should solve the problem on most systems.
If your graphic become jerky, while playing, simply restart the game. You can do this even in multiplayer, even if you're hosting the game. Your friends, that are joining your server won't be kicked-off. The only problem is that you start back in Tristram, so you have to either use a Town Portal or travel hell long way.
Game is equipped with IPXWrapper files required to run Diablo in multiplayer on local network. Without these files you're be kicked-off from Multiplayer menu with some strange error message.
Get an archive that contains game patched and cracked, so you can just unzip it and run. No CD, no nothing is required. It's ripped out of everything is not necessary (to reduce game size) and has some other technical issues, so except some ugly error message once you exit the game. But it should never interrupt the play itself.
You must have a version that has patched
d2gfx.dll file, so you're able to run more than one copy of the game in the same time (graphics fix, items exchange, cheating etc.).
Game is old (2001). On most new Windows (Vista, 7, 8) systems you'll have to run it in compatibility mode. Go to
Diablo II.exe (or shortcut) properties, to
Compatibility page and check all checkboxes found there. Set first combo box to run Diablo in compatibility to
Windows 95. This should solve the problem.
If you're tired with changed color sets, flickering, resolution reduction, when starting the game, you may try to uncheck some of these checkboxes or rise compatibility mode to
Windows XP SP3. Just check-out yourself, by changing compatibility mode configuration until your game won't startup again!
This will tell you that you have ran too far... :)
When you set compatibility mode correctly, game will run without problems. But when you accidentally switch to Windows (Alt + Tab) or minimize the game (Windows + M), after returning you'll see an ugly, jerky, pissing-off white pixels all around your screen. Exiting and restarting the game should fix the problem.
Important notice for multiplayer! Hosting game does not work as in Diablo I anymore! Once host quits the game, all other players are also kicked-off. So, if you're hosting the game, you can't restart game each time, you get perky graphic.
Some solution is to run two copies of Diablo II in the same time. First is used as fake game host and you never exit that game (until gameplay is over). You also don't care, if it has white pixels and other shit around graphic, right. Once that fake host is run and starts hosting the game, you push Windows + M to minimize it, and you start second copy of Diablo II, in which you select your real character (the one you wish to play) and join that fake host game as all your friends do (you enter your own IP address in join-game dialog).
As in Diablo I, the only problem is that you start back in home place, so you have to either use a Town Portal / waypoint or travel hell long way.