Difference between revisions of "Talk:TREK7"

From Computer History Wiki
Jump to: navigation, search
(Comments: Thanks; it's been a while since I read that!)
(Comments: Yes, it's there)
 
Line 41: Line 41:
 
:: I retain this persistent impression that I saw it somewhere else - in part because I have this very vague memory that I read it early on, before this would have come out. Eh, not important.
 
:: I retain this persistent impression that I saw it somewhere else - in part because I have this very vague memory that I read it early on, before this would have come out. Eh, not important.
 
:: The guy who did the [[TENEX]] port to the KI10 had a very good paper about all that history; I'll have to make sure it's in the EL there. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 13:09, 5 April 2023 (CEST)
 
:: The guy who did the [[TENEX]] port to the KI10 had a very good paper about all that history; I'll have to make sure it's in the EL there. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 13:09, 5 April 2023 (CEST)
 +
 +
:: Yes, it is. I should probably check to make sure "Life in the fast AC's" is on the [[TOPS-10]] page. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]])
  
 
I wish someone would counter-check my comments on the TREK7 sources and add (at least some of) the ones still missing. [[User:Vaxorcist|Vaxorcist]] ([[User talk:Vaxorcist|talk]]) 09:20, 26 March 2023 (CEST)
 
I wish someone would counter-check my comments on the TREK7 sources and add (at least some of) the ones still missing. [[User:Vaxorcist|Vaxorcist]] ([[User talk:Vaxorcist|talk]]) 09:20, 26 March 2023 (CEST)

Latest revision as of 13:48, 5 April 2023

Divide by zero bug

The article mentions an "obstinate ... 'divide by zero' problem that has been plaguing the code for decades hindering any successful game". Curiousity is piqued - what was the bug, what were the circumstances that provoked it, and what were the results when it was? (I'm assuming a fatal total failure, for the latter?) It sounds like the code most have been subtracting one quantity from another, and using the difference to divide something - without checking to see if the difference was 0? Jnc (talk) 22:06, 25 March 2023 (CET)


That's what happened:

%SYSTEM-F-FLTDIV_F, arithmetic fault, floating divide by zero at PC=0001060C, PS L=03C00024
%TRACE-F-TRACEBACK, symbolic stack dump follows
 
module name     routine name     line   relative PC  absolute PC

                HORTA              21      0000012C     0001060C
                ATACK              59      00000280     0001A600
                FOR$MAIN          321      00000D3D     0001013D

and the FORTRAN line causing it was:

SINA=FLOAT(ITAR-ISTR)/X

As a first step I put in the line:

IF(X.EQ.0)X=0.1

just before the division takes place to stop division by zero, but that was just a stupid workaround and not the real solution.

About a month later I found the causing bug in subroutine ATACK: IF(MIN.EQ.21)GO TO 106 instead of IF(MIN.EQ.21)GO TO 108.

I found it by chance and luck - not by systematic approach ...

So a simple misread jump target caused so much trouble.

There is a lot of "spaghetti code" in the TREK7 sources, which makes understanding and debugging an arduous job! Vaxorcist (talk) 09:20, 26 March 2023 (CEST)

Comments

The mention of scarce comments reminded me about a favourite MIT story about an obscure comment - perhaps the only comment in a program! So, instruction (I don't think it was a line number - this predates BASIC) 1827 had the comment "LVB RIP". What? Eventually (this was long before the Internet, too :-) the penny dropped - Ludwig van Beethoven died in 1827! Or maybe it was 'JSB RIP' on instruction 1750 - that actually sounds more likely, now that I think about it - old-time hackers were more fans of Bach than Beethoven! I tried to find this story online, but couldn't. I think I read it in an old copy of the Hacker's Dictionary. Jnc (talk) 22:06, 25 March 2023 (CET)

A search for "JSB RIP" (augmented with "PDP") turned up two hits. It's from "History of TOPS - Life in the fast AC's": https://www.inwap.com/pdp10/tops-history.txt Larsbrinkhoff (talk) 08:55, 5 April 2023 (CEST)
Ah, thanks! It's been a while since I read that!
I retain this persistent impression that I saw it somewhere else - in part because I have this very vague memory that I read it early on, before this would have come out. Eh, not important.
The guy who did the TENEX port to the KI10 had a very good paper about all that history; I'll have to make sure it's in the EL there. Jnc (talk) 13:09, 5 April 2023 (CEST)
Yes, it is. I should probably check to make sure "Life in the fast AC's" is on the TOPS-10 page. Jnc (talk)

I wish someone would counter-check my comments on the TREK7 sources and add (at least some of) the ones still missing. Vaxorcist (talk) 09:20, 26 March 2023 (CEST)

Compiling on the PDP-10

I have posted some results from trying to compile the files on a PDP-10: https://github.com/larsbrinkhoff/trek7/issues/1 Larsbrinkhoff (talk) 09:01, 5 April 2023 (CEST)