I've made a number of 'improvements' to the LSI-11 version of MINI-UNIX.
(I'm starting to be fairly impressed with MINI-UNIX; for people who have a
hardware PDP-11 with no memory management, it's a very capable system; most
of V6, and very good source compatability.)
First, with help from feedback from Paul Riley, I've improved the "Running
MINI-UNIX on the LSI-11" page:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/Mini/Mini.html
It should be pretty usable at this point, but more feedback on further
improvements gratefully accepted! (Hint, hint :-)
In code changes, I have a new version of mch.s:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/Mini/mch.s
The main improvements are a tiny prs() and prn(), to allow systems to leave
out prf.c to save space, but still be able to print messages (rather than
simply dying silently, as is MINI-UNIX's wont). The prs() also saves and
restores the console'e CSR, and prints with console interrupts off (to prevent
spurious interrupts).
An idea from Milo Velimirovic (use the top of the stack!) resulted in minor
improvements in two places where there wasn't a register free to use
MFPS/MTPS.
Also,I have a working RL driver for MINI-UNIX now (I was able to attach a V6
filesystem to RL0 and then could do "icheck /dev/rl0" and it worked); I'll
be
up-loading that, and adding directions for using it, 'soon'. (It pretty much
just worked; pulled out the XMem bits, and the raw I/O calls, and it worked
right off.)
To make an RL the root filesystem, I need to tweak a few more things; the
parameters ROOTDEV, etc - crucially, including SWPLO and NSWAP - are currently
set in param.h, so you'd have to recompile the OS to switch disk types. I'm
going to put them back as externals in conf.c, the way they are in V6; that
way you'll only need an 'rlconf.c' to switch roots. (I'm not sure why
they
were moved; it only saves one word each to make them #define's.)
Noel