Author Topic: PAL16L8, PAL16R4, GAL16V8B replacement  (Read 1189 times)

marcopolo, Rasz and 1 Guest are viewing this topic.

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
PAL16L8, PAL16R4, GAL16V8B replacement
« on: November 11, 2018, 08:28:13 am »
 
Hello.
Do you know what current solution exists as a replacement for PAL16L8 and PAL16R4?

I find a very old circuitry, from the 90s. Replicating it is not complicated, although some chips are already difficult to locate (TS68000 processors of ST and HD6845SP think of Hitachi). In this circuit, three PALs are used, two of the reference TIBPAL16R4 and one TIBPAL16L8 of Texas Instruments.

I have seen that some people has replaced those three PAL, for the GAL16V8B, with a program that migrates the code. The problem is that I think the GALs have also stopped being manufactured (I think they were from Lattice).

Is there an alternative to migrate those PALs to another type of more modern chip? A CPLD or something, I suspect.

On the other hand, if I locate the GAL16V8B, I will need a programmer, I have not yet investigated the issue, but I think, that the Chinese TL866 can program these chips. Some suggestions ?

Greetings.
« Last Edit: November 11, 2018, 08:30:17 am by luiHS »
 

Offline MadTux

  • Frequent Contributor
  • **
  • Posts: 444
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #1 on: November 11, 2018, 09:26:10 am »
Atmel/µchip still makes them: ATF16, ATF22 and ATF1508. First 2 are more or less comparable to PAL/GAL
 

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #2 on: November 11, 2018, 09:52:39 am »
Atmel/µchip still makes them: ATF16, ATF22 and ATF1508. First 2 are more or less comparable to PAL/GAL

 
Thanks I will check.
I have see that also TL866 chinese programmer can program some PAL/GAL, at least the last version, Plus II.

 

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #3 on: November 11, 2018, 11:55:59 am »
 
I have the original files for 16L8 and 16R4, but to write in ATF16V8 I need files in JEDEC format.
Does anyone know how I can convert files?

In the data sheet of ATF16v8, it states that it can emulate PAL16L8 and PAL16R4, but there is no detail on how to do it. When I choose ATF16v8 in my TL866 programmer, it requests a JEDEC file.
« Last Edit: November 11, 2018, 12:33:12 pm by luiHS »
 

Offline TK

  • Frequent Contributor
  • **
  • Posts: 750
  • Country: us
  • I am a Systems Analyst who plays with Electronics
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #4 on: November 11, 2018, 12:51:57 pm »
I think GAL devices also require JEDEC files.  If you have the program, then you can use PALASM to compile and generate the JEDEC file for the TL866

PALASM requires DOS, so you can run it on DOSBOX

If you have the original chip, then you can try to read the content with TL866 and it will save it as JEDEC
 

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #5 on: November 11, 2018, 01:08:08 pm »
I think GAL devices also require JEDEC files.  If you have the program, then you can use PALASM to compile and generate the JEDEC file for the TL866

PALASM requires DOS, so you can run it on DOSBOX

If you have the original chip, then you can try to read the content with TL866 and it will save it as JEDEC

Thanks I'll try.

I have edited one of the source files I have for the 16R4 and 16L8, and this is what I see, a total of 1030 lines of code, which start with this content attached. I do not know what this is, if it is a JEDEC or if I need to convert it to obtain a .JED file to be able to record it with the TL866.


INPUT       OUTPUT

PPPPPPPPPP  PPPPPPPP
0000000001  11111111
1234567891  23456789

0000000000  01111010
1000000000  01111010
0100000000  01111010
1100000000  01111010
0010000000  11111010
1010000000  11101010
0110000000  11101010
1110000000  11011010
0001000000  01011010
1001000000  01111010
0101000000  01111010
1101000000  01111010
0011000000  11111010
1011000000  11101010
      .
      .
      .
      .
      .
      .
      .

... and this continue up to 1030 lines of text.

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #6 on: November 11, 2018, 01:29:08 pm »
 
Now I have tried to read two of the GAL16v8 with my TL866, the programmer has read and saved JEDEC files, but I am not sure if they are correct. I do not know if the PAL / GAL allows some reading protection, and really has not read anything useful.

