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

PEx ROM Project

LCGuy

LC Doctor/Hot Rodder
When the PowerExpress was canned, it was actually only a few weeks away from being released. As such developers had already had seed units for a while at the point that it got canned. As such, I'd imagine most of the ones out there are probably seed units.

 

trag

Well-known member
Resurrecting this old thread because I've finally built four ROM DIMMs using the firmware decoded and organized earlier in this thread, eight or nine years ago. Discussion started in the Lounge here:


As we join out story, trag has shipped four DIMMs to jt (trash80toMini_HP) to try out. The first one jt tested failed, shaking trag's confidence, but when jt was able to get back to the other three, they all produce booting results, although, ultimately, an error code.

Why the error code? Is it:

1) jt's Power Express is misconfigured somehow -- wrong number of RAM DIMMs? CPU card? Other?
2) jt's Power Express lacks some component chips that the ROM expects? So jt's machine needs a copy of Haplain's similarly configured PEx?
3) trag used the 4MB ROM dump, which may contain extraneous bytes in the last 1 MB and could, maybe, cause the ROM to fail its checksum test at boot time.
4) Other.

We just checked the image of the ROM DIMM in Digibarn's machine. And that DIMM used 90ns EEPROMs, so the flash chips I used on the DIMMs jt tested are fast enough (also 90ns).
 

trag

Well-known member
One last thought for @Trash80toHP_Mini , what type of RAM DIMM are you using? I'm not sure, but I thought I read that the Power Express needs SDRAM, instead of FPM.

@haplain can you chime in on the type of RAM needed and number of modules necessary to install?
 

Trash80toHP_Mini

NIGHT STALKER
Didn't know which type, so I pulled a pair of known good DIMMs from the BG3-DT and tried them:

PEx-ROM-Test01.JPG

NOT the correct type I'd imagine as a new error code "KILL ME! KILL ME!" occurred after only about one second or so.

Switched back to the original DIMM and got the same "KILL ME!" error code after approx ten seconds. So this one appears to pass memory test, which shouldn't take anywhere near that long to complete?

PEx-ROM-Test00.JPG

I thought I'd read that Apple moved to the same memory type as the parallel BeigeG3 project's new architecture as well. But that doesn't make much sense to me now that I think about it. If PEx/PowerExpress/9700 was an update of the 9600's architecture, it stands to reason that it would employ the x600 series memory setup, no?

Here's a screenshot from the 2017 PowerExpress thread @captainserial posted about his booting PEx:

captainserial-memory_type.JPG


From the 9600 ServiceSource:
PM 9600 series 200MHz to 350MHz -
__32 MB standard; expandable to 768 MB
__Uses 168-pin, 64-bit, 70 ns or faster EDO or FPM DRAM DIMMs

Dunno what the memory controller comparison is between 9600/9700, but if it's different my guess would that it addresses at least twice the capacity of the 9600 loadout. According to LEM, Apple said the 9600 should support 128MB DIMMs, but that it was an untested config.

BTW, @captainserial uploaded his ROM dump: TriPEx.ROM.zip

It feels good to be back at this project again, thanks trag!
 

trag

Well-known member
From Wikipedia:


On the bottom edge of 168-pin DIMMs there are two notches, and the location of each notch determines a particular feature of the module. The first notch is the DRAM key position, which represents RFU (reserved future use), registered, and unbuffered DIMM types (left, middle and right position, respectively). The second notch is the voltage key position, which represents 5.0 V, 3.3 V, and RFU DIMM types (order is the same as above).

From the photos, I tentatively think that the sockets want unbuffered 3.3V DIMMs which are almost certainly SDRAM.

Nope, checked my RAM collection. SDRAM has the notch in the center position for registered.

The FPM and EDO DIMMs that the X500/X600 machines used all had the second notch on the Left. Which Wikipedia is now saying means RFU, but I think it means Buffered. That's what the 244 or 2244 chips on those old FPM DIMMs did. They were the buffer. I don't see any buffer chips on the DIMMs in CaptainSerial's photos.

I'm making a lot of porridge out of one rock here though.

