Crazy retro design: TTL calculator with diagnostic mode - Page 1
Forum section: electronics / projects

author: rafi8112
author_rank: Newbie
timestamp: June 13, 2023, 04:32:02 pm
content: Hello all users!I designed this project three years ago - but only now I decided to present it on a foreign forum.The link to the original source is here:https://www.elektroda.pl/rtvforum/topic3723318.htmlI would like to present a working project on which I spent roughly five and a half years, or more precisely, about 6000 hours.One day in May 2014, I felt an incomparable desire to learn the exact principle of operation of a rather trivial piece of equipment, which is a calculator. It seems to be a simple device and so obvious that it's a shame to dwell on it...At first glance, you can really say that, but is it so obvious?I remember that the first night was sleepless - I was disturbed by thoughts that crowded in my head trying to grasp the principle of operation of this very common device. I thought that over time, this unrestrained exploration of secret knowledge would evaporate on its own, but nothing could be further from the truth...I began to wonder more and more how to build at least a four-function calculator from basic logic bricks without using any advanced integrated circuit. For the first weeks I had various ideas and came up with more and more advanced solutions.I started searching the internet, first Polish websites, forums, etc. I didn't come across anything but one small project:https://www.elektroda.pl/rtvforum/topic2456401.htmlThere were many questions about the construction of such a calculator, but the answers of other users did not bring anything specific either.I went a step further and searched the world's internet - it was much more interesting here, there are pages devoted to the history of electronic calculators - very extensive anyway. Due to the fact that I do not know English, I translated with Google Translate into our native language. Analyzing the content of these pages, I learned a lot about these devices - I was surprised that there were even tube versions, and later on hundreds of transistors and diodes. I was amazed by the ingenuity of the engineers of the time, and I was amazed that these prehistoric machines worked at all. I also came across calculators made of integrated circuits with a smaller scale of integration, I found diagrams, service manuals and manuals for them, and on some websites there were their simulators. I call myself a bull's-eye, but nothing could be more wrong ... The diagrams were very illegible, unintuitive and generally very confusing, each calculator had its own original operation specifics, so even if I managed to completely recreate the exact principle of operation of one of these calculators, and then "reconstruct" to the specificity of modern basic integrated circuits - I would not feel satisfied and in my opinion I would have committed plagiarism.It was a little easier with the analysis of algorithms of mathematical operations - here too there were quite peculiar nomenclature and symbolism, and due to the fact that I have never used a microprocessor in any of my projects in my life, and I have practically no idea about programming - I had to learn all these operands, basic shifts bits, jumps, increments and decrements of counters and many, many others. The simulators of these old calculators turned out to be quite helpful - thanks to that, every day I learned how to cleverly combine them to finally create my original machine language, and then implement it to my own processor built of basic logic bricks. I have to admit that some of the calculator simulators were so well made that they even contained the original calculation errors of these machines. Another challenge arose - improving them ... Finally, I succeeded, and I gained some more experience. After analyzing several simulators - I finally decided to create counting algorithms that I will use in my device. As part of consolidating my knowledge, I wrote them down very carefully on hundreds of sheets and, using the dependencies, I counted mathematical tasks dry. While carrying out all these operations, I built diagrams for each action. At the same time, I changed and improved a lot, and also eliminated the original bugs.In the meantime, I was also developing hardware circuits that became more and more complex. I decided on the TTL family circuits because I have a fondness for them - in elementary school, being in the sixth grade, I wanted to construct a robot using these circuits, the construction took me almost two years and turned out to be a complete failure, among others, because the logical one at the input is after all, the same as the input not connected to anything - I didn't know it thenAs I wrote above, at the very beginning I wanted to construct "only" a four-function calculator, but the project grew a bit - I added: square root, square power, division by inverse and percentage operations, also after further consideration the device received the ability to display the PI number, additional memory M, copying the result to the active input register, cross-replacement of arguments, undoing the entered values and comprehensive handling of negative numbers.Month after month passed, I was constantly designing the control logic that was supposed to understand my machine language, more and more voluminous documentation was created where I tried to note and describe everything.When I had most of the part designed, my dear friend from Warsaw, Mr. Piekarski, suggested that I add a diagnostic function to this device - after thinking about it, I really liked this idea, although it consumed an additional almost 100 integrated circuits ...Once I had everything ready on "paper", I began to thoroughly analyze every circuit of the device, every connection and every dependency between the modules (initially, at that time, I divided the device into 30 modules) and the instructions of the algorithms that "powered" the logic of the calculator. It took me almost 9 consecutive months, but thanks to this I eliminated about 30 errors that were more or less important in the work of the future project. In parallel with all this, I also started designing tiles in the first version, it was supposed to be 6 double-sided tiles with a total area of about 1.5 m2. Thanks to this, I gained another experience in manual PCB design. Over time, it turned out that the double-sided plates are not very effective in relation to the required density of elements, believe me, I really stretched myself by running several thousand paths, including thousands of vias. Unfortunately, I was sniffing out problems more and more because the connections were getting too long, and there was simply no room for signal conditioning elements, my intuition told me to abandon this idea of using double-sided laminates anyway. And so a few months of work went ...However, nothing is lost, I knew what "skeleton" of this device I had to create, I saw it all in my imagination - I went all out and decided to use an eight-layer board - its dimensions had to be at least 66 by 46 centimeters - that was the first assumption. I started designing such a tile, it took me another few months, in fact I still didn't like something and I was never completely satisfied, but in the end I had to finish it - its final size is 72 by 50 centimeters. Now it was enough to produce it ... Initially, a year earlier, I talked about this matter with a company from Gdańsk, which was the only one of all the companies in Poland to which I sent inquiries that was able to undertake the production of such a large plate, of course cooperating with a factory in China. I had no choice but to send the Gerberas of this project to this company. The best was in a few hours when I was going through my inbox - I got an e-mail that they would not take on this task because with one piece I would give up anyway due to the huge cost. I thought I would drop to the ground right away, my heart started pounding like crazy - being at the very end of this terribly long road, someone poured a bucket of cold water over my head. Don't ask me what was going on when I called the company, trying to "gently" talk about the situation... Fortunately, I convinced them that I would pay them the expected high amount and finally the Chinese had something to do... The CD reached me about a month after placing it order, I remember the night before her arrival - I had dreams that there are transparent layers on it, and that it has a much smaller dimension, etc. However, to my great joy, the next day the disc arrived as it should be, I could not be amazed at the precision of workmanship in such a large area. I finally started the assembly, which took almost three months - I also had to bend quite a lot, a board of this size, even 2mm thick, after soldering many thousands of elements, was very unstable, it became very heavy, it had to be handled better than an egg . It's good that I used several dozen M2 and M3 spacers in the mounting holes, which helped a bit and kept the board in check.When I had soldered all the elements, more precisely, several thousand through-hole elements, I started to assemble integrated circuits to the sockets, creating device modules from them. I launched and tested more and more modules - with such a large project it is necessary to run sequentially to detect possible irregularities. It was January 1, 2020, the day after my 38th birthday, around 3:30 am, I had three most complicated modules left to run - I took a great risk - I installed the remaining dozens of systems and launched the device comprehensively. I began to check them more and more carefully, more and more tests brought positive results. After a comprehensive check, I knew that there were some bugs that I would have to eliminate, but it was almost dawn, so I went to sleep. Errors turned out to be of a smaller and larger caliber. I eliminated them for the next month, the worst error was related to the square root - here I really had to spend a lot of time to eliminate it, the irony was that on paper I was doing a simulation of counting the square root of two, and this error concerned, among others, the square root of the number 3. Over the years I have dreamed many times that there is something wrong with this element - reality only confirmed it...After the successful elimination of all errors, it was time to disconnect the laboratory power supply and connect the newly constructed power supply for this device, and here it was not without a mistake - I ordered a transformer with a slightly too low nominal voltage, I wanted to reduce power on the transistors of the linear stabilizer as little as possible. Routine got me lost and I couldn't recover the 1.5V that got reduced on diodes, wires and other "lossy" components along the way. Another irony of fateI ordered a second transformer with a higher voltage and finally the power supply started working properly, the calculator is powered by only one voltage +5V. During operation, it consumes about 12A of electricity.In short:The processor of the device interprets 59 instructions, each instruction may contain from one to a dozen executive functions, which can be blocked with one of the 40 conditional functions.Up to 396-bit RAM based on 99 four-bit shift registers 74LS194The ROM is 3840 bits, it is a diode memory with an organization of 16 by 240The digit input registers A and B and memory register M are 12 digitsThe result register W is 24 digits longThe device has 105 LED displays, where 65 of them are working displays, while the rest are used in the diagnostic mode, 33 keyboard buttons are backlit and respond to several dependencies in real time.The calculator has 400 LEDs that are used for various purposes in standard and diagnostic mode.In addition, the device includes: 477 integrated circuits and the same number of sockets, 370 resistors, 7 ladders, 165 capacitors, 1678 switching diodes, 270 transistors and several other electronic components.There are 15 algorithms in ROM:- DIG (entering digits from 0 to 9 or the string 00 into the active register)- MS (copy active register to M register)- MR (copying the M register to the active register)- WRC (transfer of the contents of the W register to the active register)- AB (cross replacement of the contents of registers A and B)- BK (retraction of the last entered digit in the active register)- PI (loading the number of PI to the active register)- ADD/SUB (arithmetic addition or subtraction of registers A and B)- MUL (arithmetic multiplication of registers A and B)- DIV (arithmetic division of registers A and B)- SQRT (square root of the active register)- X2 (squaring active register)- 1/X (divide by the inverse of the active register)- +%-% (transfer of the content of the W register containing the result of the operation: [(B/100)*A] to the B register)- ACW (positioning to the right of the result in the W register by getting rid of unnecessary zeros on the left and right).All the above algorithms except: MUL, DIV and SQRT are my own. I suggested the algorithms: MUL, DIV and SQRT in the simulators of old calculators, probably from CASIO, but I had to fix them, remake them so that they were digestible for the logic of my device. On the other hand, I think that these three algorithms are very obvious for people dealing with professional programming and there is nothing groundbreaking in them.The machine language and all instructions contained therein are my own.The control logic that creates all the modules and circuits in the device is invented by me.The calculator is a device 100% invented and built by me - no third parties participated in the project.Below is the address to three videos presenting the device in more detail:https://drive.google.com/drive/folders/1OtaiIVUoTU29yrk9m-f7NktsKwMqPHvK?usp=sharingLink to the videos - unfortunately of poorer quality can be found here:https://www.youtube.com/@rafalwisniewskiTTLYou can read a bit about me here:https://pl.linkedin.com/in/rafa%C5%82-wi%C5%9Bniewski-20b469215A little more technical about the device:https://elportal.pl/projekty/hobbyp/446-kalkulator-ttl-czesc-1-schemat-montaz-opis-ukladuhttps://elportal.pl/projekty/hobbyp/464-kalkulator-ttl-czesc-2-omowienie-modulowPhotos:To sum up, I would like to infect all amateurs and professionals with my enthusiasm in creating electronic projects, I did not get any electronic education, I graduated from a vocational school in the profession of a salesman, then evening high school, and then I interrupted my extramural studies not related to electronics twice, and I feel like an electronics engineer since always ... I do not negate any schools, universities and education - a big bow and respect for you. I just wanted to show that anyone who loves their field and has just a little talent and works hard on their skills can achieve a lot. I wish that everyone who starts their adventure with electronics will find the most appropriate way for themselves, and those who already follow it will improve all the time...I invite you to a constructive discussion.

