Lyos Gemini Norezel wrote:
Any ideas on how to do a hex dump on these chips and then have the hex converted to assembly?
PALs are not like ROM chips - yes they are programmed devices, but the programming is a representation of logic equations, not machine code. PAL stands for "Programmable Array Logic".
PALs are used to replace a handful of generic TTL logic chips (7400, 7404, 7474, etc.) with a single part, one that could be quickly replaced if the logic ever needs to be changed. Older ones, made in the 1980s, use fusible links and can only be programmed ("blown") once. Newer devices, called GALs (Generic Array Logic) are based on EEPROM-like cells and can be reprogrammed a number of times. Also, PALs were made in certain hardware configurations with descriptions like "10H8" or "12L2" - the first number is the number of inputs, the letter is High or Low-true outputs, and the last number is the number of outputs. Therefore, a "12L2" has 12 inputs, and two low-true outputs. GALs do not have predetermined inputs or outputs. A 16V8 GAL has
up to 16 inputs and
up to 8 outputs. You can feed it a set of equations with 2 inputs and 8 outputs or vice versa - whatever you need.
They are useful for building address selectors for implementing a memory map on a processor - you could literally take A8-A15 from a 6502, and program the GAL to output chip selects for up to 8 address ranges anywhere in memory, on a page boundary. If you needed to determine chip selects for more than that, you could go with a larger GAL (like a 22V10) or chain two 16V8s together.
They are very handy little devices and can save a lot of work in building small computers. The fact that some of your logic isn't written in stone can allow some pretty creative results.