Porting TSS8 to the PDP12

80 views
Skip to first unread message

Rick Adams

unread,
Aug 18, 2024, 2:23:15 AM8/18/24
to PiDP-8
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, and my boss called in a buddy 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 that he wanted to run TSS8 on.  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, 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 (but not branch)  if it was in the other mode, so that you could figure out which mode it was in and do something appropriate 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 terminal until quite a number of characters had been entered.  My guess is there were pointers to a ring buffer 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 the terminal unlocked.

Well, we could do that each morning, sure, but 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 over their corresponding OS images on the disk.  Then I rebooted again, and everything was miraculously hunky-dory.

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.

timr...@gmail.com

unread,
Aug 18, 2024, 3:39:37 PM8/18/24
to PiDP-8
Neat.  I doubt TSS/8 was ever made available for the 12.  But who knows.  Our local community college also ran TSS/8 and provided service to all the local high schools and even junior high via dial up modem and TTYs.  I was hooked the first time I got online.  I became a programmer and never looked back.  I do know a professor at the community college was working on a way to allow one user to have access to a 2nd 4k of memory.  They called it TSV/8.  For virtual.  Don't know how far they got and they had all moved on when I finally attended that community college.  I do know when I was there that they interfaced a punch card machine to it somehow.

David Betz

unread,
Aug 24, 2024, 1:58:51 PM8/24/24
to Rick Adams, PiDP-8
This reminds me that I was hoping Oscar might make a reproduction of the PDP-12 front panel. It was the first DEC computer I programmed back I. 1972.  I guess he’s off on other things now though. 

Sent from my iPhone

On Aug 17, 2024, at 10:23 PM, Rick Adams <rick.a...@gmail.com> wrote:

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.
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/713ca463-e4e5-434d-9826-2be5dee7148cn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages