On Fri, Nov 01, 2002 at 02:12:28PM -0500, GNUOrder wrote:
The main point of my question, though, was if anyone was aware of another way to program the flash short of unsoldering it. I wasn't aware of any, and maybe it seemed like a silly question, but if the mobo mfrs would start using the LPC interface flash, and put a header on the mobo to access it, you could program it from a PC-LPT interface with a specially wired cable (plus a few R's and D's). This has been done on the Xbox and the software is available on the net.
LinuxBIOS and kernel on the xbox? Where do I get a copy. I may have to pick up a used xbox. I dont think we would get the kind of help with porting linuxbios to that than we have other platforms. :)
The Xbox BIOS is actually somewhat documented on http://xbox-linux.sf.net/ And there's the $55k (I believe) reward for making an open source Xbox BIOS. Might compensate for the lack of documentation? :)
Anyway, it's fairly easy to get hold of an "alternative" Xbox BIOS that allows you to run any software you want on your Xbox, not just stuff signed by MS. This other BIOS image can be put either into the TSOP40 memory soldered to the Xbox mainboard, or in a LPC memory that is connected to the LPC bus in the Xbox. You also need to pull down a signal on the mainboard to ground to make it boot from the LPC bus instead of the legacy ROM bus.
I do believe that most flash memory chips are reprogrammable using the JEDEC commands, documented in any compliant flash memory data sheet. That does however involve writing to the chip and that's usually where the problem is, write-enable signals aren't always wired to the flash memory chips on mainboards and when they are they're connected to some GPIO port on the chipset. In some cases the memory controller also needs to be set to allow ROM writes, by flipping the right bit in the chipset PCI config space, otherwise it'll just block any write requests to the relevant address region.
For the LPC programmer and friends, check out http://www.warmcat.com/milksop/
//Peter