Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Just out of curiosity, is it really still an emulator when the processor architecture is the same as the host machine and all you're really doing is breaking through layers of encryption and lockouts? The ps4 runs on an AMD x86 cpu, would the instruction set not be the same as most PCs?

Not that these aren't still cool projects I'm happy to see being worked on, but I always think of emulators as emulating one type of architecture on top of another.

Maybe I'm wrong about all this, but your comment just made me think of this.



The PS4 isn't a PC at all though. It's missing a bunch of core components, it has different memory maps and instead of a traditional motherboard chipset, it has a separate ARM controller that does crazy stuff.

Checkout the Fail0ver video on porting Linux to the PS4. It's really interesting.



I remember watching that talk and thinking it was interesting but also that the guy was a little harsh on Sony. Sure the engineers at Sony may have done some weird choices in some places, but I think they likely had their reasons for doing things the way that they did. And at the end of the day, Sony delivered a console that works well for its intended purpose.


There is no bright line for when something is or is not an emulator. It's not worth thinking about too much. There is a surprisingly smooth spectrum from "direct emulation of hardware gates" through "full recompilation to the target architecture", with a ton of mixing and matching of all the techniques.


It definitely gets fuzzy. While the CPU family is the same, the overall system architecture is very different. For starters, the PS4 "south bridge" is almost an embedded system in its own right. It's also debatable to what extent shader translation overlaps with "emulation", because there are several different vendor/stack-specific notions of IRs and "precompiled" shaders that don't necessarily map well to the ISA vs. implementation distinctions that exist on CPUs.


Nothing is stopping you from truly emulating a CPU architecture on same architecture, but usually you don't want to for performance reasons (hence paravirtualized drivers and leveraging HW virtualization support).

You might want to for security or other reasons, though.

I think Bochs and DOSBox are examples of x86 emulated on x86.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: