Re: Reading PALs

2017-02-21 Thread Jim Brain

On 2/21/2017 1:48 PM, Jecel Assumpcao Jr. wrote:


Don't forget that 16L8 means 8 logic outputs and 16 inputs even though
at first glance there only seems to be 8 inputs. That is because every
output is also an input and can possibly be just an input by forcing the
three state option.
One of the L8s uses an output as an input, but the design does not use 
any tristates or feedback on the L8s, so my job is easier.  The R4 and 
R6 are harder, though, as feedback is used on one, and both have registers.


Jim



Re: Reading PALs

2017-02-21 Thread jim stephens



On 2/21/2017 2:06 PM, Mattis Lind wrote:

But now it solved because Kelly Leavitt somehow did find the correct link,
  which is not the one linked to from the page. Thanks a lot for this!

Unfortunately there were no source code in there unless they are self
extracting binaries. No PC nor DOSEMU running so I cannot check right now.
If there are no source I need to try to figure out the the ordering of the
pins that the dump uses from the schematic. It seems not to readable by the
version of Eagle I have here though.

Maybe it will be easier to DIY anyway...

Anyone else that done this kind of PAL analysis so I can avoid reinventing
the wheel?


/Mattis
There are PD executables which run from the dos command line for both 
versions of the hardware.


Manufacturing info for the boards are there.

I'll targz the source and email it to you offline if that would help.  
It is compiled with mingw, so should hopefully be

simple to make it run on gcc and run the analyze component.

thanks
Jim


Re: Reading PALs

2017-02-21 Thread Chuck Guzis
On 02/21/2017 02:06 PM, Mattis Lind wrote:

> But now it solved because Kelly Leavitt somehow did find the correct
> link, which is not the one linked to from the page. Thanks a lot for
> this!
> 
> Unfortunately there were no source code in there unless they are
> self extracting binaries. No PC nor DOSEMU running so I cannot check
> right now. If there are no source I need to try to figure out the the
> ordering of the pins that the dump uses from the schematic. It seems
> not to readable by the version of Eagle I have here though.
> 
> Maybe it will be easier to DIY anyway...
> 
> Anyone else that done this kind of PAL analysis so I can avoid
> reinventing the wheel?


If you check my vcfed.org blog, you'll see that I used a PC parallel
port to drive a setup pretty much consisting of a few 74LS193 counters
and a 74LS151 multiplexer, driven off the low 4 bits of the counters.
This gave me 20 bits of output, so I took some of the extra bits and
used them to "push" possible tristate bits through 2K resistors. One
parallel printer bit to reset, another to count and one to read the output.

Built in an evening with parts from my hellbox on a hunk of perfboard.
I was tempted to use an MCU, but given the 20 outputs+4 inputs of this
rig, it made more sense.

--Chuck


Re: Reading PALs

2017-02-21 Thread Mattis Lind
2017-02-21 22:01 GMT+01:00 jim stephens :

>
>
> On 2/21/2017 12:41 PM, Mattis Lind wrote:
>
>> I have seen someone making a small device to do this.
>> http://dreamjam.co.uk/emuviews/elec/pal.php
>>
>> Unfortunately the software doesn't seem to be available any longer. Anyone
>> that has it? It would definetely save me some time.
>>
> Did you try contacting him thru his page?
>
> http://dreamjam.co.uk/emuviews/
> http://dreamjam.co.uk/emuviews/contact.php
>
> I do like his antispam puzzle.
>
>
>
I did try to contact him but got no reply.

But now it solved because Kelly Leavitt somehow did find the correct link,
 which is not the one linked to from the page. Thanks a lot for this!

Unfortunately there were no source code in there unless they are self
extracting binaries. No PC nor DOSEMU running so I cannot check right now.
If there are no source I need to try to figure out the the ordering of the
pins that the dump uses from the schematic. It seems not to readable by the
version of Eagle I have here though.

Maybe it will be easier to DIY anyway...

Anyone else that done this kind of PAL analysis so I can avoid reinventing
the wheel?


/Mattis





>
> thanks
> Jim
>
>


Re: Reading PALs

2017-02-21 Thread Kelly Leavitt

