Xbox:UnleashX

From ConsoleMods Wiki
Revision as of 05:03, 10 January 2021 by Derf (talk | contribs)
Jump to navigation Jump to search


UnleashX is a popular dashboard which was introduced late in the initial years of the Xbox scene. It is flexible and user friendly, and known for its extensive skinning capabilities, and extra features. It's extra features include a text editor, screensaver, FTP client/server, game save browser and downloader, a formatting menu, and support for game/application preview images or videos. Note that this dashboard does not provide a built in trainer menu, and therefore you will need to use the Xored Trainer Launcher.

The last official version was 0.39.0528A Build 584.

Default Menu

The layout of everything will vary based on your chosen skin. These are the defaults.

Launch DVD

Launches the DVD that is in the system. If the "Tray" text in the top right corner reads as empty, no disc is detected.

Games

Detects executable (XBE) files inside of E:\Games, F:\Games, and G:\Games and lists them. If you place a rip of a game, such as Halo 2 inside one of these directories, you can launch it here.

Applications

Detects executable (XBE) files inside of E:\Apps, F:\Apps, and G:\Apps and lists them. If you place applications such as DVD2Xbox inside of one of these directories, you can launch it here.

Emulators

Detects executable (XBE) files inside of E:\Emulators, F:\Emulators, and G:\Emulatorsand lists them. If you place emulators such as Surreal64 inside of one of these directories, you can launch it here.

System

Settings

Opens UnleashX settings. Here you can configure your video settings and enable the F or G drive if it is disabled. The version number is displayed on the top line under System Settings.

Game Saves Manager

Opens the Xbox game save manager. This is the same as the one on the Microsoft dashboard.

Misc

  • Start/Stop/Reset FTP: Mainly used if you don't want FTP on at all times.
  • Reset Network: If you have changed your network settings, you will need to select this for your Xbox to take them into effect.
  • Open or close your DVD drive: To be used if your Eject button stops working.
  • Copy Game Disc: UnleashX will rip the game and store it in F:\Games\[game name]\, which will be playable from the Games menu on the main menu. It is not recommended to use this, as Xbox:DVD2Xbox is a better alternative, which patches games and circumvents extra security added in some games.

Format Menu

This menu will allow you to format your drives. The default password is "Xbox" with a capital X in front. This will wipe all data from the selected drive.

Skins

Allows you to choose a different skin for your dashboard. You can add more skins by placing them in C:\Skins\ or E:\Skins\\. Sometimes it will revert your skin on reboot, in this case make sure to double-tap A when selecting the skin, and to press A hard when saving changes.

File Manager

Allows you to move, copy, and rename files on your Xbox. It can also browser and extract ZIP/RAR files.

Controls:

  • LT/RT: Switch between left or right window.
  • A: Open the highlighted folder, edit file (text files), or execute file (XBE).
  • B: Go back up a folder.
  • X: Select file(s)
  • White/Start: Options to copy, move, or rename files.
    • If an XBE is selected, you can rename it's XBE Title which is the displayed title in the Games list.
    • Back: Exit to dashboard.

MS Dashboard

Boots the Microsoft Dashboard.

Restart / Shutdown

Soft restarts or shuts down your Xbox.


Modifying the Menu

You can add, remove, or move menu options by modifying the Config.xml located in the dashboard installation directory. The directory structure is pretty self explanatory, and you can add folders manually in any spot in the hierarchy. Below is an example to make a folder called "Homebrew Games" in the Games directory which contains the games inside the folder G:\HOMEBREW\\.

   <List Text="Games" Sort="On" Auto="On" DelayLoad="True">
       <List Text="Homebrew Games" Sort="On" Auto="On">
               <Path>G:\HOMEBREW</Path>
       </List>
       ...
   </List>

RSS Feed

The RSS feed feature in UnleashX is not particularly polished or compatible. It originally pointed to an Xbox-Scene news RSS feed by default, but this feed is no longer active. Reuters RSS feeds did work with it, but those were taken offline in 2020.

It seems that some of the additional formatting in newer RSS feeds throws off the XML engine in UnleashX. A simple RSS format will work with UnleashX:

   <rss><channel>
       <item><title>The Title From The RSS Feed</item></title>
       <item><title>Another Title From The RSS Feed</item></title>
       ...
   </channel></rss>

If you know how to set up a server, it should be pretty straightforward to set up an endpoint that filters a target RSS feed into the correct format. One note though -- UnleashX limits the length of its RSS feed items to 100 characters. Your server should probably filter out items longer than 100 characters, unfortunately.

