
Logic, Before ICs - todsacerdoti
https://northcoastsynthesis.com/news/logic-before-ics/
======
Stratoscope
Nice to see RTL (resistor transistor logic) circuits again! They were my
introduction to digital logic back in the mid-1960s.

I was getting into ham radio at the time, and my neighbor across the street
was a sales engineer with Motorola. He saw me putting up an antenna and said
"hey, it looks like you're into electronics, let me know if you can ever use
some free samples of our integrated circuits. Here's a databook to get you
started."

I really wanted to make an iambic Morse code keyer. This is the kind that has
a paddle with two independent levers, one for dits and the other for dahs, and
if you squeeze them both at the same time it alternates dits and dahs for you
- thus the name "iambic" [1].

So I designed a circuit using the RTL chips, gave my neighbor the parts list,
and a week later got a nice box with the parts I needed. Put together the
circuit and it worked!

Of course I didn't know anything about RF shielding, and RTL circuits were
particularly susceptible to interference. So when I hooked the keyer up to my
transmitter and tried making some contacts, it _mostly_ worked, but sometimes
it would just start generating dits and dahs all on its own because the
transmitter would feed back into my iambic circuit.

Naturally the hams I contacted started laughing at me (as much as you can
laugh in Morse code) and said "what a lid!" [2]

It was fun though.

