Transport Tycoon Forums

The place to talk about Transport Tycoon
It is currently Sun Oct 22, 2017 1:36 pm

All times are UTC




Forum locked  This topic is locked, you cannot edit posts or make further replies.  [ 11 posts ] 
Author Message
 Post subject: TTDPatch on Win xp x64
PostPosted: Sun May 29, 2005 9:36 am 
Hi Josef,

just I wanted to test the TTDPatch on Win XP x64, but it crashes.
I adjusted the compatibility to windows 2000, XP and Win98, all the same - the game crashes every time :-(

Stan
--
Opera M2/8.01


Top
   
PostPosted: Sun May 29, 2005 2:24 pm 
On Sun, 29 May 2005 11:36:30 +0200, Stan Kondak wrote:

Quote:
Hi Josef,

just I wanted to test the TTDPatch on Win XP x64, but it crashes.
I adjusted the compatibility to windows 2000, XP and Win98, all the same - the game crashes every time :-(

At what point does it crash? Does it make a crash log?

--
Josef Drexler | http://jdrexler.com/home/
---------------------------------+---------------------------------------
Please help Conserve Gravity | Email address is *valid*.
Use tape&glue, no paperweights | Don't remove the "nospam" part.


Top
   
PostPosted: Sun May 29, 2005 2:29 pm 
Quote:
just I wanted to test the TTDPatch on Win XP x64, but it crashes.
I adjusted the compatibility to windows 2000, XP and Win98, all the same -
the game crashes every time :-(

I tested it and I think it worked. Or maybe that was OpenTTD, I can't
remember for sure... will test it again later. ;-)

--
Owen Rudge
http://www.owenrudge.net/


Top
   
PostPosted: Sun May 29, 2005 2:56 pm 
Josef Drexler wrote on Sun, 29 May 2005 16:24:04 +0200:

Quote:
On Sun, 29 May 2005 11:36:30 +0200, Stan Kondak wrote:
just I wanted to test the TTDPatch on Win XP x64, but it crashes.

At what point does it crash? Does it make a crash log?

It crashes just at the beginning. The CRASH000.TXT in attachment

Stan

--
Opera M2/8.01


Top
   
PostPosted: Sun May 29, 2005 3:00 pm 
Owen Rudge wrote on Sun, 29 May 2005 16:29:21 +0200:

Quote:
just I wanted to test the TTDPatch on Win XP x64, but it crashes.

I tested it and I think it worked. Or maybe that was OpenTTD, I can't remember for sure... will test it again later. ;-)

OpenTTD works very well on win x64 :-)

Stan

--
Opera M2/8.01


Top
   
PostPosted: Sun May 29, 2005 3:48 pm 
On Sun, 29 May 2005 16:56:18 +0200, Stan Kondak wrote:

Quote:
Josef Drexler wrote on Sun, 29 May 2005 16:24:04 +0200:

On Sun, 29 May 2005 11:36:30 +0200, Stan Kondak wrote:
just I wanted to test the TTDPatch on Win XP x64, but it crashes.

At what point does it crash? Does it make a crash log?

It crashes just at the beginning. The CRASH000.TXT in attachment

Ah, that's actually a crash in TTD. Somehow XP64 doesn't seem to allow
setting the FS segment register, or it fails in other ways. TTD needs
this to display its graphics, however.

That's not something I can fix. Someone who has XP64 might be able to,
though.

--
Josef Drexler | http://jdrexler.com/home/
---------------------------------+---------------------------------------
Please help Conserve Gravity | Email address is *valid*.
Walk with a light step. | Don't remove the "nospam" part.


Top
   
PostPosted: Sun May 29, 2005 5:23 pm 
On Sun, 29 May 2005 16:56:18 +0200, Stan Kondak wrote:

Quote:
It crashes just at the beginning. The CRASH000.TXT in attachment

One possible way to fix this should be to remove all FS prefixes in the
game, they aren't really needed.

If you are comfortable using a hex editor, you can open gamegfx.exe (make
a backup first!), find all occurences of "64 8A 04 18" and change the "64"
into "90" for all of them (everything in hex here).

Then delete ttdloadw.ovl to make sure these changes get imported there.
That should theoretically fix the problem.

--
Josef Drexler | http://jdrexler.com/home/
---------------------------------+---------------------------------------
Please help Conserve Gravity | Email address is *valid*.
Play Chess, not Basketball. | Don't remove the "nospam" part.


Top
   
PostPosted: Sun May 29, 2005 6:22 pm 
On Sun, 29 May 2005 13:22:25 -0400, I wrote:

Quote:
On Sun, 29 May 2005 16:56:18 +0200, Stan Kondak wrote:

It crashes just at the beginning. The CRASH000.TXT in attachment

If you are comfortable using a hex editor, you can open gamegfx.exe (make
a backup first!), find all occurences of "64 8A 04 18" and change the "64"
into "90" for all of them (everything in hex here).

By the way, if you aren't comfortable with a hex editor, let me know and I
can easily do this and send you the modified file. I could add this to
the patch too, but first I'd need to confirm that it actually works, so
I'd appreciate if you could be the guinea pig :)

--
Josef Drexler | http://jdrexler.com/home/
---------------------------------+---------------------------------------
Please help Conserve Gravity | Email address is *valid*.
Give up downhill skiing. | Don't remove the "nospam" part.


Top
   
PostPosted: Sun May 29, 2005 6:48 pm 
Josef Drexler wrote on Sun, 29 May 2005 19:23:02 +0200:

Quote:
If you are comfortable using a hex editor, you can open gamegfx.exe (make
a backup first!), find all occurences of "64 8A 04 18" and change the "64"
into "90" for all of them (everything in hex here).

done - 277 times replaced given String

Quote:
That should theoretically fix the problem.

The Game works now - thanks ;-)

