From WikiTemp, the GBAtemp wiki
('''Work In Progress Log''')
('''DS-Xtreme OpenSource Firmware Project''')
Line 1: Line 1:
 
== '''DS-Xtreme OpenSource Firmware Project''' ==
 
== '''DS-Xtreme OpenSource Firmware Project''' ==
The scope of this article/project is to open up the DS-Xtreme flash cartridge firmware for homebrewers to modify.
+
The scope of this project is to open up the DS-Xtreme flash cartridge hardware/firmware for homebrewers to modify.
  
 
I propose the following tasks to achieve that goal.
 
I propose the following tasks to achieve that goal.

Revision as of 05:47, 5 January 2008

DS-Xtreme OpenSource Firmware Project

The scope of this project is to open up the DS-Xtreme flash cartridge hardware/firmware for homebrewers to modify.

I propose the following tasks to achieve that goal.

01) Do Under The Hood research on the DS-X hardware for an insight into what the firmware may be. --DONE--
02) Acquire 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" firmware updater from the disassembled original updater application.
05) Disassemble the firmware for the USB controller.
06) Create a new, "OpenSource" firmware from the disassembled original USB Controller firmware.
07) Disassemble the firmware for the FPGA.
08) Create a new, "OpenSource" firmware from the disassembled original FPGA firmware.
09) Disassemble any native NDS application (the launcher)
10) Create a new, "OpenSource" launcher from the disassembled original launcher.
11) Using the knowledge gained make some schematics of the DS-X cartridge.

V1.1.0 Updater Tool Files (Shuny Files)

[[1]] Launcher skin files.
[[2]] USB/FPGA/Launcher firmware.
[[3]] Updater application info file.
[[4]] PC Updater application

V1.1.2 Updater Files (DSX Current Files)

[[5]] Launcher skin files.
[[6]] USB/FPGA/Launcher firmware.
[[7]] Updater application info file
[[8]] PC Updater application

Recovery Tool

[[9]] Cypress Windows XP Drivers for the USB Controller.
[[10]] The recovery tool (this seems identical to the updater).

Work In Progress Log

5th January 2008:

Initial viewing of the PC Updater tool yields the following information.

1) The updater was coded with Borland Delphi development enviroment in C/C++.
2) The updater contains ZLIB compression librarys (probabily for the firmware).
3) The updater contains Altera Jam FPGA communication librarys (maybe for the JTAG connector on the circuit board).
4) The updater contains Mozilla/3.0 (compatible; Indy Library).
5) The Updater contains Cypress FPGA communication librarys.

On running the updater, it uses windows sockets api to download update.txt the update.bin from the DSX server. The mozilla api is probabily the wrapper to call the windows sockets api, to give platform independancy. Borland Delphi also has wrappers for the application windows. The applications resources can easily be pulled out with XN Resource editor. I've also noticed on some of the disassembly that the updater looks like it can take command line arguments?

ToDo:

I'm currently trying out a few disassemblers on the .exe to see which gives me the best results.
The hardware investigations need putting on the wiki on a seperate page.
The files need moving to a seperate wiki page.