Consolidate license copies
[its.git] / sysdoc / its.histry
1 Copyright (c) 1999 Massachusetts Institute of Technology
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or (at
6 your option) any later version.
7
8 This program is distributed in the hope that it will be useful, but
9 WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16 ------------------------------
17
18 This file used to named  SYSTEM;ITS RECENT.
19
20 This file logs significant changes made to ITS.  New changes are added
21 just above the line that starts with a row of dashes.  Lines that start
22 with brackets are the version number and date of an installed system.
23
24 .CALL ATTACH - new features
25 .CALL SIOT - byte-string I/O
26 .CALL DISOWN - new call, new features
27 MEMBLT format change
28 Printing of NXM map when system comes up.
29 On ML, checking for bad mem switches when system comes up.
30 Putting time in ITS IN OPERATION etc. messages.
31 Pure-code feature of pager now works.
32 .USET on BOJ device
33 .REVIVE NOP if not dying
34 Error-code arguments in .CALL
35 measure run-time of core-job properly
36 conditional out microtape code
37 USEMDM switch
38 don't return to DDT after system shutdown until all dirs, etc. out,
39  utapes flapped, and jobs killed.
40 7'th result of .CALL SSTATU is system version number in sixbit
41 parity error in pure page only interrupts the job that was running
42 ability to make links through job devices
43 .SUSET .RSUPPRO
44 BEG calls SALV
45 .HANG on TRN, TLN
46 ^_ digits takes any number up to non digit or ignored space
47 ^_ ^B etc. sets bucky bits
48 %TSFCO full char set output/echoing (control as alpha, etc.)
49 [946]
50 at slow clock level, xct ttyst for ttys with ttyoac on and ttltm > 1 sec ago
51 mlink should give error if not disk or job channel
52 [947]
53 KL10 disk code
54 atsign device should know about "non-directory device"
55 routine for SIOT for disk & other BLKT devices
56 rearrangement of user variables to match kl10 user process table (ifn kl10p)
57  i.e. setting up trap words etc. + how to hack uuoacs in kl10
58 SIOT for sty
59 KL10 cache sweep code
60 KL10 tty code
61 KL10 micro code
62 KL10 page fail code and clock level
63 user who lines
64 no more automatic closing of I/O channels at EOF.
65 Microtapes have to be assigned before they can be used for anything.
66 echoing of rubout
67 uniform -1,,3 for eof on all devices in unit ascii input mode (except TTY, dammit!)
68 [979]
69 PGDUMP system call
70 reap bit, author, quotas (SEC's disk stuff)
71 misc bug fixes
72 deletion of some old message routines in favor of SYSMSG
73 [982]
74 rauth, sauth system calls (SEC'S disk stuff)
75 New tut format for RP03 and RP04 - partly gone
76 Fix unit mode I/O on USR device to advance the access pointer
77 making net not close channel at "eof" -> IOC error number will change; check programs
78  in unit ascii mode there will no longer be an IOC error when close -    "      "
79 [984]
80 Finish DC76 code
81 Finish KL paging initialization
82 Rework KL paging/clkbrk code
83 Reverse sense of age bits in page words by changing KL10 ucode
84 3-bit bytes in tuts
85 more disks on ML and DM; more directories on ML
86 [986]
87 KL bug fixes
88 %TPCBS => ^\ is special on tty input -> for intelligent terminals
89 SCHBLN on ML
90 Remove "last bug" from PDUMP
91 [988]
92 symbolic ITYIC; ordinary ITYIC passed as a symbolic ITYIC to job devices
93 superimage output SIOT on tty => high-efficiency mode
94 DIRSIZ to hack quotas and read # blocks in all files in a directory
95 SCPOS to hack setting tty cursor position for software tty styholders
96  and superimage outputters
97 Com mode simplification and improved query mode.
98 SCHBLN on AI
99 ATTACH takes tty spec as arg
100 Symbolic IOPUSH and IOPOP
101 System console can be used as a user console
102 ^PA - proceed to column 0. If you pass the end of the line, collect 1 linefeed.
103 KLPERF system call for hacking the performance counter
104 Open-loss "channel not open"
105 [994]
106 DETACH and DISOWN can cause tree to be killed after 1 hour
107 KL - detach on hangup
108 KL - Improve autospeed code
109 20KILL allowed after a 5KILL has been done.
110 Symbolic "RCHST" (actually called "RFNAME").
111 Real TTY's may be run as "Software TTY"'s.
112 SETLOC detects that SYS job is hung and does the job itself.
113 DM Demon signaller no longer uses FINSET; all FINSETs flushed.
114 NNSKED, NRSKED meters
115 Gould line printer
116 Handling of parity errors on KL10
117 OPTOPC
118 Improvements in system shutdown
119 TREESW
120 XDDT$X, XREVIVE$X
121 Symbols for UMAPS bits
122 Deletion of OPTDET; reload on top-level interrupt never occurs now
123 Optional automatic saving of ACs, .JPC, .UUOH, LSPCL in new-style interrupt
124 .CALL DISMISS can pop the above
125 .CALL RCHST
126 Deletion of .CALL BREAK
127 Deletion of LDISOW
128 Other-machine devices no longer built into the system; use unknown-device handler
129 Arg2 + Arg3 for .CALL JOBSTS; RH(.STATUS), device name for who lines and peek
130 EVSYMS file
131 SUPCOP
132 [1000]
133 %TNMEM
134 OIPBIT
135 New meters NSSKED, NRESKED, NNULBK, SLOADU
136 Improvements to TV run-light blinker
137 New .CALLs:  FORCE, JOBIOC, NETAC, NETINT, REOWN
138 DETACH ctl bit 1.5 suppresses console-free message
139 Fix the "last" bug in PDUMP
140 Delete SJDH
141 Computation of maps and memory free lists and number of DDT pages at system startup
142 [1003]
143 Remove ARDS support; add Tektronix support
144 Add TTDIIM, TTDVT, TTDRAN
145 Add meters NAGEAB, NSHRAB
146 Delete superfluous user variables LSPCL1, LPFBTS, UDBR1, UDBR2, UCPB1, UCPB2, UTRAPM
147 OPTTRP is sign bit of OPTION; replaces UTRAPM
148 Make VALUE not take a separate word in user variables
149 Improvements to bringing up of the network (eliminate infinite NETWORK UP AGAIN lossage)
150 LOSRCE, IDLRCE, NPGWTU
151 .XJNAME user variable
152 .LOSE UUO, LOSE system call
153 Really fix the last bug in PDUMP
154 Improvements to CORBLK
155 NUL device changed to give immediate EOF on input instead of infinite zeros
156 Swapping algorithm enables: ENSWSC, ENUPC, ENPZRO, ENAGE, ENSWBK, ENPVCL, ENPREE
157 Ability to determine memory size on KL10 (NXM doesn't work on our machine.)
158 Debug RP04 ECC stuff
159 FILLEN works for disk output channels
160 Simplify core job - eliminate shuffling of system pages and eliminate
161         shuffling of 200-word buffers (except network buffers)
162         thus flushing thousands of timing and pclsring bugs.
163         Direct mapping always on => low-core is still big enough.
164 Symbolic socket states and close reasons for Arpanet
165 Arpanet gives interrupt if output buffer goes from full to not-full.
166 Fix Arpanet bugs: timing out, Santa Claus, extra words at end of message.
167 SUPCOP => system jobs hangs rather than sleeping.
168 Fix many erroneous bits in system job dispatch table.
169 System job can use any console (fakes IOCHNM word).
170 User who-line variables.
171 %PIATY
172 Intelligent terminal protocol now works.
173 %TCFPD
174 Make disappoints work better
175 Find out number of TVs at system startup.
176 Non software-tty STYs can get %TDORS.
177 Fast SIOT in super-image output to TTY.
178 [1006]
179 Add new meter NAGES
180 Fix bug with IOT UUOs on KL10 causing spurious MPVs
181 Turn on indirect bit in .MARPC if instruction completed
182 AGERTE enables page-ageing
183 .CNSL user variable
184 Support CAIA ? CAIA ? .HANG and SKIPA ? SKIPA ? .HANG
185 Feature for DISMISS to lose if given 5 arguments
186 Bells in ITS in operation message
187 **MORE** interrupt goes to same channel as was IOTing on.
188 Less cryptic messages in communicate mode.
189 Full support for disappoints.
190 [1008]
191 Flush OQDTSW (finally!)
192 KL: Use hardware clocks in KL-UDGE
193 Allow up to 99 jobs (up from 63).  Limit of 99 is in who line routines, I think.
194 Eliminate UCLOSE PCLSR bug.
195 RFPNTR system call
196 RFNAME system call
197 FORCE and FLUSH system calls.
198 Reorganize I/O device tables a little.
199 Allow unit mode input .CALL IOT to use an output arg instead of a clobbered input arg.
200 Flush CREAPB system call
201 Rename PGDUMP system call to PGWRIT; old name will stay around for a while
202 Flush PDUMP mode; greatly simplify PDUMP system call.
203   This surely fixes the "last bug in PDUMP."
204 Handle MMP full as NO CORE error rather than crashing the system.
205 Fix bug in unit image input from directory. (Probably crashes system).
206 Init dial-up lines on dialin rather than logout.
207 Fix bugs in control link RFNM timeout on arpanet.
208 If ARPANET socket found to be closed on input, eof if closed
209         normally by foreign host, IOCER 10. otherwise.
210 If ARPANET socket found to be closed on output, IOCER 10. (was 8).
211 Misc. ARPANET bugs.
212 %TDFS, %TDMV0, %TDCLR tty output buffer codes
213 Use tabs for cursor positioning on display ttys that have them; use
214         VT52 absolute cursor positioning if enabled.
215 Putting EXEUMP and EXELMP in system's UPGMP; not having MMP entries for sys job pages.
216 New corblk codes %JSNEW and %JSABS.  400000 now copies from exec address
217  space instead of real abs pages; 400001 is still fresh pages for now.
218 Arpanet: free output buffer space as soon as sent instead of waiting for RFNM.
219 NLOAD needs a new open loss code - done.
220 Retain sharable pages in core for a while when no one is using them
221 MMP hash table
222 MMP free lists changed to use addresses instead of indices;
223  there was a bug which luckily just caused one MMP entry never to be used.
224 Fix "last bug" in swap read errors.
225 For a disk open that fails after going through a link, a special
226         error code to reduce confusion of DDT and users.
227 .CALL STLGET
228 2-minute clock checks for clobbered devices
229 Disk .CLOSE waiting kludge removed; .CALLs FORCE and FLUSH implemented for disk.
230 Fix "last bug" in shutdown.
231 Disk FORCE not allowed in unit ascii mode.
232 [1013]
233 Absolute cursor positioning on VT52s if PADTAB=2
234 Bug in QUDS caused files to get concatenated.
235 [1016]
236 Flush old misfeature that writing in NXM in inferior creates the core.
237 Problems with one job outputting to core link, receiver closes, transmitter
238         hangs forever - transmitter's output ought to get discarded.  
239 If a network socket enters an "unhappy" state while job
240         is hung in IOT on it, and IO interrupts aren't enabled,
241         give it an IOC error.
242 Fix VT52 ^S/^Q lossage by not using direct cursor positioning at 9600 baud.
243 KL10 - handle page faults with clkchn in progress rather than off.
244 Unhang hung disk controllers.
245 Recover from reset button getting pushed on S.C. controller, also
246         handle internal parity error.
247 Fix bug causing magtape timeouts to be very random - magtape didn't
248         get polled when disk was idle.
249 Unhang ML LPT when it loses its PIA.
250 KL10 - provision for .LSPBR user variable (lisp GC instructions)
251 LH(.40ADDR) is address of 20-wd block for DDT to hack in (if 0, 20).
252 Rename .SNAM user variable to .SNAME
253 KL10 - fix bugs in one-proceed.
254 Remove machine-independent one-proceed "feature".
255 SIOT allows indexed byte pointer.
256 3.5 mode bit in DSK open allows links to be "opened."
257 JOB device calls use %PCFPD bit to detect pclsring.  New bit 3.8 in first val of JOBGET.
258 Fix bug with IOCERRs in JOB devices getting left after close and given to next user.
259 Put CRLF at end of TTY^F (for IEC, mostly).
260 Fix bug that user can map nxm abs pages.  (introduced in 1013.)
261 Intelligent terminal protocol - ^\^C => screen has been surreptiously altered,
262         set %TSATY and %PIATY.
263 MC - multiplexor kludge to building 38
264 Arpanet - 3.7 mode bit in open => use 2000-wd buffer (otherwise 200-wd).
265         Many improvements/bug fixes/dekludgifications.
266 Disk pack reservation stuff stored in tuts instead of going by drive number.
267 Unit ascii mode and SIOT output to disk, tape (BLKT devices) will
268         zero the extra bits at the end of each word.
269 Typing out space is equivalent to cursor motion even on non-overprinting ttys.
270 Allow embedded blanks in links (quoted with :).
271 New fast disk directory garbage collector.
272 [1018]
273 Remove typing out space equivalent to cursor motion feature - screwed datapoints.
274 %NCRFS
275 .CALL MLINK does .CLOSE 0, if it succeeds - fix this.
276 When TV11 goes down TVCREG of a job using 11, e.g. D, gets screwed up.
277         Not fixed up by reattaching.  Mostly fixed, but alu function will be lost.
278 Top level interrupt job detached gives octal PIRQC on system console.
279         No longer tinges daemons with mortality.
280 REOWN sets reowned jobs' XUNAME to reowners - fixes bug in :NAME
281         - FLUSHED.  DOING THIS CAUSED OTHER BUGS.
282 [1020]
283 %TBOUT, %TBINF bits in TTYTBL
284 Fix to:  In negative SYSDBG mode, losers can get in by linking to a sty tty.
285 OPTLKF bit in .OPTION which says unlock locks on top-level-fatal-interrupt.
286 TYOLTB per tty instead of per TCTYP (TTYROL) and .CALL CNSROL to hack it.
287 If PDCLK jumps ahead of TIME more than 5 seconds and less than an hour, probably
288         the system was stopped at a halt or breakpoint and then continued,
289         so all jobs should get going down interrupt (DDT will print "ITS REVIVED!")
290 .CALL DELEWO
291 Fast SIOT for Arpanet output
292 .CALL STYNET - direct connect STY to NET
293 On SAIL ttys, echo control characters with uparrow instead of circumflex.
294 Fix bugs in .CALL FORCE in write over mode. (FORCE loses, FLUSH hangs forever.)
295 Disk FORCE screws in unit ascii mode (.ACCESS is by words) -- taken care of.
296 Byte size support for disk files:
297         The system remembers the size of bytes a file was written with
298         and the number of bytes in the file.
299         OPEN => a byte size.  For now, unit ascii = 7, otherwise 36.
300         ACCESS and RFPNTR are in terms of the byte size opened in.
301                 RFPNTR returns a second value, the byte size.
302         FILLEN returns 4 values:
303                 length in byte size opened in.
304                 byte size opened in.
305                 length in byte size written in.
306                 byte size written in.
307         This involved changing the conventions for BLKT/CHRKT/SIOKT.
308 Various losses/infinite hangs involving swap read errors fixed (for the nth time).
309 Seek overlap on S/C disk controller.
310 Eliminate hair for deleting file on deceased pack - tut differences don't matter
311         much, and ufds will be inconsistent anyway, can never use ufd copies
312         on pack that wasn't mounted when the system ran one day.
313   ->    Also, salvager should probably check for packs whose MFD has a smaller
314         ascending master dir number and require you to do a UCOP to that pack first.
315 Disk scheduler performs poorly under heavy load, i.e. on DM.
316 [1024]
317 %TPTEL treat CRs in the way Telnet protocol wants (on input).  Needed for STYNET.
318 COD: device ignores whether it was opened for input or output (maybe others too)?
319 Flush vidis, Dinwiddies, etc. if they haven't been already.
320 Support for an optionally-present secondary disk pack.  SECOND: device.
321 OPT => %OP to get rid of random predefined non-% non-$ non-. symbol?
322 Rubouts should "work" in com mode on display ttys.
323 Allow a device job to be reused for more than one OPEN, if it agrees. (.CALL JOBREU)
324 Fix bugs with pclsring, iopdl, etc. in job devices.
325 Make SIOT and byte-size stuff work on job devices.  Necessary to do
326         do this so TECO can use new style stuff. 
327 Make it possible for PDUMP to save ACs, and for LOAD to load them from
328  pdumped files.
329 Allow selective loading.  E.g. only within certain address boundaries,
330  or only pure pages.  For DECUUO, dumped tecos, maybe dumped lisps?
331  3rd arg to load is first,,last or 0 to load only pure
332 USRVAR, TTYVAR symbolic system calls.  This also implies that when
333         .USET and .SUSET ILUUO they will store opn-loss codes.
334 [1036]
335 6-character device names in the system.  MEANING OF %DVDEL BIT REVERSED.
336         Also devices that used to ignore .FDELE now OPNL34.
337 Flush both-directions-open stuff on job devices.
338 Restandardize arguments to TTDxxx macros.  Now uses mainly keyword parameters.
339 Change KL10's XCTR XEA, from 14 to 16 to make indexed executes work right.
340 PDP6 has a .UIND user variable.  Symbol %JSSIX selects the pdp6.
341 Wait for DIR and DSK channels to become available instead of erring out.
342 New disk directory flushing code - caveat haquur!
343 Delete %TICLC
344 Add %TNDTM (Datamedia support).
345         Reverse order of args to Imlac cursor motion code.  (Taken out again.)
346 Error codes for OPEN on NET device grossly screwed around with.
347 Accounting updates - two minute clock picks a job tree and calls LOGUPD
348 %TORAW is no longer the default.
349 TTYGET no longer returns ISE0 if channel not open.
350 It works to set one's own .JPC.
351 [ITS 1043]
352 You can reown yourself!
353 An "echo" that only forces out buffered cursor motion
354         shouldn't set %TCECH - ^S lossage on TIPs.
355 ^_CFOO^^ kludge for IEC.
356 .LOGOUT N, => .BREAK N,33 if not top level.
357 Speed up typeout on TVs by not checking redundantly for buffer over-run.
358 Abandon AI LPT.
359 Note conversion of wierd non-ascii controls to ascii on %TOFCI tty was changed.
360 [ITS 1047]
361 Don't buffer more output than allocated feature on arpanet (mode bit 3.8).
362 STYNET mode now works.
363 Miscellaneous changes to output on glass ttys
364 Show both phy and vir pages in user who line
365 Add immediate instruction arguments to USRVAR/TTYVAR
366 Fixes to JOB device open and pclsring
367 Top level interrupt job detached informs owner
368 Fix IDX column of TTY^F
369 Change format of scheduler history table a little (overflow in user index and runtime fields)
370 [1050]
371 8-bit bytes in TV-output buffers (instead of 16.)  Still to be done: word at a time
372         tty output siot.  Requires some restructuring of code. - hard to avoid some bugs.
373 Rename .CALL FLUSH to FINISH.  Old name stays around for a while.
374 Better disk error reporting on RH10/RP04.
375 Have who line show # pages swapped in as well as total # pages.
376 [1052]
377 Control-Call and ^_D are deferred call.
378 Start adding multiple ttys through DTE20.
379 Fix some moreing and glass tty bugs.
380 TTYROL on a printing terminal is now 1 (formerly 0) - don't forget to change TCTYP
381 Fix CORTYP on a PDP6 inferior to not crash system.
382 USR job-creating open kills the job if no core available instead of failing
383   but leaving the job around.
384 [1057]
385 Flush new SC disk stuff; ATTN and CURRENT CYLINDER register lose randomly.
386 Insert and delete lines and characters on TVs.  Scrolling.
387 .CALL USRMEM
388 Fix more Arpanet & direct-connect bugs
389 BOJ block IOT in don't hang mode now doesn't hang if the creator
390         is not in a corresponding JOB IOT.
391 Scrolling on TVs.
392 [1066] 5/30/77
393 Alpha echoes as alpha, while ^B echoes as ^B.
394 .CALL TTYFLS allows you to flush all tty input chars up to the last one ITYIC'd,
395   or flush just that last one.
396 DNRF device is like DSK but doesn't set the file's reference date.
397 Opening DIRHNG:FOO; gives you a channel that interrupts whenever anyone
398   writes in directory FOO.
399 TRAP: device to allow faking out of inferiors - all system calls
400   on such a device trap, including OPEN, but TRPOPN .call allows superior
401   to open it for the inferior.  CLOSE does not trap, which is vital!!
402 ISPEED/OSPEED TTY variables (read only).  Also change speed codes to 4 bits.
403   These variables are in bauds, not internal codes.
404   TYEEO3 is fucked.  Also TYPBP1 needs to be fixed.
405 Finish flushing 2741s.
406 RCPOS, SCPOS, LISTEN, FORCE, and FINISH allowed under $$^P.
407 TTYSMT (SMARTS) variable to hold info on what sort of programs a tty can load,
408   what graphics options it implements, etc.
409 CHAOS net
410 SWPWSP started, but not finished yet.
411 Settable block size on magtape via .MTAPE and flushing of chunk mode.
412 New IOC errors 12 and 13
413 Locked-down pages; see CORBLK and PGWRIT system calls.
414 Fix loose-page bugs by maintaining RH(MMSWP) correctly.
415 Final version of USRMEM
416   But still needs to learn how to turn into SETLOC if writing system.
417 PAGEID system call and associated crud flushed.
418 More error checks in CNSSET etc.
419 %TPPRN
420 Attempt to make nulls outputtable to MTY
421 Symbolic ATTY, so you need not have a job open to use it fully.
422 Store the UWHO variables on non-tv systems for benefit of user
423  programs to generate who lines.
424 Make MAR work correctly on KL10 (formerly OPTOPC had to be on.)
425 Device name table - negative LH is sixbit short name, else
426   is pointer to sixbit long name.  Change chaos, dirhng, trap.
427   Note that this changes what .GETSYS of CHDEVS returns.  Who cares?
428 .CALL DL10MP
429 Flush NEWDTE conditional.
430 .HSNAME user variable (home sname)
431 [1091] 11/11/77
432 .LSPBR flushed due to > 100 uset variables!  Magic number for .HSNAME
433  changed from 100 to 43 .
434 Fix up SWPWSP so it may work
435 Really make MAR work on KL10 when OPTOPC is off.
436 Reset speeds to zero when a STY is handed out.
437 HELP key (TOP/H, ^_H) always returned even if not in full character set mode.
438 Additional hair at TYOMT4 to try to make echoing work right.  Loses, flushed.
439 Flush even more vestiges of 2741's.  Speed code 0 now means unknown, not 134.
440 Fix CHAOS bugs, add 5th result to CHAOS WHYINT.
441 Fix bug with wrong spacing between mores on scrolling terminals introduced
442  into ITS 1036 or thereabouts.
443 Fix bugs with over-AOS and over-SOS of SUSRS.
444 [1097] 12/5/77
445 .MTAPE 13 returns block size of last record read.  You should gobble
446  the first word of the record then do the .MTAPE.
447 Add new swap and pagein history tables.
448 Change ACCESS to give error on wrong type device, instead of claiming
449         to succeed.  This also gets rid of special job op for .ACCESS,
450         now it just comes through looking like a symbolic system call.
451 Fix parity error handling on KL10s.  Was completely fucked.
452 Minor fixes to swap-out routines, and to hsname.
453 Error code returned for network went down changed from 34 to 41 (arpanet).
454 SCML changed to work if you don't have the tty
455 Fixes to SCPOS bug, link to multiple ttys same name bug, scrolling bug.
456 [1099] 1/15/78
457 RFNAME on DIRHNG returns correct dir name, zero file names.
458 Save and restore tty user-options across detach/attach.  (STTYOP)
459 TTYESC .CALL
460 Say system full if there aren't 100 mmp entries left. (on ^Z)
461 Fix bug in %OPLKF on KL10
462 For RH10 disks (mainly RP04s), know about "recoverable" unsafes.
463 1.3 control bit to ATTACH causes job to start after it is attached.
464 Readahead on mag tape, to make reading much faster.  Note that an
465  incompatibility in .MTAPE was introduced; the stop call doesn't
466  compensate for read-ahead.  Conditions under which .MTAPE writes back the function
467  word changed slightly, but, then again, the old code had gross pclsr bugs.
468  Kludge that a count of 0 in a spacing command means 1 retained.  Update documentation!
469 Fix bug where FORCE on unit-ascii disk channel didn't pad
470 Further changes to TYI to ignore top-letters except HELP when not in full char set mode.
471 Fix bug in %CBLOK feature that crashes system if it is used.
472 Fix AC conventions in LOSSET routines NJBRUL, QCHNRT.  They are commented now!
473 DISOWN (etc.) now only closes inferior channels, not foreign-job channels.
474 Fix bug in deleting links to dirs with a leading space in the name.
475 [1102] 3/3/78
476 Fixes to Arpa network control-message-queue overflow bugs
477 Overhead metering (only works on KL10s)
478 [1105] 3/22/78
479 New chaosnet protocol, .CALL PKTIOT, change to chaos IOT, direct connect for chaos.
480 Fix bug in RFNAME on DIRHNG:
481 .NETS is now just a uuo version of .CALL FORCE
482 Change RENAME and DELETE to give file-locked for *-files
483 Change >-lookup to notice *-files
484 Fix bugs in IDLTIM ttyvar, ^\^C
485 Fix TRAP device
486 Fix bugs in disk FINISH, PDUMP with %QAACC set.
487 [1111] 5/2/78
488 Fix bugs in job device
489 Arpanet extended leaders (incompatible changes to be noted here)
490   - RCHST no longer returns byte size
491   - see NETHST, NETIMP.
492 Add TTYSMT as alternate name for SMARTS tty-variable.
493 %TOSA1 no longer controls echoing, only output.  This change also admits 0
494  (center dot) as an OK SAIL character. 
495 QSNNR bug fixed! At least one possible cause.
496 DNR: as a synonym for DNRF: for the sake of DIRDNR: for $$^F.
497 PIRQC 4.9, if set, pclsrs the job but doesn't give an interrupt.
498  The Arpa and Chaos nets need this to arrange for IOC errors at the right times.
499 [1115] 5/27/78
500 The following items deleted from the AI system (softwarily):
501    340, DSD, OMX, IMX, N D/A, PDP6, H CLK
502 Fix bugs in disk code with respect to DELEWO and to FORCE
503 Fix over-run bugs in mag tape code
504 Add run-time-field to SWPHTB and PGIHTB, temporary(?) for metering
505 [1117] 6/30/78
506 PAGPRE - pageing preemption without SWPWSP
507 Additional metering to try to find why there are so many "real" schedules
508 Bug fixes: paging, tty code.
509 At TYMTB3, if home up is better, check whether abs positioning is even better.
510   This will eliminate superfluous extra home-ups on VT52s.
511 When cursor positioning with tabs, if told to go one char past the right
512  margin, will try to do it with tabs and really mess up on VT52.  However,
513  will probably mess up on any other terminal, too.
514 [1121] 8/8/78
515 Fix interrupt at wrong time bugs in Chaos NCP.
516 A location RVVTIM recording the last time the system was revived - TAA
517 Flush the misfeature that 1200-baud printing terminals are Terminets.
518   Note problem with the motor turning on and off when using CRTSTY.
519 [1122] 8/19/78
520 Fix MMPTMP bug in .CALL PGWRIT, caused halts at SWPACT+6 and QSWPFN+23
521 New Chaos protocol, never-ending stream of Chaos bug fixes
522 Additional metering
523 New resources of various sorts (memory, MMP, STYs, jobs) for MC
524 Expunge useless symbols like FOO to save space in the system.
525 FIX YET ANOTHER BUG ASSOCIATED WITH MOVING OFF RIGHT MARGIN OF A
526   DISPLAY - THIS CAUSED VT52 TO HANG OUTPUTTING INFINITE TABS.
527 [1127] 10/3/78
528 There is a deadly embrace where the Arpanet wants to go down, but the sys
529  job is waiting for the core job which is trying to shuffle an arpanet buffer.
530  THIS IS FIXED BY CLEARING ACTIVE-AT-PI BITS WHEN NET GOES DOWN.
531 MORE CHAOS NET BUG FIXES AND PROTOCOL CHANGES
532 Add checks in case ac-block selection loses
533 [1128] 10/16/78
534 Fix yet more Chaos net bugs
535 RENAME on core-link crashed the system
536 .SHUTDN could shut the system down in 0 seconds
537 [1131] 11/21/78
538 Image-mode block-IOT output on NET device transferred one word
539  when it should have transferred zero.
540 Fix yet more Chaos-net buffer list bugs, also bugs introduced
541   when RFC-retransmission was put in, involving %CFOFF
542 Who-lines display wrong thing for 6-character devices (CHAOS)
543 [1133] 11/30/78
544 Bug where when using unit-mode input to EOF then doing SIOT would
545  loop in the system - added instruction at CHRKT1.
546 [1135]
547 Fix "last bug" in CHAOS (CHAQSR)
548 Fix bug that you could get write access to abs pages
549 Add error-check at UBLST4 attempting to track down "ZUSER2" crashes.
550 [1136] 12/15/78
551 Fix FII32 bug for DM Imp interface, set DM system console to 0, ignore NXR/NXS on Arpanet,
552  make Arpanet work if non-zero network number supplied in host number.
553 bug at typors crashes system at typda1 by clobbering t
554 Do XCTRI XEA at PFA12 by hand to see if this instruction sometimes fails
555  and causes famous "indexed XCT" failure.
556 Use performance counter for accurate CPU-time metering, when a user isn't using it
557 [1138] 1/4/79
558 Fix loop at ACMTC, in somewhat unsatisfactory way.
559 Get rid of old Plasma "multiplex" lines, add 8 more STYs.
560 [1142] 1/27/79
561 mag tape IOT didn't use SIOKT if SIOT was used, causing anomaly at EOF
562 Add support for Teleray 1061 and HDS Concept-100 terminals,
563  involves improvements to padding and abs-positioning code.
564 ^PA now always erases to end-of-line, whether or not it crlfs first.
565 Fix bug in PAGPRE code probably causing FLSINS instructions to skip
566  prematurely - loss was if a pre-empt failed and the current job had
567  just uflsed, it went ahead and ran it again without checking the flsins.
568 Disk-file author code uses HSNAME if UNAME not identifiable with a dir.
569 [1144] 3/5/79
570 large memory on mc
571 [1145] 4/4/79
572 Fix long-standing bug in .UTRAN!
573 Fix the last bug in the CHAOS NCP
574 Increase the numbers of job slots and disk channels for MC; a better
575  way of dealing with the cretinous deadlock for disk channels needs to be devised.
576 [1148] 4/13/79
577 Fix Arpanet NCP to delay sending a CLS until after a RFNM comes back.
578         - bug found by OTA
579 Support multiple secondary packs; QTRSRV field is now the device-name for
580         writing on the pack (if not 0 or -1).
581 [1150] 6/79
582 Increase max virtual core on MC to 3.5M.
583 Turn off redundant checking in CHAOS code, it clearly works.
584 Fix bugs with TTY padding that were crashing system
585  when you had a 1200-baud printing tty with padcr=1
586 Make the 2-minute clock (actually UTBFLF and UFDFLF) swap out
587  all loose pages, to fix a bug where loose pages could stay around
588  for a long time in MC's memory, tying up the disk space occupied
589  by a deleted file.
590 [1150] 6/15/79
591 Found bug in assembly-time test for exceeding 6 bits in IOBFT channel number codes.
592 Use a better checksum algorithm across the 10/11 interface for the Chaos net.
593 [1151] 7/79
594 Fix system deadlocks caused by %CBLOK-locked-down pages using up all the core
595  pages which want to be used for I/O purposes.  Simple-minded change is to
596  ignore MMPLOK bit in that case.
597 Expand MEMLZL and MEMLZH to 8 locations each so multiple ranges of memory
598  can be patched out.  Especially important when you have interleaving.
599 Get rid of the .HKALL before the system initialization since it causes more
600  trouble than it saves.
601 Fix bug causing infinite hang in FINISH call on write-over channel near EOF
602 Fix deadlock where system won't come up because the NUJBST buffer is full
603  of network servers and the system job is trying to start the daemons.
604  Code was completely brain-damaged.
605 Fix bug in file system where QAUTH could pclsr, leaving a half-created
606  file that claims to have been written on pack 0.  I'm not sure this
607  was the only source of this symptom but it's certainly one source.
608  This may have also been the cause of the duplicate files with the same
609  name (typically _DRGN_ BUFFER).
610 Move TUT header to front in preparation for T-300 support on MC.
611 .CALL ECHOIN
612 Maybe CALL should do an input-reset?  Currently DDT does one, but there's
613  often a significant delay before it happens. (rwk, eak)
614  I'm not sure but I think it does one now.
615 [1154] 9/6/79
616 Deadlock with allocation of directory slots: If you run a program
617  such as :DSKUSE $ which just reads all the dirs, it hangs up waiting
618  on QFUD with QSKOSW locked; however the automatic QDFLS in QFLDF
619  only happens with QSKOSW locked, so no other job can get in to
620  do it.  Also it would appear that nothing tells the core job to
621  do it, at least not often enough.
622  Fixed by making QFLDF keep trying the QDFLS over and over.
623 Read-compare for ML
624 [1157] 9/13/79
625 Increase maximum size of a disk address from 15 bits to 18 bits
626  most places; still limited to 16 bits by UFD descriptor format
627  (could easily be expanded to 17).
628 [1158] 9/15/79
629 Support for T-300 disk on MC.
630 [1160] 9/18/79
631 [1163] 10/18/79
632 Make switch 0 go to DDT, even if system not being debugged.  This is
633  because the address switches on the AI machine are so marginal.
634  Hopefully this switch won't get set accidentally too much.
635 Fix total brain-damage in the RP-10 disk code that caused it
636  to ignore errors on the last block in a cylinder.  This was causing
637  the read-compare errors on ML.
638 [1164] 10/29/79
639 Region scrolling - %TDRSU, %TDRSD, %TPRSC
640 Fix bug that enabled interrupts in TVBNCL and caused crash at TYOAS7 in echo code.
641 Spell %TDGRF uniformly everywhere, was %TDGPH in one place.
642 Get rid of routine LOOSCH in CORE -- obsolete temporary bug check
643 Eliminate possibility of reused disk addresses ("Y files")
644  by keeping on-disk structure consistent.
645 Remove obsolete bug check from QFLD
646 MAXJ was inaccurate due to rounding problems
647 Bits 1.9-1.7 of .STATUS had been broken for some years.
648 Fix bug in BOJ device causing halts at CFH2+22 on KL's.
649 Change CHAOS code minimally to allow Muppets to pass through
650  uninterpreted.  This will need to be done over better at some later time.
651 [1168]
652 Page-ahead and write-behind features (involves making >100 user variables work)
653 Fix pdl-underflows in magtape routines.
654 Fix bug where on KL's run time was accounted only in user mode.
655 On KL, CFF1 could get to UFL1 with clock PI in progress, causing loop
656  at UFL6.  Bug was introduced when page fault was changed to actually
657  cause a PI7 interrupt rather than just simulating one.
658 Fix bug in SCHBLN feature causing first runnable job found to be ignored.  Thanks to DLW.
659 Fix worse bug in SCHBLN feature.  Maybe it will actually do something now!
660 Multi-pack secondary devices.
661 Recalibrate timeout on AI, attentions tend to get lost sometimes
662 Before giving out of disk space iocerr, await completion of
663  pending file deletions (new partial-consistency scheme).
664 Make %TPMTA work on STYs.
665 [1185] 5/23/80
666 Fix bug causing system job to UFLS momentarily every time it types a character
667 Now that SCHBLN actually has any effect, it (as predicted) allows compute
668  bound jobs to hog the whole machine.  Overhaul the whole priority
669  and schbln mechanisms of the scheduler.
670 [1186] 5/25/80
671 [1192] 6/2/80
672 Fix bug where QSMPRP could have 0 in the RH (causing crash with ACs clobbered)
673  if a .IOT was retried after an IOCER2 had happened because of random
674  access off end of file.  There is still a bug in the ARC device such that
675  it loops when this happens instead of noticing the archive file is clobbered.
676 ...(note: a number of unrecorded changes were made in here)...
677 Sequential paging (.PAGAHD, .PAGRANGE) implemented.
678 Position-dependent padding of terminal output implemented.
679 Fixed echoing of ^_ commands interaction with choice of pc ppr for echo.
680 [1207] 3/12/81
681 4/5/81 Moon - Small bugs fixed: FINISH on disk channel hangs for a long time
682 sometimes, Chaosnet doesn't handle window overflow correctly, a user executing
683 DATAI PI, on a KL-10 crashes the system.
684 4/18/81 Moon - fixed CBF's kludge for insert-character on C-100 to work on ML/DM.
685 [1213] 4/22/81
686 Chaosnet: Removed support for Muppets, added new foreign-protocol protocol
687 Fixed binary directory SIOT to use SIOKT
688 [1216] 5/21/81
689 Make AOSx/SOSx followed by .HANG actually work (code tried but not very well)
690 TOP-E, TOP-S, TOP-T, TOP-X, TOP-Y and their following arg chars
691 ignored on input unless user job has asked to see them.
692 AI TVs support SUPDUP graphics.
693 [1223] 9/9/81
694 Added Chaosnet hardware support for ML
695 [1225] 9/14/81
696 Change routines that allocate core without respecting NCBCOM, the count
697  of pages committed to use by CORGP.  How did this pile of shit ever work?
698  Routines changed from calling NMMRQ to IOMQ: GMMP4, UQL1B
699 TTYGET, TTYSET, CNSGET, etc. work if you don't have the tty.
700  So does opening tty channels.  RESET ignored if you don't own it.
701 New TTYTBL bits %TBOIG, %TBIIN for ignore output, interrupt on input.
702 Installed a BUG macro similar to the 10X/20X one, and made most
703  common halts use it.  This replaces the SYSMSG routine.  Documentation
704  is with the macro definition near the front of ITS.  Complete
705  functionality requires the latest version of exec DDT (just to make
706  it possible to <alt>P from a bugpause).  There are still many halts
707  in the system, and perhaps some of these should be converted also.
708 [1243] 10/17/81
709 [1244]
710 Include "$" (don't-reap switch) in directory listing.
711 Logging of memory ECC errors on system console.
712 Fix SYALC3 not to print on nonexistent terminals and TVs after the free-screen.
713 [1251] 11/20/81
714 Rearrange code so when it says "net: timed out trying to come up",
715  if the IMP ready line then turns off and on, it tries to come up again.
716  This should make it come up by itself after the IMP breaks & is repaired.
717 Program around lost-interrupt problem with DTE-20.
718 Install SOPEN and bp-forms of RENAME, RENMWO, MLINK, DELETE
719  and give job devices access to the original bps.
720 [1256] 12/25/81
721 Third arg to RFNAME, to get name stored as string.
722 %DO names for bits for opening disk channels.
723 %DORWT bit for output opens to make input opens of same file wait
724  rather than failing.
725 Ignore special local editing protocol and supdup graphics input chars
726  for all ^_ processing.
727 [1263] 2/2/82
728 Change UFD paw-over so files being written when system crashed don't
729 get their names incremented.
730 ------ pending ------   (?) indicates probably shouldn't be done
731 Maybe page preemption (in PPIUM) should respect job priorities?
732 At IFSTOP, what is this garbage "have already hacked this user"?
733 Make SIOT use KLH's FSCOPY in the unaligned case?  Do up to a page boundary
734  with less checking?  Hair?
735 Put in a value of QRCSW (in QRDCMP) that causes it to read-compare
736  only every N ("System Reliability Assurance").
737 If between the time output finishes being put in the buffer and the
738  time TYOSW is unlocked the output interrupt level finishes
739  doing the output, and echoing is pending, nobody ever puts
740  TTYERQ on the echo list, so the echoing never gets done.  I guess
741  typing another character unhangs it.  For some reason this was
742  exposed by a user program that got its %TDQOTs out of phase.
743  The right way to fix this is not immediately obvious.
744  By the way the comments in TS3TTY about finalization are wrong.
745 SPEED parameter of a TV should be unchangeable or reset on logout.
746 CORBLK ON DISK-WRITE CHANNEL FUCKS UP GROSSLY
747  SEE QBWRA2, WE NEED TO GET TO QSOCL5.  THIS WHOLE THING SUCKS.
748  Probably CORBLK'ing on a disk-write-channel should do a FINISH first.  Plausible?
749 Suggested scheme for ^_ commands to work even if input buffer full, and have a ^_
750  command that does an input reset.  Another idea is if you are in super-image input,
751  and it dings due to input buffer full, turn off super-image so you can call out.
752  Another idea is an interrupt character replaces the last in the buffer if it
753  is full; various pointers and counters need updating.
754 %CBCPY in .CALL CORBLK for JOB sources as well as FILE sources
755 Support special (non-NCP) links for Arpanet.
756 .CALL ATTACH WAITS ON TTYTBL WITH TREESW LOCKED, HANGING SYSTEM.
757   E.G. RWK TTYFRE
758 Find out why, in the SWPWSP system, the loading state doesn't work.
759  Also find out why it tends to swap from wrong disk and like that.
760 JOB: open, when no slots are available, should hang for a little while before erring.
761 When generating a ">" file name for write, should prefer all-numeric
762  names over names with non-numeric characters in them.  The same
763  should also be true for read.  A reasonable way to do this
764  would be to compare first the numeric value, then the whole name
765  as sixbit if the numeric values are the same.  The numeric value is
766  the left-most contiguous set of digits, converted from decimal to binary,
767  with the sign bit turned on if there are any non-digits in the name
768  except for trailing blanks.
769  The incrementer, however, should continue to do what it does now,
770  thus incrementing 6.9 to 6.10
771 Implement chaining for disk writes (reads are much harder and
772  more dubious.)  Speedup is only marginal unfortunately.
773 New winning echoing scheme to fix "rubout problem"
774 Automatic time setting to avoid lusers setting incorrect time. (STRTUP)
775 New lighthouse scheme?
776 DDTDSK & DSKDMP shouldn't allow crash dumps to get past QSWAPA, but shouldn't
777  shaft you by making it impossible to dump out an ITS.  Should they clobber
778  with reckless abandon in the swapping area, or respect the TUT?
779 When gsb names a job .FILE. (DIR), it astonishes pfthmg dragon.
780 If a job owns a sty which is its own tty, and closes the sty,
781  it doesn't get gunned, which apparently could cause anomalies.
782 Some kludge for a message on top level int job detached while loading.
783 Make core-link use normal BLKT routines.  CLO have interrupt-on-connected.
784 core link device should give input-available interrupts (& handle WHYINT)
785 RMS;PGEXCH
786 Implement chaos net to self only for machines with no hardware net.
787 Fix conditionals so you can have chaos without an Arpanet.
788 Arpanet: Save subtype of destination-dead message in IMPHTB, return in NETHST.
789 DELETE %TXSFT AND %TXSFL.  (%TXSFL is gone now)
790 %TOIML is alleged to be obsolete now, likewise %TNIML.  (RIP SSV)
791 LISTEN on a tty returns device not available if you don't
792  own the tty.  It should probably return success saying 0 chars available.
793 Don't allow deleting FOO < to delete FOO >
794 RENMWO with a zero 2nd arg turns into RENAME and fucks up grossly.
795  I tried to fix this but found that it would break .FDELE.
796  Also RENMWO always sets its UUAC to 0 instead of the given channel number arg.
797 There should be a WHOLIN TTYVAR.
798 Add additional tty variables, TTYSTS, TTYST1, TTYST2.
799 EAK would like to be able to access millions of random things as
800         tty variables, e.g. cursor pos, number of echo lines, and so forth.
801 Can get NET: IGNORED ALLOC of a legitimate alloc right after opening a connection.
802   Then the receiver has non-zero allocation, but the sender has zero, and hang.
803   I can't figure out why this happens; happens from DM a lot.  May have to
804   do with starting several ML devices at once?
805 The net may send illegitimate CLS commands when it goes down, some hosts complain.
806   SAIL gets this also, probably it isn't our fault.  Tenex thinks we are rsexec??
807 Still no fix for swap-write errors problem.  Should barf if it's a file
808  page, otherwise assign a new disk address.
809 For something different from load av look at e.g. #jobs
810   unblocked in last second (LUBTM) then avg over longer times
811 A system call to hand a character which would echo it or rub it out
812  as appropriate, knowing the size of what it echos as, etc. -- klh
813 Compute rnablu and npgwtu 1, 5, and 15-minute averages.
814 People have mumbled about authors and don't-delete bits.
815 STYs can get the greeting message out of order, apparently old
816   console free messages, and %TDRCR, %TDLF, %TDINI on supdup stys, occasionally.
817 Character mode on USR: (for lisp).  Can't be done.
818 In direct connect mode, no protection against overfilling tty input buffer.
819   But also no danger of hanging in STYO.  Maybe for STYs should be a mode?
820 RWK wants to be able to have a newline without cleol but scroll function,
821  with more deferred.  The idea is to be able to draw e.g. a box without
822  being broken across screen boundaries, or Macsyma display, etc.
823  I think the effect can be achieved by temporarily setting %TSMOR+%TSROL,
824  then using CRLF.  This will cleol, but you clearly want that since
825  it does anyway in the case where it scrolls.  You will have to figure
826  out your own more processing.  Macsyma should try this.
827 For ML and DM, check memory switches better; check for 2 addresses
828   from the processor being the same memory.  Not currently detected.
829 BOJ SIOT
830 TTY output SIOT put %TDNOP's to align word boundaries then use BLT where
831         that seems like it's worth it. -- hard to avoid bugs with %TDMOV -- (?)
832 Keep a small ring buffer of the names of output files recently closed
833  and have a command some place to print this. -- dlw
834 RVB would like to have device names in links.
835 Proposed hack to make SYS: a job device. (?)
836  A better idea is something similar to 20X logical devices.
837  i.e. Do something to allow directories to be bigger.
838 Sort out MOREing - %TJECH, %TJMOR, %TSMOR, TYVM (?)
839 OPEN with byte size.
840 Way to set/adjust the length of a file (open for writing).
841 Make JOB SIOT byte pointer available to BOJ JOB (for alignment.)
842 Who lines scheme for non tvs? (?)
843 Network should remember how many pending INS/INR interrupts there are.
844 Improve data media code to grok relative positioning; make non-tab
845   cursor motion code understand direct positioning; relates to ADM3s.
846   KLH claims on a DM2500 not even carriage return works.
847 ">" algorithm loses for 999999.  Wraps around to 000000 and doesn't
848   check if that file already exists.
849 The SPY device doesn't work on free consoles -- pain in debugging ttys.
850 $0L into pdp6 loses in core job with inf circular list - Ed
851 There are some problems with core job, retmmp, etc. - see listing
852 ^PA should "work" in comm mode since DDT has started using it.
853 Optional 6th <JOB> arg to .CALL TRANS
854 CORBLK to get a fresh page doesn't necessarily do so.  This should be fixed.
855 PDUMP should also save debugging user variables.
856 Verification of decoriolis clock when system comes up.
857         Right thing is to run a daemon job before typing "in operation",
858         also before accepting ^Zs.  Job either gets it through net or asks
859         on T00, if time doesn't agree with some file dates.
860 System knows names of pdp11s on ten11 interface; some of them can
861         only be written by one tree at a time. (?)
862 MRC wants ^P codes to "work" in com mode on ttys of the same type. (?)
863 Form of OPEN/RENAME/DELETE/MLINK that doesn't do translations?
864 Improve dm daemon stuff and turn on elsewhere; e.g. need
865         a demsig interrupt, need better dmnstr stuff.
866 VSCLK wants to do JSP E,CHECK, but first must provide mechanism for
867         variable PIA devices, e.g. IMP, NLPT.
868 FORCE + FLUSH means something on input?
869 Disk dir paw over changes for when file was open for writing when system crashed
870 ^PS's saved cursor position should be per-tty/per-job.
871 Undeletion.
872 User enableable interrupt on being blocked for more than C(user variable) seconds?
873 Macro to push PI status and turn more channels off, macro to pop PI status. (?)
874         This a little complicated since CONI PI,A ? CONO PI,(A) doesn't work.
875         Correct sequence is CONI PI,AC ? ANDI AC,177 ? ... ? CONO PI,2000(AC)
876 System job can get hung if another job is typing on system console;
877         the job waits for buffer space with TYOSW locked.
878         Note that it must wait this way for separation of echoing/mp output.
879 Handle figuring out which packs are mounted the way the salvager does?
880  This would be fairly complicated to do.  Perhaps the salvager could tell the system??
881 On MC, respond correctly to disk powered off and back on.
882 Replace DSKDMP with DDT on AI, ML, DM ?  Replace DDTDSK with (better) DSKDMP on MC ?
883         Note- DSKDMP has been improved to have compatible symbol table,
884         save ACs, etc. so not much need to make DDTDSK work on other machines.
885 iotbts - control waiting for input, what returned if none, output don't hang mode
886         These should be in LH(CTLBTS) rather than separate IOTBTS user var.
887 automatic unhanging of LPT; both old & new have this problem (different problems).
888         Seems to have stopped happening 10/25/77
889 make RSSIZE work on all devices
890 Implement %QAOUT - ?
891 Disk allocation system call (e.g. for KLFEDR.)
892 KL MUSIC support.
893 Dynamic adding and deleting of core pages (?)
894   requires changing page eviction in core job to be modularized out of sys var grower
895   Note page eviction has been mostly flushed now!
896 .ATTY and .DTTY to a BOJ JOB forced by that BOJ JOB;
897  e.g. for tektronix graphics device.
898 Eliminate IOC error codes, and have IOC errors return open loss codes.
899 Cause OPNL's to pop the LSWPR not all the way, but rather
900  to a remembered level. They should also flush P down to a remembered
901  level and then POPJ. This will allow recursive ERRSET'ing within the system,
902  and further reduce the differences between system call routines and
903  other subroutines. (?)
904 The who-line should mention it if you are being queried for a com link.
905 Make run status in who-line 9 characters instead of 6. ("+FOOBARSI")
906 Eventually make core job part of sys job.
907 Have SYS job attend to ^Z's by creating an inferior, disowning it
908         and attaching it to the tty. (?)
909 Have a UUO that Xfer's job's entire user var block into it. (?)
910 New sys call to get # bytes of buffer space full and # bytes empty
911  eg # bytes of output not yet transferred, and # bytes can be output
912  before buffer is full. (?)
913 Call I/O related routines with LH(IOCHNM) in I instead of A; and
914  otherwise restandardize AC usage.
915 Alternate keypad mode and alternate character set mode on VT52s  (?)
916 Redesign the file system?
917 Support RH20, KS10, and Foonly-10.
918 ---
919
920 RMS@MIT-AI 05/16/78 21:38:19 Re: JOBREU doesn't really win
921 To: MOON at MIT-AI, RMS at MIT-AI
922 Reuse of job devices has the problem that the job device
923 needs some time to settle down and do the jobreu.
924 If you just close and reopen the ML device, the handler
925 is never ready in time.  If you sleep for 1 second, then
926 it usually is ready, provided that it was idle when you
927 closed it.  It takes 3 seconds for it to become idle
928 just after it is opened.  Of course, real uses don't just
929 close and reopen this way, but the point should be clear:
930 it is necessary for the handler to indicate in advance that it
931 will be reusable.  When a job tries to open ML:, if there are
932 no handlers in JOBREU, it should look for one which has JBCG set and says that
933 it will do a JOBREU, and wait for that one to either do it or kill itself.
934 At that point, looping back to the existing OPEN code will win.
935
936 Add wholine & PEEK state character for loading, similar to >
937 for swap-blocked.  Add _ to wholine.