Stan

--
Opera M2/8.01


Top
   
PostPosted: Mon May 30, 2005 2:21 pm 
Josef Drexler wrote:
Quote:
[...]
Ah, that's actually a crash in TTD. Somehow XP64 doesn't seem to allow
setting the FS segment register, or it fails in other ways.

As you may know, under Win32 the FS register points to a special segment
which contains a structure called Thread Information Block. This is
used, among others, for structured exception handling.

AFAIK when a 64-bit processor is running in the IA-32e compatibility
mode, the FS and GS registers are treated somewhat different to the
other segment registers. Might have something to do with the crash.
(Perhaps XP64 somehow protects the FS register to ensure that IA-32
programs don't mess it up.)
--
Marcin Grzegorczyk


Top
   
PostPosted: Mon May 30, 2005 10:43 pm 
On Mon, 30 May 2005 16:20:23 +0200, Marcin Grzegorczyk wrote:

Quote:
Josef Drexler wrote:
[...]
Ah, that's actually a crash in TTD. Somehow XP64 doesn't seem to allow
setting the FS segment register, or it fails in other ways.

As you may know, under Win32 the FS register points to a special segment
which contains a structure called Thread Information Block. This is
used, among others, for structured exception handling.

AFAIK when a 64-bit processor is running in the IA-32e compatibility
mode, the FS and GS registers are treated somewhat different to the
other segment registers. Might have something to do with the crash.
(Perhaps XP64 somehow protects the FS register to ensure that IA-32
programs don't mess it up.)

It's either that, or it doesn't restore it properly after a mode switch
from 64 bit mode. Perhaps it always restores it to the TIB instead of the
value it had before.

Either way, just removing all FS prefix instructions fixed the problem, so
I've integrated that into alpha 51 (as part of the win2k switch).

--
Josef Drexler | http://jdrexler.com/home/
---------------------------------+---------------------------------------
Please help Conserve Gravity | Email address is *valid*.
Give up downhill skiing. | Don't remove the "nospam" part.


Top
   
Display posts from previous:  Sort by  
Forum locked  This topic is locked, you cannot edit posts or make further replies.  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000-2017 phpBB Limited

Copyright © Owen Rudge/The Transport Tycoon Forums 2001-2017.
Hosted by Zernebok Hosting.