First Draft Of A Gp2x Presentation For Linux Users


oneandoneis2

Member
Joined
Sep 4, 2005
Messages
166
Age
47
Location
England
Website
www.oneandoneis2.org
This is just the text of what I'll be saying - the slides etc. to illustrate will follow later. . .

It all started in 2001 with the GP32. This was created by a Korean company, funded by the Korean government, in order to supply a small video game console to people living in a country where Japanese imports were banned.

Despite not being officially released in Europe until 2004, and never in America, the GP32 sold a lot of units worldwide through unofficial channels. Although detractors frequently compared it disparagingly to a GameBoy Advance, it had several advantages that made it in-demand enough that more than 30,000 were sold despite the difficulty in getting hold of a unit: A bigger, higher-resolution screen; a faster (and overclockable) processor; a massive 8MB of RAM; and a SmartMedia card reader - which made it very easy to get your own software onto the unit (So long as it would fit in 128MB).

Unlike most other gaming consoles, the GP32 was homebrew-friendly: One could almost say homebrew-dependent. Most people bought a GP32 for its ability to play classic games: Doom, Quake, and Duke Nukem were ported; The SNES, Sega, Atari, CPC and Spectrum were emulated; and Mame and ScummVM ports were also made.

I bought a GP32 when the GP2X was little more than a rumour, and I must admit to considerable fondness for it. I still use it even now, in fact. It's like the hardware equivalent of DamnSmallLinux: Your first reaction is "That tiny thing's never going to do anything worthwhile!" and then you start it up and you're just stunned at how much can be done with that tiny thing. It's amazing. That tiny handheld device with its 133mhz CPU can run my favourite game (Doom) and emulate my first computer, the Amstrad CPC, at full speed. It can play my music, it can show me videos. I've even heard that somebody, somewhere, is using a GP32 as a web server. It does an amazing amount for something so small, and in fact it's still actively being developed for today.

But it must be admitted that it's been overshadowed by the GP2X -particularly when it comes to multimedia. Released late last year, my pre-ordered unit arrived on the 22nd November - by uncanny coincidence, the exact same day as the Xbox 360's official release in America.

The GP2X is almost a dual-CPU machine: It has two 200mhz ARM CPUs, but only one has an MMU, so what you've really got is one CPU and one co-processor that can help out here and there. It has 64MB of RAM, a video processor, a video post-processor, a 2D-graphics processor, an SD-card slot, and an Extension port with support for USB, serial I/O, and TV-Out. And it's got full multimedia support built-in.

What does all that mean? Well, it amounts to this: Out of the box, a GP2X can play DivX movies up to 720*480 in resolution. It can play MP3s, it can play Oggs. It can display photos and text files. And it can do it all on either its 3.5" 320x240 backlit TFT screen, or it can output to any S-video compatible television set and show it on the big screen.

And most importantly of all, it's all done by Linux and Free Software.

It's almost impossible to over-state how important free software is to the GP2X. Although some naysayers are adamant that FOSS is anti-commercial and can only ever be a hobbyist concern, the GP2X is a poster-child of just how valuable FOSS can be to a company.

Thanks to Linux, Gamepark Holdings didn't have to create or pay for an operating system - they just customized the standard kernel. Thanks to Free Software, GPH didn't have to create a multimedia player - they just ported Mplayer. And thanks to the community, GPH didn't have to worry that they were releasing a videogame console with no available games - Imagine if Sony had tried that with the PSP!

Thanks to the community that originated with the GP32 and that grew even larger with the GP2X, there was never a time when there were no games available for the GP2X: Quake was actually ported across before the GP2X was available for purchase. Other open-source Linux games like SuperTux and Doom were ported across in no time. Over a thousand MAME games can be played on the GP2X. Playstation and Gameboy emulators are available. GPH didn't have to worry about making software for their product, because their customers fell over themselves to do it for them, free of charge.

And it wasn't just software: The manual that was supplied with the GP2X was pretty minimal and unhelpful. Within weeks of its release, there was an in-depth, full-colour community-created PDF manual that's currently up to 40 pages.

The default theme for the GP2X is plain and too orange for most people's taste. There are currently over 70 replacement skins available for download from the UK website.

It's easy to get music off a CD and onto an SD card as an Ogg or MP3, but it's not so simple to do the same with a movie you have on DVD. There was no information on how to do this supplied by GPH. A guide for Windows users appeared very quickly, and was almost immediately followed by a Linux guide that explained how to rip a DVD using only free software - written by yours truly.

And once all that simple stuff was done, the community got busy with the hardware: The extension port for the GP2X can do USB 2.0, 9-pin serial, and TV-out, but it's such a weird socket that nobody could find adaptors. So along came both cable adaptors and the BreakOut Box, currently only available in this bare-bones state but shortly to be available in a nice case that will give full access to the GP2X's hardware support. I, unfortunately, couldn't wait for the case to be fabricated before buying, because I had accidentally erased my firmware and needed the JTAG interface to re-flash it. Following a successful re-flash, I wrote a new and, dare I say it, better guide to unbricking your GP2X in case any other poor sod had the same issues I did.

