I'm not much of a coder, but I believe I can provide an answer.
It's not just emulating the x86 processor. You see, DOS games run on a number of other things. You have the BIOS, you have DOS, you have soundblaster drivers, joystick drivers etc. All of this needs to be coded in also. For various reason this takes a lot more effort than a console emulator.
There are sources. Most are large and complex. Porting is not a trivial task, especially if they feature ASM (but I don't think many do). It could be done, but I mean we're talking 90/100 or so. I wouldn't want to be doing it.