Power Macintosh PPC ROM DIMMs

stynx

6502
Incomplete List of ROM modules:

type-numbervoltagecomputer modelchipsspecial featuresreprogrammable
820-0961-A3.3V?4x AM29LV800unpopulated sop & plccyes?
820-0954-013.3VPM G32x KM2316205Y2x 70 pin chipsno
341-07585VPM 95008x HM27C4000FP-12no, OTP?
341-07575VPM 6/7/8100no
341-07415VPM 6/7/8100no
341-08335VANS 500/700no
820-0672-APF63x0ROM & Cacheno
333-1087PF62x0ROM & Cacheno
"Apple ESB ROM"ANS
"PEX proto ROM"5V?Power Express 970016x AM28F020prototype relatedyes

ToDo:
  • Find more ROMs :)
  • find and add "Gazelle Flasher" utility
  • add old Flash-util from an early TNT PCI DDK (MacOS 7.5.2 PCI_DDK_vA5)

Goals:
  • get the flashing of old World PPC Mac Rom modules working.
  • find a way to create flash ROM modules
  • complete the list of the available ROM modules
 

Attachments

  • 421135039_1097581021667876_2970387251513897371_n.jpg
    421135039_1097581021667876_2970387251513897371_n.jpg
    119.6 KB · Views: 19
  • s-l1600-30.jpg
    s-l1600-30.jpg
    67.7 KB · Views: 7
  • s-l1600-29.jpg
    s-l1600-29.jpg
    387.1 KB · Views: 7
  • s-l1600-25.jpg
    s-l1600-25.jpg
    172.8 KB · Views: 7
  • s-l1600-24.jpg
    s-l1600-24.jpg
    161.8 KB · Views: 7
  • s-l1600-20.jpg
    s-l1600-20.jpg
    100.1 KB · Views: 9
  • s-l1600-15.jpg
    s-l1600-15.jpg
    426.9 KB · Views: 8
  • s-l1600-8.png
    s-l1600-8.png
    804.8 KB · Views: 16
  • IMG_6823.JPG
    IMG_6823.JPG
    6 MB · Views: 18
Greetings,

It has been a year since this was posted. I was curious if progress has been made with either the Todo or goals.
I have three DIMMs that appear to be the same as IMG_6823.jpg. I have a strong desire to duplicate/copy the contents
of one of the ROMs to one of the others. It would be great to have the ability to create additional copies if writeable
ROM DIMMs can be had. I had hoped that the ROM programmer I have from CayMac would accomplish this but the
ROMs are different.

Any info would be appreciated.

Thanks.
 
