FPGARelated.com
Forums

Copying/Reverse Engineering PAL

Started by logjam January 20, 2005
I am trying reproduce a Macintosh 128k using CMOS parts.  It has some
16R4, 16R8, and 16L8 PALs.  If you could give me any advice about how I
should "learn" the logic in these that would be GREAT!  Maybe a method
of bit twiddling all the inputs to see what happens?  The 16L8 should
be simple, but that is only one of the 6.  I have signal names and a
schematic, but the internal design of the 'R' chips scares me.  :)

Is there any programmer that can use a brute force technique of trying
all possible logic combinations?

I want to do this to learn another aspect of old computers, and because
I'd like to replace all the chips with new CMOS and see if I can't get
overclock the thing.  ;)


Thanks for your time,
Grant

"logjam" <grant@cmosxray.com> wrote in message 
news:1106249347.233017.138400@f14g2000cwb.googlegroups.com...
>I am trying reproduce a Macintosh 128k using CMOS parts. It has some > 16R4, 16R8, and 16L8 PALs. If you could give me any advice about how I > should "learn" the logic in these that would be GREAT! Maybe a method > of bit twiddling all the inputs to see what happens? The 16L8 should > be simple, but that is only one of the 6. I have signal names and a > schematic, but the internal design of the 'R' chips scares me. :)
Hmm. I think that noting the connections to the CPU will provide some useful clues. Is the circuit diagram online? I have a copy of the 3rd edition of "The Programmable Logic Handbook" by MMI. Antique technology but since it was from the dawn of PLD days it has very useful code examples. Like connecting the 68K to Zilog peripheral chips. I can scan the notes that you want. MikeJ of FPGA arcade is resurrecting the Atari ST, so some fundamentals may match the Mac. Cheers, K.
Kryten wrote:
> "logjam" <grant@cmosxray.com> wrote in message > news:1106249347.233017.138400@f14g2000cwb.googlegroups.com... > >I am trying reproduce a Macintosh 128k using CMOS parts. It has
some
> > 16R4, 16R8, and 16L8 PALs. If you could give me any advice about
how I
> > should "learn" the logic in these that would be GREAT! Maybe a
method
> > of bit twiddling all the inputs to see what happens? The 16L8
should
> > be simple, but that is only one of the 6. I have signal names and
a
> > schematic, but the internal design of the 'R' chips scares me. :)
A company in Brazil did what you suggested and it took them a few months. I did a new design from publicly available sources plus the schematic and it only took me three days and the result was faster than the original (see http://www.lsi.usp.br/~jecel/mac512.html for more details). My version depended on faster memories than what the 128K Mac used, but it would be equally easy to come up with a compatible timing.
> Hmm. I think that noting the connections to the CPU will provide some
useful
> clues. Is the circuit diagram online?
http://www.digibarn.org/collections/diagrams/mac-512klogicboard/index.html
> I have a copy of the 3rd edition of "The Programmable Logic Handbook"
by
> MMI. > Antique technology but since it was from the dawn of PLD days it has
very
> useful code examples. Like connecting the 68K to Zilog peripheral
chips. I
> can scan the notes that you want.
That level of detail is nice, but not really needed for this job.
> MikeJ of FPGA arcade is resurrecting the Atari ST, so some
fundamentals may
> match the Mac.
Pretty much. My own Merlin 2 was my model, for example. The Amiga would be an entirely different story, however. -- Jecel
"Jecel" <jecel@merlintec.com> wrote in message 
news:1106269932.965110.285140@f14g2000cwb.googlegroups.com...
> > A company in Brazil did what you suggested and it took them a few > months. I did a new design from publicly available sources plus the > schematic and it only took me three days and the result was faster than > the original (see http://www.lsi.usp.br/~jecel/mac512.html for more > details).
Very impressive. Might we get to see your equations? Pretty please? :-)
> http://www.digibarn.org/collections/diagrams/mac-512klogicboard/index.html
Interesting. Diagram not great (jpg artefacts). I'd like to redraw it.
>> I have a copy of the 3rd edition of "The Programmable Logic Handbook" > That level of detail is nice, but not really needed for this job.
Well, it's a nice book and I wondered if other people (esp. students) might benefit.
I guess you already said something about not keeping the resources at
the time, but do you by any chance have Apple's Pal equations now?
Know how I can find them or what to search for? I've been talking about
this over at avrfreaks
http://www.avrfreaks.com/index.php?name=PNphpBB2&file=viewtopic&t=26198
and someone said he once had all 6 chips in his computer.

Grant

Jecel wrote:
> A company in Brazil did what you suggested and it took them a few > months. I did a new design from publicly available sources plus the > schematic and it only took me three days and the result was faster
than
> the original (see http://www.lsi.usp.br/~jecel/mac512.html for more > details). My version depended on faster memories than what the 128K
Mac
> used, but it would be equally easy to come up with a compatible
timing.
> > > Hmm. I think that noting the connections to the CPU will provide
some
> useful > > clues. Is the circuit diagram online? > >
http://www.digibarn.org/collections/diagrams/mac-512klogicboard/index.html
> > > I have a copy of the 3rd edition of "The Programmable Logic
Handbook"
> by > > MMI. > > Antique technology but since it was from the dawn of PLD days it
has
> very > > useful code examples. Like connecting the 68K to Zilog peripheral > chips. I > > can scan the notes that you want. > > That level of detail is nice, but not really needed for this job. > > > MikeJ of FPGA arcade is resurrecting the Atari ST, so some > fundamentals may > > match the Mac. > > Pretty much. My own Merlin 2 was my model, for example. The Amiga
would
> be an entirely different story, however. > > -- Jecel
I once saw a Classic Mac for &#4294967295;10.

I'd have bought it for reverse engineering purposes but I'm desperately 
trying to reduce the mass of junk I own.

Out of curiosity, can the CRT and PSU be replaced by a PC monitor and PSU?

That way I would only need the main board which I presume would be fairly 
small and light. I could justify keeping that much.

Knowing Apple, they probably went their own way on video...


There is a Horizontal, Vertical, and composite output.  You can connect
those signals pretty much directly to a multisync vga monitor and get a
large screen...maybe even an LCD, but I'd put the signals through an
optical isolator on my monitor...  ;)  One of the sync lines had to be
inverted to work with old RGB/CGA monitors, but my 10 year old multi
sync VGA monitor work with almost any combination of /V /H, V H, /V H,
V /H, etc.  The weird thing is that sometimes a new combination will
cause the image to get larger.

I reverse engineered a lot of the custom chips by Namco used in early arcade
games. From the circuit diagram I had a good first guess at the logic
inside, and programmed that into a cpld mounted on a 28 pin dil module with
the same pinout as the asic. I then ran the game as normal with my chip in
parallel with the asic (all my outputs isolated from the game) and compared
the two on a logic analyser. It was then fairly simple to tweak mine to
match. I also manually waggled some pins to increase the test coverage.
Perhaps the same trick would work ? I really don't think they will be that
complex.

You can see the dev board on www.fpgaarcade.com.
/Mike

"logjam" <grant@cmosxray.com> wrote in message
news:1106249347.233017.138400@f14g2000cwb.googlegroups.com...
> I am trying reproduce a Macintosh 128k using CMOS parts. It has some > 16R4, 16R8, and 16L8 PALs. If you could give me any advice about how I > should "learn" the logic in these that would be GREAT! Maybe a method > of bit twiddling all the inputs to see what happens? The 16L8 should > be simple, but that is only one of the 6. I have signal names and a > schematic, but the internal design of the 'R' chips scares me. :) > > Is there any programmer that can use a brute force technique of trying > all possible logic combinations? > > I want to do this to learn another aspect of old computers, and because > I'd like to replace all the chips with new CMOS and see if I can't get > overclock the thing. ;) > > > Thanks for your time, > Grant >
"Jecel" <jecel@merlintec.com> wrote in message 
news:1106269932.965110.285140@f14g2000cwb.googlegroups.com...
> > Kryten wrote: >>Is the circuit diagram online? > > http://www.digibarn.org/collections/diagrams/mac-512klogicboard/index.html
Is there a more legible copy available? I'm trying to sketch the logic in Orcad, and having a hard time reading some characters (like RG and RQ).
On Thu, 20 Jan 2005 11:29:07 -0800, logjam wrote:

> I am trying reproduce a Macintosh 128k using CMOS parts. It has some > 16R4, 16R8, and 16L8 PALs. If you could give me any advice about how I > should "learn" the logic in these that would be GREAT! Maybe a method > of bit twiddling all the inputs to see what happens? The 16L8 should > be simple, but that is only one of the 6. I have signal names and a > schematic, but the internal design of the 'R' chips scares me. :) > > Is there any programmer that can use a brute force technique of trying > all possible logic combinations? > > I want to do this to learn another aspect of old computers, and because > I'd like to replace all the chips with new CMOS and see if I can't get > overclock the thing. ;) > > > Thanks for your time, > Grant
Try to find an old Data IO PAL programmer. You can read out the fuse pattern from a PAL. I don't remember there being any copy protection available in PALs of that vintage.