*** empty log message ***
authorhachti <hachti>
Sat, 18 Nov 2006 02:12:34 +0000 (02:12 +0000)
committerhachti <hachti>
Sat, 18 Nov 2006 02:12:34 +0000 (02:12 +0000)
pc-tools/ldc2/doc/Makefile [new file with mode: 0644]
pc-tools/ldc2/doc/appendix.tex [new file with mode: 0644]
pc-tools/ldc2/doc/body.tex [new file with mode: 0644]
pc-tools/ldc2/doc/cover.tex [new file with mode: 0644]
pc-tools/ldc2/doc/impl_spec.tex [new file with mode: 0644]
pc-tools/ldc2/doc/intro.tex [new file with mode: 0644]
pc-tools/ldc2/doc/literature.bib [new file with mode: 0644]
pc-tools/ldc2/doc/main.tex [new file with mode: 0644]
pc-tools/ldc2/doc/req_spec.tex [new file with mode: 0644]
pc-tools/ldc2/doc/test_spec.tex [new file with mode: 0644]

diff --git a/pc-tools/ldc2/doc/Makefile b/pc-tools/ldc2/doc/Makefile
new file mode 100644 (file)
index 0000000..22eb7ce
--- /dev/null
@@ -0,0 +1,19 @@
+all: ldc2.pdf
+
+ldc2.pdf: main.ps
+       ps2pdf  main.ps $@
+
+main.ps: main.dvi
+       dvips -o main.ps main.dvi
+
+main.dvi: *.tex *.bib
+       latex main.tex 
+       bibtex main    
+       latex main.tex 
+       latex main.tex 
+
+.eps.gnu:
+       cat ps.gnu $< | gnuplot > $@ 
+
+clean:
+       rm -f *.dvi *.ps *.pdf *.toc *~ *.log *.aux *.bbl *.blg *.lof *.lot
diff --git a/pc-tools/ldc2/doc/appendix.tex b/pc-tools/ldc2/doc/appendix.tex
new file mode 100644 (file)
index 0000000..c043177
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Appendix}
+% \clearpage
+% \addcontentsline{toc}{section}{dddde}
+\bibliography{literature}
+The mentioned Honeywell documents can be found on 
+\verb|http://www.series16.adrianwise.co.uk|.
+
+\newpage
+\listoftables
+\listoffigures
diff --git a/pc-tools/ldc2/doc/body.tex b/pc-tools/ldc2/doc/body.tex
new file mode 100644 (file)
index 0000000..e72446c
--- /dev/null
@@ -0,0 +1,24 @@
+\newcommand{\pname}{ \emph{LDC2} }
+
+\input intro
+\newpage
+\input req_spec
+\newpage
+\input impl_spec
+\newpage
+\input test_spec
+\newpage
+\input appendix
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pc-tools/ldc2/doc/cover.tex b/pc-tools/ldc2/doc/cover.tex
new file mode 100644 (file)
index 0000000..007a0a8
--- /dev/null
@@ -0,0 +1,22 @@
+{
+\tt
+\begin{center}
+\small Hochschule Bremen, Fachbereich 4: Elektrotechnik und Informatik\\
+\vspace{1.5cm}
+\Large -- Projektbericht --\\
+\vspace{5cm}
+
+\Huge {\tt  $\star$\hspace{0.5cm}LDC2\footnote{Name may be subject of change}\hspace{0.5cm}$\star$}\\
+\vspace{1cm}
+\large  Honeywell Series 16\\
+Object Program Analysis Tool\\
+
+\vspace{3cm}
+\large Philipp Hachtmann, Mat.-Nr. 124370 \\
+\vspace{3.5cm}
+\normalsize Labor Softwaretechnik 2\\
+Prof. Andreas Spillner\\
+\vspace{3cm}
+\small Wintersemester 2006/2007\\
+\end{center}
+}
\ No newline at end of file
diff --git a/pc-tools/ldc2/doc/impl_spec.tex b/pc-tools/ldc2/doc/impl_spec.tex
new file mode 100644 (file)
index 0000000..7166117
--- /dev/null
@@ -0,0 +1,2 @@
+\section{Implementation Specification}
+--- nothing yet ---
diff --git a/pc-tools/ldc2/doc/intro.tex b/pc-tools/ldc2/doc/intro.tex
new file mode 100644 (file)
index 0000000..c5ce904
--- /dev/null
@@ -0,0 +1,64 @@
+\section{Introduction}
+\subsection{Motivation}
+Software for the Honeywell Series 16 minicomputers is very rare today,
+most of the software ever written for them seems to be lost. But some 
+of it still exists --- spread over the world in dusty boxes on attics or in 
+cellars, on software preservation websites and on collectors' harddisks.\\
+The software is stored on punched paper tapes or in disk files containing images
+of paper tapes.\\
+Often enough the tape labels (resp. file names) are way too vague to exactly 
+identify and understand the contents of a tape.\\
+Back in the
+times when the Series 16 machines were still in use, everybody knew
+\emph{his} paper tapes' contents and \emph{his} programs' library dependencies.
+Everybody had an I/O library for \emph{his} computer's configuration.\\
+Nowadays we have only the remains of all that: many object and library tapes 
+with sometimes obscure names written on it.\\
+We can neither verify the correctness of the data on the tapes nor
+get any information about a tape's exact contents, exported symbols, 
+and dependencies.\\
+So there is a need for the collector to verify, analyze, sort, split, and
+recombine his paper tape software.\\
+The \pname program provides a handy approach to
+help doing this using a newer computer with an UNIX style operating system, 
+disk drives, and some kind of paper tape reading facility.
+
+\subsection{The Technical Background}
+The Honeywell Series 16 assembly program DAP-16 \cite{ser16:dap16:manual} 
+and the FOTRAN IV compiler program \cite{ser16:frtn:manual} 
+read source code from punched paper tape and translate it into relocatable
+object code which is then punched out on paper tape again. 
+See \cite{ser16:progref} for operation details.\\
+The object data is organized in blocks of variable layout and length consisting 
+of 16 bit wide native machine words. The block format is described 
+in \cite{ser16:progref}, pages 5-21ff. \\
+To store the object blocks on punched paper tapes, each word in the block is 
+divided into three parts: the first one is 4 bits wide, the second and 
+third one are 6 bits wide.\\
+Each frame is now translated so that the resulting paper tape frames don't
+contain any printable or control characters. Then the block is enclosed by
+control characters and sent out to the paper tape punch device.\\
+The resulting ''silent 4/6/6 code'' can be easily processed by the ASR 33
+printing terminal. It is even possible to mix listing and object code
+on one tape because the text between the silent data blocks is 
+ignored by the loader.\\
+See \cite{ddp516:users_guide}, page 10-1ff for more information about this 
+concept, but be aware that the translation table in the document contains 
+\emph{severe} errors.\\
+
+\subsection{Functional Overview}
+\pname is a program which is capable of analyzing object tapes.\\
+It reads in the data from a file or a serial line, retranslates 
+the mangled characters, and reassembles the data blocks into an internal
+representation.\\
+The block checksum is checked immediately after a 
+block has been read in. This provides for immediate error reporting and 
+handling. One input data error handling possibility is to immediately
+stop a tape reader connected to a serial port so that the user has a clue
+where to look for faulty regions on the paper tape. This is very useful
+when reading in last existing copies of old software.\\
+After the error-free blocks are present in the program's memory, it is
+possible to do various operations on it. Examples are extracting and
+listing of symbol names, split up the data of a library into several files
+or even reverse assembly and relocating into a virtual Series 16 main memory 
+(not in the base variant of the program).
diff --git a/pc-tools/ldc2/doc/literature.bib b/pc-tools/ldc2/doc/literature.bib
new file mode 100644 (file)
index 0000000..959b93d
--- /dev/null
@@ -0,0 +1,76 @@
+@article{lin1973,
+  author =      "Shen Lin and Brian W. Kernighan",
+  title =       "An Effective Heuristic Algorithm for the
+                  Travelling-Salesman Problem",
+  journal =     "Operations Research",
+  volume =      21,
+  year =        1973,
+  pages =       "498-516"
+}
+
+@string{hon_organization="Honeywell"}
+@string{hdoc="Doc. No."}
+string{hon_author=""}
+
+@InBook{ser16:progref:bformats,
+  title =       "Object Program Format",
+  crossref="ser16:progref",
+  month="",
+  year="",
+  note="",
+  chapter =     5,
+  pages =       "21-27",
+}
+
+@Manual{ser16:progref,
+  title =       "316/516 Programmers' Reference Manual",
+  author =      hon_author,
+  organization = hon_organization,
+  month =       may,
+  year =        1969,
+  note =        hdoc # "130071585C"
+}
+
+@Manual{ddp516:users_guide,
+  title =       "DDP-516 Users Guide",
+  author =      hon_author,
+  organization = hon_organization,
+  month =       mar,
+  year =        1967,
+  note =        hdoc # "130071627",
+}
+
+@Manual{ser16:dap16:manual,
+  title =       "DAP-16 and DAP-16 MOD 2 Assembly Language Reference
+                  Manual",
+  author =      hon_author,
+  organization = hon_organization,
+  month =       Jun,
+  year =        1971,
+  note =        hdoc # "70130072442B",
+}
+
+@Manual{ser16:dap16:src,
+  title =       "DAP-16 Source Code Listing",
+  author =      hon_author,
+  organization = hon_organization,
+  note =        hdoc # "xxx"
+}
+
+@Manual{ser16:ldr-apm:src,
+  title =       "LDR-APM Relocating Link-Loader Source Code Listing",
+  author =      hon_author,
+  organization = hon_organization,
+  annote =      hdoc # "xxx"
+}
+
+@Manual{ser16:frtn:manual,
+  title =       "FORTRAN IV manual",
+  key =                 "f4m",
+  author =      hon_author,
+  organization = hon_organization,
+  month =       apr,
+  year =        1977,
+  note =        hdoc # "70130071364A"
+}
+
diff --git a/pc-tools/ldc2/doc/main.tex b/pc-tools/ldc2/doc/main.tex
new file mode 100644 (file)
index 0000000..e39d480
--- /dev/null
@@ -0,0 +1,26 @@
+\documentclass{article}
+\usepackage{a4wide}
+\usepackage[latin1]{inputenc}
+% \usepackage[german]{babel}
+\usepackage{graphics}
+\begin{document}
+\bibliographystyle{unsrt}
+
+\sffamily
+\pagestyle{empty}
+\pagenumbering{roman}
+
+\input cover
+
+\newpage
+\pagestyle{plain}
+\tableofcontents
+\newpage
+
+\pagestyle{plain}
+\pagenumbering{arabic}
+% plain für unten, empty für leer
+
+\input{body}
+
+\end{document}
\ No newline at end of file
diff --git a/pc-tools/ldc2/doc/req_spec.tex b/pc-tools/ldc2/doc/req_spec.tex
new file mode 100644 (file)
index 0000000..b387a01
--- /dev/null
@@ -0,0 +1,2 @@
+\section{Requirements Specification}
+What do we require?
\ No newline at end of file
diff --git a/pc-tools/ldc2/doc/test_spec.tex b/pc-tools/ldc2/doc/test_spec.tex
new file mode 100644 (file)
index 0000000..468368d
--- /dev/null
@@ -0,0 +1,2 @@
+\section{Test Specification}
+--- nothing yet ---
\ No newline at end of file