Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Tool suggestions, soldering tips, general useful electronics knowhow.
Kai Robinson
Posts: 43
Joined: Wed Mar 13, 2019 12:01 am
Location: East Sussex

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Kai Robinson »

And then i was done.
DSC_0008.JPG
DSC_0008.JPG (318.86 KiB) Viewed 4513 times
Looks good, doesn't it? Shame it didn't bloody work and not just due to missing grounds, as i would discover to my horror later on...

So, while i put the board back down and began to ponder, i decided to have a crack at the GLU chip, which as the name implies, handles a few basic glue logic functions like selecting the floppy drive and buffering the clocks. It's a HAL16L8 part that should be easily replicated. However, i pulled the data out using the following schematic:
pal-to-27c020.png
pal-to-27c020.png (41.53 KiB) Viewed 4513 times
which, when read as a 27C020, netted me a .bin file, and using a PAL Analyzer, got something that mostly made sense, but with a whacked out /OE that was 9MB long. WinCUPL crapped its pants at almost every point, and seems to be so buggy it doesn't like being used on windows 10...

Code: Select all

Name     HAL16L8;
PartNo   ;
Date     2020-07-13;
Revision 0.1a;
Designer Kai Robinson;
Company  ;
Assembly ;
Location United Kingdom;
Device   g16v8a;

/* Dedicated input pins */

pin 1   = I0; /* NC*/
pin 2   = PB6; /* PB6 */
pin 3   = IRQ; /* IRQ */
pin 4   = WRDATA; /* WRDATA */
pin 5   = ENBL1; /* /ENBL1 */
pin 6   = PA4; /* PA4 */
pin 7   = CLK; /* CLK INPUT*/
pin 8   = PA3; /* PA3 */
pin 9   = RTxCB; /* /RTxCB */
pin 11  = OE; /* OE */

/* Programmable output pins */

pin 12  = RTxCA; /* Combinatorial output */
pin 13  = OutA; /* Fixed high output w/ output enable */
pin 14  = IPL0; /* Combinatorial output w/ output enable */
pin 15  = ENABLE_L; /* Combinatorial output */
pin 16  = ENABLE_U; /* Combinatorial output */
pin 17  = FLOPPY_WR; /* Combinatorial output */
pin 18  = B6; /* Fixed high output w/ output enable */
pin 19  = FCLK; /* Combinatorial output w/ output enable - FCLK on BBU Pin 44 */

/* Output equations */

!FCLK = CLK & !OE;
 B6 = 'b'1;
!FLOPPY_WR = WRDATA;
!ENABLE_U = !ENBL1 & !PA4;
!ENABLE_L = !ENBL1 &  PA4;
!IPL0 = !PB6 &  IRQ;
 OutA = 'b'1;
!RTxCA = !PA3 & !RTxCB & !OutA 
    #  PA3 & !RTxCB & !OutA 
    # !PA3 &  RTxCB & !OutA 
    #  PA3 & !RTxCB &  OutA;
Kai Robinson
Posts: 43
Joined: Wed Mar 13, 2019 12:01 am
Location: East Sussex

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Kai Robinson »

Upon further signal inspection the i determined that the Apple/Rockwell part labelled 338-6523 is NOT likely to be a 6523 TPI as I had originally thought - the pins match up to the 6522 config instead. So this is a lot of obfuscation on Apple's part but would make the most sense since the 6522 is used in everything else, and there's nothing being used on what should be Port C, IRQ is connected to the other IRQ pins, R/W connected to R/W etc. At least that means one less custom chip to use - you can indeed use a brand new WDC 65C22N instead.

While all this thinking had been taking place, many bodge wires were initiated...and then i discovered that the whole rear I/O power plane was shorting out. I know why now, but at the time i thought i'd at least disconnect the rear I/O to see if there was any signs of life, a beep a checkerboard, anything. So, i pulled the SE chassis out of the shed (excuse the dirt on it) and pressed the power button on the open chassis....with a large oven glove...i still get scared of turning these things on without a shell!
DSC_0022.JPG
DSC_0022.JPG (120.36 KiB) Viewed 4509 times
IT'S ALIIIIIVE!!! KINDA...

Checkerboard means the BBU is powered up correctly, and the ROM's are working, but without a working CPU, or the ACT257's, that was about as good as it'd get. Still, the fact that it got that far, was encouraging as hell, so i set to work on the board revisions i have now...
Kai Robinson
Posts: 43
Joined: Wed Mar 13, 2019 12:01 am
Location: East Sussex

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Kai Robinson »

Around about this time, i decided to make a quick video on the old 'tube, just to explain in laymans terms:



I then ordered another set of what i thought were 'fixed' boards. Ooops...

Still, when they arrived....OOOOF!!! :shock: :excited:
DSC_0162.JPG
DSC_0162.JPG (353.43 KiB) Viewed 4505 times
DSC_0163.JPG
DSC_0163.JPG (288.98 KiB) Viewed 4505 times
DSC_0167.JPG
DSC_0167.JPG (237.8 KiB) Viewed 4505 times
DSC_0169.JPG
DSC_0169.JPG (224.11 KiB) Viewed 4505 times
I gotta admit - i was blown away. These look AMAZING in blue! Especially with the fixed silkscreen...and yes, that is a Mad Max reference, but one i thought apt, given the history of the project!

BTW - if anyone wants to get themselves a copy of sprint for their own projects, this is where i bought my copy from: https://www.electronic-software-shop.co ... anguage=en
Kai Robinson
Posts: 43
Joined: Wed Mar 13, 2019 12:01 am
Location: East Sussex

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Kai Robinson »

So with them looking that good, i threw myself into it, and after 14 hours, this was the end result:
DSC_0173.JPG
DSC_0173.JPG (313.21 KiB) Viewed 4501 times
DSC_0174.JPG
DSC_0174.JPG (336.63 KiB) Viewed 4501 times
Yes, my eyes went funny, and my fingers hurt and were calloused by the end of the day. I don't think i'd slept that night, thinking about it like a kid at christmas :lol:

Damn, those brand new SIMM sockets from peconnectors.com look amazing....

....and then i discovered this batch of boards was dead, too.I was so annoyed. The inner copper layers of the rear I/O were bridged. I've checked the files i sent to the board house and there's nothing there that can cause it....or so i thought.

+5v and GND were bridged somewhere. Even with no components, it was bridged.

So i went over the board at serious magnification - DRC checks, test pads show no components bridging - i was certain it was a manufacturing issue. Nothing looked like it was connecting anything incorrectly. If it were a component, that'd be understandable, but this is a board level defect with the internal layers. If you cut the bridge connecting the ground planes, the rest of the board has no issues, it's just the rear I/O.

So i re-did the cutout areas, just in case, and made them intersect stuff. I relocated some of the filters by 39.6875uM just to make them clear the 'split' just right. Afterwards, i sent the Gerbers to Bolle and Techknight from the 68k MLA forum and Techknight got back to me within minutes:
I found your problem. Soon as I turned on the board outline, I saw it. You dont have the proper stops for your shielding holes.
Bugger! Well, that's what happens in sprint when you need to create custom sized holes...! I had forgotten to exclude those cutouts from the internal layers, so they were bridging the two inner layers. And the I/O port pads had done the same thing. So out came the exclusion zone tool. For the rear I/O port pads, i added the exclusion zone, but also joined the pads via a track which connected to a single 0.8mm VIA, which connects to the ground plane.

Then the 1.4c revision went into production. Which arrived today.

Despite being in the middle of a meeting at work, i had left my video loop of me looking interested on, muted the mic, and busted out the multimeter. NO MORE SHORTED REAR I/O POWER PLANES!!!!

So, i'm now at the stage where i get to spend what i can presume to be another 14 hours assembling a board, and keeping every appendage crossed, with the exception of the obvious!

And if anyone wants to join the project, to try and reverse engineer the GLU/BBU or ADB chips, please, by all means raise a hand!

This concludes our presentation for now, any questions?
troed
Moderator
Moderator
Posts: 908
Joined: Mon Aug 21, 2017 10:27 pm

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by troed »

Amazing read - thanks for posting! Hope the new version boots cleanly :)

/Troed
Kai Robinson
Posts: 43
Joined: Wed Mar 13, 2019 12:01 am
Location: East Sussex

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Kai Robinson »

troed wrote: Tue Sep 15, 2020 10:22 pm Amazing read - thanks for posting! Hope the new version boots cleanly :)

/Troed
So do i! I have to work all week, but on Friday instead of the usual game time with co-workers, i might knock off early and get busy with the resistor packs :D
Atarian Computing
Posts: 444
Joined: Tue Aug 22, 2017 4:27 am

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Atarian Computing »

Wow! This is fantastic!
dalek
Posts: 224
Joined: Thu Nov 08, 2018 11:03 am
Location: NSW Australia

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by dalek »

You did it the hard way - you could have just told "Bound" you weren't going to sell him one :lol:

Anyway, respect for the amount of work you have put in to this - it must have been so frustrating along the way!
User avatar
DrF
Posts: 640
Joined: Thu Aug 17, 2017 1:18 pm

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by DrF »

dalek wrote: Wed Sep 16, 2020 8:03 am You did it the hard way - you could have just told "Bound" you weren't going to sell him one :lol:
I was thinking the same thing :lol: that guys rep is truly ruined :lol:

The skill for these things is off the chart, digging the blue PCBs :D
User avatar
Icky
Site Admin
Site Admin
Posts: 3986
Joined: Sun Sep 03, 2017 10:57 am
Location: UK

Re: Reverse Engineering the Macintosh SE PCB & Custom Chips for 1:1 reproduction

Post by Icky »

Nice work :thumbup: and great write up.
Post Reply

Return to “ELECTRONICS”