[1] "a line of verse with five metrical feet, each consisting of one short (or
unstressed) syllable followed by one long (or stressed) syllable":
[https://en.wikipedia.org/wiki/Iambic_pentameter#Example](https://en.wikipedia.org/wiki/Iambic_pentameter#Example)

[2]
[https://boards.straightdope.com/sdmb/showthread.php?t=324119](https://boards.straightdope.com/sdmb/showthread.php?t=324119)

~~~
p1mrx
RTL just looks horrifying to me. I had one of those Radio Shack 300 in One
electronics kits, but most of the projects were analog and poorly explained.
It wasn't until years later, when I saw the simple design of MOSFET logic
gates, that my view of computers shifted from "sorcery" to "math".

Granted, with modern transistors getting progressively smaller, computers seem
to be moving back to analog sorcery again.

~~~
Stratoscope
You had the 300-in-one kit?! I had one of the much older Radio Shack kits, and
have many fond memories of those spring terminals.

It looked a lot like this 160-in-one:

[https://medium.com/@rxseger/electronic-project-kits-hands-
on...](https://medium.com/@rxseger/electronic-project-kits-hands-on-with-a-
vintage-160-in-1-eea39e6193f4)

[http://www.zpag.net/Electroniques/Kit/160_manual.pdf](http://www.zpag.net/Electroniques/Kit/160_manual.pdf)

But that lists a date of 1982. I am sure mine was many years before that. Of
course it could have been in production long before 1982 - the kit definitely
doesn't have an "80s" look.

------
Koshkin
I wonder how hard it would be today to build a robotic assembler of large-
scale devices on discrete transistors which would take a lot of time and
effort to build manually, like the "monster 6502":
[https://monster6502.com/](https://monster6502.com/).

~~~
phodo
I've waited for monster 6502 to become available. Does anyone know if it is
available for purchase?

~~~
jonsen
_Can I buy one?_

 _Hopefully in the near future! We are working towards a public launch now;
please Sign up for our mailing list if you would like to receive updates as we
get further along._

------
karmakaze
This is what was taught to me in high-school, along with analog electronics,
then moving on to 7400-series ICs. I like having been exposed to
electronics/computers at many different levels of detail. I couldn't say, make
a CPU but have broad-stroke understanding up to software.

I find it incredibly interesting that a Rust 'move' could be implemented as an
exchange operation with a thermodynamic lower energy limit of zero.

------
carapace
Once for kicks I made a 555 oscillator out of discrete parts. I was looking at
the internal circuit diagram one day and realized I had all the parts handy:
[https://en.wikipedia.org/wiki/555_timer_IC](https://en.wikipedia.org/wiki/555_timer_IC)

You make 1/3 and 2/3 voltage references with three equal resistors in series
as a voltage divider and feed those into a pair of op amps that have their
other inputs ganged together, the outputs of the op amps go to a flip-flop
made of transistors (a 1-bit memory), which controls the filling/emptying of a
capacitor (external to the IC) that sets the other (ganged) input to the op
amps.

The Exploratorium had a physical pneumatic oscillator that worked in a very
similar way. A knob on a sliding rod would trip switches at either end of its
slide that toggled the left-or-right sliding of the bar by altering the path
of the air (from a compressor under the table.)

~~~
amelius
Nice, but I wouldn't call an op amp a discrete component ;)

~~~
taneq
They might have built the op-amps out of discrete components, though. Never
says they used an IC package. ;)

~~~
carapace
Ha! No, it's a fair point. I did look at a schematic for an op amp. And then I
used half of a LM324 IC. ;-)

------
markhollis
My analogue design engineer colleague still uses this approach. One rationale
I have heard him say is that he prefers to do things with transistors instead
of logic ICs because of the direct availability of transistors, compared to
ICs. It's an advantage when doing repair. You always have transistors laying
around.

However, when you need to repair ICs on a PCB, you need a specific IC doing
your function, which you may not have in stock. I wondering why the argument
doesn't apply for transistors. The assumption seems to be that it doesn't
matter much which transistors are used.

I don't know if anyone can validate what my colleague is saying.

~~~
pjc50
_shrug_ it's fine if you like doing it that way, you're doing a small set of
functions, you don't mind the parasitic capacitance, and board space and power
consumption is not an issue. And desk space: [https://www.edn.com/jim-
williams-desk-circa-2007/](https://www.edn.com/jim-williams-desk-circa-2007/)
(if it was good enough for Jim Williams, it's good enough for you)

> The assumption seems to be that it doesn't matter much which transistors are
> used.

Weeell .. sort of, in that the variance is so high that for most designs the
parameters are designed to be irrelevant. Provided you get current capacity
right. Sometimes you genuinely need matched transistors though.

(One of the classic synths relied on a specific batch of "faulty" transistors,
which made its properties almost unreproducible until the full-digital era)

------
mormegil
If you liked this article, I believe you might find this game interesting (if
you find a browser with Flash still working):
[http://www.zachtronics.com/kohctpyktop-engineer-of-the-
peopl...](http://www.zachtronics.com/kohctpyktop-engineer-of-the-people/) (no
relation, I just liked to play it a few years ago, and learned quite a bit by
playing it)

~~~
bsder
This might be worth someone taking some time to figure out how to make it work
with Ruffle: [https://github.com/ruffle-rs/ruffle](https://github.com/ruffle-
rs/ruffle)

------
blattimwind
Discrete logic is still around and new series have been introduced even
relatively recently, for example single-gate ICs the size of a single
transistor, for when you "really just need that one NAND" on the board.

~~~
vatys
And in some cases, smaller than a transistor (as commonly packaged).

74AUP1T97 comes in a variety of packages, some less than 1mm square. It’s a
clever mix of gates internally which can be turned into many common AND/OR
type functions depending on how you hook up the pins.

~~~
exmadscientist
There's actually five of them, not just one: the ’57, ’58, ’97/’157, ’98/’158,
and ’99. (Plus four more if you count the open-drain-output types released
only by Fairchild, but I don't as they're too annoying to source reliably.)

These guys are super useful. Unfortunately it's somewhat unobvious how best to
use them, since the manufacturer literature is written in a very obtuse way.
Except for the ’99, they're all just two-input multiplexers. Some have an
input inverted and some have an output inverted. The ’99 adds an output enable
line and a fourth input, which it XORs with the output. It's much easier to
design with these things when you think of them as multiplexers!

I've made a nice chart that I use to help design with these parts, but it's on
my work machine and I'm too lazy to log in on a weekend to retrieve it. I've
made a lot of nice charts and references... I should figure out somewhere to
publish them....

Page 5 of this old NXP PDF was the starting point I used:

[https://www.avnet.com/wps/wcm/connect/onesite/8100cb9c-39d1-...](https://www.avnet.com/wps/wcm/connect/onesite/8100cb9c-39d1-4db9-816f-0f9a49032e95/NXP+-+Dual+PCB+configurable+logic+for+more+ways+to+save+space+and+lower+cost.pdf?MOD=AJPERES&CVID=lIzYjPg&CVID=lIzYjPg&CVID=lIzYjPg)

but I removed the redundant entries (most of us know how logic families work
by the time this chart is useful...) and added the descriptions of what the
parts _really_ are inside.

~~~
vatys
Yes, thanks for expanding on that. I used the ‘97 most recently so it was the
part number I remembered.

The open drain ones make good level translators as well, since the output can
be pulled up to a different voltage. If you find that chart, I’d love to see
it!

~~~
exmadscientist
Let's try this: [https://ibb.co/HDsYHFP](https://ibb.co/HDsYHFP)

(I'm not sure about that image host, but a screenshot seemed the easiest way
to get it free of the corporate G Suite, with no-strings-attached absolutely
guaranteed.)

There's more than just the five gates previously discussed because this was
supposed to be a general list of all multifunction gates: that is, if you need
to implement anything other than the obvious functions, start here first.

There were also three notes attached to the columns:

1\. XNOR = 2-XOR with 1 inverted input = A XOR !B

2\. A | !B = 2-OR with 1 inverted input = 2-NAND with 1 inverted input: A | !B
= !(!A & B)

3\. A & !B = 2-AND with 1 inverted input = 2-NOR with 1 inverted input: A & !B
= !(!A | B)

------
ecpottinger
I think the exclusive, if both inputs are zero the output should be zero, but
it look like the output will be a one in that situation.

~~~
jonsen
If the inputs are equal, low/low or high/high, the transistors are closed and
the resistor will pull the output high.

If one input is low and the other high one of the transistors will open and
pull the output low.

------
tempodox
Great article with good explanations. Almost made me miss the good old
transistor days.

------
m3kw9
The assembly language of the hardware world

