• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

The "820-0961-A" mystery G3 3.3V FlashRom

stynx

6502
There is someone on eBay right now who sells original Apple PPC 4Mb 3.3V Flash ROMs. The seller had about 100 of these Roms. The origins are unknown. I have bought 10 of them to experiment. The DIMMs are in almost unused condition and in individual antistatic bags, most likely original. It is as if they were only programmed, shipped and then never used. The resistor for disabling the onboard ROM is not populated and the ROM would only work in a computer that lacks onboard ROMs.

820-0961-A_back.png820-0961-A_front.png

I have unsoldered the 29LV800BT chips and saved the contents. The 4 Rom files are in the attached ZIP file.

The contents of the rom do not match with any other Rom i have. It is similar to the G3 desktop/v3 Rom and to the PEX rom.
I was not able to interleave the files into a single ROM since i lack the tools for that.

MD5 (3.3Flash4mb_HH) = 14873b5684dc899edf612f5521c2de9e
MD5 (3.3Flash4mb_HL) = 71eab8f40a43610eb3439919522fbd52
MD5 (3.3Flash4mb_LH) = b21156f828f1281c6bad015b0fd09aa1
MD5 (3.3Flash4mb_LL) = 5d75984f03079b4df54e33dfe4c09f2e


MD5 (G3_desk_deinterleaved_U1.bin) = e5669652b42c5839916d80c49063b04e
MD5 (G3_desk_deinterleaved_U2.bin) = cd0285387aa90794c0e23068b1e4ed96
MD5 (G3_desk_deinterleaved_U3.bin) = 0d81e04bb4a0520f253d71ad0ba09680
MD5 (G3_desk_deinterleaved_U4.bin) = 86a1926abb9f15b45639e1932fa584c8

MD5 (G3_v3_deinterleaved_U1.bin) = 6dda0485f44f7f6f95359c8f9589a498
MD5 (G3_v3_deinterleaved_U2.bin) = 7d98cb7730188ccb1950f2b0ac0ddf7a
MD5 (G3_v3_deinterleaved_U3.bin) = 3ace31899d7eda8dc8db8d22630384ec
MD5 (G3_v3_deinterleaved_U4.bin) = 41f300d0f7c7ac6b635eb68e55835c37

MD5 (pex_4MB_deinterleaved_U1.bin) = 3bc332feed391d889b67ea950905bbc1
MD5 (pex_4MB_deinterleaved_U2.bin) = 975f90800d9177d59b5eca4f4deb23bd
MD5 (pex_4MB_deinterleaved_U3.bin) = 0926268dc1c86fbbf556d5269481efb2
MD5 (pex_4MB_deinterleaved_U4.bin) = bc2c332c8ef3ba711367306be705e3c7

MD5 (PM9600_r2_deinterleaved_U1.bin) = dcb9c84bbeaab166bd99d44882c1e9b1
MD5 (PM9600_r2_deinterleaved_U2.bin) = ca50e54c2619a98e1c6f84cbfb721f34
MD5 (PM9600_r2_deinterleaved_U3.bin) = 4dec259aa83081b5e7d58ddae516fa36
MD5 (PM9600_r2_deinterleaved_U4.bin) = 595874aa22e6db1c974ac7d0f4c7f7ea

MD5 (G3_Wallstreet_deinterleaved_U1.bin) = d80703b11923730fca13125629508f76
MD5 (G3_Wallstreet_deinterleaved_U2.bin) = ae811c67233034d690d757d60535e1c2
MD5 (G3_Wallstreet_deinterleaved_U3.bin) = 0fd747e01abdc399d7307ff904d26539
MD5 (G3_Wallstreet_deinterleaved_U4.bin) = df7e37d0943fea0558d085fd836ddab0

PEX-rom "U4" vs. 820-0961-A "LL"
screenshot_U4_LL.png
.
 

Attachments

Very interesting! I wrote a quick C program that can combine the interleaved chip dumps back together. Ahh, I think you just beat me to it, but I'll post this anyway.

