Editing Media Engine

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
<b>The Media Engine</b> (<i>or shortly ME</i>) — is a second MIPS based CPU core, that was not directly accessible by licensed developers. Instead, Sony runs code on the ME to facilitate decoding audio and video assets, along with the help of more specialized hardware like the Virtual Mobile Engine and "AVC".
<b>The Media Engine</b> (<i>or shortly ME</i>) — is a second MIPS based CPU core, that was not directly accessible by licensed developers. Instead, Sony runs code on the ME to facilitate decoding audio and video assets, along with the help of more specialized hardware like the Virtual Mobile Engine and "AVC".
==Overview==
 
The ME runs at the same clock frequency as the main CPU core. It seems to have the same instruction set.
The ME runs at the same clock frequency as the main CPU core. It seems to have the same instruction set.


Line 19: Line 19:
</pre>
</pre>
They might be used to store and retrieve information from and to the VME. They seem to be only used for video decoding.
They might be used to store and retrieve information from and to the VME. They seem to be only used for video decoding.
== Memory mapping ==
{| class="wikitable"
|-
! Start !! End !! Size !! Description
|-
| 0x00000000 || 0x001FFFFF || 0x00200000 (<i>2MiB</i>) || ME Memory
|-
| 0x04000000 || 0x041FFFFF || 0x00200000 (<i>2MiB</i>) || Graphics Engine VRAM
|-
| 0x040F8000 || 0x04100000 || 0x00008000 (<i>32KiB</i>) || VME Memory (Need confirmation, collide with GE mem)
|-
| 0x08000000 || 0x087FFFFF || 0x00800000 (<i>8MiB</i>) || Allegrex Kernel memory (RAM) (ME program is loaded at 0x8300000 - 0x837FFFF)
|-
| 0x08800000 || 0x09FFFFFF || 0x01800000 (<i>24MiB</i>) || Allegrex User memory (RAM)
|-
| 0x1C000000 || ?          || ?                        || [[Hardware Registers|Hardware Registers]]
|-
| 0x1FC00000 || 0x1FDFFFFF || 0x00200000                || MIPS Reset Vector
|-
|}
== Software ==
New ME binaries are carefully stripped from any debug info. But old version has few debug strings and even some function names. Example strings from 1.02 devkit firmware from ME program dedicated to UMD Video playback.
*Mangled names
ROM:08300000 TACHYON
ROM:083358AC pure virtual method called\n
ROM:083377C0 14PictListBField
ROM:083377D4 14PictListPField
ROM:083377E8 14PictListBFrame
ROM:083377FC 14PictListPFrame
ROM:08337810 13ReferenceList
ROM:08337898 8PocType2
ROM:083378A4 8PocType1
ROM:083378B0 8PocType0
ROM:083378E0 3Poc
ROM:083379B0 13PictListField
ROM:083379C0 13PictListFrame
ROM:083379D0 20RefFrameListLongTerm
ROM:083379E8 23RefFrameBList1ShortTerm
ROM:08337A04 23RefFrameBList0ShortTerm
ROM:08337A20 23RefFramePList0ShortTerm
ROM:08337A70 18ReferenceFrameList
ROM:08337A90 6squeueI5FrameLi4EE
ROM:08337BCC N10__cxxabiv121__vmi_class_type_infoE
ROM:08337BF4 N10__cxxabiv120__si_class_type_infoE
ROM:08337C1C N10__cxxabiv117__class_type_infoE
ROM:08337C40 St10bad_typeid
ROM:08337C50 St8bad_cast
ROM:08337C5C St9type_info
ROM:08337CB4 St13bad_exception
ROM:08337CC8 St9exception
ROM:08337CFC St9bad_alloc
*Version info:
AVCDEC SW_VER_1_08 ES_RTL
tkimura@avnpb
2004/10/26,15:14:55
/usr1/tkimura/Work/A1RING/A1RING_SOFT/Tools/BuildTools
Please note that all contributions to PSP Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PSP Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)