|
|
|
|
|
|
Make "demo2c.elf" work.
Posted on 2005-08-20 00:00:00 |
|
Time for working on other demo! This is the state where I was currently at when I stopped working on the emulator last time.
This demo specifically relies on v-sync for swapping the buffer at the right time for reduced tearing. Looking at the source code and documentation that came with the demo, it seems that this program first scrolls down the tank picture down, increasing its visibility by 2 pixels after each v-blank. It then waits a bit, then scroll a text around the screen, waiting for v-blank after each movement. And it finally goes back to the background scrolling part. nSX2 seems to play this demo fine, but it skips a lot of frames for some reason (might be related to the GS renderer). It works a bit in Purei too, but the v-sync bit in the CSR (0x12001000) is not set or reset correctly when the virtual machine should be in a v-blank state. So we see the background scrolling very fast towards the bottom when it should only go down at each 1/60th (for NTSC peeps) of a second. We can also see that the alpha blending is not handled at all. I'll have to fix that after fixing the v-blank periods. Tasks: - Add a v-blank period notion. - Add alpha blending to the GS-renderer. - The new way of handling flips breaks the optimized binaries. - Improve the log. |