The GP2X can access USB disk drives and flash drives. It can read SD cards that have been formatted with Linux filesystems, not just FAT. It can even do USB networking, and more and more software is being created to take advantage of the increased amount of hardware that USB can give access to. With a BoB, you can turn your GP2X into a fully-functional DVD player: A USB DVD drive and an S-video TV is all you need.

Linux supports more hardware than any other OS, and its USB support is the best there is. The GP2X is not only a handheld gaming machine: It's a small Linux computer. Anything you can do with a Linux PC, you can do with a GP2X. It can run an X windows session. It can run Qtopia. You can telnet into your GP2X, you can install links and browse the web with it.

That's why so much software is available for the GP2X less than a year after its release: Unlike the GP32, for which things had to be either written from scratch or drastically re-written in order to work, the GP2X is a relatively simple port job for any Linux software. Even pygame, the python game modules, are available, and SDL is part of the official developers kit.

All in all, you can do impressive amounts of things with a GP2X. And if what you want to do calls for a bit more power, you can always download the overclocking software and boost the CPU from 200 to 300+mhz.

What about downsides? Well, there are a few, I must confess.

The hardware isn't perfect, particularly in the First Edition: The joystick was a bit unreliable, the extension port can't power a BoB, and for some reason they used an interlaced TFT screen, interlacing being where the screen draws every other line, like a TV, rather than every line one after another, like a PC monitor.

The second edition is reportedly considerably better: Certainly the joystick looks an improvement. I suspect that the main reason for the less-than-stellar first edition was down to the fact that the Gp2X isn't the successor to the GP32, it's just a successor to it. The company that made the GP32, Gamepark, had two rather different views on how to follow it up: With an open-source machine aimed squarely at the hackers and homebrew fans that the GP32 attracted; or a higher-spec, less-open proprietary machine aimed at the general gaming public.

In the end, the company split: Gamepark continued to work on the XGP, a PSP-competing, 3D-enabled heavy-hitter; and a new company, Gamepark Holdings, was formed to create the GP2X. As a new company, GPH didn't have an income until they sold the first GP2X's, whereas the second edition was built after the profits and the feedback from the first edition were available.

But the main place you're likely to have difficulties with a GP2X is with the software for it: It's been around for less than a year, so a lot of the software that's been written or ported over hasn't yet been highly-polished.

Every emulator has different controls - there is no standard way to import a ROM, save a snapshot, quit the game. Documentation is frequently poor: I've actually given up on software because I just couldn't figure out how to start using it. Some software is only partially working: I'll still use my GP32 to emulate CPC games because sound on the GP2X's emulator lags several seconds behind the action.

While a Gameboy, PSP, or DS can be used by just about anybody without any instructions, the GP2X still often needs you to read the README - assuming there is one. It's in many ways reminiscent of Linux on the desktop a decade ago: It's all by geeks, for geeks.

Lastly, there's DRM in the GP2X. A fairly innocuous sort: It's not a Tivo-like way of stopping you replacing the OS or anything like that. Rather, it's so if somebody releases commercial software, it can be set to only run on one machine. If you don't buy such software, and as far as I know, right now there's only one game with it, then you'll never notice that there's any kind of DRM. But it is there.

In summary, then:

The Gamepark machines are superbly suited to emulation of old machines. In fact, they have the largest screen area of any handheld for that purpose: The PSP's is bigger and higher resolution, but it's the wrong shape.

There is a project underway to get OpenGL rendering onto the GP2X, with full use of the second CPU, but 3D will never be something the GP2X excels at. If that's what you're after, waiting for an XGP would probably be the way to go - it will apparently support running Linux.

When it comes to highly-polished emulation of older machines: The ZX Spectrum; the Amstrad CPC; 700-odd MAMEs; the Atari; the Commodore 64; and so on, the GP32 is still hard to beat.

But for multimedia, particularly movie, playback; ports of Linux games like Quake, SuperTux, and NetHack; and sheer potential for hacking, the GP2X is very hard to beat. Given a little more time, the software that's currently lagging behind the GP32 will catch up, and probably surpass it. And with ever-increasing Linux functionality and hardware support, the GP2X has potential to be far more than a simple handheld for playing movies and games.
 
Nice presentation, methinks :) - should go down well. Depending on your audience (and whether you know how to, of course), it could be worth going into a couple of the more technical things - say, setting up an x-sever or getting a dev environment working - in a bit more detail. It is, after all, always more fun to see that sort of thing happen in front of you. Especially if you've got a BoB - no reason you couldn't plug it into the projector, I'd imagine, and show them TV-out in action!

Only 2 things I noticed, though, that I'd suggest changing. You mention PSx4GP2x, but I'd say whilst amazing, it's still too slow to trumpet, really. Mention by all means, but do point out that it's slow as things stand (although hopefully going to be getting faster once zodttd has had a rest and got a new GP2x).

