I'm looking for someone in the UK that may have spares for a PDP-
11-04 (KY11-LA). This computer is still in daily use in the
University of Sheffield but currently has some problems with the
power regulator (H777)
Any help would be greatly appreciated.
Hi,
The last few weeks I've thought a lot about porting Unix v6 to the
PC. Here are my "results":
1. If you really want to do it, don't do it from scratch. Porting
Unix 1:1 maybe the usual way but integrating your code step by step
into another Unix or Unix-a-like operating system will surely become
much easier as you can test the result in every stage of development.
Another benefit is of course that with a little bit of luck you don't
have to rewrite all the machine dependent stuff as it might already
exist in the other os. If you want to do things this way ELKS (the
Linux kernel subset for the 8088) might be a good candidate as it is
very simple and by this very easy to understand. Also there is a big
Linux/ELKS community which might help you with some problems.
2.Another question is if it is really necessary to port when so many
good emulators for the PDP11 exist. Of course a ported Unix is faster
than one running on a simulator but is fastness really so important
in times where multi-processor machines exist that make your 1.5Ghz
machine look like a fool? Also wouldn't a user who needs a
professional fast Unix (or a-like) take the newest Linux or one of
the BSDs instead of Unix v6?
The main reason for porting is from my point of view to get access to
the i86's hardware. But for reaching this aim a port isn't necessary.
You can either develop the emulated machine further so that it has
additional devices (and interupts, etc. for them) or you can try to
give the os on the emulated machine direct access to the real
machine. This may sound a little bit strange and unusual but will
save much code in the emulator as you don't have to code for each
device twice (one time in the emulator and one time in the os). Of
course the os you're running your emulator on must give you the
chance to get direct access to the real hardware, but I found a DOS
port from Bob Supniks J-11 emulator so that is not a real problem.
Currently I'm working on the latter idea (on the emulator which gives
you direct access to the hardware), but in fact I haven't written a
line of code yet as I'm still searching for the best way to integrate
the interesting parts of PC's memory into PDP11's memory. The idea is
to put the interesting parts of PC's memory behind PDP11's memory and
to change some lines in Unix that for example malloc doesn't get the
idea to give this pieces of memory away to user programs. Putting the
PC's memory before the memory space of the PDP11 would as far as I
can see make more changes especially in the code relevant for booting
necessary. Other things like for example PC's interupts will surely
make much less trouble.
Suggestions, ideas, opinions, etc. are very welcome. If someone feels
the urge to help me with this project it would be very kind if he
would let me know ;-)
BTW: if someone has patches to the v6 or ported programs it would be
very kind if he would send them to me. If I get enough stuff I'll
make something like a new Unix v6 distribution.
Sven
Hi there,
I have my PDP11/40 connected to a MicroVAX 2 (running NetBSD/vax
1.5.2) via serial line and want to boot a 2.9BSD or 2.11BSD using the
vtserver software.
When I toggle in vtserver's boot code, the first file is being loaded
correctly by the PDP. Then, following the instructions in vtserver
documentation, the serial line should be used as a serial console - and
some text should appear! And this is the problem: I don't get any output.
When manually sending characters from the PDP, there is no problem.
I've set the serial line characteristics to:
Speed 2400, Character Size 8, Modem Control enabled, and RTS/CTS flow
control disabled. (I've changed these characteristics in many ways with
stty, but still no success...)
Using a break-out-box, I switched RTS/CTS and DTR/CTS flow control on and
off, forced the CTS line to be on, etc., but it still didn't work.
After successfully loading the bootloader via vtserver, the PDP's CPU goes
into an endless loop.
So, my question: Does anybody know what's going wrong here?
Thanks in advance - Michi
> I have my PDP11/40 connected to a MicroVAX 2 (running NetBSD/vax
> 1.5.2) via serial line and want to boot a 2.9BSD or 2.11BSD using the
> vtserver software.
2.11BSD won't work on a PDP11/40, although 2.9BSD should. If the secondary boot
loaded, you should get a prompt '40Boot' for your processor. You haven't said
how much memory you have. Also, the 11/40 has several cpu options, and the
memory management and line time clock options are required for Unix to work.
Check that there is a register at 772340. If it is not there, then the memory
management options isn't installed.
PS
The only flow control settyings that will work is XON/XOFF. The DL style
interfaces used on all PDP11 consoles, have no useful silo, and interupts
for each character input or output. None of the kernels I know support the
dataset signals, other than some will assert DTR on open.
Ken Wellsch:
I'm fairly sure things like "=+" and so on were replaced with "+="
in the move from V6 to V7. I think structure assignments were added
here too, and the much more obscure, being able to declare passed
arguments in the function preamble as "register." I believe K&R
reflects the C language as seen with V7...
The V7 C compiler accepted =+, but it still accepted += as well; there was
a lot of code written the old way, and nobody wanted to be forced to convert
everything all at once. Similarly, the V7 compiler complained about implicit
conversions between pointers of different types, or between ints and pointers,
but they were treated as warnings, not fatal errors; you could still compile
old code and just ignore the compiler's fussing.
I recall that when I arrived at Bell Labs in 1984, it was apparently not long
after the research group's C compiler had been changed to treat all the
obsolete stuff as errors; certainly there was still code in /usr/src that
hadn't been updated, and all of it had been recompiled recently to run on
the VAX.
A modern C compiler would choke even on some of the stuff that was legal
in those days. Recently I recompiled tbl with lcc, and had a grand time
cleaning out all the ideas we all thought were clever in the late 1970s
but most of us would never think of doing now. For those with the virgin
source handy, take a look at subroutine `point' and the way it is used
and abused.
Norman Wilson
> From: "P.A.Osborne" <P.A.Osborne(a)ukc.ac.uk>
> To: "M. Warner Losh" <imp(a)village.org>
> Cc: tuhs(a)minnie.tuhs.org
> Subject: Re: [TUHS] So now that the source is finally out...
> Date: Fri, 25 Jan 2002 11:16:37 +0000
>
> On Fri, Jan 25, 2002 at 03:27:25AM -0700, M. Warner Losh wrote:
> > Real as in 286 or as in 8088 :-).
>
>
> > gcc can compile K&R, but the language has evolved some since the v7
> > days. =*, =+, etc became *=, +=, etc. There are some other subtle
> > things too that I don't recall off the top of my head, but which vexed
> > the comp.lang.c news groups in the early 1980's.
>
> That makes things a challenge. Still the source of the kernel is
> around 10K lines IIRC and going through it in stages doesnt make life
> too painfull.
Doesn't one of the C beautifiers do that for you (rewrite =+ etc.)
Either GNU indent or Berkeley? cb.
carl
--
carl lowenstein marine physical lab u.c. san diego
clowenstein(a)ucsd.edu
All,
With the new Caldera license, the Unix Archive is now available to
you anonymously. You can throw away those passwords now. The list of
Archive mirrors is at:
http://www.tuhs.org/archive_sites.html
and if you can become a mirror, please read
http://www.tuhs.org/mirroring.html
and send me some e-mail when you are ready to be added to the list.
I can tell you that up to now, 2,830 people obtained a SCO Ancient UNIX
license, of which 250 had to pay the US$100 to get it. I'll turn off the
CGI script which allows you to obtain a SCO license now ....
You know this means that Net/2, 4.xBSD and 2.11BSD are all freely available
now :)
Cheers,
Warren
Anyone here know if 4.4BSD supports the MicroVax 3400 series of machines? One
was given to me by my school (clearing out old equipment) and I would like to
get some pure BSD goodness on it again. Also, anyone know if it's possible to
make tapes under VMS?
Thanks in advance,
Rob Becker
Rob Becker <becker(a)ab.edu> wrote:
> Anyone here know if 4.4BSD supports the MicroVax 3400 series of machines?
>
> [...]
>
> get some pure BSD goodness on it again.
For VAXen you don't want 4.4BSD, you want 4.3BSD-Quasijarus, especially if you
want pure. Unfortunately, I haven't got the KA640 (3300/3400) support in there,
just KA650 (3500/3600) and KA655 (3800/3900). It would be trivial to add,
though, it just needs to be taught to look at the SIE in addition to the SID,
recognise the KA640, and don't try to touch the non-existent B-cache. This
wouldn't give you support for the on-board DSSI and Ethernet, but it'll run
with your Q-bus devices.
MS