Mac OS 9 Lives
Mac OS 9 Discussion => Hardware => CPU Upgrades => Topic started by: clh333 on November 20, 2018, 03:32:48 PM
-
Greetings!
I would like to ask the members for their advice and assistance with possibly updating the ROM in my G3 desktop PPC, which runs OS 9.2.2 (of course) and has a 300 MHz processor and 768 Mb RAM. The ROM revision, according to Profiler, is 770.45F1.
Q1: Is is possible to update the ROM?
Q2: Is there any value to doing so, given the other limitations of the hardware?
Q3: If (Q1 AND Q2) = TRUE then how is this accomplished? Update or swap chips?
Thanks for your replies.
-CH-
-
On New World Macs, the ones which have USB ports built-in, the boot ROM is on flash chips and is totally updatable.
I know there are several official firmware updates, but I forget what computers they are for.
If your G3 doesn't have built-in USB, then it is an Old World machine and the ROM chips can't be reflashed. In that case, you would have to replace them.
When Apple does have to fix bugs in Old World machines, they have the System Software put code in the NVRAM, where it is run very very early in the boot process.
I believe that the actual benefits to updating the ROM depend on the particular bugs in that ROM version. They probably aren't that important, as your machine can boot at the moment.
In theory, one could write a firmware update or NVRAM patch that does almost anything. In practice, we don't know enough about Open Firmware and the super-early boot process to do that.
-
Thanks for your response. I don't see an USB port on the machine.
Reading further at Low End Mac I conclude I have a Revision B ROM. There is a Revision C as well but I don't know that it's worth pursuing.
As you point out: the machine boots. I think I'll investigate a G4 instead.
Thanks again,
-CH-
-
Theoretically a disk-based “NewWorld” ROM could be created that boots pre-USB PCI-based Macs like yours, in a manner very similar to Mac OS X. Hasn’t happened, though.
-
I think that would be the Rom Vector Table and the Override Resources in the System File (or enabler).
Apple supposedly had a tool that could compare any 2 ROM object files and output the proper resources to upgrade the older one to the newer one at boot time.
Unfortunately, we don't have that tool. Yet another thing on the to-do list.
-
Whoa — I’ve never heard of that! Cool...
-
Check out ROvr.a in CubeE. https://github.com/elliotnunn/CubeE/blob/master/Tidbits/ROvr.a (https://github.com/elliotnunn/CubeE/blob/master/Tidbits/ROvr.a)
It is quite awesome.
-
Any docs on the tool?
-
The patent on vectorization describes a tool called ROMPatch. https://patents.google.com/patent/US5546586A/en (https://patents.google.com/patent/US5546586A/en)
The Resource Override mechanism isn't described there, but it is real simple. If a resource is added, stick it in the enabler. If one is deleted, add a 'rov#' entry for it. If a resource is changed, add a 'rov#' entry and stick the new version in the enabler.