Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Win32 build without SSE2?
09-29-2013, 09:07 AM
Post: #1
Win32 build without SSE2?
Just recently my computer shuffled of this mortal coil, and now I'm stuck with some improvised antique with an old AMD 1.66ghz single core CPU without SSE2 support. The GPU should be "fine" (well, a Geforce 6200 256mb can't be really fine I think) since, according to Nvidia, it supports up to OGL3.0.

Nonetheless, and not really surprisingly, ppsspp crashes at the start and I suspect the culprit is the missing SSE2 support. So, anybody got a build without SSE2 for win32, or is that not possible at all?

Ps: This isn't really important, I hope the new parts arrive Monday or Tuesday. Mostly I'm just curious.

I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-29-2013, 12:33 PM (This post was last modified: 09-29-2013 12:48 PM by solarmystic.)
Post: #2
RE: Win32 build without SSE2?
@Tabman

Here ya go mate, I'm curious to see whether or not this will work out for your old AMD CPU. Do report your findings, I don't have a CPU that old on hand for testing, so this could be interesting. I just provided the executable, so all you have to do is to drop it into an existing working PPSSPP folder that you can get from any recent buildbot build.

http://www.mediafire.com/?xmm8b6j8fw18gcm

What I did was to change one of the compiling options from SSE2 to basic SSE in all the relevant projects in the solution (every single one except for UI and UnitTest which were not set to any by default), which was the default setting for Code Generation and then built it. The CPU does support at least SSE right?

[Image: iNGY9EAE13w6.PNG]

I did try to run it on my system and it loaded up nicely.

PPSSPP Modern Testbed:-
Intel Core i5 4690K @ 4.0 GHz
NVIDIA Geforce GTX 760 2GB GDDR5 VRAM @ 1138/6500 Mhz
16 GB DDR3 RAM @ 1600 MHz
Windows 7 x64 SP1

PPSSPP Ancient Testing Rig:-
Intel Core 2 Duo T9550 @ 2.8GHz
ATI Mobility Radeon 4670 1GB GDDR3 VRAM @ 843/882 MHz
8 GB DDR3 RAM @ 1066 MHz
Windows 7 x64 SP1
Find all posts by this user
Quote this message in a reply
09-29-2013, 01:18 PM (This post was last modified: 09-29-2013 01:20 PM by Tabman.)
Post: #3
RE: Win32 build without SSE2?
Thanks solarmystic Smile

Sadly, ppsspp still doesn't run. But it gets a little bit farther. With the original x86 exe ppsspp would crash right at the beginning, with just the appcrash window.
Now it at least creates the ppsspp window and crashes then. Still no log file though.
   
Code:
Problem signature:
  Problem Event Name:    APPCRASH
  Application Name:    PPSSPPWindowsSSE1.exe
  Application Version:    0.0.9.1
  Application Timestamp:    52482af8
  Fault Module Name:    PPSSPPWindowsSSE1.exe
  Fault Module Version:    0.0.9.1
  Fault Module Timestamp:    52482af8
  Exception Code:    c000001d
  Exception Offset:    0004a66f
  OS Version:    6.1.7600.2.0.0.768.3
  Locale ID:    1031
  Additional Information 1:    0a9e
  Additional Information 2:    0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:    0a9e
  Additional Information 4:    0a9e372d3b4ad19135b953a78882e789
And for the curious, here is my cpu-z report.
   

I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-29-2013, 01:51 PM (This post was last modified: 09-29-2013 01:59 PM by solarmystic.)
Post: #4
RE: Win32 build without SSE2?
(09-29-2013 01:18 PM)Tabman Wrote:  Thanks solarmystic Smile
Sadly, ppsspp still doesn't run.

Thanks for the feedback and the CPUz screenshot. Basic SSE support is indeed present, so the CPU shouldn't have issues with emulator now, I hope.

