To put it simply a Reversing emulator is a standard emulator that has been modified to add additional debugging and tracing functionality useful for reverse engineers.
There are a few use cases where you would want to use a reversing emulator rather than a standard emulator, these include:
In order to provide a consistent user experience and shared functionality across different console generations a new library was created to encapsulate common functionality.
The C/C++ library is called libRetroReversing due to it being based on libRetro and adding reverse engineering functionality to the libRetro cores.
Thus libRetroReversing enabled cores can run on any libRetro frontend such as RetroArch.
If an existing Reversing Emulator does not exist for your favourite console you can follow our guide to create your own based on an existing libRetro core.
More and more consoles are becoming supported with the aim of most of the Sega/Nintendo/Sony LibRetro cores being supported by the end of 2021.