[Unix-jun72] I recovered 100% of the s1 src code fragments

Doug Merritt doug at remarque.org
Mon May 12 14:24:52 AEST 2008


Tim Newsham ...newsham at lava.net... wrote:
> I look forward to seeing what shell sources we might get from the s1
> fragments recovery.

Sorry I didn't explicitly say before, when I showed the directory
listing, but alas, the s1 disk image only contains (some!) of the
source files named [a-l]*, and so all [m-z]* commands, and in
particular sh.s is explicitly not part of the s1 bits. :-(

I have been hoping to recreate it (and other source files) via
disassembly + human polishing of the s2 binaries.

Warren Toomey ...wkt at tuhs.org... wrote:
> Where can we get your reassembled fragments?!

I'll post it soon, although I think others should do some verification
before it is checked in anywhere. My methods were sufficiently
ad hoc as to be inherently error-prone, despite my attempted care to
attain correct results.

I'm preparing some notes on the Reconstructive Software Archaeology
effort we're involved in. Reconstructive Archaeology is an existing
field, but Reconstructive Software Archaeology gets zero google hits,
and "Software Archaeology" is somewhat widely used, but entirely
metaphorically and/or humorously, so perhaps I've coined a new term.

Whether or no, terminology aside, I think the activity is very
important, and will increase over time. We're doing something of
long-term importance.

Warren Toomey wrote:
> I'm glad I don't have to rebuild the s1 fragments :) Thanks!

Welcome. :-)

Warren Toomey wrote:
> which means that we do have "ed" in assembly format, and given that Doug
> found "ed3.s", we have a basis for comparison, which means we might be
> able to revert 5e ed1.s and ed2.s back to what runs on the 1st Edition kernel.

Actually I mispoke before. Frag0 has 1/3 of ed2.s, and I do have
a version of ed2.s reconstructed 1/3 from frag0 and 2/3 from
v5 ed2.s. Diffing frag0 with v5 ed2.s shows some changes to be
trivial, e.g. optimizing multiple arithmetic ops to a mem location
that gets loaded to a register,  into a register load followed by
arith ops to the register. I.e. they seem pretty similar.

Brantley Coile ...brantley at coraid.com... wrote:
> With the 'b' command, you'll never miss vi.  Much.

I do know ed, ex, and vi, but I don't remember 'b'/browse, and
brief googling doesn't turn it up. What's this?

(I also tried it with FreeBSD "ed" which, whatever its heritage,
is not the same as FreeBSD "ex", and that "ed" said "?" to both
"b" and to "browse". Are you talking about some kind of extension,
or what?)
	Doug
--
Professional Wild-eyed Visionary        Member, Crusaders for a Better Tomorrow



More information about the TUHS mailing list