This results in a ROM with checksum 78E842A8. There aren't any Google results for this checksum so it's possibly a previously unknown version. Looks like it is identifying itself as version 77D.45F3. @joevt might be interested in this dump based on discussions here: https://68kmla.org/bb/index.php?thr...n-1st-gen-clamshell-ibooks-model-m2453.33055/

I did verify that the checksum is good, so all 4 of your chip dumps are definitely good. Thanks for sharing! Attached is the combined ROM image created by running the program. Below is the source code:

C:
#include <stdio.h>
#include <stdint.h>

static uint8_t hhdata[1048576];
static uint8_t hldata[1048576];
static uint8_t lhdata[1048576];
static uint8_t lldata[1048576];

int main(int argc, char *argv[])
{
    FILE *hh, *hl, *lh, *ll;
    FILE *outfile;

    hh = fopen("3.3Flash4mb_HH", "rb");
    hl = fopen("3.3Flash4mb_HL", "rb");
    lh = fopen("3.3Flash4mb_LH", "rb");
    ll = fopen("3.3Flash4mb_LL", "rb");

    outfile = fopen("3.3Flash4mb_combined", "wb");

    fread(hhdata, 1048576, 1, hh);
    fread(hldata, 1048576, 1, hl);
    fread(lhdata, 1048576, 1, lh);
    fread(lldata, 1048576, 1, ll);
    fclose(hh);
    fclose(hl);
    fclose(lh);
    fclose(ll);

    for (int i = 0; i < 1048576/2; i++)
    {
        uint32_t offset = i * 2;
        fputc(hhdata[offset + 1], outfile);
        fputc(hhdata[offset + 0], outfile);
        fputc(hldata[offset + 1], outfile);
        fputc(hldata[offset + 0], outfile);
        fputc(lhdata[offset + 1], outfile);
        fputc(lhdata[offset + 0], outfile);
        fputc(lldata[offset + 1], outfile);
        fputc(lldata[offset + 0], outfile);
    }

    fclose(outfile);
    return 0;
}
 

Attachments

I have read that the Gossamer G3 had several ROM-revisions.
77D.40F2 (rev A)
77D.45F1 (rev B)
77D.45F2 (rev C)

77D.45F3 would most likely be rev. D
 
I was about to say that this module looks just like the one in my Rev C G3 desktop, with the same flash ROMs, but then noted that you say the contents are different.

How interesting that it might be a previously unreleased Rev D ROM.

Do you have a beige G3 to try it in?
 
Given that there are copious amounts of this ROM as nearly-NOS, is it not quite probable that there is something wrong with them? Perhaps it's the ROM equivalent of a misprint or it's bugged somehow. Super interested in this - thanks for sharing!
 
For reference, my Beige G3 Rev C ROM:

IMG_0038.JPG
IMG_0039.JPG

Note the sticker on U1 starts with 600-6711 on mine, and 600-7091 on yours, looks like a part number.

Thank you for posting these dumps.
 
