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 

Media Engine vs Graphics Processor

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



Joined: 09 Mar 2006
Posts: 9

PostPosted: Thu Jun 01, 2006 7:03 am    Post subject: Media Engine vs Graphics Processor Reply with quote

Both(?) has MIPS cores.
Flash connected to Graphics Processor. What for?
DDR also connected to Graphics Processor. Reasonable.

Is the Media Engine just slave to Graphics Processor?
Or those are peers?

Where OS is executed? Which chip executes decrypted IPL? Which does decryption?

Do we have dual cpu system or singe processor with co-processor?
Back to top
View user's profile Send private message
groepaz



Joined: 01 Sep 2005
Posts: 305

PostPosted: Thu Jun 01, 2006 7:22 am    Post subject: Reply with quote

there are two cpus, then main cpu which executes the OS (and executes th ipl) and the media engine (ME). the graphics processor (GU) isnt a cpu. both media engine and GU have their local ram. decryption is initiated by the main cpu and handled by "KIRK", the decryption engine.
_________________
http://www.hitmen-console.org
http://hitmen.c02.at/files/yapspd/
Back to top
View user's profile Send private message Visit poster's website
KPOT0B



Joined: 09 Mar 2006
Posts: 9

PostPosted: Thu Jun 01, 2006 8:10 am    Post subject: Reply with quote

According to http://hitmen.c02.at/files/yapspd/index.html

CXD2926 listed as Graphic Processor Chip
CXD1876 as ME

What is actually what? First one has GPU and CPU then? And ME just co-proc?
Back to top
View user's profile Send private message
groepaz



Joined: 01 Sep 2005
Posts: 305

PostPosted: Thu Jun 01, 2006 8:39 am    Post subject: Reply with quote

Quote:
What is actually what? First one has GPU and CPU then? And ME just co-proc?


ME is a second CPU, not a coprocessor. and what actually is in what chip package is more or less speculation :)
_________________
http://www.hitmen-console.org
http://hitmen.c02.at/files/yapspd/
Back to top
View user's profile Send private message Visit poster's website
hitchhikr



Joined: 04 Feb 2006
Posts: 83

PostPosted: Fri Jun 02, 2006 9:46 pm    Post subject: Reply with quote

groepaz: talking about the ME, is there a way to access it from game mode ? I know about the vector address being unreachable from this mode but there must be another way to do it using an already loaded library via a syscall or something ?

Btw: you may want to change the "mov" instruction into "move" in your IDA plugin.
Back to top
View user's profile Send private message
groepaz



Joined: 01 Sep 2005
Posts: 305

PostPosted: Sat Jun 03, 2006 4:38 am    Post subject: Reply with quote

Quote:
talking about the ME, is there a way to access it from game mode ? I know about the vector address being unreachable from this mode but there must be another way to do it using an already loaded library via a syscall or something ?


as far as i am aware there is no way for the "user" (as in usermode) to upload custom code to the ME.

Quote:
you may want to change the "mov" instruction into "move" in your IDA plugin.


uhm well, its not a standard instruction anyway :)
_________________
http://www.hitmen-console.org
http://hitmen.c02.at/files/yapspd/
Back to top
View user's profile Send private message Visit poster's website
Kojima



Joined: 26 Jun 2006
Posts: 275

PostPosted: Mon Jul 10, 2006 9:18 pm    Post subject: Reply with quote

How far has Media Engine coding got? I saw an old thread and people were pretty excited by running code on it, but has it be refined? Is it safe to code for the me in asm without fear of bricking your psp?
Back to top
View user's profile Send private message
groepaz



Joined: 01 Sep 2005
Posts: 305

PostPosted: Mon Jul 10, 2006 9:38 pm    Post subject: Reply with quote

Quote:
Is it safe to code for the me in asm without fear of bricking your psp?


yes ofcourse, just play around :)
_________________
http://www.hitmen-console.org
http://hitmen.c02.at/files/yapspd/
Back to top
View user's profile Send private message Visit poster's website
PSP250



Joined: 19 Nov 2005
Posts: 12

PostPosted: Tue Oct 17, 2006 8:35 am    Post subject: Reply with quote

hitchhikr wrote:
groepaz: talking about the ME, is there a way to access it from game mode ? I know about the vector address being unreachable from this mode but there must be another way to do it using an already loaded library via a syscall or something ?


You might try to research how the sce(Video|Audio)codec* range of user mode functions work. They seem to be an usermode API layer which interacts with the ME.

Things like sceVideocodecGetEDRAM, sceVideocodecSetMemory and similar seem to make use of the ME to store the "codec program".

Since this thread is from July, I guess someone has already dissected these functions ;)
Back to top
View user's profile Send private message
hitchhikr



Joined: 04 Feb 2006
Posts: 83

PostPosted: Tue Oct 17, 2006 9:49 am    Post subject: Reply with quote

Yes the issue has been resolved.
Back to top
View user's profile Send private message
groepaz



Joined: 01 Sep 2005
Posts: 305

PostPosted: Wed Oct 18, 2006 1:14 am    Post subject: Reply with quote

there is also some kind of lowlevel interface which only handles semaphores between the two cores....i *think* part of it can be seen in my irq-handler reversing.
_________________
http://www.hitmen-console.org
http://hitmen.c02.at/files/yapspd/
Back to top
View user's profile Send private message Visit poster's website
TyRaNiD



Joined: 18 Jan 2004
Posts: 918

PostPosted: Wed Oct 18, 2006 1:52 am    Post subject: Reply with quote

Well for pure interest sake, and we know how groepaz likes low level stuff ;)

The RPC works by posting an interrupt to the other processor using the following code:

Code:
 asm("sync\n");
    _sw(1, 0xBC100044);
    asm("sync\n");


If you do that on the SC you interrupt (I think interrupt 31) the ME, on the ME is does the reverse. On the SC side that is wrapped up in sceSysregInterruptToOther.

Now as for semaphores there seems to be a shared lock register at 0xBC100048 which both the ME and the SC can write to and it used as a spin lock. Not tested it properly myself mind but still ;)

Have fun :P
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