return to table of content

ShadPS4 – PlayStation 4 emulator

skykooler
29 replies
1d11h

This looks like an interesting project to follow! Given the current lack of a portable option from Sony it would be interesting to see how this might run on the Steam Deck.

Deathmax
11 replies
1d10h

Emulating a PS3 is significantly harder than emulating a PS4, since on the PS3 you need to convert from the Cell architecture, whereas the PS4 is already x86.

reedf1
8 replies
1d10h

I think this too. My perception of the PS4 is it's just a PC in a box running FreeBSD (or something). I don't think there is any custom architecture at all. Much like a steam deck, which can already run some first party PS4 games just fine (e.g. Death Stranding). Would any emulation even be required?

p_l
5 replies
1d10h

Main differences would be hardcoded expectations regarding very tight integration between GPU and CPU, and the available memory bandwidth.

PS4 (and PS5, iirc) both use a custom OS built out of FreeBSD with specialized variant of an AMD APU using GDDR memory, plus PS5 got few extra coprocessors for handling things like decompression in line with storage access

jorvi
4 replies
1d10h

Sony also did some really weird stuff with the PS4 to make emulation harder, chiefly among them the PCIe “glue device”, a PCIe device that masquerades as one of 15 (?) different ones, depending on the function needed at that instant. Geohotz has a section on it in his presentation about jailbreaking the PS4.

mmaniac
1 replies
1d6h

I can see how that would be difficult for low level emulation, but does it really matter for HLE?

Retail games running on the PS4 don't care about the PCIe topology, they just use Sony's function call APIs.

EPWN3D
0 replies
1d1h

There are various ways they could be made to care, e.g. wrapping a function call in a macro that expands with some sort of assertion about hardware state. But I'm guessing that if they were told to design emulation counter-measures, it was to defeat hardware emulation and not WINE-style library shimming.

arthurmorgan
1 replies
1d8h

Where can the presentation be found? Thanks in advance.

dagmx
0 replies
1d3h

Lots of things are unique about the x86 consoles.

They have custom graphics APIs (and semi custom GPUs) which makes graphics translation one of the hardest parts.

The graphics systems also assume shared memory which is not a given elsewhere.

There are sometimes also some extra CPU instructions if it benefits the console that may not be prevalent, and require some translation.

And it’s even more different when you get to the PS5 era where the systems have some very critical hardware systems like kraken decompression and direct storage which don’t have super prevalent equivalents.

badsectoracula
0 replies
1d10h

You'd most likely need to run it in a VM and either implement the needed APIs or implement whatever the official OS needs to run (RPCS3 has you download the OS from Sony and implements whatever needed to run, Xenia on the other hand -Xbox360 emulator- reimplements the OS so that you don't need anything from Microsoft).

darby_nine
1 replies
1d10h

I just sold my last x86 machine. I suspect emulation will be a long-standing concern.

KeplerBoy
0 replies
1d10h

That's a different problem. I guess emulation devs targeting consoles which originally ran x86 code will not ship arm binaries for a long time. That layer of translation will be left to rosetta 2 and whatever microsoft ships as translation layer.

latexr
5 replies
1d10h

Not in a million years.

I’d take that bet. Given a million years of concentrated effort, I’m feeling confident we’d find a way. Even if it takes a hobbyist replacing some internal components on the Steam Deck.

BossingAround
2 replies
1d10h

Given a million years, I'd say the human race ending is more likely than the human race figuring out how to run Bloodborne 4 on a Steam Deck, given that in a couple years, Steam Deck 2 will outperform the original SD.

Dunedan
1 replies
1d9h

I'm confident humanity will get Bloodborne to run on the Steam Deck, before going extinct.

0points
0 replies
1d8h

According to BossingAround, it's a close tie.

wiseowise
0 replies
1d10h

Also downscaling and hand optimizing hot paths.

Hamuko
0 replies
1d8h

If it takes Ship of Theseusing your Steam Deck, it’s arguably not running on the Steam Deck.

Almondsetat
0 replies
21h25m

To render a single frame?

jrm4
1 replies
1d4h

As an avid non-consoler, I'm like why not? As I understood, the flagship game for the PS3 was GTAV

and also for the PS4

and also for the PS5

Almondsetat
0 replies
1d2h

No it's not

badsectoracula
0 replies
1d10h

