GP2X Gp2X Hardware Library - Released!


f-cycles

Still Fresh
Joined
May 4, 2008
Messages
51
Location
Montreal
Website
fcycles.blogspot.com
Hello GP2X developers,

I have release the first version of my library which allow developers to take control of the hardware features on GP2X!

Included in the package:
- 16 pre-compiled samples (for PC and GP2X) to learn & demonstrate various features.
- Tools like a .BMP to gp2x image format converter...
- Full source code (also available via SVN)



DOWNLOAD: GP2X Hardware Library


Screen Shot of LibTest running on PC (showing some GP2X Hw Emulation via SDL).
dbimage.php?id=312077.jpg



Screen Shot of BatteryTester (included among the samples) which allow you to study battery discharge:
dbimage.php?id=312081.jpg



Enjoy!!!
Best Regards,
F-Cycles / Quebarium


ps: I am not sure if I should post this news in GP2X Development thread.
 
f-cycles said:
ps: I am not sure if I should post this news in GP2X Development thread.

Ive unapproved all your other posts with the same information. When you have something significant when you release either keep it to the development section or the new section. I would suggest the news section as that would be on the front page for a while and would give you the highest exposure.
Also its nice that your code is open source, but with a low level library for the GP2X theres not much that would benefit the wiz/caanoo/pandora. To be honest it seems like attempt to get attention.
 
Last edited by a moderator:
Wow! It's finally here! I will just have a look at it and hopefully will start a project with this in the near future. The SDL PC emulation is a nice touch and this lib also gives me the opportunity to look at features of GP2X that I never had the chance to try in the past. A lot of good work has been done here!

Also its nice that your code is open source, but with a low level library for the GP2X theres not much that would benefit the wiz/caanoo/pandora. To be honest it seems like attempt to get attention.

I am not sure if I would like to be involved and argue about your comment, but isn't all that we do about attention? Everything we do as a hobby, be it in outdated GP2X or later consoles is not a paid job. Then is it all about helping the community? Maybe. But why spend so much effort and time from our lives only for some random community? Because at the end we might also be applauded by several people and feel that we have released something important here, even if it's another piece of free software that doesn't pay the rent or save the world anyway. Your last comment sounds a bit arrogant to me (even if it might not be your intention) and that doesn't make me happy considering the effort of the people involved in this project.

As for the lib, I think it will be useful at least for me if not for more people who still do stuff for GP2X. I have noticed that the majority of demoscene has stayed on GP2X and never moved along the later Wiz/Caanoo. I am also more motivated to code for GP2X again. Releasing such a lib still makes sense to me.
 
Optimus said:
I am not sure if I would like to be involved and argue about your comment, but isn't all that we do about attention? Everything we do as a hobby, be it in outdated GP2X or later consoles is not a paid job. Then is it all about helping the community? Maybe. But why spend so much effort and time from our lives only for some random community? Because at the end we might also be applauded by several people and feel that we have released something important here, even if it's another piece of free software that doesn't pay the rent or save the world anyway. Your last comment sounds a bit arrogant to me (even if it might not be your intention) and that doesn't make me happy considering the effort of the people involved in this project.

I want this to get all the attention it can, but not at the expense of posting the same message in every handheld section, thats all.
The best thing would have been to have one post in the gp2x news, which was done, but Mods in general were to slow to react.
The comment you think was harse and yeah it probably was, but this is coming from someone that develops. Im glad to see you posted and show interest in this work. My only point was that given the health of the gp2x community in my opinion dont really expect to much feedback. That is not to say that this work is bad or a waste of time, just the way the community seems to be. For example if I did a gp2x port, it wouldnt expect much feedback, in fact even a pandora release may not.
But if your not happy with the answer above, PM me.

f-cycles, what does your library offer over tried and true libraries like SDL and minlib?
 
Last edited by a moderator:
Pickle said:
f-cycles, what does your library offer over tried and true libraries like SDL and minlib?

This library support not only 320x240 (default video mode), but allow full range of video
mode from 720x480 (NTSC) or 720x576 (PAL) down to 80x60 (LCD), 96x60 (NTSC) or 96x72 (PAL).
Also, the default video mode has been corrected to enable all pixels on LCD to be display
correctly. Have you notice that there are 7 pixels on the last line on the right that keep
flicker when the last line is not solid? Well, this library configure the MMSP2 in order to
complete full scan of all pixel from the source memory to the LCD.

This library allow developer (especially those working on emulator) to get a Non-Interlaced
TV Output. Where only one field is transmit to the TV. Old machine were sending only 1 field
showing lower resolution but a non-flicker image. This library allow your program to configure
the video output this way!

This library is build using an extended chunk of memory reserved for Video (8 megs), where
you can combine the power of all layers available on GP2X: YUV, SPU, OSD, RGB and Cursor.
All hardware features for these layers can be configure and control via functions provided.
Those hardware features are emulated on PC allowing developer to pass all their time on PC,
while doing minimum of testing moving their file on the SD card to be tested on their GP2X.

The second CPU (940T) has a 6 Megs reserved to process its data (1 meg for code + stack).
Developer can modify the video and second CPU memory dimension as they are defines in
qbr_lowlevellib.h.

