[TUHS] b remnants?

Gregg Levine gregg.drwho8 at gmail.com
Sun Oct 16 02:41:27 AEST 2011

On Sat, Oct 15, 2011 at 12:14 PM, Jason Stevens
<jsteve at superglobalmegacorp.com> wrote:
> Yep, dungeon runs great on RT-11 ... I've docuemnted the experence here...
> http://virtuallyfun.superglobalmegacorp.com/?p=169
> Building the fortran compiler was... an adventure onto its own, but luckily
> I found some documentation @ bitsavers, and could ask on the PDP11 lists for
> help... I'm amazed it compiled and runs! ..
> Oh and TripOS is the BCPL based OS that ran on all kinds of machines, it was
> very portable, the best known port would be AmigaDOS for the Commodore
> Amiga.  I wonder if it was licensing fees and BCPL/TripOS being based in the
> UK what seperated them from C/Unix... I guess we'd be living in the B++, B#
> and ObjectiveB world if it wasn't for DMR's wonderful world of C .. :)
> -----Original Message-----
> From: Gregg Levine [mailto:gregg.drwho8 at gmail.com]
> Sent: Saturday, October 15, 2011 12:37 AM
> To: tuhs at minnie.tuhs.org
> Cc: Jason Stevens
> Subject: Re: [TUHS] b remnants?
> On Sat, Oct 15, 2011 at 12:20 AM, Jason Stevens
> <jsteve at superglobalmegacorp.com> wrote:
>> Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
>> native executable?
>> I know it's out of left field, but building Dungeon on RT-11, you have to
>> use the treaded compiler, and I assume it was a space thing.. Just as on
>> MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
>> compilers was to compile to p-code..
>> Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
>> attribes the whole interpeted code as O-Code for BCPL ....
>> I wonder if anyone ever did save any TripOS tapes for the PDP-11.....
>> -----Original Message-----
>> From: A. P. Garcia [mailto:a.phillip.garcia at gmail.com]
>> Sent: Friday, October 14, 2011 11:58 PM
>> To: tuhs at minnie.tuhs.org
>> Subject: Re: [TUHS] b remnants?
>> On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
>> <a.phillip.garcia at gmail.com> wrote:
>>> In memoriam, I read The Development of the C Language:
>>> http://cm.bell-labs.com/who/dmr/chist.html
>>> It talks a bit about how B was originally implemented somewhat like
>>> ETH Pascal (p-code). Are there any B interpreters or programs in the
>>> archive?
>> What intrigued me about this is that it's such an early example of an
>> abstract machine running as an interpreter. BCPL, roughly
>> contemporaneous, used ocode as an intermediate language, but it seems
>> this was intended to be further translated into assembly. While it's
>> possible to interpret ocode, in practice it seems this was rare, if it
>> was done at all. Almost everything I've read about abstract/vitual
>> machines traces its roots back to the following source:
>> James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
>> 370-372. DOI=10.1145/362248.362270
>> http://doi.acm.org/10.1145/362248.362270
>> Here's where dmr mentions implementing B using this technique:
>> The B compiler on the PDP-7 did not generate machine instructions, but
>> instead `threaded code' [Bell 72], an interpretive scheme in which the
>> compiler's output consists of a sequence of addresses of code
>> fragments that perform the elementary operations. The operations
>> typically-in particular for B-act on a simple stack machine.
>> Note he says it was published in 1972, when it actually appeared in
>> print in 1973 (same page numbers). Two paragraphs later he writes:
>> By 1970, the Unix project had shown enough promise that we were able
>> to acquire the new DEC PDP-11. The processor was among the first of
>> its line delivered by DEC, and three months passed before its disk
>> arrived. Making B programs run on it using the threaded technique
>> required only writing the code fragments for the operators, and a
>> simple assembler which I coded in B; ; soon, dc became the first
>> interesting program to be tested, before any operating system, on our
>> PDP-11. Almost as rapidly, still waiting for the disk, Thompson
>> recoded the Unix kernel and some basic commands in PDP-11 assembly
>> language. Of the 24K bytes of memory on the machine, the earliest
>> PDP-11 Unix system used 12K bytes for the operating system, a tiny
>> space for user programs, and the remainder as a RAM disk. This version
>> was only for testing, not for real work; the machine marked time by
>> enumerating closed knight's tours on chess boards of various sizes.
>> Once its disk appeared, we quickly migrated to it after
>> transliterating assembly-language commands to the PDP-11 dialect, and
>> porting those already in B.
>> The abstract machine is also mentioned in Thompson's "Users' Reference
>> to B", dated January 7, 1972. If the 1970 date is correct, they were
>> using this technique some three years before most of the computing
>> world knew about it!?
> Hello!
> This discussion is beginning to strike a heck of a lot of chords.
> Jason what is this TripOS you are describing here about? And did you
> actually get Dungeon to work?
> -----
> Gregg C Levine gregg.drwho8 at gmail.com
> "This signature fought the Time Wars, time and again."

Well as it happens I looked up BCPL via Google and got this Wikipedia page:
http://en.wikipedia.org/wiki/BCPL That one lead to this one:
http://en.wikipedia.org/wiki/TX-2 which of course goes here:
http://en.wikipedia.org/wiki/TX-0 that one mentions how the PDP-1 came
about. The TX-0 is the direct ancestor to the PDP-1.

With today's FPGA technology someone should revive the TX-0 and the
TX-1 that way......

Gregg C Levine gregg.drwho8 at gmail.com
"This signature fought the Time Wars, time and again."

More information about the TUHS mailing list