One processor emulating another procesor is slow.
Wine dosn't emulate a CPU, it loads the program into memory and the CPU is left to execute it as it normally would.
Think about it, how could this slow things down?
The processor is executing it at it's normal clock rate!
I never mentioned any MS code here!
When the program calls a Windows system routine, Wine just executes it's UNIX equivalent.
How would this slow things down?
The code in the UNIX system call is executing at the normal CPU clock rate!
I never mentioned any MS code here!
If the direct UNIX equivalent dosn't exist Wine calls a DLL written by it's developers that performs the same function.
How would this slow things down?
The code in the DLL is executing at the normal CPU clock rate!
I never mentioned any MS code here!
If you have Windows on your hard disk Wine can use native Windows DLLs.
How would this slow things down?
The code in the DLL is executing at the normal CPU clock rate!
This is all legal since you have licence to use the Windows code on your hard disk.
Wine does
not emulate a CPU, it does
API emulation, there's a
very BIG differance.Think about it.
You're trying to tell me that
DOSEMU is an emulator but Wine isn't!
What does Wine do?
It emulates the Windows API.
You already know how it does it.
I've already said how it works.
What does DOSEMU do?
It emulates DOS API.
How?
To put it simply, by hooking all the DOS interupts and providing DOS driver wrappers for UNIX drivers. DOS programs mostly make system calls via the 21h interupt vector, DOSEMU just hooks this and calls the UNIX equivalents.
I've seen some programs running faster under DOSEMU than they do under native MS-DOS, so it can't be a CPU emulator.
So by your definition DOSEMU isn't an emulator.
They haven't stolen any code, and they don't use the entire FreeDOS code base so by your reasoning it can't be an emulator.