Depending on how the emulation is done PS4 might have a slightly easier time. AFAICT from some time ago i checked it, PS3 is probably the hardest architecture of all to emulate with RPCS3 basically using LLVM to "compile" code fragments from PS3's CPU to native code.

I'd expect running x86 code written to run on an AMD APU with a Unix-based OS in another AMD APU with a Unix-based OS to be a bit easier, probably with some VM involved (even Xemu, the original Xbox emulator, is basically a QEMU PC configuration with some Xbox-specific hardware for the GPU and audio).

ammar-DLL
0 replies
1d10h

this will run better than both switch and ps3 (even wii u and ps2 in same case ) emulator because of ps4/ps5 hardware architecture is the same as normal PC/steam deck

ammar-DLL
3 replies
1d10h

it may even run better than switch emulator if they go with compatibility layer route

ultimaweapon
2 replies
1d10h

Actually shadPS4 is a compatibility layer. What it does is re-implement the PS4 libraries and translate PS4 shading language into SPIR-V.

ultimaweapon
0 replies
1d9h

Those wiki has some incorrect information. How shadPS4 and fpPS4 works are the same. Almost of them can be categorized as a compatibility layer. The only one that can be called a PS4 emulator is Orbital because it virtualize (and emulate) the PS4 hardwares.

0points
28 replies
1d8h

MVG is just a clueless hypetrain.

privacyking
24 replies
1d8h

Citation required

0points
18 replies
1d7h

Watch his videos and be the judge. He don't code, he hardly understands the hardware he is covering. He constantly makes stupid "predictions".

bane
9 replies
1d7h

He appears to have a long history in emulation and games development and is presently works as a lead dev at limited run games. What are your claims based on?

privacyking
8 replies
1d6h

Yeah the OP has no idea what they're talking about. MVG has demonstrable technical skills. OP has none.

tigeroil
7 replies
1d6h

Funnily enough from the way that he talks in his videos I always assumed he wasn't that knowledgeable, until I found out more about him and realised what an incredibly skilled programmer he actually is.

I think maybe he just comes off that way because of how he presents things in videos.

hnlmorg
6 replies
1d5h

The problem with making hard things sound accessible for wider audiences, is that people who understand the hard stuff natively then cannot separate the layman’s explanation from the technical capabilities of the person making those explanations.

Perhaps ironically, over the years I’ve found it’s those who cannot look past the tech-jargon to be the lesser experienced because they learn the words without fully understanding the concepts.

monoau
3 replies
1d5h

That's not true. Science communicators in the past have successfully taught complex theories to a wider audience without compromising in integrity and accuracy.

The issue here is that many youtubers have sold factual correctness for a view count.

hnlmorg
2 replies
1d5h

You say that and I guarantee you that people who have dedicated their career to that particular topic will say those “science communicators” are technically incorrect due to the generalisations and/or analogies made in the explanation.

It’s such a common behavioural tendency with general audience publications that someone coined a law for it (the name of which I forget but I’m sure someone else on here can reply with it).

zztop44
1 replies
1d4h

Those people who have dedicated their career to a narrow topic can also be wrong. Not so much about the facts, but in assessing whether or not certain compromises or analogies that don’t map 1:1 matter for the purposes of what is trying to be communicated.

hnlmorg
0 replies
1d3h

That’s exactly the point being made

serf
1 replies
1d5h

The problem with making hard things sound accessible for wider audiences, is that people who understand the hard stuff natively then cannot separate the layman’s explanation from the technical capabilities of the person making those explanations.

it can also be the case that the 'laymen explanation' is actually patently wrong -- not just over-simplified or 'dumbed-down'; wrong.

some things just require a certain level of background knowledge; this is why generally any 'celebrity scientist' explanation of anything with the word 'quantum' in the subject line is generally just down-right wrong.

there is no decent metaphor by which to onboard a laymen in certain technical topics.

that isn't to say that the 'wrong' answers don't have value in educating the laymen, but the liberties that some experts take in 'wrongness allowance' is quite different from one another.

personally I think it's the responsibility of the explainer to step aside at some point and say : "Look, this is wrong, but without the background this is as close as I can get you to understanding this thing, so just don't take what I say as gospel from this point forward." -- the reason this is important is simply due to the fact that the laymen doesn't stand a chance at finding out which parts are wishy-washy by themselves without some further guidance.

not mentioning where the fairy tale begins is what leads people into thinking that there is actually an alive/dead cat out there somewhere. they grasp the metaphor itself rather than the statistics concept that is being explored.

