FrodeSolheim / fs-uae

Cross-platform Amiga emulator with a slight focus on gaming, but also with solid support for productivity apps including just-in-time (JIT) compilation.
https://fs-uae.net/
GNU General Public License v2.0
472 stars 95 forks source link

Incorrect/confusing default speed settings for A4000 and accelerator cards #183

Open ProbDenis opened 6 years ago

ProbDenis commented 6 years ago

Something that has been bothering me for a while: when I pick certain hardware options, I don't get the expected speed results. This mostly affects faster Amigas like the A4000 or accelerator cards. For example, when I create a new configuration and pick the Amiga 4000, by default I get something that feels like 10 times the speed of a regular Amiga 4000. And the launcher offers no way to change that. The expected behaviour is that if I pick an A4000, FS-UAE emulates an Amiga 4000 and not some "as fast as possible" dream Amiga. Not that this is a bad thing to have, but the dream Amiga should be a different option. I think by default, hardware configurations should be emulated as close to the original speed as possible and if you name it "Amiga 4000" it should behave like one. The same goes for accelerator cards. If I pick the default Amiga 1200 configuration, the speed is correct. If I add a Blizzard 1230 accelerator card, I would expect the emulation to match this card, but again it's way too fast for that, and no 68030 card has ever been that fast. Generally it seems that anything up to an 68020 is emulated correctly, and anything higher seems to be as fast as the host CPU allows.

FrodeSolheim commented 5 years ago

The problem is that the emulation for 68030 and higher CPUs is not that exact. The real processors use pipelining and microinstructions to implement the exposed instructions, and exactly how these work and what the timing is, is not emulated properly. So at this point, the emulation will not be exact speed-wise in any case.

It is possible in FS-UAE/Win-UAE to specify a set amount of cycles instead of "fastest possible", but you might then be able to match 68030 in one specific benchmark, and then it will be faster - or slower - in another benchmark, depending on what instructions are actually used.

ProbDenis commented 5 years ago

Thanks for the reply :-) The thing is that the launcher explicitly offers configurations such as "A1200 + Blizzard 1230". So if you pick that, you'd expect this configuration to approximate the original speed. It may not be perfect because of the incomplete emulation, but it would still be more believable than the current "fastest possible" setting which isn't anywhere near the speed of the original hardware.