The attached patch updates the modplay version in libogc from something ancient to v0.66, the latest available from the author's web page:
http://chn.bplaced.net/index.php?doc=modplay/modplay.html
I mostly just dropped in files from the new version in the right places, edited the relevant makefile. and fixed up gcmodplay.[ch] to use the updated interfaces. I've tested the result only lightly, but it is able to play both .mod and .xm files now, at least. I'm not sure what customizations (if any) to the older library I might have undone though, and there are a couple of minor changes in supported APIs which may affect libogc users.
I'd be delighted for this patch to be incorporated in libogc (though I'm not the author of the majority of it!).
Thanks,
Jules