|NEW! WiFi chat 0.99 beta (2006.05.04)
and source code
NEW - UPDATED to the new wifi lib, WEP and DHCP are now in!
The source code of both the server and client is now available here. The code is actually quite ugly, it has been a testbed for me to learn and some things are not done properly.
Among the others there are 2 things that would need fixing right now:
1) Make the receiving of messages independent from the draw loop, I was thinking using a timer, so that messages can be received also when into the menues
2) Fix concurent send and receive of messages, one possibility would be using two different ports. Also, a better method for ACK would be nice. Relative changes would be needed in the server as well.
TCP could me much easyer to use for this, but this would require a complete redesign of the protocol.
I really appriciate contributions to the project (if well tested first).
NOTICE: All communications are public and are even published to a web page when it works ;).
Don't share any personal information using this program, as anybody will be able to see the messages!
First you will need either:
Online (Firmware) settings from an online game. Now DHCP and WEP are supported, so nothing more should be needed.
Try also to read the "connection settings" part down here.
The program is based on the wifi lib by Sgstair, uses UDP to send the massages you draw on your DS to the other connected users.
I will write more documentation later on.
For more info see changes down here.
Some random info:
Press X to change from 1 message to 4 messages view, changable font for the drawings (from the settings); Changable skins (simple JPG images, located in the /skins folder).
You don't really need a server, since you can connect to the default one (kindly hosted by Sgstair :). This server is still pre beta so use it at your own risk.
I will not offer much support on it right now, as I know it has some bugs.
If you really want to run it, you will need: Java 1.5 and port 9999 forwarded and open in the machine running the server, plus some options that are briefly explained in the commandline. To execute open a command prompt (shell) and run java -jar chatserver.jar
Here is a little bit of troubleshooting for the connection. The next version of the wifi library should make things much easyer... and it did :)
So, the program uses the conection settings from any ds online game (Mario Kart for example). Once set up in the official game, it should be ready to go.
* Updated to the latest wifi lib (0.3) from Sgstair: than means:
- WEP and DHCP are available! (WIFI settings from the firmware and DNS are now Sgstair's
* New default skin, designed by Rat (Ben) of Drunken Coders
* New keyboard with support for all the keys, shift and caps.
* Multiple messages view (press X to change from 1 message to 4 messages view)
* Menus (back to bootloader, turn off the ds...)
* Settings (change nickname)
* Changable font for the drawings
* Changable skins (simple JPG images, located in the /skins folder)
** fix some bugs still present in the server
** Update to the new Wifi library (when out). That will add support for WEP, etc.
* Saving and loading messages from the CF
* Save settings on server and/or on the CF
* Possibly colors and TCP version... not in the near future though
Version 0.836 beta
Fixed connection settings from disk.
Version 0.835 beta
Updated the fat libraries to the last version of Moonshell's version. Small changes hoping to make it more compatible with M3,
Version 0.83 beta
Updated to the latest version of libfb. Better font display, some small changes here and there, code cleanups. Clock added.
The server now creates a paginated archive of the messages, so I suggest to update the server too. Some other small changes I can't remember.
Added a simpe ip filter to abn (temporary) abusive users.
Light blinks when wifi is enabled. Also, when the screens are not lit, a sound announces new messages (if you press X on the top right corner) (this was undocumented).
Version 0.81 beta
Improvements to the touch screen code. You can now select sensibility to the touch using the "rainbow" bar. The sensitivity is displayed in the status info (top screen). Also, "jumps" are ignored.
Fixed issue with more than 6 users :)
Up to 80 messages in the log. You can also use left and right to scroll messages.
Version 0.8 beta
Too many changes to remember, but among the others:
* DNS client working.
* It's now possible to connect using both wifi settings from wifitransfer and the firmware settings
* The server has option to upload a message log to an FTP server, locally serve them or save them to a local directory. HTML files are automatically generated (still in devel.)
* Touch screen code takes into account the pressure of the pen
* Keyboard (yes, I know it's not so good)
* User list (limited to 18 users now)
* too much :) but probably:
user list, receiving messages in menu, more menu, user settings, webcam (not on DS I'm afraid)...
* The chat uses your user name from the personal settings. Only latin characters are supported now, so you will have problems publishing your messages, and possibly connecting, if your name uses foreign characters or symbols.
* The servers have some problems updating the message list
* Very rarely the applications seems to freeze. I still have to figure out why this happens, but I'll invastigate. You can just restart the app it this happens.
* Uses Sgstair wifi library: http://www.akkit.org/ - 0.3
* Uses the GBA MP Compact Flash Driver by chrism http://www.geocities.com/chishm1/gbamp/
* Fat library modifications from Moonshell: http://mdxonline.dyndns.org/archives/nds/
* Uses Libfb by DragonMinded: http://www.youngmx.com/?loc=ndsdev/LibFB
* Uses zlib http://www.zlib.net/
* Uses Jpeg lib by Burton Radons ported by Headspin http://headkaze.webpal.info/
* Created with DEVKITPRO http://www.devkitpro.org/
* Logo from and skin design by Rat (Ben) of Drunken Coders
* Thanks to all the homebrew community for the support
|Updated! WiFi file transfer program 1.0 RC (28/2/2006)|
This is my first NDS app. It allows you to transfer a file from a computer server (the server application is written in java) to the DS and execute the application straight away. New, now with source code!!!
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).
Version 1.0 RC