From my understanding a few sets sold for $200+ but then the price dropped to $50 a set which was not worth the effort to make (PCB boards were hand cut, chips hand soldered). There isn't a large market for IIfx RAM and most people (me anyway) feel 8x4MB (32MB) is perfect for a IIfx (which is what I have in both of my units).
At $50 per set of four, at the time, it was barely worth building them. That was pretty much my break-even point, assessing a ridiculously low value (like sub-minimum wage) on my time. On the other hand, I was unemployed at the time, so I had (something resembling) plenty of time, and not much money... And part of me felt that if I could provide folks here a nice IIfx upgrade at the lowest affordable (to me) price, that had some value too. We do have a sense of community here.
I offered them for a fixed price of $50 per set here in the Trading Post and on LEMSWAP List and only ever had one taker (IIRC; might have been two) at that price (thank you mac2geezer). Ah, here's a posting. Looks like I was selling them about when the board went down. This was probably the only post-crash posting.
http://68kmla.org/forums/viewtopic.php?f=4&t=1321&p=14468&hilit=IIfx#p14468
Simultaneously, I sold sets on Ebay. The very first set went for something like $270 dollars. And I did pretty well for a while but the price decayed. When it dropped below $50 per set (I think one set went below $30) on Ebay, I quit. At that point the money to assemble them wasn't worth it, and selling only one or two sets here over most of a year wasn't stroking my ego or sense of community very much. I don't remember how many sets total I sold, but it was in the neighborhood of 25.
I had enough circuit boards made for 50 sets total. However, with the sweet deals available from Sound Studios now, circuit boards are not really a problem today. At the time, I was only able to make them because I had a $500 off coupon from 4pcb.com (AKA Advanced Circuits). I had to do some hand sawing of circuit boards, because I snuck two designs onto my boards with the top edges of the SIMMs adjacent. So, when I received them, they needed sawing to separate the two SIMMs across their common top edge. That's why the top edge looks a little irregular in some photos. Hmmm, looks like I ordered the circuit boards on 9/1/2006.
End of businessy discussion, beginning of techy discussion.
Where to start?
How the IIfx SIMM is different.
The IIfx SIMM is really only different from standard SIMMs in two ways.
First, it has 64 pins instead of 30 pins.
One might be tempted to compare it to a 72 pin SIMM, because the number of pins is closer, but that would be misguided. The IIfx SIMM is an 8 bit SIMM. It provides or stores 8 bits of data per each read or write operation, respectively. So, it should be compared to other 8 bit SIMMs.
Second, the IIfx SIMM has separate Data-In and Data-Out pins for each bit. On other SIMMs there are simply Data pins, and data being written or data being read travels onto the SIMM through the same pin. The Data pins on conventional SIMMs are bi-directional, in and out. The IIfx SIMM has sixteen data pins, two for each of the eight bits of data it can store. For each bit, one pin is used for write data, and another pin is used for read data and they are kept separate. This is why there are more than 30 pins on the IIfx SIMM. It has twice as many Data pins. Of course, 40 pins would have done about as well as 64, but Apple was already using the 64 pin SIMM for ROM SIMMs so why not?
This works because older memory chips actually have separate Data-In and Data-Out pins. So the SIMM pins can be routed to the corresponding memory chip pins and life is good.
Apple did this because it made the Write path to memory RAM in the IIfx into a separate little culde sac of a bus. In operation, the 68030 puts a write operation on the address/data bus for the IIfx and the memory controller accepts it and
immediately signals the 68030 that it is done. Then the 68030 goes off and continues performing other operations, such as IO. Meanwhile, the memory controller has the address in internal buffers and the write data is in a set of buffer chips in the write path to the RAM. And the memory controller does all the little RAS and CAS things which are necessary to get the data into the RAM, while the rest of the computer goes about its business.
This works, even though the Data-Out pins of the RAM are directly wired to the IIfx's data bus, because during the write operation, the RAM Data-Out pins are tri-stated. So they have no effect on the IIfx's data bus. And the Data-In pins are only connected to the buffers controlled by the memory controller, so that little segment of data roadway isn't affecting anyone else in the computer.
This buffered write feature is mentioned in either "TGTTMFH" or maybe in the Cards and Drivers book.
Okay, so that's pretty straight forward. Build a SIMM with the right number of pins. Don't wire the memory chip's Data-In and Data-Out pins together the way other types of SIMMs do. Run them separately to the their respective pins on the 64 pin SIMM. Get all the address and data and RAS and CAS and WE pins connected to the memory chips and in the right place on the SIMMs.
The fly in the ointment is that one needs 16M X 1 memory chips in order to build this type of SIMM. They're not exactly thick on the ground. The only source I could come up with was to desolder them from other SIMMs. The most common source is 16 MB, 30 pin SIMMs. However, for my purposes at the time, that would have ruined the project. It would have cost $30 - $40 just for the memory chips for a set of four IIfx SIMMs. With the PCBs coming in at about $10 per four, that would have put my cost above $50 just in materials, before any labor.
The other source is 72 pin SIMMs. Unfortunately, because 72 pin SIMMs are 32 bits wide, they are not commonly made with X 1 memory chips. That would require 32 memory chips per SIMM, which is too unwieldy.
However, the 128 MB 72 pin SIMM with
parity has eight 16M X 1 memory chips on board to provide the parity. At first blush, this isn't very helpful. A single 128 MB 72 pin SIMM only has as many 16M X 1 chips as a single 30 pin 16M SIMM, and the 30 pinner is/was cheaper.
The punch line is that the 128 MB 72 pin SIMM also carries sixteen 16M X 4 memory chips. At first glance this doesn't appear to help. The X 4 memory chips do not have separate Data-In and Data-Out pins (remember how the IIfx SIMM requires those?) They have one combined In/Out pin for each bit of their four bits of data, so only four data pins per X4 memory chip.
But there's soooooo much storage there. A single 128 MB 72 pin SIMM, which could be found on Ebay in 2006 for $5 - $20 (groups of eight and sixteen pulled from servers were not uncommon) has enough raw capacity for two sets of IIfx SIMMs plus another single 16 MB IIfx SIMM.
This is why I had two different circuit board designs for the IIfx SIMMs.
The first design was a conventional pins to pins design using eight 16M X 1 memory chips per SIMM. It's very straight-forward and there's nothing special there, except maybe squeezing it on two layers. I call this the "eight-chip IIfx SIMM" because it uses eight memory chips..
Four more memory chips are on the back of each SIMM. I spaced them like that, four to a side to make hand soldering feasible.
The second design uses a pair of 16M X 4 memory chips and includes a pair of bidirectional switches and a gate with some additional wiring, to make it
look like there are separate Data-In and Data-Out pins on the memory chips. Basically, I isolated the memory chip data pins from the IIfx data bus during Write operations. I call this the "two-chip IIfx SIMM" because it only uses two memory chips.
This allowed me to use the vaster number of 16M X 4 memory chips which are available, at the cost of a couple of bus switches and a five pin gate. It also reduces the total amount of soldering per SIMM. I wasn't certain exactly how to make it work, when I designed the SIMMs so there are pads on there for a variety of configurations. If you look at the back view photo, you'll see a couple of 0 ohm resistors in amongst an array of pads and a rework wire.
If I was making new circuit boards, I'd modify the layout to do away with the resistors and wire, because now I know what works.
Anyway, that allowed me to convert the memory chips on a 128 MB 72 pin SIMM into nine 16 MB IIfx SIMMs. Which made the whole project economically feasible at the time.
Half my circuit boards were the simple design for 16M X 1 chips (eight chip design) and the other half used the 16M X 4 chips (two chip design), but the 128 MB SIMMs provided an 8 - 1 ratio of chips. So I still had a smallish problem. Somewhere along the way, I discovered that these DEC 54-24123-AA SIMMs are full of 16M X 1 chips:
http://www.ebay.com/itm/54-24123-AA-64MB-72-Pin-SIMM-/160829411246?pt=US_Memory_RAM_&hash=item25722e0fae
They were and are about twice as expensive for the capacity you get, but that let me supply my 16M X 1 chip needs at an affordable price.
The last thing to know is that there's one odd bit of behaviour in the 2-chip SIMMs built with 16M X 4 chips. If one installs four of them in the IIfx, everything is great. They work fine. If one installs eight of them in a IIfx, the machine won't boot up. But, if one installs four of each type, that works fine, and I ultimately found that if one installs six of the 2-chip SIMMs and two of the 8-chip SIMMs in a certain configuration, then it works fine.
But it's a bizarre behaviour. The only thing I can think of is that using 16M X 4 memory chips, means that each 2-chip SIMM only has two memory chips instead of eight. So the current draw on the address/control lines is a lot lower than with 16M X 1 memory chips (eight chips per SIMM). Perhaps this low current draw is causing ringing on the address or control lines? Putting in a couple of SIMMs built with eight chips gets the current draw up high enough to reduce the ringing to a working level. Any other ideas?