1
0
mirror of https://github.com/PDP-10/its.git synced 2026-04-02 20:27:07 +00:00
Files
PDP-10.its/src/system/whovar.5

162 lines
5.1 KiB
Groff
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;;; 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)