GP2X What Is The Fastest Way To Develop And Test Apps?


If you can telnet to your gp2x, you have already done the hard part :) Just download the samba client from the archive, copy it over to your device using windows explorer or something and then do the above.
 
Squidge, thank you. And thank you Parkydr. It is working beautifully.

Yes, I wanted to avoid the SD/NAND memory copy and also speed up the process. Seems to work. I'll test it out. This is something that should be put on Wiki right after the Visual Studio 2005 setup docs.

P.S. I still do not see the printf() statements. I only see them if my program crashes, but not during the program itself. Any ideas?

Anyways, thank you all that responded.
 
o not see the printf() statements. I only see them if my program crashes, but not during the program itself. Any ideas?

Hmmm, never heard of that before... Have you tried a hello world program? Ie. No SDL, just some simple printf statements?

ie.

#include <stdio.h>

int main (void)
{
printf ("Fooble! 1\n");
sleep(5);
printf ("Fooble 2!\n");
sleep(5);
printf("done!\n");
return 0;
}

If you don't see them appear gradually, rather than all at the end, then something is very much messed up!
 
Last edited by a moderator:
It appears that if SDL is not launched, then printf() works great. But, as soon as I launch SDL, it does not display printf() statements.

[EDIT / UPDATE]
OK, problem found. It was my code. I did not put \n at the end of the lines so I guess the buffer never cleared and printed. After I put in \n at the end of y hello world statements, they print just fine.

Whew, thank you everyone!
 
Usually it's "better" to print diagnostic messages to the standard error stream (with fprintf(stderr,"Oops: %s",error); for instance) instead of the standard output stream. You'll avoid nasty buffering pitfalls (usually you want diagnostic output right away, and 'result' output can be buffered for a bit), and you can keep the actual output of your program (e.g. a resorted version of the input stream) separate from the debugging/error messages.
 
I ought to try this out. Right now I'm devving on SD card and batteries. It's quite a pain since it takes around 30 seconds before I can remove my SD card from the reader without Windows complaining that the data wasn't fully written.
 
Man, after all the help on this thread, I have been able to set it up where I have about 5 seconds between build and launch. Oh, and not to mention the saving of my SD card's use by not erasing every build. This should definately go into the Wiki page right after Visual C++ setup. I tried writing a tutorial but found that Linux specific stuff I still am not comfortable with.

Ok, thank you all again.
 
Yes, this definitely needs to go in the wiki. If I can get it going, I will add it if no-one else has in the meantime.

To summarise:
1. Download samba client from the files archive.
2. Install samba client on the GP2X.
3. Telnet to the GP2X, log in as root and enter "insmod smbfs".
4. On the GP2X, enter "mkdir /mnt/dev"
5. Still on the GP2X, enter "mount -t smbfs //host/share /mnt/dev -o username=user,password=pass" where host = host's IP address, share = share name on the host PC, user = Windows username and pass = Windows password.

Did I get that right? Remember, this is for people who know nothing about Linux, so every little step must be documented.

Is the "insmod smbfs" permanent? Or does it have to be executed every time you boot up the GP2X?

Edit: Added a Samba client page to the wiki based on what I had to do to get this working.

Edit2: It's not permanent, so the next question is how do we get smbfs installed everytime we start the GP2X and setup the mount?
 
Yes, this definitely needs to go in the wiki. If I can get it going, I will add it if no-one else has in the meantime.

To summarise:
1. Download samba client from the files archive.
2. Install samba client on the GP2X.
3. Telnet to the GP2X, log in as root and enter "insmod smbfs".
4. On the GP2X, enter "mkdir /mnt/dev"
5. Still on the GP2X, enter "mount -t smbfs //host/share /mnt/dev -o username=user,password=pass" where host = host's IP address, share = share name on the host PC, user = Windows username and pass = Windows password.

Did I get that right? Remember, this is for people who know nothing about Linux, so every little step must be documented.

Is the "insmod smbfs" permanent? Or does it have to be executed every time you boot up the GP2X?

Edit: Added a Samba client page to the wiki based on what I had to do to get this working.

Edit2: It's not permanent, so the next question is how do we get smbfs installed everytime we start the GP2X and setup the mount?


To autoload add the "insmod smbfs" to the rc.sysinit
 
Last edited by a moderator:
could you add the mount point to the fstab and have it automount or is there a problem with authentication?
 
I'm sorry for resurrecting such an old topic, but it seems this is a problem again.

I have been away from GP2X dev for few years now, and updated to firmware 4.0. Eh, what happened to Samba?

Are we back to PC -> Compile -> SD card -> GP2X -> Run -> Crash -> PC -> etc...?
 
Since firmware 3.0.0 Samba (and all the other net features) are gone. So use firmware 2.1.2 (if you need SDHC support use notaz version) as it's the best one for F-100 GP2x.

Regards,
Stephan
 
sbock said:
Since firmware 3.0.0 Samba (and all the other net features) are gone. So use firmware 2.1.2 (if you need SDHC support use notaz version) as it's the best one for F-100 GP2x.

Regards,
Stephan
I'm also getting the F200 model. Does this mean F200 development will be sans-samba too? :(

Anyone know of a reason net stuff are gone? Security? Licensing? DRM?

What would the most efficient way be for developing for F200 now assuming I'm using Visual Studio and SDL?
 
Last edited by a moderator:
The F-200 is missing the entire net chip, so there is no solution for this one.

Regards,
Stephan
 
sbock said:
The F-200 is missing the entire net chip, so there is no solution for this one.

Regards,
Stephan
Dude... DUDE!!!

Ok, so that pretty much sucks for development. I have downgraded my F100 to version 3.0 that appears to have telnet and samba still.

Are F100 and F200 pretty much identical except for the Dpad and Touchscreen (and the lack of netchip in F200)? CPU is the same, RAM is the same, resolution is the same. Am I correct at that?

Games compiled for F100 should run on F200 just fine I presume. I can use the F100 for development and F200 only to test touch screen or dpad responsiveness.

Debug output, no need to copy to SD, etc. is something that some developers might find usefull... I assume.
 
Last edited by a moderator:
sbock said:
The F-200 is missing the entire net chip, so there is no solution for this one.

Regards,
Stephan
I've heard that you can use USB wireless through the cradle.

I haven't tried it (I've got an F-100 :)).
 
Last edited by a moderator:
azherdev said:
Are F100 and F200 pretty much identical except for the Dpad and Touchscreen (and the lack of netchip in F200)? CPU is the same, RAM is the same, resolution is the same. Am I correct at that?
CPU, RAM, resolution are the same.

There were some changes to the sound hardware, which results in crashes on the F200 if you use the wrong frequency. Kevcal and sbock did some testing, and found the safe-to-use frequecies are:

8000
11025
16000
22050
32000
44100
48000

Stick to one of them, and it should work on F100 and F200 units :)
 
Last edited by a moderator:
Back
Top