08-24-2010, 04:10 PM
(08-24-2010, 03:56 PM)yann Wrote:(08-24-2010, 02:43 PM)Hykem Wrote: Exactly. At least for "Disgaea" this appears to be a persisting issue.I suspect it might be filling the new data in on demand, but that the HalfwayBuffer should be read automatically. I.e. HalfwayBuffer would set up a permanent ring buffer, such that it doesn't need to point out where the new data is. Could we track if it writes to that memory again? It could be triggered by different remaining frames values from sceAtracDecodeData.
I checked the output results and there seems to be more free space allocated then produced samples. This means the game is not adding more data properly.
As far as I know, the HalfwayBuffer sends two sizes, one is the full data size, but the other is the minimum data required to start playback decoding.
Perhaps, towards the last couple of samples, it could be sending this ammount and overwriting it imediately after, since we are only decoding at sceAtracDecodeData.
Yes, it's quite possible. Maybe it distinguishes when non loop data is being read, so it can prepare the next chunk of data.
Also, we can track those writes with JPCSP's memory breakpoint feature. Make a file called "Memory.mbrk" on JPCSP's root folder and inside write the following:
Code:
[R, W or RW][Start Address]-[End Address]