Also doesn't tell us if they're needed singly or in pairs, although CaptainSErial's machine appears to contain just one DIMM.
 
Last edited:

trag

Well-known member
Maybe the PEx RAM is some kind of weird unbuffered EDO RAM, possibly at 3.3V.

Didn't the PM6500 use 3.3V EDO DIMMs? I would have expected them to be buffered though. Nope, I checked the Hardware Developer Note and it's not the 6500. See below.

Ah, found this at Digibarn:

DSC08041.JPG


From the notches, correct me if I'm wrong, that appears to be unbuffered, 3.3V memory. And I saw EDO on one of the labels. Ah, but that was on jt's DIMM. Which takes about 10 seconds to fail. Still, suggests the PEx wants EDO.

I don't know what that little chip on the end is doing. I hope it's just helping with addressing, but it could be an SPD chip, in which case memory for these things is a lot harder.

I think the PM4400 used 3.3V EDO unbuffered 168 pin DIMMs. As far as I know, it's the only Mac that used that type of memory.
 
Last edited:

jessenator

Well-known member
Didn't the PM6500 use 3.3V EDO DIMMs?
The 4400/LPX-40 "Tanzania" clones used the wonky 3.3V unbuffered EDO DIMMs.
I think the 6500 used 5V 1K or 2K refresh EDOs, at least according to the Apple memory guide.

My recollection is that the 3.3V had a different keying on the DIMM, so you couldn't plug it into a 5V slot, and vice versa. IDK if buffered vs unbuffered was also keyed, because I bought my 4400/et al. kit from MemoryX (RIP).

Tell me to bugger off, if I'm not being helpful : P
 

trag

Well-known member
@jessenator Definitely helpful. I followed up with the Apple Developer notes and reached the same conclusion.

Part of my conclusion is based on the keying. The notch near the end is RFU (L), Registered (M) and Unbuffered (R). That notch is on the right side in the PEx photos.

The middle notch is voltage with left being 5V and middle being 3.3V.

The only unknown is that the notches don't tell you if you have 3.3V unbuffered EDO memory or 3.3V Synchronous DRAM.

jt's experiement with his Beige RAM would suggest that it wants EDO and not SDRAM.

@haplain Do you know what type of RAM is needed?
 
Last edited:

trag

Well-known member
Nope, checked my RAM collection. SDRAM has the notch in the center position for registered.

The FPM and EDO DIMMs that the X500/X600 machines used all had the second notch on the Left. Which Wikipedia is now saying means RFU, but I think it means Buffered. That's what the 244 or 2244 chips on those old FPM DIMMs did. They were the buffer. I don't see any buffer chips on the DIMMs in CaptainSerial's photos.

Time to edit has expired.

I was very confused above.

X500/X600 RAM has the notch at the end in the center position. Which means Registered or Buffered. The notch in the center of the DIMM is in the Left position, which means 5V.

SDRAM such as the Beige uses has the notch at the end in the Left position, which means unbuffered. The notch in the center of the DIMM is in the Middle position, which means 3.3V.

The PEx DIMMs appear to have their notches in the Left and Middle positions respectively, which means Unbuffered 3.3V.

No way of knowing if that means EDO or SDRAM. But I'm going to take a closed look at the Digibarn picture. If I can make out the part number on the chips, I'll be able to look up whether the chips are EDO or SDRAM.

I can't make out the part number on the DigiBarn DIMM beyond MT4LC. Searching some parts that start with that gives FPM and EDO.

Looking at the photo of Captain Serial's DIMM, the chips used are EDO.

So I think it's pretty certain that it needs 3.3V EDO memory.

The place we got the idea SDRAM is from CaptainZ's posting on AppleFritter which is linked to on the Digibarn page. He mentions SDRAM.
 

Attachments

  • GLT4160L04.pdf
    580.4 KB · Views: 0
Last edited:

trag

Well-known member
Looking at the thread that jt linked above: https://68kmla.org/bb/index.php?threads/powerexpress-powermac-9700-prototype.6320/

I can make out the little chip on the end of the DIMM and it is a 24C02 from, can't quite tell but I think ST Micro. Which makes it a little serial Flash.

