Porting And Hacking Questions? From A Brutal Noob


rendermac

Still Fresh
Joined
Sep 25, 2009
Messages
6
Age
54
Location
Bellingham, WA in the U.S. of A.
Website
https
Short story long. . .
I have a 9 year old non-verbal autistic son. ACC is a voice out put system, fairly simple touch a picture and it'll say a word. These devices cost in the $1000s, my son had one on loan and broke the screen costing $600us to fix.
So a little over a year ago I hired my nephew to program a simple app. for the F200-gpx2. Alas the touch screen on the model was a bit too slow to react. He had to hold his finger on the image too long to get the word out.
I just got the new Wiz and while the images load and the triggers flip through set of images, there is no sound.
Any ideas? It uses wave files, I tried using the record feature on the Wiz and replacing the old sound sample. . . no luck.
My nephew is back at college now, and it is unlikely he'd have time to help me fix the issue and even if he did have time he doesn't own a Wiz.
I'm very interested in developing this idea, for I see a need. But fundage is in short supply.
While I'd love to get this quick & dirty little app to work on the Wiz, my greater question is about hacking the Wiz's desktop.
I noticed the desktop uses the triggers to flip through sets of icons just like the ACC app. I always wanted the ability for the user of the ACC to be able to access MP3s, share images, watch movies and then exit back to the speech output.
Is it possible to hack the Wiz's operating system into doing something like that? How hard would that be?

Thanks for your time guys- :D
 
To be specific, if you mean you ran the gp2x executable on the Wiz and it ran at all, thats telling about how it was developed; or did you assemble a toolchain for the Wiz and compile it?

The Wiz is more picky about playback settings, so could be something simple like that or a little more sinister; should be an easy fix in the end. (And if you need it for your soon, a lot of people would probably help you out with that; if you're going to make it into a marketable product, fewer people would help and you shoudl be pretty picky about them anyway. Post details here.)

As to altering the OS .. I don't think they released source for the GPH custom bits (like the menu), but someone else could be clearer. Certainly, rolling your own or altering gpmenu or something would probably be doable.

jeff
 
skeezix said:
To be specific, if you mean you ran the gp2x executable on the Wiz and it ran at all, thats telling about how it was developed; or did you assemble a toolchain for the Wiz and compile it?

The Wiz is more picky about playback settings, so could be something simple like that or a little more sinister; should be an easy fix in the end. (And if you need it for your soon, a lot of people would probably help you out with that; if you're going to make it into a marketable product, fewer people would help and you shoudl be pretty picky about them anyway. Post details here.)

As to altering the OS .. I don't think they released source for the GPH custom bits (like the menu), but someone else could be clearer. Certainly, rolling your own or altering gpmenu or something would probably be doable.

jeff

Thanks Jeff for the input.

In answer to your question. . . I pulled the SD card out of the F200 and put it in the Wiz. The only fix I've tried is a wave file recorded by the Wiz rather then the original much smaller wave file. Originally it took a bit of trial and error for me to get a wave file that was formatted correctly to run on the F200.
I am planning on getting and posting the source code to freshmeat or scourceforge. Is there a preference?
The only "marketing" plan I have is to work with a foundation to get and make Wizs available at a lowered price for low income families of kids that could use them. Also it would be nice to be able to reward some programers for their coding efforts and make it a first class app. But without a rough working demo, it'll die on the design board. As I stated other touchscreen options are quite pricey, though they have years of development behind them and allow for complete phrase creation. For a child like mine simple and easily packable is preferable.

Here is what the config file looks like:

Number of Panels %2
Panel 1 Rows %2
Panel 1 col %2
Pic 1 %yesPec.bmp;
Audio 1 %yes.wav;
Pic 2 %noPec.bmp;
Audio 2 %No.wav;
Pic 3 %toiletPec.bmp;
Audio 3 %toilet.wav;
Pic 4 %stopPec.bmp;
Audio 4 %stop.wav;
Panel 2 Rows %2
Panel 2 col %2
Pic 1 %toiletPec.bmp;
Audio 1 %toilet.wav;
Pic 2 %stopPec.bmp;
Audio 2 %stop.wav;
Pic 3 %wantPec.bmp;
Audio 3 %want.wav;
Pic 4 %morePec.bmp;
Audio 4 %more.wav;

Fun, fun, fun,
-Tim
 
Last edited by a moderator:
So given your intentions are pretty good, I think you should be able to find help. I'd say I'd help but time is pretty hard on me and I need to keep a few drips for myself. Still, love to help someone in need :)

Got somewhere you can drop the tar or zip of the source? If so, just zip it up and post a link and its pretty likely a couple folks will help.

If no place to put it, sourceforge etc would be fine. In a pinch, I could host it for you.

First step, get the source up; then we'll get you sorted out ;)

jeff
 
Pickle said:
If you cant get the source, at least the graphics and sound files would work. I wouldnt mind helping for a cause like this if required.

i would be pleased to help you as well, if needed ...
 
Last edited by a moderator:
benjymous said:
Sounds like the sort of thing that could be knocked together in no time using the Wiz's flash player
This suggestion would be usually a good idea. However, Wiz's Flash player is just plain awful. It appears to be unable to load external resources for example. So, everyone who wants to customize the application would have to be able to compile it. And they also would have to modify some configuration file and the build script.
 
Last edited by a moderator:
Got the source now posted at:
https://sourceforge.net/projects/cheaptalker/
There is a compiled for the F200 version as well.
It lacks the nice pictures and words currently.
We own a PECs program, a picture communication system. That is what I'm currently using for my program images, but there would be copyright issue to post those.
In the next few days I'll try to track down some public domain images and re-post a better example.
-Tim
 
Heres some feedback on some things Ive noticed:

The GP2X performance/reaction time may because of a couple of things. The screen is not set to use HW_SURFACE. Second the images are not optimized to the screen display. The GP2X SDL is designed to the HW blitter, if you dont have the same format as the screen the operations will take place through software given your application a major performance hit.
I find it odd your using 8 bpp, normally 16 bpp is used. (8 bpp uses a palette to assign the colors, but one is never setup) What is the format of the pictures? Today 16/24/32 bpp are typical.
There no frame limiting, the loop in this just loops as fast as possible, it might be better to add some frame limiting. You could really take the load off the hardware, since your application could be setup to only draw if a panel was changed by input.
I dont see anything obviously wrong with the sound, personally ive not used a specific channel when playing a sound, but what is there looks fine.
 
You set the sound rate to 22050. Personnally, i haven't been able to use 22050 but only 44100 with Wiz SDL version.
But it was working fine on my GP2X-F100 ... That might explain why you can't hear anything.
 
zx-81 said:
You set the sound rate to 22050. Personnally, i haven't been able to use 22050 but only 44100 with Wiz SDL version.
But it was working fine on my GP2X-F100 ... That might explain why you can't hear anything.
The only thing I've done to try to fix the playback is replace the sound sample with a file recorded by the Wiz.
 
Last edited by a moderator:
rendermac said:
zx-81 said:
You set the sound rate to 22050. Personnally, i haven't been able to use 22050 but only 44100 with Wiz SDL version.
But it was working fine on my GP2X-F100 ... That might explain why you can't hear anything.
The only thing I've done to try to fix the playback is replace the sound sample with a file recorded by the Wiz.

using the files you sent me i've sucessfully make it working. It has nothing to do with the sample rate, the issue was in the touch pad coordinates extraction stuff. I've replaced this part of the code with a simple SDL_GetMouseState( &mouse_x, &mouse_y ) function, and it works just great now. I've sent you a tarball ;)
 
Last edited by a moderator:
zx-81 said:
rendermac said:
zx-81 said:
You set the sound rate to 22050. Personnally, i haven't been able to use 22050 but only 44100 with Wiz SDL version.
But it was working fine on my GP2X-F100 ... That might explain why you can't hear anything.
The only thing I've done to try to fix the playback is replace the sound sample with a file recorded by the Wiz.

using the files you sent me i've sucessfully make it working. It has nothing to do with the sample rate, the issue was in the touch pad coordinates extraction stuff. I've replaced this part of the code with a simple SDL_GetMouseState( &mouse_x, &mouse_y ) function, and it works just great now. I've sent you a tarball ;)
hah, you beat me to it :) I thought 22050 would work ok, I also wondered if the touchscreen would work. I dont remember seeing that device when i did the gmenu2x.
 
