SDL 1.2.9 + WindowsXP 64 compiling in 64bits mode

Hello all,

I have compiled SDL 1.2.9 with Visual Studio 2005 in 64bits mode (after a minor changes on the source code due to missing defines) but when I try to run a little example, I get this error:

Unable to init SDL: DirectInputDevice::SetDataFormat: Invalid parameters

My question is, is SDL fully compatible with 64bits in WindowsXP 64? Anyone knows this error and how to fix it? I would like to compile all my lib in 64bits, I know that I will not get much better performance(maybe a few percent points more) but I want to try it.

I looked for information about 64bits with SDL, on Linux and on Windows and I didnt find anything. Any links, forum, or whatever, will be welcomed.

Thanks in advance!

Cheers

I looked for information about 64bits with SDL, on Linux and on Windows
and I didnt find anything. Any links, forum, or whatever, will be welcomed.

Use the windib target.

I’m seriously considering killing the DirectX code…it’s causing tons
of problems on newer Windows installations.

–ryan.

Thanks for your reply Ryan.

So that problem is already known… well, this weekend I will try to fix it (if it is possible). Right now, I will use windib instead directx code.

My target is to use glSDL so directx code is not important for me, my question is…what happened with the events control? If I use windib…who manages the events?

With the on coming Windows Vista I can see that we will have a lot of problems… maybe we will need to add a new backend for it as is quite possible that they do not support old directx… we will see.

On the other hand…Any web/docs/forums with 64bits information?

Cheers–

Roberto Prieto
MegaStorm Systems ©
http://www.megastormsystems.com

---- “Ryan C. Gordon” escribi?:

I looked for information about 64bits with SDL, on Linux and on Windows
and I didnt find anything. Any links, forum, or whatever, will be welcomed.

Use the windib target.

I’m seriously considering killing the DirectX code…it’s causing tons
of problems on newer Windows installations.

–ryan.


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

My target is to use glSDL so directx code is not important for me, my question is…what happened with the events control? If I use windib…who manages the events?

WinDib does…I might be misunderstanding your question. In the DirectX
code, it uses DirectInput to get mouse and keyboard events; in the
WinDib code, it uses standard Win32/Win64 event loop, which won’t be
going away, or every existing Windows program would break. :slight_smile:

I don’t know where glSDL gets its events from, but if it’s built on the
existing platform code (windib/glx/etc), you should be fine.

On the other hand…Any web/docs/forums with 64bits information?

I’m not aware of one…usually you have to shuffle through Powerpoint
presentations from various AMD and Microsoft events if you want Win64
development tips…anyone know any good resources for this?

–ryan.

[…]

I don’t know where glSDL gets its events from, but if it’s built on
the existing platform code (windib/glx/etc), you should be fine.

glSDL basically piggy-backs onto the old SDL OpenGL backend and leaves
event handling alone - so when using glSDL, you end up using whatever
SDL uses with OpenGL on your platform.

//David Olofson - Programmer, Composer, Open Source Advocate

.- Audiality -----------------------------------------------.
| Free/Open Source audio engine for games and multimedia. |
| MIDI, modular synthesis, real time effects, scripting,… |
`-----------------------------------> http://audiality.org -’
http://olofson.nethttp://www.reologica.se —On Monday 12 December 2005 10.19, Ryan C. Gordon wrote:

glSDL basically piggy-backs onto the old SDL OpenGL backend and leaves
event handling alone - so when using glSDL, you end up using whatever
SDL uses with OpenGL on your platform.

Ok, that should be fine with windib, then.

Thanks,
–ryan.

Hi,

I saw last weekend what you said to me(windib uses standard events of win32/win64).

Also, I was testing directx backend on win64 and I tried to fix the dinput initialization error but I could not do it, the problem is on somewhere between dinput (version 5.0) and win64, so, finally, I discarded directx backend on Win64 to use windib. Right now, I will test glSDL…hope this works fine! :slight_smile:

I now what you mean…there is not too much Win64+64bits programming information out there… I have downloaded a lot of AMD documents and some tips but they are very old. If I can, I will include in my web all problems that I found porting my library to 64bits code and compiling SDL,SMPEG,SDL_net,SDL_mixer,UCL and TinyXML and how to fix them. I have to say that these libraries are well done and dont need more than a couple of changes(lucky!).

Ryan, if you (and the SDL community) is interested on it, I could send you the SDL binary compiled for Win64 on 64bits native code.

Thanks a lot for you replies :slight_smile:

cheers–

Roberto Prieto
MegaStorm Systems ©
http://www.megastormsystems.com

---- “Ryan C. Gordon” escribi?:

My target is to use glSDL so directx code is not important for me, my question is…what happened with the events control? If I use windib…who manages the events?

WinDib does…I might be misunderstanding your question. In the DirectX
code, it uses DirectInput to get mouse and keyboard events; in the
WinDib code, it uses standard Win32/Win64 event loop, which won’t be
going away, or every existing Windows program would break. :slight_smile:

I don’t know where glSDL gets its events from, but if it’s built on the
existing platform code (windib/glx/etc), you should be fine.

On the other hand…Any web/docs/forums with 64bits information?

I’m not aware of one…usually you have to shuffle through Powerpoint
presentations from various AMD and Microsoft events if you want Win64
development tips…anyone know any good resources for this?

–ryan.


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

thanks David,

as soon as I can, I will compile SDL with glSDL support to see its behaviour and performance running as 64bits code on a full 64bits environment.
My preliminar testing show me that memcpy() function have been improved in new Visual Studio 2005 much better than any previous MMX/SSE optimization so it should impact when people will use software backend.

I will inform all of you. Thanks a lot!
Cheers–

Roberto Prieto
MegaStorm Systems ©
http://www.megastormsystems.com

---- David Olofson escribi?:

On Monday 12 December 2005 10.19, Ryan C. Gordon wrote:
[…]

I don’t know where glSDL gets its events from, but if it’s built on
the existing platform code (windib/glx/etc), you should be fine.

glSDL basically piggy-backs onto the old SDL OpenGL backend and leaves
event handling alone - so when using glSDL, you end up using whatever
SDL uses with OpenGL on your platform.

//David Olofson - Programmer, Composer, Open Source Advocate

.- Audiality -----------------------------------------------.
| Free/Open Source audio engine for games and multimedia. |
| MIDI, modular synthesis, real time effects, scripting,… |
`-----------------------------------> http://audiality.org -’
http://olofson.nethttp://www.reologica.se


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Does anyone have a WindowsXP 64 development system to loan me so I
can look at this?

grin
-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment

Sam Lantinga wrote:

Does anyone have a WindowsXP 64 development system to loan me so I
can look at this?

grin
-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment

Hi Sam

You can try it at
http://www.microsoft.com/windowsxp/64bit/evaluation/trial.mspx

Cheers,–
Michael Bonfils ( http://www.murlock.org )
membre de http://guses.solaris-fr.org

Hi Sam

You can try it at
http://www.microsoft.com/windowsxp/64bit/evaluation/trial.mspx

Good to know, but it looks like I need a 64-bit processor first. :slight_smile:

-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment