I bought one of Oscar's kits a while back and I just got around to putting
it together. It was kind of neat booting up a straight V6 (it's been a
long time) and playing with those DEC operating systems that I had learned
to hate (Really Sh-ty Timesharing System). I had hoped that someone,
somewhere had a JHU/BRL dist around (well if you do, I'd love to get it).
But since the thing is mostly just a decoration in my office, I just hacked
the idle function in 2.11 BSD to mimic the one that JHU Unix had.
Hi,
I had a disk in my 11/83 that I'd set up for autoboot. The pdp11 would
load block 0, load /boot and happily count down 5 seconds, then continue on
with kernel loading & regular bringing up of the system to multiuser.
That was cool!
So I pulled that disk out and plugged it into my other system with a dual
height 11/73 (this system has same CMD CQD-200 scsi controller) and it gets
to the countdown part and stops! I'm wondering why.
The initial bootblock load is apparently fine and …
[View More]loading and running of
boot is happening.. its just that the countdown stays stuck at five and I
have to hit <cr> to get it to boot (and the rest of the boot sequence is
totally normal).
I had a suspicion that maybe the clock isn't working on the 11/73. Would
that make sense? Maybe boot is actually using a clock somehow? Maybe I
have to check jumpers on the 11/73 to be sure its clock is enabled?
Just thought I'd float the question here in case someone remembers this
oddity before I start digging / "use the source."
thx
jake
[View Less]
There was a recent message I now can't find that I wanted to reply to,
something about which type to use to get a certain effect.
I wanted to reply to say that I felt that it was not really the best way to
go, to have one set of type names that tried to denote both i) the semantics
of the data, and ii) the size of the item, using arbitrary names.
This came up for me when we started to try and write portable networking code.
There, you need to be able to specify very precisely how long fields …
[View More]are
(well, in lower-level protocols, which use non-printable formats). How to do
that in a way that was portable, in the compilers of the day, was a real
struggle. (It might be doable now, but I think the fixes that allowed it were
still just patches to something that had gone in the wrong direction, above.)
I created a series of macros for type definitions, ones that separately and
explicitly specified the semantics and size. They looked like 'xxxy', where
'xxx' was the semantics (signed and unsigned integers, bit field, etc),
and 'y' was a length indication (byte, short, long, and others). So you'd
see things like 'unsb' and 'intl'.
The interesting twist was a couple of unusual length specifiers; among them,
'w' stood for 'the machine's natural word length', and 'f' meant 'no
particular length, just whatever's fastest on this architecture/compiler, and
at least 16 bits'. The former was useful in OSy type code; the latter for
locals and things where nobody outside the machine would see them.
Then you'd have to have a file of macro definitions (only one per machine)
which translated them all into the local architecture/compiler - some didn't
go, of course (no 'unsb' on a PDP-11), but it all worked really, really well,
for many years.
E.g. at one point, as a dare/hack, I said I'd move the MOS operating system, a
version written in portable C (with that type name system) to the AMD 29000
over one night. This wasn't totaly crazy; I'd already gotten the debugger (a
DDT written in similar portable C) to run on the machine, so I knew where the
potholes were. I'd have to write a small amount of machine language (which I
could traslate from the M68K version), but most of it should just compile and
go. I didn't quite make it, it wasn't quite running when people started coming
in the next morning; but IIRC it started to work later that day.
Noel
[View Less]
> Isn't it nonstandard (although I am aware of some compilers that do it) to
> default the type of char to unsigned?
No.
"The implementation shall define char to have the same range,
representation, and behavior as either signed char or unsigned char."
- C99
(Technically it's a separate type from both of them.)
-- Richard
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
Paul Ruizendaal:
Was Chaos networking in use at the labs, or is it just an artifact
present on the surviving tape?
===
I don't recall any use of Chaos in 1127. Possibly one of
the nearby groups who also used the Research system needed
it at some point, perhaps before my time (I arrived in
August 1984).
I certainly don't remember anyone raising objections to
discarding it.
Norman Wilson
Toronto ON
> [A]lthough these days "byte" is synonymous with "8 bits", historically it
> meant "the number of bits needed to store a single character".
It depends upon what you mean by "historically". Originally "byte"
was coined to refer to 8 bit addressable units on the IBM 7030 "Stretch"
computer. The term was perpetuated for the 360 family of computers. Only
later did people begin to attribute the meaning to non-addressable
6- or 9-bit units on 36- and 18-bit machines.
Viewed over history, …
[View More]the latter usage was transient and colloquial.
Doug
[View Less]
I should have checked my 7030 manual before asserting
that the 8-bit byte came from there. The term did,
but it meant an addressable unit of 1 to 8 bits
depending on the instruction being executed.
[The machine was addressable to the bit. It also
had all 16 bitwise logical operators, and
maintained counts of the 1 bits and leading
0 bits in a register. And it was BIG. I saw
one with 17 memory boxes (each essentially
identical with the total memory of a 7090)
stretched across the immaculate …
[View More]hardwood
floor of IBM's Poughkeepsie plant.]
Doug
[View Less]
The surviving 8th edition source has code for Chaos networking included:
https://www.tuhs.org/cgi-bin/utree.pl?file=V8/usr/sys <https://www.tuhs.org/cgi-bin/utree.pl?file=V8/usr/sys>
It does not appear to be included in the man pages.
Was Chaos networking in use at the labs, or is it just an artifact present on the surviving tape?
Related to that, I’m interested in the Chaosnet implementation for 7th edition. Dave Moon's Chaosnet memo includes this intriguing sentence when talking about …
[View More]the V7 implementation: “The NCP is entirely implemented in the kernel as a device driver”.
I could not find that source code in the TUHS archive, nor on Kirk McKusick’s DVD. Does anybody happen to have it?
[View Less]
Discussions today on the TUHS list about the signed/unsigned nature of
the C char type led me to reexamine logs of my feature test package at
http://www.math.utah.edu/pub/features/
I had 170 build logs for it from 2017.11.07, so I moved those aside
and ran another set of builds in our current enlarged test farm. That
generated another 361 fresh builds. Those tests are all with the C
compiler named "cc". I did not explore what other C compilers did,
but I strongly suspect that they all …
[View More]agree on any single platform.
On all but THREE systems, the tests report that "char" is signed, with
CHAR_MAX == +127.
The three outliers have char unsigned with CHAR_MAX == +255, and are
* ARM armv7l Linux 4.13.1 (2017) and 5.6.7 (2020)
* SGI O2 R10000-SC (150 MHz) IRIX 6.5 (2017 and 2020)
* IBM POWER8 CentOS Linux release 7.4.1708 (AltArch) (2017)
So, while the ISO C Standards, and historical practice, leave it
implementation dependent whether char is signed or unsigned, there is
a strong majority for a signed type.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
[View Less]