Reverse Engineering the Macintosh LC III Logicboard

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
This is a ongoing project to create 1:1 replica's of the Macintosh LC III Logicboard

Most of the hard work has hopefully been done on this one, a V1.0 PCB has been drawn up and sent off for manufacture:
14-9-21.JPG


I'm currently awaiting the boards from china, should be here by mid next week
More updates to come once I actually have the PCB's!
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
Boards are here, and in JLCPCB's new and rather fetching purple!
IMG_1679.jpg



Soldering the PLCC's and SOJ's:
IMG_1681.jpg



I did start trying to solder them by hand, but quickly remembered why I hate soldering PLCC's by hand and quickly went back to using a stencil and solder paste. It's just so much easier!

And with the CPU and VLSI soldered:
IMG_1682.jpg


That VLSI chip is NOT fun to solder! is a 208 pin QFP with fine enough pitch that it's difficult to drag solder. Lots of flux and careful wicking was required.

The more observant of you may notice something is not quite right with one of the chips, I need to fix that before I forget about it :)
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
A progress update: The board has now been populated enough for testing, and after finding and removing a short between /BERR and /HALT on the CPU the board now produces a slightly garbled chimes of death when powered on. This is good as if the board is working enough to produce a chime it must be mostly working!

Just have to track down what's causing that chimes of death now....
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
Annnd, We have floppy(icon)! :)
IMG_1687.jpg

All the grief was caused by this:
02-10-21.JPG

That was causing a short between RA1 and RA2. Annoyingly because of the way sprint works this dose not show up as a error when you run DRC.....

Audio still dosen't sound correct and is very quiet so it looks like there is a issue in the audio amp circuit, but at least it powers on and displays now!

And a interesting tidbit about the LC III's architecture, It appears the system can instruct the clock chip to disable outputs. While troubleshooting I found there was no clock on the video DAC, a bit more poking revealed one of the clock outputs on the chip was missing, this lead me down a blind ally for a while thinking there was a issue in the clock circuit but it turns out the clock was there for about half a second, but was just being turned off as soon as the system crashed. This seems like a overly complex way to disable he video DAC but I guess it works!
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
Did a little bit more testing today, got the board to 7.1 from a scsi drive (after doing a little bit of shuffling around to get the correct system enabler on the HDD) :)

I also tried swapping the main oscillator crystal from a more commonly available 32Mhz crystal (The original being 31.3344Mhz) and the system seems to work just fine. I expect this results in a slight overclock of the system but I wouldn't expect any stability issues with this small of a clock difference (TattleTech reports a CPU clock of 24.96Mhz with both crystals but I suspect it isn't actually measuring the CPU clock.)
 

Mr. Fahrenheit

Tinkerer
Founder
Sep 2, 2021
141
230
43
You can easily overclock an LC3 to an LC3+ (33mhz) by changing around a few resistors. How exactly does that set the timing without the use of an oscillator to do it ? I've often been curious of the LC3 and LC4 overclock methods.
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
The little PLCC chip (U22) next to the crystal is a custom clock chip that multiplys the output of the crystal up the 50Mhz (which is then devided by 2 by the VLSI to get the 25MHZ CPU clock). The placement of the resistor signals to the clock chip and VLSI what speed the system should be running at, I am not sure if this changes the multiplication stage in the clock chip, or the division stage in the VLSI (or both)
 

Mr. Fahrenheit

Tinkerer
Founder
Sep 2, 2021
141
230
43
The little PLCC chip (U22) next to the crystal is a custom clock chip that multiplys the output of the crystal up the 50Mhz (which is then devided by 2 by the VLSI to get the 25MHZ CPU clock). The placement of the resistor signals to the clock chip and VLSI what speed the system should be running at, I am not sure if this changes the multiplication stage in the clock chip, or the division stage in the VLSI (or both)

I know certain things are affected on an LC 475 when overclocked above 33mhz. At 40Mhz apparently serial ports stop working, etc. It would be interesting to figure out exactly how this works, and be able to overclock without interfering with other operations of the machine. I guess the 475 OCs in the same way. I've never seen an oscillator on the 475 board, though. I thought the 475 generated a cycle in a different way.
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
I know certain things are affected on an LC 475 when overclocked above 33mhz. At 40Mhz apparently serial ports stop working, etc. It would be interesting to figure out exactly how this works, and be able to overclock without interfering with other operations of the machine. I guess the 475 OCs in the same way. I've never seen an oscillator on the 475 board, though. I thought the 475 generated a cycle in a different way.
That doesn't surprise me, one of the things the clock chip on the LC III (and presumably the 475 is the same) dose is generate a 31.3344mhz clock for the serial, given this is the same speed as the oscillator it's safe to assume this is just being passed straight through the clock chip. I guess it would be possible to replace the clock chip with something custom that that generates different clocks for each system component but this would probably introduce timing issues

