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

Reverse Engineering the Macintosh Plus PCB

max1zzz

Well-known member
Did some more testing last night and can confirm the keyboard works and SCSI works, the mouse is not working correctly but I found another semi shorted filter network so I'm pretty sure that is the cause of the problem, serial is yet to be tested because I know that has a shorted filter network on it too (seems there is a is a pattern emerging here.... :) )

I also tested physical fitment in a chassis:
IMG_1592.jpg
The board fits in snugly, but perhaps a little too snugly, i'll probably shave a faction of a mm off each side to make a little easier to get in
IMG_1591.jpg
Alignment of the rear ports is pretty much bang on, the serials are perhaps a tad too far to the left although they look worse on this picture than they are. The floppy port is also sticking out a fraction more than the SCSI and mouse ports so I'll have to even those out.

IMG_1593.jpg
The keyboard port is a bit too far to the right, at least it is in this chassis, when I moved over it into my 512K chassis (as my plus's analogue board died a couple of weeks ago so i'm using the 512k for testing) it was off a similar distance, but to the left! Not sure what's going on there. Either way the cable still fits in fine with the board in either chassis.

Overall i'm very happy with the way the board has come out, The board fits in the chassis fine (although there are some minor optimizations to be made) and I didn't have any major errors in the layout

Speaking or errors, these are the issues I found in the V1.0 layout
- A5 and A9 where shorted together under RP2
- S5 was not connected to pin 2 of U2F due to a missing trace
- VA11 was not connected to pin 12 of U3F due to a missing trace
- VA5 was not connected to pin 13 of U3G due to a missing trace
- RDQ15 was not connected to pin 14 of U10 F due to a missing trace
- RXD0 was not connected to pin 17 of U4C due to a missing trace

Not too bad bearing in mind I have never done anything like this before :) All errors have been corrected for a upcoming V1.1

None of these errors where causing the checkerboard issue though, that was due to the pullup resistor in RP2 for A3 being shorted and pulling A3 hard up to 5V. So that makes at least 4 of the 5 resistor packs and filter networks bad, all with shorting issues, this is not something I have ever seen resistor do before! I have only ever seen them go up in resistance.... I can only assume this was due to the use of excessive heat when removing them form the donor board as I know the board was working fine before I stripped it (I use the method shown in Adrain Black's videos when you suck out as much of the solder as possible then use hot air and gently lift the chip out, this seems to work well for IC's but clearly the resistor packs are less resistant to heat!)

Final testing will be preformed this weekend
 

max1zzz

Well-known member
Aren't these 'filters' = there are capacitors inside as well? I'm sure I was reading about these somewhere - but can't put my finger on it atm...
Yes they are, the ones used in the macs are 2x25R resistors in series with a 200pico cap to ground from the midpoint.
I was initially thinking it was the caps that where shorting, but as I am seeing dead shorts between some pins it has to be the resistors that are shorting. (Also I have a shorted element in RP2 which is just a 2k2 bussed pack so there are no caps in that one to short)

I have designed a little PCB to replace the filters as although you can buy them new they are £5+ each whereas I can probably buy full 5k reels the required caps and resistors in 0402 packages for about that! and PCB's will only be a few £ from JLC
 

max1zzz

Well-known member
Just finished a provisional version of the ROM-inated plus board:
Mod 07-08-21.PNG

For the amount of work to took to make those alterations it doesn't look that much different....

The board still needs some fine tuning to make it pass DRC but that shouldn't take too long :)

Also (pending some in chassis measurements to ensure everything will fit) I plan to add a internal SCSI header and produce a little scuznet module to fit on it, this along with replacing the model serial port with a RJ45 port with a header to connect to said module will give the plus "built in" Ethernet :)

(And yes, that track under the IWM that is going nowhere has since been connected to where it should be....)
 

davidg5678

Well-known member
Is the ROM-Inator just comprised of those two SMD chips in the very center of the logic board?

Great work on this project! I can't wait to see the prototype PCBs. :)
 

Bolle

Well-known member
SST39SF040's

Make sure you have a jumper for those to pull /WE high, otherwise they won’t work.
On the AM29F0x0 /WE will default to high on its own when it’s floating but it won’t on the SST chips.
 

max1zzz

Well-known member
/WE is connected to RW in this design to allow updating in place from within the OS

I have to confess to be a little ignorant to the exact details of how the mod mod works, but is is a copy the adapter made by @bigmessowires and @bbraun which is known to work with the SST39SF040
 

Bolle

Well-known member
Right, forgot about that.
I stumbled across this on a few of my other clones that used AMD chips originally and had /WE floating resulting in non-working cards due to the flash not getting accessed.

On the SE/30 board I’ll have a jumper as well that will let you chose to connect the ROM’s write enable to R/W in order to be able to program it from within the OS if someone figures out the software side of things.
 

bigmessowires

Well-known member
I'm logging in for the first time in a year, just to say that this is cool!

The old ROM-inator kit was basically just a pair of parallel Flash ROMs, large enough to hold the original ROM data and with the extra space used as a ROM disk. The ROM data image was slightly modified to support the ROM disk plus a few other goodies.

There's a "Flash Tool" software program on my web site to support in-system reprogramming of the ROM disk. The CPU's R/W is connected to the Flash ROM chips, but it would be very difficult to accidentally overwrite the data, since the chips require a special unlock sequence to be written before any data can be modified. So I don't think a jumper should be necessary.
 

max1zzz

Well-known member
I'm logging in for the first time in a year, just to say that this is cool!
Indeed, it's just fab!
Thanks :)

Hopefully this should be finished soon since the LC reproduction came up way easier than I was expecting! (Well, that's if I don't get distracted with the LC III, I was looking at that board yesterday and I don't immediately see and evidence of that board being a 6 layer one..... But I need to give that board a much more through inspection before I reach for the hot air gun! )
 
Top