Threading : Use InitXboxThread for CxbxKrnlInterruptThread too
This commit is contained in:
parent
f955721cbb
commit
e62a54bf6a
|
@ -372,10 +372,8 @@ void PrintCurrentConfigurationLog() {
|
||||||
|
|
||||||
static unsigned int WINAPI CxbxKrnlInterruptThread(PVOID param)
|
static unsigned int WINAPI CxbxKrnlInterruptThread(PVOID param)
|
||||||
{
|
{
|
||||||
EmuGenerateFS(CxbxKrnl_TLS, CxbxKrnl_TLSData);
|
// Make sure Xbox1 code runs on one core :
|
||||||
|
InitXboxThread(g_CPUXbox);
|
||||||
_controlfp(_PC_53, _MCW_PC); // Set Precision control to 53 bits (verified setting)
|
|
||||||
_controlfp(_RC_NEAR, _MCW_RC); // Set Rounding control to near (unsure about this)
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
for (int i = 0; i < MAX_BUS_INTERRUPT_LEVEL; i++) {
|
for (int i = 0; i < MAX_BUS_INTERRUPT_LEVEL; i++) {
|
||||||
|
@ -909,8 +907,6 @@ void CxbxKrnlInit
|
||||||
// Create the interrupt processing thread
|
// Create the interrupt processing thread
|
||||||
DWORD dwThreadId;
|
DWORD dwThreadId;
|
||||||
HANDLE hThread = (HANDLE)_beginthreadex(NULL, NULL, CxbxKrnlInterruptThread, NULL, NULL, (uint*)&dwThreadId);
|
HANDLE hThread = (HANDLE)_beginthreadex(NULL, NULL, CxbxKrnlInterruptThread, NULL, NULL, (uint*)&dwThreadId);
|
||||||
// Make sure Xbox1 code runs on one core :
|
|
||||||
SetThreadAffinityMask(hThread, g_CPUXbox);
|
|
||||||
DbgPrintf("EmuMain: Initial thread starting.\n");
|
DbgPrintf("EmuMain: Initial thread starting.\n");
|
||||||
CxbxLaunchXbe(Entry);
|
CxbxLaunchXbe(Entry);
|
||||||
DbgPrintf("EmuMain: Initial thread ended.\n");
|
DbgPrintf("EmuMain: Initial thread ended.\n");
|
||||||
|
|
Loading…
Reference in New Issue