PDA

View Full Version : PSP: Daedalus R8 Delayed (N64 Emulator for PSP)



irondirgible
August 21st, 2006, 06:16
According to StrmnNrmn's blog, he has delayed releasing Revision 8 of his fabulous N64 emulator for the PSP in order to optimise newly added code for rendering large triangles. We were all hoping for a release this weekend, but now it looks as if we'll have to wait a little longer, but the speed increase will (hopefully) be worth it.

Read his whole post at:
http://strmnnrmn.blogspot.com/

V3N0M
August 21st, 2006, 06:27
Great job irondirgible, for the fast news.
Well here's what StrmnNrmn had to say...

After Wednesday's news I wanted to keep everyone up to date with what I've been working on over the past few days.

With Wednesday's changes incorporated, I reprofiled a few roms to see where most of the CPU time was going. Things have changed considerably since I initially talked about deciding what to optimise. Looking at the profiler for Mario 64 the time spent executing display lists is now a much more significant fraction of the total time spent on each frame. Back around R3/R4 only around 20% of the time was spent here. With the latest build display list processing now accounts for around 35-40% of the time. The display list processing hasn't become any slower, it's just becoming more significant as I've optimised the CPU emulation.

One of the settings I mentioned was worth disabling for a speed boost when I released R7 was the 'Tesselate Large Triangles' option. When this setting is enabled, it causes the display list processor to recursively break up large triangles into smaller pieces. This has been necessary to overcome the PSPs poor hardware clipping support; without breaking the triangles up into smaller pieces, the PSP will often fail to render large triangles as shown below:


Super Mario 64 without clipping


The large triangles that make up the floor that Mario is standing on are rejected by the PSP, leaving a large hole where the floor should be. By breaking the triangles into smaller pieces before attempting to render them, it reduces the chance that the PSP will decide to discard them.

There were a few problems with the 'Tesselate Large Triangles' setting which I've been working on overcoming this weekend. Firstly, it's not perfect - there were plenty of cases where visible triangles would still be culled even when they had been subdivided 3-4 times (which generates 27-81 triangles for each input triangle!). This was always quite noticable in games with a relatively low camera, such as racing games. The other big problem with this setting was that it was very slow - often adding over 20ms per frame.

This setting was always intended as a quick fix rather than a long term solution, so I've been looking at fixing both of these problems over the past few days. I started by ripping out all the exisiting polygon clipping and tesselation code and starting from scratch. After a couple of days of hacking I've finally got a replacement system that seems to be clipping everything I've thrown at it perfectly. Here's a shot of the same location in Mario 64:


Super Mario 64 with new clipping code


Now that I have a working version of the code in place, I'm going to look at optimising it. At the moment the new clipping code is roughly as expensive as the tesselation code, but due to the way it's implemented I think it should be much easier to make work with the PSP's VFPU, as I can process batches of vertices in parallel. Ideally I'd like to get this change into the next release, so I'm going to hold off putting the R8 build together until it's ready. I'll let you know how I get on.

-StrmnNrmn

Video_freak
August 21st, 2006, 06:30
Oh well. I can wait! :D

BrooksyX
August 21st, 2006, 06:46
Yeah clipping errors seems to a weakness to the psp. Psmonkey was having a problem with this in iris.

pkmaximum
August 21st, 2006, 06:49
I'm actually happy that R8 was delayed, because now this means Strmmmmn can take more time in optomizing his emulator and getting this good for the next release, instead of rushing things. And since we had that unofficial pre-release I think I'll be very patient for the next release. Also Tinnus made me very happy when he said that sound would be not to hard to implement through the PSP Media engine, so I'm really looking foward to that.

mcvader
August 21st, 2006, 07:18
Yeah i'm glad it has been delayed, I was hoping R8 would be a big update on that unofficial release from last week. I'm glad he's fixing the clipping, I couldn't bear to play it with tessilate lage tri's off, it just looked so bad, thanks for bringing us the news peep's:)

felonyr301
August 21st, 2006, 07:34
ok so let me get this straight is the new clipping fix for people who still have tesselate tris off or it just only for when its on and us people who have it off wont notice a difference??

tophead420
August 21st, 2006, 08:09
cant wait man youv done so good on this so far no need to rush things and i can wait for this release keep up the good work

jak66
August 21st, 2006, 08:18
the delay is a good thing
the last release was only recent, if we had another release so soon everyone would be like 'this isnt much better than the last one this is rubbish,lets wait for donkey64, that will be tons better'
...ok maybe not, but still if it was released soon then there would not be a lot of improvement so take your time strmnnrmn

Gizmo356
August 21st, 2006, 08:29
o well itll be worth the wait

jman420
August 21st, 2006, 08:38
jak66, are you Je Jak Bam from PE by chance??

StealthCP
August 21st, 2006, 11:14
Excellent Emulator. Can't believe the speed and it sounds like he's got something going to get rid of the large triangles problem. Hopefully they will no longer need to be split up, offering even greater speed.

Well done StrmnNrmn!

jak66
August 21st, 2006, 12:16
nope, fraid not jman

Masch
August 21st, 2006, 13:20
i can hardly wait

tallica
August 21st, 2006, 15:46
Is strmnNrmn going to enter this into the neoflash summer coding competition? Im sure if he entered he could be in the top 3.

mr_nick666
August 21st, 2006, 15:50
Waiting for a polished article is fine with me! :p

fenian
August 21st, 2006, 16:03
the only thing i can do is waiting for the r8 release..... it's incredibility to run the n64 emulation on psp,,

ENG
August 21st, 2006, 16:10
I hope it runs Mortal Kombat 4, thank you StrmnNrmn :)

SSaxdude
August 21st, 2006, 16:41
I trust he's making great progress, so don't hurry.

mike03$$$
August 21st, 2006, 19:09
it is said that r10 will be the last

Video_freak
August 21st, 2006, 19:10
it is said that r10 will be the last
Who knows? It could be R456... lol :p

mike03$$$
August 21st, 2006, 19:11
i just need the wrestling games to work and were straight and is there such thing as an n64 rom converter z64 to v64

salomon st
August 21st, 2006, 19:33
ill be happy when zelda oot is playable

mike03$$$
August 21st, 2006, 19:35
dam* ill be happy if any wrestling was playable WWE/F WCW ECW at least one of them

mike03$$$
August 21st, 2006, 19:48
what is the largest rom size r7 can hold

mike03$$$
August 21st, 2006, 20:40
i just wanted to know if there was an auto installer for the bochs x86 windows 95/98

felonyr301
August 21st, 2006, 21:14
nope he said hes gonna keep going till all the popular games is at full speed or close to full speed with sound and pretty much all other games working at least with hardly any weird crashes.

mike03$$$
August 22nd, 2006, 00:01
the wrestling games was popular