How to make a replacement for the 82S123 ROM chip (ADS-1 board – U19) in Ursa Major Space Station SST-282, using an 22v10 Programmable Logic chip and a cheap EPROM programmer.
I used Atmel ATF22v10CQZ-20PU and the common TL866iiPlus.
This is not a step-by-step guide, you are expected to know how to use an EPROM programmer.
What is the N82S123N chip
The Space Station doesn’t have a processor, but you can still select different reverb-, filter- and delay algorithms. This is achieved with hardware buttons that make the 82S123 IC output various control signals to the rest of the machine.
The 82S123 is not an ordinary EPROM, it’s a bipolar TTL PROM. It is way faster than EPROM, with response times in the nanoseconds. You can get them NOS on eBay. The problem is that an EPROM programmer that supports this type of chip is expensive.
I haven’t verified this, but these chips should be direct replacements for the 82S123:
7112, 27S19, 6331-1N, 74S288, 18S030, 7603
The ATF22v10C Programmable Logic IC
The ATF22v10 is a Programmable Logic chip, made by Atmel. Other brands are sometimes called PAL chips. ATF / PALs are much more flexible than EPROMS, mainly because you can run small programs on them, so they behave differently depending on signals present on the input pins. They are also very fast, and that’s why they are fit to replace an 82S123.
So in short, I needed the 22v10 to output one of 32 numbers, depending on the state of its input pins – just like a small EPROM.
Research
Luckily I found someone that made a 82S123 replacement using the GAL22v10D, which is “practically the same” chip: REPROGRAMMABLE 82S123. Beware though that not all EPROM programmers and ATF / PAL / GAL chips are compatible.
So I read a bit of documentation on 22v10, as well as the programming language (CUPL Compiler for Universal Programmable Logic) and tool (WinCUPL)
Hardware adapter
22v10 is a 24-pin chip, whereas 82S123 is only 16-pin, so an adapter is needed. Please refer to this site for detailed information: REPROGRAMMABLE 82S123
My version looks like this
Programming the Space Station data to 22v10
You need an EPROM programmer that is compatible with the 22v10 brand that you have
- Download this JDEC file (the output from my WinCUPL code)
- Upload the JDEC to your 22v10 using your EPROM programmer
Done
Addendum
“Why not use the smaller 16v8 PAL instead? It’s smaller but it has enough pins…”
Well, if you try to compile any code that contains a 32 byte ROM table and the necessary pin bindings in WinCUPL it’s going to fail. WinCUPL even outputs a nice Word document that shows exactly where the resources are exhausted.