I have attached the extracted e-pi and dmr tapes. While calculating e and pi is certainly interesting (ken will be able to say something about that), what I found particularly cool are the unused block after the e-pi tape! They contain a bunch of binaries, some of which I was able to identify, see the e-pi_salvaged directory. While trying to restore these files I made some observations: - the programs written in B were compiled with a newer compiler than the files from the s2 tape. In particular they have the strings at the end of the respective object file and not inline where they appear (not in the .data section however) - the B shell script mentioned in the man page that runs bc and ba is in there - the man shell script is in there - su has a different password (^S^Y^S) - mail uses the file 'mbox' not 'mail', consistent with a change in the manual from v1 to v2 - some programs appeared to be written in a threaded code similar to B: echo, size, fc The last point was of course most fascinating to me. So I disassembled the echo binary and found something I would have never expected to find: a C-like language compiled to threaded code. My immediate guess was that this must be NB, mentioned in dmr's c history paper [1], however ken said that NB was always compiled and that dmr first developed it on the honeywell mainframe. Now dmr himself in that same paper said one main difference between NB and early C was the way that vectors/arrays were handled, but this is clearly not the case because the last1120c compiler treats arrays the same way as B does. My point is that what exactly NB was seems to be a bit uncertain. What we actually have is: B implemented in threaded code a C-like language with byte types implemented in threaded code C implemented in machine code My personal theory is that this intermediate step is exactly what NB is. Of course dmr also developed a machine code generator for B on the honeywell machine, even if it is lost. But how that relates to NB and the PDP-11 exactly I cannot say, so take all that with a grain of salt. I hope the people who were there and can say more will say something about this :) In any case we have this (to me) totally surprising intermediate step between B and C. I have put some (sloppily commented) disassembled and/or restored files here [2]. What's very cool is that the dmr tape has a file fc.b, which is clearly not written in B! My guess is that compiled it will match the fc binary more or less exactly (I haven't decompiled this one yet). Also of great interest in this context is the cgd directory on the dmr tape. I'm not sure how finished this program actually is (I suspect it is not), but it claims to be a fortran code generator and it has a structure quite similar to the second pass of the C compiler, with a difference: The C compiler builds a tree for every expression in the first pass and dumps that into a file to be picked up by the second pass. This program builds the tree in the second pass. Interestingly this is much like I think the B assembler (ba) would have worked. Cheers, Angelo [1] https://www.bell-labs.com/usr/dmr/www/chist.html [2] http://squoze.net/NB/