Syllopsium ([info]syllopsium) wrote,
@ 2008-03-28 00:00:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:exult, vista, windbg, x64

More exult, palm, Vista...
All went quiet on my journal about exult porting to PalmOS, but that doesn't mean I've been entirely idle. I have, however, been less than single minded on it because frankly I'm going through the bits of stuff I don't want to do. There seems to be a tidier house, some more food, some happier kittens, less books to read and I've at least *looked* at the source code each night.

As mentioned, the shittiness of Palm memory management means that even a Zodiac 2 (an 128MB memory device with 2 SD cards) has only 10MB heap, so I decided to have a quick look at optimising the memory.

Suffice it to say I have spent far too long farting around with compilers, libraries and debuggers. Tonight, I have managed to compile exult. Of course it dies on startup..

Anyway, useful information to remind me and others is

Visual C++ 2008 is out (has been for a bit) and works properly in Vista x64 without whinging about admin privileges. There are 64 bit versions of SQL Server Express.

The latest platform SDK contains both 32 and 64 bit compilers.

The platform SDK contains most things, but not DirectX. That's another 448MB download.. (Not really unexpected; things like the Exchange SDK are separate too. At least everything is free.)

SDLMain.lib is broken in Visual C++ 2008, and probably other versions (2005) too, due to a dependency on fprintf/other file i/o functions and linking problems with msvcrt etc. I can't be arsed to fix it and used the horrid workaround of just sticking the win32_sdl_main.c direct into exult. I could compile in MingW, but I suspect the compiler is VC++ is more optimised.

Remember that there are *two* registries under Windows 64 bit. The 32 bit registry is branched off KEY_LOCAL_MACHINE\Software\Wow6432Node, KEY_WOW64_64KEY allows 32 bit code to write to the 64 bit registry. This explained why editing Aedebug and/or 'Image File Execution Options' was doing precisely bugger all (I was compiling exult 32 bit under 64 bit Windows).

WinDBG -IS on the windows debugger will install it as a postmortem debugger. Of course a) you'll need to edit the properties to insist on admin privileges when run under Vista as otherwise it won't have permission to stick values in the registry and b) If you run the 64 bit debugger under 64 bit Vista it'll stick the values under Aedebug on the 64 bit registry, and thus you'll have to manually fix it for 32 bit apps.

The symbol path should be SRV*<local path>*http://msdl.microsoft.com/download/symbols



Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…