• 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.

PEx ROM Project

Good to know. I never heard any more after the ones I mule'd over were delivered. 👍

I'm not sure @jimjamyahauk ever installed his. It has been almost 15 years since the start of hte project and he's moved a few times and I think started a family in that period. I'm not sure, but I think his 9700 is stored away and not easy to get to.
 
Have you tried booting this without extensions (shift on boot)? I've had some weird prototypes that really don't like extensions and freak out when they are enable. Just a thought.
 
I hope I'm not necro-ing a thread that's too old, but I was wondering if anyone in here still has a working PowerExpress. I ask because of my and @atax1a ’s recent discovery of the beige G3's easter egg entry method (reformat the RAM Disk with the name "secret ROM image" on Mac OS versions less than 9.1, it creates a file called "The Team").

The PowerExpress ROM dump I was looking at earlier has the exact same .Edisk, secret ROM image, and The Team strings so I suspect the easter egg method is the same. And the ROM definitely has a hidden JPEG that @Dandu wrote about.

Can someone try it out on their PEx and confirm?
 
Last edited:
I've been looking at ROM checksums recently.

A Power Mac ROM has 14 checksums. The first 5 are for the first 3 MB (the 68K part). The remaining 9 are for the entire 4MB ROM, including the PowerPC/Open Firmware part (the last 1 MB).

Of the PEX ROM dumps I've seen, only the TriPEx.ROM is complete according to the size and checksums.
The TriPEx.ROM has a ConfigInfo that states OpenFW is 128K at offset 0x33000 but that area of the ROM is empty. So where is OF stored? I. asked these questions at #304

I think there was talk somewhere stating that the 68K part (first 3MB) and the OF part (last 1MB) were in different ROMs or something.

Here's the list of different ROMs, versions, MD5s, sizes, checksums, notes.

Code:
07:7d 3.9b7.1

    "TriPEx.ROM"
        - 0a3077fcb1218da339b038712a34d9db all 4MB  "Boot PEX 0.1p..]"
        - 6d4f4b536ef3e066fc73186305af0b32 first 3MB
        - 2f15c6e6c336255802258212b2ae5bbc last 1MB
        - Stored checksum: 4604518f    044640df.046cec63.02f77934.03db4e19    02ac9071.02e89b00.01e15d6b.025c19e9.0285d13d.034ce200.02016f25.027cc484:efbc0e0922ebe984
        - All calculated checksums match the stored checksums.
        - OpenFW is all zeros.


07:7d 3.9f1.1

    "46001F1B - Power Mac 9700 Prototype (bad dump).ROM"
        - 5e0f52e66117fb29dba9d7031c80f1ff first 3MB
        - Stored checksums: 46001f1b    044641c5.046cec17.02f7762e.03db463b
        - Calced checksums: 46021e8b x  044641c5.046cec17.02f7762e.03db45ab x
        - Missing last 1 MB.
        - Bad checksum main.
        - Bad checksum byte lane 3.

    "2.3 Power Express (9700 Prototype)/ROMs/test1digi.ROM"
        - 58b8a8fadd5cc5bec6c3f8100feaceb4  all 4MB  "................"
        - 5e0f52e66117fb29dba9d7031c80f1ff first 3MB
        - 1f1790d0e888d2a46543577a97c352fe last 1MB
        - Stored checksums: 46001f1b    044641c5.046cec17.02f7762e.03db463b    00913b74.009280da.008e989f.008fb2b4.009212a7.0093dbdd.0091ff8a.0091f053:8402e45b156e7a53
        - Calced checksums: 46021e8b x  044641c5.046cec17.02f7762e.03db45ab x  02b555dc.02c83c8e.020e389a.0281b358.02b43b0e.02cb0ec4.0209d7c5.027b36ba:294b04602916fbba x
        - Same first 3 MB as above.
        - Bad checksums in the last 1MB. Those checksum appear to only be calculated using the last 1MB. See 1MB test1digi below.

    "2.0a9 Power Express (9700 Prototype)/ROMs/test2orig.ROM"
        - 296558a210dfb961ff2b1b7495d2de84  all 4MB  "................"
        - 5e0f52e66117fb29dba9d7031c80f1ff first 3MB
        - 9728d9a3c6777ffbb40f35d21e0c4c93 last 1MB
        - Stored checksums: 46001f1b    044641c5.046cec17.02f7762e.03db463b    00987ae7.00806b6d.0097b408.006e9dbe.0099cfd4.00819f6c.009af754.006f84a6:ea9040100ed2d8a6
        - Calced checksums: 46021e8b x  044641c5.046cec17.02f7762e.03db45ab x  02bc954f.02b62721.02175403.02609e62.02bbf83b.02b8d253.0212cf8f.0258cb0d:8fd86015227b5a0d x
        - Same first 3 MB as above.
        - Bad checksums in the last 1MB. Those checksum appear to only be calculated using the last 1MB. See 1MB test2orig below.

    "Digibarn/SIMM/Rom-grabber/ROM-image 01.rom"
        - a42b0536b6a741d8208a5202d3785e7d all 4MB "Boot PEX 0.1p..]"
        - 5e0f52e66117fb29dba9d7031c80f1ff first 3MB
        - ae53d1e2870f26022c0942647a67d0a5 last 1MB
        - Stored checksums: 46001f1b    044641c5.046cec17.02f7762e.03db463b    02ac8c53.02e8c2e8.01e122ba.025bd32c.0285de89.034cc158.0201aefd.027d0c1a:f96916594e84091a
        - Calced checksums: 46021e8b x  044641c5.046cec17.02f7762e.03db45ab x  02ac8c53.02e8c2e6.01e122ba.025bd32c.0285de89.034cc158.0201aefd.027d0b8a:f96716594e84088a x
        - Same first 3 MB as above.
        - bad checksums in the last 1MB only for byte lane 1 and byte lane 7.
        - OpenFW is all zeros.


