Okay, it looks like I may have a little bit of time to work on this this summer. The boy is away at sleep-away camp for a couple more weeks. So there's no baseball, etc. Of course, there's still home-ownership, the fish/aquariums, etc.
I'd like your thoughts on my next steps.
Anyway, here's the summary:
Goal: Create a usable ROM module for the PowerExpress machines floating around out in the wild. One of our list members first approached me about this back around Feb. of 2009.
Background: A large number of Mac models use what is essentially the same ROM DIMM module (printed circuit board), from the NuBus PowerMacs through the Beige G3. There are some minor variations. As far as we could tell, the PEx ROM module is identical (form and pinout, not ROM contents, obviously) to the X500/X600 family ROM module.
I have, in the past, built a 9600 Kansas ROM module and installed it in a 9500 and other machines, and seen that it changes the machine type/behaviour.
So, building a working PEx ROM is very analogous to building a working 9500/9600 ROM, except that the stored code on the Flash/ROM chips is different.
I do not own a PEx. I own some 9500 and 9600 logic boards. I had two unused ROM DIMM circuit boards left over from an earlier project. I have several other assembled ROM DIMMs on hand, including a few 9600 ROM DIMMs. I have the code for the 9600 ROM backed-up from the ROM chips of one of my 9600 logic boards, stored on the computer that runs my chip programmer.
1st Approach: Being unsure of the PEx ROM contents and our ability to get them, we decided to create a ROM module (circuit board) with Flash chip sockets on board. We chose 44 pin PSOP Flash chips and sockets because I already had some of the required printed circuit boards on hand, left-over from an older project.
If we had been starting from scratch, we probably would have used the easier-to-work-with 32 pin PLCC, but that would have required creating a whole new circuit board, and would have been hundreds of dollars expensive (four layer board).
James found some 44-pin PSOP sockets and supplied those. I put them on the module circuit board. In order to test them I programmed a set of 44 pin PSOP Flash chips with the PM9600 ROM code and installed the chips in the sockets. Then I tested it in a PM9600.
The module did not work.
I built a second module with sockets.
The second module did not work.
I tried various tests, and double and triple checked the continuity between the sockets and the circuit boards, etc. Nothing I tried would make either socketed board work.
It looks like this failure was complete around Feb. 2010.
2nd Approach: Just build a module with soldered down ROMs. This should work. The 9600 modules with soldered chips work fine. However, if the code on the chips is wrong, it will require difficult soldering to change it.
The only method we came up with to obtain the PEx ROM code was to get a PEx ROM module from a computer museum and install it in James' PEx and then use CopyROM to extract the code.
However, when I use CopyROM to extract the code from my PM 9600, it does not match the code that I read directly off the ROM chips! This implies that a module built with soldered chips programmed with the CopyROM extracted code from the PEx won't work.
And this problem has been bothering me ever since.
Note: The ROM image extracted by CopyROM from a IIci does match the code read directly from the ROM chips pulled off of a IIci logic board.
Latest Plan So, I've been pondering this off and on for the last couple of years. I could just:
1) Program the CopyROM PEx data to chips, solder them down, and hope for the best. It might be a worthwhile test, any way.
But, I think the chance for success is not great.
Here's what I think is a good approach:
2) a) Build a 9600 ROM module using CopyROM extracted code and see if it works. If it works, great, do the same for the PEx and ship it out for testing.
B) If the CopyROM extracted 9600 code does not work, post the CopyROM extracted code, and the code copied directly from 9600 ROM chips, and ask the 68kmla community to figure out how one turns into the other. It could be something as simple as a Big Endian vs. Little Endian issue or some such.
c) Use what is figured out from ( B) to convert the CopyROM PEx code into usable code
d) Solder chips with the usable code onto ROM modules.
e) At this point all my modules are populated and will need to be desoldered before they can be reused. Use a module for (d) which has already been shown to work as a 9600 module. That way we know the circuit board isn't defective -- low probability, but still possible. This (e) really belongs between © and (d).
Does that sound like a logical approach?
I'd like your thoughts on my next steps.
Anyway, here's the summary:
Goal: Create a usable ROM module for the PowerExpress machines floating around out in the wild. One of our list members first approached me about this back around Feb. of 2009.
Background: A large number of Mac models use what is essentially the same ROM DIMM module (printed circuit board), from the NuBus PowerMacs through the Beige G3. There are some minor variations. As far as we could tell, the PEx ROM module is identical (form and pinout, not ROM contents, obviously) to the X500/X600 family ROM module.
I have, in the past, built a 9600 Kansas ROM module and installed it in a 9500 and other machines, and seen that it changes the machine type/behaviour.
So, building a working PEx ROM is very analogous to building a working 9500/9600 ROM, except that the stored code on the Flash/ROM chips is different.
I do not own a PEx. I own some 9500 and 9600 logic boards. I had two unused ROM DIMM circuit boards left over from an earlier project. I have several other assembled ROM DIMMs on hand, including a few 9600 ROM DIMMs. I have the code for the 9600 ROM backed-up from the ROM chips of one of my 9600 logic boards, stored on the computer that runs my chip programmer.
1st Approach: Being unsure of the PEx ROM contents and our ability to get them, we decided to create a ROM module (circuit board) with Flash chip sockets on board. We chose 44 pin PSOP Flash chips and sockets because I already had some of the required printed circuit boards on hand, left-over from an older project.
If we had been starting from scratch, we probably would have used the easier-to-work-with 32 pin PLCC, but that would have required creating a whole new circuit board, and would have been hundreds of dollars expensive (four layer board).
James found some 44-pin PSOP sockets and supplied those. I put them on the module circuit board. In order to test them I programmed a set of 44 pin PSOP Flash chips with the PM9600 ROM code and installed the chips in the sockets. Then I tested it in a PM9600.
The module did not work.
I built a second module with sockets.
The second module did not work.
I tried various tests, and double and triple checked the continuity between the sockets and the circuit boards, etc. Nothing I tried would make either socketed board work.
It looks like this failure was complete around Feb. 2010.
2nd Approach: Just build a module with soldered down ROMs. This should work. The 9600 modules with soldered chips work fine. However, if the code on the chips is wrong, it will require difficult soldering to change it.
The only method we came up with to obtain the PEx ROM code was to get a PEx ROM module from a computer museum and install it in James' PEx and then use CopyROM to extract the code.
However, when I use CopyROM to extract the code from my PM 9600, it does not match the code that I read directly off the ROM chips! This implies that a module built with soldered chips programmed with the CopyROM extracted code from the PEx won't work.
And this problem has been bothering me ever since.
Note: The ROM image extracted by CopyROM from a IIci does match the code read directly from the ROM chips pulled off of a IIci logic board.
Latest Plan So, I've been pondering this off and on for the last couple of years. I could just:
1) Program the CopyROM PEx data to chips, solder them down, and hope for the best. It might be a worthwhile test, any way.
But, I think the chance for success is not great.
Here's what I think is a good approach:
2) a) Build a 9600 ROM module using CopyROM extracted code and see if it works. If it works, great, do the same for the PEx and ship it out for testing.
B) If the CopyROM extracted 9600 code does not work, post the CopyROM extracted code, and the code copied directly from 9600 ROM chips, and ask the 68kmla community to figure out how one turns into the other. It could be something as simple as a Big Endian vs. Little Endian issue or some such.
c) Use what is figured out from ( B) to convert the CopyROM PEx code into usable code
d) Solder chips with the usable code onto ROM modules.
e) At this point all my modules are populated and will need to be desoldered before they can be reused. Use a module for (d) which has already been shown to work as a 9600 module. That way we know the circuit board isn't defective -- low probability, but still possible. This (e) really belongs between © and (d).
Does that sound like a logical approach?
