Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

wifitransfer DS

From GameBrew
wifitransfer
Wifitransfer.png
General
AuthorBafio
TypeUtilities
Version1.0 RC
LicenseMixed
Last Updated2006/02/28
Links
Download
Website
Source

An NDS app that allows you to transfer a file from a computer server to the DS and execute the application straight away (the server application is written in java).

Note: Use it at your own risk.

User guide

This program consists of two parts for sending an NDS file to the DS using WIFI and running it, provided you have a compatible card i.e. GBAMP).

Java server

On the server side, you should fist run the java server, which prompts you to specify a directory to serve to the NDS. Once the directory is selected, there isn't much else to do. Place your files there (any file really, but NDS to execute) and try to keep it under 128 files. You can set a higher delay (slow down the transfer) if you encounter errors. You can edit server.bat and include your favorite options.

java -jar server.jar [directory] [-port portNumber] [-delay sendDelay]

NDS file

On the DS side, you start the wific.nds file with your preferred method. For GBAMP, you can use fine from Sata or Migty Max loader.

Then connect to an access point, setting no WEP key (the AP must be open at this time). The configuration is now saved to a file. After the first successful connection, you can try the direct connection.

Once connected, select the file you want to transfer and then you can start the transfer by pressing key A. Press B to exit. Instructions are on the screen.

You can also set the IP address of the computer running the server (the internal network one) if the one shown in the transfer page is not correct (note: now it's automatically discovered - does not always work).

Once the file is downloaded, you can start it straight away (using the standard GBAMP method, so it should work with GBAMP loaders), go back to the previous menu, or go back to the multiloader (standard LIBNDS method).

You can also exit from the main menu by pressing B.

The file Wific2.nds simply transfers automatically and executes the file named test.nds.

Compatibility

This has been tested only on the GBAMP, but it should work on some flashcards and M3 too (it's using Chrism's CF driver).

Changelog

Version 1.0 RC

  • A new connection method, which uses both the wifi settings from the firmware and from the file. This version has been fixed so also the disk configuration works fine. It should solve problems on connection seen in previous version.
  • The latest FAT library from Moonshell is used, this should make it compatible with more hardware.
  • The updated source code of the server and of wific2 is included. This includes a set of generic utilities that could be useful to other projects as well.

Version 0.96 RC

  • Small changes in the server and client:
    • When there is packet loss, the server increments the delay in (number of lost packets)/10. This should fix the situation faster.
    • Bugfix: The client asks for the lost packets also at the end of the transfer instead of returning ack. This should solve many transfer errors.
    • Other small changes.

Version 0.95 RC

  • The server has been rewritten completely, there were some serious flaws and a stupid bug that made the recovery from errors useless. Plus the server now can handle multiple clients...
  • Basic DNS. You can type a normal address as destination IP, so you can (not tested) connect to a remote server. Type the address and press list.
  • Many many bugfixes, and added recovery code for bad situations like timeouts, to avoid that the application freeze.Still can happen at times, but should be rare.
  • Some more bugfixes I can't remember...

Version 0.9 RC

  • The source code is distributed.
    • The paths are all relative to the directory and Sgstair's lib is included so it should be easy to compile. All you need is the latest DevKitPro. NOTE: No spaces in the path to the source...
  • New app, wific2, (execute for GBAMP only) downloads and executes the file named test.nds from the server, without all the setting screen (using the ones saved from wific), for fast testing during development.
  • Some important bugfixes:
    • The discovery code was wrong, this time server discovery sould work better.
    • The settings sometimes were not put in the wifi, so you could not (at times) interact with the server. So the 'I can't get the list of file' bug (at least in some occasions).
  • Poversaving:
    • Close the DS goes in standby.
    • You can turn off the upper screen by pressing select at the main menu.
  • The java server now has commandline:
    • java -jar server.jar [directory] [-port portNumber] [-delay sendDelay]

Version 0.8 test

  • In this version,I changed the protocol again :D and it works a bit more like the old one so you can slow the transfer down by using the delay bar if you run into transfer errors.
    • FAST! File transfer is now almost as fast as it gets, 84KBs here on my machine.
    • Direct connection, so you don't have to pass all the connection setting screens.
    • Some other minor changes.

Version 0.7

  • Uses the new 0.2b release of the library. This fixes the send problem there was before, so:
    • Modified transmission protocol. Now it should be ok for file transfer even when there is packet loss! Remember to run also the new version of the server.
    • Removed some debug info.
    • hopefully fixed some issues that could generate file loss on the CF in certain situations.

Version 0.6

  • This update is using the new 0.2a(tris) version of Sgstair library fixing some issues with ARP requests.
  • New features:
    • Modified the transmission protocol, it's a little more resitant to errors (retransmissions).
    • The destionation IP is saved in the config file, with the AP MAC address.
    • Can set the delay on the server. Lower mean faster transfers,more errors. Use a higher delay if you get transfer errors.
    • Many small changes here and there...
    • (discovered different problems with atutomatic server detection, don't relay on that).

Version 0.5

  • This update is using the new 0.2a(bis) version of Sgstair library, so should create less white screens.
  • New features:
    • List up to 128 files, and scroll the list.

Version 0.4

  • This update is using the new 0.2a version of Sgstair library, so it should be more compatible with different AP. Citing the release notes of the lib:
    • Fixed Crash bug in ARP timeout code
    • Changed Associacion code to associate faster and more reliably, and codebase now includes rate spoofing to connect to a wider range of APs "
    • On the server, I fixed a stupid bug that would show only 1/2 of the files.
    • Again on the server, uses system look and feel.
  • Also, I cite from the library notes:
    • It is important to note that this lib version is a PRERELEASE version.
    • Not all features exist or work correctly necessarily.
    • I will not be providing much in the way of support for this release.
  • And please remember the "use it at your own risk"...

Version 0.3

  • File selection.
  • Auto discovery of the server address.
  • fixed (hopefully) the issues with the flash cards not supported by the GBAMP driver (no writing though, so I don't know how useful)
  • Some other small bugfixes and cosmetic changes I can't recall.

Version 0.2

  • New rel. info:
    • Fixed file listing (we are getting there).
    • New run method in the NDS file.
    • Reads and saves the config file! no need to enter all the time the settings, if you have a different config. Goes to a simple text file.

External links

Advertising: