Nintendo DS - Wireless Multiboot Application - Version 1.5.2 (c) 2005 Tim Schuerewegen http://users.belgacom.net/nds/ ------------------------------------------------------------------------------ Introduction ------------------------------------------------------------------------------ This is an application that performs so-called wireless multiboot on the Nintendo DS. To run homebrew code on an old Nintendo DS, put the homebrew code (*.nds.gba) on a GBA flash cart and upload the "WiFiMe" data. If you have a new Nintendo DS then the "WiFiMe" method will not work. To run homebrew code on a Nintendo DS with modified firmware, upload homebrew code (*.nds) directly. ------------------------------------------------------------------------------ Requirements ------------------------------------------------------------------------------ - Windows 2000 or XP - Ralink RT2560 PCI or CardBus card with custom driver 1.0.0.7 or higher - Nintendo DS - GBA cart (only for "WiFiMe" method) ------------------------------------------------------------------------------ How to use ------------------------------------------------------------------------------ 1) Install custom RT2560 driver. 2) Put the homebrew code of your choice in the \data directory. 3) Run the wmb.exe application with the -data parameter to specify what you want to upload. See "wmb.exe -help" for more information. 3) Accept download in "DS Download Play" on the DS. 4) Enjoy the game/demo/app/whatever you uploaded. ------------------------------------------------------------------------------ The "-data" parameter ------------------------------------------------------------------------------ The application searches for data files in following locations/order: - if is an .nds with absolute path (drive:\path\...) \data\ - if is an .nds located in the \data directory \data\.zip - first .nds file it finds in the .zip file \data\\ - first .nds file it finds in the directory \data\.zip - set of header.bin, arm9.bin, etc. files in the .zip file \data\\ - set of header.bin, arm9.bin, etc. files in the directory where is the name specified using the -data parameter. Examples: wmb.exe -data c:\nds\demo.nds - tries to load c:\nds\demo.nds wmb.exe -data demo.nds - tries to load \data\demo.nds wmb.exe -data demo - tries to load first .nds file it finds in file \data\demo.zip - tries to load first .nds file it finds in directory \data\demo\ - tries to load set of header/arm9/.. files from file \data\demo.zip - tries to load set of header/arm9/.. files from directory \data\demo\ You can specify more than one data file by seperating the name with a ";". Example: wmb.exe -data c:\nds\demo.nds;demo.nds;demo ------------------------------------------------------------------------------ The "WiFiMe" method ------------------------------------------------------------------------------ The "WiFiMe" method allows you to execute homebrew code from the GBA cart/slot on an old Nintendo DS. This method is accomplished by uploading signed code taken from a commercial game but with a changed ARM9/ARM7 entry point. You have to put the actual homebrew code you want to run on a GBA flash cart. If you have a new Nintendo DS then the "WiFiMe method will not work. ------------------------------------------------------------------------------ Technical details ------------------------------------------------------------------------------ You can only use following memory regions for storing the ARM9/ARM7 binaries. ARM9 : 0x02000000 -> 0x022C0000 ARM7 : 0x022C0000 -> 0x023FE800 or 0x037F8000 -> 0x0380F000 The maximum size for an ARM9 binary is 2.75 MByte. The maximum size for an ARM7 binary is 256 KByte. ------------------------------------------------------------------------------ Version History ------------------------------------------------------------------------------ 1.5.2 - Added support for Nintendo DS with MAC address 00-19-1D-XX-XX-XX. - Added support for Nintendo DS with MAC address 00-19-FD-XX-XX-XX. - Added support for Nintendo DS with MAC address 00-1A-E9-XX-XX-XX. - Added support for Nintendo DS with MAC address 00-1B-7A-XX-XX-XX. - Added support for Nintendo DS with MAC address 00-1B-EA-XX-XX-XX. - Added support for Nintendo DS with MAC address 00-1C-BE-XX-XX-XX. 1.5.1 - Added support for Nintendo DS with MAC address 00-17-AB-XX-XX-XX. 1.5 - Added support for Nintendo DS with MAC address 00-16-56-XX-XX-XX. 1.4 BETA 1 - Added support for a seperate multiboot rom header and other multiboot specific information in .nds files. - Removed the need to assign a unique/different mac address to each entry when broadcasting multiple entries at the same time. - Added logo/header/banner checksum verification for .nds files. - Added "-player" parameter to override the player name. 1.3 BETA 5 - Added AMD64 version of executable for Windows XP x64 Edition. 1.3 BETA 4 - Removed custom logo restriction. - Added support for \data relative .nds file to the "-data" parameter. 1.3 BETA 3 - Added .nds file validation and signature support. - Fixed access violation in version.dll on Windows 2000. - Added "name1;name2;name3;..." support to the "-data" parameter. The selected item in "DS Download Play" will be uploaded. The maximum number of entries for "DS Download Play" is 16. 1.3 BETA 2 - Added "drive:\dir1\dir2\myfile.nds" support to the "-data" parameter. - Included "explorer.reg" file for right-click integration with Windows Explorer. You have to edit the .reg file and change the path to the wmb.exe executable and/or other paths before you import it into the registry. Please be aware that this might break the .nds extension association of other applications. - Show and check driver version. - Removed unused fields from device statistics. 1.3 BETA - Added support for .nds (multiboot data) and .zip (container) files. - Added "-language" parameter for .nds files. 1.2 - Never released. 1.2 BETA - Renamed application to "Wireless Multiboot Application". - Added command-line parameters to specify device, channel, etc. - "WiFiMe" is now optional. 1.1 - Improved transfer speed. 1.0 - First public release. ------------------------------------------------------------------------------ Legal ------------------------------------------------------------------------------ This software is in no way sponsored, authorized or endorsed by Nintendo or Ralink Technology. This software might contain and/or use binaries that were extracted from the captured wireless traffic of certain commercial games. If Nintendo does not like this, then they should provide me with the knowledge on how to sign homebrew code.