From: hachti Date: Sat, 18 Nov 2006 02:12:34 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://gitweb.hachti.de/?a=commitdiff_plain;h=70896a91a15781c49bce37b0101466c83c51dd24;p=h316.git *** empty log message *** --- diff --git a/pc-tools/ldc2/doc/Makefile b/pc-tools/ldc2/doc/Makefile new file mode 100644 index 0000000..22eb7ce --- /dev/null +++ b/pc-tools/ldc2/doc/Makefile @@ -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 index 0000000..c043177 --- /dev/null +++ b/pc-tools/ldc2/doc/appendix.tex @@ -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 index 0000000..e72446c --- /dev/null +++ b/pc-tools/ldc2/doc/body.tex @@ -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 index 0000000..007a0a8 --- /dev/null +++ b/pc-tools/ldc2/doc/cover.tex @@ -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 index 0000000..7166117 --- /dev/null +++ b/pc-tools/ldc2/doc/impl_spec.tex @@ -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 index 0000000..c5ce904 --- /dev/null +++ b/pc-tools/ldc2/doc/intro.tex @@ -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 index 0000000..959b93d --- /dev/null +++ b/pc-tools/ldc2/doc/literature.bib @@ -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 index 0000000..e39d480 --- /dev/null +++ b/pc-tools/ldc2/doc/main.tex @@ -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 index 0000000..b387a01 --- /dev/null +++ b/pc-tools/ldc2/doc/req_spec.tex @@ -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 index 0000000..468368d --- /dev/null +++ b/pc-tools/ldc2/doc/test_spec.tex @@ -0,0 +1,2 @@ +\section{Test Specification} +--- nothing yet --- \ No newline at end of file