• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

I'd like your help ordering a 128K EEPROM

I have an X850 Pro AGP card that I intend flashing for my G5 2.0DP.
@dosdude1 (of this parish) made an excellent video [1] and the process seems straightforward enough.
Now, the EEPROM on the X850 Pro, it seems, is 64K and the X850 XT ROM for it is 128K.
In the video, he replaces the EEPROM with a 128K version and then flashes with ATIFlash on a USB-stick prepared with Rufus.

I need help with getting the 128K EEPROM. In the video, he uses a Macronix MX25L1005 and I can't find these on Mouser.com or digikey.com, but then again, I'm not exactly sure what I am looking for. MX25L1005 gives no results in Mouser or Digikey. MX25L gives me NOR Flash Serial NOR 3V 1Mbit while Digikey gives me nothing.

The breakdown in Mouser doesn't help either. The part is various described as an EEPROM, CMOS or NOR-Flash.
1763321252049.png

What do I need to look for in order to order an 128k EEPROM for my X850 Pro?
Thanks,
aa


[1]
 
The correct choice would be a 1 Mbit EEPROM.
1 Mebibit = 128 Kibibytes, or as you know, 128K.
The difference between the mebi / mega and kibi / kilo prefixes is that the former ones uses a base value of 1024 which is correct when we are working with binary numbers. (and all digital computers are binary!)
The latter uses a base value of 1000 which is really only helpful when we're working in the ancient decimal system developed over 2,200 years ago... It's a misnomer that has caught on and now we all speak in terms of megabytes, kilobytes, etc.
 
Last edited:
The ROM requires only 24K with the ndrv removed.

I remember trying to create a compressed fcode image for this card that includes the ndrv but the original fcode is too large and the compression ratio is between 54% and 65% (using lzss). Maybe there's a better compression algorithm, but the compressed ROM needs a Forth version of the decompression algorithm that fits in less than 800 bytes.

Code:
lzss "Compressed/Radeon X850 XT OEM 108_uncompressed.bin" --encode > "Compressed/Radeon X850 XT OEM 108_compressed.bin"
input: 129627 bytes
output: 77082 bytes (59%)

for thetype in 1 1a 1b 1c 1f 1x 1y 2a ; do
	lzss "Compressed/Radeon X850 XT OEM 108_uncompressed.bin" --lzo$thetype --encode > "Compressed/Radeon X850 XT OEM 108_compressed.bin"
done 2>&1 | sed -E '/input/d'

output: 83661 bytes (65%)
output: 81536 bytes (63%)
output: 76210 bytes (59%)
output: 75969 bytes (59%)
output: 73033 bytes (56%)
output: 70252 bytes (54%)
output: 70327 bytes (54%)
output: 70269 bytes (54%)

cd "/Volumes/Work/Open Firmware and Name Registry/ROM ATI/ROM Radeon X850 XT"
cp "Compressed/Radeon X850 XT OEM 108_uncompressed.bin" "/tmp/z"
mkdir -p zipped
for thetype in '' '-z' '-j' '-k'; do
	for thelevel in 0 1 2 3 4 5 6 7 8 9 ; do
		ditto -c $thetype --norsrc --noextattr --noqtn --noacl --zlibCompressionLevel $thelevel "/tmp/z" "zipped/Radeon X850 XT OEM 108_compressed $thetype $thelevel.zip"
	done
done
find zipped -type f -exec stat -f '%z %N' {} \; | sort -V

64671 zipped/Radeon X850 XT OEM 108_compressed -k 9.zip
64672 zipped/Radeon X850 XT OEM 108_compressed -k 8.zip
64714 zipped/Radeon X850 XT OEM 108_compressed -k 7.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 0.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 1.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 2.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 3.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 4.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 5.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 6.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 7.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 8.zip
64783 zipped/Radeon X850 XT OEM 108_compressed -z 9.zip
64809 zipped/Radeon X850 XT OEM 108_compressed -k 6.zip
65197 zipped/Radeon X850 XT OEM 108_compressed -k 5.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 0.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 1.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 2.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 3.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 4.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 5.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 6.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 7.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 8.zip
65337 zipped/Radeon X850 XT OEM 108_compressed -j 9.zip
66024 zipped/Radeon X850 XT OEM 108_compressed -k 4.zip
67575 zipped/Radeon X850 XT OEM 108_compressed -k 3.zip
68398 zipped/Radeon X850 XT OEM 108_compressed -k 2.zip
69533 zipped/Radeon X850 XT OEM 108_compressed -k 1.zip
129786 zipped/Radeon X850 XT OEM 108_compressed -k 0.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  0.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  1.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  2.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  3.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  4.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  5.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  6.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  7.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  8.zip
130048 zipped/Radeon X850 XT OEM 108_compressed  9.zip

printf $((65536-64671))
865
 

Attachments

If the system doesn't have an ndrv for this device ATY,Piranha then I guess you'll need to add it to /System/Library/Extensions/AppleNDRV perhaps as a new bundle or appended to an existing bundle.
 

Attachments

Crikey, the ol' ST M25P10 has gone obsolete. That used to be the go-to. If I needed to buy some new ones today, I'd probably try one of these MX25L1006s. That seems like a (relatively) newer part though, and I'm not sure how broad ATIFLASH's Flash ROM chip support is...another good option might be one of these SST25VF010As. Those have been around forever, I think.
 
Hi @joevt, I don't fully understand what you have posted. I shall have to go read up on ndrvs. If what you say is correct though, then this compressed version of the ROM should easily fit onto the 64KB ROM on my X850 Pro and the EEPROM will not need to be removed.

Thanks everyone for your feedback.

I would make sure the new EEPROM is the same speed or faster than the one you're replacing.
This is a good point.
Acc. to MX25L1005 datasheet from Macronix, it has an 85MHz serial clock.


There are 2 1-Mbit EEPROMs on Mouser and they have a max. clock frequency of 20MHz & 1MHz respectively.


Does this mean that they are both too slow?


@obsolete Thanks for the links. the MX25L1006 in Digikey (linked above) does look like what I want.
 
Hi @joevt, I don't fully understand what you have posted. I shall have to go read up on ndrvs. If what you say is correct though, then this compressed version of the ROM should easily fit onto the 64KB ROM on my X850 Pro and the EEPROM will not need to be removed.
I said a compressed ROM with the ndrv won't fit but an uncompressed ROM without the ndrv will fit.
I posted a ROM for the latter case and the ndrv needs to exist in the OS somewhere.
If you can't find the ndrv on the OS, then we can add it.
 
I said a compressed ROM with the ndrv won't fit but an uncompressed ROM without the ndrv will fit.
I posted a ROM for the latter case and the ndrv needs to exist in the OS somewhere.
If you can't find the ndrv on the OS, then we can add it.
This great. I noticed aftwerwards that you had posted the ROM. Thanks for that.
 
Back
Top