|Re: [hatari-devel] Data cache Issues?|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
Le 29/06/2015 23:28, Eero Tamminen a écrit :
On maanantai 29 kesäkuu 2015, Nicolas Pomarède wrote:
Regarding chainz and jewelz, the problem was related to the blitter :
during the init, the game moves some blocks of data using the blitter
(can't say what kind of data it is) and it reads data near the end of
the RAM to copy it elsewhere.
The problem is that the code seems buggy, because it starts to read in
the RAM, then it reads beyond the RAM in the region that should give a
bus error :(
So, with 4 MB RAM, it will read $400000,$400002, ...
They need 14MB.
No, see the readme for chainz and jewelz, they need 4 MB (I don't see
what could require 14 MB here, it's rather simple games).
The fact is that if you use 14 MB, then this will use the region from
$400000 to $e00000, which is where bus error should happen.
If more than 4 MB ram is used, then there's no more bus error region to
make the game crashes, but it's still bugged nevertheless, you just
don't see it.
I confirm this work with old cpu core, so I
think that something was broken when I updated the code to integrate DSP
interrupt into recent WinUAE core (which uses a slightly different code
Would it help if I try to bisect it?
Not necessarily, I see what kind of changes I made to handle level 6 DSP
interrupt, so I can find this "by hand"
I will have a look, having a working case will help fixing this.
I noticed you had added one DSP specific fix, but these 3 still freeze.
Was another bug with WinUAE cpu core, but not directly related to the
changed part about DSP interrupt, so freeze is still there.
Didn't have a look to the other cases for now.
IMHO Corsair is most interesting of the rest because data cache is
what breaks it.
If needed, I can send you my version.
When I run it, I don't see any "data mismatch" log, so it's a different
case. Do you see those logs with your version ?