digitalmars.empire - TOPS-10 Empire, "porting" notes
- Martin Harriman (20/20) Oct 04 2015 I'm happily running Empire under TOPS-10 on my laptop. The Github
- Dan Olson (14/34) Nov 08 2015 Cool. Did you also work on a TOPS-10 system in your past?
- Walter Bright (11/28) Nov 20 2015 You can submit pull requests, ya know!
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.
Oct 04 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
Nov 08 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.
Nov 20 2015