Also, the library give you full support for HID devices (keyboard, mouse, gamepad, ...). I
was talking to Rlyeh back in 2007 about my work on accessing and detecting HID devices. From
our discussion it was something that he wanted to add in minlib. I don't know if he did, but
this library does it. One of my goal was to create a game on TV using 2 wireless gamepad.

There are other features: TV Close-Caption, Output to .BMP files, also there is a 16-colors
text renderer which allow developer to easily write something on screen (as easy as writing
text in Basic on C64 but with the power of printf formating).

Dual hardware blitter and dual cpu supported. Also, the cursor which is a 4-bit sprite of
size 32x32 or 64x64, can be reserve and use for volume and pause for your software. By
starting your project using TinyMenu Sample, the developper already has a Main.c
configured to react, pause and display things on screen with this embedded.

For audio, you can found a pre-compiled version of mikmod for GP2X in it (samples\SpaceDemo).

You can see the basic set of functions and macros in: qbr_lowlevellib.h

Additional functionality are provided in other include files: qbr_basictools.h,
qbr_lowleveldbg.h, qbr_tinymenu.h and qbr_lowlevelcc.h.


For more information, I suggest to download the library and you can try the .gpe or
.exe (under windows, you need to copy SDL.dll from bin directory in system32) files
located in Release directory of each sample. The YUV example is a good example of
what the hardware can do, a scrolling + water effect animation done with 1/4 of
image mirror and stretch in hardware on GP2X (but emulated on PC by the library).

So, in one word.. it's a boosted version of minlib. The only feature which I think people
may want is support for audio via hardware. I was using MikMod for playing song and
sounds effects for my demo and game prototypes.


Regards,
 
Last edited by a moderator:
Pickle said:
I want this to get all the attention it can, but not at the expense of posting the same message in every handheld section, thats all.
The best thing would have been to have one post in the gp2x news, which was done, but Mods in general were to slow to react.

Well sorry, I didn't thought this was about the multiple postings.
Ok, I will stop ranting about and just have a look at the lib :)
 
Last edited by a moderator:
Optimus said:
Wow! It's finally here! I will just have a look at it and hopefully will start a project with this in the near future. The SDL PC emulation is a nice touch and this lib also gives me the opportunity to look at features of GP2X that I never had the chance to try in the past. A lot of good work has been done here!

Thanks! I remember your demos was rocking and for sure I will have a look to newest release you will came up on gp2x! :) It's true that lot's of work has been put in.. but in 2008 up to 2010, I moved on xbox360 dev... and came up with some game proto that would have took years to complete. So, I decide to move back on GP2X, finish the work and do a demo for @party 2011, thinking to make a state of the arts.. However, it was too short in time after making the tools to create bezier-filled-curve video manually from a video sequence. I didn't though that creating a 15 seconds video sequence from a dancer would take 6 keyframe per second x 15 seconds x 8 shapes x 15 points ( 5 points + 10 control points).. a total of over 10 000 points to put on screen!! Maybe that's why there is not much of these type of demo! lol!

Optimus said:
As for the lib, I think it will be useful at least for me if not for more people who still do stuff for GP2X. I have noticed that the majority of demoscene has stayed on GP2X and never moved along the later Wiz/Caanoo. I am also more motivated to code for GP2X again. Releasing such a lib still makes sense to me.

Great! Personally, I believe the GP2X is a good hardware for demo. It has limitation but also enough complexity to pass days and days thinking about newest routines and workload... Also, I believe there is still room to make something impressive as the number of release is still small. Many demoscener would want Commodore to stay alive and came up with a new Commodore or Amiga... I feel GP2X look like it!
 
Last edited by a moderator:
You are a genius f-cycles :)

PS I liked the most recent demo of yours. How awesome to see new demos coming out.
 
Senor Quack said:
You are a genius f-cycles :)

PS I liked the most recent demo of yours. How awesome to see new demos coming out.

Thanks Senor Quack! I also post a making of video which was recorded during development here (which I think most people saw via the youtube link):
http://www.youtube.com/watch?v=P4POrYrKo0M
 
Last edited by a moderator:
fusion_power said:
Can we have this also for the Pandora Hardware? In-deep touching the OMAP Chipset in every Corner 'n stuff. :D

Unfortunately not... here is an article on my blog that explain about what's next!

"...not because they are easy, but because they are hard."

I wish to post small articles on my blog about that topic. If some of you are interested in AI... I hope it will be interesting to read (not sure I have any reader for now.. hehe! ;) ).
 
Last edited by a moderator:
You are lucky, because revealing the Hardware secrets of the Pandora IS actualy as hard as a trip to the moon. ;) TIs OMAP 3530 and especialy the SGX unit seems to be so incredible bad documentated that it is already a miracle we are able to use it at all. :D
 
fusion_power said:
You are lucky, because revealing the Hardware secrets of the Pandora IS actualy as hard as a trip to the moon. ;) TIs OMAP 3530 and especialy the SGX unit seems to be so incredible bad documentated that it is already a miracle we are able to use it at all. :D

I am not trying to go to the moon! But, rather to understand human intelligence in a technical point of view of computer science.
 
Last edited by a moderator:
Back
Top