Das liegt daran, dass sich die "Genauigkeit" geändert hat. Das SNES wurde praktisch direkt auf der nackten Hardware und realtime programmiert. Da gabs kein OS und zig Libs die noch zwischen Spiel und Hardware lagen. Deshalb wurde beim SNES auch akkurat auf jedes Bit und jeden einzelnen Taktzyklus programmiert. Und wenn man sich bei der Programmierung darauf verlässt, dass die CPU mit 3,546895 MHz läuft und eine bestimmte Berechnung in einem Takt abgeschlossen wird, dann bringt es natürlich die ganze Software aus dem Tritt, wenn die CPU mit höherer Taktrate liefe oder doch mehr als einen Takt für die Berechnung bräuchte.
D.h. ein Emulator muss in diesem Fall nicht nur die Softwarekompatibilität herstellen, sondern das komplette System-Timing exakt einhalten. Daraus ergibt sich zwangsläufig, dass eine 1Ghz PC-CPU maximal 286 Takte brauchen darf um einen Takt der Original 3,546895 MHz-CPU zu simulieren. Sie darf aber auch nicht schneller sein. Das ganze Timing einzuhalten, kostet auch Zeit.
Wenn man das mal auf die PSX mit ihren 33Mhz überträgt, bleiben schon nur noch 28 Takte der Emulationr-CPU bei 1Ghz. Allerdings habe ich mit der Programmierung einer PSX nicht wirklich informiert, aber ich glaube, dass die bei weitem nichtmehr so hardwarenah programmiert wurde, denn vorallem mit besserer (3D)-Grafik wird das immer aufwändiger. Das ist ja auch der Grund, warum man sowas heutzutage praktisch komplett abstrahiert programmiert.