Make 'Ys I & II Eternal Story' playable.
Posted on 2006-02-13 00:00:00
While doing some debugging to fix the problem I wanted to work on today, I found out that the first movie couldn't play properly because of the DMAC fix I made yesterday (which wasn't really something reliable anyways). So, I figured I'd need to change some things about the mecanics that control the source chain mode. I found out a solution that accomodates both movies and made the appropriate changes. I haven't finished completing the new classes wrappers for this new solution though, so I'll be completing this tomorrow.

As for the problem I was supposed to fix today, I think it's caused by a thread returning from its root function. Since I set RA to zero when I create new threads, it's most likely that the PC would be set to zero too when the thread complete its execution hence causing the problem I was having. Fixing this should be a matter of making RA point to an address memory in the BIOS address space that will contain some code to terminate the thread and re-schedule. This shouldn't be hard to do, and I should have this completed tomorrow too.

I don't know why this could happen during the middle of a movie though... It seems to be quite random too as I've been able to see a bit more of the movie today while testing:


Screenshot #000082 Screenshot #000083 Screenshot #000084


This event doesn't seem to be related to the new DMAC fix since I was able to make it hang at the same place as yesterday. Well, we'll see what fixing the thread thing will do and we'll probably be able to gain better insight at that time...