From WikiTemp, the GBAtemp wiki
(Removing all content from page)
Line 1: Line 1:
__NOTOC__
 
  
{| width="100%" cellspacing="10" cellpadding="0"
 
 
|colspan="2" style="border: 2px solid black;"|
 
<!-- ******************************************************************* -->
 
<!-- ******************************************************************* -->
 
{| width="100%" cellspacing="10"
 
|style="background:#F2F2F2;"|
 
<div style="font-size:200%;padding:0.4em;">'''DS-Xtreme OpenSource Firmware Project'''</div>
 
|-
 
|The '''scope''' of this project is to open up the DS-Xtreme flash cartridge hardware/firmware for homebrewers to modify. I have asked the DS-X for the information prior on embarking on this project. No information was forthcoming.
 
 
 
Please remember that this wiki is updated and maintained by YOU - '''Please help out where you can!'''
 
 
 
<div><span style="color:#f4ae08;">Donate your '''DEAD''' DS-X cartridges to this project PM reveng @gbatemp</span></div>
 
 
There seems little point in continuing the project here. A SVN project needs setting up.
 
Please watch for further details. In the mean time I have put the Original firmware and new
 
Versions 113 and unreleased versions 114 on the files page.
 
There was also some censorship going on with my posts in the Gbatemp DSX forums, so I no longer post.
 
 
|}
 
|-
 
<!-- ******************************************************************* -->
 
<!-- ******************************************************************* -->
 
|width="65%" rowspan="2" valign="top" style="border: 2px solid black;"|
 
 
{| width="100%" height="100%" cellspacing="10"
 
|style="background:#F2F2F2;"|
 
<div style="font-size:200%;padding:0.4em;">'''Project Plan'''</div>
 
|-
 
|
 
I propose the following tasks to achieve the "OpenSource" goal.
 
 
'''01)''' Do [[DS-Xtreme|Under The Hood]] research on the DS-X hardware for an insight into what the firmware may be. '''--DONE--'''
 
'''02)''' Acquire [[DSX_OSFP_FILES|all the files]] that make up the firmware. '''--DONE--'''
 
 
'''03)''' Disassemble the PC application that updates the firmware. '''--IN PROGRESS--'''
 
'''04)''' Create a new, "OpenSource" updater application based on the knowledge gained.
 
 
'''05)''' Disassemble the core8051 EZ-USB controller firmware.
 
'''06)''' Create a "OpenSource" firmware from the knowledge gained.
 
 
'''07)''' Disassemble the configuration for the FPGA.
 
'''08)''' Create a "OpenSource" project from the knowledge gained..
 
 
'''09)''' Disassemble the native NDS application (the launcher)
 
'''10)''' Create a new, "OpenSource" launcher from the knowledge gained..
 
 
'''11)''' Using the knowledge gained make some schematics of the DS-X cartridge.
 
 
This order was chosen because the firmware "'''[[:image:V112_update.bin| update.bin]]'''" is one large zipped?, binary file. So first we have to decompile the updater application to understand how it's zipped and what parts make up the USB, FPGA and NDS launcher....
 
 
|}
 
|}
 
<!-- ******************************************************************* -->
 
<!-- ******************************************************************* -->
 
 
 
== '''How [http://shunyweb.info/forum/ Shuny's] Downgrader Works''' ==
 
At offset 0x000B79F4 in the [[:media:V112_UpdaterTool.rar| DSX updater application file]] you will find the URL that points to the DS-X server. This is where [[:media:V112_update.txt| update.txt]] can be loaded by the [http://wiki.gbatemp.net/wiki/images/c/cf/V112_UpdaterTool.rar updater application].
 
 
In the file [[:media:V112_update.txt| update.txt]] there is a URL  which tells the [[:media:V112_UpdaterTool.rar| DSX updater application file]] where it can load [[:media:V112_update.bin| updater.bin]] from.
 
 
[http://shunyweb.info/forum/ Shuny] patched these URL's to point to another server where the older [[:media:V110_update.txt| update.txt]] and [[:media:V110_update.bin| update.bin]] could be found.
 
 
Hats of to [http://shunyweb.info/forum/ Shuny] for a very clever and inventive piece of work.
 
 
 
<!-- ******************************************************************* -->
 
<!-- ******************************************************************* -->
 
 
== '''Modifying The [[:image:V112_UpdaterTool.rar| PC Updater]] Application To Load [[:image:V112_update.txt| Update.txt]] and [[:image:V112_update.bin| Update.bin]] Off Your PC''' ==
 
 
 
Using a [http://www.mirkes.de/blog/uploads/Downloads/mpth_18.exe hex/binary editor] ,alter the URL found in the PC updater at offset '''0x000B79F4'''
 
 
 
<div><span style="font-family:Courier New;font-size:11pt;">
 
0x0B79F0: 02 29 B9 59 68 74 74 70 3A 2F 2F 75 70 64 61 74 - .)¹Yhttp://updat<BR>
 
0x0B7A00: 65 2E 64 73 2D 78 74 72 65 6D 65 2E 63 6F 6D 2F - e.ds-xtreme.com/<BR>
 
0x0B7A10: 75 70 64 61 74 65 6A 2F 75 70 64 61 74 65 2E 74 - updatej/update.t<BR>
 
0x0B7A20: 78 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - xt..............<BR>
 
0x0B7A30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................<BR>
 
0x0B7A40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................<BR>
 
</span></div>
 
 
 
To the following format: '''file://My PC Name or My PC IP/My Path/update.txt''' (you must terminate the string with zero).<BR>
 
Try not to go to far past the original URL string length as it might cause trouble.
 
 
 
<div><span style="font-family:Courier New;font-size:11pt;">
 
0x0B79F0: 02 29 B9 59 66 69 6C 65 3A 2F 2F 4D 79 50 43 6F - .)¹Yfile://MyPCo<BR>
 
0x0B7A00: 72 49 50 2F 4D 79 50 61 74 68 2F 75 70 64 61 74 - rIP/MyPath/updat<BR>
 
0x0B7A10: 65 2E 74 78 74 00 00 00 00 00 00 00 00 00 00 00 - e.txt...........<BR>
 
0x0B7A20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................<BR>
 
0x0B7A30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................<BR>
 
0x0B7A40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................<BR>
 
</span></div>
 
 
 
Next change the URL found in update.txt with '''file://My PC Name Or My PC IP/My Path/update.bin'''<BR>
 
<BR>
 
 
'''My PC Name''' is what you see the PC called on the network (Host Name)<BR>
 
'''My PC IP''' is your local machines IP address I.E 192.168.0.100 <BR>
 
'''My Path''' is whatever path or paths you choose to put the update files in.<BR>
 
<BR>
 
Use START->RUN->CMD ipconfig /ALL to find your Host Name and IP Address, if you don't know it<BR>
 
 
 
 
<!-- ******************************************************************* -->
 
<!-- ******************************************************************* -->
 
 
 
Look here for out last chance ^^: http://forums.ds-xtreme.com/showthread.php?p=57612
 
 
[[Category:NDS Slot-1 Carts]]
 

Revision as of 23:58, 27 October 2008