This is the content read with TL866 from one of the GAL16v8.



Device    :    GAL16V8B

Created By:    http://www.autoelectric.cn

Date      :    2018-11-11 03:20

*QP20

*QF2194

*G0

*F0

*L00000 10000000000000000000000000000000

*L00032 10000000000000000000000000000000

*L00064 11111111111111111111111111111111

*L00096 10000000000000000000000000000000

*L00128 10000000000000000000000000000000

*L00160 10000000000000000000000000000000

*L00192 10000000000000000000000000000000

*L00224 11111111111111111111111111111111

*L00256 11111111111111111111111111111111

*L00288 11111111111111111111111111111111

*L00320 11111111111111111111111111111111

*L00352 11111111111111111111111111111111

*L00384 11111111111111111111111111111111

*L00416 11111111111111111111111111111111

*L00448 11111111111111111111111111111111

*L00480 11111111111111111111111111111111

*L00512 10000000000000000000000000000000

*L00544 11111111111111111111111111111111

*L00576 10000000000000000000000000000000

*L00608 10000000000000000000000000000000

*L00640 10000000000000000000000000000000

*L00672 10000000000000000000000000000000

*L00704 10000000000000000000000000000000

*L00736 10000000000000000000000000000000

*L00768 10000000000000000000000000000000

*L00800 10000000000000000000000000000000

*L00832 10000000000000000000000000000000

*L00864 10000000000000000000000000000000

*L00896 10000000000000000000000000000000

*L00928 10000000000000000000000000000000

*L00960 10000000000000000000000000000000

*L00992 10000000000000000000000000000000

*L01024 11111111111111111111111111111111

*L01056 11111111111111111111111111111111

*L01088 11111111111111111111111111111111

*L01120 11111111111111111111111111111111

*L01152 11111111111111111111111111111111

*L01184 11111111111111111111111111111111

*L01216 11111111111111111111111111111111

*L01248 11111111111111111111111111111111

*L01280 11111111111111111111111111111111

*L01312 11111111111111111111111111111111

*L01344 11111111111111111111111111111111

*L01376 11111111111111111111111111111111

*L01408 11111111111111111111111111111111

*L01440 11111111111111111111111111111111

*L01472 11111111111111111111111111111111

*L01504 11111111111111111111111111111111

*L01536 11111111111111111111111111111111

*L01568 11111111111111111111111111111111

*L01600 11111111111111111111111111111111

*L01632 11111111111111111111111111111111

*L01664 11111111111111111111111111111111

*L01696 11111111111111111111111111111111

*L01728 11111111111111111111111111111111

*L01760 11111111111111111111111111111111

*L01792 11111111111111111111111111111111

*L01824 11111111111111111111111111111111

*L01856 11111111111111111111111111111111

*L01888 11111111111111111111111111111111

*L01920 11111111111111111111111111111111

*L01952 11111111111111111111111111111111

*L01984 11111111111111111111111111111111

*L02016 11111111111111111111111111111111

*L02048 00101100001000011111111101000000

*L02080 00000000111111111111111111111111

*L02112 11111111001101101111111010100100

*L02144 00000001111111111111111111111111

*L02176 111111100110010000

*CB650

*3400

« Last Edit: November 11, 2018, 01:31:36 pm by luiHS »
 

Offline PCB.Wiz

  • Regular Contributor
  • *
  • Posts: 201
  • Country: au
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #7 on: November 11, 2018, 02:33:37 pm »

Hello.
Do you know what current solution exists as a replacement for PAL16L8 and PAL16R4?

I find a very old circuitry, from the 90s. Replicating it is not complicated, although some chips are already difficult to locate (TS68000 processors of ST and HD6845SP think of Hitachi). In this circuit, three PALs are used, two of the reference TIBPAL16R4 and one TIBPAL16L8 of Texas Instruments.

I have seen that some people has replaced those three PAL, for the GAL16V8B, with a program that migrates the code. The problem is that I think the GALs have also stopped being manufactured (I think they were from Lattice).

Is there an alternative to migrate those PALs to another type of more modern chip? A CPLD or something, I suspect.

The Atmel/Microchip ATF16V8B/BQL should replace those, in the same package & pinout
You can download their WinCUPL tools and create JED files from scratch for these.