I have seen someone making a small device to do this.
http://dreamjam.co.uk/emuviews/elec/pal.php

Unfortunately the software doesn't seem to be available any longer. Anyone
that has it? It would definetely save me some time.

/Mattis

How about:
http://dreamjam.co.uk/emuviews/pal/pd-070908.zip


Re: Reading PALs

2017-02-21 Thread Mattis Lind
tisdag 21 februari 2017 skrev Jecel Assumpcao Jr. :

> Jim Brain wrote:
>
> > As a function of "give a man a fish, you feed him for a day; teach a man
> > to fish, you feed him for all time", I dloaded Logic Friday, and figured
> > out a quick way to read the two 16L8 (combinatorial only) PALs on the
> > board with my EPROM reader (cue duct tape and baling wire snickers).
>
> Don't forget that 16L8 means 8 logic outputs and 16 inputs even though
> at first glance there only seems to be 8 inputs. That is because every
> output is also an input and can possibly be just an input by forcing the
> three state option.
>

Right now I am in the situation of having a 16L8 with unknown program so I
have been thinking (and googling) to find a solution. I have come to the
conclusion that this device has to be considered as 262144 by 8 ROM. 18
bits address space because it has 8 three state outputs (six of them may
act as inputs) which has to be probed in what way they are active driving
or not and then 10 inputs. I was thinking of driving the outputs through a
1k or so resistor and then reading back the outputs.
The inputs are of course driven as usual. Then I need to write some small
piece of software to deduce the OE pin values and minimise the equations
using some program mentioned above in the thread.

I have seen someone making a small device to do this.
http://dreamjam.co.uk/emuviews/elec/pal.php

Unfortunately the software doesn't seem to be available any longer. Anyone
that has it? It would definetely save me some time.

/Mattis


Re: Reading PALs

2017-02-21 Thread Jecel Assumpcao Jr.
Jim Brain wrote:

> As a function of "give a man a fish, you feed him for a day; teach a man 
> to fish, you feed him for all time", I dloaded Logic Friday, and figured 
> out a quick way to read the two 16L8 (combinatorial only) PALs on the 
> board with my EPROM reader (cue duct tape and baling wire snickers).

Don't forget that 16L8 means 8 logic outputs and 16 inputs even though
at first glance there only seems to be 8 inputs. That is because every
output is also an input and can possibly be just an input by forcing the
three state option. Both options complicate things and in the first case
you can have stuff like:

O1 = /I1*I2 + I1*O1

If you count up the possible values of I1 and I2 you will get:

I2, I1 => O1
0, 0 => 0
0, 1 => 0
1, 0 => 1
1, 1 => 1

but if you count down you get:

I2, I1 => O1
1, 1 => 0
1, 0 => 1
0, 1 => 1
0, 0 => 0

which is different, and if you repeat this a bunch of times you will
sometimes get 1 output in the first line and you might get 0 output in
the third line once in a while.

The IBM PC AT had two PALs. One was a simple address decoder while the
second included an interface to the FPU and had a tiny state machine
implemented like this. I helped some friends who were doing an AT clone
in 1986 figure this out in a few minutes, but most of their competitors
in Brazil took nearly two years to reverse engineer this.

-- Jecel


Re: Reading PALs

2017-02-21 Thread Chuck Guzis
On 02/21/2017 12:51 AM, Jim Brain wrote:

> I assume this is the "wetware" process you mention, but I thought I 
> would check if I need to tweak something in Logic Friday to achieve 
> better results.


I've always gone the "wetware" route, which seems to be mandatory when a
term involves, say, 30 terms because of feedback terms.   I don't know
if there's a automatic reduction package out there that can make this leap.

--Chuck


Re: Reading PALs

2017-02-21 Thread Jim Brain
As a function of "give a man a fish, you feed him for a day; teach a man 
to fish, you feed him for all time", I dloaded Logic Friday, and figured 
out a quick way to read the two 16L8 (combinatorial only) PALs on the 
board with my EPROM reader (cue duct tape and baling wire snickers).