The other one's the overclocking - yes, of course you can boost it to 300+MHz, but you have to be pretty lucky. Most get to just over 266, and some only to 240, if I recall correctly, so it's a little misleading to imply that they can all reach such sky-high levels of clockable greatness!

Just some thoughts :)
 
Cheers!

it could be worth going into a couple of the more technical things - say, setting up an x-sever

I'd like to do something like this - it all hinges on whether or not I get the time to figure out how to do it :)

You mention PSx4GP2x, but I'd say whilst amazing, it's still too slow to trumpet, really

I thought it was GP2PSX..? I must confess to being more interested in emulators for older machines than newer ones, tho, so it's not really something I know that much about..

The other one's the overclocking - yes, of course you can boost it to 300+MHz, but you have to be pretty lucky

I guess here, at least, I was lucky then - mine overclocks to over 300 without a problem. I'll try and make it clearer that 300 is a possible, not a promise, but they're a fairly savvy crowd & ought to know enough about overclocking to realize that ;)

Thanks for the feedback!
 
If you have GPLers in your audience, and it will probably be the case, at least, be ready to answer their question about the GPL fiasco of GH and the poor quality of their source release. We know things are going better, be sure to let them know before the flameware begins.
 
That's a good point. I believe they've now released all the source code for at least the 1.4 version of the firmware - is this right? How are they doing for compliance with 2.0?
 
I think they're up to scratch, although there's a couple of things which have been removed from the 2.0 source - ask Squidge or some of our wonderous kernel hackers for more info on that.

The GPH line is that those bits have been removed completely, and are not included with the precompiled 2.0 either, though I seem to recall a conversation where someone mentioned that you needed to sub in the ones from 1.4 to get it to compile. Can't remember the details though.

They've released mplayer's source though, which was the biggie left over, and I think the menu source and the e-book viewer source aren't included, but aren't GPL either, so they aren't supposed to be, necessarily.
 
Ah yes, it appears that the source for firmware 1.4 and 2.0 are both available from the svn.gp2x.com site, along with the mplayer source, so that presumably puts them in full current compliance.

Ta!
 
Noticed this sentence and thought it didn't make much sense:

I suspect that the main reason for the less-than-stellar first edition was down to the fact that the Gp2X isn't the successor to the GP32, it's just a successor to it.

I think you're trying to talk about Game Park Holdings being a successor to Game Park, but I'm not sure.
 
Regrettably, the bold & italic fonts I'd used to add emphasis to this draft in my word processor didn't come across into the post. It should read:

I suspect that the main reason for the less-than-stellar first edition was down to the fact that the Gp2X isn't the successor to the GP32, it's just a successor to it.

It refers to the schism that resulted in GP working on the XGP while GPH went off & made the GP2X - both of which can be considered successors to the GP32
 
Yeah, I must say, I read that one about 3 times before I worked it out... but then this isn't going to be being read by the attendees, presumably, seeing as it's a presentation. So it probably won't matter too much...
 
Nope, this is my planned script ;)

However, I hope to put the entire presentation, including the text of the speech, online so that anybody else who wants to do a presentation has a starting point, so I'll try & format it so that it all makes sense. . .
 
oneandoneis2 posted on Aug 1 2006 at 11:36 PM said:
Regrettably, the bold & italic fonts I'd used to add emphasis to this draft in my word processor didn't come across into the post. It should read:

I suspect that the main reason for the less-than-stellar first edition was down to the fact that the Gp2X isn't the successor to the GP32, it's just a successor to it.

It refers to the schism that resulted in GP working on the XGP while GPH went off & made the GP2X - both of which can be considered successors to the GP32

Excellent. Thanks for the clarification.
 
Last edited by a moderator:
Its a bit long for a script...I myself would never read anything that long out loud, but I guess you're not me.

I would mention that some of the issues with the MK1 have been of course addressed with the MK2.
 
Ah yes, it appears that the source for firmware 1.4 and 2.0 are both available from the svn.gp2x.com site, along with the mplayer source, so that presumably puts them in full current compliance.

Most of it is there. The i2c portion of the kernel along with the software that controls the mpeg2 decoder have however not been released -- the i2c-code is most likely related to or contains the DRM-impementation, which is probably why GPH considers it "dangerous" for us to get our hands on it.
 
I need someone else to confirm because I'm not sure but if I remember correctly the gp32 was originally designed for commercial gaming and then later on homebrew was encouraged. Maybe it's worth adding?
 
chris_r posted on Aug 2 2006 at 02:37 AM said:
I need someone else to confirm because I'm not sure but if I remember correctly the gp32 was originally designed for commercial gaming and then later on homebrew was encouraged. Maybe it's worth adding?
That's the way I remember it as well. That is why you need to get (and register) freelauncher with them to play homebrew.

EDIT: The european launch changed this (it included freelauncher capabilities), this only applies to the original korean launch.
 
Last edited by a moderator:
Back
Top