If you can locate an EETools programmer, it has menu items like
Manufacturer:ATMEL, Device name:ATF16LV8Cas16R4
Manufacturer:ATMEL, Device name:ATF16LV8Cas16L8


ie it can read a jedec file for those older parts, and uses the fuse-subset to program the ATF16V8.



I have edited one of the source files I have for the 16R4 and 16L8, and this is what I see, a total of 1030 lines of code, which start with this content attached. I do not know what this is, if it is a JEDEC or if I need to convert it to obtain a .JED file to be able to record it with the TL866.


INPUT       OUTPUT

PPPPPPPPPP  PPPPPPPP
0000000001  11111111
1234567891  23456789

0000000000  01111010
1000000000  01111010
0100000000  01111010
1100000000  01111010
0010000000  11111010
1010000000  11101010
0110000000  11101010
1110000000  11011010
0001000000  01011010
1001000000  01111010
... and this continue up to 1030 lines of text.

that looks like Simulation info, it shows IN and OUT expected. Do you have the boolean equations too ?
Often, that simulation info is appended to the JED file to allow test after program.

Here is a 16V8 file, moving from Fuse info, to vector info

*L02112 00000000000000001111111111111111
*L02144 11111111111111111111111111111111
*L02176 111111111111111101
*C4C16
*P 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
*V0001 000000000N0HHHHHHHHN
*V0002 000000101N0HHHHHHHHN
*V0003 C00000101N0HHHHHHHLN
*V0004 C00000101N0HHHHHHLLN
*V0005 C00000101N0HHHHHLLLN
*V0006 C00000101N0HHHHLLLLN
*V0007 010001010N0HHHHLLLLN
*V0008 C10001010N0HHHLLLLHN




Now I have tried to read two of the GAL16v8 with my TL866, the programmer has read and saved JEDEC files, but I am not sure if they are correct. I do not know if the PAL / GAL allows some reading protection, and really has not read anything useful.

Read a part you know is blank/new and compare ?
 

Offline up8051

  • Contributor
  • Posts: 49
  • Country: pl
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #8 on: November 11, 2018, 07:12:54 pm »
Hi,
TIPBAPL chips can be protected, but 16L8 is rather simply to reverse engineering, 16R4 a bit harder.

TS68000 (PLCC, DIP) and UM6845R chips are still available (in Poland).

Regards,
up8051
 

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #9 on: November 11, 2018, 09:18:50 pm »
Hi,
TIPBAPL chips can be protected, but 16L8 is rather simply to reverse engineering, 16R4 a bit harder.

TS68000 (PLCC, DIP) and UM6845R chips are still available (in Poland).

Regards,
up8051

Hi.

How can I apply reverse engineering to get the code? I suppose I simply apply signals to the inputs and read the outputs. It seems to me that the files that I downloaded from the Internet for these PAL16L8 and PAL16R4, is not the content of the chips, but a test writing in the inputs and reading the status of the outputs of the chip.

For the TS68000 and HD6845SP, I contacted the Chinese, they have offered me very cheap prices, but I am not sure what they really offer me, I do not trust the Chinese sellers of vintage chips.

I have ordered a TL866 II Plus that seems to work with more PAL / GAL references, but finally if I do not get the code to write a new chip with the AT16V8, it will not be useful, and it will be a waste of money, although it is cheap and some useful I will give him

Can you suggest a good system to reverse engineer and write a new chip? I have the original PAL16L8 and PAL16R4. I tried to read them with TL866, but I suspect that it really does not read anything, although the software says that it was read successfully, basically because if I do not put any chip in the programmer and press the option to read, the message that the programmer gives is exactly the same, it was read successfully and the content of the reading does not seem useful.

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #10 on: November 11, 2018, 09:25:03 pm »
The Atmel/Microchip ATF16V8B/BQL should replace those, in the same package & pinout
You can download their WinCUPL tools and create JED files from scratch for these.

The problem is to know how the original PAL that I have here works, to apply reverse engineering to know how the outputs change according to the inputs. I think it's simple, but I never did it before.


Quote
that looks like Simulation info, it shows IN and OUT expected. Do you have the boolean equations too ?
Often, that simulation info is appended to the JED file to allow test after program.

