Skip to content

GUI: CPU

Dimitris Panokostas edited this page Jun 12, 2024 · 4 revisions

The CPU panel as seen in version 5.x

PanelCPU_v5

The CPU panel as seen in version 6.x

PanelCPU_v6

The CPU and FPU panel allow you to configure the specific model of CPU and FPU you wish to emulate. Here, you can also change the speed of the emulated CPU, enable the Just In Time (JIT) compiler for each one (CPU/FPU), enable Cycle-Exact modes and tune the idle timing. This panel is different between versions 5.x and 6.x, since version 6.x has more features implemented.

Please note that these options are modified automatically from the Quickstart panel also, depending on what you choose there. Use this panel for further fine-tuning, or if you know what you are doing.

  • CPU: You can select the CPU model here. For example, the Amiga 500 used an 68000 CPU with 24-bit addressing running at 7 MHz, and no FPU.

  • 24-bit addressing: depending on the CPU model, this can be enabled to increase the emulation accuracy. If you choose More compatible, it will be automatically enabled when relevant and you won't be able to change it.

  • Data cache (Only for v6.x): This option enables or disables the Data Cache emulation, for the emulated CPU model.

  • More compatible: enable more accurate but slower emulation of the CPU. Sometimes this is useful for certain games/demos that will show glitches otherwise. By default, the most common A500 configuration has these options enabled, to maximize compatibility.

  • JIT: Enable the Just In Time compiler for the CPU. This option is only available if you are emulating an 68020 or higher, and will increase the performance dramatically. However, it's only really recommended for system-friendly apps, not games or demos (though some might work just fine with it, or even benefit from it).

  • MMU (only for v6.x): You can choose to emulate the MMU unit found in some CPU models. This can be useful for some cases, which require it. The MMU cannot be enabled together with JIT.

  • FPU: Here you can select the FPU model you wish to emulate, if any. On 68040/68060 CPUs the FPU was Internal. For other models, you can choose between 68881 or 68882.

  • FPU JIT: Here you can enable the Just In Time compiler for FPU operations as well, providing a significant boost in performance. Again, compatibility is not guaranteed with this. Note: JIT FPU is currently only enabled for ARM-based devices.

  • CPU Speed (for v5.x only): These are options for the approximate speed of the emulated CPU. Use 7 MHz for A500 speed, 14 MHz for A1200, or higher depending on your needs. Please note that Fastest will mean "give all available cycles to the CPU", which could cause slowdowns in some cases, if there are not resources available for the custom chip emulation. In other words, not recommended to use when running games/demos, in most cases.

  • CPU Speed (for v6.x only): The newer v6.x versions of Amiberry have different options in this area, matching those of WinUAE. You can select to either use the Fastest Possible CPU emulation, or choose a cycle exact mode for the CPU model selected. The CPU frequency can be set separately, in the below panel.

  • Cycle Exact: Here you can enable the Cycle-Exact mode of the CPU emulation. For v5.x this is only supported for 68000/A500 emulation, while the newer v6.x supports it for all models. This option will increase the compatibility, but requires a lot of extra CPU cycles to emulate, so it's not enabled by default in v5.x - that's not the case in v6.x, where it will be enabled by default for some models selected from Quickstart.

  • CPU Idle: This slider allows you to fine-tune how much processing power should be allocated to Amiberry, when the emulated CPU is idle. If you set it to 0, it means "Amiberry gets the CPU all the time, regardless if it's idle or not". Increasing this number with the slider, will allow the CPU usage to drop, if Amiberry's emulated CPU is idle. The more you increase it, the more the CPU usage will drop when idle. This option is very useful if you want to keep the temperature of your computer low.

Clone this wiki locally