VOGONS


First post, by JeffeSilva

User metadata
Rank Newbie
Rank
Newbie

Hello. Well, I'd like to know if someone already had tried to flash EEPROM content from (512 x 8 / 256 x 16) to a memo organization(128 x 8 or 64 x 16). The reason is that, I have some, "93LC46" EEPROM and I want to flash for example a content of a "SB16 CT2950.BIN" which is on my case is an "AT93C66". In this case the "93C66" is probably fault, and the only possible replace and available for the moment I have is the "93LC46". I did already a test, and I could write data to it, however, when I checked the content I could see that it's different from the original file, that is, the information was written different. Could it be because of the organization in the file? I'd like to know if such operation is possible, as the "93LC46" has 1k of memory and the content of the firmware is 512 byte.

Reply 1 of 2, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

You can't fit 512 bytes into 128 byte part. Not only there isn't enough memory space but the addressing is different too - in 8-bit mode the 93C66 needs 9 bits of address whereas 93C46 only needs 7.
As far as organization is concerned (8-bit vs 16-bit) the internal bit/byte order is not specified. If you read a part in 8-bit mode you should also program the replacement in same 8-bit mode. Otherwise some experimenting and manual byte rearrangement will be requierd. And there are parts that are locked to either 8-bit or 16-bit mode permanently.

BTW from my experience the parts that can switch organization between 8 and 16 bits via signal on one pin often malfunction and that selection no longer works. In fact trying to force a particular mode might return invalid data, or even appear as fully erased memory. Try reading any "faulty" chip in both modes, just to be sure, perhaps one of these tries will produce valid output and that can be used to transfer the data to another, fully working chip.

Reply 2 of 2, by JeffeSilva

User metadata
Rank Newbie
Rank
Newbie

Hey Deunan, thanks a lot for answering, enjoy it very much. Yeah, you got always invalid data, for example, the initial offset in the CT2959 is "0000000: 0e 8c 00 28....", but when flashed to the "93C46" you get the values "0000000: 40 45 40 45 ......". This made me think that you could organize the bytes to fit it nice, when it wouldn't. So, your answer is satisfactory and this will avoid me to do unnecessary work. I was about to begin a painful journey....Thank you!