Emu68 1.0.7
Emu68 1.0.7
This is the (hopefully) last iteration of the Emu68 1.0.x series before moving on to 1.1 and beyond. It is a quick-fix release required for all Framethrower users running the classic PiStorm.
unicam.resource fixes
The unicam.resource generates a display list for the VideoCore chip. This display list is written directly into the MMIO area and therefore cannot be subject to Emu68 instruction fusing. Writes to MMIO add an extra NOP, which prevents Emu68 from performing fusing. This resolves an issue where visual artifacts appeared when using the Framethrower.
TLSF memory allocator fixes
There were bugs in the TLSF memory allocator, which is used internally by Emu68. These could eventually lead to memory leaks and, more importantly, memory corruption. The TLSF allocator has now been fixed and is in sync with the upcoming 1.1 release.
Imporant notice
This version of Emu68 builds correctly with gcc-11 but may produce broken or non-functional binaries when compiled with gcc-13 or newer. This is due to violations of strict aliasing rules in a few places.