• Please review our updated Terms and Rules here

Tribulations reading a PAL16L8

Chr$

Experienced Member
Joined
Aug 13, 2021
Messages
159
Location
Saxony, Germany
Aim: to replicate (and archive the contents) of an old PAL16L8 chip, program a GAL so that works in the same old hardware.

I know this has been discussed before but I'm a bit of a noob and have a specific issue. The hardware concerned is an XT keyboard interface for a Sinclair QL (which had a pretty crappy built-in keyboard). The interface device generally works but does seem very fussy about exactly what keyboard is used - at least I suspect that is the case as when certain keys are input (e.g. the back arrow) it completely locks up the system when I use a switchable AT/XT keyboard in XT mode. I don't have an older XT keyboard to try out (in case anyone in Germany has one I can borrow, let me know!).

The interface device has 1x PAL16L8 chip on it. I have a Retro Chip Tester pro and followed the instructions, here, from page 210 onwards:


It is my understanding that the PAL16L8 has mostly fixed function pins (inputs or outputs), but that pins 13 to 18 can be either and the only way to find out what they are functioning as is to trace them on the circuit board to see where they go. In my case, pins 13 - 18 look like this:

13 - Goes to the base of a BC238B Transistor (so is an Output).
14 - Goes to the EXTINT (external interrupt) connection on the QL expansion slot connector (so is an Output to the Sinclair ZX8302, I think).
15 - Goes to pin 18 of a 74LS244, which is an output on the 74LS244 (so is an Input).
16 - Goes to pin 19 of the same 74LS244, which is 'enable' (so is an Output).
17 - Goes to pin 9 of a 74HCT164, which is 'clear' (so is an Output).
18 - Goes to pin 20 of the 27128 EPROM, which is 'enable' (so is an Output).

Assuming those pins are correct and the other pins are fixed, I setup the Retro Chip Tester pro and read the contents of the chip. As outlined in the PDF above, I used SimpleSolver, made a .PDS file then used PALASM (from a win98 laptop) in order to generate a .JED file to be written onto a GAL16V8.

But it didn't work, reporting the error: Signal IO19 cannot have more than 8 product term(s).

I've attached the log file generated by PALASM and the .PDS file that I was trying to convert to .JED.

What have I done wrong? Any suggestions?

Many thanks.
 

Attachments

  • PALlog and PDS.zip
    1.7 KB · Views: 2
Two things: A PAL16L8 can use the output of other lines as an input. This is a way to get around the 8 terms per output. Also notice that output pins can be tristated.
 
Thanks Chuck. I read something about that. I was/am hoping that the PAL16L8 is one simple enough to 'crack'. Is there anything I can do? Do I need more specialised equipment or someone with the right equipment and knowledge?
 
Hmmm, my pin 19 (io19) looks like this:

/io19 = /io1
+ /io5
+ /io6
+ /io7
+ /io8
+ io9
+ io4
+ io3
+ io2;

And pin 13 is this:

/io13 = /io1
+ /io8
+ io9
+ io4
+ io3
+ io2;

I don't understand the syntax, but does that mean I could replace the too-long /io19 = with

/io19 = /io13
+ /io5
+ /io6
+ /io7;

? I'm probably getting that totally wrong.
 
Back
Top