Simple Directmedia Layer for GP32 handheld console.



August 28, 2005.
Open rebuilt website. ALL available.
August 24, 2005.
SDL_gfx has been ported using standalone version.
August 22, 2005.
Fenix has been ported using standalone version.
January 8, 2005.
First standalone version (not public). Need test.
March 2, 2004.
Last Beta Released. GPSDK wrapper is slow and not stable.
August 22, 2003.
Second Beta. A lot of bugs fixed.
August 3, 2003.
First Beta Released. Very early stage.


SDL. (v1.2.8)
Main library. Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
SDL for GP32 uses DMA for sound, assembler video blitter, exact timer and emulate keys: Cursor keys (PAD), Crtl (A), Alt(B), Return(Start), Backspace(L) and Tab(R). But don't support threads.
Core library. Standard C library replacement, newlib based but contains code of RobBrown, Chui and Mirko.
Also you can read 'x_gp32.h' header file for extra low level functions: video mode select, draw messages with internal fonts, enable/disable IRQs, etc...
ZLIB. (v1.2.3)
Zlib is a library implementing the deflate compression method found in gzip and PKZIP.
LIBPNG. (v1.2.8)
Interface for reading and writing PNG (Portable Network Graphics) format files.
LIBJPEG. (v6b-10)
The Independent JPEG Group's JPEG library.
SDL_MIXER. (v1.2.6)
A multichannel sample and music mixer. No MP3 or OGG music for now, only tracker and midi music format are suported.
SDL_IMAGE. (v1.2.4)
An image file loading library: BMP, PNG, JPEG, GIF, etc..
SFONT. (v2.03)
A font library for use with SDL which uses variable width bitmap fonts.
SDL_FLIC. (v1.2)
A small C library that renders frames of FLI and FLC animation files. Added functions for show messages and play music while showing animation.
SDL_GFX. (v2.0.13)
A graphics primitive toolkit for SDL. Converted flotating point operations to 64bit fixed point using ARM assembler (see math-sll.h) for speed up.


A simple test of SDL, SDL_mixer, SDL_image, libpng and zlib. It shows 'SEGA Logo' image and plays 'SEGA sound'. You can use this example like a project schema.

Draw a message using SDL_gfx with a few font types.

Move a circle using SDL_gfx with different framerates.

Draw a set of graphic primitives using SDL_gfx: lines, circles, boxes, etc. Also use alpha blend.

Rotozoom is an example of image rotation and zoom using SDL_gfx.

A dead SDL game project. It's an early stage, so you can see a game skeleton.


'Circus Linux!' is a clone of the Atari 2600 game 'Circus Atari', produced by Atari, Inc. (which is itself a clone of an earlier arcade game named, simply 'Circus'). The goal is to move a teeter-totter back and forth across the screen to bounce clowns up into the air. When they reach the top, they pop rows of balloons and then fall back down. The gameplay is similar to the classics "Breakout" and "Arkanoid.

Defendguin is a clone of the arcade game "Defender," but with a Linux theme. Your mission is to defend little penguinoids from being captured and mutated.

'Vectoroids' is a clone of the classic arcade game "Asteroids" by Atari, inc. Your objective is to maneuver a space ship within a field of asteroids, and shoot them into smaller and smaller pieces, eventually destroying them completely.


Precompiled libraries and headers.
Source code.
Circus Linux binary for GP32.
Circus Linux source code.
Defendguin binary for GP32.
Defendguin source code.
Vectoroids binary for GP32.
Vectoroids source code.

Old versions available at Sourceforge project.


First, you need a Unix flavour development environment for ARM cross compiler. If you use Windows, you can use Cygwin with develop packages.
Second, you need build GNU Bintuils 2.x and GNU Compiler (GCC) 3.4.x for ARM cross target. Also you can download precompiled ARM-cross Binutils and GCC-3.4 for Windows from Dreamcast Quake port project and install it under '/opt/gp32' Cygwin directory.
Download precompiled libraries and headers and uncompress it to toolchain directory, '/opt/gp32' following same example. If you install toolchain or SDL-libs to another directory, you must edit '' and modify it.
Now you can build a SDL project for GP32, for testing, you can download examples and uncompress it to home directory:

#~: . /opt/gp32/
#~: cd sdlsega
#~: make


SDL Home Site : Tutorials, documentation, examples, games, etc.
SDL4GP32 Sourceforge Project : Downloads, forum and project info.
Gamepark : GP32's manufacture Company.
GP32Spain : Spanish GP32 scene.
Vorton : Open source SDL project game for GP32, GNU/Linux, Dreamcast and Windows.
Fenix : Easy multiplatform game develop.
SDL-DC : SDL for Dreamcast console.


GP32Spain Forum.
DCEMU Forum.
DivSite Forum.