Emu68 - beta 2.1 (hotfix)
michalsc
released this
26 Aug 19:03
·
157 commits
to master
since this release
This is a hotfix for Emu68 beta 2. Actually it does not deserve the "hotfix" name, as it introduces many important improvements:
- CCR fixes. Beta 2 has changed internal handling of CCR, but unfortunately added several bugs due to the change. Beta 2.1 fixes all these problems, improving compatibility with m68k software.
- Fixed fusing of MOVE instructions. Until now there were few corner cases where fusing of subsequent MOVE.L instructions resulted in wrong behavior of generated code. Thanks to Paraj this issues are solved now and fusing of MOVE.L instructions works without (hopefully) any bugs.
- Added temporal instruction cache working on CHIP memory during JIT translation process. This greatly improves the translation itself, since not only the translator itself accesses instruction stream, but also CCR optimizer and CRC32 calculator.
- Added optional slowdown of code executed from CHIP memory. This might be important for old games and/or demos which rely on CPU busyloops
- Removed code inlining feature on 24-bit memory to reduce the need of crawling through the CHIP memory. Greatly improves the performance of demos/games where instruction cache is set to checksumming mode.
The Beta 2.1 is recommended for all PiStorm users. Per default the firmware is used in two-slot mode. By adding one_slot
option to cmdline.txt one can force the single-slot operation. This is not recommended for Pi3 users.