I'm just finding this out, apparently you can actually buy used 8GB PC2-5300P modules, which should theoretically fit the PMG5 slots...
This was a week ago now, and now, which is a week later from a week ago, I have these eight beauties:
Now, nothing really changed between now and when people tested PC2-4200P RAM in a PMG5 years ago, so yes, it doesn't actually work:
- 2 5300P sticks in symmetrical slots on their own -> three telephone beeps
- 2 5300P sticks in symmetrical slots with 2 4200U sticks also in symmetrical slots -> three telephone beeps
- 1 5300P stick with 2 4200U sticks in symmetrical slots -> startup bong, but the stick doesn't get mapped
As the CPC945 memory controller actually supports parity RAM (as per the uset manual), my guess is Apple just never actually botheted to implement proper CPC945 intialization, effectively removing ECC support from the system. Even if I put on the devil's advocate hat for a second, the 'best' reason I can come up with is that Apple didn't want people mangling the slots with FB-DIMMs and wondering why the system no longer boots, but like... No.
It's probably just Apple being Apple and arbitrarily deciding you don't want ECC RAM there, especially since at that point they would've probably known that there will eventually be a Mac Pro, and it would've been beneficial for them to go 'oh, look, the Mac Pro even has ECC, what an innovative new feature'.
But anyway, that might not really matter.
@joevt, am I correct in assuming that OpenFirmware doesn't have anything to do with initializing the DDR controller? My understanding from reading the "PowerPC 970MP RISC Microprocessor and CPC945 Bridge and Memory Controller Design Guide" is that this is done by the service processor, a.k.a the SPU.
If that is indeed the case, then dumping SPU firmware would potentially allow a rewrite of the part of the firmware that intializes the DDR controller, with proper ECC detection and configuration. It also just so happens that I am currently in possession of two pretty much dead PMG5 boards, so, you know, zero problems with figuring out where to get the firmware from.
The only two questions would then be:
- Whether or not the SPU firmware is protected from reading/writing (probably yes)
- If it is, whether or not the timing attack on flash protection (suggested by @Andrew-R) for M16C/6N5 works on M16C/28 (probably also yes)
Actually, there's also the question of whether the protection keys are the same for all G5s, or they went to the trouble of deriving protection keys from the serial number or something, because flash protection seemingly prevents you from erasing the flash as well as reading it. But we'll get there when we get there.
(And yeah, no, it's not that anybody needs it, not even me. It's just fun. And also, I've reasons to dump SPU furmware anyway. Which, in large part, is that it's just fun)