Jump to content

WiFi Transfer


bafio

Recommended Posts

HI!

 

I just completed my first WiFi program, using the library prerelease.

 

you can find it here:

 

http://www.geocities.com/bafiollo/wifitransfer.zip

 

Shortly:

transfer a file to the NDS, save it to a GBAMP compatible card, and run it!

 

It's still really beta quality, but seems to work well for me, and it's quite handy.

Later releases will include preferences saving and file selection...

I think it's really useful for testing and debugging programs, you don;t eve need to restart the DS to load...

 

Bafio

 

More discussion:

http://forum.gbadev.org/viewtopic.php?p=63681

 

P.S. this is the readme file:

 

///////////////////////////////////////////////////

WIFI file transfer V0.1a

 

by bafio (buzurro@googlemail.com)

 

Use it at your own risk!

 

libraries used:

 

NDS file based on the wifiexample by Stephen Stair: http://www.akkit.org/

using the prelerease version of his library

© 2005 Stephen Stair

 

uses the GBA MP Compact Flash Driver by chrism

http://www.geocities.com/chishm1/gbamp/

Copyright © 2005 Michael Chisholm ("Chishm")

 

Created with DEVKITPRO

http://www.devkitpro.org/

 

///////////////////////////////////////////////////

 

This program is composed of two parts, that together allow you to send an

nds file to the DS using WIFI and run it, supposed you have a compatible

card.

 

This is is a first release, so the functionality is still very

limited.

 

*****)

 

On the server side, you should run the java server, that asks you to specify a

directory to serve to the NDS. Once the directory is selected, there is not much else to do.

You must put in the directory a file named EXACTLY test.nds, file selection on the NDS

is almost there, but I still have to build a user interface for that.

 

 

*****)

On the DS side, you start the nds file with your preferred method.

 

You must then connect to an access point, setting no WEP key (the AP must be open at this time),

static IP and dns, the same way you do in

http://www.akkit.org/dswifi/wifi_lib_test.nds

 

Once connected, you can start the transfer, pressing key A. Instructions are on screen.

You must also set the IP addess of computer running the server (the internal network one)

if the one shown in the transfer page is not correct (it's set by default to the gateway).

 

Once the file is downloaded, you can start it straight away (I am using the standard GBAMP method,

so it should work if the other loaders do) or go back to the previous menu.

You can also exit from the main menu pressing B.

Edited by bafio
Link to comment
Share on other sites

  • Replies 44
  • Created
  • Last Reply

Top Posters In This Topic

OMG THE FIRST REAL APP USING THE WIFI CODE!

I applaud you for using cross platform code.

I'll try it later when my wifi isn't in use (stupid family).

 

Now i don't have to endure the whining of my CF writer!

Edited by JaJa
Link to comment
Share on other sites

I have uploaded a new release with config file saving, you can see here (I made a simple web page too):

 

http://www.geocities.com/bafiollo/

 

changes:

* Fixed file listing (we are getting there)

* New run method in the NDS file (for people using

other than GBAMP, I have no way to test it but you

should notice the option, it's pressing select after

a file download)

* 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

 

Bafio

Link to comment
Share on other sites

Grrrr. Doesn't work out of the box on mac x.

Probably need a recompile, so i need to wait for the source.

When i type java -jar server.jar in the console i get:

 

Jason-Bardeys-Computer:~ jason$ java -jar /Users/jason/Desktop/wifitransfer_02/server.jar

Exception in thread "main" java.lang.UnsupportedClassVersionError: wifi/test/UdpServer (Unsupported major.minor version 49.0)

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:539)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)

at java.net.URLClassLoader.access$100(URLClassLoader.java:55)

at java.net.URLClassLoader$1.run(URLClassLoader.java:194)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:187)

at java.lang.ClassLoader.loadClass(ClassLoader.java:289)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)

at java.lang.ClassLoader.loadClass(ClassLoader.java:235)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

 

That's with the version 2 or whatever your calling it.

The older version (wifitransfer_old_1) the server loads up and asks me to select a directory, which i assume means its working.

Edited by JaJa
Link to comment
Share on other sites

Grrrr. Doesn't work out of the box on mac x.

Probably need a recompile, so i need to wait for the source.

 

Exception in thread "main" java.lang.UnsupportedClassVersionError: wifi/test/UdpServer (Unsupported major.minor version 49.0)

 

Ops, I recompiled it in another computer, forgetting to set java 1.4 compatibility.

 

But, the source code of the java application is included in the jar file,so you can recompile it. It's the NDS source I have not includedto respect Stephen's good reasons not to release right now.

The java app is really rather simple, and the whole program is not well designed, since it's based on workarounds to problems that will be solved soon (I hope for the TCP socket, working with UDP is quite hard!) so don't judge my skills on that :)

 

Also, the version 1 of the java app should work with version 2 of nds (I think).

Anyway, I am updating it quite soon with a new feature, and I will remember to set the java 1.4 compatibility...

 

Fabio

Link to comment
Share on other sites

Hi,

 

I have a new version on the server:

 

http://www.geocities.com/bafiollo/

 

 

Version 0.3a

 

* ! 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

 

Bye!

 

Bafio

Link to comment
Share on other sites

By the way, I forgot:

 

*********

BIG BUGFIX in version 0.3 :

*********

 

Try version 0.3, in version 0.2 I forgot to really set the output packets destination IP, so it was sending to 192.168.0.1 indipendently of the destination IP!!!!

This could have been the case also for other people. Now the server automatic discovery should set the correct IP...

 

Bafio

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...