"I got back from my trip yesterday and I've spent a few hours today putting together the final changes for Daedalus PSP R8.
Here's the changelist:
[^] Replaced all uses of sceCtrlReadBufferPositive with sceCtrlPeekBufferPositive.
[^] Various known value optimisations for the dynamic recompilation engine.
[^] Various texture cache optimisations and rendering optimisations.
[+] Implemented a new clipping method which is more efficient and gives better results.
[-] Removed 'tesselate large triangles' setting.
[+] Added option to reset emulator to the main menu.
[^] No longer use index buffers for rendering.
[^] Implement matrix multiplication using VFPU.
[^] Implement vertex transform and lighting code using VFPU.
[^] Implement clipping code using VFPU.
[^] Minor AddTri optimisations.
[^] Free background and font textures while emulator is running to free VRAM.
[!] Fixed bug in default controller config (c-down and dpad-down were broken)
It should be pretty obvious that most of the changes in R8 are optimisations. This build is significantly faster than R7, which is a significant achievement considering how much R7 had achieved in this area. Here's an updated view of the framerate table I introduced a couple of months ago and updated recently:
Scene R4 fps R5 fps R7-beta fps R8 fps
Mario Head 3 6 8 8
Mario Main Menu 14 25 30 38
Mario Peach Letter 6-7 11 13 18
Mario Flyby (under bridge) 6 10 12 17
Mario In Game 5-6 9 11 15
Mario Kart Nintendo logo 10 23 24 35
Mario Kart Flag 6 11 13 16
Mario Kart Menu 7 11 13 14
Zelda Nintendo Logo 20 23 ? 70
Zelda Start Menu 2-3 4 ? 8
Zelda Main Menu 10 13 ? 40
I think the numbers speak for themselves. What's particularly impressive is that the R8 results are so high, despite having the new clipping code enabled by default. By implementing the triangle clipping code and the transform and lighting code using the PSP's VFPU I've managed to keep the additional cost to a minimum.
With the previous release, I also mentioned a list of things I had planned for R8. I decided to put them on hold while I pursued the various optimisations in R8, so I'll be looking at working on them for the next release.
Have fun - I'm going to wade through the past couple of weeks worth of emails that have built up while I've been putting this build together
"