Altering TSS8 idle task

35 views
Skip to first unread message

Rick Adams

unread,
Sep 27, 2025, 8:34:09 PMSep 27
to PiDP-8
50 years ago, my first computer-related job was as a system admin for a PDP8/I running TSS8 at my local community college.  One of the things I did to amuse myself was to patch TSS8 so that the idle routine rotated a single bit through the accumulator instead of counting up in binary.  My boss was impressed.

I've tried off and on over the last 4 years to do it again, after I got my PiDP8 system working, and finally I have figured it out!

Assuming you'd want to do such a thing, you'll need to know how to use DISKLOOK to patch the disk to pull this off.  Back everything up first, of course!  I goofed up once and had to restore from backup.

PATCH SOURCE:

L2SVLK=105
L2SA=106
EXIT=5467

        *6673
        JMP I .+1       / FORMERLY ISZ NULAC
        PATCH           / FORMERLY TAD NULAC

        *7756           / PATCH AREA
PATCH,  TAD NULLK       / GET NULL LINK
        RAL             / SET LINK
        CLA
        TAD NULAC       / GET NULL AC
        RAL             / ROTATE
        DCA NULAC       / SAVE NULL AC
        RAR             / GET LINK
        DCA NULLK       / SAVE NULL LINK
        TAD NULAC       / GET AC
        DCA L2SA        / UPDATE TASK AC
        TAD NULLK       / GET LINK
        DCA L2SVLK      / UPDATE TASK LINK
        EXIT
NULLK,  0
NULAC,  1
$

PALD LISTING:

            L2SVLK=105
            L2SA=106
            EXIT=5467

                    *6673
6673  5674          JMP I .+1       / FORMERLY ISZ NULAC
6674  7756          PATCH           / FORMERLY TAD NULAC

                    *7756           / PATCH AREA
7756  1373  PATCH,  TAD NULLK       / GET NULL LINK
7757  7004          RAL             / SET LINK
7760  7200          CLA
7761  1374          TAD NULAC       / GET NULL AC
7762  7004          RAL             / ROTATE
7763  3374          DCA NULAC       / SAVE NULL AC
7764  7010          RAR             / GET LINK
7765  3373          DCA NULLK       / SAVE NULL LINK
7766  1374          TAD NULAC       / GET AC
7767  3106          DCA L2SA        / UPDATE TASK AC
7770  1373          TAD NULLK       / GET LINK
7771  3105          DCA L2SVLK      / UPDATE TASK LINK
7772  5467          EXIT
7773  0000  NULLK,  0
7774  0001  NULAC,  1

PATCH VIA DISKLOOK:

36673: 2277 5674
36674: 1277 7756

37756: 0000 1373
37757: 0000 7004
37760: 0000 7200
37761: 0000 1374
37762: 0000 7004
37763: 0000 3374
37764: 0000 7010
37765: 0000 3373
37766: 0000 1374
37767: 0000 3106
37770: 0000 1373
37771: 0000 3105
37772: 0000 5467
37773: 0000 0000
37774: 0000 0001

timr...@gmail.com

unread,
Sep 28, 2025, 10:37:31 AMSep 28
to PiDP-8
Verty cool.  But if few people were using the machine you could write a user job to do this or similar.  I wrote one that counted down.  And I may have done this rotate bit like you.  If you were the only person on the machine you
really pretty much pre-empt the nulll job from running.  It only runs that if there is nothing else to do.  Even with a few people on most are typing at their terminals so not really doing much.  I was an operator of the pdp-8i at our
local community college.  Or you could just code this into the source and re-compile it.  I have several source bases I can play with.  The only one I could never get to work is 8.25.  We ran 8.22b for most of my time there.  Towards
the end they moved up to 8.24 I think.  We had to patch in some code to prevent the kill command from anyone but K00 and the talk command to only K00 and K00 could talk to anyone.  I really loved TSS/8 as it was my first
exposure to computers and got me to go into computers.

Rick Adams

unread,
Sep 28, 2025, 1:36:40 PMSep 28
to PiDP-8
Certainly, a user program to rotate a bit through the accumulator would be indistinguishable from my TSS8 patch, and I have done exactly that in the past.

See https://github.com/yggdrasilradio/p8pp for details on this much less risky alternative.

But doing it by patching the OS is just a way to show off, plus I wanted to see if I still could do it after 50 years.

timr...@gmail.com

unread,
Sep 28, 2025, 4:56:04 PMSep 28
to PiDP-8
Ok.  That's true.  But most of us were not allowed to patch it as it was running 24/7 except for nightly backups.
Reply all
Reply to author
Forward
0 new messages