Diablo is something of a classic and it lives on thanks to the public domain game engine DevilutionX. Originally itself based on Devilution, a reconstruction of the source code used for the original Diablo.
DevilutionX continues taking it a step or two further, ensuring it works smoothly on modern operating systems with new and enhanced features to improve it. The legality around it is a little murky but so far Blizzard don't seem to be bothered. You still need to buy it, as it doesn't include any of the media/data files. You can buy a copy of the classic for that over on the DRM-free store GOG.com.
Curiously, DevilutionX had multiple new releases put out on the same day with 1.0.2+1.0.3 and then a bigger 1.1.0 release. Some of the main new features include:
- Proper widescreen (and other aspects) support
- Select difficulty in single player (remembered in the save game)
- Adjustable game speed in-game
- V-sync can now be disabled in the ini
- Better line drawing function used for the automap
- Support for loading custom Hell level maps
- Make all objects and monsters available to custom maps
- Added support for joining a game via hostname instead of IP
They also solved numerous bugs, some of which were present in the original game.
See more on the GitHub page.