Regression in "Star wars: The Phantom Menace"

Rein Klazes wijn at wanadoo.nl
Tue Feb 8 11:31:26 CST 2005


On Sat, 5 Feb 2005 19:14:40 +0100, you wrote:

> 
> Hello,
> 
> The patch:
> http://www.winehq.org/hypermail/wine-cvs/2005/01/0612.html
> 
> Log message:
> 	Rein Klazes <wijn at wanadoo.nl>
> 	Get rid of the rdtsc cpu instruction method for calculation of the
> 	performance counter. Put the calculation (based on gettimeofday) in
> 	NtQueryPerformanceCounter() and use that in the kernel functions.
> 
> Causes regression in the game "Star Wars: The Phantom Menace".
> The game was playable before of the patch, now it is freezes
> in the 3th title screen.

Sorry to hear that. Unfortunately the patch fixes a real problem, I
think simply reverting it is not a good option and finding out why your
program does not like this change is preferred.

It was already noted that some programs are expecting the frequency to
be about what Windows gives them. Does your program still freeze with
the attached patch ?

Rein.
-------------- next part --------------
--- wine/dlls/ntdll/nt.c	2005-01-28 17:09:51.000000000 +0100
+++ mywine/dlls/ntdll/nt.c	2005-02-08 17:05:32.000000000 +0100
@@ -477,8 +477,8 @@ NTSTATUS WINAPI NtQueryPerformanceCounte
 {
     LARGE_INTEGER time;
     NtQuerySystemTime( &time );
-    Counter->QuadPart = time.QuadPart;
-    Frequency->QuadPart = 10000000;
+    Counter->QuadPart = time.QuadPart / 10;
+    Frequency->QuadPart = 1193182;
     return 0;
 }
 


More information about the wine-devel mailing list