Xbox 360:Flash Emulator

From ConsoleMods Wiki
Jump to navigation Jump to search

Very early on in the Xbox 360's lifespan, a kiosk disc was found to be bootable from burned discs. On this disc were two objects of note: the Peter Jackson's King Kong demo which eventually lead to the Xbox_360:KK Exploit, and an officially developer Adobe Flash emulator meant for the game demo of Hexic HD. It was found that Hexic was just a .swf file that could be modified or swapped out for another .swf file and the Xbox 360 would run it.

The emulator is very limited in function and prone to crashing. Although flash games are easily decompilable and can be recompiled in the format the Xbox 360 expects, many Flash features are not supported and therefore, it's hard to find games that will run on the Xbox 360 if not specifically built to run in this emulator.

General Execution Order

  • User launches default.xex
  • Splash.swf plays
  • Oilyn.wma plays in the background
  • Once files are loaded, user presses A and HexicDeluxe.swf is loaded
  • Other WMA files are played (in order?)

Export SWF for use on Xbox 360

  1. Download Sothink SWF Decompiler (paid version).
  2. Drag your SWF file onto the center screen of SWF Decompiler. Simple SWF files have a better chance to run without massive modifications. Any Flash file that requires user interactivity will require modifications as well.
  3. Select "Export to FLA/FLEX". Ensure it is set to FLA, set the export path, and choose the recommended export version (must be 6.0 or 7.0) and click OK. A .fla file will be generated.
  4. Open the .fla file in Macromedia Flash 8.
  5. At the bottom of the screen in the properties window, click the button next to "Size" and set the following:
    • Width: 1280
    • Height: 720
    • Framerate: 60fps
  6. Click the "Settings..." button next to "Publish" and set the following:
    • Version: Flash Player 6 (or 7; either will zlib sign them which is required)
    • ActionScript version: ActionScript 1.0
    • Compress Movie: Checked
  7. A .swf file will be generated.

Playing SWF on Xbox 360

  1. Rename the desired flash .swf file to HexicDeluxe.swf.
    • The game may have come with a .FLA file. This is the source code file for flash and can be ignored.
  2. Copy files to a folder on your Xbox 360:
    • default.xex (from the /demos/Hexic folder on the Xbox Experience 1.0 disc for Xbox 360)
    • The desired flash file renamed to HexicDeluxe.swf
    • A modified Splash.swf (can use [[:Media:Homebrew_Splash.swf_by_Gloei.zip|this one by Gloei)
  3. Use a file explorer on your Xbox 360 to launch default.xex.

Homebrew made for the Xbox 360 Flash Emulator

Miscellaneous Notes

  • The emulator is very prone to freezing/crashing. Porting games directly seems to almost never work, even with very basic games, so creating new games from the ground up is the easier option.
  • The default controls for a flash game correspond to keys on a keyboard:
    • A/B/X/Y
    • Arrow keys
    • S for start.
  • You can replace the WMA files with any WMA files of version 9 or 10.
  • If you have a very early firmware Xbox 360 that is capable of running the kiosk disc, you can burn it to a disc. The Xbox 360 will read multisession CD-R's, meaning you can do your testing with 1 disc, starting a new session each time you burn.
  • The swf loader has built in suport for XML as well as TTF fonts
  • duplicateMovieClip is supported in full HD Hexic release, but not in the kiosk disc. Appears to be an updated default.xex.
  • Multiple controllers work but all are recognized as player 1
  • You can use normal Raw, 44khz, 16bit, stereo waves.
    • var s = new Sound();
    • s.attachSound("mysoundname");
    • s.start();
  • You can not load external sound files (at least no .MP3s, other formats are yet unconfirmed). So this will not work:
    • var s = new Sound();
    • s.loadSound("myfilename.mp3");
    • s.start();