| QUOTE (xbill @ May 12 2004, 03:44 PM) |
That's why I was trying to get read-write permissions in linux, so I could change the raincoat.conf that contains the device IDs.
I was wonding if the device could be a microcontroller with on-board flash. Something like ST's uPSD325X series |
The point I was trying to make is that the command sequence that's issued in order to read the manufacturer/device ID is different, depending on the manufacturer.
I haven't looked at 'raincoat.conf' in a while, but I wouldn't be surprised if it just has a list of manufacturer/device IDs that are used to identify chips. The problem is: how do you read the manufacturer/device ID in the first place, if the method is different across different manufacturers (there is some standardization, but it's not 100% standardized).
For example, to read the manufacturer/device ID on a specific SST chip I've used, you issue the following write commands:
| CODE |
Write 0xaa to Flash offset 0x5555 Write 0x55 to Flash offset 0x2aaa Write 0x90 to Flash offset 0x5555
|
At this point, you can read addresses 0 and 1 to get the manufacturer/device IDs.
On a specific AMD chip, the 'identify device' command sequence is:
| CODE |
Write 0xaa to Flash offset 0xaaa Write 0x55 to Flash offset 0x555 Write 0x90 to Flash offset 0xaaa
|
(again, reading from addresses 0/1 at this point will get the device/manufacturer ID)
On an Intel flash, you just:
| CODE |
Write 0x90 to any Flash offset
|
There are also differences in whether you read from addresses 0/1, or 0/2 (taking into account byte-mode vs word-mode. Each Flash chip manufacturer seems to do things a bit differently.
(there is also a standard called "CFI" (Common Flash Interface) that tries to get around the incompatibilities, but it's not 100% adopted)
So, it's possible that 'raincoat' has code to support reading manufacturer/device IDs from several Flash manufacturers (using several methods), but it's unlikely that it supports all methods of reading device IDs. As I said, I suspect that 'raincoat' has code to support Flash chips that were known to exist on the Xbox (the TSOP flash chips in pre-1.6 Xbox's) - there's a multitude of Flash/EEPROM chips out there that could be inside the 1.6 Xbox, which may/may not be compatible with 'read identifier' command sequences supported by 'raincoat'.
So, even if there were a writeable Flash inside the Xbox 1.6's chipset, it's not necessarily the case that 'raincoat' could be made to recognize it (even if you update the '.conf' file). (unless, of course, you modified the raincoat source code)
But, as I said, my guess is that the BIOS memory inside Xbox 1.6 is ROM, so it's all a moot point. I could be wrong, though...
- Paulb