After getting some good reads, and minimizing the binaries (I read 8kB 
of data, and then split the files into 1kB chunks to handle the one 
unit's 10 input lines, and split the other file into 4 2048 byte chunks 
due to the 11 inputs), I then wrote a really crappy C program to convert 
the data to CSV format for Logic Friday.


After dealing with some nuances in the format, I was able to minimize 
the equations, and I thank you Chuck (I probably am still going to hit 
you up on the 16R4 and the 16R6, as I assume they are not so easy to 
reverse engineer) for the suggestion.


Now, my new question:

Is there a way to get Logic Friday to perform "negative" logic? 
Specifically, by looking at the CSV file, it is obvious that one of the 
outputs is low only when A15:A10 and R/W are all low.  So, basically:


O3 = (A15 + A14 + A13 + A12 + A11 + A10 + R/W)

But, what I get is:

O3 = A10  + A11  + A15 A13' A12'  + A14' A13' A12  + A14 R/W'  + A13 
R/W'  + R/W


I assume this is the "wetware" process you mention, but I thought I 
would check if I need to tweak something in Logic Friday to achieve 
better results.


Jim




Re: Reading PALs

2017-02-19 Thread Alan Hightower
 

Thanks for mentioning Logic Friday. I had never heard of it. I just used
it to great effect in an unrelaed combinatorial logic reduction problem!


-Alan 

On 2017-02-18 20:37, Chuck Guzis wrote: 

> On 02/18/2017 04:22 PM, Jim Brain wrote: 
> 
>> Seems like someone on list was willing and able to read PAL16L8s and 
>> give a try to some PAL16R4s... Is that person still on list and
>> still interested? If so, please contact me off-list.
>> 
>> I am trying to restore some C64 carts, and the PAL on my working unit
>> is protected, so I cannot replicate.
> 
> If I'm the person (see my blog on vcfed.org), "reading" isn't exactly
> the right term. For purely combinatorial PALs, the technique is to
> determine the input and output assignments, then exhaustively run
> through all the combinations. Take that data and run it through a logic
> minimizer, such as Logic Friday and then use a bit of wetware to pick
> out tristate control lines and their corresponding outputs.
> 
> Not foolproof by any means--and much less so, if the device is
> registered, but very often successful.
> 
> A schematic showing the part application can be a godsend.
> 
> --Chuck
 


Re: Reading PALs

2017-02-18 Thread Jim Brain

On 2/18/2017 7:37 PM, Chuck Guzis wrote:


If I'm the person (see  my blog on vcfed.org), "reading" isn't exactly
the right term.
Yes, of course.  I meant running through the combinations of the inputs 
on the PAL and obtaining the outputs for each set of inputs, then 
attempting to minimize the logic (for combinatorial). REgistered is a 
more complex kettle of fish.






A schematic showing the part application can be a godsend.

I am working on creating the schematic now, but it's a tedious process.

Jim


Re: Reading PALs

2017-02-18 Thread Chuck Guzis
On 02/18/2017 04:22 PM, Jim Brain wrote:
> Seems like someone on list was willing and able to read PAL16L8s and 
> give a try to some PAL16R4s...  Is that person still on list and
> still interested?  If so, please contact me off-list.
> 
> I am trying to restore some C64 carts, and the PAL on my working unit
> is protected, so I cannot replicate.

If I'm the person (see  my blog on vcfed.org), "reading" isn't exactly
the right term.  For purely combinatorial PALs, the technique is to
determine the input and output assignments, then exhaustively run
through all the combinations.  Take that data and run it through a logic
minimizer, such as Logic Friday and then  use a bit of wetware to pick
out tristate control lines and their corresponding outputs.

Not foolproof by any means--and much less so, if the device is
registered, but very often successful.

A schematic showing the part application can be a godsend.

--Chuck


Reading PALs

2017-02-18 Thread Jim Brain
Seems like someone on list was willing and able to read PAL16L8s and 
give a try to some PAL16R4s...  Is that person still on list and still 
interested?  If so, please contact me off-list.


I am trying to restore some C64 carts, and the PAL on my working unit is 
protected, so I cannot replicate.


Jim



--
Jim Brain
br...@jbrain.com
www.jbrain.com