Thanks for the replies above. I'm glad the problem sparked some interest.
To the points raised:-
Bletchley Park, according to their very dated looking website, state that they can only entertain decipher requests made in German, and all submitted data must be in either Morse or Baudot 5-code.
The device is a PAL10L8, and there is also a PAL12L6.
I have used an Arduino to read both of these, and have all the data on a PC.
The 12L6 is not a problem, as it is used as an address decoder. It's inputs are the address bus, and it's outputs are various chip select signals. Thus, all outputs are dependant on all inputs, and from the results, it is very clear that the data is correct and matches the published memory map for the system it is used in: The "Compacta Uniboard" described in another thread:-
http://www.vcfed.org/forum/showthread.php?72532-Compacta-Uniboard-A-6809-SBC-cicrca-1982The 10L8 is used in more of a "glue" role, where there may be two or more distinct and independant input-output groups. The whole reason for this thread is so that I might verify that it's contents are correct by seeing that it's outputs as used in the circuit would reasonably depend on various of the inputs. And to gain a better understanding of the circuit operation.
I don't think I'd ever heard of CNF/DNF, but yes, these devices are DNF - an "OR of ANDs", or "a sum of products"
I knew a little of Karnaugh Maps, but not much. And from the reading I've done, they are not well suited to truth tables of the size involved here. Though related links uncover other techniques that may be more appropriate.(except that what I've found is so theoretical and hard to grasp)
I was afraid that the problem was not so simple that avoiding these very technical areas would be impossible. A lot of mostly unfamiliar mathematical notation is involved, along with a lot of totally unfamiliar terminology (defined in terms of yet more terminology...).
Delving very deeply into these areas may require more effort than is justified for my mere wish to better understand the circuit I'm working on. I was hoping for a quick and simple solution that I might have missed.
Right away, you can drop C from the Y term based on just the first two decoded lines. I can't even imagine using a Karnaugh Map for 1024 inputs.
... How about stuffing the entire input/output relationship into a VHDL 'case' statement ...
''' you would want to write a bit of code to generate the VHDL from a simple input file ...
Or, you could write the grand-daddy of all FOR loops...
That's the sort of algorithm I was thinking of, with nested for loops for inputs|outputs|table entries to detect inputs that are irrelevant to an output, but got a brainache before a result.
The "wiggle each bit to see if it is part of the equation" method is also along the lines I was thinking of. I'll look further into that...
I can't even spell VHDL, so going there is not desirable to me.
The Arduino was used to extract the truth table, this has been done already.
Further programming to analyze it will happen on a PC (using Delphi, as I do for everything)
The "Karnaugh map minimizer" link is of interest. Other paths explored turned up "Logic Friday", which I've downloaded and will have a play with:-
https://web.archive.org/web/20131022021257/http://www.sontrak.com/ The PALs are not registered, so the stateless black box described above applies.
I've used Espresso for analysing truth tables like this before.
https://en.m.wikipedia.org/wiki/Espresso_heuristic_logic_minimizer
"Logic Friday", mentioned above seems to be a user friendly implementation of Expresso.
I about to try it out...
Thanks to all for your interest and input.