-
Notifications
You must be signed in to change notification settings - Fork 340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reconstruct Comanche 044 from Comanche 051 #1134
Comments
ALARM AND ABORTThe following chunk of three
This mirrors the addition of the |
P20-P25The WWPOS and WWVEL limiting in
|
PINBALL NOUN TABLESThree major changes were made to the noun tables between Comanche 44 and 51:
These changes all together resolve bank 42. |
P61-P67
|
STAR TABLESThis log section exactly matches Colossus 249. |
PLANETARY INERTIAL ORIENTATION
|
TAGS FOR RELATIVE SETLOC AND BLANK BANK CARDSAs mentioned for P34-P35, P74-P75, the tag |
P30,P37At this point in the reconstruction, it's possible to start using inter-bank references for banks with low differences to try to pinpoint offset errors in other banks. Doing this with the upper banks identifies a possible offset in P30,P37, and a diff between Colossus 249 and Comanche 55 turns up the following INHINT in
Colossus has this INHINT, while Comanche 55 does not. While Norton doesn't show this as a change, adding the INHINT back in greatly improves the alignment for a lot of banks. |
P11Between C45 and C51, the following chunk of code was moved from
Moving it back resolves bank 34. The coding matches Colossus 249. |
P40-P47The following chunk of code in
Just below that, an asterisk marks where a In
|
ERASABLE ASSIGNMENTSBefore we move on to fixing the remaining bank 16 errors, erasable definitions need to be cleaned up. Specifically, the definitions of |
Speaking of which, when I last attempted to nag Margaret about this, about a month ago, my email was returned as undeliverable. Nor has she ever spontaneously contacted me, unprompted by me. I.e., there's no longer any way to reach her, that I know of, and no reason to suspect she'll contact us. |
@thewonderidiot Would it be worthwhile, do you suppose, to add ##-style comments to the source code at places where the reconstruction differs from Comanche 51? (I admit that I didn't check extensively, but I did look specifically in P20-P25, and didn't see any.) |
I didn't put any in since there's a lot, but I can go through and do that. I want to get Comanche 45 going first though... that change is stumping me and it's simple enough that I want to try to crowdsource the search for it through the mailing list. |
It might make sense to crowd-source adding the comments too, since it might prompt more people to look in detail what you've done and how you did it. Otherwise, it's all too easy just to superficially accept it all at face value, as if it just falls from the sky.Sent on my Virgin Mobile Samsung Galaxy S® 5
|
I'm going to experiment myself by adding the comments. I will probably poop out before getting very far, but it will be interesting to try. |
@thewonderidiot Regarding P51-P53, I've found something confusing at the end of routine R56A (just prior to the label R56B). In the Norton doc (p. OPTC-20), this is not marked as a change, and both the Comanche 44 and 55 source code have the identical instruction TCF R56A +2 here. However, the Norton doc describes it as "otherwise, proceed to the 5th line of R56". Which is obviously (I think) not the same thing. To me, this seems like a botched way of saying R56A +5 (i.e., R56A1). Which if true, would be a problem. |
@thewonderidiot I'm confused about FRAC vs DPFRAC for STAR. How does one know? I want to verify that it's DFRAC in Comanche 44, but I apparently never learned enough about it to know where to look. Also, STAR was 2 words rather than 1 even in Colossus 249, so does that mean it was processed as single precision even though it was allocated as double precision? |
Okay, thanks!Sent on my Virgin Mobile Samsung Galaxy S® 5
…-------- Original message --------
From: Mike Stewart <notifications@github.com>
Date: 12/12/20 11:34 AM (GMT-06:00)
To: virtualagc/virtualagc <virtualagc@noreply.github.com>
Cc: rburkey2005 <rburkey2005@earthlink.net>, Comment <comment@noreply.github.com>
Subject: Re: [virtualagc/virtualagc] Reconstruct Comanche 044 from Comanche
051 (#1134)
Norton refers to line numbers within the Programmed Guidance Equations document itself, rather than the listing. The fifth (code) line of R56 there is indeed R56A, which I believe agrees with the line in the code you're looking at.
Unfortunately, you're not going to find a direct source for FRAC vs. DPFRAC, since all of the lines in the Norton doc that specify scaling also specify the variable (which changed from STAR to STARSAV3, thus masking any other possible changes). The biggest clue that I can find (which is admittedly still kind of a stretch) is that the handling of STAR in Comanche 44 appears to have been the same as STARSAV3 was in Comanche 55. Notably, in PLANET in P51-P53.agc, Colossus 249 has
VLOAD UNIT
STAR
GOTO
CORPLAN
while Comanche 44 had
VLOAD VXSC
STAR
1/SQR3
UNIT GOTO
CORPLAN
So why the change there unless the scaling changed? We can say that that VXSC 1/SQR3 was almost certainly there because 1/SQR3 is not shown as a Comanche 55 addition:
(That change bar is just below, showing the deletion of 1/SQRT3)
Beyond that, this is simply one of those situations where the bugger words tell the story -- so far as I can tell there's no possible way to make the bank 42 checksum correct if Comanche 44 still has FRAC for STAR.
—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "#1134 (comment)",
"url": "#1134 (comment)",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]
|
Regarding the "5th line of R56" thing, the explanation about how Norton counts the lines resolves some of the problem, but not all of it. The 5th line of R56 is indeed the program label R56A1. But the TC R56A +2 is still not a jump to R56A1. So there is still a discrepancy between the Norton pseudocode and the Comanche 55 source code there. |
I'm not following. The 5th line of R56 is
|
Stupid me. The change bar (for R56A1) is immediately following TS=0 rather than at it. I couldn't get that idea out of my head. Thanks. |
I've finished the first draft of the annotations, though they're only available at the staging site right now rather than the main site: https://virtualagc.github.io/virtualagc/listings/Comanche044/MAIN.agc.html. I'll post them on the main site in a few days if there's not any disqualifying feedback. Every difference between Comanche 44 and 51 is annotated (except for the handful of differences that are comments about changes between 51 and 55). My justifications are usually my own, since I only fell back on issue #1134 when I couldn't figure out a justification for myself. I thought that made a more-useful validation of the process. However, there very seldom seems to be much difference between my explanations and the ones here. Each annotation begins with the word "Reconstruction", so they're relatively easy to find. It's best viewed in Chrome, because (at least for me) Chrome correctly follows all of my links into the exact pages of PDFs that I want to reference. Some other browsers didn't do that for me, and insisted on downloading the entire PDF every time. Certainly they're a lot better viewed in Chrome than in the source-code files. 😄 Anyhow, feedback please! |
@thewonderidiot Regarding the DELVSAB=|DELVSIN| change in P40-P47. Obviously I was very careless with that annotation, since it's pretty obvious the pseudocode doesn't match the code. But it it makes the justification much trickier. Should my justification be something like the following? The addresses are off by a few after a certain point in this file. Diff'ing with Colossus 249 you find a stray set of instructions. Comparing to the pseudocode you find that they match DELVSAB=|...|. Noting that the Norton page is rev 2 and that there's no change bar, you conclude that the change occurred prior to rev 45/2. Later ... in thinking about it, I've gone ahead and written it up pretty much like that. |
I've now modified the annotations per the feedback given above. I don't know if there's the patience to wade through them again for yet another check. If so, only the specific annotations referenced above have been changed, and that makes it go a lot quicker. (Two or three new annotations have been added via hyperlinks, at points where there was no actual change, to provide some supporting data.) I did not try to generically change every place where I had said there was a change from Comanche 55 to saying instead that it was a change from Comanche 51. That's partly because I generally only referenced 55 when I thought I had a specific reason to do so; but also because it's a big hassle. Perhaps I'll revisit that later. Again, I'll keep the changed pages in staging-area website for a few days, and only migrate them to the main website later. |
I think the justification for |
@thewonderidiot Done! The succeeding annotation (COM 10) was also tweaked, because I had mistakenly said it related to a problem fixed in Comanche 49, whereas it was actually reported in Comanche 49. |
Branch
comanche044
Changed Bugger Words from Closest Program (Comanche 051)
Known Differences
Resources
Notes
There's very, very few asterisks in the Comanche 55 listing. I think at least one of the subroutine differences may have been deletions, rather than changes/additions. Some of the changes between 44 and 51 are masked by the changes made from 51 to 55 (addition of the R-2 lunar potential model), and others are masked by changes in close proximity in the revisions between 44 and 51.
There is a very large number of banks that changed (30!), but I think this number is misleading. Most of the banks only have very small differences in the bugger words, which suggests that the code in those banks didn't change, but rather offsets in a bank they reference changed.
The text was updated successfully, but these errors were encountered: