The issue is that the games code wants to use some functions that the old Operating System provided, but a new one doesn’t.
You could make it work by changing the code of the game completely, but especially for older games that’s not necessarily easy (and often illegal) and simply booting up a virtual old OS running inside the new OS (the emulator) is just easier.
Latest Answers