I've built the current master branch for x64 using visual studio 2012 on Windows 8, but unfortunately some problems remains.
To fix the locks errors the _WIN32_WINNT macro needs to be >= 0x0600 (Windows Vista or newer, see http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745.aspx for values);
I've also added the include to OpenALStream.cpp (mem_fun not found) and disabled portaudio (ksguid.lib not found).
Unfortunately, "VirtualAlloc" returns a pointer with a very high address (here the "Executable memory ended up above 2GB!" error); this can be fixed using the "/LARGEADDRESSAWARE:NO" linker option, but still some pointers are >2GB and it will lead to the "BackPatch : Currently only supporting reads." errors during emulation.
Also, the current x64 vs2010 build has the LARGEADDRESSAWARE option enabled, so I don't know if it's caused by a different behavior in the Windows SDK for Windows 8 or a misconfiguration in the project.
*** UPDATE ***
The problem seems related to the address space layout randomization enabled for Windows Vista and newer.
It needs to be disabled with the "/DYNAMICBASE:NO" linker option, while LARGEADDRESSAWARE needs to be left enabled.
All working fine now.
To fix the locks errors the _WIN32_WINNT macro needs to be >= 0x0600 (Windows Vista or newer, see http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745.aspx for values);
I've also added the include to OpenALStream.cpp (mem_fun not found) and disabled portaudio (ksguid.lib not found).
Unfortunately, "VirtualAlloc" returns a pointer with a very high address (here the "Executable memory ended up above 2GB!" error); this can be fixed using the "/LARGEADDRESSAWARE:NO" linker option, but still some pointers are >2GB and it will lead to the "BackPatch : Currently only supporting reads." errors during emulation.
Also, the current x64 vs2010 build has the LARGEADDRESSAWARE option enabled, so I don't know if it's caused by a different behavior in the Windows SDK for Windows 8 or a misconfiguration in the project.
*** UPDATE ***
The problem seems related to the address space layout randomization enabled for Windows Vista and newer.
It needs to be disabled with the "/DYNAMICBASE:NO" linker option, while LARGEADDRESSAWARE needs to be left enabled.
All working fine now.