Hacking the Mac startup chime

22 posts / 0 new
Last post
doug-doug the mighty's picture
Offline
Last seen: 3 days 11 hours ago
Joined: Apr 14 2004 - 17:52
Posts: 1402
Hacking the Mac startup chime

I have a copy of ResEdit and have been messing around with it for a while. I have been trying to locate the Chime sound made when the Mac starts up. I wanted to hack this with a custom sound if possible (I understand that this is not a trivial process). The OS in question is really any Classic Mac OS. The hardware in question is a Rev A iMac.

--DDTM

Barjack's picture
Offline
Last seen: 16 years 10 months ago
Joined: Jun 8 2004 - 15:14
Posts: 30
The chime is located outside

The chime is located outside the reach of the MacOS, embedded in the EPROM of the CPU board itself. You might be able to get there using Open Firmware, but there is no way to get to it by normal means. I have never heard of this hack being possible, but if someone out there has actually dont it, WOW.

BTW, don't mess around too too much in Open Firmware (Apple/Opt/O/F on the boot chime) because it controls all the hardware aspects of your computer. A wrong command might leave you with no screen or a permenantly shut-off IDE bus.

Oh, Open Firmware is the tiny UNIX OS that controls the hardware aspects of your computer. It is on a seperate chip on the motherboard and boots the Mac into a command line.

ex-parrot's picture
Offline
Last seen: 4 months 3 weeks ago
Joined: Dec 20 2003 - 01:35
Posts: 6846
Checksums?

Does the Mac check the checksum of the ROM in any way? If not, it should be possible to dump the image, locate the audio data, change it & reburn the chip.

Barjack's picture
Offline
Last seen: 16 years 10 months ago
Joined: Jun 8 2004 - 15:14
Posts: 30
I've had 100% failure trying

I've had 100% failure trying to do that, it's not easy to wipe the eprom on a Mac like it is on a PC, and there's no defined way on how to reload once the info's been wiped. The problem is the you can't wipe the firmware/rom without botching up the hardware definitions, and unlike an open-firmware mess up, you can't fix it by unplugging the motherboard.

doug-doug the mighty's picture
Offline
Last seen: 3 days 11 hours ago
Joined: Apr 14 2004 - 17:52
Posts: 1402
Where in OF

Where in OpenFirmware would I begin to look to do this?

--DDTM

TheUltimateMacUser's picture
Offline
Last seen: 6 years 8 months ago
Joined: Jan 28 2004 - 12:14
Posts: 615
RE: startup chime

I seem to remember someone managing to do this once (dont remember who, where, or when tho). So, it seems it is possible, but very difficult/dangerious.

doug-doug the mighty's picture
Offline
Last seen: 3 days 11 hours ago
Joined: Apr 14 2004 - 17:52
Posts: 1402
more to go on?

Any extra details will be greatly appreciated if you can recall more.

Thanks!
--DDTM

TheUltimateMacUser's picture
Offline
Last seen: 6 years 8 months ago
Joined: Jan 28 2004 - 12:14
Posts: 615
this was a coupla years ago,

this was a coupla years ago, and it was mentioned in passing in a forum (possibly applefritter, possibly macaddict, possibly somewhere else). Sorry i dont remember more, however, if i find anything, i'll post it here.

Krest's picture
Offline
Last seen: 15 years 10 months ago
Joined: Sep 29 2004 - 12:39
Posts: 96
talking of open firmware:

talking of open firmware:

http://playground.sun.com/pub/p1275/misc/ofwsong.au

:mac:

Offline
Last seen: 19 years 1 week ago
Joined: Dec 4 2004 - 06:45
Posts: 25
Wait a tic.. Isn't the ROM i

Wait a tic..
Isn't the ROM in New World macs on a file? "Mac OS Rom"?
You could look around in there, although you won't find anything with ResEdit - hexedit maybe Biggrin

doug-doug the mighty's picture
Offline
Last seen: 3 days 11 hours ago
Joined: Apr 14 2004 - 17:52
Posts: 1402
hexedit????

I had origninally suspected it may be in the ROM, but never could find it with ResEdit. This explanation makes a lot of sense. So what is 'hexedit'?

--DDTM

Offline
Last seen: 2 weeks 5 days ago
Joined: Dec 19 2003 - 17:40
Posts: 566
Re: Wait a tic..Isn't the ROM i

Wait a tic..
Isn't the ROM in New World macs on a file? "Mac OS Rom"?
You could look around in there, although you won't find anything with ResEdit - hexedit maybe :D

Yeah, but AFAIK the startup chime is still stored in the real ROM on the mobo.

TOM

dankephoto's picture
Offline
Last seen: 1 year 3 months ago
Joined: Dec 20 2003 - 10:38
Posts: 1899
as boot sound is in hardware . .

we're still awaiting news of anyone successfully replacing it.

Since in pre-New World Macs it's in the hardware boot ROMs, has anyone ever pulled the actual chips and replaced with their own versions? You can dump those ROMs to disk, so it's at least theoretically possible.

IIRC in New World Macs it's in the (updateable) firmware, normally not a user modifiable area. How would one 'dump' that?

I imagine a good place to start would be to open and examine a firmware updater . . .

edit- interesting, veeeeery interesting. Just looked around inside the iMac firmware updater file. Of course I have no idea exactly what I'm looking at, but it is interesting! :coolmac:

dan k

Offline
Last seen: 17 years 10 months ago
Joined: Dec 20 2003 - 10:38
Posts: 89
You could be on to something

I guess it would be possible to hack the chime in older macs with a new ROM chip. If you make an exact 1:1 copy of the ROM and just replace the chime with your own, heck that -sounds- easy enough. You'd have to figure out how the chime was coded though, and probably have to replace it with a chime of the same duration and same size on the ROM.

