The GamePark32 is a real little gem.
A fair while back I ported Doom to the GP32, though I didn't have any sound working or multiple WADs or any of the finer points. Fortunately some others were happy to take over the project, and thanks to Craig Rothwell and Rob Brown it's now polished up and looking and playing superbly. So go get it here or here.
For those interested in my original version, including the source, here they are. It's not as playable as Craig's latest version, and there's no sound, but it might be of interest to others.
Here is the zip of v0.2 - FXE and GXB versions. Note that save/load doesn't work.
Here is the shareware WAD. I think it's freely available, but obviously if anyone objects I'll take it down. It's just a hassle to find it elsewhere.
Here is the source to v0.3, which has save/load fixed, but the sound is still missing - I never did figure it out.
Also in that source is a GP32 wrapper for most of the Unix-style file operations, which can be handy when porting things. After all, why write tedious code twice?.
I'll put up some more data on the platform later, but for now, here's a little demo I coded. Includes both FXE and GXB formats. It's really just a test of the compiler and libraries and so on, but a rotating Viper seems to be traditional for any new platform I code on.
As far as speed is concerned, it's all in C, and not very well optimised, so I'm pretty impressed with the speed. Especially as I think the main slowdown is clearing the screen.
There's still some glitches in the poly-drawing rout because I'm not handling the sub-pixel correction correctly. I know what it is, I just haven't got around to fixing it yet, and someone asked for the demo, so...
Joypad and shoulder buttons to rotate
Both shoulders and Start and Select to exit. For some unknown reason (probably my crt0.s hacking) it runs the thing twice before quitting.
The source is available, but I've had to remove it to save a bit of space on the webserver. So just email me if you want it. WARNING! The linkerscript and crt0.c and all that is probably junk - I've just mangled it til it works. So, you know, be careful out there. I hope it works - I may have mangled it in the meantime. Scream if it's broken. I used gcc3.0.4 from the standard devkitadv binary dump - no recompiling of gcc necessary. Also, you'll probably want to use a makefile in practice, but this will do for a little thing like this.