* TinkerDifferent *
Retro Computing Community
Home | Forums | What's New | Search | Settings
Recreating the Mac's CUDA / EGRET microcontroller chips - can it be done?

Forums > The Lab > Hardware

Mac84
Administrator
New Jersey, USA
--------
Joined: Sep 4, 2021
Posts: 306
Likes: 431
Aug 14, 2023 - #1
Hello all,

As someone who repairs a lot of systems, the CUDA / EGRET microcontroller chip is one of those pieces that is getting harder and harder to replace. It would be amazing if these chips could be replaced by a modern solution so we can save more 68k / PowerPC Macs!

I was doing some digging the other day and only discovered that there has been some talk of this, but seemingly no solution. I know we have some smart cookies here... so maybe this is something this community can tackle? I know it probably won't be easy, but it would be amazing.

Here are some resources I've stumbled upon:
* A thread about the Motorola HC6805 hacking
* A tool used to dump the Egret chip (by running it on a Mac)
* A collection of ROMs, including some CUDA / EGRET files
* CUDA documentation
* Linux drivers for the Mac, including CUDA.

Definition of the CUDA chip:
A microcontroller chip that serves as the managing circuitry for the Apple Desktop Bus and the real-time clock. It oversees the power on and off of the system. It maintains the parameter RAM, better known as PRAM. It also manages and maintains information regarding all system resets from various commands. Examples of this are: keyboard restart, lose of power, software restart. Click to expand...

Pictured below, a very sad looking CUDA chip on my battery bombed Macintosh TV.

Attachments:
Screen Shot 2023-08-14 at 10.46.52 AM.png [View]

Liked by ComputerCompulsive,Elemenoh,kaoshonenand 3 others

Kai Robinson
TinkerDifferent Board President 2023
Worthing, UK
--------
Joined: Sep 2, 2021
Posts: 1,322
Likes: 1,313
Aug 15, 2023 - #2
Paging @mmu_man ...!

SuperSVGA
Tinkerer
--------
Joined: Mar 26, 2022
Posts: 69
Likes: 36
Aug 15, 2023 - #3
The ROMs aren't very hard to decompile, you could probably reverse engineer the entire thing and recreate it on something more modern. Picking a modern chip is the fun part, as you'll likely need to adapt it to fit the footprint.

I believe there's actually a third one as well, an Egret variation called "Caboose" that's supposedly in the Quadra 900. I don't have a Q900 to check though. It's likely nearly identical to Egret, unlike Cuda which has a different communications protocol.

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Aug 15, 2023 - #4
Last I looked at it, there was one HC05 chip that was supposedly still compatible with the original HC05E1 that Apple used that possibly could use the binaries as is. Haven't had the time to investigate any further. Seems UTSource (hmm, right... "used" OTP?) & octoparts still has some, but I never asked for a quote.
That could be a way to fill the gap until a proper replacement is designed.

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Aug 23, 2023 - #5
I looked at the disassembly on github mentioned on MLA, but it's really partial and only for one version.
I then looked at Radare2 to automate this but the 680x backend seems really unfinished, it even stripped the last character of each disassembly line... So this can take a while as I'll have to fix it first.

SuperSVGA
Tinkerer
--------
Joined: Mar 26, 2022
Posts: 69
Likes: 36
Aug 23, 2023 - #6
It seems to work pretty good in Ghidra at least, most of the work is just matching functions up to pins to identify what the code is doing.

From what I've found so far it looks like the only difference between Caboose and Egret is the addition of control for the Quadra 900 (and 950?) key switch.

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Aug 23, 2023 - #7
Well it's the occasion to fix r2 as well.
Is the caboose one in the Mac_ROMs file? I only find 3 EGRET and 3 CUDA files in there.
Plus if I can find what I want we won't even have to recode this anyway.

SuperSVGA
Tinkerer
--------
Joined: Mar 26, 2022
Posts: 69
Likes: 36
Aug 23, 2023 - #8
The Caboose file doesn't seem to be in that ROM set, and I think it's missing a few CUDA versions as well. 341S0853 appears to be what's on the Quadra 900's board.

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Sep 13, 2023 - #9
So, I had some things ordered from uncle ali, some arrived already. If other activities permit I might find the time to build a programmer. I also need to design a same-footprint SOIC-28 socket because those don't exist.

trag
Tinkerer
--------
Joined: Oct 25, 2021
Posts: 303
Likes: 151
Sep 13, 2023 - #10
I believe that the 9S08 series is backward code compatible with the 68HC05. The pinout won't match, so an interposer board would be necessary, but it ought to be fairly straight forward to move the Egret/CUDA code to a new 9S08 from NXP. In theory...

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Sep 13, 2023 - #11
I've checked many schematics and compiled the pinouts, and this is just a myth, it's the exact same uC with the same pinout and just an Apple reference painted over. They just changed the function of some pin but that's it.

Liked by Mac84

SuperSVGA
Tinkerer
--------
Joined: Mar 26, 2022
Posts: 69
Likes: 36
Sep 19, 2023 - #12
I guess there's also the CudaLite with PS/2 support, and whatever Cuda version was in the early iMac.

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Sep 19, 2023 - #13
Oh I have a Tanzania based clone, I'll have to dump that one I suppose.

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Oct 24, 2023 - #14
Been working on making fixes on 6805 support in Radare2 to help with reverse engineering...

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Nov 28, 2023 - #15
Been sidetracked by the companion chip (0120), which seemed easier to tackle first.

robin-fo
Tinkerer
Switzerland
--------
Joined: Feb 17, 2022
Posts: 157
Likes: 76
Nov 29, 2023 - #16
>> mmu_man said:
Been working on making fixes on 6805 support in Radare2 to help with reverse engineering... Click to expand...
I'm not quite sure if you are already aware, but datasheet and source code of the CUDA are floating around at 68kmla...

robin-fo
Tinkerer
Switzerland
--------
Joined: Feb 17, 2022
Posts: 157
Likes: 76
Nov 29, 2023 - #17
Post in thread 'Getting rid of the 'Your clock is not set to the correct time' alert dialog after System 7 boots'
https://68kmla.org/bb/index.php?thr...dialog-after-system-7-boots.45952/post-511487

BigBadBiologist
New Tinkerer
--------
Joined: May 9, 2022
Posts: 6
Likes: 14
Sep 2, 2024 - #18
Sorry to dig up an old thread, but I just wanted to post somewhere about some compatibility testing I did on EGRETs in a IIsi.
I came across two different chips in my IIsi systems: 341S0850 and 343S0100-01
The chip from a IIvx worked: 341S0851
The chip from an LC475 did not work: 341S0788

Liked by Mac84

mmu_man
Tinkerer
--------
Joined: Jan 30, 2022
Posts: 187
Likes: 125
Sep 3, 2024 - #19
Well, it's not that old... incidentally someone prodded me into looking at it again this week-end, so...

Liked by Mac84

techknight
Moderator
North Carolina
--------
Joined: Dec 2, 2021
Posts: 94
Likes: 94
Oct 24, 2024 - #20
DosFox finally took the plunge and bought NOS chips, programmed them with the dumps and they do work. He has not provided any more details outside of that yet. Tons of NOS chips are available on ebay, but theres several variations.

The specific IC variation has not as of yet been reported.

I also saw he had to make a custom programmer to burn the PROM.

But, there is progress being made!

Liked by MrTechGadget,Mac84,Kai Robinsonand 2 others

Page 1 of 2 | Next > | Last >>

Home | Forums | What's New | Search | Bookmarks | RSS | Original | Settings
XenForo Retro Proxy by TinkerDifferent.com