Project Log: Random GP2X hacking

Sunday, July 23, 2006

A update on why everything is on a go slow.

I just thought I would quickly post up this note after having the same questions asked in a few emails recently.

“No I am not dead, yes I do still like the GP2X, no I have not jumped ship to ‘insert console name here’ for huge cash prizes and no I don’t have a working GP2X at the moment” ;).

1st'ly I though I should let people know why I have been slow replying to mails and comments about bricked GP2X's and my projects (and in some cases, not replying at all I am sorry to say). I have read all the mails and thanks for all the feedback.

Some time ago my GP2X died (not bricked, board fault) and about 2 weeks after my jTAG setup broke. This combined with no small about of personal/work shenanigans :( has had several effects on my GP2X stuff, it has meant that I am not able to offer to unbrick peoples GP2X's with broken bootloaders at the moment (I do apologise) and secondly as I don't have a working GP2X doing the long overdue update of the unbricking guide to firmware 2.0 has been somewhat on hold.

It has also meant that my other projects, ScummVM, Heart of the Alien et. all have slowed up somewhat. I assure you none of the projects are dead. Far from it, as soon as I get a GP2X I have a shed load of code I want to get running on real hardware.

Out of interest on the ScummVM front behind the scenes I have been working on cleaning up the ScummVM GP2X code and hope to make it an official port shortly (just as soon as I get the last of the code up to scratch to live in ScummVM’s SVN). I also noted that D_Skywalk did a release of the code I gave him so that's cool, at least there are builds based on the latest ScummVM core :).

All being well I will have enough saved up next month to get another GP2X and grab a BoB at the same time and I plan on updating all this guide for the latest firmware (and adding a detailed jTAG guide) as soon as I get a new unit (I have worked most of it out, just need to test it all).

At that point I will be happy to offer to unbrick GP2X's again the same way I used to (i.e. for postage and a small donation to the charity of your choice).

Regards John

Tuesday, January 17, 2006

GAME: Heart of the Alien for the GP2X













Just a quick post. Really just to link a download of the 2nd test alpha of my Heart of the Alien port for the GP2X (Using Heart of The Alien:Redux as a starting point).

There is no sound yet and the controls may be a little unsensitive.

Please read the README as it contains important information on getting the port running and how to rip the data files.

Download: HOTA GP2X Alpha 2 1.2.4-CVS
Readme: Please Readme

Friday, January 06, 2006

GPH release 1.2.0 firmware

The article includes a download for the firmware and a short upgrade guide.

Updates are quite major on the user-space site. I have tested this on a few GP2X's now and results are good so far. The SD code HAS been changed in this kernel and that may be a mixed blessing, I will update as I know more.

I will update my unbricking guide and the files to 1.2.0 once I get back from holidays on the 12th.

Download: Here is a link to the files.

Warning:
  • Before you install make sure any read only NAND patches are uninstalled.
  • Make sure you remove any custom menu themes. The patch updates the menu graphics.
  • Are you SURE you want to patch your GP2X?
  • There ARE changes to the SD code, this may not all be good (update, see below).
  • Once you go to 1.2.0 there is no way back. It makes so many changes to the NAND you can't go back once you run the 2nd part of the upgrade (the filesystem patch)
Updates on the Warnings: (Please read this bit)
  • The new SD code may cause BIG problems. Look at this debug output below (bold added for interest) from a card that has worked well with all previous firmwares (one that won't support flash upgrades but thats beside the point) I have other cards with the same errors, 3 so far out of my 9 now don't mount cleanly all the time, re-inserting the card helps sometimes.
MMC/SD Card Detected
###[mmcsd_bus.c:414]->check_sd_ocr: ACMD41 fail!!!
Division by zero in kernel.
Function entered at [] from []
Function entered at [] from []
r6 = C01EAE98 r5 = C01EAF54 r4 = C01EAF28
Function entered at [] from []
r6 = C02B6000 r5 = C02B7F88 r4 = C01EAF54
Function entered at [] from []
r4 = C02B7F88
Function entered at [] from []
r5 = C016C670 r4 = C016C668
Function entered at [] from []
Register SD: 0MB


Installing:
  • Extract the zip to the root of a GP2X update supported SD card. You will have 3 files on your SD, gp2xkernel.img (will get deleted on 1st full boot), gp2xpatch-1.2.0.tar.gz and patch20060105.gpu.
  • Plug in your external PSU into the GP2X and make sure your unit works on mains power.
  • Place SD card in GP2X.
    • If the card works you will see a "Firmware Upgrade" graphic after a few seconds.
    • If the card does not work for firmware upgrades then the unit will boot normaly.
      • You can try formating the card as FAT32 if the upgrade fails, this has been known to help.
  • If the firmware upgrade was a sucess you will see a 1.2.0 loading screen (Green with version number in corner) and menu will load.
  • Select "Utilities" and then "SD" and run "patch20060105" (the file system patch) from the resulting menu.
    • If you can't see the SD card (i.e. the menu is blank) reboot your unit without the SD in and only put the SD in after the menu has loaded.
  • This upgrade patch changes a lot of files on the NAND (inc. shared libraries, SDL etc.). You will see a "patching" graphic, then a "complete, please wait" graphic. Then the menu will retun. A quick test is to see if 4 way directions in the menu work. If they do your all good to go.
From the notes:
  • All fixes upto 1.2.0 included in file system patch.
  • Improved photo viewer.
  • Subtitle bugs fixed in mPlayer.
  • 4 way menu navigation.
  • Rolling file lists.
  • Switch the position of SD and NAND in menus.
  • Improved TV Out features. Supports both NTSC and PAL (new options in settings menu)
Note: No source release to go with binaries yet :(.

Thursday, December 01, 2005

GP2X Linux - 1st Source Release

I guess it had to happen sometime.

I am very pleased to relay the fact that DignSys (GamePark Holdings Linux Sub-Contractor) have released the source code to the U-Boot boot loader and Linux kernel used on the GP2X on there web site.

This is the 1st code release and efforts are on-going to resolve any outstanding aspects surrounding code used on the GP2X. I will be checking of the status of this code and fitness to compile, completeness against releases etc. over the next few days, any feedback in that area is greatly appreciated.

DignSys have stated that they will update this code periodically to ensure it is kept inline with the release of binaries on the console.

The source code can be found on DignSys English website under

Embedded Linux Solution > MagicEyes MMSP2.

A direct link is available here.

Please only download this code if you need it, it would seem slightly unfair to kill the DignSys website with unnecessary downloads and I understand there website is not on the fastest of links.

This code is mirrored via SourceForge/Open2x's CVS.

If you wish to view bits of the code using a browser click here.

To get the code from CVS check out the "gph" (all) or "linux-gp2x" (kernel), "u-boot-gp2x" (boot loader) modules.

The Open2x project will endevour to keep the modules in step with the DignSys/GPH kernel releases.

On a personal note thank you to everybody who has helped in the process of beginning to resolve this matter (GP32x.de, GBAX.Com, #GP32Dev and Mr Pearlmutter especially) and thank you to GamePark Holdings and DignSys for making efforts to ensure compliance in this area.

I only hope this co-operation will continue and shortly extend to any GPL code used in user-space applications and updates to this base code.

John Willis