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 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"
 
{| class="wikitable"
|-
! Path !! Filename !! Usage (very speculative) !! width*heigth (lines 4 and 5) !! Notes
|-
| rowspan=4 | dev_flash/vsh/etc/
| 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]
|-
| 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
|-
| 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
|-
| 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
|}


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:
Aspect ratio/active array size?:  
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
  At the end of '''layout_factor_table_272.txt''' (and others factor tables):
  explore_plugin_ft.sprx
  725.9 <--- width active array?
  explore_plugin_game.sprx
  408 <--- height active array?
  explore_plugin_np.sprx
... 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)


== VSH Modules ==
In case of an standard image usually appears the width and the heigth in 2 consecutive lines, e.g:
All the .sprx files inside '''/dev_flash/vsh/module/'''. See: [[Plugin Interfaces]] page
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


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).
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


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]]
Others values are decimal (scalation factors?), e.g:
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 ?


== Modules Resources ==
*Notes:
All the .rco files inside '''/dev_flash/vsh/resource/'''. See: [[Resource Container (RCO)]] 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


=== RCOXML Configuration Files===
=XMB Modes=
These are XML files which defines the visual structure of XMB, are embedded inside all .rco files. See: [[RCOXML Coding]] page
The different working modes used by XMB


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"
*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)


====XMB Main ([[xmb plugin]])====
==XMB Main==
The XrossMediaBar after the coldboot, with full functions of all the items/icons displayed
The XrossMediaBar after the coldboot, with full functions of all the items/icons displayed


*Managed by: xmb_plugin.sprx / xmb_plugin_normal.rco
*Managed by: xmb_plugin.sprx / xmb_plugin_normal.rco


====XMB In-Game ([[xmb ingame]])====
==XMB In-Game (old)==
Introduced in firmware 2.40, available inside games by a '''short''' press of {{padps}} button
Inside games, appears/hides by a '''short''' (under 2.40 firmware) or '''long''' (over 2.40 firmware) press of {{padps}} button
 
Allows to asign controllers to players, view battery levels of controllers, quit game, etc...


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...
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


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...)
http://www.blogcdn.com/www.joystiq.com/media/2008/01/ps3-in-game-menu.jpg
 
*Managed by: impose_plugin.sprx / impose_plugin.rco
 
==XMB In-Game==
Inside games, appears/hides by a '''short''' {{padps}} press
 
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
 
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?"
 
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...
 
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...)


*Managed by: xmb_ingame.sprx / xmb_ingame.rco
*Managed by: xmb_ingame.sprx / xmb_ingame.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 (specially the loading of savegames and trophies submenues)
*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)


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


====Impose Menu ([[impose plugin]])====
==ColdBoot==
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
The animation when PS3 boots, not exactly a mode but should be considered part of XMB


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
*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco


*Managed by: impose_plugin.sprx / impose_plugin.rco
==GameBoot==
 
The animation when a game boots (practically not notable in newer firmwares), not exactly a mode but should be considered part of XMB
====ColdBoot ([[custom render plugin]])====
The old animation when PS3 boots (from 1.00 up to 2.60 firmware)


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco


====ColdBoot2 ([[custom render plugin]])====
=Virtual Shell (VSH)=
The new animation when PS3 boots (from 2.70 up to {{latestPS3}} firmware) , associated with [[coldboot.raf]]
The [[VSH|Virtual Shell]] encapsulates the XMB interface. It is loaded at: '''/dev_flash/vsh/module/vsh.self'''


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
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:
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).


====GameBoot ([[custom render plugin]])====
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 [[VSH module-action]]
The animation when a game boots


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
=XMBML Configuration Files=
These are XML files which outlines the logic of XMB categories. All of the XMBML files are included in all firmwares for all PS3 models, and are located in path: '''/dev_flash/vsh/resource/explore/xmb/'''


====OtherBoot ([[custom render plugin]])====
For more information about the structure of this files see: [[XMBML Structure]], [[XMBML Functions]] and [[VSH module-action]] pages.
Unknown, seems associated with OtherOS


*Managed by: custom_render_plugin.sprx / custom_render_plugin.rco
*Notes:
**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


===Languages===
{{PS3 XMBML 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...).
== Pre Logins ==
*'''category_user_login.xml'''
**Used for the 'Log In' XMB Category, which only shows when no user is logged in a offline account.
**Found in all "explore_*.sprx" modules, except: "explore_plugin_game.sprx" and "explore_plugin_np.sprx"


See: [[Languages]] page
*'''category_friend.xml''' with view id '''root_hide_friend'''
{{PlayStation Languages}}
**Used when not loged in a online account (PSN)


==Fonts==
== Target ID related ==
All the .ttf files in '''dev_flash/data/font/ '''
*'''category_user.xml, category_sysconf.xml, category_photo.xml, category_music.xml, category_video.xml, category_tv.xml, category_game.xml, category_network.xml, category_psn.xml, category_friend.xml''' using the view id '''root'''
**Used by CEX Target ID (retail PS3 models) and as the defaults used by other PS3 models that doesnt have an specific .xml or view id


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]]
== XMB Database Filters ==
These are XMBML Configuration Files which are used in the 'behind the scenes' of running the XMB.


Font can be configured in XMB -> settings -> Theme to "original", "rounded", and "pop". See: [[XMB Fonts]] page
*'''registory.xml'''
**Used for the organisation of User Data which is accessible from the XMB


==XMBML Configuration Files==
*'''upload_list.xml'''
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
**Photo/Music/Video Locations for Upload


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/'''
*'''download_list.xml'''
**Used for the Download of Photos/Music/Video to various external and internal locations.
**Directly Dependent Modules: 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


For more information about the structure of this files see: [[XMBML Files]], [[XMBML Coding]], [[XMBML Functions]] and [[XMBML Coding Examples]]
*'''playlist.xml'''
**Used for creating Playlists
**Directly Dependent Modules: filecopy_plugin.sprx, playlist_plugin.sprx


<div style="height:525px; width:1300px; margin:auto; overflow:auto">{{PS3 XMBML Configuration Files}}</div>
*'''videodownloader_list.xml'''
**Used for downloading videos, to both 'secure' and 'not secure' locations. USB Mass Storage devices are not included in either.
**Directly Dependent Modules: videodownloader_plugin.sprx


== XMB Layouts ==
*'''savedata_list.xml'''
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).
**Outlines the XMB entries for creating new saves, for both PSP and PS3 games.
**Directly Dependent Modules: ps3_savedata_plugin.sprx, ps3_savedata_plugin_game.sprx, ps3_savedata_plugin_psp.sprx


For more info about this files see: [[XMB Layouts]] page.
== Others ==
*'''null.xml'''
**Fallback/Dummy/Testing Purposes
**Found in all "explore_*.sprx" modules


{{XMB Layout Tables}}
*'''category_widget.xml'''
**RSS Related


{{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)