Which suggests these are 3.3V EDO DIMMs with an SPD chip. That may complicate matters.

Do 3.3V EDO DIMMs normally include an SPD chip?

Apparently, they do or can (see attached JEDEC files).

And here are some on Ebay. I didn't do any shopping. These came right up in a Google search on "168 pin DIMM 3.3V EDO".

https://www.ebay.com/itm/162792030949

Or about half the price:

https://www.bonanza.com/listings/64MB-Edo-Memory-Ram-Ecc-Unbuff-60NS-Dimm-168-PIN-3-3V/763279748
 

Attachments

  • DIMM_168Pin_Unbuffered_4_05_03R9.pdf
    200.4 KB · Views: 0
  • SPD_EDO_FPM_4_01_02_03R8.PDF
    104.2 KB · Views: 0
Last edited:

trag

Well-known member
Did you take a look at the ROM dump @captainserial uploaded?
I downloaded it, but haven't run DIFF with other extracts.

I either need to dig out my work laptop which has Windows 10 and an Ubuntu install, which I don't want to do while I'm on vacation. Or, get something Unix'y running on my Win 7 laptop, or find a good compare utility in Windows.

Or go eat ice cream...

I'm hoping Hap will show up and provide his ROM extract and then I can compare all around at one go.
 

Trash80toHP_Mini

NIGHT STALKER
Ice cream sounds good! I could pour my Honey Bourbon over some Vanilla Bean right about now, but none is at hand. Don't need the extra calories anyway, so HBNeat it is. 🙃
 

Trash80toHP_Mini

NIGHT STALKER
from above:



Flip side of that DIMM in the working PEx documented in the thread @captainserial posted. Shouldn't this be all you need to ID memory spec?

We've got three Batch A/EVTA boards in the MLA, I wonder how many Batch E/EVTE boards are out there. DigiBarn's may well be the only one. It has the connector and components for that VidSlot thingie implemented. I'll hazard a guess that there's no way we're going to boot an EVTA from these EVTE ROM DIMMs. EVTA will never get past the hardware check, no?
 

jessenator

Well-known member
HA. So it is 3.3V EDO. Interesting. GLT4160L04-60TC
 

Attachments

  • GLT4160L04-40J3_to_GLT4160L04SE-70TC.pdf
    580 KB · Views: 2

trag

Well-known member
HA. So it is 3.3V EDO. Interesting. GLT4160L04-60TC

Doug showed up over in the "where's jt?" thread. He says on 68K machines the ROM checksum is very near the beginning of the boot process.

jt, correct me if I got any of this wrong:

1) jt's machine takes several seconds (10?) to chime death with a proper RAM DIMM installed.
2) jt's machine chimes death within about 1 second with the wrong RAM (SDRAM) installed.

This suggests that the machine is not failing the ROM checksum.

Some other portion of the hardware check is failing. On other Macs a failure after a long period, like 10 seconds or so is usually a misconfigured SCSI bus or other I/O bus, in my experience.

jt, you don't have any hard drives or cables plugged in, do you? OTOH, might need to plug a terminator into the SCSI busses. Maybe they never got the on-board termination installed/working.

But, if it turns out that CaptainSerial's and Hap's firmware is a different version than Digibarn's, then the solution will probably just be to make more ROM DIMMs with the older code.

I just wouldn't expect missing devices to cause a failure to boot. Shouldn't they just get left out of the device tree? I guess if they're hard coded in and the machine tries to access a register in the missing device and gets nothing back...
 

Trash80toHP_Mini

NIGHT STALKER
1) jt's machine takes several seconds (10?) to chime death with a proper RAM DIMM installed.
2) jt's machine chimes death within about 1 second with the wrong RAM (SDRAM) installed.
Exactly, but with SDRAM installed it yells "KILL ME!" twice a second after startup chime.
With the EDO DIMM it only says it once after about ten seconds.

Four generations of hardware/firmware tweaks later, that DigiBarn ROM won't digest in a first gen craw. EVTE ROM is a dead end, gonna need an EVTA ROM if my PEx board is ever gonna boot, or so it seems to me.

What generation was James' PEx?
 
Top