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.
Creating a new reversing emulator
For more information check out this post.
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.
N64 Reversing Emulator - Mupen64+ RE
For more information about the N64 Reversing emulator based on Mupen64 check out this post.
Sega Saturn Reversing Emulator
For more information about the Sega Saturn emulator based on Beetle check out this post.
Game Boy (DMG/GBC) Reversing Emulator
For more information about the Game Boy and Game Boy Color reversing emulator based on Sameboy check out this post.