mirror of
https://github.com/PDP-10/its.git
synced 2026-04-02 20:27:07 +00:00
162 lines
5.1 KiB
Groff
Executable File
162 lines
5.1 KiB
Groff
Executable File
;;; Copyright (c) 1999 Massachusetts Institute of Technology
|
||
;;; See the COPYING file at the top-level directory of this project.
|
||
|
||
;channel header pointer (location 40, read only)
|
||
;
|
||
; ADDRESS(channel header area)
|
||
; ADDRESS(pointer area)
|
||
; I/O version number
|
||
; source file version number
|
||
; 0 always 0
|
||
; INITED non-zero indicates PDP-11 is running ok(can be cleared by PDP-10)
|
||
; 0 always 0
|
||
; GDOWN used as flag by PDP-10 to acknowledge clear of INITED
|
||
;
|
||
;channel header area (aligned on PDP-10 word)
|
||
;
|
||
; KBD channel:
|
||
; KBDFLG cleared by 10/set by 11 (chain of activated KBD buffers)
|
||
; 0 allows PDP-10 to do SKIPN for activation test
|
||
; DPY channel: (1 per console)
|
||
; DPYCHN buffer assigned to channel, if zero then DPY channel is closed
|
||
; DPYKBD .BYTE KBD#, DPY# (377 for either implies not assigned)
|
||
; KBD flags: (1 per console)
|
||
; ECOFLG Set by PDP-10. Next time DPYBUF is empty clear ECOFLG
|
||
; and put flag on KBD ring to signal this condition
|
||
; CHNCLS if -1, log this guy out!!!!
|
||
; WHO flags: (1 per console)
|
||
; WHOLIN who line variables for this console
|
||
; WHOUSR -1=>do system line, 0=>user who line
|
||
;
|
||
;format of KBD buffer (aligned on PDP-10 word)
|
||
;
|
||
; KBDSTS negative=>-(data byte count), 0=>free
|
||
; 0
|
||
; KBDRNG next KBD buffer associated with this KBD
|
||
; KBDLST next buffer on activated list (0=>end of chain)
|
||
; KBDCHN keyboard channel
|
||
; 0 not used
|
||
; KBDATA key board data area (1 PDP-11 word/character)
|
||
;
|
||
;format of DPY buffer (aligned on PDP-10 word)
|
||
;
|
||
; DPY10B word PDP-10 is hacking (used only for initailization)
|
||
; DPY11B word PDP-11 is hacking
|
||
; DPYPP page printer variables
|
||
; DPYLGL last legal address in this buffer
|
||
; DPYSIZ size of data area in bytes
|
||
; 0 not used
|
||
; DPYATA display data area (1 PDP-11 word/character)
|
||
;
|
||
;format of pointer area (aligned on PDP-10 word)
|
||
;
|
||
; ADDRESS(system who line variables)
|
||
; ADDRESS(PDP-10/PDP-11 communication area)
|
||
; TENWHO (SET TO -1 WHENEVER ANYONE TYPES WHO LINE COMMAND, RESET TO 0 WHEN 10
|
||
; UPDATES WHO LINES
|
||
; TENWH1 PADDING
|
||
;
|
||
;Notes:
|
||
;
|
||
;1. All addresses and pointers are in PDP-11 address space.
|
||
;
|
||
;2. KBD buffers are ringed two per channel. While the PDP-10 is
|
||
; emptying one, the PDP-11 can fill the other.
|
||
;
|
||
;3. There is only one DPY buffer per channel. When the buffer is filled
|
||
; with negative numbers, it is free. When the PDP-10 writes a positive
|
||
; number in the current word: then the PDP-11 processes the data in that
|
||
; word, sets that word to a negative number, and advances to the next word.
|
||
;WHO LINE VARIABLES
|
||
;
|
||
;SYSTEM WHO LINE (one PDP-11 word/line unless otherwise indicated)
|
||
; ITSTCH # total # 10/11 dpy channels (read only for PDP-10)
|
||
; ITSCHN # 10/11 dpy channels in use (read only for PDP-10)
|
||
; ITSVER ITS version #
|
||
; ITSJOB total jobs
|
||
; ITSCOR total core
|
||
; ITSRU runnable users
|
||
; ITSWBJ # jobs swap blocked
|
||
; ITSJWP # jobs waiting for pages
|
||
; ITSTRC total runable core
|
||
; ITSCFU core available for users
|
||
; ITSDAT date [byte (7) year (4) month (5) day]
|
||
; ITSDBG system debug flag
|
||
; ITSTIM time of day (# half seconds since midnight) aligned on PDP-10 word
|
||
; ITSTI1 low order of time
|
||
; ITSUSR total number of users
|
||
;
|
||
;USER WHO LINE (One PDP-11 word per line unless otherwise noted)
|
||
WHJOB==0 ;job #, -1=>who line not in use
|
||
; WHJOB1 ;pads WHJOB
|
||
WHMODE==1 ;mode 0=>follow keyboard
|
||
; 1=>freeze
|
||
; 2=>next higher (when PDP-10 sees this state, it searches
|
||
; user variables for next higher job index number with same
|
||
; uname. When it finds it, it stores the number in job #
|
||
; and changes mode to 1
|
||
; 3=>next lower
|
||
; WHMOD1 ;pads WHMODE
|
||
WHUNAM==2 ;uname in sixbit (left 18 bits in first two words, right in next two)
|
||
; WHUNM1
|
||
WHUNM2==3
|
||
; WHUNM3
|
||
WHJNAM==4 ;jname in sixbit
|
||
; WHJNM1
|
||
WHJNM2==5
|
||
; WHJNM3
|
||
WHSNAM==6 ;sname in sixbit
|
||
; WHSNM1
|
||
WHSNM2==7
|
||
; WHSNM3
|
||
WHSTAT==10 ;status in sixbit, 0=>job does not exist
|
||
; WHSTA1
|
||
WHSTA2==11
|
||
; WHSTA3
|
||
WHJ%RT==12 ;job % run time
|
||
; WHJTRT job total run time (one millisec units)
|
||
; WHRPAG job number of pages real mem assigned
|
||
; WHPAG job number of pages virtual mem assigned
|
||
; WHO1 user who line control word
|
||
; WHO1A
|
||
; WHO2 first user who line variable
|
||
; WHO2A
|
||
; WHO2B
|
||
; WHO2C
|
||
; WHO3 second user who line variable
|
||
; WHO3A
|
||
; WHO3B
|
||
; WHO3C
|
||
;
|
||
;
|
||
;NOTE: The PDP-11 will not update who lines until it sees that ITSTIM
|
||
; has changed.
|
||
;
|
||
;PDP-10/PDP-11 COMMAND CHANNEL
|
||
;
|
||
; CMDFLG aligned on PDP-10
|
||
; 0=>buffer is free (PDP-10 can write CMDBUF)
|
||
; positive=>command # from PDP-10 (PDP-11 can write CMDBUF)
|
||
; negative=>affirmative reply from PDP-11 (0=>command failed)
|
||
; PDP-10 can read CMDBUF, then must zero CMDFLG
|
||
; CMDFL1 always 0
|
||
; CMDBUF each arg takes 4 bytes (1 PDP-10 word)
|
||
;
|
||
; PDP-10/PDP-11 COMMANDS
|
||
;
|
||
; 1 video switch
|
||
; arg1: video switch input # (set by PDP-10)
|
||
; arg2: video switch output # ( " " " " )
|
||
;
|
||
; 2 reserve DPY
|
||
; arg1: DPY reserved (set by PDP-11)
|
||
;
|
||
; 3 free DPY
|
||
; arg1: DPY to free (set by PDP-10)
|
||
;
|
||
;;other 10-11 commuincation issues ..
|
||
;
|
||
;;go down resetting video switch vs not
|
||
;;PDP-11 indicates it has reset video switch
|
||
; ;(PDP-10 then detaches all jobs with tv ttys)
|