Code:
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - sceAtracSetHalfwayBufferAndGetID halfBuffer=0x09E2EE80, readSize=0x8000, halfBufferSize=0x4E814
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - WAVE format: magic=0x20746D66('fmt '), chunkSize=32, compressionCode=0x0270, channels=2, outputChannels=2, sampleRate=44100, bitrate=16538, chunkAlign=384, hiBytesPerSample=0
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - Additional chunk data: 0E 00 01 00 00 10 00 00 00 00 00 00 01 00 00 00
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - FACT Chunk: endSample=855344, sampleOffset=1675
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - Loop #0: LoopInfo[cuePointID 0, type 0, startSample 0, endSample 855343, fraction 0, playCount 0]
05:30:11 INFO hle.sceAtrac3plus - CWave::MainProc - hleAtracSetData atracID=0, buffer=0x09E2EE80, readSize=0x8000, bufferSize=0x4E814, fileSize=0x4E814
05:30:11 INFO hle - CWave::MainProc - Decodable AT3 data detected.
...
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - sceAtracAddStreamData atID=0x0, bytesToAdd=0x10000
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - sceAtracAddStreamData: AtracID[id=0, inputBufferAddr=0x09E2EE80, inputBufferSize=321556, inputBufferOffset=223252, inputBufferWritableBytes=288788, inputBufferNeededBytes=0]
...
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - sceAtracAddStreamData atID=0x0, bytesToAdd=0x10000
05:30:11 DEBUG hle.sceAtrac3plus - CWave::MainProc - sceAtracAddStreamData: AtracID[id=0, inputBufferAddr=0x09E2EE80, inputBufferSize=321556, inputBufferOffset=158100, inputBufferWritableBytes=223252, inputBufferNeededBytes=0]
This game is calling sceAtracAddStreamData without calling first sceAtracGetStreamDataInfo to ask where to store the new stream data. It is assuming the stream data is added after the current data, which is the case on a PSP but not on Jpcsp. Jpcsp is not implementing the circular atrac data buffer. This has to be improved.