On Thu, Dec 3, 2020 at 6:13 PM Kevin Jordan via cctalk < cctalk@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