This is the release history for the MIT Lisp Machine System software, with annotations of interesting tid-bits. Entries are based on messages sent to BUG-LISPM.
N.B. This is very much incomplete!
Date | System Release | Microcode | |
---|---|---|---|
Microcode internal convention changes | |||
06 December 1978 17:29 (EDT) | System ?? | ||
08 December 1978 01:11 (EDT) | System ?? | ||
EINE soon flushed | |||
EINE flushed | |||
21 April 1979 17:27 (EST) | System 5 | ||
25 April 1979 04:41 (EST) | System 5.10 | ||
29 May 1979 10:12 (EDT) | System 8 | ||
03 June 1979 09:58 (EDT) | System 9.1 | 493 | |
12 August 1979 10:48 (EDT) | System 17.6 | ||
24 August 1979 01:51 (EDT) | System 18 | 555 | |
11 September 1979 06:08 (EDT) | System 19 | ||
System 19.4 has sequence breaks! | |||
15 September 1979 01:35 (EDT) | System 19.4 | ||
6 October 1979 10:06 (EDT) | System 20 | 579 | |
07 March 1980 23:42 (EDT) | System 26.3 | 616 | |
Joystick "mouse" | |||
12 July 1980 02:20 (EDT) | System 30.3 | ||
19 July 1980 03:00 (EDT) | System 32.1 | 674 | |
29 July 1980 02:23 (EDT) | System 32.4 | ||
New Cold-Load Generator | |||
10 August 1980 04:27 (EDT) | System 36.2 | ||
18 September 1980 23:30 (EDT) | System 43.0 | ||
22 September 1980 03:51 (EDT) | System 44.2 | 692 | |
How to use old-style keyboards on Lisp Machines | |||
06 October 1980 00:33 (EDT) | System 45.2 | 692 | |
07 October 1980 23:58 (EDT) | System 46.1 | 692 | |
27 November 1980 01:22 (EST) | System 50.9 | 701 | |
06 December 1980 23:20 (EST) | System 51.1 | 705 | |
18 December 1980 20:19 (EST) | System 53.15 | 707 | |
05 January 1981 21:23 (EST) | System 55 | 715 | |
22 January 1981 03:54 (EST) | System 56 | ||
03 February 1981 23:09 (EST) | System 59 | ||
03 March 1981 04:13 (EST) | System 65.0 | 739 | |
04 April 1981 01:38 (EST) | System 66.14 | 747 | |
15 April 1981 21:31 (EST) | System 67.1 | 752 | |
05 May 1981 23:12 (EDT) | System 68.9 | ||
05 June 1981 01:58 (EDT) | System 69 | 757 | |
22 June 1981 03:03 (EDT) | System 70.4 | 766 | |
11 July 1981 18:06 (EDT) | System 71.?? | 767 | |
31 July 1981 23:13 (EDT) | System 72.?? | 774 | |
System 72.34 | 774 | ||
30 September 1981 01:05:42 | System 73.10 | ||
14 October 1981 15:32 (EDT) | System 74 | 793 | |
09 December 1981 13:58 (EST) | System 78 | 836 | |
12 February 1982 14:30 (EST) | System 79.8 | 849 | |
System 79 and 83 QFASL compatible | |||
System 79.48 | 841 | ||
Microcode numbers have been wrapped around to avoid confusion | |||
12 April 1982 07:08 (EST) | System 83.?? | 104 | |
12 May 1982 04:52 (EDT) | System 85 | 122 | |
16 June 1982 07:01 (EDT) | System 86 | ||
09 July 1982 03:03 (EDT) | System 86.56 | ||
System 87 | 164 | ||
System 88.?? | |||
System 89.?? | 183 | ||
System 89 | 201 | ||
System 91 | 204 | ||
15 March 1983 20:21 (EST) | System 93 | ||
02 June 1983 06:31 (EDT) | System 94 | 239 | |
19 September 1983 01:11 (EDT) | System 97 | 257 | |
System 98 | 306 | ||
Common Lisp compatible control argument to FORMAT | |||
System 99.?? | 320 |
MOON@MIT-AI 11/09/78 16:23:12 Re: Microcode internal convention changes To: (BUG LISPM) at MIT-AI A-TEM has been replaced with several new specialized A registers. M-3 has been replaced with M-TEM (which also implies a new A-TEM). A new M-3 has been introduced, which behaves the same as M-1, M-2, and M-4. Nothing uses it yet. The page-fault/interrupt checking instructions have been changed. Here are the new ones: (ILLOP-IF-PAGE-FAULT) - put this where a page fault should not happen (CHECK-PAGE-READ), (CHECK-PAGE-WRITE) - these are the normal ones to use (CHECK-PAGE-{READ/WRITE}-NO-INTERRUPT) - used only inside the interrupt handler, when PGF-{R/W} retry the cycle, and when you don't want to let the interrupt handler bash the map. (CHECK-PAGE-{READ/WRITE}-SEQUENCE-BREAK) - when you want to allow sequence breaks. This one hasn't been finished yet. To review, interrupts are hardware signals that are handled entirely in microcode without swapping in any pages from the disk, without getting involved with the garbage collector, and without clobbering any registers except those that page faults clobber. Sequence breaks are (will be) macro-code interrupts which result in stack-group switching. Many comments have been changed to reflect this terminology. This version of the microcode also has some new stuff for booting. Type control-meta-control-meta-rubout to do a "cold boot". Type control-meta-control-meta-return to do a "warm boot", which is like a 1@G (doesn't do a disk-restore). Due to lack of pdp10 time, this microcode has not been debugged yet. That hopefully will happen tonight.
DLW@MIT-AI 12/06/78 17:29:01 To: (BUG LISPM) at MIT-AI A new system has been installed on CADR1. There are several important changes everyone should know about. First, the "WHat package is it in?" message is gone (yay!!). For normal user files, the system will assume that you want the USER pacakge. For files declared in PKGDCL, the system will remember as before. For those of you who have your own packages (if any), you can put the name of the package in which the file belongs into the file, by using the new "file property list" scheme, i.e. -*- Mode: Lisp; Package: Frobboz -*-. Also, the functions LOAD, FASLOAD, and READFILE will all take a package or package name as an optional second argument, and will load the file into that package. More detailed documentation is (should be, anyway) forthcoming. The default EINE environment now has Control-S set up to be String Search, and Control-R set up to be Reverse String Search. You use String Search by typing Control-S, the name of the string, and altmode; there are other winning hairy features which are in the self-documentation and are the same as those in ITS ^R String Search. The Meta-. command in EINE will now do command completion on all names that have been seen in any tags tables read in, and on the names of any sections of files being edited in section mode. The "-" character no longer does completion; use Altmode. Soon EINE will attempt to automatically find the source file of any function loaded into the machine; stand by.
MOON@MIT-AI 12/08/78 01:11:37 To: (BUG LISPM) at MIT-AI I have installed, on CADR1 only, a new microcode and world load with a couple of new features. BITBLT exists. It isn't documented yet, but you can look at the test routines in MOON;STIPPL >. Some of these will soon be installed in the system and the whole thing will be documented. Facility for the machine to do disk I/O exists; this is in SYSTEM-INTERNALS and I don't plan to document it. The routines are LMIO;DISK >, probably DISK-READ1 and DISK-WRITE1 are all anyone wants to know about at this point.
Date: 30 MAR 1979 0418-EST From: MOON at MIT-AI (David A. Moon) Sent-by: MOON0 at MIT-AI To: INFO-LISPM at MIT-AI Eine will soon be flushed, being replaced by Zwei. If you need any help in switching over, e.g. to convert your init file, contact me or MMcM
Date: 9 APR 1979 1020-EST From: BEE at MIT-AI (Bruce E. Edwards) To: INFO-LISPM at MIT-AI EINE will probably be flushed in the next release of the LM software. Is there anyone out there using it?
Date: 21 MAY 1980 1607-EDT From: rg at MIT-AI (Richard Greenblatt) To: INFO-LISPM at MIT-AI John Purbrick's force sensitive joystick "mouse" is available for trial use. For the time being, it will live in his office, and anyone who want to try it out can drop by, pick it up, and plug it in directly in place of the regular mouse. This mouse may be particularily suitable for controlling certain kinds of parameters as opposed to pointing on the screen, altho it seems to work out fairly well for pointing as well. There is some hope that this kind of mouse could eventually be built directly into the keyboard (as suggested by Carl Hewitt), and thus be accessible without removing your hands from the keyboard.
Date: 4 AUG 1980 2104-EDT From: Moon at MIT-AI (David A. Moon) Subject: New cold-load generator installed To: (BUG LISPM) at MIT-AI I have installed a new cold-load generator which runs on the Lisp machine, and banished the old one to the LISPM1; directory. To run it, load the file LISPM;COLDPK, do (PKG-LOAD 'COLD), then do (COLD:MAKE-COLD "band") where band is the name (e.g. "LOD2") of the band on your local disk on which to build the cold-load. You will be asked to confirm. When MAKE-COLD comes back, you can DISK-RESTORE from that band, or make it and the appropriate microcode current and cold-boot. Once the fresh cold-load starts up, the procedure with QLD is the same from then on. The same system format definitions files, QCOM, QDEFS, and DEFMIC are used as before.
Date: 26 SEP 1980 1403-EDT From: DLW at MIT-AI (Daniel L. Weinreb) Subject: How to use old-style keyboards on Lisp Machines. To: INFO-LISPM at MIT-AI Since some of the Lisp Machines still have old-style keyboards, here is an explanation of how to type some of the new keys on the old keyboards. To get: Type: What it is: ABORT TOP/CALL Asynchronously THROWs out of all functions running in the current process, and restarts the process from its initial function. CLEAR-INPUT CLEAR Flush unread characters (in the rubout-handler buffer). CLEAR-SCREEN FORM Erase or refresh the selected window. END TOP/RETURN Marks the end of input to some programs. HELP TOP/H Gets help, sometimes... MACRO BACKNEXT Invokes keyboard macros in the Editor and Zmail. NETWORK TOP/BREAK SUPDUP and TELNET escape. OVER-STRIKE BS Overstrike characters. SYSTEM TOP/ESC Select a window of a specified type. Type SYSTEM HELP for help. TERMINAL ESC Various terminal functions. Type TERMINAL HELP for help. HOLD-OUTPUT (used with TERMINAL) and QUOTE (used by the Inspector) are not availible on the old keyboards. More details can be found in the window system documentation written by Allan Wechsler; this is not published yet but bootleg copies are floating around.
Date: 15 April 1982 05:15-EST From: Richard M. Stallman <RMS at MIT-AI> Subject: System 79 and 83 QFASL files now compatible. To: INFO-LISPM at MIT-AI Both system 79 and system 83 have been patched so that files compiled in either one will load into the other and work; but you must use microcode 862 with system 79 to be sure of success. If a file compiled in system 79 is loaded into system 83, some of system 83's speed advantage in flavors with methods in that file will be forfeit. Also, in the unlikely case that you load old compiled DECLARE-FLAVOR-INSTANCE-VARIABLES functions for a flavor but do not load any old compiled methods for that flavor, it will not work automatically. Contact me if you think this is happening to you. If a file compiled in system 83 is loaded into system 79, combined methods produced by COMPILE-FLAVOR-METHODS will be ignored. This may make your program slower to start up than it used to be, but will have no other effects. It is therefore best to compile your files in system 83, so that they will get the full speed advantage when run in that system. It should be noted that system 83 has the same compatibility definitions that system 79 has, for the functions DEFUN-METHOD and INSTANCE-VARIABLE-BOUNDP needed in brand S systems. So code that has been changed to work in those systems will also work in system 83. QFASL files are not compatible between 79/83 and 204, however. I would like to apologize for not mentioning the now eliminated incompatibility of QFASL files in the system message for system 83. Sometimes when I know something by heart, I forget that other people don't know it.
13-Feb-84 20:42:18-EST,4173;000000000001 Received: from MIT-MC by MIT-OZ via Chaosnet; 13 Feb 84 20:38-EST Date: Monday, 13 February 1984, 20:32-EST From: Richard Mlynarik <Mly at MIT-OZ> Subject: Coming (System 99) changes to FORMAT in the MIT lisp machine system. To: info-lispm-mit at MIT-OZ [See SYS:DOC;SYS98 MSG (oz:ps:<l.doc>sys98.msg at MIT) to see this message in a technicolor multitude of fonts.] The control argument to FORMAT will change in System 99 to be compatible with Common Lisp. There will no longer be separate functions FORMAT and CLI:FORMAT, as there are in System 98. This change will affect the following FORMAT directives: ~X ~width,padchar,commacharX Prints its argument in hexadecimal. (Analogous to ~O, ~B and ~D) This command used to be used to insert spaces into the output. Use ~numberofspaces@T to achieve the same result as the old ~numberofspacesX directive. ~F ~width,decimalplaces,scale,overflowchar,padcharF Prints a floating-point number in nonexponential notation. Multiplies by 10^scale before printing if scale is specified. Prints in width positions, with decimalplaces digits after the decimal point. Pads on left with padchar if necessary. If the number doesn't fit in width positions, and overflowchar is specified, this command just fills the width positions with that character. This directive used to just take one optional prefix control arg, which specified how many mantissa digits to print. This is the same as 2 + decimalplaces for the new FORMAT. Use ~,n+2F to achieve the same result as the old ~nF directive. ~E ~width,decimalplaces,exponentplaces,scale,overflowchar,padchar,exptcharE Prints a floating-point number in exponential notation. Prints in width positions, with exponentplaces digits of exponent. If scale (default is 1) is positive, prints scale digits before point, decimalplaces - scale + 1 after. If scale is zero, prints decimalplaces digits after the point, and a zero before if there's room. If scale is negative, prints decimalplaces digits after the point, of which the first -scale are zeros. If exptchar is specified, it is used to delimit the exponent (instead of "e" or whatever.) If overflowchar is specified, then if the number doesn't fit in the specified width, or if the exponent doesn't fit in exponentplaces positions, the field is filled with overflowchar instead. This directive used to just take one optional prefix control arg, which specified how many mantissa digits to print. This is the same as 2+decimalplaces for the new FORMAT. Use ~,n+2E to achieve the same result as the old ~nE directive. ~G ~width,decimalplaces,exponentplaces,scale,overflowchar,padchar,exptcharG Like ~E, but if the number fits without an exponent, it is printed without one. This command used to be used to go to a particular argument. Use ~argumentnumber@T to achieve the same result as the old ~argumentnumberG directive. Note: in System 98 you must use CLI:FORMAT to use the new Common Lisp style format directives. GLOBAL:FORMAT will continue to use the old directives. In System 99 these two functions will become identical, so the best thing is to update your code to use CLI:FORMAT now so that it will work in both System 98 and in future systems. Since Brand S have also announced their intention to also change the meaning of FORMAT directives to agree with Common Lisp at some time in the future, this will also be compatible change in that respect. All MIT lispms have a new instruction, CLI:FORMAT (common-lisp-incompatible-format) Please update your code.
Last modified: 2025/06/05 08:57:25 (UTC) by ams