![]() |
![]() |
![]() |
![]() |
![]() |
Make 'Ys I & II Eternal Story' playable.
Posted on 2006-02-12 00:00:00 |
After some more debugging, I was able to find out what was causing the problem.
A DMA transfer in source chain mode wouldn't stop properly if it was started with a current DMA tag that is a terminal tag. So, what was happening is that a DMA transfer would be started with a REFE tag in CHCR, wouldn't stop right after and would keep going beyond the REFE tag in memory, which, of course, messed up MADR and TADR and would affect the values of BlockPos0 and BlockPos1 ultimately. I made a quick fix, which seems to take care of the problem and the movie is allowed to go further: There's still a problem though that makes the virtual machine hang after playing the movie for a while. I think it's a CPU bug, but I haven't been able to reproduce the problem in a debug build, so I don't know what it really is... I think I've seen something similar happen with the DigiCube logo movie, so I'll check if I can do something about this tomorrow. |