hnlmorg
0 replies
1d5h

You’re conflating entertainment shows with university lectures.

The point of videos like the aforementioned isn’t to give people a background into game development. It’s to give people who have no experience an overview for entertainment purposes.

radicalbyte
4 replies
1d7h

He's a games developer and an ex-member of the cracker scene. His technical chops are stronger than many people here.

monoau
1 replies
1d6h

I feel bad for the people blindly defending him, many of his videos are wrong [1] and his viewers end up incorrectly learning a lot technical stuff, especially when there're actual knowledgeable youtubers out there.

[1] https://news.ycombinator.com/item?id=41309281

Rinzler89
0 replies
1d4h

> especially when there're actual knowledgeable youtubers out there

Care to share them?

0points
1 replies
1d4h

Maybe you too just don't understand the topics he is covering well enough to realize he's a phony.

radicalbyte
0 replies
22h38m

He is fairly accurate about topics I have expertise on - modding of the PS1 / PS2 / GC / Xbox / Wii - and has his explanations of videos he made on 8/16-bit generations have been accurate.

I can't say much about his videos linked in another post (about PS1 shimmering) as I haven't touched graphics programming / APIs (beyond coding a very basic 3d rendering engine which ran on the CPU).

After reading some of the linked discussions - yes he does appear to have posted some bullshit. That doesn't make all of his content bullshit though, and doesn't make him "non technical". The fact that he has shipped several games on constrained platforms is proof that he is technical.

He does now go into the same box as I put 99.9% of content creators in - entertaining but don't trust them on the details.

valianteffort
0 replies
1d7h

Odd I've seen multiple videos where he does code, albeit simple examples but still low level C stuff. His video explaining how the original gameboy graphics work is pretty informative imo. I suppose he could just be parroting stuff he has found online but I wouldn't call him clueless.

mavamaarten
0 replies
1d7h

Not really. I agree that these days his videos are of mediocre quality and more speculative than based on facts. But he is a coder, he has a history of developing an emulator running on the Xbox 360 I believe.

deelowe
0 replies
1d6h

He developed the Shantae port which I believed included emulation development. He’s released a few games with limited run games. In the 2000s he ported several emulators to the original Xbox.

donatj
2 replies
1d6h

Reading the follow up comments on the Reddit tread, it seems more like people misinterpreted what he said than him having been wrong.

monoau
1 replies
1d6h

I can only say that after watching the respective video, I found MVG's explanation to misinterpret fundamental concepts of computing graphics, as the linked comment explains. Granted, everyone can make mistakes - but it's the fact that he doesn't correct them that I find disrespectful, it only spreads wrong information!

Narishma
0 replies
22h15m

Not only did he not correct the info, he repeated the mistake in a newer video. I stopped watching him after that.

eur0pa
0 replies
1d7h

Do not trust people who speak in SEO

GaggiX
1 replies
1d5h

Well, this time he was very right, just two weeks after the Bloodborne character screen, the game is already in-game.

egypturnash
0 replies
1d5h

Hey, that’s pretty much on par with how long it took for the initial release of the game to load, before From did a massive round of optimization!

TheRoque
0 replies
1d4h

Do you have an alternative ? For some informative, yet entertaining tech youtuber focused on gaming ?

forgotpwd16
21 replies
1d10h

Apparently is the first PS4 emulator that makes it to Bloodborne character screen.

BossingAround
15 replies
1d10h

Amazing. This made me want to play BB on my old PS4 that's gathering dust. Then, I remembered it's 30FPS locked, and has pretty bad loading times. I'll wait for the emulator, or a remaster, whatever comes first I guess :))

gambiting
12 replies
1d9h

