muir↗CADR PRESERVED.
QUUX EVOLVED.

MUIR-SYS · QUUX’S SYSTEM

QUUX’s
system.

MIT’s system, carried on for QUUX: Systems 2xxx.

01 / QUUX’S RELEASES

What they
changed.

System 2000 starts from System 1001, so what Systems 1000 and 1001 changed from MIT’s System 100 is in QUUX’s system too: it is on CADR’s system. These are the features QUUX’s releases changed beyond it, as main has them now; the number after each is the release that brought it. An item whose release is not yet published is on main and in the system in development.

Removed

  • The CADR. The system runs only on QUUX: a band halts on any other machine, as the microcode does. (2000)
  • The Unibus. The microcode and the cold load make no Unibus access; the keyboard, the mouse and the clocks are on the register page. (2000)
  • The disk’s geometry: no cylinders, heads or sectors, and with them the boot PROM’s and the microcode’s retries, recalibrates, read-compare and error correction. (2000)
  • The TV board’s sync program and most of its registers, and the speed bits. (2000)
  • The page hash table, and the two map levels the microcode loaded from it: the hardware walks a page table. (2002)
  • Chaos: the NCP and its services, the SUPDUP and TELNET clients, CONVERSE and the QFILE client leave the band, and the Chaosnet’s interrupt handler the microcode. (2002)

Added

  • The machine read at boot: MACHINE-ID and the feature page give the PDL buffer’s length, the screen’s size, and whether the file device and the real-time clock are there (2000), and the board’s name (2001).
  • A pathname host for folders of QUUX’s host, through the file device, FILES. SYS: is on it, and the cold load reads its files through it too. (2000)
  • The time from QUUX’s real-time clock at boot, not from the network. (2000)
  • One band at any screen size up to 1920 by 1080: at every boot the screens and their windows take the size the video controller gives. (2000)
  • The tick, QUUX’s own 60-cycle clock, in place of the display’s vertical interrupt. (2000)
  • Multiply and divide in one instruction each, in the microcode’s fixnum multiply and divide and its bignum division. (2000)
  • A PDL buffer of 16K words, where the CADR’s is 1K. (2000)
  • The fused return: the microcode fills the macro dispatch memory, so that a return to the main loop runs the next macroinstruction’s handler at once; and handlers of their own for the most frequent macroinstructions. (2000)
  • A herald that names the site and the machine type (2000), and the board QUUX runs on (2001).
  • A paging partition of 128M words on QUUX’s disk. (2001)
  • The generational collector: MIT’s incremental copying collector, extended with generations. New objects are made in eden, a quarter of main memory by default; a young collection copies the survivors on, through two survivor spaces, to the tenured generation. It is on at every boot. (2002)
  • The network on Ethernet, in Lisp: the Ethernet device’s driver and a network process, ARP, IPv4, ICMP echo and PING, and TCP, with the TELNET server over it. (2002)
  • The machine’s name, from a one-line name file, SYS: SITE; HOSTNAME, read at every cold boot, or from SI:SET-HOST-NAME, which a save keeps; else from the site table, by the machine’s address; else LOCALHOST. (2002)

Changed

  • System, microcode and boot PROM numbers are in the 2000s; the CADR’s are the 1000s. (2000)
  • The disk is block-disk, read and written by block number. It is a raw image or a VHD with a GPT, and the boot PROM, the microcode and the system find their partitions through the GPT. (2000)
  • The site’s :TIMEZONE takes a tzdata zone name, a number in it is a fixed offset with no summer time, and FILE dates on the wire are UTC. (2000)
  • The site defines seven Lisp Machines, LISPM-1 to LISPM-7. (2000)
  • The word is 40 bits, a tag over a 32-bit field, so a fixnum is 32 bits and is no longer sign-extended; the micro-assembler assembles for it, and the cold load is made for it. (2001)
  • A page is 1024 words. (2001)
  • Paging goes through a two-level page table in main memory behind a TLB, over a 32-bit virtual address space, and addresses are unsigned. (2002)
  • The microinstruction is 64 bits. The microcode is assembled for it, and a microinstruction that reads an OA register names it through its OA select, where the CADR’s IMOD ors the register into whatever microinstruction runs next. (2002)
  • Floats print their exact digits: every single prints as text that reads back as it, FORMAT’s ~E, ~F, ~G and ~$ give exact digits, and a float halfway between two shortest decimals prints the even one. (2002)
  • The file device’s pathname host is FILES, and so is every machine’s associated machine: with the network on Ethernet, “host” means a host of the network. Log in with (login "LISPM" "FILES" t). (2002)

Built and released

  • A band is built on QUUX: the previous band compiles the changed files and makes the cold load, which boots, loads and is saved. (2000)
  • The first 40-bit band was cross-built: System 2000’s band compiled the system for the 40-bit machine and wrote its cold load. (2001)
  • Every byte of a release is scanned for anything private before it is published. (2000)