Last edited:
A FlashRom was typically not used in release-hardware by Apple. Your rev. C ROM is the same module with an earlier revision of the firmware. Finding a FlashRom in a normal Gossamer G3 is a bit of a special occurrence, i think. The B&W G3 was released in jan. '99, only 4 months after (sept./oct. '98) the 77D.45F3 was flashed onto "my" 3.3V ROM dimm.
For reference, my Beige G3 Rev C ROM:
...
Note the sticker on U1 starts with 600-6711 on mine, and 600-7091 on yours, looks like a part number.
Your ROM is only 3 months older (june '98). The B&W G3 was a massive shift since the system-in-ROM period was over and only a smaller boot loader was left in the Mac. I don't really know what was happening at Apple at the time (mid 1998) but maybe there was a lot of unused FlashRom hardware in stock that was not needed anymore and was used instead of ordering mask new ROMs for a dying hardware architecture?

I have no Gossamer G3 to test the Rom, though. I can send one of the 10 modules to someone in Europe if interested.
 
Very interesting! I wrote a quick C program that can combine the interleaved chip dumps back together. Ahh, I think you just beat me to it, but I'll post this anyway.

This results in a ROM with checksum 78E842A8. There aren't any Google results for this checksum so it's possibly a previously unknown version. Looks like it is identifying itself as version 77D.45F3. @joevt might be interested in this dump based on discussions here: https://68kmla.org/bb/index.php?thr...n-1st-gen-clamshell-ibooks-model-m2453.33055/

I did verify that the checksum is good, so all 4 of your chip dumps are definitely good. Thanks for sharing! Attached is the combined ROM image created by running the program. Below is the source code:
Here's a shell script to combine the ROMs:
Code:
cat 3.3Flash4mb_* | perl -0777 -nE 'for ($i = 0; $i < (4 << 20); $i++) { print substr($_, ((($i >> 1) & 3) << 20) + (($i >> 3) << 1) + (($i & 1) ^ 1), 1); }' > romcombined.bin

Code:
rev C: 077d.45f2 "Boot Gossamer 0." 78f57389 616d792ee6e2877c5c8faf30b6c56fe8
rev D: 077d.45f3 "Boot Gossamer 0." 78e842a8 da81cd01c7c743f9eb2637465182f591
Both have Open Firmware 2.4.

rev D adds this line of code for PCI-PCI bridges:
Code:
	2008 my_space >pci.cachelinesize config-l!
The tbxi parts have more changes (use tbxi to extract). Many ndrvs only have their build date updated.

I tried the rev D rom in my fork of DingusPPC but it didn't reach Open Firmware compared to rev C until I reset the nvram. It doesn't seem to get beyond that though. Are we sure this is for a Beige G3? I don't know what else it could be for, since the Open Firmware part is exactly the same as rev C. It could be a bug in DingusPPC.
 
From an internal document I have, 4.5F3 is "Gossamer Speedbump", and is listed with a checksum of 78eb4234 and an MD5 of 9cc0e3e01bb02691b497d792ea3e9403. So not exactly this but close.
 
This results in a ROM with checksum 78E842A8. There aren't any Google results for this checksum so it's possibly a previously unknown version. Looks like it is identifying itself as version 77D.45F3.
How can you tell that it identifies as 45F3?

From an internal document I have, 4.5F3 is "Gossamer Speedbump"
I wonder if it relates to the rumoured (but never released) 366MHz Beige G3 - although odd they would need a new ROM revision for that. I’m not sure even what changed between Rev B and C.
 
Last edited:
I wonder if it relates to the rumoured (but never released) 366MHz Beige G3 - although odd they would need a new ROM revision for that. I’m not sure even what changed between Rev B and C.
I think there are some timing values in the MPC106 and a few other things that would need to be adjusted. Also potentially the 366 MHz would have had a newer/faster ATI chip.

Differences from the developer note:
- Rev A is a Rage II+DVD, Rev B & C are Rage Pro
- Rev B supports both master and slave ATA devices and the ATAPI Zip drive (Rev A only supports a SCSI Zip drive)
- Rev B adds "improved support for PCI multifunction cards"
- Rev B lets desktop and tower cases have "the same enhanced Apple Audio/Video and Audio input/output card as the All-In-One"
- Rev C machines can be configured with a DVD drive and DVD audio/video decoder card
 
I think there are some timing values in the MPC106 and a few other things that would need to be adjusted. Also potentially the 366 MHz would have had a newer/faster ATI chip.

Differences from the developer note:
- Rev A is a Rage II+DVD, Rev B & C are Rage Pro
- Rev B supports both master and slave ATA devices and the ATAPI Zip drive (Rev A only supports a SCSI Zip drive)
- Rev B adds "improved support for PCI multifunction cards"
- Rev B lets desktop and tower cases have "the same enhanced Apple Audio/Video and Audio input/output card as the All-In-One"
- Rev C machines can be configured with a DVD drive and DVD audio/video decoder card
Neat info. Would you mind sharing the dev note/internal document? I’d love to have a little browse.
 
I haven't put a developer note archive up yet but that's a good idea. I'm in the midst of a big new project on the Laptop Portal at the moment (php + sql database backend), but after that's done I'll probably look to do that next.
 
Back
Top