As I and other people mentioned in previous postings, it's likely that your
11/40 is missing memory management or EIS cpu options. In case the legend is
missing from your system box (not uncommon), I have updated my web page :-
http://www.psych.usyd.edu.au/pdp-11/11_40.html
to show board numbers and locations
On Sun, Jan 27, 2002 at 02:03:40PM -0500, norman(a)nose.cs.utoronto.ca wrote:
>
> > Ken Wellsch:
> > I'm fairly sure things like "=+" and so on were replaced with "+="
> > in the move from V6 to 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.
Apologies, typical of my terse replies - I was actually concerned
with clearing up the possible misconception that "=+" was a "feature"
of V7 rather than an "obsolete" holdover from V6. I suppose historic
accuracy in this context is of little use, I don't know. I certainly
can believe one can find such artifacts in the existing V7 code 8-)
Cheers,
-- Ken
about the pdp-11/83:
swapping cpu and memoryboard does work, but
the performance stays the same:
none, because i still don´t have any system
by now. there is a small difference:
the run led stays off all the time, but the
system ODT works fine. i suppose this
is a problem of passing the signals, but this
is only a vague guess.
when i boot the TK50 2.11BSD tape, i can get
the disklabel program loaded.
it asks: Disk?
when i try to access the disks, the system
hangs. when i access rl(0,0) (RL02
disk drive0) the system just hangs, no
response. when i access ra(0,0) (RD54 disk
drive0) i get a "menu": d(isplay) D(efault)
m(odify) w(rite) q(uit)?
i can enter D, then it should write the
defaults to the disk. after this i get:
d(isplay) D(efault) m(odify) w(rite) q(uit)?
i enter d (to see what the program did), and
i get:
type:MSCP
disk:RD54
flags:
bytes/sector:512
sectors/track:17
tr
(it stops right after tr) i suppose the
program is asking the controller about
drive parameters, and that´s where it fails.
i can wait for hours, i´ll get no
response.
i can use all the menu, except d=display.
i thought that maybe one of the controlles is
broken and causes trouble on the
qbus (maybe the RL02 controller). is there a
way to check all this stuff?
i do have some "winchester" controllers for
PC/ISA, i could check the disks on
a linux pc, no problem, but i don´t want to
overwrite something "digital"-specific
that i could not restore. those RD54-disks
are regular ST506-mfm, right?
maybe i should "downsize" the system to the
basic elements i need to get it running
maybe there really is a bus problem.
i´d try this configuration:
mem - cpu - rqdx3 - tqk50 (top-bottom)
would this be ok?
or, instead of using RD54 disks, should i try
to use the rl02 as "pair" (one swap,
one systemdisk)?
i think step by step checking the hardware is
the only thing i can do to get the
pdp up and running.
have a nice weekend
-- lothar
btw: does anyone know a good book/link about
system-architecture, specially harvard-
architecture ?
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'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