Hacking DS-Xtreme OpenSource Firmware Project

  • Thread starter Thread starter reveng
  • Start date Start date
  • Views Views 41,531
  • Replies Replies 162
It would be a really great gesture, when it is finally admitted officially that the cart is abandoned (I'm assuming that they are waiting for all stocks to run out first before making the announcement so they don't have to be offloaded at a knockdown price) that the DSX team hand over their work to jolly clever people like yourselves.

Without having to waste time reverse engineering what's there already you can begin playing with that superb hardware.
Here's an ironic twist - with further development as an open source project, over the years the DSX could even become a highly prized rarity, capable of so much more than any other cart! 

Whaaa....just five more minutes mummy.  Oh, I was dreaming 
wink.gif
 

No, but seriously, it is an exciting thought.  As has been pointed out, just the things that could be done with the USB port could make it a homebrew developers dream.


Or an entry level ($100) fpga kit?

At the end of the day, it's an fpga in a slot 1 nds cart, so it would be more of a "entry level fpga to do stuff with an nds" - unless you think there's potential to configure the fpga to do stuff via the usb and be useful outside a ds? (Although that would seem a bit of a waste to me?)

Would you be able to answer a question - let's say you configure the fpga as an extra cpu (the favourite example of the long lost DSX team). Would this be accessable to .nds code? Or only at the firmware level? If nds roms could use the extra "3rd processor" functionality you could have full speed emulators for systems like neo geo, n64, more recent coin ops - SOMETHING OWNERS OF OTHER FLASHCARTS WILL NEVER HAVE!

If it's only available at the firmware level, what about a hardware coded GBA emulator? I know it seems silly when the nds already has one, but of course it can't be used directly from slot 1 - again the DSX would demonstrate itself as achieving something that is impossible for all other slot 1 carts....
 
gedly, theoretically, yes. You can utilize the FPGA to make the DS-X more physically powerful than all the other carts.

The problem is, is there really truly a demand for it? Coders would have to dedicate their time specifically to the DS-X, thereby reducing the amount of people able to use their work. If the DS-X is dead there is even less reason to code for it.

This opensource project is fantastic, in that it may hopefully lead to a group of people dedicated to bettering the DS-X. It is more than obvious that the team that originally developed the DS-X has lost momentum. This project is the natural progression of such things. Hopefully, it is not too late.

With that said, I think we should have the knock at the DS-X forums mods removed from the Wiki. At this point, you don't know where help may be coming from, and we may be pushing away people that are interested in bettering this project. We need to appear as professional and mature as possible, to not turn any potential help away.
 
With that said, I think we should have the knock at the DS-X forums mods removed from the Wiki. At this point, you don't know where help may be coming from, and we may be pushing away people that are interested in bettering this project. We need to appear as professional and mature as possible, to not turn any potential help away.

Well I'll move the slight off the Wiki if RABID1 will delete his "Lameass" comment off the forums.
Now there's maturity for ya
rofl2.gif


Seriously, its been removed
dry.gif
but it hurt my feelings to do it
dry.gif


Also updated the Wiki with how to alter the DSX updater to load the update files from your local machine and not from the DSX server.
 
unless you think there's potential to configure the fpga to do stuff via the usb and be useful outside a ds? (Although that would seem a bit of a waste to me?)

Me, my prototype board, wirewrap tool, and a FPGA can rule the UNIVERSE
rofl2.gif


seem a bit of a waste to me?

Natural curiosity for me?
happy.gif


QUOTE
Would you be able to answer a question - let's say you configure the fpga as an extra cpu (the favourite example of the long lost DSX team). Would this be accessable to .nds code? Or only at the firmware level? If nds roms could use the extra "3rd processor" functionality you could have full speed emulators for systems like neo geo, n64, more recent coin ops - SOMETHING OWNERS OF OTHER FLASHCARTS WILL NEVER HAVE!

Intersting ideas gedly, but I really dont know if its possible or not, it depends how the FPGA is wired up in the DS Cart.
I cant do a schematics of the wiring because the FPGA package type they used on the circuit board has the connections under the chip. So I would have to rip the chip off the circuit board to do so.


Donations of DEAD DS-X's anyone?
 
O.K New info on the Wiki on how to patch the DS-X PC Upgrader to make it load Update.txt and Update.bin from your local machine and not the DS-X servers. Information repeated here for those who dont look at the project WiKi.

Using a Hex or Binary editor alter the URL found in the PC Updater at offset 0x000B79F4


0x0B79F0: 02 29 B9 59 68 74 74 70 3A 2F 2F 75 70 64 61 74 - .)¹Yhttp://updat
0x0B7A00: 65 2E 64 73 2D 78 74 72 65 6D 65 2E 63 6F 6D 2F - e.ds-xtreme.com/
0x0B7A10: 75 70 64 61 74 65 6A 2F 75 70 64 61 74 65 2E 74 - updatej/update.t
0x0B7A20: 78 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - xt..............
0x0B7A30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
0x0B7A40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................


To the following format: file://My PC Name or My PC IP/My Path/update.txt (you must terminate the string with zero).
Try not to go to far past the original URL string length as it might cause trouble.


0x0B79F0: 02 29 B9 59 66 69 6C 65 3A 2F 2F 4D 79 50 43 6F - .)¹Yfile://MyPCo
0x0B7A00: 72 49 50 2F 4D 79 50 61 74 68 2F 75 70 64 61 74 - rIP/MyPath/updat
0x0B7A10: 65 2E 74 78 74 00 00 00 00 00 00 00 00 00 00 00 - e.txt...........
0x0B7A20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
0x0B7A30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
0x0B7A40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................


