It actually recommends to do this.For compatibility with operating systems that do not support this function, call GetProcAddress to detect whether IsWow64Process is implemented in Kernel32.dll. If GetProcAddress succeeds, it is safe to call this function. Otherwise, WOW64 is not present. Note that this technique is not a reliable way to detect whether the operating system is a 64-bit version of Windows because the Kernel32.dll in current versions of 32-bit Windows also contains this function.
bool wxIsPlatform64Bit()
{
#if defined(_WIN64)
return true; // 64-bit programs run only on Win64
#else // Win32
// 32-bit programs run on both 32-bit and 64-bit Windows so check
typedef BOOL (WINAPI *IsWow64Process_t)(HANDLE, BOOL *);
wxDynamicLibrary dllKernel32(_T("kernel32.dll"));
IsWow64Process_t pfnIsWow64Process =
(IsWow64Process_t)dllKernel32.RawGetSymbol(_T("IsWow64Process"));
BOOL wow64 = FALSE;
if ( pfnIsWow64Process )
{
pfnIsWow64Process(::GetCurrentProcess(), &wow64);
}
//else: running under a system without Win64 support
return wow64 != FALSE;
#endif // Win64/Win32
}
BOOL wxIsPlatform64Bit()
{
#if defined(_WIN64)
return true; // 64-bit programs run only on Win64
#else // Win32
typedef BOOL (WINAPI *IsWow64Process_t)(HANDLE, BOOL *);
LPFN_ISWOW64PROCESS pfnIsWow64Process;
BOOL wow64 = FALSE;
pfnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress(GetModuleHandle(TEXT("kernel32")),"IsWow64Process");
if (NULL != fnIsWow64Process)
{
if (!pfnIsWow64Process(GetCurrentProcess(),&wow64))
{
// handle error
}
}
return wow64;
#endif // Win64/Win32
}
They don't have that much time, and a simple change like that is also necessary because the current method is actually advised against by Microsoft.I've uploaded revision 2740, you may download them from here as usual.
I've uploaded x86, x64, and x86 JITIL builds.
On topic:
Dolphin likely utilizes features not present in older operating systems, even if you did replace that code with the new code, there is likely other things that will prevent Dolphin from running or running properly.
Dolphin requires both the latest DirectX redistributable and Visual C++ Redistributable. Dolphin also requires a minimum of 1 GB of ram and likely utilizes other libraries and os functions not present on anything older than XP.
Also Windows 98 and possibly 2k can't utilize dual core processors, which Dolphin uses to increase performance and speed in many games, so only one core will be usable from the start.
There's also other libraries involved for things like the Wiimote, OpenGL among other things that aren't available on anything older than Windows XP.
Also the 5GB file limit of Windows 98/2k kills the possibility of any dual layer Wii games.
There may be more than that, a Dolphin developer could probably provide more insight as to why Dolphin isn't usable on anything below Windows XP..
K, downloading it right away from your signature and see if it's broken or not.Those of you with ATI cards:
Please check out r3145 or later, a new version of NVidia CG has been implemented that may break shaders with ATI cards.