But why does that make a difference? Regardless of whether you reverse engineer an API or have the full documentation available, when you translate from it to something else, you’re building the same thing: an API translator. It doesn’t change whether it’s an emulator.
Traditionally, “emulator” refers to hardware emulation. APIs are reverse engineered, mocked, translated, etc. all the time, but we don’t call it “emulation”.
Even simply mimicking the behavior of a unified virtual memory space is not called “emulation”, unless there are hardware-specific quirks that need to be emulated (which may very well be the case for PS5 caches, I don’t know).
The problem is that you don’t really know from what you’re translating.
But why does that make a difference? Regardless of whether you reverse engineer an API or have the full documentation available, when you translate from it to something else, you’re building the same thing: an API translator. It doesn’t change whether it’s an emulator.
Traditionally, “emulator” refers to hardware emulation. APIs are reverse engineered, mocked, translated, etc. all the time, but we don’t call it “emulation”.
Even simply mimicking the behavior of a unified virtual memory space is not called “emulation”, unless there are hardware-specific quirks that need to be emulated (which may very well be the case for PS5 caches, I don’t know).