XMB
Users |
Settings |
Photo |
Music |
Video |
TV/Video Services |
Game |
Network |
PlayStation Network |
Friends |
---|
Description
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: PSX sony.co.jp and Wikipedia PSX), later was used by the PSP, then PS3 and some Bravia TV's
The word "Xross" (the "X" itself) is a reference to the alignment of the icons in rows and columns, each column is a category
System Software can be updated from the XMB settings by using an .PUP file
Installable Content (games or apps in .pkg format, and a few PS2 Discs), and contents in PS3 Discs, are "preloaded" by XMB using an small file (see: PARAM.SFO) this file is indexed in a database for efficiency purposes and fast access (see: XMB Database) and contains an identifyer that belongs to an specific XMB column (see: CATEGORY)
The dynamic wave on the background theme are more condensed into a 'ribbon' rather than the PSP's large waves, unselected icons shrink slightly and every selectable background color has been made a shade darker.
The PS3 includes the ability to store various master and secondary user profiles, manage and explore various photos format(.MPO since FW 3.70) with Photo Gallery or an ordinary musical/non-musical slideshow, rip audio CDs, rip iTunes AAC protected files, play and copy music and video files from the hard disk drive, an optional USB mass storage or Flash card, or an optical disc (Blu-ray Disc or DVD-Video).
Web browser, also supported with USB or BlueTooth keyboard, can download multiple file types but with some restrictions. Shortcut for launching website is also possible from TV/VIDEO collumn.
Since FW 4.30, trophies have been moved to the PlayStation Network category, in which Online shopping through the PlayStation Store is possible.
The Friends menu allows email with emoticons and attached picture features and video chat which requires an optional webcam (although the PlayStation Eye and the EyeToy are official webcams, most USB webcams will work).
The PS3 reserves 48 MB of RAM at all times for XMB functions, multi-task in ways such as listening to stored audio files while surfing the web, looking at pictures or playing games.
The XMB by default changes its color depending on the current month of the year and brightness depending on the time of the day (only in original and classic Themes). XMB color can be configured to "default" (changes every month) or one of the 12 color preconfigured for months, in XMB Settings column ---> Theme settings ---> Color
This change of color affects background, waves, all the icons, and other images like the "side menu". The color is applyed to the originall images like a "color filter" layer over them (note originall icons are semitransparent white to improve this effect)
The background images changes acordingly with the month. The file lines.qrc contains 24 textures_month_bg_*.dds images of 64x32 pixels. Each day has 2 different images for "day" and "night". See Qt Resource Container (QRC)
The color filter and brignhness values in this tables are not the exact values, is unknown how this filters are applyed, where are stored, and how works, see Talk:XMB for speculations
Time | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Value |
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
Template: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"
Path | Filename | Usage (very speculative) | width*heigth (lines 4 and 5) | Notes |
---|---|---|---|---|
dev_flash/vsh/etc/ | layout_factor_table_272.txt 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 bilinear filltering |
layout_factor_table_480.txt layout_grid_table_480.txt |
NTSC, and PAL TV's | 640x480 | 4/3 aspect ratio | |
layout_factor_table_720.txt layout_grid_table_720.txt |
HD TV's | 1280x720 | 16/9 aspect ratio | |
layout_factor_table_1080.txt layout_grid_table_1080.txt |
Full HD TV's | 1920x1080 | 16/9 aspect ratio |
Aspect ratio/active array size?:
At the end of layout_factor_table_272.txt (and others factor tables): 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)
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
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
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 ?
- Notes:
- 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
Virtual Shell (VSH)
The Virtual Shell encapsulates the XMB interface. It is loaded at: /dev_flash/vsh/module/vsh.self
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).
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
RCOXML Configuration Files
These are XML files which defines the visual structure of XMB, are inside all Resource Container (RCO) files wich are loaded by the associated Plugin Interfaces
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 Main
The XrossMediaBar after the coldboot, with full functions of all the items/icons displayed
- Managed by: xmb_plugin.sprx / xmb_plugin_normal.rco
XMB In-Game (old)
Inside games, appears/hides by a short (under 2.40 firmware) or long (over 2.40 firmware) press of button
Allows to asign controllers to players, view battery levels of controllers, quit game, 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
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 press
Introduced in firmware 2.40, replaces the short 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
- 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.viddler.com/simple/1ffb1ce3/
ColdBoot
The animation when PS3 boots, not exactly a mode but should be considered part of XMB
- Managed by: custom_render_plugin.sprx / custom_render_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
- 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/
For more information about the structure of this files see: XMBML Structure, XMBML Functions and XMBML Coding Examples pages.
- 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
XMB | Users |
Settings |
Photo |
Music |
Video |
TV/Video Services |
Game |
Network |
PlayStation Network |
Friends |
---|---|---|---|---|---|---|---|---|---|---|
Pre Logins (Common) |
category_user_login.xml root |
category_friend.xml root_hide_friend | ||||||||
Retail CEX View id |
category_user.xml root |
category_sysconf.xml root |
category_photo.xml root |
category_music.xml root |
category_video.xml root |
category_tv.xml root |
category_game.xml root |
category_network.xml root |
category_psn.xml root |
category_friend.xml root |
Debug DEX DECR View id |
category_user.xml root |
category_sysconf.xml root |
category_photo.xml root |
category_music.xml root_for_dex |
category_video.xml root_for_dex |
category_tv.xml root |
category_game_tool2.xml root_dex |
category_network_tool2.xml root |
category_psn.xml tool_root |
category_friend.xml root |
Shop (Staff) SHOP View id |
category_user.xml root |
category_sysconf.xml root |
category_photo.xml root |
category_music.xml root |
category_video.xml root |
category_tv.xml root |
category_game.xml root |
category_network_shop.xml shop_staff_root |
category_psn.xml shop_staff_root |
category_friend.xml root |
Shop (Guest) SHOP View id |
category_user_shop.xml root |
category_sysconf_shop.xml root |
category_photo.xml shop_root |
category_music.xml root |
category_video.xml root |
category_tv.xml root |
category_game.xml shop_guest_root |
category_network_shop.xml root |
category_psn.xml shop_guest_root |
category_friend_shop.xml root |
Arcade ARC View id |
category_sysconf.xml root |
category_photo.xml root |
category_music.xml root |
category_video_bdu.xml ? root |
category_game_tool2.xml root_arcade |
category_network.xml root |
category_friend.xml root | |||
AV/Test AV TEST View id |
category_user.xml root_for_BDU ? |
category_sysconf.xml root |
category_photo.xml root |
category_music.xml root |
category_video_bdponly.xml ? root |
category_tv.xml root |
category_game.xml ? root_for_BDU ? |
category_network.xml ? root |
category_psn.xml root ? |
category_friend.xml root ? |
XMB database Filters (Common) |
registory.xml | registory.xml | registory.xml | |||||||
upload_list.xml | ||||||||||
download_list.xml | ||||||||||
playlist.xml | videodownloader_list.xml | savedata_list.xml | ||||||||
Others | ||||||||||
XML FallBack | null.xml root | |||||||||
Obsolete and Unknown |
category_widget.xml root |
|||||||||
category_network_tool2.xml root_info |
||||||||||
category_photo.xml stage_demo_root |
category_music.xml stage_demo_root |
category_network.xml stage_demo_root |
category_friend.xml stage_demo_root | |||||||
category_friend_tool2.xml root_for_soe | ||||||||||
category_avchat.xml root | ||||||||||
category_network_.xml xai_test_root |
||||||||||
category_network_.xml store_root |
||||||||||
category_video_bdponly.xml root |
||||||||||
category_user.xml root_for_BDU |
category_game.xml root_for_BDU |
|||||||||
category_user.xml root_power_only |
||||||||||
category_game_tool2.xml root_for_ingame_gaikai_dex root_for_sdps3_gaikai_dex |
||||||||||
category_game_exitonly.xml root |
||||||||||
category_media.xml ? root |
||||||||||
category_user_tool2.xml root |
||||||||||
debug.xml ? root |
||||||||||
root.xml ? segmentize root |
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"
- category_friend.xml with view id root_hide_friend
- Used when not loged in a online account (PSN)
- 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
XMB Database Filters
These are XMBML Configuration Files which are used in the 'behind the scenes' of running the XMB.
- registory.xml
- Used for the organisation of User Data which is accessible from the XMB
- upload_list.xml
- Photo/Music/Video Locations for Upload
- 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
- playlist.xml
- Used for creating Playlists
- Directly Dependent Modules: filecopy_plugin.sprx, playlist_plugin.sprx
- 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
- savedata_list.xml
- 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
Others
- null.xml
- Fallback/Dummy/Testing Purposes
- Found in all "explore_*.sprx" modules
- category_widget.xml
- RSS Related
|