Food Fight PLS153 / 82S153 to GAL replacement

Background

Food fight uses an old and very obsolete Signetics programmable logic part at location 10P on the game board,
the Atari part# is 137313-001 and the part number of the chip is 82S153. This IC is an mid 80s Programmable 
Logic Array (PLA) and about the equivalent of an PAL16L8. On Food Fight the '153 is used for  address decoding 
and generating two control signals for the 68000, VPA and DTACK, so it's pretty much critical to operation of the game !
In the mid'80s this part was renamed from the 82S153 to the PLS153 so these part numbers can be interchanged.

The nicest feature of the PLS153 is that is has no security fuses !!  You can just read the contents straight out and
burn onto a new chip, which is great it you need to repair one and have a spare board lying around. Providing 
your burner can read and program them that is..

Anyways.. fast forward 20 years and the PLS153's are getting pretty scarce, but PALs and GALs are as common 
as dirt and can be programmed by almost anything that considers itself to be a device programmer.

So this got me thinking... how about converting Food Fight to use a GAL ? The pinout matched perfectly with a 
GAL16v8, and the PLS153 isn't a very big device so it should fit. All that remained was to convert the fusemap 
from one device to the other.

Unfortunately there didn't seem to be any automated tools for converting the fusemap read from the '153, so it
came down to a case of spending quality time with a 1987 signetics databook to figure out how the fusemap of 
a '153 is constructed and reverse it back into the base equations. Fortune smiled as it wasn't a very complex map, 
all combinatorial logic, no feedbacks or anything funky, so it was straightforward to convert it into the source 
equations.

With the source equations it's then just a case of writing a simple ABEL program for the GAL part to match the 
inputs and output with the 82S153 part. The results are below....

The replacement GAL's been running on a Food Fight for several hours without problem so I'm pretty confident that
I got the equations right and it is working correctly :)

Pinout & Equations

The pinout of the original 82s153 and replacement GAL16v8

Pinout

Equations

!AS  Vcc
a23  !NVRAM  =  !as & a23 & !a22 & !a21 & a20 & !a19 & !a18 
a22  !IO  =  !as & a23 & !a22 & !a21 & a20 & !a19 & a18 
a21  !Audio2  =  !as & a23 & !a22 & a21 & !a20 & a19 & a18 
a20  !PF  =  !as & a23 & !a22 & !a21 & !a20 & !a19 & !a18 
a19  !Audio1  =  !as & a23 & !a22 & a21 & !a20 & !a19 & a18 
a18  !Audio0  =  !as & a23 & !a22 & a21 & !a20 & a19 & !a18
FC2  !DTACK  = ( !as & !a23 ) + (!as & a23 & !a22 & !a21 & a20 )
FC1  !VPA  = ( !as & fc2 & fc1 & fc0 ) + ( !as & a23 & !a22 & a21 & !a20 )
Gnd  FC0

All the outputs are active low, pins without equations are inputs and power

Source & Object Files


The JEDEC files for the original and replacement parts and the ABEL source for the GAL16v8.

Original PLS153 / 82S153  JEDEC file
ABEL source code
Compiled GAL16v8 JEDEC file

 


Back to Arcade Games