The URL of the RSS feed is defined in the config.xml file. You can define multiple feeds, but only non-continuous mode will show the content from all feeds (continuous mode only shows the first feed). The RSS feed URL does not need 'www', although subdomains are supported. Numerical IP addresses will also work. The endpoint must be on port 80; UnleashX doesn't support getting the RSS feed from another port; HTTPS won't work either. For example:

   <Newsfeed Enable="True" Interval="5" Continuous="Yes" Separator=" | ">
       <URL>luelinks.tk/rssFark</URL>
   </Newsfeed>

Note that this feed should work. Another one that will work, pointing to BBC World News, is:

   <URL>luelinks.tk/rssBBC</URL>

The "Continuous" flag defines whether the RSS feed will scroll along the bottom of the screen in "ticker" style, or if the item titles will display one at a time.

If you're in continuous mode, only the first RSS feed listed under <Newsfeed> config.xml will be displayed; it will start over when the content runs out. UnleashX will still retrieve and cache content for your other feeds; it just won't be displayed. It is advisable to put spaces to the left and right of your "Separator" character, or else all the text will flow together. The "Interval" has no effect in continuous mode.

If you're not in continuous mode, the Interval determines how often it will show a new title on the screen. The default Interval of 40 seconds is quite a long time to read 100 characters of text; something like 5-10 seconds might be more appropriate here. In non-continuous mode, UnleashX will display information for all your feeds listed in config.xml.

UnleashX will cache the latest contents from the RSS feed, and put them in the folder E:\UDATA\9e115330\1BD63F897543 and name the file based on the feed address. If the feed was asdf.com/asdfRSS.xml, the filename would be asdfRSS.xml. You could edit this file as plaintext, and put an "artificial" RSS feed in UnleashX if you wanted to. For example, if you had UnleashX set up as a kiosk, you could use a fake RSS feed to display instructions on the screen. Remember that there's a 100 character limit per item!

If you have more than one RSS feed, UnleashX seems to retrieve and cache these within a minute after startup. At startup, UnleashX only immediately retrieves the first feed.

One note about caching -- the RSS feed will not be updated with the latest content until UnleashX restarts (soft reset ok). UnleashX will show cached content, or no content at first if it's a new feed. So, when you add an RSS feed, be sure to restart UnleashX twice after you edit and save config.xml, in order to test the feed.

If your skin doesn't include an area for the RSS feed, you can add it to your skin.xml, in the <Main> section:

   <Text Left="0" Top="394" Width="640" Align="Left" Color="0xA096c1cf" Source="$Newsfeed$"></Text>

The RSS feed scrolls based on the text scrolling speed in Settings > System > Font > Scroll Speed. A lower number means the text will scroll faster. A scroll speed of 40 is default; 10 is decently fast.


Custom Splash

You can add a splash screen for UnleashX, and skins can provide their own splash, but occasionally it will get overwritten automatically, with an image found in the UnleashX default.xbe. I'm not sure what causes this, but you can add a config.xml menu item to reset the splash screen:

Be sure to edit Arg1 to point to the location of your custom splash:

   <Item Action="copy" Arg1="E:\Skins\Splash.jpg" Arg2="E:\UDATA\9e115330\0064122817A8\Splash.jpg">Reset Splash</Item>

This image must be a JPG. Since the splash is displayed in 4:3 480p, it should be sized 720x480. Otherwise, there will be jaggy resizing artiacts on your splash. This means your image will still be stretched when it displays at 16:9 res, but it will look better than with the resizing artifacts. One approach is to take a larger image, then horizontally scale the contents by 0.844x, but still resulting in a 720x480 image. When the image is horizontally stretched by your screen, it will now appear to be the correct scale.

Screensaver Images

The screensaver supports BMP, JPG, and PNG images, but it has issues with images that are in anything other than 32-bit PNG format. (that is, PNG with an alpha channel). Otherwise, it seems to put the image through some kind of conversion that results in jaggies. (thanks to Rocky5 for this information.) One way of improving this is making the source image larger. The larger the image is, the less visible the artifacts are, due to downscaling. If you want higher quality images in the UnleashX screensaver, you may be better off using 1080p-sized JPGs even if your output resolution is at 720p, as these will be smaller on your disk than 720p-sized 32-bit PNG files.

Note that 720p-sized JPGs will look acceptable, but a little jaggy at 720p. 576p or 480p 32-bit PNGs are another option here.

If you do want to use 32 bit PNGs, image conversion software typically does not support adding an alpha channel to PNGs which don't already have an alpha channel. However, this can be done using the software ImageMagick. You can use this command in a loop in a batch file to process multiple images:

   convert imageName.png -alpha on imageNameOut.png

>4096 Songs and Screensavers

UnleashX allows you to set background music, and screensaver wallpaper directories. You can't have more than 4096 files in one directory on the Xbox filesystem. While 4096 background images is a lot, you will start seeing the same ones quite a bit, eventually.

