I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Seventh Edition:
http://www.cita.utoronto.ca/~norman/old-unix/old-fs.html
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
Jonathan Engdahl:
Consider lcc, the Princeton C compiler. It's much smaller than gcc, and ANSI
compliant.
lcc's a good compiler; it has become cc in my own peculiar Ancient UNIX
environment. But my environment is on VAXes, not PDP-11s; the lcc I use
probably cannot be compiled to a core compiler binary of less than about
180KB, of which 136KB is text, and that is without any real code generators.
(For those who know lcc: I am using a slightly-hacked-up lcc 3.6; the
180KB binary includes just the symbolic and null code generators, not
the enormous one I ended up with for the VAX.)
On the other hand, it is probably easier to split lcc into overlays or
multiple passes to make it fit on a PDP-11 than to do the same to gcc;
and lcc works fine as a cross-compiler. And it's a good solid ANSI
compiler; enough so that it is a little annoying to use it on heritage
code (it grumbles, correctly, if a function returns no value and wasn't
declared void), and helpful or very painful (depending on your point of
view) when used on really old code that is sleazy about mixing types of
pointers in procedure arguments, or reusing one structure as part of another,
or the like. I had an interesting time a few months ago getting an old
version of tbl to compile cleanly and produce correct results under lcc;
the program contained some ancient constructs that are truly remarkable
to look back on, especially for those of us who started out programming
that way and learned better the hard way ...
If I were going to work with PDP-11s, I would probably use lcc as a
cross-compiler myself, after writing or snitching a code generator of
course.
Norman Wilson
On Mon, Jan 28, 2002 at 10:03:45PM +0100, Jonathan Naylor wrote:
> With so much open source code out there, it'd be a relatively simple
> task to find C code for IDE disc access and such like. I would even
> suggest getting older Linux code from the 2.0.x days as its likely to
> be a little less complex, while still being stable.
Linux!? why not one of the three BSD-licensed BSD-derived Net/Free/Open
BSDs? keep it "in the family" so to speak. :)
--
Aaron J. Grier | "Not your ordinary poofy goof." | agrier(a)poofygoof.com
"[...] I generally haven't found IDM guys to be very good
live acts, most of them just sit down at their laptop and
tweak reaktor." -- Brandon Daniel
On Jan 27, 23:42, lothar felten wrote:
> installation was no problem, but still i
> have some questions:
> my VT102 doesn´t do backspace, i only
> get ^H. i tried the
> terminal in ANSI and VT52 mode, no
> difference.
Maybe it wants a DEL character instead of backspace (backspace *is* ctrl-H,
shown as ^H or ^h). Change it on the terminal by going into setup, or use
stty on the BSD system to change the delete character (stty del '^h').
> i have some dec boards labeled M7513
> does anyone know what this
> is? i found:
> M7513 - RQD - RQDXE Q BUS drive
> interface extension module
That's exactly what it is. The BA23 box only supports one hard drive; the
RQDXE is an adaptor for an RXDX2 or RXDX3 to permit use of additional
drives with a distribution board in a second enclosure. One of the 50-pin
connectors goes to the RQDX3, one to the distribution board in the BA23,
and the third to a connector kit on the rear panel of the BA23. There's a
different version for an RQDX1, called an RQDX1E.
> the RQDX3 has another connector, i
> suppose for RX50 floppydrive.
An RQDX3 has only one connector, the 50-pin one to go to the distribution
board. Are you looking at the right thing? Are you looking at a
distribution board? That does have a 34-way connector for a floppy.
> can i hook up a 5,25" pc drive? maybe
> with modifications?
Not an ordinary PC floppy, no. A TEAC FD55GFR is an 80-track double-sided
drive (not HD, though) that will work as an RX33. Some other 80-track
5.25" drives may work, if you set the jumpers.
--
Pete Peter Turnbull
Network Manager
University of York
> > I'm fairly sure things like "=+" and so on were replaced with "+="
> > in the move from V6 to V7.
>
> I thought so too, but I checked, and there are some still in there.
I think you'll find that the kernel code is clean, but a lot of the older
utilities will show their earlier lineage (including the C compiler)
> On Fri, Jan 25, 2002 at 03:27:25AM -0700, M. Warner Losh wrote:
>
> gcc can compile K&R, but the language has evolved some since the v7
> days. =*, =+, etc became *=, +=, etc. There are some other subtle
> things too that I don't recall off the top of my head, but which vexed
> the comp.lang.c news groups in the early 1980's.
I'm fairly sure things like "=+" and so on were replaced with "+="
in the move from V6 to V7. I think structure assignments were added
here too, and the much more obscure, being able to declare passed
arguments in the function preamble as "register." I believe K&R
reflects the C language as seen with V7...
-- Ken
Actually I have 8086 C compilers on my old Altos systems (486 and 586)
running Xenix.
The OS on the 486 is a very early version of Xenix which is really a
slightly modified version of v7.
If the machine still works (has not been turned on for a few years), I may
be able to set it up so that it can be accessed through a terminal server
off the internet so that it can be used to do compiles.
I think that Microsoft may own the copyrights on these old compilers (not
sure), but it would be nice if the source was publicy available (or even
binaries).
If the machine still works (has not been turned on for a few years), I may
be able to set it up so that it can be accessed through a terminal server
off the internet so that it can be used to do compiles.
The 486 with v7 has an 8086, 512k memory, 12Meg hard disk. With the full V7
OS, including c (lex, yacc, ...) , troff, and some Microsoft add-ons
(fortran, cobol, mutimate??) fits in 7 Meg.
Grant Maizles
P.S. The 486 and 586 names refer to the number of supported users which the
machine can handle and the fact that it has a 8086 CPU. The configs were
486 5 Serial ports (1 for a printer)
586 6 Serial ports
I had a customer with a 986 which had 10 serial ports.
> -----Original Message-----
> From: M. Warner Losh [mailto:imp@village.org]
> Sent: Thursday, January 31, 2002 7:54 AM
> To: mike(a)ducky.net
> Cc: tuhs(a)minnie.tuhs.org
> Subject: Re: [TUHS] Re: Porting Unix v6 to i386
>
>
> In message: <200201301952.g0UJq0E39966(a)ducky.net>
> Mike Haertel <mike(a)ducky.net> writes:
> : >Anyhow I have started gathering the tools (Watcom C compiler now
> : >open source and free! www.openwatcom.org)
> :
> : They have announced that it *will be* open source and free,
> : but so far as far as I can tell there is nothing available
> : at openwatcom.org except a binary-only patch to upgrade
> : the last commercial version 11 to 11.0c.
> :
> : So, it isn't yet. Right now it's just vaporware.
>
> The only compiler I know of that deals properly with generating 16-bit
> x86 code is bcc, which the Elks folks use to build their kernel. This
> is Bruce Evan's compiler with support for prototypes bolted on, iirc.
>
> http://www.cix.co.uk/~mayday/
>
> It is a tad Linux centric, but I was able to get it to build with only
> a few tweaks on FreeBSD. It is sufficient to build the elks tree, but
> I've not tried it on anything else.
>
> Warner
> _______________________________________________
> TUHS mailing list
> TUHS(a)minnie.tuhs.org
> http://minnie.tuhs.org/mailman/listinfo/tuhs
>
I think that v7 would be far easier to port than v6. Although it's not much
bigger than v6, the code is a lot cleaner, and there are less machine
dependencies. One of the reasons for a lot of the changes between v6 and v7
was a conscious effort to make it more portable . The old assignment operators
like '=+' changed to "+=". 'Unsigned' and 'long' data types are missing
from v6 (and reflected in the kernel), so all integer calculations were 16
bits. Unsigned ops were done using 'char *'. v7 was ported to the Vax and the
Interdata.
ioctl is there, and the 'standard io' library. The file seek call in v6 had
either block (512) or byte offsets, and v7 introduced lseek to replace it. Only
16 bits were used to store block numbers in inodes, so filesystem sizes were
restricted (not a real problem since both v6 and v7 could run happily on a 2.5Mb
RK05 disk, including swap space and c compiler). 'vi' ran under v7, but v6 only
offered 'ed' (or variants like 'em') and 'qed'
If you hadn't guessed, v7 is by far my favourite Unix variant. Lean, clean and
without the latter clutter of supporting networking in the kernel.
On Jan 30, 16:03, Johnny Billquist wrote:
> On Wed, 30 Jan 2002, Pete Turnbull wrote:
> > Maybe it wants a DEL character instead of backspace (backspace *is*
ctrl-H,
> > shown as ^H or ^h). Change it on the terminal by going into setup, or
use
> > stty on the BSD system to change the delete character (stty del '^h').
>
> On a real VT100 you cannot get the delete key to generate a backspace. He
> must be pressing the backspace key, or he's not using a VT100 at all, but
> instead some emulator, which isn't doing things the VT100 way...
Of course. I've spent too long using my VT420. A real VT102 has separate
delete and backspace keys. Probably he's using some not-really-VT102
emulation in an xterm window or some emulator.
--
Pete Peter Turnbull
Network Manager
University of York
the pdp is running 2.11BSD !
the disk has now got a valid disklabel,
i got it on the disk by
setting all diskparameters without using
d (display) and wrote
it. after this i could use the display
option.
installation was no problem, but still i
have some questions:
my VT102 doesn´t do backspace, i only
get ^H. i tried the
terminal in ANSI and VT52 mode, no
difference.
i have some dec boards labeled M7513
does anyone know what this
is? i found:
M7513 - RQD - RQDXE Q BUS drive
interface extension module
it is a double height card and it has 3
50pin connectors.
the RQDX3 has another connector, i
suppose for RX50 floppydrive.
can i hook up a 5,25" pc drive? maybe
with modifications?
--lothar