diff --git a/TitanEngineEmulator/Global.Engine.Context.cpp b/TitanEngineEmulator/Global.Engine.Context.cpp index bde4489..a3056ad 100644 --- a/TitanEngineEmulator/Global.Engine.Context.cpp +++ b/TitanEngineEmulator/Global.Engine.Context.cpp @@ -342,7 +342,11 @@ bool _SetFullContextDataEx(HANDLE hActiveThread, TITAN_ENGINE_CONTEXT_t* titcont DBGContext.FloatSave.ErrorOffset = titcontext->x87fpu.ErrorOffset; DBGContext.FloatSave.DataSelector = titcontext->x87fpu.DataSelector; DBGContext.FloatSave.DataOffset = titcontext->x87fpu.DataOffset; +#ifdef NTDDI_WIN8 + DBGContext.FloatSave.Spare0 = titcontext->x87fpu.Cr0NpxState; +#else DBGContext.FloatSave.Cr0NpxState = titcontext->x87fpu.Cr0NpxState; +#endif memcpy(DBGContext.FloatSave.RegisterArea, titcontext->RegisterArea, 80); @@ -440,7 +444,11 @@ bool _GetFullContextDataEx(HANDLE hActiveThread, TITAN_ENGINE_CONTEXT_t* titcont titcontext->x87fpu.ErrorOffset = DBGContext.FloatSave.ErrorOffset; titcontext->x87fpu.DataSelector = DBGContext.FloatSave.DataSelector; titcontext->x87fpu.DataOffset = DBGContext.FloatSave.DataOffset; +#ifdef NTDDI_WIN8 + titcontext->x87fpu.Cr0NpxState = DBGContext.FloatSave.Spare0; +#else titcontext->x87fpu.Cr0NpxState = DBGContext.FloatSave.Cr0NpxState; +#endif memcpy(titcontext->RegisterArea, DBGContext.FloatSave.RegisterArea, 80);