Thread overview
TOPS-10 Empire, "porting" notes
Oct 04, 2015
Martin Harriman
Nov 08, 2015
Dan Olson
Nov 20, 2015
Walter Bright
October 04, 2015
I'm happily running Empire under TOPS-10 on my laptop. The Github source packages is almost sufficient as is, but for the benefit of anyone wanting to repeat this, here's what had to change to get Empire up on TOPS-10 7.04.

As others have noted, there are a few subroutines and functions missing, most likely because they were part of Caltech's infrastructure (Caltech added a fair amount of secret sauce back when the mighty PDP-10 was the hot thing, and there was such a thing as the DSKE committee). These are all trivial to reimplement (most simply package a monitor call for Fortran's benefit). The sources, as is, have trailing blank lines and a . (TOPS-10 prompt), so the prompt at least must be trimmed to make the compiler happy. Since xterm/telnet/Terminal/thing-of-choice these days are ANSI (VT-100-ish), it's simplest to replace CURSOR with an ANSI equivalent. Similarly, it's simplest to intercept calls to OUTCHR with the non-ANSI clear-the-screen character and send the ANSI equivalent in its place.

Fortran V11 blows compiler-error chunks on Empire, but Fortran V6 is perfectly happy with it.

For my own lazy benefit, I convert all input to upper case.

November 08, 2015
Martin Harriman <postmaster@nothing.here.local> writes:

> I'm happily running Empire under TOPS-10 on my laptop. The Github source packages is almost sufficient as is, but for the benefit of anyone wanting to repeat this, here's what had to change to get Empire up on TOPS-10 7.04.
>
> As others have noted, there are a few subroutines and functions missing, most likely because they were part of Caltech's infrastructure (Caltech added a fair amount of secret sauce back when the mighty PDP-10 was the hot thing, and there was such a thing as the DSKE committee). These are all trivial to reimplement (most simply package a monitor call for Fortran's benefit). The sources, as is, have trailing blank lines and a . (TOPS-10 prompt), so the prompt at least must be trimmed to make the compiler happy. Since xterm/telnet/Terminal/thing-of-choice these days are ANSI (VT-100-ish), it's simplest to replace CURSOR with an ANSI equivalent. Similarly, it's simplest to intercept calls to OUTCHR with the non-ANSI clear-the-screen character and send the ANSI equivalent in its place.
>
> Fortran V11 blows compiler-error chunks on Empire, but Fortran V6 is perfectly happy with it.
>
> For my own lazy benefit, I convert all input to upper case.

Cool. Did you also work on a TOPS-10 system in your past?

I did something similar a couple years ago but instead updated some of the fortran sources to work with DEC's FORTRAN-10 and rewrote assembler MACRO routines, I think to use ANSI cursor movement like you did. The goal was to run it on a real DEC-10. I compiled and tested in a sim because the real machine had very little real disk space, then kermited the binaries to the real hardware. It ended having a different release of the FORTRAN-10 libraries in my sim, then I lost interest, or rather traded my interest to the D-language.

The map files were missing I think?  Did you generate those?  Anyway, you have rekindled my desire to get empire running on the real h/w.
-- 
Dan
November 20, 2015
On 10/4/2015 11:31 AM, Martin Harriman wrote:
> I'm happily running Empire under TOPS-10 on my laptop. The Github source
> packages is almost sufficient as is, but for the benefit of anyone wanting to
> repeat this, here's what had to change to get Empire up on TOPS-10 7.04.
>
> As others have noted, there are a few subroutines and functions missing, most
> likely because they were part of Caltech's infrastructure (Caltech added a fair
> amount of secret sauce back when the mighty PDP-10 was the hot thing, and there
> was such a thing as the DSKE committee). These are all trivial to reimplement
> (most simply package a monitor call for Fortran's benefit). The sources, as is,
> have trailing blank lines and a . (TOPS-10 prompt), so the prompt at least must
> be trimmed to make the compiler happy. Since
> xterm/telnet/Terminal/thing-of-choice these days are ANSI (VT-100-ish), it's
> simplest to replace CURSOR with an ANSI equivalent. Similarly, it's simplest to
> intercept calls to OUTCHR with the non-ANSI clear-the-screen character and send
> the ANSI equivalent in its place.
>
> Fortran V11 blows compiler-error chunks on Empire, but Fortran V6 is perfectly
> happy with it.
>
> For my own lazy benefit, I convert all input to upper case.
>

You can submit pull requests, ya know!

The bit about the trailing blank lines and '.' surely comes about from the way I got the files off of the 10. I connected via the phone to the 10, running a program on an LSI-11 which captured the text of the 'type' command, and saved it to an 8" floppy. I later used the same technique to transfer it to an IBM PC and a 5.25" floppy, and thence to a CD, and finally to github. I suppose it is amazing it survived all that.

I did have a listing of it as a backup.

I also had everything archived to a magtape, but the Caltech tape drive was so out of spec that no other drive could read it. I threw the tape in the trash.