Before we get started we need to talk about the legality of this how-to. There is really no way to legally posses
the files we are going to be working with. The majority of safe guards placed on the Xbox 360 are designed to prevent
game piracy. It is doubtful that anything we will be demonstrating today will lead to anybody booting pirated games on
the 360. We do feel that this how-to will open up the Xbox 360 to all of the Flash developers out there and hopefully
produce some interesting homebrew games.
The first thing you are going to need to do is find a copy of the
kiosk disc. We can't tell you where to get it , but check your favorite BitTorrent tracker and you'll find the 4.1GB
release (it is labeled PAL, but works fine on US boxes). It has been out for a month so it shouldn't be encumbered by
some obnoxious private tracker. To boot Flash files you don't even need the entire disk. So your best bet is to look
for just the Hexic files from the disc, which are only 60MB.
download the ISO you can mount it and start poking around the file structure.
file is the one executed when the disc is launched. Looking around you will find all of the demo trailers in the WMV
format and audio as WMA files. The menu text is stored as XML. There are no file checks on the disk so you can delete
files from the DVD image and create an image small enough to be burned onto a CDR.
You'll actually find a lot of content on the disc that you can't access from the menu system, since the
entries have been commented out of the XML files (like the Oblivion trailer).
The "Hexic" files are located inside of the "demos" directory.
You'll notice that the Hexic directory
contains a "default.xex" file just like the root directory. You can burn just this directory to a CD and it
will launch on your Xbox. You can find ISOs of the Call of Duty 2 demo on tracker sites because of this.
Just like the rest of the disc the in game
text is kept in XML files for localization purposes.
If you were so
inclined, you could modify these text strings and burn a new version of Hexic with your own difficulty level select
To create a bootable Flash disc you need three files: default.xex, Splash.swf, and HexicDeluxe.swf.
You can open the HexicDeluxe.swf in your web browser and see that it is just a normal Flash game. It will be running
incredibly slow though. You can (and should) replace the Splash and HexicDeluxe files with your own. The default.xex
file is a flash player written specifically for Hexic. When the Xbox boots it starts the default.xex file. default.xex
displays the Splash.swf file while it loads HexicDeluxe.swf in the background. Once it is loaded the splash screen
tells you to "press A to continue". default.xex is also responsible for playing the background music, but
doesn't mind if you don't provide any.
The development of homebrew flash for the Xbox 360 started with a
thread by illictx: Launching Swf Files Via Kiosk
Developments are now being documented in the Flash for Xbox 360 Wiki
. To try out hombrew you
need to first grab a replacement splash screen. We're using one by forum member Gloei since it prompts you when loading
is complete. It looks like this:
You also need a replacement for the main Flash file. We're using one by forum member genecyber. His
flash demo displays the system time and the controller input when you press a buttons. It looks like the above.
Drop those two custom files plus the
original default.xex into a directory.
Then rename the files so that
they appear to be the originals. All that is left to do is to burn those three files to a CD and boot it on your Xbox
If you want to develop your own Flash files there are some issues you will run into. Since default.xex
is a custom Flash player designed for Hexic, it only supports features used in Hexic. That means it only supports one
controller and not even all of the buttons. It also doesn't support sustained button presses since it sends a button
release signal immediately after the button press. There are several common functions that aren't supported. Your files
need to be compatible with Flash 6, only use ActionScript 1, and use Zlib compression. The best place to find out about
what functions you can use is the wiki
folks in the forum thread
will be happy to help as well.
We hope this how-to
demonstrated how easy it is to run your own Flash games and animations on the Xbox 360. The fact that only one file is
required from the demo disk means it is incredibly simple for almost any Flash developer to try this out for
themselves. Hopefully the Flash community will get behind this and we'll get some incredible demos taking full
advantage of the 360's power (as the slow browser performance of Hexic shows). Of course in a perfect world, Microsoft
would release a completely compatible and full featured Flash player for homebrew developers, eventually marketing the
best examples on Xbox Live Arcade.