No, I only have those files with input - output status. I thought it was the content dump of the chip, but it seems to be the state of the outputs according to the inputs for all the combinations of inputs.

And after trying to read the PAL with my TL866, I think I do not really read anything, so it seems that the chips are protected against reading.


Offline up8051

  • Contributor
  • Posts: 49
  • Country: pl
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #11 on: November 11, 2018, 11:32:20 pm »
Attach files that you have (with input - output status).
I will look at them.

Are they from pinball DMD?

Regards,
up8051
 
The following users thanked this post: luiHS

Offline TK

  • Frequent Contributor
  • **
  • Posts: 750
  • Country: us
  • I am a Systems Analyst who plays with Electronics
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #12 on: November 12, 2018, 12:45:14 am »
I was able to reverse engineer a GAL chip from a vintage HP test equipment by analyzing the schematics to verify the input and output pins, then using a logic analyzer on the device.  It was a state machine.  It can be combinatorial logic as well.

Here is the link to the post I created with some basic information:

https://www.eevblog.com/forum/testgear/how-to-activate-ibasic-on-vintage-hp-871xb-network-analyzers/msg1251274/#msg1251274
 
The following users thanked this post: luiHS

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #13 on: November 12, 2018, 02:11:17 am »
Attach files that you have (with input - output status).
I will look at them.

Are they from pinball DMD?

Regards,
up8051


You can download from this link.
https://www.ipdb.org/files/3593/PALDUMP_DMC_192x64.zip

Its a display controller board for pinball games.

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #14 on: November 12, 2018, 02:13:01 am »
I was able to reverse engineer a GAL chip from a vintage HP test equipment by analyzing the schematics to verify the input and output pins, then using a logic analyzer on the device.  It was a state machine.  It can be combinatorial logic as well.

Here is the link to the post I created with some basic information:

https://www.eevblog.com/forum/testgear/how-to-activate-ibasic-on-vintage-hp-871xb-network-analyzers/msg1251274/#msg1251274


Thanks, I will check it.


Online pelule

  • Frequent Contributor
  • **
  • Posts: 478
  • Country: de
  • What is business? It’s other people’s money
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #15 on: November 12, 2018, 05:14:36 am »
You will learn something new every single day
 

Offline up8051

  • Contributor
  • Posts: 49
  • Country: pl
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #16 on: November 12, 2018, 05:34:04 am »
Fast reverse engineering of U26 PAL16L8:

INPUT:
PIN1   /UDS
PIN2   /LDS
PIN3   /AS
PIN4   A21
PIN5   A4
PIN6   A22
PIN7   R/W
PIN8   A3
PIN9   /DTACK

OUTPUT:
PIN12  /ROMWHI = /UDS * /A21 * A22 * /RW * /DTACK
PIN13  /ROMWLO = /LDS * /A21 * A22 * /RW * /DTACK
PIN14  /ROMLO  = /LDS * /A22 * RW
PIN15  /BOUT   = /AS * A21 * A4 * A23 */RW */A3 * DTACK
PIN16  /RAMEN  = /AS * /A21 * A22
PIN17  /VPA    = /AS * A21 * A22 * A3
PIN18  /ROMHI  = /UDS * /A22 * RW
PIN19  /BON    = /AS * A21 * A4 * A22 * RW * /A3

Of course, to check.

Regards,
up8051 aka JarekC.DIY

 
The following users thanked this post: luiHS

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #17 on: November 12, 2018, 08:54:16 am »
 

Thanks.
I understand that you generate the formulas that define the state of the outputs, according to the inputs, using the truth table obtained by applying signals to the inputs and checking how the outputs vary. The truth table, is what I understand that is available in the dumps that I have put, and not the actual content of the chip.

I have look in Google, and I have found some scripts that generate a JEDEC file according with the truth table.

https://github.com/psurply/ReGAL

http://www.vcfed.org/forum/entry.php?318-Cloning-a-PAL-HAL-(Part-4)&goto=next
http://www.vcfed.org/forum/entry.php?319-Cloning-a-PAL-HAL-(Part-5)&goto=next

