• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Hacking the iMac G3 Slot Loading startup sound (and probably the G4 Cube too)

dougg3

Well-known member
Title says it all...

Longtime members may remember when I did the same thing with the G3 Blue and White over 10 years ago (wow, has it really been that long?). A reader of my blog contacted me and asked if I could figure out how to do the same thing with a G3 iMac (Slot Loading), a.k.a PowerMac2,1. Long story short, it was a success and it really wasn't super crazy to do!

Basically the trick is to take the latest firmware update for that model, find the sound data in the update, replace it with a custom sound, update the checksums in the file, and patch the firmware updater to allow installation even if the firmware is already up to date.

I detailed the process of figuring it all out on my blog, but thought it would be fun to share here in case anyone else is interested in attempting it. I also put the code on GitHub. When I find the time, I want to work on making it a little more seamless of a process, like being able to automatically import WAV files and automatically detect which firmware update is being patched based on the checksum. Maybe it could even be smart and automatically find the startup sound and checksums in any existing update file! Also, right now you need to figure out a way to preserve the resource fork of the update file when patching it. I use a netatalk server for that. It would definitely be cool to make it simpler.

Here is the video showing my custom chime firmware update being installed (not my video):


I actually discovered an extra little fact after writing the blog: the G4 Cube firmware update 4.1.9 and the iMac Slot Loading firmware update 4.1.9 contain exactly the same firmware! The data fork of the update file is 100% identical. So...this process should also work for changing the G4 Cube's startup chime. The same patch I did for the "iMac Firmware Updater" application should theoretically work on the "G4 Cube Firmware Updater" application too, although I didn't investigate in detail. I would be surprised if the same patch didn't work.

Theoretically this should be possible on any Mac for which Apple released an official firmware updater. It looks like it would be feasible to do the same hack with a PowerBook G3 Pismo for example. Apple likely would have changed the update process a little bit over time, so it will probably require further reverse engineering of the update script on other models. Macs that didn't get firmware updates, for example the PowerBook G3 Lombard, would be trickier, but potentially doable depending on if the update methods used on other similar era machines "just work".

Enjoy!
 

3lectr1cPPC

Well-known member
This is awesome! Would love to give it a go on mine once I get some replacement speakers. The 6100 chime is my favorite of them all, will probably go with that. Great work!
 

dougg3

Well-known member
Hey, thanks! If you don't want to go through the process of patching the update file yourself, I can provide the same patched update file with the 6100 chime from the video.
 

dougg3

Well-known member
I have attached a patched version of iMac Firmware Update 4.1.9 with the chime changed to be the 6100 chime. If the iMac already has 4.1.9 installed, it will complain that the update failed after your first boot with the patched firmware, but that's just a side effect of how I patched it to allow the update to be installed when it's already installed.

If you ever want to revert it back to factory, just replace the "iMac Firmware" file with the original and run the patched updater again.

Have fun!
 

Attachments

  • iMac Firmware Update.img.bin
    900.3 KB · Views: 1

3lectr1cPPC

Well-known member
Alright - it worked, but the chime does sound slightly distorted. May be because I’m using external speakers (internal ones are fried) but other audio inside Mac OS sounds perfect - I’ll upload a video in a minute to demonstrate.
 

dougg3

Well-known member
Oh interesting, that does sound distorted! I'm not sure exactly what caused that. I was wondering if maybe the source sound I started from was too loud or something, but it's actually not that loud. Here's the sound file that I used. It's hard to tell from the original video whether his iMac had the same distortion or not. Maybe the external speakers make the problem more pronounced. The only thing I can think of is maybe my IMA sound encoder code has a subtle bug or something...
 

Attachments

  • StartupDeepBlueFirmware.wav
    205.6 KB
Top