You're more than likely correct. I've been looking at the OF again and the PCF50606 init sequence does happen after the cache has been enabled. Its I2C timing mechanism is a simple null loop, so I suspect my rudimentary attempt at mimicking it is quite some degree out with the cache turned off.

I think a problem with the LCD panel startup is less likely as I've set up a simple 1ms timer for those (timers on the 7801 look to be the same as 76x with a different base address). It should be fairly straightforward to verify the timer works, as I can see printf output when I press the reset button.

My biggest challenge is to find some free time over the Xmas period though...

EDIT: Enabling the cache makes a significant difference (at least 10x speedup), but I still can't make the LCD come on. More investigation required methinks.

shotofadds, if you're willing, I would love a copy of the register/interrupt address information you've already gathered from your D2 to help with the reverse-engineering process. I couldn't find this information on the wiki so I suppose you're pretty busy.

I haven't added anything to the wiki yet, since those details will eventually be available by reading the source code. Having said that, I'm about to add a section describing some of the GPIO ports as I think that's best documented on the wiki. Check back soon, there should be some info for you to digest.

EDIT: I've spent the last hour or so doing a brain-dump into the wiki. Enjoy!

That's amazingly helpful, thanks. However looks like I'm running into the time wall as well -- I'll see if I can't make this sucker output something in the form of sound in the next few weeks, though. Let us know when you submit the patch; I'd love to have a base to work on rather than doing the work you've already done over again!

I suspect these links will stop working very shortly if/when Telechips catch wind of the leak. If you're going to risk uploading them you'd be better using something like rapidshare or yousendit rather than here.

Given that these docs are currently available in the clear from Telechips' own website (albeit unintentionally by the looks of it) - does that mean were are technically 'allowed' to use them?

EDIT: sastraxi, if you wish I'll make you an initial patch to get you started. At this stage it's nowhere near ready for SVN - there's a lot of hackiness and issues to be worked out - but it'll give you a good solid starting point.

Actually, what's the legal situation here?Many relevant files don't contain any legal disclaimer (e.g, the TCC7801 specs)others state "No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of Telechips, Inc. "

If they're publicly distributing the documents with no license, then its generally assumed you are allowed to read them and produce code based on the information in them. If they're distributing them with a license, then you must not do things prohibited by the license.

Ugh, my haste in playing with SVN to create a patch has resulted in a horribly broken build (ie. it builds but no worky!). I have backups but it's going to take some time to figure out what went wrong

EDIT: I restored the contents of firmware/* and it makes no difference. I still get a rockbox.iaudio that's 200 bytes larger than my old build and still does not work... very odd, will have to investigate later.