Recently a user on the UKVAC forums released his home made tester known as the AR81 upon the world.
Original forum thread can be found HERE
It has many uses and more are being added regularly. The most interesting to me was the ability to check TTL in circuit.
It accomplishes this by storing states of known good chips and then taking a snapshot of all the pins at a given time then comparing the snapshot against its own database of stored states.
I’ve had pretty good results using this feature so far and found it useful enough to devote some time towards expanding its databases.
I currently have some concerns about how users of this will go about sharing their state map files. There is a github that has these files on which I believe is considered ‘official’ but what if I have a drastically different set of states stored in my file when I come to upload it, what happens to the states that might have been stored in the github version if I don’t have them in mine? Now its worth mentioning I dont really understand github and although I am aware of diff files I don’t know how they work or what their limitations are. It may well be the case that it can handle this scenario without problems. If it does then great, that’s one of my concerns dealt with.
My other concern is who’s checking these files? What if someone has uploaded a new set of states that is just wrong or flawed in some way? It could go unnoticed for quite some time.
With that in mind I set to work creating some tools to let me deal with both of these problems.
I know have 3 different program made.
The second two I made are closely related so ill deal with those first.
One of them can be used to merge two files together but will exclude any entries that are duplicates. It can also be used for checking an existing file does not contain duplicates or any other strangeness like incorrect formatting of the unused pins or the GND pin not being defined as 0 etc. Its final use is to display individual state maps on screen in a more user friendly format so they can be manually confirmed for correctness (or not). If not then they can be removed easily.
So far I have successfully used it to remove a few errors I have found among various files and I am currently in the process of putting a set of files together that I believe are functionally correct. If they aren’t in some way then at least the blame can be accounted to me and not someone else.
The third program I made is in early development but has been a massive time saver.
Take for example a 74LS245 chip. The total number of valid state combinations is 512. Now that’s excluding any states that occur while the /OE is HIGH. I personally don’t feel those should be included as the chip should be in high impedance mode. Others may completely disagree with me but that’s fine, I can see both sides of the argument. There is a new version of the software on its way that allows the user to specify and output enable pin and state so any test results will be ignored if not in the correct state.
Anyway, finding and saving all these states from a working chip in circuit is going to be a massive task. Given the relatively simple operation of the 245 it was easy enough to procedurally generate all 512 valid logic states which is what this program does.
I will add more chips as I get around to it but doing this procedurally gives me a ‘complete’ state map for a particular device.
Now, back to my first program. As anyone that visits this site will know I’m heavily into PAL chip dumping. Due to the way we ‘dump’ these PAL chips I end up with a binary files of all possible logic states for any given address. Using this binary file I can now create a state map for the tester so any compatible 20 pin PAL/GAL/PLS chip can be tested in circuit. Adding to the functionality of that it now also supports the 82S123 PROM. More devices will be supported as I get around to them as well.
I’ve spent a lot of time recently working on these files, much more time than i’ve spent actually troubleshooting with it but I think the end result will be worth it and hopefully everyone that uses one of these can benefit from it.
The files I create will be available from the relevant area in the downloads section once it has been created.