Apparently someone made it run at 60fps on a PS5 devkit, and it's frustrating because I actually have access to one but there are no instructions anywhere so I can't experience the beauty of Bloodborne in 60fps :-(

smcl
5 replies
1d8h

Don't worry, I think it's only a matter of time before you'll be able to do this. Either through an official PS5 remaster, an official PC release (less likely) or via some funky unofficial emulation.

Even though it's only 30fps the game is quite beautiful for being 9 years old and running on a previous gen console.

skinpop
4 replies
1d7h

it is something to worry about if you care about playing the original. I'm only interested in straight ports with minimal QOL features like 60fps(or unlocked if viable), higher resolution and controller rebinding.

I haven't played a single remaster that I preferred to the original game. I'm fine with remasters existing, but only if faithful ports are made available as well.

pimeys
3 replies
1d4h

The Resident Evil 4 remaster is considered to be much better than the original by almost everybody.

Same with the Demon's Souls remaster.

neckro23
1 replies
1d4h

Those are remakes and not remasters. Different beast.

The trouble with remasters is they're usually farmed out to third-party devs who don't always give it the same attention to detail as the original developers. A prime example would be Dark Souls Remastered, which actually makes some of the graphics worse compared to the original PC version.

mmaniac
0 replies
1d3h

The line between remaster and remake is a blurry one.

Nier Replicant ver.1.22... isn't officially called either a remake or a remaster, and a convincing case could be made for either. Yet it changes more than Demon's Souls PS5 does.

mmaniac
0 replies
1d3h

It is easy to find criticism of Demon's Souls' remaster's art style by entering that term into your favourite search engine. This isn't "considered" true by "almost everybody".

Regardless of any person's opinion on the changes, being substantially different is enough reason that it isn't a suitable substitute for the original.

rawbot
3 replies
1d9h

Anybody with a hacked/jailbroken PS4 Pro or PS5 can run it at 60 fps. A dev called Illusion makes patches for other games too.

If you got an old PS4 Pro lying around, and haven't updated it in a year, it's more than likely hackable.

It's pretty simple, really.

mmaniac
0 replies
1d6h

The PS4 Pro struggles to run this game at 60fps due to a CPU bottleneck. On the other hand, PS5 runs it remarkably stably at 60fps and even 120fps is decent.

Source: Me and my hacked PS4 Pro and PS5.

hd4
0 replies
1d8h

I've got Bloodborne running on a standard PS4 at 60fps using the Illusion patch (you have to drop to 720p but it still looks great).

gambiting
0 replies
1d6h

Now that you mention....I do have an old PS4 Pro I definitely haven't used in more than a year - will look into it!

neckro23
0 replies
1d4h

Lance McDonald (@manfightdragon) is the someone, I don't think the patch is shared publicly though. He plays it sometimes on his Twitch channel. I've seen LobosJr play the 60 fps version too.

SXX
0 replies
1d7h

because I actually have access to one

I wouldn't be running patched pirated game on devkit.

SCE certainly get logs of everything you run on it.

tomaskafka
1 replies
1d4h

Similarly, I’d love to play Zelda in 4k/120hz, but it’s hopelessly locked on an underpowered pocket box.

fredoliveira
0 replies
1d4h

Not sure whether you know about it or not, so: you have to do a little bit of work, but it _does_ run in 4k on PCs. Do some googling, you'll find all you need.

maeln
1 replies
1d9h

On a 4090 with most of the shading still not implemented/broken :) . Probably won't be 120+ fps once everything is correctly emulated on a "normal" machine. Still huge tho

nodja
0 replies
1d7h

It will be 100+ fps on a current mid-tier system easily, because this is not hardware emulation.

Most emulators need to implement/compile a whole different architecture to x86, even if similar to x86 it causes issues because cache gets filled faster, more memory lookups, etc.

PS4 doesn't need to emulate almost anything hardware wise, the CPU is a standard x86 and the GPU is a modified radeon. Similar to how wine can get the same or better performance on linux than windows, the ps4 "emulators" will achieve performance parity because they're not emulating anything, they're just reimplementing the core PS4 libraries. That said there are some differences in hardware, the big one being the PS4s unified memory, but it shouldn't be much of a problem, there's also the usual shaders need to be recompiled, etc.

So it's ok to get hyped for high performing bloodborne gameplay on PC with affordable PCs :)

forgotpwd16
0 replies
1d9h

Wow, that's so cool. It has been only weeks since character screen was reached and now are already to in-game stage.

calebj0seph
19 replies
1d7h

Genuine question - under the hood is this more of an emulator like PCSX2 or a compatibility layer like Wine?

Since the PS4 is more or less an x86 computer, I imagine most of the hard work would be implementing the system/graphics APIs of the PS4. Or are there major hardware differences between an x86 PC and the PS4 that also need to be handled?

perching_aix
8 replies
1d4h

they must have a shader recompiler infra, because all the shaders are shipped precompiled directly for the platform on consoles. so it's a good bit more than what wine does, at the very least in that regard.