Next change the URL found in update.txt with file://My PC Name Or My PC IP/My Path/update.bin

My PC Name is what you see the PC called on the network (Host Name)
My PC IP is your local machines IP address I.E 192.168.0.100
My Path is whatever path or paths you choose to put the update files in.

Use START->RUN->CMD ipconfig /ALL to find your Host Name and IP Address, if you dont know it

Should make experimenting a little easier
biggrin.gif
and we now have a flasher for our own firmware hacking experiments
rofl2.gif

Even if you do not have a DSX cart the updater will still go thru the process of loading all the firmware.
 
You might try just having a executable that starts a self contained webserver on a unique port. then the updater can just point to something like http://127.0.0.1:9090/update.bin

Hey onispawn,

Don't you need something like IIS running for 127.0.0.1 to work otherwise, like on my pc it just doesnt work? same with "localhost", "HostName"? sorry i'm not that great with internet services, not my area of expertise.

The patch is a temp measure, I was thinking, you could actually run the updater from a stub then get the users IP from inside the stub and do on the fly patching, same with the path to the update.bin and update.txt all be automated in the stub. Then the updater would simply be zipped up with its firmware files and the unstructions would go "Unzip the files and run the updater".

But in the long term the updater needs re-writing/fixing as it can sometimes leave cards in an unusable state (a little buggy). Bug seems to be related to setting up/erasing the NAND and in what state the EZ-USB controller is in.
 
Why not just put the updates on a website somewhere and have the updater get it from there, since you can change the url?
Then the user doesn't have to edit the updater themselves.

If it absolutely has to use the local computer, you can also try something like:
file:///C:/path/to/update/files/
(try typing it in Firefox or IE and you'll see what I mean)
No webserver required.
 
Why not just put the updates on a website somewhere and have the updater get it from there, since you can change the url?
Then the user doesn't have to edit the updater themselves.

If it absolutely has to use the local computer, you can also try something like:
file:///C:/path/to/update/files/
(try typing it in Firefox or IE and you'll see what I mean)
No webserver required.

All files have been made available on the Wiki.
feel free to try it out and let everyone know if it works, help always welcome....
 
You dont need IIS. I have a tiny webserver I have written in java that is all self contained. All that would be needed is a directory to put the files in, and then update utility to point to the localhost.
 
You dont need IIS. I have a tiny webserver I have written in java that is all self contained. All that would be needed is a directory to put the files in, and then update utility to point to the localhost.

Hey onispawn,

Please remember this is simply a "OpenSource" project. Writing, compiling and distribution of firmware updates are for others after the "OpenSource" project is done (or in parallel ofcourse).

Wiki Project Scope

The patch to load the firmware off your local machine means you can start hacking at the firmware with the ability to actually run it. Redirecting the updater from the DSX server to your local machine was actually quite crucial to for the explorations to keep going.

But still i'm curious about the merits of your server idea: (still not sure I have it clear in my mind)

Isnt what yor suggesting kinda like what it already does, before you patch it? it loads the files from the dsx server?

Or are you saying install a server on your local machine then patch the files to load off the local server on your local machine. If so, has'nt that just turned from a simple one step patch into a two steps?

Love the paticipation, keep it up, hack the firmware
grog.gif
 
Isnt what yor suggesting kinda like what it already does, before you patch it? it loads the files from the dsx server?

Or are you saying install a server on your local machine then patch the files to load off the local server on your local machine. If so, has'nt that just turned from a simple one step patch into a two steps?

Love the paticipation, keep it up, hack the firmwareÂ
grog.gif
I think what he is suggesting (correct me if I'm wrong) is to have the updater point to http://www.reveng.com/DS-X/. That way nobody has to configure anything.

I don't think that there would be a problem setting up different directories on reveng.coms server to be used for each variation of firmware. The end-user would just download whatever updater correlates to the firmware they want.
 
Great. we need a new firm. but

when i can. ill shell another flash cart. i hate ds x card. the worst buy in my life. i hate DS x Team
 
I don't think that there would be a problem setting up different directories on reveng.coms server to be used for each variation of firmware. The end-user would just download whatever updater correlates to the firmware they want.

QUOTE(tropakeroro @ Jan 12 2008, 11:38 AM)Great. we need a new firm. but


Hey throwingks,
Please remember the Scope of the project, its not to make firmware updates.

I think its great, the idea of people experimenting with their own "homebrew" hardware/software projects. Whilst the patching/decompiling information could be used for a "Firmware Update Project" I'll leave that for others to start up. The scope on this one alone is fairly ambitious and my time is quite limited.

Brilliant to see all these ideas float around, I love the potential
happy.gif
 
Indeed Artic_Flame, AceKard a much more open system but....

From my understanding they give the "OpenSource" to the launcher and not the firmware? Is this right?




B.T.W the AceKart is on my "I want" one list
smile.gif
where did you buy yours from?...
 
have the updater point to http://www.reveng.com/DS-X/. That way nobody has to configure anything.I've put the binaries here:

http://ul7.info/dsx/V110_update.bin
http://ul7.info/dsx/V112_update.bin

I just downloaded them from the links in the Wiki article; I don't know if this is useful at all.

The file:// method might not work depending on the API used in the updater. It could be designed only to work with "http://" URLs. I'm afraid to try; I don't wanna brick the only flashcart I have. =]
revengpbolmstedt, you're not a member of the DSX team are you?
If I was, I definitely wouldn't use my real name on the Internet. =] Regarding the team, I noticed that all the moderators on the official DS-X forums use "they" when they speak of the DS-X team nowadays. They used to use the word "we". =]
 

Site & Scene News

Popular threads in this forum