2009-05-27

GP2X Wiz

I suffer from a weakness for handheld videogame consoles. I’ve got most of the iterations of the Game Boy, the three iterations of the DS, all but one of Game Park’s GPxx series and a variety of other handhelds, from Game & Watches to the Atari Lynx. From the GBA onwards, I’ve mainly been buying these things to run homebrew on them. Two consoles released recently, the GP2X Wiz and the Dingoo A320, have homebrew as their focus and I found that I simply couldn’t resist the urge to buy them. I’ll discuss the Dingoo in another post, whilst the Wiz is reviewed below.

First of all, some history. The Wiz is the successor to Game Park Holding’s GP2X, which was itself the successor to the GP32. Whilst the GP32 was designed to be a platform for commercial games, albeit wacky Korean commercial games, it quickly found a niche as the homebrewer’s console of choice. This can primarily be attributed to its use of SMC memory cards as its storage media and its freely available SDK. Its successor was the GP2X, which was created by a splinter group from the original company. They realised that the homebrew aspect of the original console made it much more popular than the ropey commercial offerings ever did. (Meanwhile, the original company followed the commercial route and quickly went bust without releasing any new hardware.) The GP2X was faster than the GP32, used Linux as its operating system, had more memory, more buttons, and used SD cards instead of SMC.

Both consoles had advantages over their mainstream rivals. Both had relatively large screens, were easy for homebrewers to develop for, and used cheap, generic memory cards for storage. Most importantly, amateur developers did not have to contend with a constant stream of firmware updates designed to stop them enjoying themselves. This freedom resulted in the phenomenal amount of homebrew available for both systems, including a number of superb emulators. The GP2X even did a credible impersonation of an Amiga 500.

That is not to say that the consoles were perfect, however - far from it. The GP32 shipped in at least 4 versions, each of which was designed to make the screen slightly less invisible than the last. Subsequent versions were improvements, but the first hardware iteration had an unlit screen and was unusable in most lighting conditions. All of the GP32 models featured a ridiculous, tiny joystick instead of a d-pad, cunningly designed to make it difficult to activate diagonals, making entire genres of games utterly unplayable.

The GP2X also came in multiple models, each featuring its own unique set of problems. The original model, the “F100 First Edition”, featured a joystick that managed to be even less useful than the GP32’s - GPH outdid themselves by using a cheap joystick mounted the wrong way around, and produced a stick that could hit diagonals but none of the other directions, making virtually all genres of games unplayable. At the time, many people wondered if the problem could be fixed in firmware, but if the hardware is broken, software can’t really help. The second version crippled the USB hardware making it impossible to debug from the system itself. The final version, the “F200”, finally replaced the joystick with a d-pad, but it had such a bizarre, outsized design that using it quickly led to blistered thumbs. It also featured a touch screen, which I have discussed before. In brief, it was so twitchy, inaccurate and unreliable that I gave up on the idea of a Woopsi port pretty much as soon as I got a test version to compile.

This brings us, in a roundabout way, to the GP2X Wiz, which is the latest in the line. The Wiz is essentially the GBA Micro of the GP2X world, but with added improvements. GPH have slimmed down the hardware (it’s now slightly smaller than a closed DS Lite) but bumped the specs. They’ve replaced the two 200MHz ARM CPUs with a 533MHz ARM9 with 3D hardware, replaced the USB1.1 port with USB2.0, swapped the TFT screen for AMOLED, and added an excellent built-in battery instead of space for two AAs. Amazingly for a GPH device, it features a d-pad that actually works, and I can play Street Fighter 2 and Thunderforce 4 without wanting to throw the console across the room. It feels sturdy and well-made, and boots a good deal faster than the GP2X ever did.

In fact, the only downside to the hardware thus far is the screen. It is a touch screen, but it suffers from the same problems as the GP2X F200 - the values reported by the touch screen bear only passing resemblance to the actual location of the stylus, and each subsequent poll will return entirely different values regardless of whether or not the stylus has moved. Even worse, GPH have managed to add a deadzone to the screen, either by using even cheaper components or by fitting the screen improperly and squashing the edges. The deadzone seems to vary in size amongst Wiz consoles. Unfortunately, this means there is absolutely no point whatsoever in porting Woopsi to the Wiz.

To make matters worse, GPH have used a 240x320 screen instead of a 320x240 screen. This results in the same sideways VRAM arrangement last seen in the GP32. Not too big of a problem in itself, but it is also thought to be the reason for a screen tearing effect that causes half of the screen to update before the other half. The two halves are separated by a diagonal line from the top-right corner of the screen to the bottom-left. It is not too distracting, though, and if screen tearing is the price I have to pay for a d-pad that works, I’ll gladly pay it.

Typically, GPH’s response to both of these issues is to insist that they will be fixed in new releases of the firmware, but as with the GP2X F100’s joystick, if the hardware is broken, software can’t really help.

As the Wiz has been available for less than a month, software support is lacking. Notable software currently includes a C64 emulator (Vice, seems pretty capable), a Mega Drive emulator (PicoDrive, superb) and a SNES emulator (PocketSNES, 50fps except when dealing with Mode 7). No official libraries or an SDK have yet been released, so developers are currently relying on mostly undocumented, unofficial, Linux-only toolchains designed for the GP2X.

Despite the hardware problems, the Wiz is actually a pretty good console. Its improved specs and usable d-pad represent a significant improvement over the GP2X. The new form factor makes it more portable, and it looks and feels so much more professionally made. For me, the only disappointment is the hopeless touchscreen, but to be perfectly honest I was expecting nothing more.

However, I am not sure that the Wiz will ever amass a development community as large as the GP2X’s. The lack of an SDK is a big problem at the moment (I have the OpenWiz toolchain installed in an Ubuntu VM, but a lack of documentation and libraries is preventing me from using it for anything), but the real issue is the impending release of the Pandora. Designed by people who clearly have a better grasp of videogames and homebrew than GPH, the Pandora will inevitably lure programmers away from Wiz development and reduce the amount of software that gets produced for the console.

To summarise: Pros:

  • D-pad is pretty much perfect.
  • Great battery life.
  • Good size.
  • Boots faster than the GP2X.

Cons:

  • Screen tearing can be distracting.
  • Touchscreen is useless.
  • Not much software yet.
  • No official SDK yet.