1
0
mirror of synced 2026-01-11 23:53:00 +00:00

clean compile

This commit is contained in:
brad 2010-04-02 15:46:14 +00:00
parent c81a0ecfa1
commit f89229b4b1
10 changed files with 19774 additions and 0 deletions

33
tss8.2/Makefile Normal file
View File

@ -0,0 +1,33 @@
MACRO = ../utils/macro/macro8x
SHOWBIN = ../utils/showbin
all: init.bin fip.bin si.bin ts8.bin
clean:
rm -f *.bin *.prm *.lst *.err *.mem *.dump
init.bin:
rm -f init.err init.lst
$(MACRO) -o init melrose.pal param.pal link.pal init.pal
fip.bin:
rm -f fip.err fip.lst
$(MACRO) -o fip melrose.pal param.pal link.pal fip.pal
si.bin:
rm -f si.err si.lst
$(MACRO) -o si melrose.pal param.pal link.pal si.pal
ts8.bin:
rm -f ts8.err ts8.lst
$(MACRO) -o ts8 melrose.pal param.pal link.pal ts8.pal
xxx:
$(SHOWBIN) fip.bin >fip.src.mem
$(SHOWBIN) init.bin >init.src.mem
$(SHOWBIN) si.bin >si.src.mem
$(SHOWBIN) ts8.bin >ts8.src.mem
# sdiff fip.rf.mem fip.src.mem
# sdiff init.rf.mem init.src.mem
# sdiff si.rf.mem si.src.mem

61
tss8.2/NOTES.txt Normal file
View File

@ -0,0 +1,61 @@
README
fipb.pal
fipa.pal
fipc.pal
inita.pal
initb.pal
initc.pal
link.pal
param.pal
si.pal
ts8a.pal
ts8b.pal
ts8c.pal
ts8d.pal
ts8e.pal
ts8f.pal
----
si
fip
xddt?
ts8
init
link
------------
in memory:
SI 00000 - 07777
FIP 10000 - 17777
INIT 20000 - 27777
TS8 30000 - 37777
TS8II 40000 - 47777
on disk
SI 0
FIP 1
INIT 2
TS8 3
TS8II 4
swap & file 5
fixed swap for each job
file area
...
INIT
0000
0200 disk look
0777 initializer
4400 xddr

52
tss8.2/README Normal file
View File

