XMB

From PS3 Developer wiki
Revision as of 08:24, 27 October 2014 by Sandungas (talk | contribs)
Jump to navigation Jump to search
Read manuals.playstation.net/document and us.playstation.com/support/manuals
Users
Users
Settings
Settings
Photo
Photo
Music
Music
Video
Video
TV/Video Services
TV/Video Services
Game
Game
Network
Network
PlayStation Network
PlayStation Network
Friends
Friends
XMB Classic theme

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

XMB colors during the year. Color filter values are orientative
Month All January February March April May June July August September October November December
Color code 0 1 2 3 4 5 6 7 8 9 10 11 12
Day background Varies Textures month bg rgb 01.jpg Textures month bg rgb 02.jpg Textures month bg rgb 03.jpg Textures month bg rgb 04.jpg Textures month bg rgb 05.jpg Textures month bg rgb 06.jpg Textures month bg rgb 07.jpg Textures month bg rgb 08.jpg Textures month bg rgb 09.jpg Textures month bg rgb 10.jpg Textures month bg rgb 11.jpg Textures month bg rgb 12.jpg
Night background Varies Textures month bg night 01.jpg Textures month bg night 02.jpg Textures month bg night 03.jpg Textures month bg night 04.jpg Textures month bg night 05.jpg Textures month bg night 06.jpg Textures month bg night 07.jpg Textures month bg night 08.jpg Textures month bg night 09.jpg Textures month bg night 10.jpg Textures month bg night 11.jpg Textures month bg night 12.jpg
Color filter MonthTime
CBCBCB D8BF1A 6DB217 E17E9A 178816 9A61C8 02CDC7 0C76C0 B444C0 E5A708 875B1E E3412A


XMB brightness during the day. Values are orientative
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


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

VSH Modules

All the .sprx files inside /dev_flash/vsh/module/. See: Plugin Interfaces page

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

Modules Resources

All the .rco files inside /dev_flash/vsh/resource/. See: Resource Container (RCO) page

RCOXML Configuration Files

These are XML files which defines the visual structure of XMB, are embedded inside all .rco files. See: RCOXML Structure page

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 (xmb plugin)

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 (xmb ingame)

Introduced in firmware 2.40, available inside games by a short press of Dualshock PS button button

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

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

Impose (impose plugin)

Available in "Main XMB" and inside games by a short press (under 2.40 firmware) or long press (over 2.40 firmware) of Dualshock PS button button

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: impose_plugin.sprx / impose_plugin.rco

ColdBoot (custom render plugin)

The animation when PS3 boots

  • Managed by: custom_render_plugin.sprx / custom_render_plugin.rco

GameBoot (custom render plugin)

The animation when a game boots

  • Managed by: custom_render_plugin.sprx / custom_render_plugin.rco

Languages

Language files are stored inside .rco containers, 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...). See: Languages page Template:XMB languages

Fonts

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

Font can be configured in XMB -> settings -> Theme to "original", "rounded", and "pop". See: XMB Fonts page

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
PS3 XMBML Configuration Files
XMB Users
Users
Settings
Settings
Photo
Photo
Music
Music
Video
Video
TV/Video Services
TV/Video Services
Game
Game
Network
Network
PlayStation Network
PlayStation Network
Friends
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)

Target ID related

  • 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

XMB Layouts

This files contains a list of numeric values that defines the positions, sizes, etc of most/all the items displayed in XMB. Are divided in 4 resolution modes, most specifically by his heigths: (272, 480, 720, and 1080), and 2 types: (factor, and grid).

For more info about this files see: XMB Layouts page.

XMB Layout Tables
Path Filename Usage Resolution Aspect Ratio
dev_flash/vsh/etc/ layout_grid_table_1080.txt
layout_factor_table_1080.txt
1080p and 1080i for Full HD displays 1920x1080 16/9
layout_grid_table_720.txt
layout_factor_table_720.txt
720p for HD displays 1280x720
layout_grid_table_480.txt
layout_factor_table_480.txt
480p and 480i for ED and SD displays 640x480 4/3
layout_grid_table_272.txt
layout_factor_table_272.txt
PSP/PSV/PC Remote Play 480x272 non standard
  • 576p and 576i (the ED and SD displays for PAL regions) sems to be managed with the same XMB Layouts than 480p and 480i (the ED and SD displays for NTSC regions)