Editing XMB

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:
{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
|+ Read [http://manuals.playstation.net/document/en/ps3/current/ manuals.playstation.net/document] and [http://us.playstation.com/support/manuals/ps3/index.htm us.playstation.com/support/manuals]
|+ [http://manuals.playstation.net/document/en/ps3/current/ XMB manuals.playstation.net]
! {{icon category users}}<BR />[http://manuals.playstation.net/document/en/ps3/current/users/index.html Users] !! {{icon category settings}}<BR />[http://manuals.playstation.net/document/en/ps3/current/settings/index.html Settings] !! {{icon category photo}}<BR />[http://manuals.playstation.net/document/en/ps3/current/photo/index.html Photo] !! {{icon category music}}<BR />[http://manuals.playstation.net/document/en/ps3/current/music/index.html Music] !! {{icon category video}}<BR />[http://manuals.playstation.net/document/en/ps3/current/video/index.html Video] !! {{icon category tv}}<BR />[http://manuals.playstation.net/document/en/ps3/current/tv/tvvideoservices.html TV/Video Services] !! {{icon category game}}<BR />[http://manuals.playstation.net/document/en/ps3/current/game/index.html Game] !! {{icon category network}}<BR />[http://manuals.playstation.net/document/en/ps3/current/network/index.html Network] !! {{icon category psn}}<BR />[http://manuals.playstation.net/document/en/ps3/current/psn/index.html PlayStation Network] !! {{icon category friends}}<BR />[http://manuals.playstation.net/document/en/ps3/current/friends/index.html Friends]
! {{icon category users}}<BR />[http://manuals.playstation.net/document/en/ps3/current/users/index.html Users] !! {{icon category settings}}<BR />[http://manuals.playstation.net/document/en/ps3/current/settings/index.html Settings] !! {{icon category photo}}<BR />[http://manuals.playstation.net/document/en/ps3/current/photo/index.html Photo] !! {{icon category music}}<BR />[http://manuals.playstation.net/document/en/ps3/current/music/index.html Music] !! {{icon category video}}<BR />[http://manuals.playstation.net/document/en/ps3/current/video/index.html Video] !! {{icon category tv}}<BR />[http://manuals.playstation.net/document/en/ps3/current/tv/tvvideoservices.html TV/Video Services] !! {{icon category game}}<BR />[http://manuals.playstation.net/document/en/ps3/current/game/index.html Game] !! {{icon category network}}<BR />[http://manuals.playstation.net/document/en/ps3/current/network/index.html Network] !! {{icon category psn}}<BR />[http://manuals.playstation.net/document/en/ps3/current/psn/index.html PlayStation Network] !! {{icon category friends}}<BR />[http://manuals.playstation.net/document/en/ps3/current/friends/index.html Friends]
|-
|-
Line 7: Line 7:


=Description=
=Description=
The Xross Media Bar (pronounced "Cross Media Bar") (or [[XMB]]) is the graphical user interface for the PS3
The Xross Media Bar (or [[XMB]]) is the graphical user interface for the PS3


The first Sony product with a XMB interface was the "Sony PSX" in 2003 (A hybrid of a PS2 + DVR player with recorder capabilityes only released in japan, see: [http://www.psx.sony.co.jp/ PSX sony.co.jp] and [http://en.wikipedia.org/wiki/PSX_%28DVR%29 Wikipedia PSX]), later was used by the PSP, then PS3 and some Bravia TV's
The first Sony product with a XMB interface was the "Sony PSX" in 2003 (A hybrid of a PS2 + DVR player with recorder capabilityes only released in japan, see: [http://www.psx.sony.co.jp/ PSX sony.co.jp] and [http://en.wikipedia.org/wiki/PSX_%28DVR%29 Wikipedia PSX]), later was used by the PSP, then PS3 and some Bravia TV's
Line 42: Line 42:
{{XMB brightness}}
{{XMB brightness}}


=Virtual Shell (VSH)=
XMB can be configured to display the texts in several languages, this same language codes are used in contents that contains several languages availabes (like games, trophy installers, themes, etc...). The font can be configured to "original", "rounded", and "pop", see [[XMB Fonts]] page
The [[VSH|Virtual Shell]] encapsulates the XMB interface. It is loaded at: '''/dev_flash/vsh/module/vsh.self'''
{{XMB languages}}
 
=XMB Layout Tables=
This files contains a list of numeric values that defines the positions, sizes, etc... of most/all the items displayed in XMB
 
The files/filenames are divided in 4 resolution modes, most specifically his heigths: (272, 480, 720, and 1080), and 2 types: (factor, and grid).
 
Factor ones continas around 143 values, and Grid ones contains around 4545 values (grid ones are much bigger)
 
As a reference for known pixel sizes... all the values of the [[Content Information Files]] images appears in one or more of the "XMB Layout Tables"


And has numerous modules and descriptor files. The VSH does not directly load the XMB interface, it loads support modules to do that instead. The modules directly responsible for the XMB interface are in '''/dev_flash/vsh/module/''' and include:
{| class="wikitable"
explore_category_friend.sprx
|-
explore_category_game.sprx
! Path !! Filename !! Usage (very speculative) !! width*heigth (lines 4 and 5) !! Notes
explore_category_music.sprx
|-
explore_category_network.sprx
| rowspan=4 | dev_flash/vsh/etc/
explore_category_photo.sprx
| layout_factor_table_272.txt<BR />layout_grid_table_272.txt || PSVita [[Remote Play]] ? || 854x480 || PSVita remoteplay as 852x480 due to 2 (bottom) lines being reserved because of scaler (Vita framebuffer size is 80 x 272, 640 x 368, 720 x 408, or 960 x 544) and [http://en.wikipedia.org/wiki/Bilinear_filtering bilinear filltering]
explore_category_psn.sprx
|-
explore_category_sysconf.sprx
| layout_factor_table_480.txt<BR />layout_grid_table_480.txt || [http://en.wikipedia.org/wiki/NTSC NTSC], and [http://en.wikipedia.org/wiki/PAL PAL] TV's || 640x480 || 4/3 aspect ratio
explore_category_tv.sprx
|-
explore_category_user.sprx
| layout_factor_table_720.txt<BR />layout_grid_table_720.txt || [http://en.wikipedia.org/wiki/720p HD] TV's || 1280x720 || 16/9 aspect ratio
explore_category_video.sprx
|-
| layout_factor_table_1080.txt<BR />layout_grid_table_1080.txt || [http://en.wikipedia.org/wiki/1080p Full HD] TV's || 1920x1080 || 16/9 aspect ratio
|}


explore_plugin.sprx
Aspect ratio/active array size?:
explore_plugin_ft.sprx
explore_plugin_game.sprx
explore_plugin_np.sprx


== VSH Modules ==
At the end of '''layout_factor_table_272.txt''' (and others factor tables):
All the .sprx files inside '''/dev_flash/vsh/module/'''. See: [[Plugin Interfaces]] page
725.9 <--- width active array?
408 <--- height active array?
... 725.9/408 = 1.7791666666666666666666666666667 aspect ratio
... in last 2 lines of layout_factor_table_1080.txt... 1728/972= 1,7777777777777777777777777777778 (exactly proportional to 16/9)


Those modules are responsible for processing the XMB descriptor files (.XML format) used to generate the XMB interface. All of the above modules except for "'''explore_plugin_game.sprx'''" and "'''explore_plugin_np.sprx'''" contains a full list and location of XMB configuration files and the "root" entry which is to be loaded for the root of the category for each firmware type (CEX/CEX-Shop/DEX/ARC/TOOL).
In case of an standard image usually appears the width and the heigth in 2 consecutive lines, e.g:
In line 77 of: '''layout_factor_table_1080.txt'''
486
405
320
176
...320x176 is the size of ICON0.PNG and ICON1.PAM
...486x405 is the size of ICON2.PNG and ICON3.SWF (used in PS3_EXTRA disc structure)
...Is the only place inside this "layout tables" files where appears a 320 and in the next line a 176 consecutivelly


It's important to note that '''explore_plugin.sprx''' is capable of managing most of the XMB categories, and thus, not all of these modules might be in use at any time. The '''explore_plugin.sprx''' is actually available to '''vsh.self''' and other modules through the '''xmb_plugin.sprx''' and '''xmb_ingame.sprx''' See [[XMBML module-action]]
Some of the images are defined with 4 values, where the last one (unk2) is negative (width, heigth, unk1, unk2), e.g:
In line 2210 of '''layout_grid_table_1080.txt'''
1000
560
290
-157
310
250
115
-69
... 1000x560 is the size of PIC0.PNG... the value 290 (unk1) and -157 (unk2) seems to be associated with this image
... 310x250 is the size of PIC2.PNG... the value 115 (unk1) and -69 (unk2) seems to be associated with this image


== Modules Resources ==
Others values are decimal (scalation factors?), e.g:
All the .rco files inside '''/dev_flash/vsh/resource/'''. See: [[Resource Container (RCO)]] page
The first 8 lines of '''layout_factor_table_720.txt'''
1
0
0
1280  <--- width
720    <--- heigth
0.6667 <--- scalation factor ?
0.6667 <--- scalation factor ?
0.6923 <--- scalation factor ?


=== RCOXML Configuration Files===
*Notes:
These are XML files which defines the visual structure of XMB, are embedded inside all .rco files. See: [[RCOXML Coding]] page
**Some of the items in XMB are defined by a central point (not by an square composed by width and heigth where the image must fit)... like the main category icons of the XMB that uses a central point to scalate the icon proportionally in all directions when the cursor is focused on his column. Actually this icons are originally 128x128 pixels, but when displayed in XMB are reduced to half his size (64x64 or so), and when focused are displayed a bit bigger (100x100 or so)
**The most easy values to recognize are the resolution of the screen, always at top of the list (in the first lines)
**Sizes and positions of main XMB category icons should be at top of the lists because are something generic and the rest of XMB items is built around them
**When making tests with this files keep in mind the safest ones are the modes your TV doesnt uses by default and/or remoteplay layouts because after a reboot the PS3 doesnt loads them (only loaded when enabling remote play from XMB, not at boot time)... also keep in mind that the other layouts should be common with the "recovery menu" and "service mode" display modes... and you can change your TV resolution in the options in XMB settings column, then return to default resolution with a button combo at boot time


There are 2 modes used by XMB: "XMB Main" and "XMB In-game", and other modes that replaces XMB like the "Coldboot", "Gameboot", or "Impose"
=XMB Modes=
The different working modes used by XMB


====XMB Main ([[xmb plugin]])====
*Notes: Some games such as Fritz chess got even 3 different XMB In Game: V2 when the game is launched, V1 during autosave feature screen, and a kind of V1.5 after (ICONS barely visible and no background visible)
The XrossMediaBar after the coldboot, with full functions of all the items/icons displayed


*Managed by: xmb_plugin.sprx / xmb_plugin_normal.rco
==ColdBoot==
The animation when PS3 boots, not exactly a mode but should be considered part of XMB


====XMB In-Game ([[xmb ingame]])====
==Main XMB==
Introduced in firmware 2.40, available inside games by a '''short''' press of {{padps}} button
The XrossMediaBar after the coldboot, with full functions of all the items/icons displayed


Is a reduced version of the XrossMediaBar where most of the icons are "dummies" that triggers a message like: "to use this function you need to quit the game and return to Main XMB, want to quit?". <!-- lol, needed to find the exact error message --> The only items that are really enabled are the ones usefull to use inside games, like savegames view, trophies view, gamedata view, friends, chat, etc...
==GameBoot==
The animation when a game boots (practically not notable in newer firmwares), not exactly a mode but should be considered part of XMB


There are also some icons, options, or settings that only can appear in this mode (never displayed "XMB Main" mode)... like screenshots icon in the photo colum (when enabled), or some settings specific for emulators (in settings column, things like resolution, filters, etc...)
==XMB In-Game (old)==
Inside games, appears/hides by a '''short''' (under 2.40 firmware) or '''long''' (over 2.40 firmware) press of {{padps}} button


*Managed by: xmb_ingame.sprx / xmb_ingame.rco
Allows to asign controllers to players, view battery levels of controllers, quit game, etc...


*Note XMB In-Game is inneficient in concept, because displays items that are dummies not needed and cant be used, in some games the loading of XMB In-Game is laggy (specially the loading of savegames and trophies submenues)
This is the screen that appeared in older firmwares under 2.40. Never was named "XMB In-Game" but is listed here with this name because by now there is not found a reference about it in code, sprx usage, etc.. This differentiation of "XMB In-Game" modes was also named (v1) and (v2) in other places, but this is not an accurate naming


*http://www.blogcdn.com/www.engadget.com/media/2008/06/ps3-ingame-xmb-2.40-clock.jpg
http://www.blogcdn.com/www.joystiq.com/media/2008/01/ps3-in-game-menu.jpg
*http://www.viddler.com/simple/1ffb1ce3/


====Impose Menu ([[impose plugin]])====
==XMB In-Game==
Available in "Main XMB" and inside games by a '''short''' press (under 2.40 firmware) or '''long''' press (over 2.40 firmware) of {{padps}} button
Inside games, appears/hides by a '''short''' {{padps}} press


Allows to asign controllers to players, view battery levels of controllers, quit game, etc... http://www.blogcdn.com/www.joystiq.com/media/2008/01/ps3-in-game-menu.jpg
Introduced in firmware 2.40, replaces the '''short''' {{padps}} press (and the old mode was assigned to a '''long''' press). Both modes are availables in newer firmwares


*Managed by: impose_plugin.sprx / impose_plugin.rco
Is a reduced version of the XrossMediaBar where most of the icons are "dummies" that triggers a message this kind: "to use this function you need to quit the game and return to Main XMB, want to quit?"


====ColdBoot ([[custom render plugin]])====
The only items that are really enabled are the ones usefull to use inside games, like savegames view, trophies view, gamedata view, friends, chat, etc...
The old animation when PS3 boots (from 1.00 up to 2.60 firmware)


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
There are also some items that can appear only in this mode (not in the main XMB)... like screenshots icon in the photo colum (when enabled), or some settings specific for emulators (in settings column, things like resolution, filters, etc...)


====ColdBoot2 ([[custom render plugin]])====
*Managed by: xmb_ingame.sprx
The new animation when PS3 boots (from 2.70 up to {{latestPS3}} firmware) , associated with [[coldboot.raf]]


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
*Note XMB In-Game is inneficient in concept, because displays items that are dummies not needed and cant be used, in some games the loading of XMB In-Game is laggy (and the loading of trophies list is laggy in most games)


====GameBoot ([[custom render plugin]])====
*http://www.blogcdn.com/www.engadget.com/media/2008/06/ps3-ingame-xmb-2.40-clock.jpg
The animation when a game boots
*http://www.viddler.com/simple/1ffb1ce3/


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
=Virtual Shell (VSH)=
The [[VSH|Virtual Shell]] encapsulates the XMB interface. It is loaded at: '''/dev_flash/vsh/module/vsh.self'''


====OtherBoot ([[custom render plugin]])====
And has numerous modules and descriptor files. The VSH does not directly load the XMB interface, it loads support modules to do that instead. The modules directly responsible for the XMB interface are in '''/dev_flash/vsh/module/''' and include:
Unknown, seems associated with OtherOS
explore_category_friend.sprx
explore_category_game.sprx
explore_category_music.sprx
explore_category_network.sprx
explore_category_photo.sprx
explore_category_psn.sprx
explore_category_sysconf.sprx
explore_category_tv.sprx
explore_category_user.sprx
explore_category_video.sprx
explore_plugin.sprx
explore_plugin_ft.sprx
explore_plugin_game.sprx
explore_plugin_np.sprx
Those modules are responsible for processing the XMB descriptor files (.XML format) used to generate the XMB interface. All of the above modules except for "'''explore_plugin_game.sprx'''" and "'''explore_plugin_np.sprx'''" contains a full list and location of XMB configuration files and the "root" entry which is to be loaded for the root of the category for each firmware type (CEX/CEX-Shop/DEX/ARC/TOOL).


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
It's important to note that '''explore_plugin.sprx''' is capable of managing most of the XMB categories, and thus, not all of these modules might be in use at any time. The '''explore_plugin.sprx''' is actually available to '''vsh.self''' and other modules through the '''xmb_plugin.sprx''' and '''xmb_ingame.sprx''' See [[XMB XML Coding#Module-Action|Module Action]]


===Languages===
=XMB Configuration Files=
Language files are stored inside [[Resource Container (RCO)]] files, are loaded based on a user setting stored in [[XRegistry.sys]]


XMB can be configured to display the texts in several languages, and every language uses a language code internally to identify it, this same language codes are used in contents that contains several languages availabes (like games, trophy installers, themes, etc...).
These are .XML files which outline the logic of XMB categories. All of the XMB .XML configuration files are located in path: '''/dev_flash/vsh/resource/explore/xmb/'''


See: [[Languages]] page
For information on the structure of this files, see [[XMB XML Coding]], [[XMB modding]] and [[VSH module-action]] pages.
{{PlayStation Languages}}


==Fonts==
{{PS3 XMB XML Configuration Files}}
All the .ttf files in '''dev_flash/data/font/ '''


The fonts are loaded by the rcoxml files (rcoxml files contains font definitions like color, sizes, type, etc...) and based on a user setting stored in [[XRegistry.sys]]
*The VSH heavily regulates the Setting Category and the .XML file is only used by when accessing the XMB "in-game", even then it restricts what parts of the .XML are actually shown. It is not possible to modify the Settings Category to any effect by editing the .XML configuration file


Font can be configured in XMB -> settings -> Theme to "original", "rounded", and "pop". See: [[XMB Fonts]] page
*This table is not inclusive of other PS3 firmwares, but their root entries are present in all PS3 Firmwares. All PS3 Firmwares (CEX/DEX/CEX-Shop/...) contain the *same* XML configuration files for any given firmware version.


==XMBML Configuration Files==
*In category_friend.xml <View id="root_hide_friend"> is used when not loged in ? (no friends)
Are the configuration files for the modules responsibles of the contents in the 10 XMB categories, loaded individually by the associated '''dev_flash/vsh/module/explore_category_*.sprx''' module


All the XMBML configuration files are included in all firmwares for all PS3 models, and are located in path: '''/dev_flash/vsh/resource/explore/xmb/'''
==Other XMB Configuration Files==


For more information about the structure of this files see: [[XMBML Files]], [[XMBML Coding]], [[XMBML Functions]] and [[XMBML Coding Examples]]
These are XMB Configuration Files which are used in the 'behind the scenes' of running the XMB.


<div style="height:525px; width:1300px; margin:auto; overflow:auto">{{PS3 XMBML Configuration Files}}</div>
{| class="wikitable"
|-
! Configuration File !! Directly Dependent Modules !! Module Use
|-
| category_user_login.xml || Found in all "explore_*.sprx" modules, except "explore_plugin_game.sprx" and "explore_plugin_np.sprx" || XMB Configuration File for the 'Log In' XMB Category, which only shows when no user is logged in.
|-
| category_widget.xml || - || RSS Related
|-
| download_list.xml || data_copy_plugin.sprx, download_plugin.sprx, friendim_plugin.sprx, photolist_plugin.sprx, playlist_plugin.sprx, scenefolder_plugin.sprx, sysconf_plugin.sprx, videodownloader_plugin.sprx, webbrowser_plugin.sprx, webrender_plugin.sprx || Used For the Download of Photos/Music/Video to various external and internal locations.
|-
| null.xml || Found in all "explore_*.sprx" modules || Dummy File/Testing Purposes?
|-
| playlist.xml || filecopy_plugin.sprx, playlist_plugin.sprx || Creating Playlists
|-
| registory.xml || - || Used for the organisation of User Data which is accessible from the XMB
|-
| savedata_list.xml || ps3_savedata_plugin.sprx, ps3_savedata_plugin_game.sprx, ps3_savedata_plugin_psp.sprx || Outlines the XMB entries for creating new saves, for both PSP and PS3 games.
|-
| upload_list.xml || - || Photo/Music/Video Locations for Upload
|-
| videodownloader_list.xml || videodownloader_plugin.sprx || For downloading videos, to both 'secure' and 'not secure' locations. USB Mass Storage devices are not included in either.
|-
|}


== XMB Layouts ==
=Sony Documentation=
This files contains a list of numeric values that defines the positions, sizes, etc of most/all the items displayed in XMB. They're divided into 4 resolution modes, most specifically by these heights: (272, 480, 720, and 1080), and 2 types: (factor, and grid).


For more info about this files see: [[XMB Layouts]] page.
http://us.playstation.com/support/manuals/ps3/index.htm


{{XMB Layout Tables}}


{{Firmware}}<noinclude>[[Category:Main]]</noinclude>
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 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)