And I suppose I can use the generated JEDEC to program a new ATF16v8 chip with the Chinese programmer TL866 Plus II. What I'm not sure, is if the JEDEC created by these scripts can only be used in PAL16L8 or GAL16v8, or if a JEDEC file is universal, with a format that works for all PAL / GAL.
« Last Edit: November 12, 2018, 09:01:52 am by luiHS »
 

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #18 on: November 12, 2018, 09:08:13 am »
 

What a coincidence, in the examples of the ReGAL scripts, they have precisely applied reverse engineering to one of the three PALs that I need to recover, the reference U26 of the Data East / SEGA display controller board for pinball machines.

https://github.com/psurply/ReGAL/tree/master/examples/data_east/68000_dotdisplay/U26

I need now also reverse engineering for U15, U16, and the JEDEC files for the three original PAL.

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #19 on: November 12, 2018, 09:45:15 am »
I did a similar "refurbish". It may help.
https://www.eevblog.com/forum/repair/datron-cpu-board-pal-data-(1271-1281-)/msg1346121/#msg1346121

Hi.

Where can I download the Minilog program?
Do you know if it works in Windows 7 64 bit?

Thank you.



Offline up8051

  • Contributor
  • Posts: 49
  • Country: pl
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #20 on: November 12, 2018, 10:08:49 am »
Hi,

Yes, equations are created manualy based on truth table (paldump file).
Signal names are taken from the pinball diagram.
The equation for BOUT has been corrected.

In attachment:
u26.pds - source file for PALASM
u26.jed - file for programmer GAL16V8 (without test vectors)
u26.jdc - file for programmer GAL16V8 (with test vector).

Truth tables from paldump file and generated from PALASM are the same.

Regards,
up8051 aka JarekC.DIY
 
The following users thanked this post: luiHS

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #21 on: November 12, 2018, 10:50:32 am »
Hi,

Yes, equations are created manualy based on truth table (paldump file).
Signal names are taken from the pinball diagram.
The equation for BOUT has been corrected.

In attachment:
u26.pds - source file for PALASM
u26.jed - file for programmer GAL16V8 (without test vectors)
u26.jdc - file for programmer GAL16V8 (with test vector).

Truth tables from paldump file and generated from PALASM are the same.

Regards,
up8051 aka JarekC.DIY

Thank you very much.
Can I use those JEDEC files for ATF16v8 ?, I prefer to use a chip that is in production, like this one of Atmel/Microchip.

So to do the other JEDEC of U15 and U16, I need to use the truth table, which I already have, and generate the JEDEC using PALASM?.

I do not understand how create you the equations. Its made by PALASM and the truth table in some text format file ?.
« Last Edit: November 12, 2018, 10:57:50 am by luiHS »
 

Offline up8051

  • Contributor
  • Posts: 49
  • Country: pl
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #22 on: November 12, 2018, 11:20:13 am »
GAL16V8 and ATF16V8 have the same  fuse map.

Karnaugh map in my mind.

Regards,
up8051 aka JarekC.DIY
« Last Edit: November 12, 2018, 11:22:52 am by up8051 »
 
The following users thanked this post: luiHS

Offline luiHS

  • Regular Contributor
  • *
  • Posts: 204
  • Country: es
    • Pinballsp
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #23 on: November 12, 2018, 10:35:56 pm »
GAL16V8 and ATF16V8 have the same  fuse map.

Karnaugh map in my mind.

Regards,
up8051 aka JarekC.DIY

From the PAL input/output data to the equations, I must do it manually, is there no tool that generates the equations automatically?

I understand that the steps to do are: Input/Output data ---> Equations ---> JEDEC file.

I hope the ReGAL scripts can do it, everything automatically. I only have the input / output status data for each PAL, I have no experience on how to generate the equations manually, I suppose there will be tools to do it automatically, like these ReGAL scripts or others.
« Last Edit: November 12, 2018, 10:40:09 pm by luiHS »
 

Offline up8051

  • Contributor
  • Posts: 49
  • Country: pl
Re: PAL16L8, PAL16R4, GAL16V8B replacement
« Reply #24 on: November 13, 2018, 03:52:09 am »
The same for U16. (GAL16V8 PDS ,JED, JDC).

Because of registered outputs, simple truth table can be inadequate.
So it have to be tested in oryginal board.

Regads
up8051 aka JarekC.DIY
 
The following users thanked this post: luiHS


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf