It’s a more subtle but powerful difference, which is recompiling creates native code, which is more expansible and efficient (usually).
Emulation can appear similar but the code remains unchanged, so the system itself has to be emulated to run the non-native code, which (unless the emulator is very efficient) will usually be more limited and slower.
Emulation is nice if you go for an authentic experience. This is better: It allows a lot more easier modding, especially for older titles which then get widescreen support and improved graphics.
What I’m hearing through the grapevine is that these quick and dirty executables are not conducive to any of those benefits, because it’s hardly different from just emulating it in the first place.
That I can confirm firsthand. Recompiled code is just prebaked CPU instructions in another language that can be compiled. That’s all there is to it.
So for modding, it’s only slightly easier technically as you have the option to inject code easier than on the emulated platform and providing facilities for the host OS to load them (dynamic libraries, which is a big benefit which most of the slop coders don’t fully understand how or why it is).
For proper modding research, a decompilation (of the portions of the game you want to mod very extensively) is needed.
For a simple aspect ratio and UI fix patch (and other simple improvements) - that is achievable on the original code itself via cheats/code injection (anything that has an FPU should work, PS1 and older are harder generally). You generally do not need a whole recompilation/decompilation for this kind of a thing.
Sometimes even the original hardware without any performance boost can handle it, but most of the times this is where emulator’s overclocking and memory extension features come into play to help.
Honestly, in my opinion, machine code hacking is not that hard. It takes way less time and energy to do it than this to achieve the same “improvements” with way lower barriers to entry.
It’s hardly different from an end user perspective (except emulators often have extra features the direct games don’t), but it is a very different way to get things running.
But emulating does not give you Ultrawide(in beta) or 4K @ 240FPS, FSR (currently still disabled in source, coming soon), Discord Rich Presence and Background Shader Compilation.
What I’ve seen are posts like these floating around. I haven’t done much emulation lately, but aspect ratio and frame rate adjustments don’t sound new to me, nor do background shader compilations. It also sounds like the functionality can often be unreliable and difficult for a human to get in there and fix, unlike a “proper” decompilation that we’ve seen so much of out of the N64 scene.
Ultrawide is a different thing - you have to adjust camera parameters to make it work good. Frame Rate adjustments also depend on the Game Engine - there are probably still a lot of games out there that link physics with frame rate (especially on consoles), so just ramping up FPS will break your game. This can be avoided if you have code you can actually modify.
I am sure that manual de/recompilations are easier to modify, but it’s also more work - not a bit more work, but years of work in many cases.
If it’s doing what you need it to do, knock yourself out. But my expectations from those more familiar with this scene are to not expect to get every benefit you normally would just because a PS3 game has been packaged up as an .exe. In many cases, it may be limited by the emulator it’s been created out of.
I think the replies about “Emulation is not a port” misses your point. That’s why you put it in quotes as ‘ported’.
But besides that, some official “ports” from game companies are also just emulation. They do not port the game code, but they port the game over this way, in the sense of making it playable.
werent they already ‘ported’ to pc with rpcs3 and the like
It’s a more subtle but powerful difference, which is recompiling creates native code, which is more expansible and efficient (usually).
Emulation can appear similar but the code remains unchanged, so the system itself has to be emulated to run the non-native code, which (unless the emulator is very efficient) will usually be more limited and slower.
if i remember correctly rpcs3 actually does recompilation on the fly
Emulation is nice if you go for an authentic experience. This is better: It allows a lot more easier modding, especially for older titles which then get widescreen support and improved graphics.
What I’m hearing through the grapevine is that these quick and dirty executables are not conducive to any of those benefits, because it’s hardly different from just emulating it in the first place.
That I can confirm firsthand. Recompiled code is just prebaked CPU instructions in another language that can be compiled. That’s all there is to it.
So for modding, it’s only slightly easier technically as you have the option to inject code easier than on the emulated platform and providing facilities for the host OS to load them (dynamic libraries, which is a big benefit which most of the slop coders don’t fully understand how or why it is).
For proper modding research, a decompilation (of the portions of the game you want to mod very extensively) is needed.
For a simple aspect ratio and UI fix patch (and other simple improvements) - that is achievable on the original code itself via cheats/code injection (anything that has an FPU should work, PS1 and older are harder generally). You generally do not need a whole recompilation/decompilation for this kind of a thing.
Sometimes even the original hardware without any performance boost can handle it, but most of the times this is where emulator’s overclocking and memory extension features come into play to help.
Honestly, in my opinion, machine code hacking is not that hard. It takes way less time and energy to do it than this to achieve the same “improvements” with way lower barriers to entry.
It’s hardly different from an end user perspective (except emulators often have extra features the direct games don’t), but it is a very different way to get things running.
But emulating does not give you Ultrawide(in beta) or 4K @ 240FPS, FSR (currently still disabled in source, coming soon), Discord Rich Presence and Background Shader Compilation.
What I’ve seen are posts like these floating around. I haven’t done much emulation lately, but aspect ratio and frame rate adjustments don’t sound new to me, nor do background shader compilations. It also sounds like the functionality can often be unreliable and difficult for a human to get in there and fix, unlike a “proper” decompilation that we’ve seen so much of out of the N64 scene.
Ultrawide is a different thing - you have to adjust camera parameters to make it work good. Frame Rate adjustments also depend on the Game Engine - there are probably still a lot of games out there that link physics with frame rate (especially on consoles), so just ramping up FPS will break your game. This can be avoided if you have code you can actually modify.
I am sure that manual de/recompilations are easier to modify, but it’s also more work - not a bit more work, but years of work in many cases.
If it’s doing what you need it to do, knock yourself out. But my expectations from those more familiar with this scene are to not expect to get every benefit you normally would just because a PS3 game has been packaged up as an .exe. In many cases, it may be limited by the emulator it’s been created out of.
Rpcs3 never ran well for me anyway tbf.
I’ve had success with RPCS3 even on Steam Deck, seems to work way better on Linux from what I’ve seen. Its been greatly improved over the years.
I am on linux. Tbf, I did try it a while ago, so maybe I need to give it another chance.
I think the replies about “Emulation is not a port” misses your point. That’s why you put it in quotes as ‘ported’.
But besides that, some official “ports” from game companies are also just emulation. They do not port the game code, but they port the game over this way, in the sense of making it playable.