On Thu, Dec 3, 2020 at 6:13 PM Kevin Jordan via cctalk <
cctalk at classiccmp.org> wrote:
Hi everyone,
The Nostalgic Computing Center <http://www.nostalgiccomputing.org/> has a
virtual PDP-8 running TSS/8
<
http://www.nostalgiccomputing.org:8080/aterm.html?m=pdp8&t=PDP-8&r=…
in its collection. We use the SIMH PDP-8e
emulator to support the machine,
and we recently updated the machine to run the TSS/8 distribution created
by LCM+L, found here on GitHub
<https://github.com/livingcomputermuseum/cpus-pdp8>. The LCM+L
distribution
is slightly different from other TSS/8 distributions available on the web
in that it provides some additional goodies such as ALGOL and LISP.
The NCC demonstrates how various classic computers worked by providing
automated scripts that interact with the machines in the collection.
For example, to demonstrate each of the programming languages supported by
a machine, scripts are provided to create, compile, and run a simple
Fibonacci sequence generator. We've done this for the TSS/8 system, but the
scripts aren't working for FORTRAN or ALGOL, and we're wondering if anyone
on this list might know why.
Specifically, in the case of FORTRAN, the compiler exits with an error code
6204. This occurs even when trying to compile trivial "hello world"
programs, and it appears to occur in all other TSS/8 distributions we've
tried as well (i.e., this particular problem is not unique to the LCM+L
distribution). We haven't found error code 6204 specifically documented in
the TSS/8 user/admin manuals, but the manuals do document other error codes
in the 62xx range. Documented error codes in the 62xx range appear to
reflect file I/O errors, so we're wondering if perhaps one of the files
supporting the FORTRAN compiler is corrupt in all of these distributions.
The LCM+L variant is built starting from the same disk image as all the
other TSS/8 systems out there (which was originally taken from John
Wilson's TSS/8 system). I extended the filesystem to a full megaword (the
maximum supported by TSS/8) for the RK05 image.
I suspect you may be right that FORTRAN is corrupted, I'll take a look this
weekend. I'll admit to not having played with it; though I did test out
everything else.
For example, here is a transcription of a simple session demonstrating the
problem:
<snip>
Note that BASIC, FOCAL, and LISP all seem to run very nicely on the
machine.
The problem we're experiencing with ALGOL appears to be a glaring compiler
bug, but the compiler was distributed widely through DECUS, and it is
difficult to imagine that it would have been released with an obvious bug,
I don't know if that's an accurate statement. Have you looked at Appendix
E of the manual? There are a ton of errata there. For example, on page
E-2:
"Boolean operator 'AND' does not function properly at all times for example:
T = true
F = false
T 'AND' T -> T Correct
T 'AND' F -> T Wrong, should be F
F 'AND' T -> T Wrong, should be F"
The TSS/8 version of ALGOL fixes this bug but there are others. A friend
of mine recently spent an evening trying to get a small ALGOL program to
compile and run on my online TSS/8 system and failed utterly; after a lot
of effort it finally compiles, but produces no output when run and we're
both pretty stumped about it. We suspect that this compiler just has a lot
of bugs.
Note also that Appendix E (page E-1) suggests that ALL 'END' statements be
followed by a ";". This seemed to help at least with getting the compiler
to stop giving us errors. Note that despite this suggestion, the examples
in Appendix E fail to follow this guideline.
- Josh