Another consideration is if you have a large number of music files in a folder, UnleashX will take additional time to start up. Around 500 music files per folder will maintain a quick startup.

If you want to have more than 500 songs at startup and/or more than 4096 wallpapers, you can try this workaround. It allows you to rotate a group of folders, by renaming all the folders.

- Split up your songs and wallpapers into separate directories, such as F:\Pictures\Wallpaper\Group1, F:\Pictures\Wallpaper\Group2, etc.

- Set your screensaver or startup music folder to point to the first folder in the group of folders, e.g. F:\Pictures\Wallpaper\Group1

- Now, add this to the <Menu> section in your UnleashX config.xml file. Be sure to edit it to reflect the folders you've set up on your own Xbox hard drive! You probably want to put this as a sub-menu item of another item, like Settings, so it's not taking up space on the main menu.

       <List Text="Rotate Wallpaper" Sort="Off" Batch="True">
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group1" Arg2="F:\Pictures\Wallpaper\720p\GroupTemp"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group2" Arg2="F:\Pictures\Wallpaper\720p\Group1"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group3" Arg2="F:\Pictures\Wallpaper\720p\Group2"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group4" Arg2="F:\Pictures\Wallpaper\720p\Group3"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group5" Arg2="F:\Pictures\Wallpaper\720p\Group4"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group6" Arg2="F:\Pictures\Wallpaper\720p\Group5"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group7" Arg2="F:\Pictures\Wallpaper\720p\Group6"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\Group8" Arg2="F:\Pictures\Wallpaper\720p\Group7"></Item>
           <Item Action="rename" Arg1="F:\Pictures\Wallpaper\720p\GroupTemp" Arg2="F:\Pictures\Wallpaper\720p\Group8"></Item>
           <item action="messagebox" arg1="Folders rotated.">Wallpaper rotated successfully.</item>
       </List>

- It is safe to rotate your screensaver image directories while UnleashX is running, because your screensaver can't be running at the same time as you are rotating the files, and the renaming operation happens very quickly. But for music, UnleashX plays music at startup, and is accessing the music files while it is playing music. Thus, if you are playing music (as by default) when you try to rotate the music folders, the operation will fail and your folders could get mis-renamed. Note that this is only if the music folder for UnleashX was pointed at something other than the first item -- otherwise it will try to rename the first item and fail, which is safe, so it's recommended to keep UnleashX pointed at the first item that gets renamed. An additional user confirmation step is required here to make sure the user has stopped their music. Be sure to edit these folders to reflect your own Xbox hard drive.


       <List Text="Rotate Music Folders" Sort="Off" Batch="True">
       <Item Action="AskUser" Arg1="Rotate Music Folders?" Arg2="You must STOP (not pause) any playing music before starting this operation. If you are playing music from one of these folders with UnleashX right now, the operation will fail and your folders could named incorrectly, or you may have to re-transfer your music. Please make sure you STOP music playback from the UnleashX player before you continue. You can bring up the UnleashX player by pressing the white button on your controller."></Item>
       <Item Action="AskUser" Arg1="Rotate Music Folders?" Arg2="Are you sure that music has been STOPPED (not paused) from the UnleashX player? You can bring up the UnleashX player by pressing the white button on your controller."></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic1" Arg2="F:\Music\Keygen\KeygenMusicTemp"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic2" Arg2="F:\Music\Keygen\KeygenMusic1"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic3" Arg2="F:\Music\Keygen\KeygenMusic2"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic4" Arg2="F:\Music\Keygen\KeygenMusic3"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic5" Arg2="F:\Music\Keygen\KeygenMusic4"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic6" Arg2="F:\Music\Keygen\KeygenMusic5"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic7" Arg2="F:\Music\Keygen\KeygenMusic6"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusic8" Arg2="F:\Music\Keygen\KeygenMusic7"></Item>
               <Item Action="rename" Arg1="F:\Music\Keygen\KeygenMusicTemp" Arg2="F:\Music\Keygen\KeygenMusic8"></Item>
           <item action="messagebox" arg1="Folders rotated.">Music rotated successfully. Restart to hear new music.</item>
       </List>

- It would be nice to automatically rotate at least the wallpaper folders and possibly the music folders at startup, but there doesn't appear to be a way to run a startup operation on UnleashX.

- You can have other apps, like XBMC-Emustation, point to one of these directories to get their screensaver images and startup music. When you rotate the directories in UnleashX, they'll also be rotated in the other apps. While UnleashX should point to the first item in the list to block the rotation operation if music is playing, other apps can point to other items so that you get a greater variety of images and/or music per app.