Last edited by a moderator:
Pickle said:
hah, you beat me to it :) I thought 22050 would work ok, I also wondered if the touchscreen would work. I dont remember seeing that device when i did the gmenu2x.

We all won, because we now got a working "cheap talk" homebrew :)
 
Last edited by a moderator:
zx-81 said:
Pickle said:
hah, you beat me to it :) I thought 22050 would work ok, I also wondered if the touchscreen would work. I dont remember seeing that device when i did the gmenu2x.

We all won, because we now got a working "cheap talk" homebrew :)

Thanks you guys!! I'm taking the unit in to show off to my boy's SLP [Speech Language Pathologist] on Friday.
There are still a few modifications I'd love to have made to the program. But I think I should get my act together and track down some images I can distribute openly and let's face it my voice is a no go:)
Top five questions:
Can I safely add comment lines to the config file safely?
What is the correct format for images for both Wiz & F200?
What is the Correct format for sound for both Wiz & F200?
I see no reason not to kick out a final working version for the F200. I must admit, if the app can be made to react quicker. I'd rather send the F200 to public school with my son. I'm sure there are a few F200 floating around on ebay or craig's list, as far as other kid's go as well.

Thanks again you guys are great!
 
Last edited by a moderator:
rendermac said:
Can I safely add comment lines to the config file safely?
Yes and No, the code basically skips up to 256 characters or until it sees a %. You could put comments in as long as you dont exceed 256 in length before each %
rendermac said:
What is the correct format for images for both Wiz & F200?
There isnt really a correct format for anything, but there are common/popular formats. Personally my choice is the png container with images at 16 bpp.
rendermac said:
What is the Correct format for sound for both Wiz & F200?
Same as above, i just use wav's.
The thing with formats, you need to be careful which formats you use since some have license requirements that go with them, like mp3.
rendermac said:
I see no reason not to kick out a final working version for the F200. I must admit, if the app can be made to react quicker. I'd rather send the F200 to public school with my son. I'm sure there are a few F200 floating around on ebay or craig's list, as far as other kid's go as well.
If you want to wait on the F200 version, my offer to try my optimization ideas still stands. It wont take long.
 
Last edited by a moderator:
[/quote]
If you want to wait on the F200 version, my offer to try my optimization ideas still stands. It wont take long.
[/quote]
That would be great, I'd love to see if the F200 reaction time would be quick enough. The only added things to bare in mind is to disable all buttons except the two trigger keys. It would be nice if there was a key-combo exit, but a single is a no go. My son's wild flipping fingers will sure randomly get even a combo exit, but less often then a single.
Also as far as audio playback, for me it isn't a big deal to add 2 seconds or so of silence at the end of each sample. But for a "final" come and get could a slight delay before repeating or lift off and re-touch before repeating be hard coded?

Thanks again!
 
Back
Top