Me and @dougg3 discussed this topic like 2 years ago (time flies) :D, the idea was to make an adapter for the ROM SIMM Programmer that also could do the PPC ROMs, but at that time the biggest issue was us sourcing the necessary female slot connector (PPC ROM SIMM connector) for the adapter (yeah, stealing one from an old board could work, but wouldn't be very viable). Then life and other projects has kept us away from the concept :).

The other solution would be to just use sockets reflashable chips of appropriate size and flash wil like an X-48.

Software wise I remembered that @dougg had an idea for a solution.

The pin out of the PPC ROMs (Power Surge, G3 is totally differnet and 3.3V) is at least:

PinPS
1​
Vcc
2​
GND
3​
Vpp? (this would be used on a programmable module with old EEPROMs)
4​
D0 HL
5​
D1 HL
6​
D2 HL
7​
D3 HL
8​
N/A
9​
Vcc
10​
NC
11​
D4 HL
12​
D5 HL
13​
D6 HL
14​
D7 HL
15​
GND
16​
D8 HL
17​
D9 HL
18​
D10 HL
19​
D11 HL
20​
NC
21​
Vcc
22​
NC
23​
D12 HL
24​
D13 HL
25​
D14 HL
26​
D15 HL
27​
GND
28​
NC
29​
NC
30​
A2
31​
A4
32​
A6
33​
A8
34​
A10
35​
NC
36​
NC
37​
WE (For programmable modules, also may connect to pin 117)
38​
OE A1L (May also connect to pin 118)
39​
NC
40​
NC
41​
Vcc
42​
NC
43​
GND
44​
A12
45​
A14
46​
A16
47​
A18
48​
NC
49​
NC
50​
NC
51​
NC
52​
NC
53​
GND
54​
D0 HH
55​
D1 HH
56​
D2 HH
57​
D3 HH
58​
GND
59​
Vcc
60​
NC
61​
D4 HH
62​
D5 HH
63​
D6 HH
64​
D7 HH
65​
GND
66​
D8 HH
67​
D9 HH
68​
D10 HH
69​
D11 HH
70​
NC
71​
Vcc
72​
NC
73​
D12 HH
74​
D13 HH
75​
D14 HH
76​
D15 HH
77​
GND
78​
NC
79​
NC
80​
Vcc
81​
Vcc
82​
GND
83​
NC (May be Vpp on programmable modules)
84​
D0 LL
85​
D1 LL
86​
D2 LL
87​
D3 LL
88​
NC
89​
Vcc
90​
NC
91​
D4 LL
92​
D5 LL
93​
D6 LL
94​
D7 LL
95​
GND
96​
D8 LL
97​
D9 LL
98​
D10 LL
99​
D11 LL
100​
NC
101​
Vcc
102​
NC
103​
D12 LL
104​
D13 LL
105​
D14 LL
106​
D15 LL
107​
GND
108​
A0
109​
A1
110​
NC
111​
A3
112​
A5
113​
A7
114​
A9
115​
_CE
116​
1Kohm to GND?
117​
WE for back of module on programmable modules, may also connect to 37
118​
_OE all, also connects to 38
119​
NC
120​
NC
121​
Vcc
122​
NC
123​
GND
124​
A11
125​
A13
126​
A15
127​
A17
128​
NC
129​
NC
130​
NC
131​
NC
132​
NC
133​
GND
134​
D0 LH
135​
D1 LH
136​
D2 LH
137​
D3 LH
138​
NC
139​
Vcc
140​
NC
141​
D4 LH
142​
D5 LH
143​
D6 LH
144​
D7 LH
145​
GND
146​
D8 LH
147​
D9 LH
148​
D10 LH
149​
D11 LH
150​
NC
151​
Vcc
152​
NC
153​
D12 LH
154​
D13 LH
155​
D14 LH
156​
D15 LH
157​
GND
158​
NC
159​
NC
160​
Vcc
 
Pretty sure they had a LC PDS programmer with a DIMM socket and then flashed them using the Flasher tool on a Q605 machine. @dougg3 built an LC programmer (and later I made a proper board for it):

But are pretty sure the same tool can also reflash PPC ROMs, so that could also be an option. I can reflash both the Red Rom from an STB and LOBOS board inside my LC475 using these tools.
 
@Jockelill & @dougg3,

I possess an ANS 700/200 with a ROM SIMM that allows the server to boot MacOS. For the last several months I have been working toward making the MacOS ROMs available to anyone that wants one. Most of the discussion has taken place on ThinkerDifferent but I have found important information here.
Since you and @dougg3 have looked at this problem it would be helpful to have your understanding of a possible way to accomplish this. I am not a hardware guy but I am willing to get my hands dirty I just don’t want to make it more difficult or error prone that need be. I have the AMD AM28F020 chips (32x) and a rom flasher TL866 plus to flash the individual chips. I also have the SIMM socket donated from a PPC 7200? that I don’t mind removing from the system board. I have a concern that de-soldering the ROMs, soldering sockets and replacing the chips will create to large an opportunity to errors. If there is a way to flash the SIMMs all at once I would gladly to that.

Also I doubt that there will be much of a demand for the SIMMs but those that do want one do so greatly. The reason Apple didn’t sell many of the ANS servers had to do with the requirement of running IBM AIX. Trust me I know I was on the business development team for education & I have the scars to prove it.

adios,
jt
 
Since you and @dougg3 have looked at this problem it would be helpful to have your understanding of a possible way to accomplish this. I am not a hardware guy but I am willing to get my hands dirty I just don’t want to make it more difficult or error prone that need be. I have the AMD AM28F020 chips (32x) and a rom flasher TL866 plus to flash the individual chips. I also have the SIMM socket donated from a PPC 7200? that I don’t mind removing from the system board. I have a concern that de-soldering the ROMs, soldering sockets and replacing the chips will create to large an opportunity to errors. If there is a way to flash the SIMMs all at once I would gladly to that.

Hi @John Tucker! One thing I should point out is a project like this would be useful for more than just the ANS, because I believe the rest of the PowerPC series prior to the G3 shared the same pinout (although we'd want to make sure; we don't want to ruin any ANS machines!). So that could help with the concern about limited demand for such a project. I see a few options with pros and cons:

Option 1: create a replica PowerPC ROM DIMM PCB. Just make a carbon copy of Apple's design. By copying Apple's exact design, it would be compatible with the Flasher app and would be able to be reflashed in-system.

The challenge I foresee with this approach is that looking at the pictures that @Performa450 posted above, there's not enough room to add PLCC sockets for all 16 chips. The chips are so close together! When I replicated Apple's Lobos Board ROM SIMM for Quadras, there was plenty of room to add sockets, so it was easy to create something that could be initially programmed using the TL866 or equivalent.

You could program all 16 chips ahead of time before soldering them to the board, but then if anything went wrong in the future, it would require desoldering to fix. That would be a little tricky unless someone cloned a "Flash Gordon" type board for the DIMMs, like what @Jockelill described above with the PDS programmer, but for the PowerPC DIMMs instead.

If there's enough vertical space inside these machines, you could possibly make the board super tall and stagger the chips so there's room for sockets. It would look really silly, but it could work.

Option 2: ditch the AM28F020 chips altogether and use something modern with more capacity. It's probably feasible to fit a total of 8 PLCC sockets if the chips are 4 megabit instead of 2 megabit, still giving a total of 4 MB of ROM space. That would probably leave enough room to fit the sockets. It wouldn't be in-system programmable without hacking the Flasher app to recognize/erase/program the modern chips, but it would be easy (though tedious) to bootstrap and reprogram externally with a chip programmer.

It might even be better to follow some of the cooler modern approaches and focus on making it programmable through a USB port on the DIMM rather than in-system. So you would use a modern computer to program it. Makes it more expensive but then you don't need a programmer for it.

One thing to look out for with this approach is people have noticed that modern flash chips have crappy drive strength. I'm not sure if PLCC chips like the SST39SF040 are affected by that problem.

I don't know which option is best. Option 1 is definitely more true to the era because then you basically have the same board that Apple was using during development, and it would work with their tools. But unless someone makes an external programmer or figures out a clever way to fit 16 PLCC sockets on the board, it would be very hard to recover from a bad flash. Option 2 seems like it would be easier to get something working initially with sockets. The USB port would likely be a lot of work though.

There's a few brainstorming ideas for you! Unfortunately I just don't have the time to work on something like this right now, but it's definitely doable if someone has enough dedication!
 
  • find and add "Gazelle Flasher" utility
I think I have a binary that can do Gazelle machines (PSX based) but I don't know if it works or is complete. At least, the code may possibly show how to enable flashing of a ROM SIMM that is installed and working in a Gazelle machine.

Code:
Flashers (stored as XCOF resources in the Flasher utility):

603 machines:

131 ; PBX
132 ; M2
133 ; PSX


not 603 machines:

128 ; PDM
129 ; TNT
130 ; Catalyst
134 ; Tanzania
135 ; CHRP
136 ; Gossamer
137 ; Power Express


Possible SIMM type strings (not all SIMM types are supported by each of the above Flasher binaries)

Read-Only ROM
AMD 28F020 x 4
Intel 28F020
AMD 28F020: RLC
DBLite Flash
AMD 28F020 x 8
Dartanian Flash
Intel 28F256 x 8
Slice Flash
AMD 28F020 x 16
AMD 28F020A
Blackbird Flash
Malcolm Flash
AJ Flash
AJ LogicBoard Flash
M2 Flash
M2 LogicBoard Flash
Omega Flash
Intel 28F020 x 16
Hooper Flash
BB Flash Station
AMD 29LV800
Intel 28F800
Intel 28FA016SA

I've disassembled the XCOF 129 resource for TNT machines to see how it works and what flash chips it supports.

You can probably use my notes in the XCOF 129 dump from the old flasher to help with the disassembly of the other XCOF resources in the newer flasher.

The XCOF 129 resource for TNT machines only supports AMD 28F020 x 16 and Intel 28F020 x 16 but I think the code has a bug for Intel chips.

In the DingusPPC emulator, I added emulation for flashing TNT machines using the Flasher utility.
 

Attachments

@dougg3,

Wow, Thanks for the reply.

You pointed out my lack of knowledge and shot down my idea of using chip sockets (I had not thought about there not being enough room on the SIMM/DIMM)

It seems to me that your first suggestion of creating a replica DIMM and a Flash Gordon/PDS/Nubus card might be the option that would deliver success. I don't possess the knowledge or skills to do either but if it is doable I would gladly support the effort with testing and providing the funds. In addition to the ANS 700/200 I have a functional prototype ANS Deep Dish. If another 68K or PPC Mac is needed I most likely have one or can easily get one. I know that you may not have time time to do this but I was hoping you might have a suggestion for a way forward.

Thanks again for taking time time to answer by questions.

adios,
jt
 
Back
Top