OK, so now I'm thinking of my next big startup sound hack and I want it to be a New World Mac. I have several New World G3/G4 Macs, but the Yosemite G3 seems like a nice candidate due to its logic board being so easy to access. It's the first brand-new Mac I ever bought. I still have the original box, packing materials, restore disk, manuals, keyboard, awful hockey puck mouse, power cord, internal 56k modem and Zip drive install kit boxes, etc. (yeah, I'm a pack rat) so I want to preserve it and don't exactly want to modify the stock hardware at all. With that said, I'm definitely up for grabbing a logic board on eBay to hack.
My hardware hacking capabilities start to diminish as we move toward miniature surface mount parts and BGA packages, but this one still seems pretty doable (if any hardware hacking is even necessary -- read on). The Blue and White G3 developer note points out that there is 1 MB of ROM on the logic board containing POST software, Open Firmware, and hardware specific drivers. In particular, the POST software contains a "boot beep" -- the startup chime.
I've found the chip on the logic board. It's a MIcron MT28F008B3 8 megabit (1 megabyte) flash chip in a Type I TSOP-40 package. I'm hoping I don't have to find any of these chips -- Digi-Key doesn't stock them anymore. The good news is that with the right adapter, my Willem programmer seems to support it.
Looks like there might be pads for a different type of flash chip too...
I also got sneaky and downloaded the Power Macintosh G3 (Blue and White) Firmware Update 1.1. I have no idea if I actually ever installed this update on my G3, but its contents are interesting. After you mount the SMI file, you will find an installer and a file called G3 Firmware. The G3 Firmware file's data fork is plain text with Mac line endings. It appears to be a Forth script, which is probably run by Open Firmware. Unfortunately, I know nothing about Forth except that it uses reverse polish notation. Still, I can find some useful info in the file:
Lines 102 and 103:
(followed by a ton of data that appears to be encoded in some kind of ASCII format (maybe Ascii85?) -- it looks like it's calling a decode function called dc85 which is defined earlier in the file)
It also includes code for controlling AMD, Intel, Micron, Atmel, and Sharp flash chips (I think!).
So if I go through with this, I'll probably need to learn Forth (it's way different from anything I'm familiar with, but I'm still very curious to learn how it works--can't be too hard to learn it!) in order to figure out how to decode what appears to be the new ROM contents. If I can do this and modify the script, it might be possible to flash a custom startup chime without doing anything to the hardware...of course, if I fail, I'll have to manually desolder and reflash the chip with my programmer (no big deal there -- Chip Quik should work). I suppose I could find a TSOP ZIF socket to put on the logic board...I'm not sure if there's room for it because of how close some of the other components are, though.
Anyway, that's my plan right now! I don't know if/when I'll attack it, but I really wanted to get this all written down so I don't forget it and as info for anybody else who's been considering a similar feat.
My hardware hacking capabilities start to diminish as we move toward miniature surface mount parts and BGA packages, but this one still seems pretty doable (if any hardware hacking is even necessary -- read on). The Blue and White G3 developer note points out that there is 1 MB of ROM on the logic board containing POST software, Open Firmware, and hardware specific drivers. In particular, the POST software contains a "boot beep" -- the startup chime.
I've found the chip on the logic board. It's a MIcron MT28F008B3 8 megabit (1 megabyte) flash chip in a Type I TSOP-40 package. I'm hoping I don't have to find any of these chips -- Digi-Key doesn't stock them anymore. The good news is that with the right adapter, my Willem programmer seems to support it.
Looks like there might be pads for a different type of flash chip too...
I also got sneaky and downloaded the Power Macintosh G3 (Blue and White) Firmware Update 1.1. I have no idea if I actually ever installed this update on my G3, but its contents are interesting. After you mount the SMI file, you will find an installer and a file called G3 Firmware. The G3 Firmware file's data fork is plain text with Mac line endings. It appears to be a Forth script, which is probably run by Open Firmware. Unfortunately, I know nothing about Forth except that it uses reverse polish notation. Still, I can find some useful info in the file:
Lines 102 and 103:
Code:
/L field >dir.BOOT-BEEP
/L field >dir.BOOT-BEEP-size
Code:
cr ." loading ROM-IMAGE, offset=00080000, size=00080000"
It also includes code for controlling AMD, Intel, Micron, Atmel, and Sharp flash chips (I think!).
So if I go through with this, I'll probably need to learn Forth (it's way different from anything I'm familiar with, but I'm still very curious to learn how it works--can't be too hard to learn it!) in order to figure out how to decode what appears to be the new ROM contents. If I can do this and modify the script, it might be possible to flash a custom startup chime without doing anything to the hardware...of course, if I fail, I'll have to manually desolder and reflash the chip with my programmer (no big deal there -- Chip Quik should work). I suppose I could find a TSOP ZIF socket to put on the logic board...I'm not sure if there's room for it because of how close some of the other components are, though.
Anyway, that's my plan right now! I don't know if/when I'll attack it, but I really wanted to get this all written down so I don't forget it and as info for anybody else who's been considering a similar feat.