I think it should be enough to do that only for Fread(), as only
that can be used to load code into memory.
(I.e. there might be separate functions for data & instruction
cache invalidation, and in future also for 040 data cache flushing.)
Note: Debugger's binary data load functions will also need to flush
instruction cache for the same reason. Currently they just use
STMemory memory write functions.
and I can now
run Virtual City in prefetch/compatible or CE modes (those 2 modes make
use of the instruction cache)
The version I had still bombs, but then I loaded the version from pouet.net,
and that works fine. On comparing them, the version I had was packed with
JAM packer. I threw that away as apparently it's also causing the issues
with autostart + >4MB memory consumption.
I updated Hatari docs accordingly.
Please test again with Beats Of Rage and your other demos, it should
hopefully work better.
They still don't work.
Firestarter is packed with Sentry 2.2.
I found another demo that doesn't work with caches, but works
by changing cancahe030():
http://www.pouet.net/prod.php?which=13601