It was never so easy to get YouTube subscribers
Get Free YouTube Subscribers, Views and Likes

🇧🇾🇱🇹 Сантака 002 (Santaka): Part 6 (Dumping PLA contents) [TCE

Follow
The Clueless Engineer

Had a request to help fix a Santaka by providing the output from one of the PLAs (programmable logic array), namely D14.

This machine is a Sinclair ZX Spectrum clone of Lithuanian and Belarusian origin it doesn't use a ULA nor is it entirely discrete logic. It uses several PLAs (программируемую логическую матрицу, or "programmable logic matrix") which, if damaged, would render the machine effectively unfixable as their original programming logic equations are unknown.

The D14 part is a КР556РТ1 (KR556RT1) chip that provides 16 x 48 (AND) x 8 (OR) ... so basically 16 inputs and eight outputs.

I guess this could be simulated by a 64Kbyte EPROM (i.e. 27512) ... obviously this is a massive overkill but unless you can figure out the original logic equations ... ?

It seemed the easiest way to do this would be to use an Arduino to pulse each address (0x0000 to 0xFFFF) and capture the eightbit output.

Rather then starting from scratch, I figured there would be multiple examples of using an Arduino to dump a ROM (effectively what we're doing). This article & sample sketch was perfect:
https://danceswithferrets.org/geekblo...

I made some small modifications increasing the address width from 14 bits to 16 bits, and the resulting address range from 16Kbyte to 64KByte.

I was worried about damaging the PLA by desoldering it so I decided to try dumping incircuit. Just one minor modification ... cut the Vcc power rail to pin 28 so the whole machine didn't try to power itself from my Arduino (which it did, on my first attempt) ... and it seemed to work!

Some sanity checking still needs to be done some outputs are used as inputs so a proper examination needs to be done to ensure that these line up.

As I'm using a Freetronics EtherMega (with builtin SD interface), I just need to add some file handling code and I'll be able to create a binary file that can be written to an EPROM, as well as an ASCII "sanity check" file.

posted by trilveensw