After 40 years as a computer programmer and game developer—and the passing of his wife of 47 years—Rick has retired and is now living in Ye Olde Folks Home, where he still tinkers with tech and likes to write these amusing and/or thoughtful tales about his storied life.

Porting TSS8 to Run on a PDP12
Christmas Memories
Life in Ye Olde Folks Home
The Perils of A Capella Singing
Bringing Coffee for Alice
“Turn Off the Lights!”
What to Say to the Grieving
While Waiting for the School Bus
An Unfortunate Misunderstanding
In Memoriam: Betty Lou Edwards-Vessel
A Little Knowledge is a Dangerous Thing
Who Would Jesus Stab?
The Eggshell Incident
First Chapel Service at Ye Olde Folks Home
A Yearly Ritual at Menards
“Mr. Loftus, the Town Hero”
The FCAL Project
Pepe Le Pew Finds New Lodgings
In Memoriam: Dale Lear
Bingo Bedlam at Ye Olde Folks Home
There’s a Shortage of Perfect Movies…
One Day at the DMV
A Visitor from Microsoft
“He Who Should Not Be Named”
Downton… Abbey?
This Home is a Liver-Free Zone
My 9/11 Rememberances
My Yearly Pumpkin Spice Rant
Done In By Baker’s Square
My Eulogy for Alice
“Dear Rikki…”
A Clean, Well-lighted Place for Books
Memories of my First Computer
A Little Excitement at the Staff Meeting
The Tale of Mrs. Butler
Sun, Sand, and a Margarita
“Thou Shalt Not Steal”
Troubleshooting at Ye Olde Folks Home
Stories of my Mother
I’ve Heard Angels Sing
Elevator Mishap at the Eye Clinic
One Day at Fair, Isaac
Saturday Morning Cartoons
A Sprig of Parsley
Fun With Recruitment Ads
Leave Her to Heaven
“Squirrel!”
Bring me Dave Bringle!
Beware! The Oldsters Are Coming!
Life Among the Progressives
A Family Ritual While Watching Masterpiece
The Unforgettable General Oppy
“Don’t Even THINK About Parking Here”
A Dubious Plan Gone Awry
The Singing Christmas Tree!
One Day in the Hospital Lab
The Legend of the Broken Timer
Nelson’s Fruit Stand
This One Time in Glee Club…
Star Trek References for the Win
Family Psalm, Stuck in Lodi
Vacation in Branson
Clyde and Ruth Revisited
COVID Policies During my Wife’s Fatal Illness
I Guess I’m the Shadow IT Department Now
The Tale of Clyde and Ruth
My Garden of Gethsemane Story
We Might Get a Virus!

Porting TSS8 to Run on a PDP12

Abandon Hope, All Ye Who Enter Here: this article is relentlessly technical and will only be appreciated by those of my readers who are rabid techies. It’s a pity; this was perhaps my greatest triumph.

My first computer job was to be the system manager of a DEC PDP8/I computer for the math department of my local community college.

At one point I designed and developed a circuit board to interface this computer with a serial printer. I could handle the necessary patches to the operating system, but my boss had to call in a friend of his to do the necessary wirewrap changes to connect it.

His friend was impressed with my work and asked to borrow me for a pet project of his at his workplace, which happened to be San Francisco State University.

They had a PDP12 there where he wanted to run the TSS8 operating system. The only problem was that TSS8 was not available for the PDP12.

We had the TSS8 source, and there was conditional assembly that would ostensibly support the PDP12, but it was not released code. At any rate, it didn’t work.

So I took a look and started debugging.

There were a number of interesting problems, but the most intriguing was the interrupt routine.

The PDP12 can run in two modes involving completely different instruction sets. There’s the usual PDP8/I instructions, but also it can run in LINC mode. Each of the two modes has an instruction to switch to the alternate instruction set.

There was only one interrupt routine, with one entry point, and you had no idea when the interrupt was serviced which mode was active. So the computer would start executing the interrupt code either as LINC instructions, or PDP8/I instructions.

Yeah, that didn’t work very well.

So I had to come up with code that would branch if it was in one mode, and do something harmless if it was in the other mode, so that you could figure out which mode it was in and do the appropriate thing thereafter.

After a fun weekend staying up till the wee hours I had it pretty much working, but on bootup it would ignore keypresses on the terminals until a large number of characters had been entered. My guess is there were pointers to various ring buffers that were not properly initialized.

Eventually I hit on the solution of just mashing down the HEREIS key to input a flurry of NUL characters until each terminal unlocked.

Well, we could do that, sure, but that would only last until the next reboot. That didn’t seem like much fun. Then I hit on a crazy idea.

I booted the system, unlocked all the terminals, then wrote the contents of all the resident 4K memory segments to their corresponding OS images on the disk. Then I rebooted again, and everything was miraculously fixed.

Whew.

I have no idea to this day if TSS8 was ever released for the PDP12, but I can tell you we had it running at SF State.

PDP12 front panel