Spent a little more time building others' bootloaders. Need to gather some actual patience and read through everything that gets compiled as per saratoga's recommendation. None of the bootloaders I tried had any visible effect on my screen, so no dumb luck for me I'm afraid. Also, none of the compiled loaders had the CRC header information. I've read the TCC8200 spec sheet fairly throughly, and it claims to do CRC checking during USB boot, so code might be running, or it might be failing the CRC check. Bah! I guess I'll change a string in OF and see if it fails to boot.
Was at the parent's place for dinner a few days ago and managed to get some beautiful scans of the PCB. Added those to the wiki. Also went into Photoshop and layered the images over each other for my benefit. The board is layered so it's not perfect, but it's nice to follow the traces through the board and be able to figure which pins of the CPU run to what.
Other random things... Looking at the PCB, it seems the buttons run into an ADC instead of just GPIO pins. Basing that assumption on the fact that 'menu' and 'up' both connect to a single trace with resistors in series. I'm pretty curious how the jog wheel works.
Also, I wonder if the JTAG pins have been pulled out to the jumpers around the chip (five on bottom of chip, three on top). Four of them have resistors, if they turn out to be 10Kohm, that would match with the four pull-ups in the datasheet. I don't have any JTAG development devices, so I'm not digging into that too deep.
Status Update [April 28, 2010]:
Been hacking the iAudio 7 bootloader's main function as the TCC77X and the TCC8200 are nearly identical except that the peripheral addresses start eight bits shifted over (0x80003000 vs 0x80000300 for the 77X) and there are a few more devices (DMA, 2D accel, more GPIO ports) on the 8200.
LCD back light isn't going to be as easy as I'd hoped. Seems the back light power is always supplied and the brightness is probably controlled within the LCD itself. Instead, I've been trying to set Port A to high and testing leads with my voltmeter. No luck, outputs still appear to be floating. Once I get that running, I may be able to attach my own text screen for debugging, logic voltage permitting.
Also, it seems the USB boot doesn't check the CRCs, my changing strings in the OF didn't affect it at all, booted just fine.
Status Update [May 03, 2010]:
Code is now running via tcctool upload. Backlight can be turned on and off. Unexpectedly thebacklight can be controlled from GPIOB instead of GPIOC. Electrically it can be run from GPIOC, so I'm rather confused. Will dig into it when I'm less tired. Super happy I got code running though
For future telechips developers, the TCCBOOT define is actually the switch between dual-boot and single firmware boot. To run your code without original firmware, undefine TCCBOOT.
Status Update [Feb 25, 2012]:
Forked Rockbox main and started re-doing everything.
https://github.com/RandomInsano/