Arduino PAL dumper

This is my first attempt to get an almost working device to get a Secured Programmable Array Logic (PAL) Device being dumped. The project works with an home-made custom shield for an Arduino Mega with a proper software programmed into that toggles HIGH an LOW states on input pins and read the device outputs. In this way the resulting truth table can be analyzed and reduced to equations applying some magic … and math … LOL!

There are a lot of limitations of course, and only few PAL devices can be properly read in this way, because these logic devices can be confugured in different ways with three states outputs, flip flops, and bidirectional pins too. By the way if the PALs are pure combinatorial ones they can be properly dumped, trying to dump a registered device with this method is probably a waste of time …

Here is some pictures of the PAL dumper:

The software has been developed with the Arduino IDE and it totally lacks of a GUI, it comes with a basic command line interface but it’s enough for my personal use, you can see it running looking at its output on a serial console:

Paloi PAL Reader v0.2 (www.arcadefraidi.com)

List of available commands:
dump device – start dumping selected device.
d    device – start dumping selected device (same as dump).
list        – display the list of supported devices.
help        – this help.
> list
List of supported devices:
[0] PAL16L8
[1] PAL16L8 Bidirectional (Exp.)
[2] GAL16V8 Combinatorial (Exp.)
> pal16l8
Chosen device: (0) PAL16L8
Loading configuration …
DEVICE : PAL16L8
PINS   : 20
CONFIG : IIIIIIIIIGIOOOOOOOOV
     _____   _____
    |     \_/     |
I1  | 1        20 | VCC
I2  | 2        19 | O19
I3  | 3        18 | O18
I4  | 4        17 | O17
I5  | 5        16 | O16
I6  | 6        15 | O15
I7  | 7        14 | O14
I8  | 8        13 | O13
I9  | 9        12 | O12
GND | 10       11 | I11
    |_____________|
Checking Device on Socket … Device Present.
INPUT PINS  : 36 37 38 39 40 41 42 43 44 45
OUTPUT PINS : 46 47 48 49 50 51 52 53
BIDIR PINS  :
PULLUP PINS :
TRUTH TABLE : 1024.00 Entries.
Generating Logic Friday truth table …
************************************
I1,I2,I3,I4,I5,I6,I7,I8,I9,I11,,O12,O13,O14,O15,O16,O17,O18,O19
0,0,0,0,0,0,0,0,0,0,,1,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0,,1,0,0,1,0,0,0,0
0,1,0,0,0,0,0,0,0,0,,1,0,0,1,0,0,0,1

a lot of uninteresting rows has been deleted here 🙂

1,0,1,1,1,1,1,1,1,1,,0,1,1,1,1,1,1,0
0,1,1,1,1,1,1,1,1,1,,0,1,1,1,1,1,1,0
1,1,1,1,1,1,1,1,1,1,,0,1,1,1,1,1,1,1
************************************
Job done in 7 secs!
>

Once the PAL device has been read you can submit its truth table to Logic Friday software for some reductions and calculations, so with the help of few software tools you can produce a good JED fuse map file ready to be burned on a compatible PAL/GAL device.