Problems with FORT and ALGOL in TSS/8

Josh Dersch derschjo at gmail.com
Thu Dec 3 23:38:56 CST 2020


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=24&c=80
> >
> 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


More information about the cctech mailing list