Standing on the Shoulders of Giants

First code. Two sketches. One just listened. The other tried to talk. Neither worked well. But I could see signals on the bus.

Swapped the CD4049 for a CD4050 I ordered. I'd been using the inverting buffer because it's what I had in my stash, negating the signal in software. Worked, but added confusion to every debugging session. The CD4050 passes signals straight through. One less thing to think about.

Next day I wrote a dozen more. Tried interrupts, then polling, then fuzzers that sent every byte from 0x00 to 0xFF to see what the typewriter does. All based on FozzTexx's documentation, from reverse engineering the communication between the typewriter and the PWP. Getting closer, but nothing reliable.

A screenshot of a logic analyzer connected to the typewriter pins
FozzTexx documenting the signals sent between the typewriter and the PWP

Day after I fried the typewriter, FozzTexx replied on Mastodon. "What model Smith Corona do you have?"

Told him what had happened. SD-250 Spell Right II. Fried it by shorting pin 3 and pin 4. Turns out it could also function as a smoke machine.

He created a GitHub repo and shared the schematic for Typarona, his Smith Corona project - an adapter bridging the typewriter and a modem - to get it to behave as a teletype able to dial into his BBS.

Hardware schematics only. Said he'd been in the middle of a massive firmware rewrite two years ago and needed to hunt it down.

Found it that afternoon. Pushed it to the repo. Said he's not sure if it even builds.

Didn't matter. I could read it.

Compared my wiring to his circuit schematic. Identical, except I was connecting common ground to pins 1, 5, and 7. Probably fine. So the problem was in my code.

My prototype board - similar wiring to FozzTexx's schematic

Asked about clock signaling. About the magic value that enables printer mode. About whether the typewriter signals key presses on its own or needs polling.

He answered from memory. Two years since he'd worked on it. Some things he wasn't sure about. Said so plainly. Kept answering anyway.

Then:

FozzTexx: "Are you in the US? Send me your address and I can mail you one of the PCBs."
"Are you in the US? Send me your address and I can mail you one of the PCBs."

A stranger on Mastodon, offering to mail a custom device he built across the country.

Typarona, FozzTexx's Smith Corona project - an adapter bridging the typewriter and a modem - to get it to behave as a teletype

Two days later, printing worked. First real characters on paper that I intended to print. Using his firmware as reference, I found the bugs in mine.

Gibberish at first. Wrong characters. Upside down text from paper going through twice. Then unknown dumps from the fuzzers, hex codes, bold toggles. Slowly getting closer. Until the full character set printed clean on one line.

Gibberish at first. Wrong characters. Upside down text from paper going through twice. Then unknown dumps from the fuzzers, hex codes, bold toggles.

That's enough for today.


Still couldn't read key presses. REQ line constantly high. No activity when pressing keys. Asked FozzTexx. He thought the typewriter should always signal key presses on its own.

That part I'd have to figure out myself.

Added a comment at the top of my SmithCorona.h file: "Smith Corona protocol reverse engineering by @FozzTexx". Going to keep that.