GP2X Some Problem When Compile Sdl Test Program Thingy Version 1.5


Still Fresh
Jan 3, 2007

I found some bugs when compile SDL Test Program Thingy version 1.5 at,0,0,0,46,1047.

Here is what I did:

1- Downloaded DJWillis' Windows compilation toolchain at,0,0,0,14,1918

2- Added to make SDL Test compile successfully.

3- Use Code Blocks nightly build (following instruction from;printable=yes) to compile.

I compiled SDL Test to GP2X-F100 latest model and found following bugs:
1- Input Test: Button X and Button Y are swapped for each other.

2- Wave, OGG, MOD files are played OK. Even though quality is not good as original media player of Game Park Holding. Still there is small white noise.

3- MP3 test is really bad. The sound is terrible as if the file is corrupted or SDL Test decode at wrong format.

All other tests successfully. I also found that the already compiled comes with SDL Test Program Thingy version 1.5 works perfectly without problem. Its size is also smaller than my compile file 2164kb.

Please help me to fix these bugs. Many thanks,

Delrina C,
buttons are swapped on some sdl builds depending on whos libs and what version you are using as the button config changed in various builds. open the .h file in my sdltest program and theres some info at the top on how to change.

regarding the audio, my sdltest program was made for testing with my libs at,0,0,0,19,1875 where all the audio should play fine.
I found the problem:

1- The old library for mixer libSDL_mixer.a size 509kb, result horrible MP3 decoding. But no compiling error.

2- The new library libSDL_mixer.a size 1197kb in,0,0,0,19,1875 , will result in compiling error. See below.

I think Arch Deviant had same problem like me;#entry490465

What should I do to compile successfully?

Compiling: sdltest.cpp
Linking console executable: bin\Release\00.gpe
C:\DevKitGP2X\lib\libSDL_mixer.a(mp3_mad.o): In function `mad_openFileRW':
mp3_mad.c:(.text+0x1c): undefined reference to `mad_stream_init'
mp3_mad.c:(.text+0x24): undefined reference to `mad_frame_init'
mp3_mad.c:(.text+0x30): undefined reference to `mad_synth_init'
mp3_mad.c:(.text+0xa0): undefined reference to `mad_timer_zero'
C:\DevKitGP2X\lib\libSDL_mixer.a(mp3_mad.o): In function `mad_closeFile':
mp3_mad.c:(.text+0xc4): undefined reference to `mad_stream_finish'
mp3_mad.c:(.text+0xcc): undefined reference to `mad_frame_finish'
C:\DevKitGP2X\lib\libSDL_mixer.a(mp3_mad.o): In function `read_next_frame':
mp3_mad.c:(.text+0x150): undefined reference to `mad_frame_decode'
mp3_mad.c:(.text+0x17c): undefined reference to `mad_stream_errorstr'
mp3_mad.c:(.text+0x24c): undefined reference to `mad_stream_buffer'
mp3_mad.c:(.text+0x260): undefined reference to `mad_frame_decode'
mp3_mad.c:(.text+0x28c): undefined reference to `mad_timer_add'
mp3_mad.c:(.text+0x2f8): undefined reference to `mad_stream_buffer'
C:\DevKitGP2X\lib\libSDL_mixer.a(mp3_mad.o): In function `mad_seek':
mp3_mad.c:(.text+0x384): undefined reference to `mad_timer_set'
mp3_mad.c:(.text+0x390): undefined reference to `mad_timer_compare'
mp3_mad.c:(.text+0x3f4): undefined reference to `mad_timer_compare'
mp3_mad.c:(.text+0x444): undefined reference to `mad_timer_zero'
C:\DevKitGP2X\lib\libSDL_mixer.a(mp3_mad.o): In function `mad_getSamples':
mp3_mad.c:(.text+0x5a8): undefined reference to `mad_synth_frame'
C:\DevKitGP2X\lib\libSDL_mixer.a(mp3_mad.o): In function `mad_openFile':
mp3_mad.c:(.text+0x820): undefined reference to `mad_stream_init'
mp3_mad.c:(.text+0x828): undefined reference to `mad_frame_init'
mp3_mad.c:(.text+0x834): undefined reference to `mad_synth_init'
mp3_mad.c:(.text+0x8a8): undefined reference to `mad_timer_zero'
Process terminated with status 1 (0 minutes, 8 seconds)
0 errors, 0 warnings
Last edited by a moderator:

I make a document about how to configure Code::Blocks to develop and compile SDL applications into GP2X and Win32. A step by step document.,0,0,0,45,2014

It works well in my computer. Please have a look and give your commend. I will update it.

Delrina Chang,
Very good tutorial Delrina.

I've been trying to set up the dev enviroment on Ubuntu Linux this week, but I might have to resort to using this guide with Windows.

Spelling mistake in guide:
- indows platform for debugging and simulation, *.exe file.
- Linux platform on GP2x, *.gpe file.

You just missed the W from off Windows :)
Last edited by a moderator: