• 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 SE PCB & Custom Chips for 1:1 reproduction

quorten

Well-known member
Welcome @Hiro256!

You can find most of the parts on the list actually, but probably better to put everything into one FPGA.


Psst!  Fine, I digress, if you're looking for a single FPGA design, Steve Chamberlin had done that 9 years ago and dubbed it the Plus Two.  To my knowledge no one has ever been interested in picking that project up to polish it off, probably because the license/copyright terms on Steve's code portion of it were never clearly stated.

https://www.bigmessowires.com/plus-too/

EDIT: Latest update is in 2015, at least one contributor picked up on the project.  License/copyright info also appears ambiguous on that project.

https://www.bigmessowires.com/2015/10/22/plus-too-mac-replica-new-progress/

 
Last edited by a moderator:

bigmessowires

Well-known member
if you're looking for a single FPGA design, Steve Chamberlin had done that 9 years ago and dubbed it the Plus Two.  To my knowledge no one has ever been interested in picking that project up to polish it off, probably because the license/copyright terms on Steve's code portion of it were never clearly stated.


The Plus Too core is "open source". If you need a specific license, let me know. FYI the core was integrated into the MIST FPGA computer in 2015, and also received some significant bug fixes and additions from Till Harbaum, like a model of the SCSI chip. https://github.com/mist-devel/mist-board/wiki

 

maceffects

Well-known member
The Plus Too core is "open source". If you need a specific license, let me know. FYI the core was integrated into the MIST FPGA computer in 2015, and also received some significant bug fixes and additions from Till Harbaum, like a model of the SCSI chip. https://github.com/mist-devel/mist-board/wiki
I can't believe I never realized this project existed and I have an unused MiSTr FPGA computer that I was gifted.  I'll have have to look into this more.  Very cool project.  Of course, @Kai Robinson SE reproduction is also very cool!  I'm so very glad to see so many great people do so many amazing projects.  MacEffects approves : :) :cool:

 

quorten

Well-known member
Great to see you back around here @bigmessowires.  It would be a good idea to pick a particular permissive license or public domain dedication for the parts of Plus Two that you authored.  I personally would have more openly shared info about the project if the license was more clearly stated.

 

Phazmatis

Member
I know this is about reproducing the board itself, but I thought it might be useful to have a schematic version of the SE board. Well... I didn't get that far, but I did label many IC pins in Kai's (latest?) board image:

annotated_se_board_001.png (5434×5434)

This really helped me understand how the 68k, TPI, GLU, and BBU are all connected together.

My eventual plan is to create a "Mac SE" board using more commonly available components. For instance, the TPI could be recreated with two VIAs. And the RAM SIMMs could be replaced with a bunch of socketed RAM DIP chips (like the Commodore 64 used). Just a weird hack idea, pretty pointless. (since I'd still need the BBU and GLU from a real Mac SE)

 

Kai Robinson

Well-known member
What is the TPI, I explained, was an error - it really is just a 6522 VIA - the pinouts didn't make sense if it was a 6523 TPI. Also it would be uncharacteristic for apple to suddenly use that once, then go back to the 6522 for everything else. 

Read back a few pages - we've all but reverse engineered the Glu, @quortenis working on the BBU and I've just begun manufacturing SIMMs... 

 
Hi! I am hoping I might be able to help some in your reverse engineering/ re-implementation projects as well as get some help. I'm an FPGA designer with about 30 years of ASIC and FPGA experience. I've released my open source GPU: https://github.com/asicguy/gplgpu. I'm happy to provide my skills if you need any help re-implementing retro stuff in FPGAs.

Currently, I'm working with @maceffects on re-implementing the xceed board for the SE/30. I've got a design complete that we'll manufacture at some point in the near future and it will be open source. I also do a lot of work on the MiSTer project and a thought came to see if it would be possible to implement the SE/30 in MiSTer to "virtually" test my xceed design. That's where I hit a brick wall as only a MACplus has been implemented. I see that @Kai Robinson has dumped the GLU. As I'm a bit of a newb as far as MACs go, is that the same design used in the SE/30 or is that a different chip? Are there other custom chips I need to concern myself with? I'm sorry if these questions are basic or I missed the answers in the thread.

 

Kai Robinson

Well-known member
@asicsolutionsIt's a separate chip than anything else - it's the only PAL left on the logic board - the rest were consolidated into the BBU - a single 84-pin PLCC. The GLU chip on the SE only does a few things, i sent it off to Porchy @ Jammaarcade for reverse engineering after my first attempt in an EPROM programmer (using the 27C020 dump method), and i posted the .jed earlier on. The BBU will be the one to reverse engineer and @quorten was on his way - but all the help we can get at this point! I'd recommend probably a CPLD rather than FPGA though. 

I think the ADB chip is the only irritance at this point - its a PIC16CR54, and it seems impossible to read out the contents of the ROM. Microchip has a PDF on how to use the 16x54 with ADB though, so might be possible to implement from scratch. 

How much info would you need? Happy to furnish you with a full PCB layout in Sprint - so you can see what connects to what - same goes for anyone else at this point - i'm starting to hit a wall, need more beta testers with complete boards :D

 

 

cheesestraws

Well-known member
need more beta testers with complete boards


I have been really remiss on posting updates on this but I have been making slow progress as my brain will let me... in theory I should be getting the last components I need from RS tonight, if I haven't forgotten anything!

 
@Kai RobinsonI lump CPLD and FPGA kind of together as their is much overlap in parts. I tend to like Xilinx as they are my daily driver at work, but certainly, whatever does the job.

Schematics would be helpful. I have a 16550a logic analyzer I could hook up to the BBU if I could find a good way to do it. Perhaps making an interposer board with some mictor connectors that I could interface too. I used to do a lot of capture when debugging my graphics FPGA on the PCI bus. it might be a bit of a slog, but maybe I could reverse engineer it this way. I have a MAC SE/30 already. Hopefully my old logic analyzer still works :)

 

Kai Robinson

Well-known member
@Kai RobinsonI lump CPLD and FPGA kind of together as their is much overlap in parts. I tend to like Xilinx as they are my daily driver at work, but certainly, whatever does the job.

Schematics would be helpful. I have a 16550a logic analyzer I could hook up to the BBU if I could find a good way to do it. Perhaps making an interposer board with some mictor connectors that I could interface too. I used to do a lot of capture when debugging my graphics FPGA on the PCI bus. it might be a bit of a slog, but maybe I could reverse engineer it this way. I have a MAC SE/30 already. Hopefully my old logic analyzer still works :)
Then you'll be wanting one of these! I designed a universal Through-Hole PLCC84 breakout - remove the original PLCC socket from the board, solder this board in place with standoff pins, then solder new socket to this board and voila - all pins accessible easily with a Logic Analyzer. Attached Gerbers if you want to get a set made. For the Mac SE, the schematics aren't really available, there's only a single page available and it's grainy as hell. I'll post the Sprint Layout in a minute - you can download a trial version that should allow you to use it for 30 days, but i recommend buying it - it's excellent software for the $49 it costs. 

Might be worth looking at the ATF15xx series CPLD's as they're native 5v parts and don't need level shifters added. A 1508 would probably be big enough for the BBU. 

plcc84breakout.png

View attachment gerbers.zip

 
Last edited by a moderator:
I'll need to find someone good at soldering :)  I can't solder to save my life, but that looks like it would let me monitor what is going on, thanks.

 

Scott Squires

Well-known member
I think the ADB chip is the only irritance at this point - its a PIC16CR54, and it seems impossible to read out the contents of the ROM.


It may be possible to bypass the code protection using glitching techniques for fault injection. But unless there's a documented method for this series of chips or someone experienced with glitching, it might just be easier to re-implement. I have code for at least one Apple ADB controller, but it's a much later version.

For the Mac SE, the schematics aren't really available


I find it surprising that your first step wasn't to create schematics. Doing layout directly just sounds like too much effort to me. But you get to do your project your way! [:D]

 

maceffects

Well-known member
Oh, for the record the BBU applies to the SE not the SE/30.  Hopefully, it will still be of some use.

I’d love for the ADB to be known as well one day. I plan on eventually doing a replica AEK with ADB/WiFi. 

 
Last edited by a moderator:
Top