On Jan 19, 22:35, jkunz(a)unixag-kl.fh-kl.de wrote:
> Only the first 3 slots are Q/CD. The other 5 slots are Q/Q in serpentine
> bus grant wiring. Tony said that the memory should be in the first
> slot.
Lothar later said this is an H9276-A. That's a straight backplane, all
Q22/CD. It seems he has a BA11-S not a BA23 :-)
BTW, DEC normally recommended all comms and network cards go after the
memory, tapes next, then disks.
> AFAIK some 11/73 labeld boxen where sold with a 11/83 CPU in the first
> slot and the memory in the second.
It's the order of the boards (and the boot ROMs) that make it 11/73 or
11/83, not the circuit board. Though original 11/73s are 15MHz and
original 11/83s are 18MHz.
> AFAIK a 11/83 CPU can use QBus and (or?) PMI memory. If it is
> configured with QBus memory it is calld a "11/73". But keep in mind
> that there is a "real" 11/73 CPU (M8192 = KDJ11-A).
That's a dual-height board, CPU only, with no boot ROMs, LTC, or SLUs. It
was only sold as an OEM product or as an upgrade to 11/03 or 11/23 (not
11/23+ or microPDP-11/23) systems. Whilst it is a "real 11/73", it's no
more "real" than any other :-)
> Hmm. Are there Q/CD only BA23 backplanes?
No. There are straight Q/CD and serpentine Q/Q backplanes of the same size
but they're only used in other boxes (like BA11-N and BA11-S) or sold as
OEM units.
> I never saw a front panel like that, but your assumption sounds right.
> All my front panels have only one disk write protect / online switch.
The BA23 was only rated for one hard disk and either a TK50 or an RX50, but
the BA123 (which uses the same panels) was rated for up to 4 MSCP devices.
That's why the WP and ONLINE switches and LEDs are on a subassembly, so
you can add another one.
--
Pete Peter Turnbull
Network Manager
University of York
lcc is not public-domain nor GPL, but it is freely available for `personal
research and instructional use,' and in general there is no restriction as
long as you don't redistribute it for profit or resell it.
Here's the official scoop, as inscribed in ./CPYRIGHT in the lcc 3.6
distribution. It is possible that the terms have changed for newer
versions; I haven't been keeping track.
----
The authors of this software are Christopher W. Fraser and
David R. Hanson.
Copyright (c) 1991,1992,1993,1994,1995 by AT&T, Christopher W. Fraser,
and David R. Hanson. All Rights Reserved.
Permission to use, copy, modify, and distribute this software for any
purpose, subject to the provisions described below, without fee is
hereby granted, provided that this entire notice is included in all
copies of any software that is or includes a copy or modification of
this software and in all copies of the supporting documentation for
such software.
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR AT&T MAKE ANY
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
lcc is not public-domain software, shareware, and it is not protected
by a `copyleft' agreement, like the code from the Free Software
Foundation.
lcc is available free for your personal research and instructional use
under the `fair use' provisions of the copyright law. You may, however,
redistribute lcc in whole or in part provided you acknowledge its
source and include this CPYRIGHT file. You may, for example, include
the distribution in a CDROM of free software, provided you charge only
for the media, or mirror the distribution files at your site.
You may not sell lcc or any product derived from it in which it is a
significant part of the value of the product. Using the lcc front end
to build a C syntax checker is an example of this kind of product.
You may use parts of lcc in products as long as you charge for only
those components that are entirely your own and you acknowledge the use
of lcc clearly in all product documentation and distribution media. You
must state clearly that your product uses or is based on parts of lcc
and that lcc is available free of charge. You must also request that
bug reports on your product be reported to you. Using the lcc front
end to build a C compiler for the Motorola 88000 chip and charging for
and distributing only the 88000 code generator is an example of this
kind of product.
Using parts of lcc in other products is more problematic. For example,
using parts of lcc in a C++ compiler could save substantial time and
effort and therefore contribute significantly to the profitability of
the product. This kind of use, or any use where others stand to make a
profit from what is primarily our work, requires a license agreement
with Addison-Wesley. Per-copy and unlimited use licenses are
available; for more information, contact
J. Carter Shanklin
Addison Wesley Longman, Inc.
2725 Sand Hill Rd.
Menlo Park, CA 94025
415/854-0300 x2478 FAX: 415/614-2930 jcs(a)aw.com
-----
Chris Fraser / cwfraser(a)microsoft.com
David Hanson / drh(a)cs.princeton.edu
$Revision: 1.3 $ $Date: 1996/09/30 13:55:00 $
On Jan 20, 12:44, jkunz(a)unixag-kl.fh-kl.de wrote:
> On 19 Jan, Pete Turnbull wrote:
>
> > Not the 54- number, that's only the PCB part. The backplane itself has
> >a model number; for a BA23 it should be H9728-A.
> "H9728-A"? The sticker on the two BA23 backplanes I have here says
> "H9278-A".
Typo.
--
Pete Peter Turnbull
Network Manager
University of York
On Jan 20, 2:05, lothar felten wrote:
> mine is about 40 inch high, 19 inch wide and
> as deep as
> the rl02 is. the "microcomputer interfaces
> 1983-84" shows
> some pictures of boxes: is might be the
> BA11-S
Sounds like you have what was a standard PDP-11/23 (or maybe 11/23+) system
in an office-type cabinet (H9642 or equivalent), with an RL02 in the top, a
stiffener panel, BA11-N or BA11-S box, a second RL02, and two blanking
plates at the bottom. Sometimes people moved the second RL02 down 3U and
put one blanking plate or an expansion box between the BA11 and the RL02.
As far as I remember, the only significant difference between a BA11-N and
a BA11-S is an uprated power supply, and a 22-bit backplane instead of an
18-bit one (but you can upgrade the 18-bit ones).
> on the backplane i found H9276-A.
> i don´t know what -A means, but it should be
> a Q22/CD
> so no serpentine?
Correct. There is a very similar backplane H9275-A which is all
serpentine, but not in a standard 11/23 box, as far as I remember. H9276-A
is for a BA11-S. BA11-N uses H9273.
> now i´ve got the numbers here:
> CPU: M8190-AE KDJ11-B
> MEM: M7551-CC MSVC11-QC
> RL02: M8061
> DELQA: M7516
> RQDX3: M7555
> DEQNA: M7546
OK. That should be fine, so long as there are no gaps in the A/B slots
(left side of backplane as you look into it from the back of the machine)
between the cards.
The original 11/23+ probably had an RQDX1 or RQDX2, and possibly an RLV11,
and certainly different memory.
> hmmm, this is really confusing, since i have
> AE can it take an FPU? maybe it has a fpu? what
> does the fpu look like?
The -AE means it's a later board, should be 18MHz, and should not only be
FPU-capable, it should actually have the FPJ-11 chip on it. -AD is the
same thing without the FPJ-11 fitted (it still does floating point ops,
just more slowly). If not, you'll probably find it easier to get a
replacement board with an FPU already on it, rather than get the FPU chip
on it's own.
> > However, the biggest difference between 11/83 and 11/73 is whether
> > memory is used as QBus memory, or PMI memory, which is faster. the
>
> so i should put in first memory then cpu.
To get the best performance, yes. It won't double the speed, or anything
like that, but it will go a bit faster.
> well it´s a BA11-S i suppose by now.
If it's an H9276 backplane and H7861 PSU, yes.
> a weird pdp.
Not quite factory-standard :-) But none the less good.
--
Pete Peter Turnbull
Network Manager
University of York
On Jan 19, 20:47, lothar felten wrote:
> hi there!
>
> well the pdp was once a pdp 11/23+ so
> enclosure and backplane should be
> the same as a 11/23 (ba 23).
If I were to be really picky, I'd say you meant microPDP-11/23. 11/23-plus
would mean a BA11-S enclosure with a different type of backplane :-)
> backplane should
> be Q22/CD configuration, but
> i´ll open the box and look for the 501-
> number to be sure.
Not the 54- number, that's only the PCB part. The backplane itself has a
model number; for a BA23 it should be H9728-A.
In an H9728-A the top three slots are Q22/CD-interconnect, and the rest are
Q22/Q22 serpentine (the 11/23-plus backplanes are different). When I
replied to your earlier email I assumed you just gave the order of the
boards, not the layout. The layout should be (reverse the positions of CPU
and memory if you wish):
---------KDJ11-B-CPU---------
---------MSV11-memory--------
------------RLV12------------
----RQDX3---- ----TQK50----
empty ----DEQNA----
I'm guessing you have a single memory board, probably an MSV11-Q (M7551),
and an RLV12 (M8061, one quad board) rather than an RLV11 (two quad boards)
-- if not, that makes a difference to the layout. I'm also guessing at a
DEQNA (M7504) rather than any other Ethernet controller, but it makes no
difference to the placement, so long as it's a dual-height board. If you
added another dual-height board it would go under the RQDX3 (M7555), the
next would go under that, and the next under the DELQA, etc. The
arrangement of the slots after the first three is called "serpentine" or
occasionally "zig-zag".
> on the back there
> is a sticker saying this is a 11/73. the
> cpu-board is a 11/83.(i´ll pass
> the number too).
All the KDJ11-B processors, whether 11/73 or 11/83, use the same printed
circuit board and module number. There were some differences about whether
an FPU could be fitted (due to an error on the original boards); those that
would not take an FPU were only sold as KDJ11-BC and all had 15MHz clocks.
Others with 15MHz clocks were sold as KDJ11-BB (upgradeable but FPU not
fitted). There are also some with 18MHz clocks, these were sold as
KDJ11-BE, -BF, or higher. Normally an 11/83 has a KDJ11-BE or higher
suffix. Early 11/73 are 15MHz. Just to add to the confusion, the -Bx
suffix actually refers to the EPROMs on the board, not the clock speed or
the FPU. The *only* difference between a normal KDJ11-BE or -BF or -BH is
the firmware in the EPROMs.
However, the biggest difference between 11/83 and 11/73 is whether the
memory is used as QBus memory, or PMI memory, which is faster. All of the
KDJ11-B boards can use PMI memory. Beware, not all quad memory boards are
PMI-capable, but all the 1MB and bigger ones that I can think of are.
> do all 11/83 use PMI ?
Yes. They will work with QBus memory instead (and if you put a PMI board
after the processor instead of before it, it will run as normal QBus
memory)
but then what you have is effectively an 11/73, not an 11/83.
> but the memory seems to work, or has
> the cpu board some memory on it?
No, there's no memory on the CPU board, but the memory you have is running
as QBus memory.
> when i picked up the box they booted it, i
> suppose this configuration was the
> way they used it there and should have
> worked.
> the RD54 controller has a 50pin ribboncable
> wich goes to a small board (wich
> was hanging on the backside) and a small
> frontpanel (from a 11/83 or 73) was
> hanging on it.
Literally "hanging"? Not fixed to the front of the BA23? Is this actually
a floor-standing (or possibly rack-mounting) BA23 with space for a TK50 and
a drive unit, or a rackmount BA11-S or BA11-N chassis with no space for
drives?
> it looks like
>
> *************
> * *'''''* O is a round hole (to hold a batch?)
> * O *'''''* '' is a big hole (power switch i suppose)
> * *'''''*
> *************
> * X B * X = run on/off ?(green led) B = reset ?
> * X X * X = write protect (red) X = online(green) for disk 0 ?
> * X X * X = write protect (red) X = online(green) for disk 1 ?
> *************
> X is a switch with led B is a button with led
> i never saw a pdp with this frontpanel
Neither have I. DEC used pushbuttons for the disk controls on microPDP-11
panels. Each section is separate, though; it sounds like someone has
replaced the pushbuttons or used third-party sub-panels. The round hole
(if this is an original DEC panel) is for the badge that says whether it's
a microPDP-11/23, microPDP-11/73, microPDP-11/83, microPDP-11/53, etc. The
rectangular hole is for the power switch in a BA23 or BA123 cabinet.
--
Pete Peter Turnbull
Network Manager
University of York
hi there!
well the pdp was once a pdp 11/23+ so
enclosure and backplane should be
the same as a 11/23 (ba 23). backplane should
be Q22/CD configuration, but
i´ll open the box and look for the 501-
number to be sure. on the back there
is a sticker saying this is a 11/73. the
cpu-board is a 11/83.(i´ll pass
the number too). do all 11/83 use PMI ? but
the memory seems to work, or has
the cpu board some memory on it?
when i picked up the box they booted it, i
suppose this configuration was the
way they used it there and should have
worked.
the RD54 controller has a 50pin ribboncable
wich goes to a small board (wich
was hanging on the backside) and a small
frontpanel (from a 11/83 or 73) was
hanging on it. it looks like
*************
* *'''''* O is a round hole (to hold a
batch?)
* O *'''''* '' is a big hole (power
switch i suppose)
* *'''''*
*************
* X B * X = run on/off ?(green led)
B = reset ?
* X X * X = write protect(red led) X
= online(green led) for disk 0 ?
* X X * X = write protect(red led) X
= online(green led) for disk 1 ?
*************
X is a switch with led B is a button with led
i never saw a pdp with this frontpanel, and
since there is nothing written on it,
i tried to compare with a picture found on
the web, but i´m not sure if i´m right.
can someone tell me if i´m right ?
i asked those guys from where i picked up the
box, but they told me that the last guy
using the pdp left some years ago, and in
1999 they just powered it off. this explains
also the small paper sticking on the pdp that
showed how to login and shutdown the box.
root password is written on it *g*.
tomorrow i´ll open the box again.
thanks for your fast response.
-- lothar
FWIW, I don't know about the tape error, but
that layout looks OK apart
>from the fact that if it's an 11/83, the
memory shold be in the first slot
and the CPU in the second. The essential
difference between an 11/73 and
an 11/83 is that the 11/83 uses PMI memory.
Assuming your backplane is the
right one, in a BA23 or BA123 box, and that
your memory is a single 4MB
board, you should swap them round, otherwise
what you actually have is an
11/73.
I assume your RD54 controller is a genuine
DEC RQDX3, so it's in the right
place. It's possible you have an old version
of the firmware on it, but it
should still work even if you do.
all the planes in the backplane are genuine
dec parts.
--
Pete
What enclosure? BA23? If yes you have empty
slots between the cards as
this box has 3 Q/CD slots on top and 5 Q/Q
slots below. Have a look at
the QBus HOWTO at
http://vaxarchive.sevensages.org/
--
tschuess,
Jochen
On Thu, Jan 17, 2002 at 08:36:05AM +0100, Lars Brinkhoff wrote:
> Hello,
>
> Is anyone using GCC to compile code for the PDP-11?
on the PDP or cross-compiled? (will gcc run under 2.11?)
--
Aaron J. Grier | "Not your ordinary poofy goof." | agrier(a)poofygoof.com
"Making people dance so hard their pants almost fall
off is kind of fun." -- David Evans
Johnny,
I have access to both RT-11 and RSTS/E systems here. I would be happy to
give the testing a shot. My preference would be RT first, and then if you
get no other takers, RSTS.
Regards,
Steve
> -----Original Message-----
> From: Johnny Billquist [SMTP:bqt@update.uu.se]
> Sent: Saturday, January 19, 2002 10:13
> To: SHOPPA(a)trailing-edge.com
> Cc: PUPS(a)minnie.tuhs.org
> Subject: Re: [pups] Re: GCC
>
> On Sat, 19 Jan 2002 SHOPPA(a)TRAILING-EDGE.COM wrote:
>
> > Johnny Billquist <bqt(a)update.uu.se> writes:
> > > DECUS C might be a better starting point.
> >
> > DECUS C is kind-of a funny case. Whereas most C compilers are
> > traditionally maintained and distributed as C source code, DECUS C
> > is distributed and maintained in PDP-11 assembly language.
>
> True.
>
> > For other C compilers, a significant milestone was when they were
> > rewritten in C and compiled themselves. DECUS C is the odd guy out
> because
> > it never tried to reach this milestone. In some sense this is a good
> thing,
> > because it lets you build it on a machine without any access to any C
> compiler.
>
> Which definitely is a good thing in this case. Since most systems don't
> have a C compiler anyway, the first compiler have to get down there
> someway, and MACRO-11 is the only language you *know* exist.
>
> I'm soon done with a cleanup of DECUS-C by the way. I've tried to collect
> all the different versions I can find, and incorporated my own fixes as
> well. This version will support I/D space correctly in RSX (which no other
> version except my in-house hacks have done), will have a working profiler
> again, and also supports RMS and DAP. Fun fun...
> I'm testing it right now, and most things looks like they are working like
> a charm.
> However, if someone have plenty of time, and an RSTS/E or RT-11 system
> around, I'd sure appreciate some help. I've tried to keep those parts
> up-to-date as well, but I cannot test, or fix broken things.
>
> This compiler have been a mess for many years now... About time it got
> some cleanup.
>
> Oh. And I don't know if Allan Baldwin (sp?) have some extra hacks in for
> his IP-stack, and I haven't even investigated.
> Anyone know?
>
> Johnny
>
> Johnny Billquist || "I'm on a bus
> || on a psychedelic trip
> email: bqt(a)update.uu.se || Reading murder books
> pdp is alive! || tryin' to stay hip" - B. Idol
>
> _______________________________________________
> PUPS mailing list
> PUPS(a)minnie.tuhs.org
> http://minnie.tuhs.org/mailman/listinfo/pups
On Jan 19, 12:43, lothar felten wrote:
> i don´t know if this is a hardware (bus?)
> error, or maybe the tape is bad.
> the tapes i use are unused original dec TK50
> tapes, i made several ones, because i thought
> it might be a tape error, but
> all tapes are the same.
>
> hardware:
> PDP-11/83, 4megs of ram, TK50, two RD54
> (maxtor), two RL02 disks.
> qbus cards (top to bottom):
> *cpu (quad)
> *memory (quad)
> *controller for RL02 disks (quad)
> *controller for RD54 disks (double)
> *controller for TK50 (double)
> *network controller (double)
FWIW, I don't know about the tape error, but that layout looks OK apart
from the fact that if it's an 11/83, the memory shold be in the first slot
and the CPU in the second. The essential difference between an 11/73 and
an 11/83 is that the 11/83 uses PMI memory. Assuming your backplane is the
right one, in a BA23 or BA123 box, and that your memory is a single 4MB
board, you should swap them round, otherwise what you actually have is an
11/73.
I assume your RD54 controller is a genuine DEC RQDX3, so it's in the right
place. It's possible you have an old version of the firmware on it, but it
should still work even if you do.
> i didn´t find a kind of terminator, but i
> didn´t change the order of the
> cards since i picked the box up.
> there are no empty slots between the cards,
> and i´m not sure if the Qbus
> need a special terminator.
There normally isn't an extra terminator in an 11/73 or 11/83, unless you
add an expansion backplane.
--
Pete Peter Turnbull
Network Manager
University of York
Johnny Billquist <bqt(a)update.uu.se> writes:
> DECUS C might be a better starting point.
DECUS C is kind-of a funny case. Whereas most C compilers are
traditionally maintained and distributed as C source code, DECUS C
is distributed and maintained in PDP-11 assembly language.
For other C compilers, a significant milestone was when they were
rewritten in C and compiled themselves. DECUS C is the odd guy out because
it never tried to reach this milestone. In some sense this is a good thing,
because it lets you build it on a machine without any access to any C compiler.
Tim.
hi there,
maybe someone can help me installing 2.11BSD
on a PDP-11/83.
my problem:
the standalone disklabel-programm stops when
displaying the MSCP disk
information.
in the console ODT i write/see:
BOOT MU0
Starting system from mu0
83Boot from tms(0,0,0) at 0174500
:tms(0,1)
disklabel
Disk? ra(0,0)
d(isplay) D(efault) m(odify) w(rite) q(uit)?
d
type:MSCP
disk:RD54
flags:
bytes/sector: 512
sectors/reack: 17
tr
and then it just stops, right after "tr", but
the RUN led stays on.
when i try to disklabel a RL02 disk i get
invalid disk (for rl(0,1)) or a
system stop (for rl(0,0) with RUN led off).
i don´t know if this is a hardware (bus?)
error, or maybe the tape is bad.
the tapes i use are unused original dec TK50
tapes, i made several ones, because i thought
it might be a tape error, but
all tapes are the same.
hardware:
PDP-11/83, 4megs of ram, TK50, two RD54
(maxtor), two RL02 disks.
qbus cards (top to bottom):
*cpu (quad)
*memory (quad)
*controller for RL02 disks (quad)
*controller for RD54 disks (double)
*controller for TK50 (double)
*network controller (double)
i didn´t find a kind of terminator, but i
didn´t change the order of the
cards since i picked the box up.
there are no empty slots between the cards,
and i´m not sure if the Qbus
need a special terminator.
i made a TK50 boottape on my DECstation
5000/200. i got the software from
the pups archive, and made the tape with the
"maketape" program.
any idea welcome.
regards,
--lothar
I got Dennis' sixth edtion compiler to compile not long ago.
It's definitly not ANSI C, in fact it's not quite K&R C, but
I really like coding in it. My advice would be to start there.
Just check out the chapter on precidence parsing in the dragon book
before you work on the compiler.
Brantley Coile
In article by Mark E. Mallett:
> Somebody pointed me at this URL:
> http://minnie.tuhs.org/pipermail/pups/2000-January/000152.html
>
> and others where the question of the UNIX-based mallet was being
> discussed. It's me.. some time in the mid-80s I had submitted a
> number of entries to the calendar file and I had jokingly suggested
> that my birthday could also be included. And apparently it was.
>
> I enjoy seeing it pop up every August. I notice that some calendar
> files now actually explain it, which I think is a pity :-)
> --
> Mark E. Mallett | http://www.mv.com/users/mem/
> MV Communications, Inc. | http://www.mv.com/
> NH Internet Access since 1991 | (603) 629-0000 / FAX: 629-0049
I think a few people are going to be relieved to know the answer.
Can you tell us which versions of the calendar file actually explain
it, as I've not seen them.
Thanks for this,
Warren
I have been playing with a Qbus to IDE drive adapter for a while, and
with some free time this Christmas, I got around to working on it and
documenting it.
You can find information here: http://www.chd.dyndns.org/qbus_ide/
In summary, I have designed and built a Q22-Bus to ATA disk adapter and
written drivers for 2.11BSD on my microPDP-11/73. The adapter is PIO
only (for now) and the driver only works with LBA capable disks.
I posted this to the NetBSD/vax mailing list last week. If there is
sufficient interest, we might be able to get boards made. Someone is
writing a NetBSD driver and I have a 2.11BSD driver already.
-chuck
All,
Aharon Robbins just passed this on to me. Maybe some
of you are interested in this.
Warren
----- Forwarded message from Aharon Robbins -----
From: Aharon Robbins <arnold(a)skeeve.com>
To: wkt(a)tuhs.org
Subject: would any of this be useful to TUHS?
I am cleaning out my attic. What does that mean?? It means a lot of
AT&T documentation and software needs to find a home to avoid ending
in the dumpster. I have documentation and sfotware for the 6300+ and the
3B2. Some of it still in the original shrink-wrap.
And yes, this is on topic. I also have quite a bit of software and
documentation for the Unix-PC as well. Much of this still in the
original packaging. OS, Development sets, utilities. everything must
go. I also have three complete Unix-PC's and two without disks or
heads but with functional motherboards. At least all of this stuff
was functional the last time I actually turned any of them on. I have
one that I just fired up (that's already been claimed) to test it and
it works fine, so i assume the same is true of the others. I would
probably be willing to let all of them go at this point. Nice machines,
but my PDP's and VAXen need the room.
Now the only string. I will not ship any of this. it is located in
NEPA in the Scranton/Wilkes-Barre area and must be collected. And it
must be soon.
One person can claim it all and then ship it to others if they wish,
or people can email me asking for particular packages. First come,
first served. If you know of any other places where there might be
interest in the 3B2 or 6300+ stuff feel free to forward this message.
All the best.
bill
----- End of forwarded message from Aharon Robbins -----
But there's nothing like the rush of warmed, slighly phenolic air from
the cooling fans of an old minicomputer - I've noticed the furnace
doesn't kick on when the 11/34 is running. (Of course, when I flip on
the RM02s, the breaker trips....)
-- Ian
-----Original Message-----
From: Derrik Walker v2.0 [mailto:firebug@apk.net]
Sent: Monday, November 12, 2001 11:03 AM
To: Ian King
Cc: tuhs(a)tuhs.org
Subject: Re: [TUHS] HP 712& v6 or v7
On Monday, November 12, 2001, at 01:31 PM, Ian King wrote:
> Derrik, you're missing the point: what's the fun of doing it the easy
> way? :-) Seriously, though, I think you'd have a couple of serious
> problems: the assembly language components (which are not
> inconsiderable in V6) would need to be rewritten, and then there's
> also the question of whether you could find a sufficiently
> "undisciplined" C compiler to handle pre-ANSI C, to build the rest of
> the system.
>
Actually, I like playing with emulators - they use a LOT less power than
real computers :)
HP-UX comes with a REAL K&R c compiler that wont handle ANY ANSI stuff.
It's used to rebuild the kernel, but you can use it to build K&R C
programs too. That should be usable for the kernel C routines and
utilities. But as you pointed out, the assembly stuff you have to be
rewritten. Also, you'd have to deal with disk and tty drivers.
firebug(a)apk.net
http://junior.apk.net/~firebug
------------------------------------------------------------------------
---------------------------
Worriers may get all the glory, but it's engineers that build societies.
-- B`Elanna Torres, "Star Trek: Voyager"
Derrik, you're missing the point: what's the fun of doing it the easy
way? :-) Seriously, though, I think you'd have a couple of serious
problems: the assembly language components (which are not inconsiderable
in V6) would need to be rewritten, and then there's also the question of
whether you could find a sufficiently "undisciplined" C compiler to
handle pre-ANSI C, to build the rest of the system.
-- Ian, running UNIX 6th Ed. on a PDP-11/34a
-----Original Message-----
From: Derrik Walker v2.0 [mailto:firebug@apk.net]
Sent: Monday, November 12, 2001 8:29 AM
To: tuhs(a)tuhs.org
Subject: Re: [TUHS] HP 712& v6 or v7
On Tuesday, November 6, 2001, at 07:34 PM, Paul Hart wrote:
> On Sun, 4 Nov 2001, Mike Allison wrote:
>
>> Anyone tried/interested or successful in getting a copy of v6 or v7
>> up on a HP 9000 712?
>
> Are you sure it was ever ported to PA-RISC? As far as I am aware,
> PA-RISC
> (and the HP 9000 712) weren't developed until long after the days of
V6
> and V7 UNIX.
Wouldn't it be easier to just get the PDP-11 emulator from
gatekeeper.dec.com and compile it for HP-UX or Linux on the 712? I've
compiled it on Solaris 8, Linux, and Mac OS X, so it should compile just
fine under HP-UX.
Also, as far as I am aware ( and keep in mind, I am an HP-UX system
admin. ) HP-UX has only ever been System V. You can run HP-UX, Linux, or
NetBSD on a HP-9000/{800,700}.
- Derrik
firebug(a)apk.net
http://junior.apk.net/~firebug
------------------------------------------------------------------------
---------------------------
They seem to have learned the habit of cowering before authority even
when not actually threatened. How very nice for authority. I decided
not
to learn this particular lesson.
-- Richard Stallman
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org http://minnie.tuhs.org/mailman/listinfo/tuhs
Hi guys,
I'm working on a UNIX time-line database.
Its pretty basic atm - I've yet to hunt down the majority of SysV vendors
out there.
I'm currently looking for early releases, and V6/V7 offshoots (such as
PWB).
The data I'm looking for is vendor, strain, version, and date of release
(such as AIX, version 4.3.2, released 05/10/1998, SVR4, IBM etc)
Does anyone know of any sites that would give that kind of information for
the V6/V7 and earlier releases?
The database is currently at http://www.unixware.org.uk/test.php. There
isn't much to look at atm, I've yet to code the PHP interface, thought it
would be best to complete the database first though :-)
I'm hoping that, one day, it will contain a complete listing of all UNIX
releases, clones, and offshoots... well, I can dream ;-)
Regards,
Paul.
Hi -
> From: "Chuck Dickman" <chd_1(a)nktelco.net>
> Combining what Steven and Tom have said and looking at ra.c
> in standalone, I think I have a working version of rauboot now.
Congratulations!
It's a Good Thing when folks who encounter a problem can also
provide a fix :-)
If Tim Shoppa has a chance it'd be nice to confirm that the Viking
adaptor is happy with the changed rauboot (it should be but...).
Thanks again for the fix.
Steven Schultz
sms(a)2bsd.com
Hi -
> From: Tom Ivar Helbekkmo <tih(a)Hamartun.Priv.NO>
> Not exactly. You and I actually worked this out together back in
> 1995, when I was figuring out how to get Reno to boot my VAX using a
> CQD-220. :-) You don't have to present any interrupt vector, but you
Has it been that long? ;)
> shouldn't lie to the controller about this. Instead of setting the
But if you do present a vector then everything should work, right?
The problem isn't in the standalone 'ra' driver though - that seems
to be working. The boot block though ends up in an endless loop
during the 'online the unit' command (after the initialization).
> "please interrupt" bit in the MSCP datagram, and waiting for the
> controller to set the "I've interrupted now" bit, you should set the
> "controller owns this datagram now" bit, and wait for it to clear it.
> This make much better sense, anyway, while running in polled mode.
True. I'd have to look at the mdec/rauboot.s sources to see
exactly what it is doing (or not doing ;)). The change Tim Shoppa
made was to specify a vector and that did the trick for the Viking
controller.
Steven
hi -
> From: "Chuck Dickman" <chd_1(a)nktelco.net>
> fine. Except... I cannot get it to boot directly from the SCSI drive.
>
> More detail.... The processor is an 11/73 and the SCSI controller is a
> CMD CQD-220 with a Fujitsu 220MB drive. The CQD-220 is set as the primary
> MSCP controller and an RQDX3 with an RX50 drive as the secondary MSCP...
>
> .: ra(0,0,0)unix
>
> boots unix from the SCSI drive.
>
> When booting from the SCSI drive, the boot sector is loaded into memory
> and then relocated. It hangs waiting for the MSCP controller to respond.
> I have not diagnosed it to the command that hangs.
Bug in the CMD controller but CMD isn't unique - others have had
the problem as well. The bug is that the controller insists on
an interrupt vector being presented during the 3 or 4 step
initialization protocol. The 2BSD boot block code is running without
interrupts enabled and does not provide an interrupt vector. The
result is an endless loop waiting for the controller to say it is
done.
> Is anybody else booting 2.11BSD directly from a drive attached to a
> CQD-220?
Perhaps the appended patch (#432) will be of use ;)
The patchlevel of the 2.11 in the PUPS archive is 431 if I looked
at the right direcctory (you can check the rev level by looking at
the first couple lines of /VERSION).
Patch rauboot.s and reinstall the bootblock - I think that will
fix your problem of booting directly from the CMD attached disk.
Steven Schultz
sms(a)2bsd.com
------------------------cut here----------------------
Subject: Y2K troff fix, 4.3compat remnant removed, misc cleanup (#432)
Index: share/tmac/{tman.an.new,tmac.s},sys/sys/{several},others 2.11BSD
Description:
1. The 'ms', 'man' and 'me' troff macro packages do not correctly
handle dates past 1999.
2. There was some unused 4.3BSD compatibility code lingering in the
kernel taking up I space.
3. Kermit coredumps with an illegal system call.
4. rlogin(1), resolver(3), contained some Vax/Sun/4.3BSD conditional
code that was no longer needed.
5. The MSCP bootblock could not boot disks attached to a TD Systems
Viking MSCP controller.
6. /etc/rc.local uses strings(1) on the kernel image instead of
simply asking the kernel for its version information with
"sysctl kern.version". There's no reason why /etc/motd
needs to be publically writeable.
7. sysctl 'kern.ostype' and 'kern.osrelease' return the same
information which is silly (and a bit useless).
8. BSD in param.h was defined as "211" which makes date/time
comparisons meaningless ("#if BSD > 199910").
Repeat-By:
1. Format a document that uses the "-ms" macro package and has dates
in it. Notice that the date will be "October 6, 19100" instead
of "October 6 2000".
2 - 4. Observation.
5. Have a MSCP disk attached to a TD Viking Systems controller. The
boot block will go into an endless loop waiting for the controller
to respond.
6 - 7. Observation.
Fix:
A big thank you to Frank Wortnet for spotting and fixing the troff
macros.
Thanks to Tim Shoppa for tracking down the problem with the Viking
MSCP controller and providing the tweek to the RA bootblock.
I forget who submitted the suggestion that /etc/motd not be
publically writeable. Thanks.
The remaining parts of the update are various odds and ends that
have been gathering since May or June 2000 but never made it out
as an update due to time contraints.
When the 4.3 compatibility code was ripped out a couple parts were
overlooked. They're not used and just take up space in the kernel
(a few bytes here, a few bytes there and fitting the overlays together
is made harder than it need be) and also slowed the system slightly
due to calling 'helper' functions (function call/return are fairly
expensive).
Another overlooked item when the compatibility code was removed
was the Kermit program. At the time the old system calls were removed
it was necessary to rebuild the entire system from sources. Kermit
is (due to its size) not rebuilt along with the rest of the system.
Thus, if you attempt to run Kermit it coredumps with an illegal
system call. All that is needed is a recompile (takes about an hour).
Having sysctl(3) return the same information for 'kern.ostype' and
'kern.osrelease' was a mistake. This has been changed to be more
useful. 'sysctl kern.ostype' now returns "BSD" and 'sysctl
kern.osrelease' returns "2.11".
In <sys/param.h> the BSD define has been changed from 211 to
200005 (year 2000, month 5) to more accurately reflect the system's
capabilities. Basically 'BSD' has changed from an encoded release
value to a stylized date value. Sections of the kernel (and several
userland programs) which relied on "#if BSD < 43" to select old
compatibility features were modified or removed as a result of changing
the meaning of 'BSD' in param.h. Indeed much of the size of the
patch is directly related to the change in param.h
rlogin(1) was cleaned up. Standard include files were used rather
than locally declaring functions such as index(3) and so on. As long
as rlogin was being worked on the sources and the manpage were
relocated in accordance with the convention that the manpage source
goes into the sourcecode directory.
The update kit below is a shar file containing 4 files:
432.patch = a file to be fed thru patch(1)
432.sh = a shell script to rearrange rlogin(1)'s files
432.rm = a shell script to remove old rlogin(1) files
432.shar = a shar file of rlogin(1)'s new Makefile
The two shell scripts are small (just two or three commands each).
The commands could of course be typed in manually if desired.
To install the update cut where indicated below and save to a file
(/tmp/432) and then:
cd /tmp
sh 432
./432.sh
./432.rm
sh 432.shar
patch -p0 < 432.patch
Watch carefully for any rejected parts of the patch. Failure of a
patch typically means the system was not current on all preceeding
updates _or_ that local modifications have been made.
Next rebuild Kermit if this has not previously been done:
cd /usr/src/new/kermit5.188
make bsd211
cp wermit /usr/new/kermit
make clean
The updated troff macros are installed next:
cd /usr/src/share/me
make install
cd /usr/src/share/tmac
make install
It is not required to build a new kernel at this time since the only
changes were to remove code that was not being used. One reason to
build a new kernel would be to make sure the overlay structure is
still valid:
cd /sys/YOUR_KERNEL
make clean
make
and then install as usual
Lastly the MSCP bootblock is recompiled and installed in /mdec:
cd /sys/mdec
install -m 444 rauboot /mdec/rauboot
make clean
As always this and previous updates to 2.11BSD are available via
anonymous FTP to either FTP.IIPO.GTEGSC.COM or MOE.2BSD.COM in the
directory /pub/2.11BSD.
============================cut here===========================
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
# 432.rm
# 432.sh
# 432.shar
# 432.patch
# This archive created: Fri Oct 13 21:52:42 2000
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f '432.rm'
then
echo shar: "will not over-write existing file '432.rm'"
else
sed 's/^B//' << \SHAR_EOF > '432.rm'
B
B#!/bin/sh
B
Brm -f /usr/src/man/man1/rlogin.1
Brm -f /usr/src/ucb/rlogin.c
SHAR_EOF
chmod 755 '432.rm'
fi
if test -f '432.sh'
then
echo shar: "will not over-write existing file '432.sh'"
else
sed 's/^B//' << \SHAR_EOF > '432.sh'
B#!/bin/sh
B
Bset -e
Bumask 22
B
Bmkdir -p /usr/src/ucb/rlogin
Bcp -p /usr/src/ucb/rlogin.c /usr/src/ucb/rlogin/rlogin.c
Bcp -p /usr/src/man/man1/rlogin.1 /usr/src/ucb/rlogin/rlogin.1
SHAR_EOF
chmod 755 '432.sh'
fi
if test -f '432.shar'
then
echo shar: "will not over-write existing file '432.shar'"
else
sed 's/^B//' << \SHAR_EOF > '432.shar'
B#! /bin/sh
B# This is a shell archive, meaning:
B# 1. Remove everything above the #! /bin/sh line.
B# 2. Save the resulting text in a file.
B# 3. Execute the file with /bin/sh (not csh) to create:
B# /usr/src/ucb/rlogin/Makefile
B# This archive created: Thu Oct 12 21:10:13 2000
Bexport PATH; PATH=/bin:/usr/bin:$PATH
Bif test -f '/usr/src/ucb/rlogin/Makefile'
Bthen
B echo shar: "will not over-write existing file '/usr/src/ucb/rlogin/Makefile'"
Belse
Bsed 's/^Z//' << \SHAR_EOF > '/usr/src/ucb/rlogin/Makefile'
BZ#
BZ# Public Domain. 1996/11/16 - Steven Schultz
BZ#
BZ# @(#)Makefile 1.0 (2.11BSD) 2000/5/17
BZ#
BZCFLAGS= -O
BZSEPFLAG= -i
BZSRCS= rlogin.c
BZOBJS= rlogin.o
BZMAN= rlogin.0
BZMANSRC= rlogin.1
BZ
BZall: rlogin rlogin.0
BZ
BZrlogin: ${OBJS}
BZ ${CC} ${CFLAGS} ${SEPFLAG} -o $@ ${OBJS}
BZ
BZrlogin.0: ${MANSRC}
BZ /usr/man/manroff ${MANSRC} > ${MAN}
BZ
BZclean:
BZ rm -f ${OBJS} ${MAN} rlogin tags
BZ
BZdepend: ${SRCS}
BZ mkdep ${CFLAGS} ${SRCS}
BZ
BZinstall: rlogin
BZ install -c -o bin -g bin -m 444 ${MAN} ${DESTDIR}/usr/man/cat1
BZ install -s -o root -g bin -m 4755 rlogin ${DESTDIR}/usr/ucb/rlogin
BZ
BZlint: ${SRCS}
BZ lint -hax ${SRCS}
BZ
BZtags: ${SRCS}
BZ ctags ${SRCS}
BZ# DO NOT DELETE THIS LINE -- mkdep uses it.
BZ# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
BSHAR_EOF
Bfi
Bexit 0
B# End of shell archive
SHAR_EOF
chmod 644 '432.shar'
fi
if test -f '432.patch'
then
echo shar: "will not over-write existing file '432.patch'"
else
sed 's/^B//' << \SHAR_EOF > '432.patch'
B*** /etc/rc.local.old Sat Nov 16 16:23:44 1996
B--- /etc/rc.local Wed May 17 21:00:28 2000
B***************
B*** 1,10 ****
B #! /bin/sh -
B # site-specific startup actions, daemons
B
B! strings /vmunix | grep UNIX >/tmp/t1
B tail +2 /etc/motd >>/tmp/t1
B mv /tmp/t1 /etc/motd
B! chmod 666 /etc/motd
B
B echo -n starting local daemons: >/dev/console 2>&1
B #if [ $INET = YES -a -f /usr/sbin/timed ]; then
B--- 1,10 ----
B #! /bin/sh -
B # site-specific startup actions, daemons
B
B! sysctl -n kern.version | head -1 > /tmp/t1
B tail +2 /etc/motd >>/tmp/t1
B mv /tmp/t1 /etc/motd
B! chmod 644 /etc/motd
B
B echo -n starting local daemons: >/dev/console 2>&1
B #if [ $INET = YES -a -f /usr/sbin/timed ]; then
B*** /usr/src/sys/sys/kern_sysctl.c.old Wed Aug 11 19:40:36 1999
B--- /usr/src/sys/sys/kern_sysctl.c Wed May 17 20:01:48 2000
B***************
B*** 33,39 ****
B * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
B * SUCH DAMAGE.
B *
B! * @(#)kern_sysctl.c 8.4.11 (2.11BSD) 1999/8/11
B */
B
B /*
B--- 33,39 ----
B * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
B * SUCH DAMAGE.
B *
B! * @(#)kern_sysctl.c 8.4.12 (2.11BSD) 2000/5/17
B */
B
B /*
B***************
B*** 195,204 ****
B
B switch (name[0]) {
B case KERN_OSTYPE:
B case KERN_OSRELEASE:
B! /* code is cheaper than D space */
B! bsd[0]='2';bsd[1]='.';bsd[2]='1';bsd[3]='1';bsd[4]='B';
B! bsd[5]='S';bsd[6]='D';bsd[7]='\0';
B return (sysctl_rdstring(oldp, oldlenp, newp, bsd));
B case KERN_ACCTTHRESH:
B level = Acctthresh;
B--- 195,204 ----
B
B switch (name[0]) {
B case KERN_OSTYPE:
B+ bsd[0]='B';bsd[1]='S';bsd[2]='D';bsd[3]='\0';
B+ return (sysctl_rdstring(oldp, oldlenp, newp, bsd));
B case KERN_OSRELEASE:
B! bsd[0]='2';bsd[1]='.';bsd[2]='1';bsd[3]='1';bsd[4]='\0';
B return (sysctl_rdstring(oldp, oldlenp, newp, bsd));
B case KERN_ACCTTHRESH:
B level = Acctthresh;
B*** /usr/src/sys/sys/kern_prot2.c.old Sun Feb 20 18:13:08 2000
B--- /usr/src/sys/sys/kern_prot2.c Tue Aug 1 20:44:47 2000
B***************
B*** 35,41 ****
B * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
B * SUCH DAMAGE.
B *
B! * @(#)kern_prot2.c 8.9.2 (2.11BSD) 2000/2/20
B */
B
B #include "param.h"
B--- 35,41 ----
B * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
B * SUCH DAMAGE.
B *
B! * @(#)kern_prot2.c 8.9.3 (2.11BSD) 2000/8/1
B */
B
B #include "param.h"
B***************
B*** 49,72 ****
B
B int
B setuid()
B! {
B struct a {
B uid_t uid;
B } *uap = (struct a *)u.u_ap;
B
B- return(_setuid(uap->uid));
B- }
B-
B- /*
B- * This is a helper function used by setuid() above and the 4.3BSD
B- * compatibility code. When the latter goes away this can be joined
B- * back into the above code and save a function call.
B- */
B- int
B- _setuid(uid)
B- register uid_t uid;
B- {
B-
B if (uid != u.u_ruid && !suser())
B return(u.u_error);
B /*
B--- 49,60 ----
B
B int
B setuid()
B! {
B struct a {
B uid_t uid;
B } *uap = (struct a *)u.u_ap;
B+ register uid_t uid = uap->uid;
B
B if (uid != u.u_ruid && !suser())
B return(u.u_error);
B /*
B***************
B*** 78,84 ****
B QUOTAMAP();
B if (u.u_quota->q_uid != uid) {
B qclean();
B! qstart(getquota((uid_t)uid, 0, 0));
B }
B QUOTAUNMAP();
B #endif
B--- 66,72 ----
B QUOTAMAP();
B if (u.u_quota->q_uid != uid) {
B qclean();
B! qstart(getquota(uid, 0, 0));
B }
B QUOTAUNMAP();
B #endif
B***************
B*** 88,94 ****
B u.u_ruid = uid;
B u.u_svuid = uid;
B u.u_acflag |= ASUGID;
B! return (u.u_error = 0);
B }
B
B int
B--- 76,82 ----
B u.u_ruid = uid;
B u.u_svuid = uid;
B u.u_acflag |= ASUGID;
B! return(u.u_error = 0);
B }
B
B int
B***************
B*** 97,119 ****
B struct a {
B uid_t euid;
B } *uap = (struct a *)u.u_ap;
B
B! return(_seteuid(uap->euid));
B! }
B!
B! int
B! _seteuid(euid)
B! register uid_t euid;
B! {
B!
B! if (euid != u.u_ruid && euid != u.u_svuid && !suser())
B! return (u.u_error);
B /*
B * Everything's okay, do it.
B */
B u.u_uid = euid;
B u.u_acflag |= ASUGID;
B! return (u.u_error = 0);
B }
B
B int
B--- 85,100 ----
B struct a {
B uid_t euid;
B } *uap = (struct a *)u.u_ap;
B+ register uid_t euid = uap->euid;
B
B! if (euid != u.u_ruid && euid != u.u_svuid && !suser())
B! return(u.u_error);
B /*
B * Everything's okay, do it.
B */
B u.u_uid = euid;
B u.u_acflag |= ASUGID;
B! return(u.u_error = 0);
B }
B
B int
B***************
B*** 122,143 ****
B struct a {
B gid_t gid;
B } *uap = (struct a *)u.u_ap;
B!
B! return(_setgid(uap->gid));
B! }
B
B- int
B- _setgid(gid)
B- register gid_t gid;
B- {
B-
B if (gid != u.u_rgid && !suser())
B! return (u.u_error); /* XXX */
B u.u_groups[0] = gid; /* effective gid is u_groups[0] */
B u.u_rgid = gid;
B u.u_svgid = gid;
B u.u_acflag |= ASUGID;
B! return (u.u_error = 0);
B }
B
B int
B--- 103,117 ----
B struct a {
B gid_t gid;
B } *uap = (struct a *)u.u_ap;
B! register gid_t gid = uap->gid;
B
B if (gid != u.u_rgid && !suser())
B! return(u.u_error); /* XXX */
B u.u_groups[0] = gid; /* effective gid is u_groups[0] */
B u.u_rgid = gid;
B u.u_svgid = gid;
B u.u_acflag |= ASUGID;
B! return(u.u_error = 0);
B }
B
B int
B***************
B*** 146,163 ****
B struct a {
B gid_t egid;
B } *uap = (struct a *)u.u_ap;
B
B- return(_setegid(uap->egid));
B- }
B-
B- int
B- _setegid(egid)
B- register gid_t egid;
B- {
B-
B if (egid != u.u_rgid && egid != u.u_svgid && !suser())
B! return (u.u_error);
B u.u_groups[0] = egid;
B u.u_acflag |= ASUGID;
B! return (u.u_error = 0);
B }
B--- 120,130 ----
B struct a {
B gid_t egid;
B } *uap = (struct a *)u.u_ap;
B+ register gid_t egid = uap->egid;
B
B if (egid != u.u_rgid && egid != u.u_svgid && !suser())
B! return(u.u_error);
B u.u_groups[0] = egid;
B u.u_acflag |= ASUGID;
B! return(u.u_error = 0);
B }
B*** /usr/src/sys/sys/subr_prf.c.old Sat Dec 5 17:34:36 1998
B--- /usr/src/sys/sys/subr_prf.c Tue Aug 1 20:46:48 2000
B***************
B*** 3,9 ****
B * All rights reserved. The Berkeley software License Agreement
B * specifies the terms and conditions for redistribution.
B *
B! * @(#)subr_prf.c 1.2 (2.11BSD) 1998/12/5
B */
B
B #include "param.h"
B--- 3,9 ----
B * All rights reserved. The Berkeley software License Agreement
B * specifies the terms and conditions for redistribution.
B *
B! * @(#)subr_prf.c 1.3 (2.11BSD) 2000/8/1
B */
B
B #include "param.h"
B***************
B*** 300,306 ****
B * about failing disk tranfers.
B */
B harderr(bp, cp)
B! struct buf *bp;
B char *cp;
B {
B printf("%s%d%c: hard error sn%D ", cp,
B--- 300,306 ----
B * about failing disk tranfers.
B */
B harderr(bp, cp)
B! register struct buf *bp;
B char *cp;
B {
B printf("%s%d%c: hard error sn%D ", cp,
B*** /usr/src/sys/h/param.h.old Wed Sep 15 19:38:45 1999
B--- /usr/src/sys/h/param.h Wed May 17 20:10:44 2000
B***************
B*** 3,12 ****
B * All rights reserved. The Berkeley software License Agreement
B * specifies the terms and conditions for redistribution.
B *
B! * @(#)param.h 1.6 (2.11BSD) 1999/9/5
B */
B
B! #define BSD 211 /* 2.11 * 10, as cpp doesn't do floats */
B
B #include <sys/localopts.h>
B #include <sys/stddef.h> /* for 'offsetof' */
B--- 3,12 ----
B * All rights reserved. The Berkeley software License Agreement
B * specifies the terms and conditions for redistribution.
B *
B! * @(#)param.h 1.7 (2.11BSD) 2000/5/17
B */
B
B! #define BSD 200005 /* System version (year and month) */
B
B #include <sys/localopts.h>
B #include <sys/stddef.h> /* for 'offsetof' */
B*** /usr/src/sys/mdec/rauboot.s.old Wed May 31 19:54:49 1995
B--- /usr/src/sys/mdec/rauboot.s Wed May 17 19:54:13 2000
B***************
B*** 298,304 ****
B clr (r0) / Tell controller we go it
B rts pc
B
B! icons: RAERR
B ra+RARING
B 0
B RAGO
B--- 298,309 ----
B clr (r0) / Tell controller we go it
B rts pc
B
B! / Some adaptors (TD Systems Viking for example) require the vector field
B! / to be initialized even though interrupts are not enabled. Use the primary
B! / vector of 0154. The standalone MSCP driver does the same thing and later on
B! / the kernel programs the adaptor with an assigned vector
B!
B! icons: RAERR + 033 / 033 = 0154 >> 2
B ra+RARING
B 0
B RAGO
B*** /usr/src/sys/netinet/raw_ip.c.old Fri Jul 7 13:30:17 1989
B--- /usr/src/sys/netinet/raw_ip.c Wed May 17 20:15:14 2000
B***************
B*** 9,15 ****
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)raw_ip.c 7.3 (Berkeley) 12/7/87
B */
B
B #include "param.h"
B--- 9,15 ----
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)raw_ip.c 7.3.1 (2.11BSD) 2000/5/17
B */
B
B #include "param.h"
B***************
B*** 61,71 ****
B int error;
B struct rawcb *rp = sotorawcb(so);
B struct sockaddr_in *sin;
B- #if BSD>=43
B short proto = rp->rcb_proto.sp_protocol;
B! #else
B! short proto = so->so_proto->pr_protocol;
B! #endif
B /*
B * if the protocol is IPPROTO_RAW, the user handed us a
B * complete IP packet. Otherwise, allocate an mbuf for a
B--- 61,68 ----
B int error;
B struct rawcb *rp = sotorawcb(so);
B struct sockaddr_in *sin;
B short proto = rp->rcb_proto.sp_protocol;
B!
B /*
B * if the protocol is IPPROTO_RAW, the user handed us a
B * complete IP packet. Otherwise, allocate an mbuf for a
B***************
B*** 113,125 ****
B
B ip->ip_dst = ((struct sockaddr_in *)&rp->rcb_faddr)->sin_addr;
B
B- #if BSD>=43
B return (ip_output(m, rp->rcb_options, &rp->rcb_route,
B (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST));
B- #else
B- return (ip_output(m, (struct mbuf *)0, &rp->rcb_route,
B- (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST));
B- #endif
B bad:
B m_freem(m);
B return (error);
B--- 110,117 ----
B*** /usr/src/sys/netinet/tcp_input.c.old Sat May 7 14:43:47 1988
B--- /usr/src/sys/netinet/tcp_input.c Wed May 17 20:17:27 2000
B***************
B*** 9,15 ****
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_input.c 7.15.1.2 (Berkeley) 3/16/88
B */
B
B #include "param.h"
B--- 9,15 ----
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_input.c 7.15.1.3 (2.11BSD) 2000/5/17
B */
B
B #include "param.h"
B***************
B*** 321,329 ****
B inp = (struct inpcb *)so->so_pcb;
B inp->inp_laddr = ti->ti_dst;
B inp->inp_lport = ti->ti_dport;
B- #if BSD>=43
B inp->inp_options = ip_srcroute();
B- #endif
B tp = intotcpcb(inp);
B tp->t_state = TCPS_LISTEN;
B }
B--- 321,327 ----
B***************
B*** 491,507 ****
B ti->ti_seq++;
B if (ti->ti_len > tp->rcv_wnd) {
B todrop = ti->ti_len - tp->rcv_wnd;
B- #if BSD>=43
B m_adj(m, -todrop);
B- #else
B- /* XXX work around 4.2 m_adj bug */
B- if (m->m_len) {
B- m_adj(m, -todrop);
B- } else {
B- /* skip tcp/ip header in first mbuf */
B- m_adj(m->m_next, -todrop);
B- }
B- #endif
B ti->ti_len = tp->rcv_wnd;
B tiflags &= ~TH_FIN;
B tcpstat.tcps_rcvpackafterwin++;
B--- 489,495 ----
B***************
B*** 615,631 ****
B goto dropafterack;
B } else
B tcpstat.tcps_rcvbyteafterwin += todrop;
B- #if BSD>=43
B m_adj(m, -todrop);
B- #else
B- /* XXX work around m_adj bug */
B- if (m->m_len) {
B- m_adj(m, -todrop);
B- } else {
B- /* skip tcp/ip header in first mbuf */
B- m_adj(m->m_next, -todrop);
B- }
B- #endif
B ti->ti_len -= todrop;
B tiflags &= ~(TH_PUSH|TH_FIN);
B }
B--- 603,609 ----
B***************
B*** 1290,1323 ****
B tp->snd_cwnd = mss;
B return (mss);
B }
B-
B- #if BSD<43
B- /* XXX this belongs in netinet/in.c */
B- in_localaddr(in)
B- struct in_addr in;
B- {
B- register u_long i = ntohl(in.s_addr);
B- register struct ifnet *ifp;
B- register struct sockaddr_in *sin;
B- register u_long mask;
B-
B- if (IN_CLASSA(i))
B- mask = IN_CLASSA_NET;
B- else if (IN_CLASSB(i))
B- mask = IN_CLASSB_NET;
B- else if (IN_CLASSC(i))
B- mask = IN_CLASSC_NET;
B- else
B- return (0);
B-
B- i &= mask;
B- for (ifp = ifnet; ifp; ifp = ifp->if_next) {
B- if (ifp->if_addr.sa_family != AF_INET)
B- continue;
B- sin = (struct sockaddr_in *)&ifp->if_addr;
B- if ((sin->sin_addr.s_addr & mask) == i)
B- return (1);
B- }
B- return (0);
B- }
B- #endif
B--- 1268,1270 ----
B*** /usr/src/sys/netinet/tcp_output.c.old Tue Oct 10 22:39:54 1995
B--- /usr/src/sys/netinet/tcp_output.c Wed May 17 20:18:48 2000
B***************
B*** 9,15 ****
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_output.c 7.13.1.4 (Berkeley) 1995/10/10
B */
B
B #include "param.h"
B--- 9,15 ----
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_output.c 7.13.1.5 (2.11BSD) 2000/5/17
B */
B
B #include "param.h"
B***************
B*** 390,402 ****
B */
B ((struct ip *)ti)->ip_len = sizeof (struct tcpiphdr) + optlen + len;
B ((struct ip *)ti)->ip_ttl = ip_defttl; /* XXX */
B- #if BSD>=43
B error = ip_output(m, tp->t_inpcb->inp_options, &tp->t_inpcb->inp_route,
B so->so_options & SO_DONTROUTE);
B- #else
B- error = ip_output(m, (struct mbuf *)0, &tp->t_inpcb->inp_route,
B- so->so_options & SO_DONTROUTE);
B- #endif
B if (error) {
B if (error == ENOBUFS) {
B tcp_quench(tp->t_inpcb);
B--- 390,397 ----
B*** /usr/src/sys/netinet/tcp_timer.c.old Thu Apr 28 16:25:02 1988
B--- /usr/src/sys/netinet/tcp_timer.c Wed May 17 20:19:44 2000
B***************
B*** 9,15 ****
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_timer.c 7.11.1.2 (Berkeley) 3/16/88
B */
B
B #include "param.h"
B--- 9,15 ----
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_timer.c 7.11.1.3 (2.11BSD) 2000/5/17
B */
B
B #include "param.h"
B***************
B*** 178,186 ****
B * retransmit times until then.
B */
B if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 4) {
B- #if BSD>=43
B in_losing(tp->t_inpcb);
B- #endif
B tp->t_rttvar += (tp->t_srtt >> 2);
B tp->t_srtt = 0;
B }
B--- 178,184 ----
B*** /usr/src/sys/netinet/tcp_usrreq.c.old Thu Apr 28 16:26:57 1988
B--- /usr/src/sys/netinet/tcp_usrreq.c Wed May 17 20:20:49 2000
B***************
B*** 9,15 ****
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_usrreq.c 7.7.1.2 (Berkeley) 3/16/88
B */
B
B #include "param.h"
B--- 9,15 ----
B * software without specific prior written permission. This software
B * is provided ``as is'' without express or implied warranty.
B *
B! * @(#)tcp_usrreq.c 7.7.1.3 (2.11BSD) 2000/5/17
B */
B
B #include "param.h"
B***************
B*** 61,74 ****
B int error = 0;
B int ostate;
B
B- #if BSD>=43
B if (req == PRU_CONTROL)
B return (in_control(so, (int)m, (caddr_t)nam,
B (struct ifnet *)rights));
B- #else
B- if (req == PRU_CONTROL)
B- return(EOPNOTSUPP);
B- #endif
B if (rights && rights->m_len)
B return (EINVAL);
B
B--- 61,69 ----
B***************
B*** 317,323 ****
B return (error);
B }
B
B- #if BSD>=43
B tcp_ctloutput(op, so, level, optname, mp)
B int op;
B struct socket *so;
B--- 312,317 ----
B***************
B*** 375,381 ****
B }
B return (error);
B }
B- #endif
B
B int tcp_sendspace = 1024*4;
B int tcp_recvspace = 1024*4;
B--- 369,374 ----
B*** /usr/src/etc/rc.local.old Fri Jan 10 20:54:34 1997
B--- /usr/src/etc/rc.local Wed May 17 21:01:41 2000
B***************
B*** 1,10 ****
B #! /bin/sh -
B # site-specific startup actions, daemons
B
B! strings /vmunix | grep UNIX >/tmp/t1
B tail +2 /etc/motd >>/tmp/t1
B mv /tmp/t1 /etc/motd
B! chmod 666 /etc/motd
B
B echo -n starting local daemons: >/dev/console 2>&1
B #if [ $INET = YES -a -f /usr/sbin/timed ]; then
B--- 1,10 ----
B #! /bin/sh -
B # site-specific startup actions, daemons
B
B! sysctl -n kern.version | head -1 > /tmp/t1
B tail +2 /etc/motd >>/tmp/t1
B mv /tmp/t1 /etc/motd
B! chmod 644 /etc/motd
B
B echo -n starting local daemons: >/dev/console 2>&1
B #if [ $INET = YES -a -f /usr/sbin/timed ]; then
B*** /usr/src/lib/libc/net/named/gethnamadr.c.old Sun Jul 10 18:04:23 1994
B--- /usr/src/lib/libc/net/named/gethnamadr.c Wed May 17 20:22:57 2000
B***************
B*** 11,18 ****
B */
B
B #if defined(LIBC_SCCS) && !defined(lint)
B! static char sccsid[] = "@(#)gethostnamadr.c 6.31.2 (2.11BSD GTE) 6/27/94";
B! #endif /* LIBC_SCCS and not lint */
B
B #include <sys/param.h>
B #include <sys/socket.h>
B--- 11,18 ----
B */
B
B #if defined(LIBC_SCCS) && !defined(lint)
B! static char sccsid[] = "@(#)gethostnamadr.c 6.31.3 (2.11BSD) 2000/5/17";
B! #endif
B
B #include <sys/param.h>
B #include <sys/socket.h>
B***************
B*** 112,120 ****
B ap = host_aliases;
B host.h_aliases = host_aliases;
B hap = h_addr_ptrs;
B- #if BSD >= 43 || defined(h_addr) /* new-style hostent structure */
B host.h_addr_list = h_addr_ptrs;
B- #endif
B haveanswer = 0;
B while (--ancount >= 0 && cp < eom) {
B if ((n = dn_expand((char *)answer->buf, eom, cp, bp, buflen)) < 0)
B--- 112,118 ----
B***************
B*** 190,200 ****
B }
B if (haveanswer) {
B *ap = NULL;
B- #if BSD >= 43 || defined(h_addr) /* new-style hostent structure */
B *hap = NULL;
B- #else
B- host.h_addr = h_addr_ptrs[0];
B- #endif
B return (&host);
B } else {
B h_errno = TRY_AGAIN;
B--- 188,194 ----
B***************
B*** 320,328 ****
B goto again;
B *cp++ = '\0';
B /* THIS STUFF IS INTERNET SPECIFIC */
B- #if BSD >= 43 || defined(h_addr) /* new-style hostent structure */
B host.h_addr_list = host_addrs;
B- #endif
B host.h_addr = hostaddr;
B *((u_long *)host.h_addr) = inet_addr(p);
B host.h_length = sizeof (u_long);
B--- 314,320 ----
B*** /usr/src/lib/libc/net/res_send.c.old Sun Jun 26 17:22:50 1994
B--- /usr/src/lib/libc/net/res_send.c Wed May 17 20:27:18 2000
B***************
B*** 11,18 ****
B */
B
B #if defined(LIBC_SCCS) && !defined(lint)
B! static char sccsid[] = "@(#)res_send.c 6.19.1 (Berkeley) 6/27/94";
B! #endif /* LIBC_SCCS and not lint */
B
B /*
B * Send query to name server and wait for reply.
B--- 11,18 ----
B */
B
B #if defined(LIBC_SCCS) && !defined(lint)
B! static char sccsid[] = "@(#)res_send.c 6.19.2 (2.11BSD) 2000/5/17";
B! #endif
B
B /*
B * Send query to name server and wait for reply.
B***************
B*** 28,48 ****
B #include <arpa/nameser.h>
B #include <resolv.h>
B
B- extern int errno;
B-
B static int s = -1; /* socket used for communications */
B static struct sockaddr no_addr;
B-
B
B- #ifndef FD_SET
B- #define NFDBITS 32
B- #define FD_SETSIZE 32
B- #define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
B- #define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
B- #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
B- #define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
B- #endif
B-
B #define KEEPOPEN (RES_USEVC|RES_STAYOPEN)
B
B res_send(buf, buflen, answer, anslen)
B--- 28,36 ----
B***************
B*** 199,205 ****
B */
B if (s < 0)
B s = socket(AF_INET, SOCK_DGRAM, 0);
B- #if BSD >= 43
B if (_res.nscount == 1 || retry == _res.retry) {
B /*
B * Don't use connect if we might
B--- 187,192 ----
B***************
B*** 224,233 ****
B #endif DEBUG
B continue;
B }
B! } else
B! #endif BSD
B! if (sendto(s, buf, buflen, 0, &_res.nsaddr_list[ns],
B! sizeof(struct sockaddr)) != buflen) {
B #ifdef DEBUG
B if (_res.options & RES_DEBUG)
B perror("sendto");
B--- 211,218 ----
B #endif DEBUG
B continue;
B }
B! } else if (sendto(s,buf,buflen,0,&_res.nsaddr_list[ns],
B! sizeof(struct sockaddr)) != buflen) {
B #ifdef DEBUG
B if (_res.options & RES_DEBUG)
B perror("sendto");
B*** /usr/src/ucb/netstat/inet.c.old Sun Aug 28 10:53:19 1994
B--- /usr/src/ucb/netstat/inet.c Wed May 17 20:29:47 2000
B***************
B*** 11,17 ****
B */
B
B #if defined(DOSCCS) && !defined(lint)
B! static char sccsid[] = "@(#)inet.c 5.9.3 (2.11BSD GTE) 8/28/94";
B #endif
B
B #include <strings.h>
B--- 11,17 ----
B */
B
B #if defined(DOSCCS) && !defined(lint)
B! static char sccsid[] = "@(#)inet.c 5.9.4 (2.11BSD) 2000/5/17";
B #endif
B
B #include <strings.h>
B***************
B*** 243,252 ****
B return;
B klseek(kmem, off, 0);
B read(kmem, (char *)&ipstat, sizeof (ipstat));
B- #if BSD>=43
B printf("%s:\n\t%lu total packets received\n", name,
B ipstat.ips_total);
B- #endif
B printf("\t%lu bad header checksum%s\n",
B ipstat.ips_badsum, plural(ipstat.ips_badsum));
B printf("\t%lu with size smaller than minimum\n", ipstat.ips_toosmall);
B--- 243,250 ----
B***************
B*** 253,259 ****
B printf("\t%lu with data size < data length\n", ipstat.ips_tooshort);
B printf("\t%lu with header length < data size\n", ipstat.ips_badhlen);
B printf("\t%lu with data length < header length\n", ipstat.ips_badlen);
B- #if BSD>=43
B printf("\t%lu fragment%s received\n",
B ipstat.ips_fragments, plural(ipstat.ips_fragments));
B printf("\t%lu fragment%s dropped (dup or out of space)\n",
B--- 251,256 ----
B***************
B*** 266,272 ****
B ipstat.ips_cantforward, plural(ipstat.ips_cantforward));
B printf("\t%lu redirect%s sent\n",
B ipstat.ips_redirectsent, plural(ipstat.ips_redirectsent));
B- #endif
B }
B
B static char *icmpnames[] = {
B--- 263,268 ----
B*** /usr/src/ucb/rlogin/rlogin.c.old Wed May 7 19:45:04 1997
B--- /usr/src/ucb/rlogin/rlogin.c Wed May 17 20:44:43 2000
B***************
B*** 9,15 ****
B "@(#) Copyright (c) 1983 Regents of the University of California.\n\
B All rights reserved.\n";
B
B! static char sccsid[] = "@(#)rlogin.c 5.10.1 (2.11BSD) 1997/3/28";
B #endif
B
B /*
B--- 9,15 ----
B "@(#) Copyright (c) 1983 Regents of the University of California.\n\
B All rights reserved.\n";
B
B! static char sccsid[] = "@(#)rlogin.c 5.10.2 (2.11BSD) 2000/5/17";
B #endif
B
B /*
B***************
B*** 28,33 ****
B--- 28,35 ----
B #include <errno.h>
B #include <pwd.h>
B #include <signal.h>
B+ #include <string.h>
B+ #include <stdlib.h>
B #include <setjmp.h>
B #include <netdb.h>
B
B***************
B*** 35,42 ****
B # define TIOCPKT_WINDOW 0x80
B # endif TIOCPKT_WINDOW
B
B- char *index(), *rindex(), *malloc(), *getenv();
B- struct passwd *getpwuid();
B char *name;
B int rem;
B char cmdchar = '~';
B--- 37,42 ----
B***************
B*** 46,66 ****
B { "0", "50", "75", "110", "134", "150", "200", "300",
B "600", "1200", "1800", "2400", "4800", "9600", "19200", "38400" };
B char term[256] = "network";
B- extern int errno;
B int lostpeer();
B int dosigwinch = 0;
B- #ifndef sigmask
B- #define sigmask(m) (1L << ((m)-1))
B- #endif
B- #ifdef sun
B- struct ttysize winsize;
B- struct winsize {
B- unsigned short ws_row, ws_col;
B- unsigned short ws_xpixel, ws_ypixel;
B- };
B- #else sun
B struct winsize winsize;
B- #endif sun
B int sigwinch(), oob();
B
B main(argc, argv)
B--- 46,54 ----
B***************
B*** 132,142 ****
B strcat(term, "/");
B strcat(term, speeds[ttyb.sg_ospeed]);
B }
B- #ifdef sun
B- (void) ioctl(0, TIOCGSIZE, &winsize);
B- #else sun
B (void) ioctl(0, TIOCGWINSZ, &winsize);
B- #endif sun
B signal(SIGPIPE, lostpeer);
B signal(SIGURG, oob);
B oldmask = sigblock(sigmask(SIGURG));
B--- 120,126 ----
B***************
B*** 177,183 ****
B doit(oldmask)
B long oldmask;
B {
B- int exit();
B struct sgttyb sb;
B
B ioctl(0, TIOCGETP, (char *)&sb);
B--- 161,166 ----
B***************
B*** 349,369 ****
B sigwinch(); /* check for size changes */
B }
B
B- #ifdef sun
B sigwinch()
B {
B- struct ttysize ws;
B-
B- if (dosigwinch && ioctl(0, TIOCGSIZE, &ws) == 0 &&
B- bcmp(&ws, &winsize, sizeof (ws))) {
B- winsize = ws;
B- sendwindow();
B- }
B- }
B-
B- #else sun
B- sigwinch()
B- {
B struct winsize ws;
B
B if (dosigwinch && ioctl(0, TIOCGWINSZ, &ws) == 0 &&
B--- 332,339 ----
B***************
B*** 372,378 ****
B sendwindow();
B }
B }
B- #endif
B
B /*
B * Send the window size to the server via the magic escape
B--- 342,347 ----
B***************
B*** 386,402 ****
B obuf[1] = 0377;
B obuf[2] = 's';
B obuf[3] = 's';
B- #ifdef sun
B- wp->ws_row = htons(winsize.ts_lines);
B- wp->ws_col = htons(winsize.ts_cols);
B- wp->ws_xpixel = 0;
B- wp->ws_ypixel = 0;
B- #else sun
B wp->ws_row = htons(winsize.ws_row);
B wp->ws_col = htons(winsize.ws_col);
B wp->ws_xpixel = htons(winsize.ws_xpixel);
B wp->ws_ypixel = htons(winsize.ws_ypixel);
B- #endif sun
B (void) write(rem, obuf, sizeof(obuf));
B }
B
B--- 355,364 ----
B***************
B*** 506,516 ****
B */
B reader()
B {
B- #if !defined(BSD) || BSD < 43
B- int pid = -getpid();
B- #else
B int pid = getpid();
B- #endif
B int n, remaining;
B char *bufp = rcvbuf;
B
B--- 468,474 ----
B*** /usr/src/ucb/Makefile.old Fri Jun 27 19:50:46 1997
B--- /usr/src/ucb/Makefile Wed May 17 20:32:16 2000
B***************
B*** 3,9 ****
B # All rights reserved. The Berkeley software License Agreement
B # specifies the terms and conditions for redistribution.
B #
B! # @(#)Makefile 5.17.4 (2.11BSD GTE) 1997/6/27
B #
B DESTDIR=
B CFLAGS= -O
B--- 3,9 ----
B # All rights reserved. The Berkeley software License Agreement
B # specifies the terms and conditions for redistribution.
B #
B! # @(#)Makefile 5.17.5 (2.11BSD) 2000/5/17
B #
B DESTDIR=
B CFLAGS= -O
B***************
B*** 12,18 ****
B # Programs that live in subdirectories, and have makefiles of their own.
B #
B SUBDIR= Mail compress dbx error ex finger fp ftp indent lock man \
B! more msgs netstat pascal rdist sendbug talk tftp \
B tn3270 tset vgrind vlp window
B
B # Shell scripts that need only be installed and are never removed.
B--- 12,18 ----
B # Programs that live in subdirectories, and have makefiles of their own.
B #
B SUBDIR= Mail compress dbx error ex finger fp ftp indent lock man \
B! more msgs netstat pascal rdist rlogin sendbug talk tftp \
B tn3270 tset vgrind vlp window
B
B # Shell scripts that need only be installed and are never removed.
B***************
B*** 34,40 ****
B
B # Programs that must run setuid to root
B #
B! SETUID= quota rlogin rsh
B
B # Programs that must run set-group-id kmem.
B #
B--- 34,40 ----
B
B # Programs that must run setuid to root
B #
B! SETUID= quota rsh
B
B # Programs that must run set-group-id kmem.
B #
B*** /usr/src/share/me/tmac.e.old Mon Oct 21 20:50:21 1996
B--- /usr/src/share/me/tmac.e Fri Oct 13 19:56:55 2000
B***************
B*** 1045,1051 ****
B .if \n(dw=5 .ds dw Thursday
B .if \n(dw=6 .ds dw Friday
B .if \n(dw=7 .ds dw Saturday
B! .ds td \*(mo \n(dy, 19\n(yr
B .\" *** PARAMETRIC INITIALIZATIONS ***
B .if (1m<0.1i)&(\nx!=0) \
B . vs 9p \" for 12-pitch DTC terminals
B--- 1045,1052 ----
B .if \n(dw=5 .ds dw Thursday
B .if \n(dw=6 .ds dw Friday
B .if \n(dw=7 .ds dw Saturday
B! .nr *y \n(yr+1900
B! .ds td \*(mo \n(dy, \n(*y
B .\" *** PARAMETRIC INITIALIZATIONS ***
B .if (1m<0.1i)&(\nx!=0) \
B . vs 9p \" for 12-pitch DTC terminals
B*** /usr/src/share/tmac/tmac.s.old Mon Oct 21 20:30:44 1996
B--- /usr/src/share/tmac/tmac.s Mon Oct 9 20:37:30 2000
B***************
B*** 934,940 ****
B .if \n(mo-9 .ds MO October
B .if \n(mo-10 .ds MO November
B .if \n(mo-11 .ds MO December
B! .ds DY \*(MO \n(dy, 19\n(yr
B .nr * 0 1
B .IZ
B .em EM
B--- 934,942 ----
B .if \n(mo-9 .ds MO October
B .if \n(mo-10 .ds MO November
B .if \n(mo-11 .ds MO December
B! .nr *y \n(yr+1900
B! .ds DY \*(MO \n(dy, \n(*y
B! .ie
B .nr * 0 1
B .IZ
B .em EM
B*** /usr/src/share/tmac/tmac.an.new.old Thu Oct 31 22:18:00 1996
B--- /usr/src/share/tmac/tmac.an.new Wed Oct 11 23:17:45 2000
B***************
B*** 20,30 ****
B .if "\nm"10" .ds ]m November
B .if "\nm"11" .ds ]m December
B ' # set the date
B .if n \{.nr m \nm+1
B! . ie \nd .ds ]W Modified \nm/\nd/\ny
B! . el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
B! .if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
B! . el .ds ]W \*(]m \n(dy, 19\n(yr\}
B .if t .tr *\(**
B .ie n \{\
B . ds lq \&"\"
B--- 20,35 ----
B .if "\nm"10" .ds ]m November
B .if "\nm"11" .ds ]m December
B ' # set the date
B+ .nr )y \n(yr-100
B+ .ie \n(yr<100 .ds ]Y \n(yr
B+ .el .ds ]Y 0\n()y
B+ '
B+ .nr )Y \n(yr+1900
B .if n \{.nr m \nm+1
B! . ie \nd .ds ]W Modified \nm/\nd/\*(]Y
B! . el .ds ]W Printed \n(mo/\n(dy/\*(]Y\}
B! .if t \{.ie \nd .ds ]W \*(]m \nd, \n()Y
B! . el .ds ]W \*(]m \n(dy, \n()Y\}
B .if t .tr *\(**
B .ie n \{\
B . ds lq \&"\"
B*** /VERSION.old Fri Apr 21 20:38:04 2000
B--- /VERSION Wed May 17 21:02:26 2000
B***************
B*** 1,5 ****
B! Current Patch Level: 431
B! Date: April 21, 2000
B
B 2.11 BSD
B ============
B--- 1,5 ----
B! Current Patch Level: 432
B! Date: May 17, 2000
B
B 2.11 BSD
B ============
SHAR_EOF
chmod 644 '432.patch'
fi
exit 0
# End of shell archive
Does anybody on this list reside in Silicon Valley like myself and have access
to surplus PDP-11 or early Vax hardware? I've gotten a good deal of the
'ancient unix' software going on the Supnik emulator (it's great!), but now
I want to get an actual PDP-11/70 or 11/45 going (perhaps a Vax 11/780 or
11/750).
Yeah, I know the actual power usage for such a beastie averages around 6000W,
but I won't run it all the time. :-)
Lists of hardware suplus places known to carry such stuff greatly appreciated,
but it has to be close. I don't want to get clobbered with a huge shipping
bill.
- Matthew
I should be able to read them, although I admit I am far from Delaware.
Not far from a mailbox, though. I can do raw reads and RT-11 filesystems
from both RX01 and RX02 on my PC, although I tend to simply do raw reads
and use RT or RSX on the Supnik emulator, write a virtual tape, then parse
the tape out with a C routine or Perl script (trivial), to extract files
from PDP FSes. DS/DD shouldn't be an issue, although software interleaving
can be a pain (RX50s have this problem. I've always wondered what the
justification for not putting the correct sector numbers in the address
area of the sector was!).
Sincerely,
Jason T. Miller
Shaffstall Support and Services
------------------------------------------------------------------------
Shaffstall Corporation 317-842-2077 ext. 302
Conversion, Duplication, and Network Services jasomill(a)shaffstall.com