Hacking a firmware updater is another fantastic idea. I also do not have a clue when it comes to firmware, but if the chime is in an area that can be changed you could write an updater to change it, or hack an existing one. I imagine that apple simply doesn't include the chime's address in it's updaters. Once you found that you could -just- hack the updater to copy File: A to Address: B. You'd just be redirecting the source and location of what the updater is meant to do.

martakz's picture
Offline
Last seen: 13 years 5 months ago
Joined: Dec 20 2003 - 10:38
Posts: 634
Would it be cheating to add o

Would it be cheating to add ones own hardware + software to change the chime?

I was thinking of building a hardware board that would cut off the speakers at startup, play its own chime through the speakers and then reconnect the speakers to the mac. The board would then play the chime on ever power cycle.

Cheating?

Offline
Last seen: 19 years 1 week ago
Joined: Dec 4 2004 - 06:45
Posts: 25
Making a firmware updater wou

Making a firmware updater would be tricky. Here's my idea:

What I suggest is running the entire ROM through an audio player that can play and record raw audio and theoretically it should play the chime at some point (the rest would probably just play as noise). You would get to the point it starts playing at and write over your own raw audio. Recording too soon or too far would of course render your ROM useless as it would write over real code.
You would then by some method save the ROM back into the machine (eprom burner or the ROM file theory).

EDIT: SndSampler works. (sndsampler.com). From the "goodies" menu click "Open as raw audio".
On new macs, this is relevant:
http://developer.apple.com/documentation/Hardware/Developer_Notes/Macintosh_CPUs-G3/original_iMac/iMac.2b.html
Its all on the _motherboard_ boot rom. You would have to take out the chip (tricky), read it, hope that the audio isn't encrypted or compressed then write it again. On an old mac, you can use a ROM-extraction utility and play it as audio (above), which would be much easier. Writing it back... who knows?

Offline
Last seen: 19 years 1 week ago
Joined: Dec 4 2004 - 06:45
Posts: 25
The reason you wont find anyt

The reason you wont find anything with ResEdit is because the contents of the ROM are not organised into resources. Just raw hex/binary/whatever data.

Offline
Last seen: 17 years 6 months ago
Joined: Aug 20 2004 - 18:02
Posts: 76
A few details I thought I'd t

A few details I thought I'd throw in…
You CAN freak out your mac via playing with Open Firmware, but if you really mess it up, you can pull the PRAM and restart it with defaults. Otherwise it is nearly impossible to really break Open Firmware >ON OLD WORLD MACHINES<, in my experience. I have however heard that you can lock yourself out booting a New World machine.

Instead of pulling ROMs, there are classic utilities for dumping the contents of the macintosh firmware ROM to file. That would be the easy part! It would be a ludicrous amount of work to sift through raw data for a piece of audio, not even knowing what format it is encoded in. I guess I would make scripts to sonify pieces of ROM data, then play them back in SoundHack with bogus sound file header info. IE play this bit as if it is an AIFF file. Now pretend it is an SND file. Etc. This is not easy, I can barely play back weirdly coded binary data which I KNOW is an audio file, never mind find audio in other data. It can be done. If/ when you find the sound, reencoding the data with another chime and making a new ROM would be relatively easy.

Offline
Last seen: 17 years 6 months ago
Joined: Aug 20 2004 - 18:02
Posts: 76
Whoops! Forgot about those sy

Whoops! Forgot about those symbols, let's try again…
You CAN freak out your mac via playing with Open Firmware, but if you really mess it up, you can pull the PRAM and restart it with defaults. Otherwise it is nearly impossible to really break Open Firmware ON OLD WORLD MACHINES, in my experience. I have however heard that you can lock yourself out booting a New World machine.

Instead of pulling ROMs, there are classic utilities for dumping the contents of the macintosh firmware ROM to file. That would be the easy part! It would be a ludicrous amount of work to sift through raw data for a piece of audio, not even knowing what format it is encoded in. I guess I would make scripts to sonify pieces of ROM data, then play them back in SoundHack with bogus sound file header info. IE play this bit as if it is an AIFF file. Now pretend it is an SND file. Etc. This is not easy, I can barely play back weirdly coded binary data which I KNOW is an audio file, never mind find audio in other data. It can be done. If/ when you find the sound, reencoding the data with another chime and making a new ROM would be relatively easy.
M

jt
Offline
Last seen: 17 years 7 months ago
Joined: Dec 20 2003 - 10:38
Posts: 447
Logic analyzer, anyone?

AFAIK, that'd likely be the best way to determine where the startup chimes are located in the Mac's ROMs. Taking snapshots of the memory addresses accessed by a Signmaker console to the font Cartridge's ROMs was the method used when we decoded the cartridge's font data format back in the day. That ought to work for identifying the startup chime's address location in the Mac ROMs.

Has anyone ever seen a listing of the startup process order for the Mac? The chimes must be before the RAM tests according to my PEx experiences.

jt

doug-doug the mighty's picture
Offline
Last seen: 3 days 11 hours ago
Joined: Apr 14 2004 - 17:52
Posts: 1402
really?

I had always thought the RAM tests happened before the chime. I have never been blessed/cursed to experience a bad RAM chime, so I did not know any different.

BDub's picture
Offline
Last seen: 2 years 7 months ago
Joined: Dec 20 2003 - 10:38
Posts: 703
I would have thought that the

I would have thought that they had to take place before the chime, because you don't get a regular chime with bad ram. It's entirely possible my memory is inaccurate.

Log in or register to post comments