Dash Launch 3.00 (beta)
----------------
It's been 8 weeks of hard work since the V2 project was retired, I hope it
was worth it for you all as bringing this rewrite has added no signifigant
option feature gains over previous versions, but is aimed at accesibility.
Currently the project supports the following console locales:
English, German, Spanish, French, Italian, Japanese, Korean, Polish,
Portugese, Russian, Chinese (simplified and traditional)
Currently supplied translations: English, French, Portugese
The skin pack includes the sources used to skin dash launch as well as the
string files if anyone wishes to create a translation to one of the above
languages (inlcuding English, as I know my explanations are not always easy to
understand.) Also included is a c# based editor for the string files to assist
in translation.
External fonts, background image and skins may be used by this,
simply place skin.xzp and/or font.ttf and/or background.png (1020x720) beside
default.xex. If neither location has a font file supplied the system font
on flash will be used.
Welcome to The Next Level :)
****
at time of this writing, this is ONLY compatible with:
jtag : 9199, 12611, 12625, 13146, 13599, 13604, 14699, 14717, 14719
glitch : 13599, 13604, 14699, 14717, 14719
glitch2: 14717, 14719
****
================================================================================
Overview - what it does
================================================================================
- It will launch a XeX or CON file from the path you specified in launch.ini
as long as it's valid
- Depending on the button you hold when the xbox is trying to load the NXE, it
will divert to the xex/con tied to that button or return to default as
defined in launch.ini
- At boot time it is possible to subvert default item and/or NXE loading, but
you must wait until the controller syncs to do so
- Depending which button is held when closing miniblade in NXE (use Y button to
close, release then hold a QL button) it will quick launch a CON or XEX
from your ini file
- allows one to patch kernel/xam at bootup with a freeBOOT patch style bin file
from usb or hdd (in that order) must be in root of the device and be named
"kxam.patch" and be no larger than 0x4000 bytes. Again, kxam.patch binary
format is the same as a compiled freeboot patch bin, but uses real virtual
addresses rather than offsets - see 1.0 release for a windows patch builder
- with the included patch set, launch.xex acts as a helper to detect when
xbox1 emulator loads, allowing memory unlock patch and xbox1 emulator
to function together
================================================================================
Installation
================================================================================
- have the required hacked kernel version installed on the console
- get the installer to a place where you can run it, and do so. Follow onscreen
instructions if any. The installer will prompt you if it needs to update the
kernel/hv patches and will give you an opportunity to configure stuff.
- edit the options, and dont forget to save them somewhere if you want them to
be applied next boot. Don't forget to set configapp to the installer, so
you can go to it any time via miniblades' system settings (hold RB to go to
real system settings)
- the back button is your friend if you are wondering what button to push
================================================================================
Updaters and Avatars
================================================================================
- this version of dash launch contains an update blocker that is enabled by
default. There are two ways around this if you wish to install the bits and
pieces used by the dash for kinect and avatars
1 - place the updater that matches this version on removable media, and
rename the folder from $SystemUpdate to $$ystemUpdate
----OR----
2 - place an ini where dash launch can find it and set the noupdater option
to false - noupdater = false
****
NOTE that some games WILL prompt you to update the console if avatars are
not installed, this doesn't mean they have an update to actually put in, it
just means it needs avatar/kinect bins/resources to run
****
================================================================================
LIVEblocker
================================================================================
- if you are like me, and keep your consoles off the net then this option is
for you. It's capable of blocking the resolution of the LIVE specific
servers and does so by default, with an additional option in the ini file
it will attempt to block access to all MS servers. The default option is
set up to block only LIVE servers, which still allows programs like FSD to
access covers and such. The blocks lists are:
weak:
^xemacs.xboxlive.com$
^xeas.xboxlive.com$
^xetgs.xboxlive.com$
^xexds.xboxlive.com$
^piflc.xboxlive.com$
^siflc.xboxlive.com$
^notice.xbox.com$
^macs.xbox.com$
^rad.msn.com$
passport.net$
strong:
xboxlive.com$
xbox.com$
nsatc.net$
microsoft.com$
passport.net$
bing.net$
msn.com$
where:
somedomain.com$ = ends with somedomain.com
^somesub.somedomain = starts with somesub.somedomain
^somesub.somedomain.com$ = is exactly somesub.somedomain.com
================================================================================
Important - going to NXE
================================================================================
- if you need to go back to NXE and have default item set in ini, HOLD RB while
exiting game via miniblade or exit using one of the miniblade options like
family settings
================================================================================
INI notes
================================================================================
-it's possible to have multiple ini files, priority is as they appear in the list
(** it is NOT recommended to launch USB con/xex from hdd ini **)
the first one found on the devices in that order will be the one used at boot.
-see http://code.jellycan.com/simpleini/ for more info on the ini parser
================================================================================
Caveats
================================================================================
The work herein is presented as-is, any risk is solely the end users
responsibility. While all of us are sorry when unforseen things happen, not
every situation or mistake can be accounted for before they have been
spotted. Please use responsibly.
================================================================================
Thanks
================================================================================
-Big thanks to those who opened the way and those who made it even more usable.
-Thanks to Tux, Arbiter, stk, the2000, Corrupted, tk_saturn and Toddler for all
the bugs you caught trying to sneak by
-Thanks AmyGrrl for passing along the glitch and new ideas
-Thanks to Tux, Ironman, JPizzle and Dionis Fernandez for helping procure a
Jasper big block console to extend testing and fix NAND MU corruption bug
Dionis - you went above and beyond
-Thanks to vgcrepairs for providing the cygnos, dash launch likely wouldn't
exist without one
-Thanks to the FSD team, without you're cheering this would not have been done
-Thanks to Nate and Anthony for constantly reminding me that no, I'm not alone
-Thanks to FBDev and mojobojo for the data used for the patch options
-Thanks to sm32
-Thanks to unknown, you know why
-Extra Special thanks to SpkLeader, Boflc, and LordXBig
-Big thanks to Swizzy, the least bit for debugging readmes
-Thanks to XeBuild, keeping us on our toes and up to date
-Thanks to xbox-scene for always putting up a release thread announce
-Greetz to XeDev and RgLoader
-Thanks to Team Xecuter for thinking towards the future
-Thanks to vladstudio.com for "night launch"
-shouts out to E Nellie and D33per, thanks to you this is still a sourceless release
~brought to you by cOz~
//2012
================================================================================
To Do
================================================================================
- add a way to create alive.txt on usb drives for hddalive
- allow devkit profiles if a way can be found that doesn't corrupt them
- fix hdminowait so it doesn't boot you from default items after syncing to screen
- did I miss anything?
================================================================================
Known Bugs
================================================================================
- I'm sure you'll find some, this was a huge rewrite and not every situation
is readily apparent when testing for regression issues.
================================================================================
ChangeLog
================================================================================
v3.00
- as with V1->V2 this is a nearly complete restructure and rewrite, expect bugs
- rewrote all hooks and tasks to be unhookable/stopable
- installer can now unload any existing v3 xex and/or start dash launch without rebooting console
- installing over v2 or installing patch updates still requires reboot
- setup exports for managing all options from external programs
- stop exception recovery from firing a new launch/bubble message more than once in a ~4s window
- add 'configapp' path, if it exists going to miniblades -> system settings will start this program
- rewrote installer a little to be marginally better
- ini category [quicklaunchbuttons] is now simply [paths]
- add 'nonetstore' option (hides network storage in disk dialogs)
- hook XexpVerifyXexHeaders and XexpLoadImage to detect retail encrypted xex with bad signature
and fix the image key (thanks Anthony!)
- safereboot is no longer tied to fatalfreeze, reboot requests when this is set to false will be
redirected to jtag friendly (but hard on hardware) methods
- added in glitch2 patches, restructured embedded patch sets to be a munged file instead of individual
- fixed fakelive to get past app gold check (still does not work, can't connect to server) and no longer
try to reply to profile info requests with a hardcoded online xuid
- added french translation - thanks to Razkar!
- added portugese translation - thanks to SpkLeader!
- added translation c# GUI - thanks to Swizzy!
v2.32
- fixed glitch jasper big block patch installer
- reworked contpatch yet again, should perform equal to xm360 now (thanks node21!)
- new patch only operates on containers of type 000D0000 (XBLA) and 00000002 (ADDONS) of LIVE or PIRS types
v2.31
- revert contpatch to older form
- signnotice now defaults to FALSE/disabled
- signnotice option should no longer wind up in network troubleshooter on 14717+
- add 14719
v2.30
- fixed uart debug output 0xD 0xA instead of 0xA 0xD
- STOP code 0x2B can now output stack info
- xex header revoke check (requires live to download revoke list) flag now ignored (hv and xam patch)
- add 14717
v2.29
- expanded temp broadcaster to include PE Name and path of current title
- added titleid and mediaid output to temp logger
- fixed a bug in unhandled-exception handler (could cause freeze/multiple consecutive exceptions)
- add title module PE name and path to exception log
- contpatch completely rewritten, now takes over checking license bits entirely for xam when enabled
(may break... things, or allow some to work that shouldn't/crash)
v2.28
- added rad.msn.com to weak blocklist
- added *bing.net, *msn.com to strong blocklist
- added glitch machine detection for xellLaunch to launch on flash xell-1f
- added xhttp auth patch for 14699 (thanks Anthony!)
- added signin notice dismiss (optionally disabled, only affects 'ok' type dialogs)
- added intMu: to installer ini updater
- added autoselect shutdown and auto off option for the "hold guide to shutdown"
NOTE: that both these options can affect other things that use this type of dialog!
- added optional temp broadcaster
- added quick python script to cap temp broadcasts to a .csv file
v2.27
- removed FCRT patch (was not compatible with 1175 drives)
- installer: revise patch checks to only check base patches
- installer: conform to xebuild's base+patch extension method, copies addon patches to
base as needed
- add 14699
v2.26
- correct jtag/glitch wording in installer patch updater
- fix compare with glitch machine, now accurate when it checks patches for update
- add fcrt removal patch (and correction)
- rebuild to hopefully improve stability (less optimization)
- changed contpatch to only patch ID bytes to 0xFF
- fix sonic, more thoroughly hooked disk verification (thanks again Nate!)
- add current launch.xex version display to installer, add versioning
- add note about encryption on modified retail xex
- added '$' to permitted chars in launch.xex ini parser
v2.25
- added Trinity arcade memory unit to dash launch as IntMu:
- can update ggBuild type patch sets
- add 13604
- patches updated to remove E66 (dvd code exec) errors in kernel
v2.24
- hddalive was defaulted to true instead of false, fixed
- xell launch now shuts off usb device (fixes issues with xell reloaded)
- xell launch simplified to allow for variable sized xell bins
- added jtag debug support to patches and export var (thanks Nate!)
- reworked devkit signed xex loading. Faster, dll dev xex working again (thanks Anthony!)
- fix forza 4 (and maybe others - thanks Nate!)
v2.23
- added hddalive (2.23b fixes this)
- added 13599
- relocate external files so old files will no longer be used accidentally
new path is \default.xex dir\VERSION\files
ie: GAME:\13599\patches_jasper.bin
v2.22
- resolving 'localhost' when the router forwards it to the internet or there is
no network at all... bad idea game devs... fixed (Yars', maybe others)
- button handler now more reliably removes Y and A mishandling when held on
miniblade exits
- added new note to readme regarding update prompts and avatar data missing
- hopefully extracted new games are now working fine, instead of GOD only
- potential bug corrected in 12611/12625 patch sets
- add 13146 compatibility
- all patch sets updated to fully remove xex bound checks (ie: default.xex
on root of USB causing E71)
- "remotenxe" option added to ini(thx adihash!)
- windows button on remote always boots to NXE/media center now(thx adihash!)
- added "guide" and "power" path options to set boot time default override
- changed kxam.patch, first .long must be the kernel version the patches match
- added a check to kxam.patch data to abort on invalid address
- added "nohud" option
- added installer check to verify at least the 1BL segment of patches before
installing, will re-ask and warn of possible corruption/brick
v2.21
- fixed noupdater option, readme is accurate with regards to updates now (sorry)
- fixed dvdexitdash option, no longer conflicts with using miniblade to exit NXE
should only affect DVD launched from NXE (note this affects DVD games too)
- fixed a glitch with unhandled exception logging when occurs in kernel
- revert to original fileExist() method
v2.20
- export option info along with the rest of dash launch info struct export
- add multi version compatibility to installer and plugin
- add 12625 patch set and offsets
- new LIVE content hook patching, does auto yaris swap as well as extracted XBLA
should work more consistently (hopefully)
- added unhandled exception handler, dumps except info to UART/file and exits
to dash/default item when apps don't have their own exception handler
(instead of crash), disable by setting 'exchandler = false' in ini file.
- added ini path setting (dumpfile) for capturing crash logs to a file,
capture device must be connected at console boot time
- added 'safereboot' option for those who have JTAG that have applied
blackaddr's smc reboot fix, instead of 'hard' reboot
- added option to enable debug strings to print to UART
- adjusted patches to remove default UART hooking (less chance of string
collision/overlap using DbgPrint via debug out option)
- corrected a bug in the flasher ini update settings in regard to noupdater,
it was setting nosysexit instead of noupdater value
- added live "blocker", reroutes requests to resolve DNS names to loopback
- added "livestrong" option to use an alternate list of DNS to block
- added ini option to set how long buttons are watched for at boot time
- embedding current versions external files into installer, no more messy
directory; original paths still work and take priority over embedded files
v2.11
- fixed xbox1 launches (thanks folks at x-s and fsd for reporting)
v2.10
- reworked hooking to be a bit more dynamic and simpler to update
- ini parser fixed, glitch when comment line last line with no blank line after
(thanks Toddler!)
- disables updaters (DA2 and other disks; safety)
- minor tweaks to boot time delays, further improves on previous autologin issue
v2.09 (beta)
- moved strictly to C, much smaller DLL
- correct bug with busy CON/sometimes ignoring ini for boot time default item
- made boot time quick launch buttons more reliable
- added 1s delay to resolve autologin at boot issue and slower USB hdd issues
- patches updated to remove min version check (DA2)
v2.08
- correcting for a glitch where launchdata should be cleared between titles but
isn't; fixes launching some games twice in a row (thanks stk and FSD!)
v2.07
- fixed media center extender (thanks jester and antman)
~hopefully this is the last whitelist option needed
- added option "nosysexit" (thanks rhai)
v2.06
- update to fbbuild 0.11 patches
- fixed bug with fatal freeze options
- changed installer to use zeropair CB version to determine patch set
- added new options dvdexitdash and xblaexitdash (thanks AmyGrrl)
- added regionspoof, dvdexitdash and xblaexitdash to ini updater
- added instructions to this readme regarding boot time buttons and diagnosing
non-ASCII ini files
v2.05
- added AP25 xex priveledge filter (fix AC:B GOD/xex, maybe others)
v2.04
- fixed a glitch with launching kinect games when a default item is set
v2.03
- updated for 12611
v2.02
- added version info to data struct exported at ordinal 1
- made number of times button holds are scanned variable, longer window
at boot time to sync controller and hold a button
- added region spoofing for XGetGameRegion
- DVD video play from NXE now plays DVD regardless of default setting
(thanks krizalid!)
v2.01
- corrected flash mu mount point (thanks Antho02 at l-s)
- added kernel version check to installer as some xbr using folks seem incapable
of reading the first line of this file
v2.0
- plugins now use logical paths just like quick launch buttons
- added common (9199) content and ping limit patches as options
- mostly runs in system threads, startup completes while bootanim runs
- completely subverted dash.xex, no more CD issues or NXE split seconds
- removed insistance on 0/1/2 paths and reliance on CaPs to detect
- return to NXE via miniblade for system settings and others works w/o using RB
- added big block NAND mu as possible device
- optionally subvert Y to exit miniblade while in NXE to load button/default
- added xell loader to patch set and included a xex to load xell
- removed reboot on fatal error from patches
- included reboot/shutdown on fatal error as settings
- installer onscreen output cleaned up, now shuts down console at end of install
- added ini file updater to installer
- added patch updater to installer
v1.0
- added other devices for launch targets
- added flash for location to load launch.ini
- added flash installer supports flashing launch.xex and launch.ini
- with help of freeboot patches, fixes issues with xbox1 emulator on memory
unlocked patchset
- overhaul ini parser with simpleIni, support for most buttons and a default
- added dll/plugin loading support
- added hooking/return to launch app instead of NXE (hold RB to bypass)
- added kernel/xam boot time/one time patch engine
- added export to allow the loading of other system modules
v0.02
- added a small delay to allow XBR users to launch CON
- implemented a simple ini file parser and fileExist
- auto detects LIVE and XEX2 to use the appropriate launch method
- fails to dash reliably now
v0.01
-initial release