The 475 uses a oscillator rather than a crystal, it's the black 4 pin device above the VRAM slots

I'm going to do a bit more probeing of the clock circuit tonight, since I finally decided to get myself a proper oscilloscope
I can at least finally confirm that the crystal on the LCIII is defiantly 31.3344mhz:

IMG_1696.jpg
 

Mr. Fahrenheit

Tinkerer
Founder
Sep 2, 2021
141
230
43
Would it be possible to recreate these LC boards with dual SIMM sockets as opposed to soldered on RAM and a SIMM socket for expansion? I wonder if it would then more easily support something like 2x 32mb for 64MB on-board instead of 4+128. 32MB SIMMs are less expensive than 128MB one are, and 64MB would be quite sufficient on most applications you'd want to run on an LC3/475.
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
Would it be possible to recreate these LC boards with dual SIMM sockets as opposed to soldered on RAM and a SIMM socket for expansion? I wonder if it would then more easily support something like 2x 32mb for 64MB on-board instead of 4+128. 32MB SIMMs are less expensive than 128MB one are, and 64MB would be quite sufficient on most applications you'd want to run on an LC3/475.
In theory it would be possible, however would take require a significant amount of modification to the board to fit it in as there isn't enough space to fit a second slot above the first (the SCSI lines comeing from the 85C30 get in the way) I would be more inclined to remove the RAM slots entirely and just solder 64 or 128mb direct the the board (RAM IC's are pretty cheap NOS form china)

Also I have been doing some testing today:
IMG_1701.jpg

All good so far, only have ext scsi, Serial and sound in left to test. Also not what the best way to check the VRAM simm is working, the mac certainly isn't complaining about it but tattletech doesn't seem to be able to detect how much VRAM is installed...

On a side note, dose anyone know of anywhere that has a stock of the 114pin din41612 connectors used for the 32bit PDS connector? I damaged the one off the doner board (and two of my other doner boards are badly battery bombed so will need new PDS slots) it's not the end of the world as 32bit PDS cards are rare but it would be nice to have a stock of them!
 
  • Like
Reactions: landogriffin

Mr. Fahrenheit

Tinkerer
Founder
Sep 2, 2021
141
230
43
That’s awesome!! Newer Tech made a RAM testing program that can run continuously and even quit the finder to test the most amount of RAM. The software was on one the archives I dow loaded once. RAM O Meter I think it was.
You can also use Apples Mactest software to test the ram extensively.
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
It's been a while since I last posted about this but work has been ongoing, testing of the board revealed one serial port did not work, this was tracked down to a missing trace coming out of one of the 26LS30's, patching this fixed the issue

A V1.1 board has been produced with fixes for all the issues found in the V1.0 and is currently being assembled:
IMG_1772.jpg


Heres hoping I actually remembered to fix all the issues this time! :)
 

FortyTwo

New Tinkerer
Nov 24, 2021
7
4
3
Indianapolis, IN
It's very exciting to see these reverse engineering projects taking shape. You're doing great work and I can't wait to see what's next! Btw, I love the purple digital board.
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
The board layout, Gerbers, Copper layout and board scans are now available!


As with the LCI board this is provided under a non-commercial license however if you provide repair services and want to provide these boards (Or want to use them for any other commercial purpose) please contact me
 

max1zzz

Moderator
Staff member
Sep 23, 2021
233
568
93
27
A quick note for anyone who might have had one of these boards made:
I have discovered a error in the layout which stops accelerator cards form working in these boards (And possibly PDS cards that try to do DMA), there is a resistor on /BR of the onboard CPU that should be a pull down but is actually connected to 5V, this error prevents a accelerator card form being able to request the bus from the onboard CPU and makes the machine crash immediately

This dose not affect the machine normally and will not cause issues with many PDS cards. The issue can be easily fixed by desoldering the end of R60 closest to the PDS connector, turning it 90degerees and adding a jumper wire from the resistor to ground
 
  • Like
Reactions: demik