Make 'Ys I & II Eternal Story' playable.
Posted on 2006-02-08 00:00:00
Found out what was causing the columns to be swapped. It was PPACB that was giving a reversed result, so I fixed it.


Screenshot #000074 Screenshot #000075


Now everything is fine for intra macroblocks, but some frames remain screwy when they're using predicted macroblocks. For example, the frame with the DigiCube logo which comes from an I-picture looks as it's supposed to look, while previous ones have some visible artifacts due to bad predictions. Some artifacts are visible too in the second picture above.

I think the problem lies in the dequantisation of these blocks. I haven't really tested them in my experimental MPEG-2 decoder, so I'll be checking if everything is alright on this side tomorrow. If it's not caused by problems from the MPEG-2 decoding functions in the IPU, then it's probably related to the newly implemented MMI instructions.

Also made some minor changes:
- Isolated the computation of the lookup table for the Cr and Cb indices, used in the CSC command, in a function and made it so it's called only one time and not each time a CSC command is executed.
- Added some Y position compensation in the GS handler when using an interlaced mode (fixes jumpy screen). But I'm not sure this is the appropriate way to do this though...