author: MK14
author_rank: Super Contributor
timestamp: June 13, 2023, 05:13:12 pm
content: It would be interesting to see a video, of it in operation. Perhaps, performing a complicated calculation.If there already is such a video, in the link(s) you posted, then my apologies, because I missed it.EDIT: Actual found some, in opening post.https://www.youtube.com/@rafalwisniewskiTTL

author: globoy
author_rank: Frequent Contributor
timestamp: June 13, 2023, 05:18:43 pm
content: Congrats on seeing your vision through. That's a complicated beast! I second the request for a video. There are a lot of LEDs on that thing. Probably great fun watching it compute.

author: Wolfram
author_rank: Frequent Contributor
timestamp: June 13, 2023, 06:06:07 pm
content: Absolutely fascinating work, congratulations on finishing such a massive project!

author: Benta
author_rank: Super Contributor
timestamp: June 13, 2023, 06:20:30 pm
content: Incredible! I find it stunningly cool.And the upside: it's TTL, so you can turn the house heating off.

author: ale500
author_rank: Frequent Contributor
timestamp: June 15, 2023, 05:00:42 pm
content: This is some impressive work, I love TTL too720x500 mm 8 layer board...

author: Ian Jenson
author_rank: Newbie
timestamp: June 19, 2023, 12:45:21 am
content: I enjoyed reading about your calculator project very much. I did a similar project, with similar motivations to yourself which you can read about here...www.vccomputer.comYou might consider adding your project to....https://www.homebrewcpuring.org/

author: Berni
author_rank: Super Contributor
timestamp: June 19, 2023, 05:47:44 am
content: Wow that is a humongous PCB.The layout of that must alone have taken a ton of work, let along designing something so complex. The huge LED display makes it look all that more impressive. Heck the power use of the display alone must be quite a bit.

author: rafi8112
author_rank: Newbie
timestamp: June 19, 2023, 08:29:40 am
content: @Ian JensonUnfortunately, I don't know English - that's why I had to use google translator to translate the original text - I hope that this translator translated it satisfactorily.I saw your project, it also has the soul of an electronics artistAs for the page you provided, I have known it for a long time - because in my time I was looking for people similar to me with the same inspirations and with this madness of designing from basic logical functors.However, from what I know - you need to have your own website to present your work - if I'm wrong, write to me.

author: rafi8112
author_rank: Newbie
timestamp: June 19, 2023, 08:37:05 am
content: @BerniThat's right, the project required a lot of work and care and perfecting all the details. As for the current consumption of the displays, it is negligible due to the fact that all displays are multiplexed. The total maximum current consumption of the device is about 12A.