Restoring the Restored Simulator

I created many new artifacts in the process of restoring an old assembly language program. These included details of the machine architecture and common programming patterns within that architecture. Here I consider how the original program and the newer artifacts can be restored into a dramatically evolved web.

See PDP-8 Simulator Explained for the first restoration.

Survey

We begin by surveying the assets created in the first restoration. These are all static html or image files in a single directory. A longish command partitions these by name conventions.

(echo gifs; ls -lh | grep -v .html; echo inst; ls -lh *-inst.html; echo elide; ls -lh *-elide.html; echo registers; ls -lh | egrep '[abx][0-7]'; echo patterns; ls -lh | egrep ' 1998 [A-Z]'; echo remainder; ls -lh *.html | grep -v inst | grep -v elide | egrep -v '[abx][0-7]' | egrep -v '1998 [A-Z]') | perl -pe 's/.*ward ward//'

Our strategy here was to recognize a pattern. List fines matching that pattern. And list all files that don't yet match a recognized pattern.

Files

Image files comprise everything that is not html. Exception: the old directory contains earlier versions.

3.7K Nov 9 1998 asr33.gif 7.6K Mar 2 2002 asr33.jpg 139K Jun 7 2001 autoindexing.jpg 791 Nov 5 1998 c2.gif 11K Nov 11 1998 fetch1.gif 14K Nov 11 1998 fetch2b.gif 3.8K Nov 5 1998 fetch.gif 2.4K Nov 6 1998 gp1.gif 2.2K Nov 6 1998 gp2.gif 4.0K Jun 16 2003 old 790 Nov 10 1998 pattern.gif 1.6K Nov 12 1998 x2.gif 13K Nov 10 1998 x2.jpg

Instruction files explain the CDC 6000 instruction set. These are linked from opcodes at the first occurrence.

1.7K May 1 1999 add-inst.html 1.8K Nov 19 1998 bool-inst.html 15K Nov 19 1998 Copy of temp-inst.html 1.2K Nov 19 1998 jump-inst.html 993 Nov 19 1998 mask-inst.html 1.5K Nov 19 1998 mult-inst.html 4.8K Nov 19 1998 set-inst.html 1.5K Nov 19 1998 shift-inst.html 15K Nov 19 1998 temp-inst.html 2.3K Nov 19 1998 test-inst.html

The program used fixed allocations of CDC 6000 machine registers. These register conventions are explained in files named after the registers.

1.7K Nov 12 1998 a1b6.html 763 Nov 12 1998 b1.html 1002 Nov 12 1998 b2.html 936 Nov 12 1998 x0.html 1.6K Nov 12 1998 x2.gif 775 Nov 12 1998 x2.html 13K Nov 10 1998 x2.jpg 774 Nov 12 1998 x3.html 771 Nov 12 1998 x4.html 768 Nov 12 1998 x5.html 907 Nov 12 1998 x7.html

Some code is considered uninteresting and has been elided from the restored listing. A note as such links to these files.

3.2K Nov 12 1998 100-elide.html 911 Nov 12 1998 106-elide.html 1.9K Nov 12 1998 202-elide.html 1.3K Nov 12 1998 404-elide.html 1.5K Nov 12 1998 gp1.6-elide.html 1.9K Nov 10 1998 int1-elide.html 1.4K Nov 12 1998 int5-elide.html 1.9K Nov 12 1998 opr-elide.html 2.7K Nov 12 1998 ral-elide.html

Marginal notes called out coding patterns where they were applied. Here we went out of our way to use the pattern form to explain what might not be obvious from inspection of the source.

1.7K Nov 12 1998 BlockBuffering.html 1.5K Nov 16 1998 BooleanCondition.html 1.7K Nov 12 1998 CommandLoop.html 1.5K Nov 12 1998 CompoundDispatch.html 15K Nov 19 1998 Copy of temp-inst.html 976 Nov 10 1998 ErrorHandler.html 2.1K Nov 12 1998 Fetch-Execute.html 2.4K Nov 12 1998 JumpTable.html 2.1K Nov 12 1998 ProgressiveRotate.html 1.5K Nov 12 1998 SkipChain.html 1.6K Nov 12 1998 TailSharing.html

The remaining files include two versions of the main page, an unfinished paper, and some other explanatory and organizational descriptions.

3.1K Nov 12 1998 fetch.html 46K Jun 16 2003 index.html 8.8K Apr 22 2001 paper.html 45K Nov 12 1998 pdp8sim.html 2.5K Nov 12 1998 registers.html 3.9K Nov 12 1998 resreg.html 3.8K Nov 12 1998 savreg.html 3.2K Nov 12 1998 store.html

Observations

There are 46 html files, all of which carry the same generator meta tag. This is consistent with my own memory of specifically using this tool rather than editing html by hand. This might simplify mechanical translation.

<META NAME="GENERATOR" CONTENT="Mozilla/4.05 [en] (Win95; U) [Netscape]">