forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Help improve Daedalus for us all

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
Wally



Joined: 26 Sep 2005
Posts: 672

PostPosted: Fri Apr 06, 2007 11:53 pm    Post subject: Help improve Daedalus for us all Reply with quote

Hi Guys,

Daedalus so far is quite impressive however i'm sure many of you would like to see it achieve what its supposed to and to prove that N64 emulation clearly is possible on the PSP.

So far raphael and hlide gave StrmnNrmn small tips that improved daedalus a whipping 10 - 15% in performance. Surely this makes it clear that not everyone needs knowledge of the N64 processor to make things work.

You probably are thinking, Why doesn't Wally do it himself. I don't have the knowledge to help optimize ANYTHING in any programming language. I would if I did, that's for sure. The only thing i can do is correct GFX issues. Which is the whole point of Daedalus Spiff Up.

Would be great if anyone had advice :)

Wally..
Back to top
View user's profile Send private message AIM Address
hlide



Joined: 10 Sep 2006
Posts: 750

PostPosted: Sat Apr 07, 2007 4:20 am    Post subject: Reply with quote

1) for 32-bit float operations on N64 you may generate vfpu instructions and reserve 32 vfpu registers (2 matrixes) for a direct mapping with those 32 fpu registers of N64. This is only good if 32-bit fpu is heavily used.

2) use FILL WITH LOCK cache operations to reserve some memory where you map your N64 registers. Those cache lines being locked you should be able to avoid slow access in main memory when you need to update temporary registers from/to N64 registers mapped in memory. However if you need to invalidate the d-cache, don't forget to "writeback" them before any invalidation and to re-"fill with lock" them after any invalidation and before any access to registers mapped into memory.

a cache line being 64 bytes, that is, 16 x 32-bit registers or 8 x 64-bit registers.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group