![]() |
![]() |
![]() |
![]() |
![]() |
Make "Slave of the VU" work.
Posted on 2006-03-17 00:00:00 |
I finally decided that it would be better to implement the flag calculation at each instruction instead of relying on analysis tricks to skip them... I don't think there would have been a way of getting it to work without more "complex" analysis (like data-flow analysis), and that wouldn't be really practicable at the instruction level. But if I ever get around using a more "standard" dynamic recompilation approach to the CPU emulation, determining the necessity of flag calculation would surely be something to put in there... But that's not for today...
So, I added zero and sign flags calculation to the ADD instruction and implemented the FMAND instruction. I tweaked some things in the VU float code generator too. This is not really what the third scene of this demo should look like, but it's a start. I had to force the triangles to render white to get this too. The little rotating/zooming soccer player is rendered using colored triangles (no textures involved). The text is obviously totally screwed up and I'll look into fixing this problem tomorrow. |