calebj0seph
7 replies
1d4h

Very true. I suppose Wine has to do this as well for Direct3D?

lxgr
3 replies
1d4h

For PC games and applications, Direct3D shaders are supplied in a high-level shader language (not-so-coincidentally called High-Level Shader Language), given that there is no standard GPU architecture on Windows PCs. Wine does still need to translate that to the target graphics library, as well as all the drawing calls themselves, though.

There are also some considerations regarding texture compression, I believe, which is a function usually performed in dedicated GPU hardware, and not all GPUs support all formats.

FastFT
2 replies
1d3h

Not a developer in the field, but I believe generally the HLSL isn’t packaged in the game. Instead an intermediate format called DXIL is produced at build time from the HLSL, and that’s what is packaged.

lxgr
1 replies
1d3h

Ah, sorry, then I carried over an assumption from OpenGL (where GLSL is actually what's packaged, or at least was a couple of years ago when I last looked at it).

In any case, that intermediate representation is probably still easier to compile to hardware-specific code, especially if the hardware has a Direct3D implementation. That's what it's designed for, after all!

Sesse__
0 replies
1d3h

OpenGL also supports SPIR-V, a similar intermediate format, since 2017 (it came into core in OpenGL 4.6).

dikei
1 replies
1d4h

Yes, that used to be the weakest part of Wine. Luckily, we have DXVK now.

dagmx
0 replies
1d3h

DXVK doesn’t deal with pre compiled shaders afaik. It needs them in DXIL or HLSL to function.

dagmx
0 replies
1d3h

No, you can’t ship precompiled shaders for desktop easily because there’s no single backend (GPU) to compile for.

Everyone ships either shader code or intermediate languages instead.

ultimaweapon
7 replies
1d7h

Most PS4 emulators work in the same way as Wine.

calebj0seph
6 replies
1d6h

Makes sense! Slightly amusing given that originally Wine was a recursive acronym for "Wine is not an emulator".

asddubs
2 replies
1d5h

I believe it was originally WINdows Emulator and was later changed to better communicate how it works under the hood

giancarlostoro
0 replies
1d3h

I'm guessing they had to get rid of "Windows" from the name?

jerf
1 replies
1d4h

When one tries to really nail down the exact, precise, 100% accurate definition of "what an emulator is", one finds it is like nailing jello to the wall.

I've seen several people online discover what the idea of an emulator is, and then they'll say in amazement "so we could do this and that and the other?", and the answer, no matter what it is they propose, is "yes, someone's done that". Recompile the code entirely into another assembler? Partially do so? JIT it? Ship specific patches for specific content? Emulate gates? Rewrite on the fly? Shim things slightly to change what functions are loaded? All that and more has been done. And even if you draw a sharp line through those things, all the combinations you can think of have also been done, and how will you draw the line through that?

I think one of the best ways of thinking about it is that there really isn't any such thing as an emulator. There's just numbers, and they need an interpreter and the ability to reach out to some set of externally-defined functionality, and there is a profound sense in which you have to have some particular hardware manifestation of an interpreter and some functionality to get anywhere, but that particular manifestation is a lot less important than people think. This has only become more true in a world where your CPUs are already not actually executing assembler opcodes anymore, and your OS is already shimmed away from the hardware in another level, and the OS is wrapping your program in yet more abstraction before it even runs a single instruction, which may well include providing a choice of which sets of "externally-defined functionality" the numbers can ask for (different Windows subsystems, etc.). Even the "base system" has a lot of "emulators" in it nowadays. It's emulators almost all the way down! Which suggests that rather than being special, they're actually quite fundamental, and sure, sometimes you need a greater translation layer between this program written with these numbers and this particular chunk of hardware and sometimes you need less, but it's a lot less a distinction of "kind" than you might think.

This is not the only way to think about it; there are certainly valid perspectives from which "emulators" exist, e.g. as a distinct category in a software catalog they're sensible. We all know what that means. But for your own understanding of how the world works, the previous paragraph has a lot to recommend it.

giancarlostoro
0 replies
1d3h

Create a decompiler for Shockwave so games can be preserved? Yes, absolutely. ;)

If its on your screen, it can and will be cracked / decompiled.

https://github.com/ProjectorRays/ProjectorRays

ahartmetz
0 replies
1d6h

Well, it's not a CPU (or other hardware) emulator. Console emulators usually are... or used to be, before all the x86 based consoles.

