On 8/21/2022 12:36 PM, Vincent Slyngstad wrote:
> Indeed. I've never understood the point of GTF/RTF, nor ever used them,
> as they aren't "Family of Eight". I know they aren't used in FOCAL,
> which does use interrupts. Similarly, I can't believe FORTRAN's
> interrupt routines used them either, since it works on the PDP-12 and
> other pre-Omnibus machines. Likewise TSS/8. So, where *were* they
> used, and why?
In an effort to answer my own question, I went over to my gigantic
collection of all the PDP-8 source code I have ever seen, and looked.
(The collection was originally assembled as a "beat it to death"
regression test for my cross assembler.)
Here's what I found for GTF usage:
80608b Disassembler mnemonic
anmon Animal Monitoring, ISR requires it
asmblr P?S-8 Assembler mnemonic
bin P?S-8 Loader, alias for 6004 constant
bsave P?S-8 BSAVE command, alias for 6004 constant
cpxdt CONDOR disassembler, mnemonic
cref Symbol table, mnemonic
d0bb Diagnostic, checks for correct operation
data Data acquisition, ISR will emulate if not 8/E
dhkag-a Same as d0bb
dhrka-e Diagnostic console interface register save; RAR equivalent.
dirxa-d Defined but unused
djkka-8p Patch djkka-c to run on 8/I. (Removes use of GTF/RTF.)
dumprx01 ISR requires it to save/restore flags. (Bug: not family of 8.)
edefs ETOS definitions file (used?)
edu20s EDU200 BASIC, ISR uses RIB and RTF.
edu250 EDU250 BASIC, ISR uses with conditional assembly.
f1095 Small real-time system, uses with conditional assembly.
fipa EDU50 Monitor definitions (unused?)
futil Diassembler, mnemonic
inita EDU50 Monitor definitions (unused?)
khodt Condor disassembler, mnemonic
m1 MULTI-8 ISR, if PDPTYP == PDP8E
m3 MULTI-8 Emulation trap, if PDP8E
ntrain Neurophysiology program ISR (PDP-8/E required)
ovrlay BASIC extensions, ISR (PDP-8/E required)
pal8 Assembler, mnemonic
palc CAPS Assembler, mnemonic
para TSS 8.25 parameters (used?)
param TSS 8.24 parameters (used?)
ratmon Rat station monitor, ISR (PDP-8/E required)
rklfmt Diagnostic console interface register save; RAR equivalent.
rts8 RTS-8, ISR, IFNZRO PDP8E
splrts RTS-8, ISR, IFNZRO PDP8E
srt8 SRT-8, ISR, IFNZRO PDP8E
train Animal training program, ISR (PDP-8/E required)
ts8 TSS 8.24 user IOT implementation (if CPU permits)
ts8a TSS 8.24 definitions
ts8c TSS 8.24 user IOT implementation (if CPU permits)
ts8_combined TSS 8.24 user IOT implementation (if CPU permits)
ts8d TSS 8.24 user IOT implementation (if CPU permits)
wpsys WPS, ISR (DECmate required)
F1095 alleges a bug in 4K 8/E -- no Mem. Extension card to implement it?
Everyone curses RTF for not clearing AC.
Long story short, the assemblers and disassemblers know about it, the
diagnostics check it, and most of the major software products either
don't use it, or allow a conditional assembly to use it.
A number of LAB-8 experiment monitors seem to use it. They aren't
presumably concerned with portability, as they also need all the LAB-8
peripherals.
Edu20s and dumprx01 use it, but arguably shouldn't.
Some of the P?S-8 code is using it literally as an alias for the
constant 6004, or perhaps (at a higher level) KSR-0030.
Vince