- Joined
- Dec 19, 2022
Coding for specific CPUs was particularly common very early on, for performance reasons. While today C is one of the most efficient languages around, in most cases it still won’t match bespoke x86 assembly, and that was especially true back then. Compiled code is easier to build an emulator for, because it’s usually pretty generic, but assembly very much did often get written to specifically target, say, the 286.Byuu making a 100% accurate SNES emulator made sense because there's only one SNES (or at least a very small number), so it's possible that people were coding to its quirks.
I can't imagine why you'd possibly want to use anything other Qemu, VirtualBox etc. for a PC. PCem implies that there were programs that only ran on certain x86 CPUs or motherboards, which meant they must have been buggy as hell even at the time. This seems like autism for the sake of autism.
For example, code written for the 8088 and 80186 should run just fine on the 80286, but with the move to 80386 some architectural changes meant that code targeting peculiarities of memory or timing in the earlier processors may no longer run on the new one.