compiler-devel
1 replies
1d3h

See Marcan’s 2016 CCC talk about the many differences between a ps4 and a pc. https://youtu.be/QMiubC6LdTA

s1gsegv
0 replies
13h41m

Excellent talk even if you’re not interested in game consoles

max_
12 replies
1d10h

How do people design emulators? Is there a good resource on how you can learn to do this?

mbivert
3 replies
1d10h

If you want to learn, I guess look for something well-documented and comparatively simple, like an old Game Boy emulator

stevekemp
1 replies
1d9h

I think if you're new to emulation it's generally a good idea to start with something even simpler - the chip-8 system

http://www.emulator101.com/introduction-to-chip-8.html

An average programmer can probably get an emulator for that running in a weekend, and there are lots of guides and documetnation out there for the opcodes and similar.

NES / Gameboy / GameGear / similar are probably well-documented, but they will be harder at least because the processors have more opcodes you have to care about.

badsectoracula
0 replies
1d7h

Yeah CHIP8 is a simple enough system that i even made two emulators (one in DOS and one in Windows) and an assembler back in 1999-2000 or so when i was in highschool and could barely put eight bits together to form a byte.

Also somehow for some reason i was convinced back then that mobile phones in the future will have a CHIP8 emulator to play games :-P. Sadly(?) they got Java instead.

qingcharles
0 replies
20h34m

I would say this is a good place to start. I did a Game Gear emulator in a single night with a buddy, having never written one before, just for the lulz.

You are bound to have an awesome game you can find on an 8-bit system and it's really fun trying to get to the point where you can play the game: getting the logo to appear, getting the title screen up, getting the sprites working, adding controls etc.

ultimaweapon
1 replies
1d10h

It is really depend on the hardware you want to make the emulator. Usually there are 2 kind:

1. Emulate the whole system. 2. Emulate the system API.

The first one you write the code to emulate the CPU of target system like OP code interpreter (e.g. NES). The second one you write the code to re-implement the API of the target system (e.g. Wine). For the second one you may need to write a JIT compiler if the target system use a different CPU architecture (e.g. PS3).

Most modern console emulator are the later one because how the modern console work is similar to how the PC work. It have an OS kernel and a user-mode libraries for applications.

For the latter one there are 2 kind of it. The first one is emulate the user-mode libraries and the second one is re-implement the console kernel and reuse the system libraries from the console itself.

delta_p_delta_x
0 replies
1d9h

Most modern console emulator are the later one because how the modern console work is similar to how the PC work. It have an OS kernel and a user-mode libraries for applications.

And additionally because the past couple of console generations have had x86-64 CPUs, there's no need to do full instruction translation/emulation—something like Wine would suffice.

max_
0 replies
1d10h

Thanks. This looks beautiful

gambiting
0 replies
1d9h

There are loads of resources online on how to write a gameboy emulator, these use a straightforward enough architecture that it's pretty easy to follow. I'd recommend starting there in your language of choice.

amy-petrik-214
0 replies
14h58m

Have a data structure for CPU registers. Have a data structure for memory. Have a data structure for i/o. Read a series of instructions that are being emulated. Create a series of rules as to how those instructions interact with CPU, memory, i/o, in a mutable fashion. A long if/then/elif/elif/elif/elif/else type loop, or switch case type loop, if you will. Create bridges between particular pieces of memory and system output: video, sound, controllers. That's most of it in the classic case at least. Now you have an emulator.

The "big league" emulators work differently. They may be simple compilers. Instead of compiling C code or java code, they compile machine code from system A to system B. A transpiler. This affords speed beyond the simple case. Speed, however, is only necessary if the machine running the emulator is weak, or if the machine being emulated is strong.

deelowe
6 replies
1d6h

I’m curious. Is emulation development becoming easier these days now that modern consoles are essentially stripped down pc systems.

ultimaweapon
2 replies
1d6h

I don't know about the older generation so I'll explain how PS4 emulation can be achieve. The first step is to understand how the console run the game. The good news is the PS4 has been hacked and almost all of its file and information has been decrypted and dumped. The official PS4 SDK also leaked.

Now we know how the console run the game. The next step is how to use this information run the game outside the console. The good news is PS4 system is just a modified version of FreeBSD, which mean how it works is very similar to the PC. A PS4 executable is just a custom ELF file. So to run a PS4 game outside the console we need to manually map the game executable and provide the symbol it needed somehow (e.g. a custom implementation or reuse the PS4 library).

