Running an LSI-11 from UNIX V6

From Computer History Wiki
Revision as of 01:17, 23 December 2016 by Jnc (talk | contribs) (add missing detail/code)
Jump to: navigation, search

It is relatively easy to run a hardware LSI-11 (or PDP-11/23, PDP-11/73, etc, although this article will use the term 'LSI-11') from a PDP-11 (either real or simulated) running Unix V6.

If one connects the LSI-11's serial line console to a serial line on the Unix V6 machine (either real or simulated), a program ('ttytalk', see below) exists to allow a user logged into the Unix machine to talk to the console, load programs into it, etc.

One issue is that Unix V6 does not allow 8-bit output on serial lines; this capability is needed to load binary files into the LSI-11. A small change to the shared serial line driver, dmr/tty.c, allows this.

Since the mode word in stty/gtty is already full, one has to extend the device interface to support setting and clearing 8-bit output support. One can either add ioctl() or do an upward-compatible extension to stty/gtty (see external link below); the code below takes the latter tack.

The same interface is used to send a BREAK down the serial line to the console (used to halt the machine, e.g. when it is in a tight loop).

The current code is somewhat inelegant, since the generic code to recognize the extended interface is currently in the serial line driver (dl.c), and not in the stty() system call code (since moving it there would mean adding entries in cdevsw[], and it was desired to minimize the number of modules that were changed).

External links