1MB Parts

    1f1790d0e888d2a46543577a97c352fe  "www.jkalittle.co.uk/OF_2_3_dump3 duplicate of test1orig_plcc and last 1MB of test1digi/full.rom"
        - Stored checksums: 00913b74.009280da.008e989f.008fb2b4.009212a7.0093dbdd.0091ff8a.0091f053:8402e45b156e7a53
        - Calced checksums: 00913b74.009280da.008e989f.008fb2b4.0092135e.0093dbdd.0091ff8a.0091f053:8402e45bcc6e7a53 x
        - This file contains the 9 checksums in the config info. They seem to be valid without the first 3 MB except for byte lane 4.
        - The error in byte lane 4 also appears in the 5th byte of the 64 bit checksum.

    9728d9a3c6777ffbb40f35d21e0c4c93  "www.jkalittle.co.uk/OF 2.0a9 duplicate of test2orig_plcc and last 1MB of test2orig/full.rom"
        - Stored checksums: 00987ae7.00806b6d.0097b408.006e9dbe.0099cfd4.00819f6c.009af754.006f84a6:ea9040100ed2d8a6
        - Calced checksums: 00987ae7.00806b6d.0097b408.006e9dbe.0099d08b.00819f6c.009af754.006f84a6:ea904010c5d2d8a6 x
        - This file contains the 9 checksums in the config info. They seem to be valid without the first 3 MB except for byte lane 4.
        - The error in byte lane 4 also appears in the 5th byte of the 64 bit checksum.

    a3c65d883ecd63c56771d316e9c875a5  "www.jkalittle.co.uk/OF_2_3 bad dump - bit 7 stuck high/full.rom"
        - Uncorrectable problem - bit 7 stuck high.

    4adac49abe6adc8e3cdf25f35aaf2326  "www.jkalittle.co.uk/OF2_3_dump2 bad dump - blocks repeated every 4K/full.rom"
        - Uncorrectable problem - blocks repeated every 4K.

Only the first one is valid and complete except missing Open Firmware. So I'm wondering what combo of 3MB and 1MB parts does a real PEX use? I think a firmware dump using Open Firmware and serial port should answer this sufficiently. Using a ROM reader risks errors with data or address bits being stuck like in the last two 1MB dumps listed above.

The tiny differences between stored and calculated checksums means only a small number of bytes are incorrect but we can't know which bytes they are (except for the 32-bit or 64-bit byte lane).

We can see in the above that the 9 checksums of the ConfigInfo may apply to all 4 MB or to only the last 1MB.
 

Attachments

Back
Top