@ -0,0 +1,52 @@
This directory contains the source code to the TSS/8.24 timesharing system
for the PDP-8. This copy comes from a source listing that I borrowed from
the Melrose (Mass.) High School in 1984, typed in to my PDP-8/E (which came
from the Belmont High School but ran Melrose H.S.'s monitor), and proofread.
Then I cleverly dumped it to TSS/8 PUTR DECtapes for "safekeeping", and it
took me over a decade to get around to extracting the data (on a PDP-11),
and three more years to get around to finishing reverse-engineering PUTR.SAV's
DECtape format! But here the files are, finally.
This should be an almost 100% vanilla DEC source set, unless some typos
crept in. The only change I made was to fix comments that refer to the user
as "HIM" to say "HIM/HER". What can I say, I was going through a P.C. phase.
Also, I inadvertantly had EDIT.SAV set in the mode where it expands any two
spaces to a tab on input from a file, so some things look funny, like the
DEC copyright notice. The source for each 4 K component is broken into
pieces small enough to fit into the free space on my system's RF08/RS08
disk when I was typing it in, they should be concatenated before actual use.
This version is set up for an 8/E with 32 KW of core, one RF08/RS08 256 KW
disk unit, a PC8E/PC04 high speed paper tape reader/punch, an RK05, line
printer, card reader, and a bazillion KL8E terminals (I used an LC8E for K00,
which worked fine). It seems to be a good sport about running with missing
hardware (my machine had no RK05, LP, or card reader, and ran this monitor
fine), except the RF08 of course.
There are lots of conditionals to tweak if you want to change the
configuration. Normally this was done by DEC, they'd rebuild it using
the PAL-10 cross-assembler on a TOPS-10 system and ship the binaries (and
maybe a hardcopy listing) to the customer. I'm not sure what needs to be
changed to make it build under PAL-8 on OS/8 but I've heard it's been done.
PAL-D (the TSS/8 assembler) doesn't support conditionals at all, so it
certainly couldn't be used...
CPU=4 seems to be a valid setting for the CPU model, although its meaning
is not documented. Maybe it's for the PDP-8/A?
The sources to SI (the System Interpreter, i.e. command line interface) were
typed in separately a few years later, I ran out of steam typing in the
original listing so I photocopied the SI part so I could return the listing.
SI was typed into an IBM PC so it doesn't have the problem with two blanks
being translated into a tab. Also, I split off the "parameters" and "linking"
sections into PARAM.PAL and LINK.PAL since it looks like they were constant
prefix files for assembling all five components, those parts should probably
be hacked off of the other sources so that one centralized file can adjust
each.
Thank you very much to Bob McCann, who if I'm not mistaken was the person at
Melrose HS who loaned me the listing (in 1983 or 1984). And thank you to
Ron Diamond (who went to M.H.S.) for brainstorming about M.H.S. faculty to
remind me of Bob's name (sorry, it was a long time ago!).
John Wilson <wilson@dbit.com>, 18-May-2000.

3374
tss8.2/fip.pal Normal file

File diff suppressed because it is too large Load Diff

4459
tss8.2/init.pal Normal file

File diff suppressed because it is too large Load Diff

61
tss8.2/link.pal Normal file
View File

@ -0,0 +1,61 @@
/SUPER CRITICAL LOCATIONS
/THESE LOCATIONS ARE USED TO LINK TS8, TS8II, FIP, SI AND INIT.
/IT MAY BE NECESSARY TO ADJUST THEM ACCORDINGLY
/DEFINED IN TS8:
WSCHED=2573 /ADDRESS FOR WAIT
GETJTB=401 /GETJTA
CORSRC=1317 /SEARCH CORE TABLE
OVERLA=5171 /FILE STUFF
READFI=574 /MORE FILE STUFF
CONDBA=132 /DEVTBL POINTER USED BY "PRINT" ETC.
RETB=611 /RETURN A BLOCK TO FREE CORE
GETB=1405 /GET A BLOCK OF FREE CORE
GETDB0=1447 /GET A DDB
CLK1=51 /LOW ORDER DAYTIME CLOCK
CLK2=50 /HIGH ORDER DAYTIME CLOCK
DATE=166 /12 BIT DATE WORD
TTCHAR=31 /SAVE REG. FOR CONSOLE CHARACTERS
KBD00=3201 /PROCESS KEYBOARD INPUT
PRINT0=1205 /TYPE OUT A CHARACTER
OVRLA1=562 /MORE FILE STUFF
RUNFI=605 /SI FILE TRANSFER INITIALIZER
L2SF=103 /LEVEL 2 SAVED MODE AND FIELD
SICLR=6572 /SI CLEAR LINKED BUFFER
TIMSI=2421 /TIMER FOR SI "COMWAT"
SIWAIT=1702 /NUMBER OF SI COMMANDS BEING WAITED ON
TIMFIP=2423 /TIMER FOR FIPLOCK
FIPLOK=2724 /CORTBL STATUS CHECK FOR FORCE OUT
CLKINI=322 /CONVERT HARDWARE CLOCK TO SYSTEM-TICKS (100MS)
BLT0=1602 /BLOCK TRANSFER FROM CORE TO CORE
KBDSQ=3213 /ADDRESS OF JMS TO ^S/^Q CODE
/DEFINED IN TS8II:
F1TCNT=175 /SI DDB CHARACTER COUNT
F1ECNT=176 /SI DDB EMPTY COUNT
F1BUF=177 /SI DDB EMPTY BLOCK POINTER
DTJOB=20 /JOB OWNING THE DECTAPE CONTROLLER
RKJOB=54 /JOB OWNING RK05 CONTROLLER
DTSI=1175 /SI TERMINATE A DECTAPE ON TIMER
DATA1=2200+DCSIZE
DEVTBL=DATA1+140
DEVTBE=DEVTBL+NULINE+NULINE+2
JOBTBL=DEVTBE+22
CLKTBL=JOBTBL+JOBMAX+1
TTYTBL=CLKTBL+JOBMAX+1
PRGTBL=TTYTBL+JOBMAX+1
DSUTBL=PRGTBL+JOBMAX+JOBMAX+JOBMAX-7
FIPBLK=7720 /FIXED BLOCK FOR FIP IO
WINBAS=7730 /ADDRESS OF THE BASIC WINDOW
OUTDIF=-OUTREG^2+DEVTBL /FOR LINKING BETWEEN OUTREG AND DEVTBL
F1OFFJ=164 /FOR OFF /ON COMMANDS USED BY SI
IFNZRO DEVTBL&1 <YOU GOOFED>
/DEFINED IN SI
DTSIDT=7270 /RETURNED FROM STOPPING A DECTAPE ON TIMER
VERBRK=7600 /START OF INSTALLATION DEFINED LOGIN MESSAGE

53
tss8.2/melrose.pal Normal file
View File

@ -0,0 +1,53 @@
/EDUSYSTEM 50 MONITOR FOR MELROSE HIGH SCHOOL #495AB
/COPYRIGHT 1975
/DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
/
/THIS SECTION DEFINES THE HARDWARE CONFIGURATION ON WHICH INDIVIDUAL
/EDUSYSTEM 50 MONITORS ARE TO RUN.
/FOR EACH STATEMENT, THE COMMENT INDICATES THE POSSIBLE RESPONSES.
OCTAL
CPU= 2 /1 IF CPU IS PDP-8; 0 IF CPU IS PDP-8/I;
/2 IF CPU IS PDP-8/E
CORMEM= 70 /HIGHEST DATA FIELD SELECT. FOR 12K SYSTEM,
/RESPOND 20, FOR 16K SYSTEM, RESPOND 30, ETC. (70 MAX)
PHONES= 0 /1 IF DC08 INCLUDES 689AG;
/0 IF IT DOES NOT OR IF TTY INTERFACING IS OTHER THAN DC08
EAE= 0 /20 IF PROCESSOR INCLUDES EAE; 0 IF IT DOES NOT
RF08= 0 /40 IF SYSTEM DISC IS DF32; 0 IF SYSTEM DISK IS RF08
RS08= 1 /NUMBER OF DISCS ON THE SYSTEM, WHETHER DF/DS OR RF/RS.
/RESPOND WITH 1, 2, 3, OR 4.
PUNCH= 1 /1 IF SYSTEM INCLUDES PUNCH; 0 IF IT DOES NOT
TC01= 0 /1 IF SYSTEM INCLUDES DECTAPE(S); 0 IF IT DOES NOT
RK05= 0 /NUMBER OF RK05 CARTRIDGE DISK DRIVES ON THE SYSTEM; 0 TO 4
CDR= 0 /1 IF SYSTEM INCLUDES CARD READER; 0 IF IT DOES NOT
LPT= 1 /1 IF SYSTEM INCLUDES LINE PRINTER; 0 IF NO LINE PRINTER
DECIMAL /MONITOR CAPACITY FOR THIS SYSTEM
JOBMAX= 20 /NUMBER OF SIMULTANEOUS USERS (20 MAXIMUM)
/THE FOLLOWING ENTRIES DEFINE THE NUMBER OF TERMINALS
/ATTACHED TO THE SYSTEM, AND ALSO THE METHOD OF INTERFACING
CONTTY= 1 /WE ALWAYS HAVE A CONSOLE (K00)
DC08A= 0 /NUMBER OF TERMINALS INTERFACED VIA DC08A (PDP-8/I ONLY, 19 MAX.)
DC08LO= 0 /LOWEST HARDWARE LINE NUMBER UTILIZED ON DC08A; USUALLY 0
PT08= 0 /NUMBER OF TERMINALS INTERFACED VIA PT08 (PDP-8 & PDP-8/I ONLY)
KL8= 0 /NUMBER OF ADDITIONAL TERMINALS INTERFACED VIA KL8 (PDP-8/E ONLY, 19 MAX.)

398
tss8.2/param.pal Normal file
View File

@ -0,0 +1,398 @@
/PARAMETERS VERSION 8.24 (01-JANUARY-75)
/
/
/
/
/COPYRIGHT (C) 1975
/DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
/
/
/THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
/ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
/THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS
/SOFTWARE, OR ANY OTHER COPIES THEREOF, MAY NOT BE PRO-
/VIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON
/EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO
/THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
/SOFTWARE SHALL REMAIN IN DEC.
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
/WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COM-
/MITMENT BY DIGITAL EQUIPMENT CORPORATION.
/
/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR
/RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT
/SUPPLIED BY DEC.
OCTAL
PLT=0
IFNZRO CPU < IFNZRO DC08A <ILLEGAL CONFIGURATION>>
IFNZRO 24-JOBMAX&4000 <ILLEGAL CONFIGURATION>
IFNZRO 23-KL8-PT08&4000 <ILLEGAL CONFIGURATION>
IFNZRO 24-DC08A&4000 <ILLEGAL CONFIGURATION>
IFZERO DC08A <D689=0>
IFNZRO DC08A < IFNZRO PHONES <D689=4>
IFZERO PHONES <D689=0>>
NULINE=DC08A+PT08+KL8 /EVERY TERMINAL EXCEPT THE CONSOLE
SWDEX=5 /DISK TRACK OF THE FIRST USER SWAP TRACK
STOMIN=5 /MINIMUM # FREE STORAGE BLOCK FOR NEWJOB
IFZERO RF08-40 <
IFZERO RS08-1 <DSKSIZ=10>
IFZERO RS08-2 <DSKSIZ=20>
IFZERO RS08-3 <DSKSIZ=30>
IFZERO RS08-4 <DSKSIZ=40>
DSKEXT=DSKSIZ-1>
IFZERO RF08 <DSKSIZ=RS08^100 /# 4K DISC TRACKS
DSKEXT=RS08^100+77>
CLOCKR=144 /MILLISECONDS PER TICK
TICMIN=1130 /600 TICKS PER MINUTE
INCLK2=0322 /INITIAL CLOCK
INCLK1=7400
TICSPS=12 /NUMBER OF SYSTEM TICKS PER SECOND
INIDEX=10 /INIT DISC EXTENSION
TS8DEX=30 /FIELD 0 DISC EXTENSION*2^3
ERPDEX=0 /ERP DISC EXTENSION*4
ERPWC=0 /ERP WORD COUNT
FIPDEX=4 /FIP DISC EXTENSION*4
FIPWC=0 /FIP WORD COUNT
SIDEX=ERPDEX /SI DISC EXTENSION*4
SIWC=ERPWC /SI WORD COUNT
LIBACT=2 /LIBRARY ACCOUNT #
BRKINI=4000 /INITIAL USER BREAK MASK
/IOT DEFINITIONS
IFNZRO DC08A < /DC08A,DL8I IOTS
TTIL=6401 /INCREMENT LINE REGISTER
TTI=6402 /TELETYPE INPUT COMMAND
TTO=6404 /TELETYPE OUTPUT COMMAND
TTCL=6411 /CLEAR LINE REGISTER
TTLL=6412 /LOAD LINE REGISTER, CLEAR AC
TTRL=6414 /READ LINE REGISTER
T1SKP=6421 /SKIP ON CLOCK FLAG
T1OFF=6422 /TURN CLOCK OFF
T1ON=6424 /TURN CLOCK ON
TTIR=6461 /INCREMENT THE R REG.
TTCR=6471 /CLEAR THE R REG.
TTLR=6472 > /LOAD THE R REG.
/EXTENDED MEMORY
CDF=6201 /CHANGE TO DATA FIELD 0
CIF=6202 /CHANGE TO INSTRUCTION FIELD 0
CINT=6204 /CLEAR USER IOT
RDF=6214 /READ DATA FIELD
RIF=6224 /READ INSTRUCTION FIELD
RIB=6234 /READ INTERRUPT BUFFER
RMF=6244 /RESTORE MEMORY FIELD
SINT=6254 /SKIP ON USER IOT
CUF=6264 /USER FLAG OFF
SUF=6274 /USER FLAG ON
/EAE
MUY=7405 /MULTIPLY
DVI=7407 /DIVIDE
NMI=7411 /NORMALIZE
SHL=7413 /SHIFT ARITHMETIC LEFT
ASR=7415 /ARITHMETIC SHIFT RIGHT
LSR=7417 /LOGICAL SHIFT RIGHT
MQL=7421 /LOAD MQ
SCL=7403 /STEP COUNTER LOAD FROM MEMORY
SCA=7441 /STEP COUNTER TO AC
MQA=7501 /MQ TO AC
IFZERO CPU-2 <
DPSZ=7451 /MODE B ONLY - SKIP IF AC&MQ ARE CLEAR
SWBA=7447 /CHANGE MODE TO A
SWAB=7431 /CHANGE MODE TO B (ALSO DOES MQL)
ACS=7403 /AC(7:11) TO SC; AC CLEARED
SGT=6006 /SKIP ON GT FLAG
>
/LINE PRINTER IOTS
LSF=6661 /SKIP ON CHAR FLAG SET
LCF=6662 /CLEAR CHAR FLAG
LSRP=6663 /SKIP ON NOT READY OR ON ERROR
LLC=6664 /TRANSMIT CHAR TO PRINTER
LSP=6665 /SET PROGRAM INTERRUPT; LP08/LE8
LPC=6666 /TRANSMIT CHAR &CLEAR FLAG
LCP=6667 /CLEAR PROGRAM INTERRUPT
LIE=6665 /AC11 TO INTERRUPT ENABLE; LS08/LS8E
/CTY
TPC=6044 /LOAD TELEPRINTER AND PRINT
/DISC (DF32)
DCMA=6601 /CLEAR
DMAR=6603 /READ
DMAW=6605 /WRITE
DCEA=6611 /CLEAR DISC EXTENDED ADDRESS
DEAL=6615 /LOAD EXTENDED ADDRESS
DFSE=6621 /SKIP ON ERROR
DFSC=6622 /SKIP ON COMPLETION
DEAC=6616 /READ EXTENDED ADDRESSES
/DISC (RF08)
DSAC=6612
DORS=6614
DIML=6615
DIMA=6616
DCXA=6641
DXAL=6643
/CARD READER IOT'S
RCSF=6631
RCRA=6632
RCRB=6634
RCNO=6635 /8E ONLY
RCRC=6636 /8E ONLY
RCNI=6637 /8E ONLY
RCSD=6671
RCSE=6672
RCRD=6674
RCSI=6675 /8E ONLY
RCTF=6677 /8E ONLY
/RK05 IOT'S
IFZERO PHONES<
DSKP= 6741
DCLR= 6742
DLAG= 6743
DLCA= 6744
DRST= 6745
DLDC= 6746
DMAINT= 6747 >
IFNZRO PHONES <
DSKP= 6751
DCLR= 6752
DLAG= 6753
DLCA= 6754
DRST= 6755
DLDC= 6756
DMAINT= 6757 >
/DECTAPE
DTRA=6761
DTCA=6762
DTXA=6764
DTSF=6771
DTRB=6772
DTLB=6774
IFZERO CPU <
/KW8I REAL TIME CLOCK
CECI=6137 /CLEAR AND ENABLE CLOCK AND INTERRUPT
CSCF=6133 /SKIP AND CLEAR FLAG IF FLAG
>
IFZERO CPU-1 <
CECI=6315 /CLOCK ENABLE
CSCF=6301 /SKIP ON CLOCK FLAG
CCF=6302 /CLEAR CLOCK FLAG, CLEAR ENABLE AND CLEAR BUFFER
CLB=6304 > /LOAD BUFFER FROM AC
IFZERO CPU-2 <
CECI=6131 /CLOCK ENABLE
CSCF=6133 /SKIP AND CLEAR FLAG IF FLAG
/POWER FAIL IOT
SPL=6102 /SKIP IF POWER LOW
/ 8/E PROCESSOR IOT
SRQ=6003 /SKIP ON INTERRUPT REQUEST
GTF=6004 /LINK TO AC0, GT FLAG TO AC1
RTF=6005 /AC0 TO LINK, AC1 TO GT FLAG
CAF=6007 > /CLEAR ALL FLAGS
IFZERO CPU-4 <
CLLE=6135 /AC11 TO INTERRUPT ENABLE FOR CLOCK
CLCL=6136 /CLEAR CLOCK FLAG
CLSK=6137 /SKIP ON CLOCK FLAG
SPL=6102 /SKIP POWER LOW
CAL=6133 > /CLEAR AC LOW FLAG
IFNZRO DC08A <
/689AG
SRF=6701 /SKIP IF RING FLAG
SCF=6711 /SKIP IF CARRIER FLAG
DFCRF=6742 /CLEAR RING FLAG
CTG=6721 /CLEAR GROUP COUNTER
RRS=6702 /READ RING STATUS
ITG=6731 /INCREMENT GROUP COUNTER
STR=6722 /SET TERMINAL READY
EDF=6704 /ENABLE DATAPHONE FEATURES
DDF=6714 /DISABLE DATAPHONE FEATURES
CTR=6724 /CLEAR TERMINAL FLAG
CCF=6741 /CLEAR CARRIER FLAG
RCS=6712 /READ CARRIER STATUS
>
/FIP IOTS (IN ABBREVIATED FORM)
SEGS=0006 /RETURN NUMBER OF FREE SEGMENTS ON DISK
ASD=0040 /ASSIGN
REL=0042 /RELEASE
REN=0200 /RENAME
OPEN=0201 /OPEN
CLOS=0202 /CLOSE
RFILE=6603 /READ FILE
PROT=0204 /PROTECT
WFILE=6605 /WRITE FILE
CRF=0210 /CREATE
EXT=0211 /EXTEND
RED=0212 /REDUCE
FINF=6613 /FILE INFORMATION
LIN=0214 /LOGIN
LOUT=0215 /LOGOUT
WHO=6616 /WHO
/DEVICE DATA BLOCK
DDBSTS=0 /WORD 1, STATUS AND UNIT NUMBER
DXON=2000 /XOFF SENT FLAG
DSI=1000 /DESTINATION IS S.I. FLAG
DFULL=400 /KEYBOARD BUFFER IS FULL
DUPL=200 /CONSOLE IN DUPLEX MODE
SICOM=100 /COMMAND WAITING
DECHO=40 /CAUSE SI TO RE-ECHO CURRENT INPUT BUFFER
/DEVICE UNIT NUMBER IS IN BITS 6-11
DDBJN=1 /WORD 2, JOB NUMBER IN 7-11
DDBBRK=2 /BREAK MASK
DDBTIM=3 /TIME THAT DEVICE WAS ASSIGNED
DDBINP=4 /BUFFER FILL POINTER
DDBINC=5 /BUFFER TOTAL COUNT
DDBOUC=6 /BUFFER EMPTY COUNT
DDBOUP=7 /BUFFER EMPTY POINTER
/JOB DATA AREA
JOBSTS=0 /STATUS
/STR0
JSRUN=4000 /RUN BIT
JSEREN=2000 /USER ERROR ENABLE
JCOMBD=1000 /LAST TIME THE JOB RAN AS COMPUTE BOUND
JSPEEK=400 /ALLOW "PEEK" AND "LOGOUT" IOT'S
JSACC=200 /JOB LOGGED IN UNDER PRIVILEGED ACCOUNT (1,2 OR 3)
JSIOT=100 /NON-RESIDENT IOT
JSIOTC=40 /COPY IOT RESULT TO USER
JSEXON=20 /EXECUTE ONLY
JSINER=10 /INHIBIT ERROR REPORT FROM SI. (UNTIL NEXT COMMAND)
/BITS 9-11 ARE SYSTEM ERROR CODE
UUOERF=1 /IOT ERROR
SWPRER=2 /SWAP READ ERROR
SWPWER=3 /SWAP WRITE ERROR
DSKERR=5 /DISC ERROR
HUNGDV=6 /HUNG DEVICE
/STR1
JSTIME=4000 /TIME IS UP
JSF0=2000 /FILE 0 NOT BUSY
JSF1=1000 /FILE 1 IS NOT BUSY
JSF2=400 /FILE 2 IS NOT BUSY
JSF3=200 /FILE 3 IS NOT BUSY
JSDEL=100 /KEYBOARD DELIMITER SEEN
JSLPT=40 /LINE PRINTER BUFFER IN USE BUT NOT FULL
JSTEL=20 /TELEPRINTER OUTPUT BUFFER IN USE BUT NOT FULL
JSPTR=10 /CHARACTERS IN READER BUFFER
JSPTP=4 /PUNCH BUFFER IN USE BUT IS NOT FULL
JSERR=2 /SYSTEM ERROR DETECTED
JSWAIT=1 /JOB NOT IN WAIT STATE
JOBSTB=2 /DEVICE STATUS REGISTER (FOR RK05 DECTAPE AND CARD READER)
JOBWMK=3 /WAIT MASK
JOBSRA=5 /JOB RESTART ADDRESS
JOBERR=6 /JOB ERROR RESTART ADDRESS
JOBLNK=7 /IOT LINKAGE
JOBSWR=10 /SWITCH REGISTER
JOBREG=11 /PC LINK AC
JOBEAE=14 /MQ MODE GT SC
JOBACC=16 /ACCOUNT NUMBER
JOBF0=17 /POINTER TO FILE 0 CONTROL
JOBF1=20 /POINTER TO FILE 1 CONTROL
JOBF2=21 /POINTER TO FILE 2 CONTROL
JOBF3=22 /POINTER TO FILE 3 CONTROL
JOBRTM=23 /LOW ORDER RUN TIME
JOBRTH=24 /HI ORDER RUN TIME
/FILE CONTROL BLOCK - POINTED TO BY JOBFX, X=0,1,2,3
FILWPT=0 /POINTER TO FILE RETRIEVAL WINDOW
FILSCT=1 /SEGMENT NUMBER OF FIRST WINDOW ENTRY
FILPRO=2 /FILE PROTECTION - BIT 9
FILPAR=3 /POINTER TO RFILE OR WFILE PARAMETER BLOCK
FILDA=4 /DISC ADDRESS OF RFILE OR WFILE
FILWC=6 /-WORD COUNT OF RFILE OR WFILE
FILRES=7 /POINTER TO FILPIF IN USER AREA
/FILE RETRIEVAL WINDOW
/WORD 0: UFD LINK TO NEXT GROUP OF 7 SEGMENT POINTERS
/WORDS 1-7: SEVEN SEGMENT ADDRESSES
/RFILE OR WFILE PARAMETER BLOCK - POINTED AT BY FILPAR
FILPFN=0 /FUNCTION; 0603 OR 0605
FILPDX=1 /DISC EXTENSION
FILPIF=2 /INTERNAL FILE # (BITS 10-11) AND FIELD # (BITS 7-9)
FILPWC=3 /-WORD COUNT FOR THIS TRANSFER
FILPCA=4 /CORE ADDRESS FOR THIS TRANSFER
FILPDA=5 /DISC ADDRESS
FILPRA=6 /EXEC RETURN ADDRESS FOR THIS TRANSFER
FILPCT=7 /POINTER TO FILE CONTROL BLOCK
/CORE TABLE CONTROL FLAGS
SWAP=4000 /SWAP REQUEST
LOCK=2000 /LOCK IN CORE
NOTRUN=1000 /HAS NOT BEEN SCHEDULED TO RUN
FIP=400 /FILE PHANTOM
SI=200 /SYSTEM INTERPRETER
NOHOLD=140 /INHIBIT "NOTRUN" STATUS AFTER FOUR CONSECUTIVE FILE TRANSFERS
CJOB=37 /BITS 7-11 CONTAIN THE JOB #
/FIP TABLE DEFINITIONS
SATSIZ=530
JTABLE=6000
ENTABL=JTABLE+JOBMAX+1
UTABLE=ENTABL+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX
RTABLE=UTABLE+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX+JOBMAX
/TABLES
CORTBL=7001 /CORE ASSIGNMENT TABLE
L2QTB=CORTBL+7
IFZERO DC08A <DCSIZE=0>
IFNZRO DC08A <DCSIZE=400> /SIZE OF FIELD 1 DC08A CODE PLUS 689AG CODE
OUTREG=200 /ACTIVE OUTPUT REGISTERS (TTY'S, LPT & PTP)
SKPTBL=OUTREG+NULINE+3 /START OF IOT SKIP TABLE
SKPTP=SKPTBL+NULINE+NULINE+3 /POSITION OF PUNCH SKIP IN SKIP TABLE
RINGIN=SKPTP+3 /KEYBOARD INPUT RING BUFFER
ENDBUF=OUTREG+200 /END OF KEYBOARD INPUT BUFFER
INPUTS=ENDBUF-RINGIN%2 /NUMBER OF POSSIBLE ENTRIES IN THE KEYBOARD RING BUFFER
DATFLD=CDF 10 /MONITOR DATA FIELD SELECT
IFZERO EAE-20 <MQREG=1>
IFZERO EAE <IFNZRO CPU&7776 <MQREG=1>
IFZERO CPU&7776 <MQREG=0>>
IFNZRO OUTREG&1 <YOU GOOFED>

4457
tss8.2/si.pal Normal file

File diff suppressed because it is too large Load Diff

6826
tss8.2/ts8.pal Normal file

File diff suppressed because it is too large Load Diff