Thanks, after reading around the following approach looks quite promising :
Gather some system information (mac address would be ideal, but not all ppcs have built in network cards, dunno if there is another unique id), then generate a hash from that and send it to an online server. The server would then generate an authentication key from that which the ppc could verify against its public key. In the actual game this key would be verified in various places (obviously not calling the same check function ), but if the verification failed, the game would not immediately die, but enter an invalid state : eg disabling an important trigger or reducing the characters jump distance by a tiny amount . The idea is to make cracking it like bugfixing, crash bugs are easy to fix, whereas the more subtle ones can be a real nightmare.