Okay, it's good that it went it bit further this time around, I think we're on the right track. The next roadblock could easily be the GPU, it's rather hard to say since the crash report is not very descriptive and only blames the emulator executable as the faulting module. If you could self compile PPSSPP on that machine and run it in debugging mode, we could know exactly what the issue was when it crashed, but I hesitate to even recommend that you do that, since it'd be incredibly slow to compile and debug PPSSPP on that ancient machine.

The next thing to do is to check whether your old NVIDIA 6200 card's drivers are updated. A GPUz screenshot of the GPU would be nice.

Afaik, the GPU does support up to OGL 2.1 but not 3.0 (which is only attainable with the 8xxx series and above), but that should still be more than sufficient for the emulator.

Just to confirm, you are running that system on Windows XP with the Classic theme right? That "Stopped Working" dialogue box looks suspiciously like the Windows 7 one.

PPSSPP Modern Testbed:-
Intel Core i5 4690K @ 4.0 GHz
NVIDIA Geforce GTX 760 2GB GDDR5 VRAM @ 1138/6500 Mhz
16 GB DDR3 RAM @ 1600 MHz
Windows 7 x64 SP1

PPSSPP Ancient Testing Rig:-
Intel Core 2 Duo T9550 @ 2.8GHz
ATI Mobility Radeon 4670 1GB GDDR3 VRAM @ 843/882 MHz
8 GB DDR3 RAM @ 1066 MHz
Windows 7 x64 SP1
Find all posts by this user
Quote this message in a reply
09-29-2013, 01:56 PM
Post: #5
RE: Win32 build without SSE2?
OS Version: 6.1.7600.2.0.0.768.3

You tell us, solarmystic. Tongue

4GHz AMD 3900X, 32GB DDR4 RAM, 6GB Nvidia RTX 2060, Asus Crosshair 7 Hero (Wifi), Linux
How to ask useful questions: https://web.archive.org/web/20110214010944/http://support.microsoft.com/kb/555375
I'm not Dark_Alex, nor do I claim to be. Our nicknames are merely coincidence.
Find all posts by this user
Quote this message in a reply
09-29-2013, 01:59 PM (This post was last modified: 09-29-2013 02:18 PM by solarmystic.)
Post: #6
RE: Win32 build without SSE2?
(09-29-2013 01:56 PM)daxtsu Wrote:  OS Version: 6.1.7600.2.0.0.768.3

You tell us, solarmystic. Tongue

Dang it mate, I've been blind. Windows 7 on that machine? Incredible.

@Kingcom

I've just been informed that there could be other bits and pieces of SSE2 specific code that's been written into PPSSPP that is vital to its functionality. So it may not work out after all.

PPSSPP Modern Testbed:-
Intel Core i5 4690K @ 4.0 GHz
NVIDIA Geforce GTX 760 2GB GDDR5 VRAM @ 1138/6500 Mhz
16 GB DDR3 RAM @ 1600 MHz
Windows 7 x64 SP1

PPSSPP Ancient Testing Rig:-
Intel Core 2 Duo T9550 @ 2.8GHz
ATI Mobility Radeon 4670 1GB GDDR3 VRAM @ 843/882 MHz
8 GB DDR3 RAM @ 1066 MHz
Windows 7 x64 SP1
Find all posts by this user
Quote this message in a reply
09-29-2013, 02:32 PM (This post was last modified: 09-29-2013 02:35 PM by Tabman.)
Post: #7
RE: Win32 build without SSE2?
The drivers are relatively current, I think from this year's February. Newer 32bit driver fail to install with a simple, and not very helpful, "install failed" message after 10 busy minutes.

Here's GPU-Z:
   

I also wanted to add a report by GPU Caps Viewer 1.18.1, but that involves some .net updates and that may take a while on this computer.

Edit: I forget to mention that, generally speaking, Win 7 runs quite nice on this hardware.
But more than one task at a time, like browsing the net and watching a *gasp* 720p movie is of course not advisable.

I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-29-2013, 02:39 PM (This post was last modified: 09-29-2013 02:39 PM by solarmystic.)
Post: #8
RE: Win32 build without SSE2?
(09-29-2013 02:32 PM)Tabman Wrote:  The drivers are relatively current, I think from this year's February. Newer 32bit driver fail to install with a simple, and not very helpful, "install failed" message after 10 busy minutes.