lxgr
1 replies
1d4h

While that might be true for the CPU side, that description is omitting a ton of complexity on the GPU side this project must be doing.

fasa99
0 replies
7h20m

Exactly. I will make explain more how PS4 emulator can be achieve. First, you can make the whole universe. You need a universe for PS4 to live in. Then, you make do PS4 emulator. Now you have achieve.

eddieroger
0 replies
1d5h

We also have better access to others doing the same thing thanks to the Internet, and better and more computing power to figure out how these things work. But I imagine better access to information is a big driver.

Keyframe
0 replies
1d6h

yes, and when generations share same-ish architecture it goes even faster.

EPWN3D
0 replies
1d1h

The common ISA definitely helps -- it opens the door to just running the game image directly and shoving the right dependencies under it (i.e. what WINE does) rather than having to boot the console's OS.

Generally speaking there's been a lot of good work in the industry for binary translation too, cf. Rosetta 2. That's another tool in the box for hoisting a binary on to a different host environment.

roshankhan28
2 replies
1d10h

finally someone did it! i was wondering why we stopped at ps3 emulators, now i can run ps4 games on pc aswell! but would love to know whats holding the devs back.

sureIy
0 replies
1d8h

whats holding the devs back

Complexity. I'm amazed that anyone would even be able to single-handedly emulate such a different architecture like PS3

jamesgeck0
0 replies
1d1h

Not sure about PlayStation, but the last two generations of Xbox have been some of the most secure consumer devices available. I imagine the difficulty of breaking into and analyzing the system has been a factor.

glitchc
2 replies
1d4h

Too soon. The PS4 is still an active platform with new games being released. This will get shut down right away.

rowanG077
0 replies
1d4h

What? Why does that matter? Even Nintendo knows it has to leave ryuujinx alone. And switch is even a current platform.

dfxm12
0 replies
1d4h

Shut down by whom? For what reason? What's usually illegal in these cases is distributing games and BIOS roms. Making and distributing things like emulators seems to be OK legally. I'm pretty sure this was tested in court via Sony's lawsuits against Bleem, but I understand there are always finer points that may not be apparent.

Also interesting and only tangentially related is that MAME used to have a rule about not supporting games within 2 years of release.

zombot
1 replies
1d7h

This is so cool! How do you get a Mac to read a PS4 game storage medium?

HideousKojima
0 replies
1d5h

Can't speak with 100% authority about the PS4 in particular, but for most modern consoles (from roughly the Xbox/PS2/Gamecube generation onward) the easiest way to dump a game disc/cartridge is to have a hacked/modified console that decrypts and dumps the game data for you.

throwaway918299
1 replies
1d7h

the dream of finally being able to play Bloodborne on PC is within reach

deisteve
0 replies
1d2h

gran turismo for me on PC online

maybe we can play gt2 remastered online

sergiotapia
1 replies
1d4h

Latest progress for Bloodborne (what 99% of people are waiting for):

This is the dev's youtube: https://www.youtube.com/watch?v=wC6s0avpQRE

I wonder what the hell Sony is doing still neglecting, almost vindictively, this S-tier culturally significant game. Are they waiting to use it for a launch PS6 title or what?

Blot2882
0 replies
1d4h

Always enjoyed Sony games. I will not forget that Sony didn't make the PS4 backwards compatible, claiming no one cared about that, and then later offered the ability to play older games via their subscription-based PSNOW service. You can download some of them, but others can only be streamed and you need to have a good internet connection to play a PS2 game. Ridiculous.

There will always be a demand for playing older games, hence emulators like this.

lepetitchef
0 replies
1d4h

I have a Logitech G29 Driving Force Racing Wheel and Floor Pedals. Do they compatible with this PS4 emulator?

justmarc
0 replies
1d4h

Awesome work. Emulators are in many ways some of the coolest things one can build.

ammar-DLL
0 replies
1d10h

i hope they add compatibility layer option in the future

WhereIsTheTruth
0 replies
1d3h

This tells you how hard people are willing to work on difficult tasks without getting paid

A case study in favor of UBI

Read my profile, next up is a ban

And we go agane

Five Eyes or not

Cthulhu_
0 replies
1d9h

Is there a design document or some other resource that highlights prior art / previous attempts, and why this one is different?