Hmm.. that confirms it then, I guess the functionally vital SSE2 specific code embedded into the source could be the dealbreaker. Sorry mate.

PPSSPP Modern Testbed:-
Intel Core i5 4690K @ 4.0 GHz
NVIDIA Geforce GTX 760 2GB GDDR5 VRAM @ 1138/6500 Mhz
16 GB DDR3 RAM @ 1600 MHz
Windows 7 x64 SP1

PPSSPP Ancient Testing Rig:-
Intel Core 2 Duo T9550 @ 2.8GHz
ATI Mobility Radeon 4670 1GB GDDR3 VRAM @ 843/882 MHz
8 GB DDR3 RAM @ 1066 MHz
Windows 7 x64 SP1
Find all posts by this user
Quote this message in a reply
09-29-2013, 03:36 PM
Post: #9
RE: Win32 build without SSE2?
(09-29-2013 02:39 PM)solarmystic Wrote:  Hmm.. that confirms it then, I guess the functionally vital SSE2 specific code embedded into the source could be the dealbreaker. Sorry mate.
There really is no reason to feel sorry.
I was just curious, and sooner or later my new parts will arrive and then I'm back playing games with ppsspp which probably only use less than 5% of the capabilities of the CPU and graphics card...

Anyway, thanks for the effort Smile

I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-29-2013, 06:59 PM
Post: #10
RE: Win32 build without SSE2?
The JIT uses SSE2 in a few places. Could theoretically make it avoid it if it's not supported, I didn't think many non-SSE2 computer were still alive though... You could try turning the JIT off and see if it runs at all when rebuilt without SSE2 optimization by the compiler.

Should definitely add a better error message though Tongue
Find all posts by this user
Quote this message in a reply
09-29-2013, 07:45 PM
Post: #11
RE: Win32 build without SSE2?
Ppsspp on a computer like this without JIT would probably just an academic exercise; I don't think the emulator would come close to a playable speed. Add to that the cheap (when I bought it I said "I need the cheapest AGP card you have. Not more than 25€, preferable much less".) GPU and it will probably become a game of patience. A very slow, and boring, game of patience.
But still, it would have been interesting to see how slow it would have been.

I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
Visit this user's website Find all posts by this user
Quote this message in a reply
09-30-2013, 12:47 AM (This post was last modified: 09-30-2013 12:49 AM by [Unknown].)
Post: #12
RE: Win32 build without SSE2?
Well, we could probably disable only the jit instructions which use sse2 in that case, it might not be too slow.

For the time being, if you disable vfpu and fpu, that should do the trick. Change in both CompFPU.cpp and CompVFPU.cpp:
Code:
// #define CONDITIONAL_DISABLE { Comp_Generic(op); return; }
#define CONDITIONAL_DISABLE ;

To:
Code:
#define CONDITIONAL_DISABLE { Comp_Generic(op); return; }
// #define CONDITIONAL_DISABLE ;

It would be interesting to know how it runs but... I suspect it will be slow (and not because of this jit change, but because of the GPU as you say.) But, can always be surprised.

We could probably detect such a build using #if _M_IX86_FP < 2 if we wanted to support it.

-[Unknown]
Find all posts by this user
Quote this message in a reply
09-30-2013, 05:37 PM (This post was last modified: 09-30-2013 05:38 PM by Tabman.)
Post: #13
RE: Win32 build without SSE2?
I'm going to keep the old computer, so when I finally find the time to play with the ppsspp source, I'm going to try and build a exe without SSE2.
But first I have to play around with my new hardware which has all the SSEs of this world Smile

   

I'm sorry, but I can't constantly keep an eye on all the game compatibility threads I started.
Please send a Private Message if you need some more information.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-01-2013, 05:55 AM
Post: #14
RE: Win32 build without SSE2?
Congrats, very nice.

-[Unknown]
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: