2024-12-17 |
Three new documents
added to the document library, for Skylab missions and
ASTP. |
2024-12-16 |
In some way no longer clear to me, the
graphical interface for our usual DSKY simulator (yaDSKY2)
has become nasty and smudgy over the years, which has
probably contributed somewhat to people's desires to create
their own DSKY simulators and bypass yaDSKY2
altogether. I've reimported into yaDSKY2 the
graphics from our original DSKY simulator (yaDSKY),
with the result that the interface is sharp and clear again
... at least, relatively speaking! Which isn't to say
that an alternate DSKY mightn't be nice to have. More
on that in the future, I expect. Speaking of inexplicably failing user interfaces, our VirtualAGC GUI interface that is optionally used to run an AGC simulation with the user's choice of peripheral devices has also deteriorated somewhat on some platforms in terms of the layout of the widgets in the interface, though it has remained functional and I haven't worried about it too much. One problem on Mac OS which has annoyed me is that when Mac OS automatically enters its so-called "dark mode" at night, most of the text in the VirtualAGC GUI disappears! This is apparently due to some lovely color-palette thing in which text that the programmer — me! — has explicitly specified as black is rendered instead as white. White text on a white background, of course, is not extremely readable. Thank you, whoever upstream from me is responsible for that gift! In the latest version of the VirtualAGC GUI in our software repository, code has been added to exempt it from Mac OS's dark mode, thus restoring nighttime readability. (This has no effect on similar dark modes in Windows or Linux.) By the way, if you do use the new VirtualAGC GUI, you may also notice some new DSKY interface-style options ("Mac" and "Mac/2") that are grayed-out. Ignore those for now. |
2024-12-14 |
Rose Brown has sent in a new Apollo 17
document and five ASTP documents for posting in the
library. Check them out.
(Thanks, Rose!) |
2024-11-02 |
Mike Stewart has sent over the
Saturn V Flight Manual for SA 206 (Apollo 11),
now posted to the document library. Thanks, Mike! Personally, I've been mostly occupied the last few months with the AP-101 assembler for the space shuttle flight software, as I mentioned in a previous posting. There's light at the end of the tunnel on that now, though the assembler itself is not quite ready for prime time yet. At some point, an AP-101 linker will have to be written to combine the object-code files produced by the HAL/S compiler and the AP-101 assembler into executable AP-101 load files. Frankly, I have no enthusiasm nor relevant experience or knowledge for writing the linker myself. I have documented the reverse engineering about AP-101 object files (here), since understanding that format is a necessary step not only for writing a linker, but for writing the assembler as well. If there's anyone interesting in shouldering the burden of writing an AP-101 linker, drop me a line. |
2024-10-09 |
Bill Miller has sent over one of the missing
volumes of the "Shuttle Flight Operations Manual" (namely
8A, "Main Propulsion Systems"), so I've added it to the Shuttle Library.
Thanks, Bill! |
2024-10-01 |
Mark Schulman has sent me a document called "Saturn
V Step-by-Step", written by himself (thanks, Mark!),
which I've posted to the document library. It's based
on the very interesting notion of a complete timeline —
within the limits of reason — of the "life" of a Saturn V
rocket, with the Apollo 11 mission as the baseline but with
notable events from other missions described as well.
The first events on the timeline are the CM system tests,
about 9 months prior to launch, while the final event is the
S-IVB impact on the lunar surface. But just saying
that doesn't do much justice to the level of detail.
Some events I noticed, for example, include the specific
programs running on the AGC and the time at which the LVDC
is shut down. There's about 70 pages of timeline
overall. The document isn't actually a great fit for the Virtual AGC library, simply because we only provide archival documents that are unchanging and can be preserved as-is for eternity. Whereas Mark's document will presumably change over time, and our library isn't really set up for the possibility that documents are evolving on an ongoing basis. Nevertheless, Mark wanted to provide it to the world, in a way that could allow him to get some expert feedback on it, and posting it seemed to be the most straightforward means at my disposal to help with that. Alas, I cannot provide any useful feedback myself, since I'm not an expert on the Saturn rocket in any sense, but I know that some of you are. The rest of you, enjoy! |
2024-09-11 |
I don't really have any "news" to report
today, but just want to blow off some steam about what I'm
working on now. Which is appropriate for an
anniversary of 9/11, I guess. And for the fact
that in some ways this page is more of a blog than a change
log. A couple of weeks ago I reported that the HAL/S compiler for the Space Shuttle's flight software had reached at least a preliminary level of usability. But I also mentioned that to be really useful, you'd also need a linker for IBM AP-101S object files and an emulator for the AP-101S CPU. (Recall that the Space Shuttle's "general purpose computers" were IBM model AP-101B at first, and then later on were model AP-101S.) What I failed to mention is that in addition to source code in the HAL/S higher-level language, there's also a lot of Shuttle flight software written in AP-101 assembly language, and thus you'd also need an AP-101 assembler in addition to the HAL/S compiler. Well, given that I've written assemblers for the Apollo AGC, AGC, and LVDC, I thought I could knock out an AP-101B/S assembler in short order. Wrong! Wrong, wrong, wrong, wrong! While no documentation for the AP-101B/S assembler has survived (let alone its source code!), in so far as I'm aware, I came to the conclusion that the assembly language is based very closely on IBM's assembler for System/360 Basic Assembly Language (BAL). Yes, the CPU instructions are somewhat different, but I'm referring to the language syntax, pseudo-operations, and so forth. In fact, I suspect that the original AP-101 assembler was probably created by simply replacing the code-generation portions of the System/360 assembler, and leaving the scanning and parsing portions intact. That's not immediately helpful to me, of course, since I don't have a copy of the System/360 assembler's source code, nor could I use it if I had it since it would be in copyright limbo. Besides which, such an assembler would likely run only an IBM 360 or similar. On the other hand, multiple versions of the documentation for the System/360 assembler are floating around online (copyright or not), and can essentially be used as-is, even if we cannot repost copyrighted documents here at Virtual AGC. Beautiful! The most up-to-date version I'm aware of is this 1972 version. The problem is that this assembly language is monstrous. Not the CPU instructions per se, but the fact that it's a macro language that has multiple characteristics that make it awful to parse. In fact, I can't get my head around how to parse it, and every time I do seem to do so, I realize 5 minutes later that I'm just kidding myself because there's some special case I had forgotten about or didn't know about in the first place invalidates whatever approach I had concocted. Normally, this wouldn't be terribly concerning, because macro features of an assembly language are often used only minimally, as an afterthought. For example, the LVDC assembly language (for the Apollo Saturn rocket) is a macro language, but a nice, gentle one, with macros seldom appearing in LVDC flight software. Not so for the Space Shuttle flight software! Its coders must have been steeped in System/360 assembly language lore, and used every feature of that macro language, everywhere. You'd be hard pressed to find a single flight-software assembly-language file that didn't depend intimately on its macros. Macros have to be considered right up front in implementing an assembler, not as an afterthought. More than half of the assembly-language manual is devoted just to macros. I'm tempted to continue this rant, but I think you get the idea: There might be some delays involved in creating this assembler, which by the way, I call ASM101S. There's a surprisingly-well organized page describing it and what I'm doing it with, but who knows how long it will be before that page is anything other than "under construction" or the assembler itself is just a useless shadow of its final version? |
2024-08-26 |
A couple of documents were added to the
main library, and a couple more to the Shuttle
library, all kindly sent to me by Gavin Eadie.
(Thanks, Gavin!) All were different revisions of
documents we already had — well, with a couple provisos I
won't bore you with — so perhaps we've saturated the market
on documents! ( I
jest: We haven't.) Gavin tells me that Draper
Labs simply sent them to him on request. Alas, that
was a long time ago, and the times have changed so much that
there's no chance whatever of that happening these days, or
perhaps ever again. So I guess that sometimes
the Good Old Days really were better than today. Not
all that often, but sometimes, in some ways. |
2024-08-21 |
For quite some time now I've been working
compilers for the HAL/S computer language. Indeed, for
the last six months or so I've been working on no less than
my third attempt, having abandoned the first two
attempts when they were useful but still incomplete in one
way or the other. Recall that while HAL/S is basically
a dead language now, it is the principal language in which
the Space Shuttle flight software was written. And
while we have the source code for the original HAL/S
compiler used for the Space Shuttle, that source code is
written in an extended version of XPL, which itself is a
dead computer language. So in order to compile the
HAL/S compiler, I first needed to step back and write an XPL
compiler. Or more accurately, a compiler for the
extended but largely undocumented version of the XPL
language in which the HAL/S compiler is written. Today, I'm announcing the first release of that XPL compiler (which I call XCOM-I) and the HAL/S compiler (which I call HALSFC), both of which can be run on Linux, Mac OS, or Windows. Their dedicated pages give installation and usage instructions, as well as my usual too-much-of-everything descriptions of what's going on: The Shuttle page has been reworked somewhat as well, to accommodate this new situation. Neither compiler is perfect, there are known bugs, and HALSFC is still missing a couple of compiler passes that deal with simulation data, but I'm quite pleased with both compilers nevertheless. Don't get terribly excited about this — as if anyone would! — until you understand the limitations. XCOM-I should be usable as a general XPL compiler, true; it's a Python program that's basically an XPL-to-C translator, so it can be used on any platform having Python and a reasonably-compatible C compiler. However HALSFC, while also running on Linux/Mac/Windows, nevertheless faithfully duplicates the functionality of the original HAL/S compiler. Which means that HALSFC outputs IBM AP-101S object-code files. (Recall that the onboard computers of the Shuttle were model AP-101S.) So unless you simply want to examine the object code created by the HAL/S compiler, you'd also need an AP-101S linker and emulator. A compiler alone isn't enough. But give us time! Rome wasn't built in a day, or even a year. |
2024-08-18 |
Still more docs for the
library, from Mike again. Quite a meaty
selection.
|
2024-08-14 |
Mike Stewart sent over a few new documents
for our library page. As usual, here's his excellent
summary:
The 2nd item is really just a single volume of the
multi-volume IU Technical Manual, but from my point of
view it is far and away the most-import document in this
latest stash. While we've already had other
volumes of the IU Technical Manual in our library, this
is the first of them that contains significant
information regarding the LVDC, its flight program, and
its relationship to the launch vehicle. There are
flowcharts. There are explanations of various
items you find in the flight software. See
chapters V and VI in particular. For any of you
trying to wade through the LVDC flight program source
code, this should be a real help. |
2024-07-03 |
Having noticed the non-shocking fact that our
GitHub software repository has so much stuff in it that no
novice could navigate it, I've added a "brief" tour of it to
the FAQ page.
Whether it's brief enough to actually be of assistance to
anybody is questionable. |
2024-07-01 |
Surprisingly, that's actually all tied together.
The reason I've been too busy to look at the
Astrionics memos I mentioned is that I've been completely
consumed by Shuttle-related work I've been doing. As
I've mentioned in other updates here, I've been working on
a compiler (which I call XCOM-I) for the XPL programming
language as it was extended in an undocumented fashion by
a company called Intermetrics. The reason is that
Intermetrics wrote a compiler for a computer language
called HAL/S in this extended form of XPL. That
HAL/S compiler, called HAL/S-FC, was needed to compile the
flight software for the Space Shuttle, since that flight
software was written in HAL/S. And the reason I have time today for those memos is that
just yesterday I reached a milestone on XCOM-I: Not
only can it now compile HAL/S-FC, but HAL/S-FC can itself
compile HAL/S programs, and produce object code from
them! Or at least, it can compile the one HAL/S test
program I throw at it. The HAL/S test program I
throw at it is called HELLO.hal, and I'll let you guess
what it does. Unfortunately, even though HAL/S-FC
can compile HELLO.hal, what you get out of that process is
(of course!) a program that runs only on one of
the Space Shuttle's IBM AP-101S computers, not on your
personal computer. And lacking any way to run
AP-101S programs at the moment, there's therefore no way
yet to actually run the compiled HELLO program. The
same would be true, of course, if I compiled the Space
Shuttle's flight software. But progress is being
made, one step at a time! I'm hoping that Dan
Weaver, who as I've mentioned before has written a very
nice IBM 360 simulator, will be writing a (very similar)
AP-101S simulator. At that point, we could run the
compiled HELLO or other compiled HAL/S program and really
start cooking! As to why any of that is relevant, as promised, to the
SDF-related documentation added to the Shuttle library
today ... well, that's another mouthful-and-a-half of
explanation. HAL/S-FC, the HAL/S compiler, actually
consists of seven separate "passes" or "phases", each of
which is a stand-alone program. The seven
stand-alone programs are run in succession to perform a
complete compilation. Of course, you the user don't
really have to worry about all that nonsense if you're not
interested in it, since you simply experience HAL/S as a
single command, and that command worries about all of the
details of fitting the separate passes together. Nevertheless, when I say that XCOM-I can compile
HAL/S-FC, I mean that it can compile each of the seven
separate programs comprising HAL/S-FC. The AP-101S
object code is not spit out until the fifth pass, which is
called PASS2. (Go figure!) That leaves two
compiler passes (called PASS3 and PASS4) which I haven't
run yet. PASS3 and PASS4 are entirely devoted to
production of Simulation Data Files (SDF). SDFs were
what were used as input to the digital simulation system
that simulated running the Shuttle flight software.
They're quite fancy. I'm told by the author of PASS3
and PASS4, Craig Schulenberg, that never has any other
compiler of any kind produced such complete data in
support of simulation. My own desired next step in the compiler development is
to run the compiler passes related to SDF
generation. Simultaneously the SDF documents appear
in the Shuttle library. Nifty! Kismet!
Whether that's truly what I do next is TBD, but that's my
whim at the moment. By the way, this is all being written up on the XPL page of
the website, basically in real time as I'm working
on it. Which means that it's a poorly-organized mess
at the moment. Still, it's there if anybody wants to
read it. I hope that it won't be too much longer
before the compiler is debugged to the point where I can
bless it as completely working, and proceed to put the
documentation in order. Of course, wishes don't
always come true. And anyone who's familiar with my
writing style — just take a gander at this blog entry! —
will realize that it still may not be very readable once
I've reorganized it. But at least it will be more
readable than it is now. I hope. |
2024-05-24 |
I updated the Block I mini-tutorial
to demo running the SOLARIUM (and SUNRISE) self-tests. |
2024-05-21 |
Mike released the reconstruction of
MANCHE72R3 today. That's the software for the Command
Module AGC flown on Apollo 13. It inherits the same Cosmic
Spoonerism — like that term? — suffered by the
Comanche 72 reconstruction I mentioned a couple of days
ago: I.e., it has a couple of places where a couple of
instructions can be swapped without damaging either the
functionality or the memory-bank checksums, and without any
guidance from other related software versions to tell us
which order is more-likely to be the correct one.
Ultimately, the Cosmic Spoonerism isn't something to worry
about, but resolving it requires somehow getting additional
info which we don't have now. At any rate, both
versions are now written up on the Colossus page, and
properly incorporated in the document library, as well as
being supported in the VirtualAGC GUI. Of less interest to anybody but me, I expect, I've just hit a nice little milestone with the XPL/I compiler — I call it XCOM-I — I've been working on. You may recall that I'm doing that so that I can eventually use XCOM-I to compile the Intermetrics compiler (HAL/S-FC) for the HAL/S computer language in which Space Shuttle flight software was written, and then use HAL/S-FC to compile the flight software itself. Not that I'm anywhere close to that! But the milestone is that I'm now able to "bootstrap" one of the old XPL compilers from back in the day. Not Intermetrics's XPL compiler, mind you, because the source code for that one has been lost. Rather, for an XPL compiler I call XCOM45, last built (as far as I know) in 1976 at the State University of New York. By "bootstrapping", I refer to a process used by programmers who write a compiler for a particular computer language in that same language, and want to use that compiler to build its own source code. Obviously you can't do that on day one, since you can't build anything from literally nothing, so there's a series of intervening steps needed to build a more-and-more competent compiler that eventually can compile itself. That's "bootstrapping". In the case of my milestone, the bootstrapping steps look like this:
If you have read that description closely — and who wouldn't
have wanted to do that? — it barely mentions an
important fact that I've neglected up to now in this blog,
which is that our software repository now contains a very
lightweight IBM 360 simulator called sim360. This
was not written by me, or anyone at Virtual AGC, but was
instead written by Dan Weaver and barely mentioned on
his own website. (See if you can find sim360
on the website. Give yourself a cookie as a reward
if you can.) There are several reasons it's
significant for us: A not inconsiderable
advantage it has over full-scale IBM 360 simulators such
as Hercules is that
you don't have to know anything about operating an IBM 360
to use it. Nor does it require any
potentially-copyrighted software from (say) IBM that would
prevent integrating it with open-source software.
But perhaps best of all, it's so lightweight that
it probably technically can be incorporated into (say)
Orbiter or the VirtualAGC GUI relatively easily, and can
be adapted (if any adaptation is needed) to run IBM
AP-101S code rather than IBM 360 code. Admittedly
I'm looking down the road a bit, but it seems to me as
though sim360 provides a superior technical path to
running Space Shuttle flight software in a spaceflight
simulator. As for the legality of that path (or any
path) under ITAR, I make no claims. |
2024-05-19 |
The
reconstruction of the source code for Comanche 72 is now
in the software repository. It has a few more
uncertainties than usual, in the sense that there are some
alternate instruction sequences that have identical
functionality while unfortunately also having identical
memory-bank checksums. That being the case, it's hard
to say that one of the alternatives is more likely to be
valid than the other. The problem, as observed in the
movies, is Choice. While I don't think these
alternatives are anything to worry about particularly, I'll
give it a few more days of simmering in the background
before writing up any extended description. For now,
I'll just say that this is not exactly the version which
flew on Apollo 13 — that version was Comanche 72/3 —
but it's definitely zeroing on the flown version. |
2024-05-14 |
Well, that went freakishly fast! Mike
has sent over the reconstructed source code for Comanche 67,
so it's also available to you now in our software
repository. And I've changed yesterday's write-up
of Colossus 67 accordingly.Aside: Ego compelled me to at least roughly try to figure out how close my own reconstruction effort in advance of having dumps from physical memory modules had been. Counting just the substantive changes — i.e., things which would have affected the core-rope image stored in the memory modules, vs things that would not have, like changes to program comments or global spelling changes for program labels — and counting only the number of source-code files containing differences between Mike's and mine, I find 68 files with no differences, 16 with differences, and 1 about which I'm undecided. Of course, not all of these files are of comparable sizes or complexities. Nor did I count how many of them were unchanged relative to Comanche 55 (Apollo 11). In other words, I got 80% of the files right and 20% not-so-right. Which means ... well, precisely zip. I'll give myself a blue ribbon for participation.Separately, Neil Fraser and Charles Chapman have sent in some corrections for the AGC Assembly Language and Colossus pages respectively, which I've now incorporated. Thanks, guys! |
2024-05-13 |
I've finished the write-up for Comanche 67 in
its current (i.e., no-source-code) state, as well as
providing support for it in the VirtualAGC GUI wrapper. |
2024-05-12 |
I haven't gotten around yet to the
document-library backlog I mentioned last time. Sorry
to everyone who has sent me stuff to take care of, but I
assure you it hasn't been forgotten! I've been so
laser-focused on the XPL/I compiler I mentioned previously
that it's been hard for me to even look to the right or the
left. I blink and whole days have vanished. However ... Mike has sent me the core-rope dumps for Comanche 67, i.e., the command-module AGC software for Apollo 12, and there's no way I could reasonably put off taking note of it. Long-time readers may recall that I had spent a considerable amount of effort myself on trying to reconstruct Comanche 67 — indeed, you can still see my now-obsoleted effort in the comanche067 branch of our software repository — before giving up on it as beyond my capacity, and indeed perhaps beyond anyone else's capacity either. Still, I had made some not-insignificant progress before doing so, and it will turn out to be interesting (only to me, I suppose) to see how successful I had been with the changes I did make. Speaking of which, having Comanche 67 is useful not merely in that it's one of the (few) remaining AGC flight-software versions that had still been missing, but also in that it's potentially a useful missing link in reconstructing Comanche 72 (Apollo 13), which is yet another of the missing versions. Mind you, I'm not promising that; I'm just saying it's an interesting possibility, given the tremendous success Mike has had in reconstructing missing versions (yay!), even if I have not (boo!). But that's leaping too far ahead. For today, note that all I've done so far is to post the full Comanche 67 binary file, so that anyone who's sufficiently knowledgeable and energetic can run it in our AGC emulator immediately. And I've added the dumps of the individual rope modules to our Rope-Module Dump Library, which admittedly is of only academic interest when you have the full, known-correct binary in hand. There's still much to be done, though, such as writing up the details on the Colossus page, making Comanche 67 available in our VirtualAGC GUI wrapper for the AGC emulation, and of course, reconstructing the source code! Ego would lead me to hope that the source code of my attempted reconstruction might help out there. But I doubt that that would fit in with Mike's workflow anyway, and likely he'll do a better job without it unless he uses a little of it to salve my tortured-poet ego. But I digress. This is a significant acquisition, and I wanted to get it out into your hands as quickly as I could! Many congratulations to Mike Stewart and thanks to the anonymous collector who gave him access to the rope modules. |
2024-04-28 |
I once again have a backlog of material
people have sent me, which I haven't gotten around to
posting in the library yet. Real Soon Now, I hope. I've been fully occupied with HAL/S compilation (for Space Shuttle flight software) the past couple of months, which partially explains the delay. Anyone reading these postings with a view toward what I was doing (versus less-me-centered Virtual AGC developments) may have noticed that I've been concerned with HAL/S compilation for about the last 18 months. It's a hard nut to crack, and I've been through several abortive but non-negligible attempts to crack it. First I developed a HAL/S compiler that could be used also as an interactive HAL/S interpreter or emulator; it was quite useful, but never got to the point of supporting 100% of HAL/S's features before I stopped work on it for maintenance-difficulty reasons. Then I decided to port the original HAL/S compiler (HAL/S-FC), which was written in the mysterious, obsolete language XPL/I, to Python, so that it could be run on modern computer systems; I succeeded, but only for the 1st pass (of the compiler's 7 passes), and stopped working on it because the effort for the first pass had been so great that I couldn't bear the thought of porting any more of the passes. Now I'm working on yet a third approach, and I'm feeling quite good about it because I passed a major milestone on it this morning. As I say, the original HAL/S compiler was written in the XPL/I language. Actually, everybody (including Intermetrics, which wrote the software) says that it was written in XPL, but it's not really true. There was indeed a computer language called XPL which was defined in a book called A Compiler Generator by McKeeman et al.; the book also contained the complete listing for its XPL compiler (XCOM). But the truth is that Intermetrics had extended the language, so a standard XPL compiler couldn't compile it any longer, and in particular couldn't compile HAL/S-FC. Intermetrics instead had their own separate compiler for it. Intermetrics continued to call this extended language "XPL", but I insist on calling it "XPL/I" to make the distinction clear: An XPL/I compiler can compile HAL/S-FC, but a mere XPL compiler cannot, and there are no surviving XPL/I compilers that anybody I've talked to is aware of. What I've been working on lately is an XPL/I compiler, which I call XCOM-I. It can still compile standard XPL, but the goal is to compile full XPL/I. XCOM-I itself is written in Python and translates XPL/I to C, and hence is completely portable. The milestone XCOM-I reached this morning was to compile the original XPL compiler (XCOM) listed in A Compiler Generator, and then to use that original XCOM to compile some other XPL programs (listed in A Compiler Generator also) into correct IBM System/360 object-code. It was a hard-won milestone, and while it isn't as good as compiling HAL/S-FC itself would be, I'm still happy! In celebration, I've updated the Shuttle page accordingly, and in particular have made visible a page about XCOM-I that I've been working on in the background for a while. I would observe that HAL/S-FC can compile HAL/S to either IBM System/360 object code or else to IBM AP-101S (i.e., Shuttle GPC) object code, both of which are based on IBM Basic Assembly Language (BAL). Therefore, it seems likely that the eventual technical path to emulating execution of the Shuttle flight software, and in particular to integrating it into spacecraft-simulator software, will be to emulate execution of IBM BAL. A BAL-to-C translator would be even better, I think. It would mean that Space Shuttle flight software could technically be integrated into spacecraft-simulation systems simply by incorporating its C code ... assuming, of course, that that weren't a regulatory issue vis-à-vis ITAR. Though the fact that the C code couldn't possibly execute on an AP-101S, and could be completely obfuscated versus the relative clarity of BAL code, would speak in its favor ITAR-wise (I assume). |
2024-03-22 |
Fixed several bad hyperlinks. Thanks to
Rob Schofield for pointing out the problem. |
2024-03-06 |
Mike Stewart has finished reconstructing the
AGC source code for the Skylark 48 program (missions Skylab
2, Skylab 3, Skylab 4, and Apollo-Soyuz Test Program ASTP)
from the dumps of the physical Skylab 2 core-rope memory
modules he had managed to acquire a bit over a month
ago. I've written it up accordingly on our Colossus
page, but here's a direct link to
the syntax-highlighted version of the source code. Among other material used in the reconstruction — such as the Artemis 72 source code, the TRW "programmed guidance equations" document, and so on — is something I've added today to the document library as the "Skylark Erasable Memory Map", even though it actually has no title (or any other metadata) associated with it. |
2024-03-05 |
I guess that being swamped with such a huge
number of documents from the backlog I finished processing
yesterday made me a bit more careless than usual. For
one thing, I failed to note that the COLOSSUS MEMO #48 added
a few days ago was not part of the backlog, but had been
sent separately by James Pelster. Thanks, James!
As for the backlog itself, that had come from the large
document caches accumulated by Cooper Lushbaugh and Don
Schmidt, so thanks are due to them as well for creating
these caches. Of course, the fact that the documents
were in these secondary caches means that I don't really
know where most of the individual documents came in the
first place, and thus cannot credit whoever preserved them
and/or scanned them. An exception is that Don mentions
having gotten documents from the Tomayko
collection at Wichita State University's library, and
if you look at the recently-added documents you'll find that
some of them have been stamped or watermarked as belonging
to that collection. James Tomayko, as you may recall,
among many other things wrote the ubiquitous NASA history
called Computers
in Spaceflight, and apparently many of the
reference materials he cited in that book ended up in the
Wichita State archive. Maddeningly, the one reference
he cited (IR-60-7, "HAL/S-360 Compiler System
Specification") that I really need didn't end up in
the archive. But I digress! Today, I've added a new document sent along indirectly by Ryan Callaway (thanks, Ryan!), namely the "Lunar Module Pilots Handbook", which despite its title, is a curious compilation of "procedures and notes ... which should be studied by Grumman personne1 to better acquaint themselves with the Lunar Module Spacecraft". |
2024-03-04 |
I finished up incorporating the document
backlogs to the Shuttle
library and the lesser updates to the
main document library. I.e., the pending
document-queue is at least temporarily empty now. But
in the process of doing that, I found out that the libraries
had accumulated ~250 PDFs lacking a text-search layer.
So I've added those text-search layers to (hopefully) all of
the PDFs on the site that had been lacking them.
Unfortunately, since those previously-unsearchable PDFs have
all been modified, the "recent additions" section of the
library pages now shows them as newly added to the
libraries, even though many of them were in fact added some
time ago. Sorry about that, but there's nothing much I
can do about it at this point. |
2024-03-01 |
Continued reduction of the backlog of the Shuttle
library. Just one addition to the
main document library, namely the formerly-missing
COLOSSUS MEMO #48. |
2024-02-28 |
Continued reduction of the backlog of the the Shuttle
library and the main document
library as described in the preceding entry. |
2024-02-23 |
As part of the reduction in the document
backlog I mentioned a couple of days ago, several new
documents have been added to the Shuttle
library and a smaller number to the
main document library. (Doesn't seem like much,
I know, but I have to examine and reject about 20 documents
for each document I add to one or the other of the
libraries, and I have about 10K documents left in the
queue. In other words, it's a bit
labor-intensive. This process will continue for some
time.) |
2024-02-21 |
I've been directed (thanks, Don Schmidt!) to
a large cache of mostly Shuttle-related documents. I'm
looking at processing these for our Shuttle Library, while
at the same time resuming processing of the already-existing
backlog of Shuttle documents that has been on hold for the
last 9 months or so. In addition to containing lots of
documents that aren't particularly on-target for our goals
here — after all, Virtual AGC is concerned basically with
Shuttle flight software, rather than being comprehensive
Space Shuttle site! — this new cache also has a lot of
overlap with content already in the library. Getting a
workflow going on this that avoids cluttering the library
with endless reams of duplicated documents is challenging,
but I'm making progress. Today I'm just
posting the first 11 docs I've looked at. |
2024-02-12 |
I found out today that the email address
(info@sandroid.org) given here on our website has been
non-functional for over a month. So if you have
attempted to contact me/us and got no response ... well, I
apologize for the inconvenience, but whatever email you sent
me has vanished like the wind. Please resend and try
not to think bad thoughts about me. Or just resend and
keep thinking bad thoughts, whichever you prefer.Aside: Apparently, there's a newish policy, in which when you renew your domain every year, you have to validate the identity information given to the registrar. As opposed to the last 20 years or so, when you didn't have to do any of that. At least for my service, the validation process involves an exchange of emails to my personal email account, and the validation emails to my personal email address never arrive. Which I had no way to even know about, since I didn't know I was supposed to get any validation emails anyway. Not responding to the emails results in the domain being "locked" or "suspended", so that even though you've paid for the domain renewal, the domain simply doesn't work. Hence no website for that domain, and no emails to it either. Fun, huh? And since my paycheck doesn't depend on any of this, I'm unlikely to discover the problem for quite a while; about 5 weeks of lost service in this case. |
2024-01-29 |
The Skylark 48 ropes mentioned in my last
post, I'm told, have now been flown in Orbiter/NASSP with
both successful rendezvous (between the CM and the Soyuz)
and successful reentry. (Thanks, Nik Beug!)
Although you have to take that statement with a slight grain
of salt, because it appears that the simulation had
(past tense) a discrepancy in the timing of the landing
radar interrupt, which had been apparent as only a minor
issue in Artemis (Apollo 15-17) simulations, but had become
a major issue in Skylark. Fortunately (thanks Mike
Stewart!), this was fixable in our AGC emulation. But
the upshot is that you only want to fly Skylark with the latest
version of our AGC emulator code (yaAGC), now in the
GitHub repository as of today, since earlier versions will
experience major issues. Similarly if you want to fly
Artemis simulations, except that the only problem you'll
experience in Artemis with the older code is apparently the
occasional annoyance of an ignorable 1210 error.Aside: Here's a hint to anyone thinking about creating their own open-source project: Maintenance is a bitch! In my case, I rarely hear of issues until literally decades after I wrote the code having those issues in them, at which point I'm scarcely qualified to fix them. (And that's putting it charitably. After all that time, the code may as well have been written by a deranged stranger.) My advice is to get a team like Mike and Nik your side, so that you won't have to hear about the problems until they're already fixed. Good luck with that, by the way. Just my 2¢. |
2024-01-25 |
We now have core-rope memory dumps of the
SKYLARK 48 program. As you may recall, SKYLARK 48 was
the AGC software used in the Skylab 2, Skylab 3, Skylab 4,
and Apollo-Soyuz Test Program (ASTP) missions. Pretty
sweet! It's getting to the point where there are very
few missions for which we don't have the corresponding
AGC software. You can see the full write-up, including
the credits, on our Colossus page. As usual when we've gotten AGC software via physically dumping memory modules, we don't automatically get the software source code. Rather, the source code needs to be recovered via a process that may or may not succeed, but that hopefully will in the near future. In the meantime, what the dumps do give is executable code, so you can run SKYLARK 48 right now in our AGC emulator. Presumably it will also be available at some point in the full Orbiter/NASSP simulator, but I suppose that will also take some time to unfold. |
2024-01-14 |
Since I've posted nothing substantive about
Space Shuttle flight software in a while, I suppose I should
give you an update on the progress towards presenting it to
you in some useful fashion. There's good news and
not-so-good news, though I think the good outweighs the
not-so-good. There are three somewhat-independent
aspects:
On a different note, Mike has sent along a new stash of
Apollo documents, which I've added to the main document library.
As usual, here's his summary:
|
2023-12-25 |
Mike has sent over some dumps of SUNSPOT
rope-memory modules, courtesy of Dr. Nick Gessler.
You'll recall that SUNSPOT (thought to be version 247) was
the Command Module's AGC software for Apollo 1, and
it has long been near the top of my wish list.
Unfortunately, these modules were not from version
247, but rather from the initial release of SUNSPOT ... and
we're not sure specifically what that version was,
numerically, due to the lack of surviving
documentation. But it certainly significantly precedes
247. Worse, only 5 of the 6 rope-memory modules were
available, and those are in significantly worse condition
than all of the other rope-memory modules Mike has worked
with before. (Not Nick's fault, since the modules were
that way when he got them. In case you're wondering
how bad these are, visualize actual holes, through which
wiring and components are visible!) So not all of the
data on those 5 modules will be recoverable. But Mike
will work his magic, and I fully expect we'll eventually get
3 or more modules worth of data from them. It'll take
quite a while, though, so don't put your life on hold
waiting for it. At any rate, you can follow Mike's
ongoing log of the data-recovery effort, or read my
pre-digested version of it in the
Rope-Module Dump Library's notes. To all of which you may say "so what?", to which Mike also gives us an answer: I haven't updated the Colossus page with any of this info as of yet, given that we don't fully know what we have here, but hopefully that too will come, in the fullness of time. |
||||||||||||
2023-11-25 |
Okay, I think the problems mentioned in
yesterday's "afterthought" have been fixed up now, so the
mission-specific documents on the Shuttle Library page are
starting to look pretty good to me. |
||||||||||||
2023-11-24 |
There has been a problem for some time on the
Shuttle Library page in terms of the way it placed
individual documents into the flight-specific
sections. For example, it may have placed documents
not directly relevant to flight STS-26 into the STS-26
section on the library page. While I knew about this,
I wasn't motivated to try and fix it until I started getting
complaints about it. I noticed too that it wasn't
printing the exact titles on the sections that I thought I
had arranged for; for example, the title of the STS-26
section should have been "Flight STS-51-F (STS-26)"
rather than the mere "Flight STS-26" that was actually being
printed. While the Shuttle Library page is still not
perfect by any means, I think it has been improved a lot in
these regards, and I hope my fixes will be enough of a
bandaid for now ... though it's possible that the next few
days might see some fixes for my fixes, and so on. You
can thank Bill Miller for refocusing my attention on the
issue. Bill also sent along the STS-79 Post-Mission
Report, which has now been posted on the library page, and
apparently completes our set of mission reports (sans
the STS-51-L Challenger disaster, for which I'm told that a
normal post-mission report wasn't produced).Afterthought: It's curious that I chose STS-26 as an example, since I see belatedly that it still mixes together documents from STS-26 proper vs STS-51-F due to miscategorization, as does STS-27. Well, there's always tomorrow for fixing that! |
||||||||||||
2023-11-19 |
Removed the hyperlink from our
Shuttle page that had pointed to Johnson Space
Center's FOIA archive of flight data files, since that
archive itself seems to have gone the way of the dodo.
As NASA's websites often do! Perhaps the info
previously on that page will reappear again someday, in the
twinkling of an eye when you least expect it. And then
again, perhaps not. Thanks to Bill Miller for pointing
out that the archive had gone extinct. My
admittedly-fuzzy recollection is that it's no great loss;
nevertheless, I wish I had downloaded its contents before it
vanished. Oh, and I removed the link to the SourceForge project called Space Shuttle Ultra (SSU), as it seems to have disappeared as well. It was a Space Shuttle add-on for the Orbiter spaceflight simulation system. It seems to have been announced a little over a year ago on the Orbiter forum that the SSU project was dead, so I guess I must have just been behind the times in posting a link to it. Incidentally, there was a recommended alternative mentioned there, namely the SSV project, though as far as I can tell SSV lacks the small reference library of Shuttle documents sported by SSU. Again, I wish I had downloaded its complete contents as well! R.I.P., SSU. |
||||||||||||
2023-11-17 |
|
||||||||||||
2023-11-15 |
6 new Apollo documents have been posted to the
document library. Mike's summaries:
I've tweaked the
description of AGS Flight Program versioning
somewhat from seeing these documents. |
||||||||||||
2023-11-12 |
1 new Shuttle
document and 7 new Apollo documents
have been posted to the libraries. Here are Mike's
assessments of them:
|
||||||||||||
2023-11-10 |
I've gotten a handful of materials related
peripherally or directly to the HAL/S compiler development
that I described in yesterday's post, and I've posted them
to the Shuttle
library page.
My personal experience with slide-show presentations is
that seeing the slides outside the context of the
presentation is often worthless, since the meat of the
presentation is usually the words from the presenter's
mouth rather than the eye candy on the slides.
However, that's not true of the first two courses
mentioned above, and they're actually valuable stand-alone
resources ... particularly the "Basic
HAL/S Programming" course that's so relevant to what
I'm working on now. It's quite a substantial
addition to our little collection of HAL/S programmer
training materials, and should be either the first or
second stop for anybody interested in learning about
HAL/S. (The other stop being Ryer's book, Programming
in HAL/S, which incidentally I've been updating with
comments of my own which I hope are helpful. I notice that
my annotations don't show up in Chrome or Firefox, even if
I turn enable the annotation settings. I suppose
that may be a blessing to some of you. But if you want to
actually view my annotations, you may have to download the
document and experiment to find a PDF viewer that shows
annotations.) I mentioned some months back that I had again acquired a
big backlog of documents for the Shuttle library. I
haven't forgotten them, but I haven't had any time to
process them or even look at them yet, because they're not
really relevant to HAL/S or its compiler. |
||||||||||||
2023-11-09 |
As I mentioned in my last post, which was a
month ago but seems like a year, all of my personal effort
recently has been devoted to getting the original compiler
for Space Shuttle flight software into a form in which we
can use it nowadays ourselves. You'll recall that the Shuttle's flight software (known as PASS and BFS) was written in a now-obsolete programming language called HAL/S — for which, as far as I know, there are no longer any surviving functioning compilers. Or at least, none running on common types of computer systems available to common folk such as ourselves. We do have the complete source code for that original compiler, which was called HAL/S-FC. But that source code is primarily written in an even-more obsolete programming language called XPL, which also has no available functioning compilers, combined at some crucial points with IBM 360 assembly language (known as BAL). And even worse, it was a mostly-undocumented "enhanced" form of XPL, so even if you somehow managed to get a standard XPL compiler, it still wouldn't compile the source code for HAL/S-FC. My workaround for these little deficiencies has been to port the original HAL/S-FC's XPL source code to a modern programming language, namely Python 3, that anybody can run on any common computer system, such as Windows, Mac OS, or Linux. I won't claim that this has been an easy task. There have been, and continue to be, many hurdles along this path. If I had known just how many, I might have elected not to attempt it at all. But I'm pleased to say that a nice little milestone has been reached: The ported HAL/S-FC can now compile without error every syntactically-correct HAL/S source-code file available to me. You have to take that assessment with a grain of salt, since it merely means that there are no compile-time error messages. That's not a guarantee that whatever object code the compiler generates is correct. Nor should it be taken to imply that we can actually run any of that code after compilation. Nor that we actually have much HAL/S source code to try it on; almost all HAL/S source code we have has been scraped from contemporary documentation rather than from actual flight software. But first things first! It's a step forward, and much much nicer than the hundreds of compiler errors I was getting even very recently. The Shuttle page has been updated with explanations on this topic, including instructions for installing and using the ported HAL/S compiler. Expect that there will be lots more to come on this topic in the future as I continue trying to overcome the hurdles. |
||||||||||||
2023-10-11 |
So ... I notice that it has been a couple of
months since I posted anything here. It's not that
nothing has been happening — though I suppose the
significance of whatever has been happening is subjective —
rather that I've been so involved in it that there hasn't
been much time for anything else. But first things first! Mike has sent over a wad of new LVDC-related documents, some of which are very important. You can quickly find these new docs in the "Recent Additions" section of the library page, but here's the summary:
Another quick note about the new EDD documents mentioned
above: You may recall that about 3 months ago I was
excited by the notion that LVDC Flight Program flowcharts
could be regenerated by mysterious markings in the AS-512
and AS-513 source code, and that I had worked myself up
the point of writing software to generate these flowcharts
and to publish them. (See the
2023-07-27 entry below.) Well, part of the reason I
was motivated to do that is because we didn't have
Part III of the EDD, because Part III does indeed contain
flowcharts. Now that we do have Part III, we
have the exciting prospect of discovering how misguided or
how prescient I was. Well, perhaps "exciting" isn't
exactly the word I'm looking for. "Terrifying" is
perhaps what I should be going for. I should clarify that I have not made a flowchart
comparison before writing this, and am looking at it right
now, in real time, as I'm writing this ... and the verdict
is that the flowcharts don't look extremely similar.
On the other hand, there's some obvious resemblance.
Part of the problem, I'm sure, is that in comparing
my Saturn V flowcharts to these Saturn IB flowcharts,
we're not seeing apples-to-apples; even the names of the
subroutines may differ. In other words, maybe the
flowcharts shouldn't match. Well, who knows? Here's
a cherry-picked result from the ACCELEROMETER READ
subroutine that makes my flowcharts look especially good;
but don't imagine this is a typical example. An
excerpt from my
automated flowchart is on the left, and one
from IBM's document is on the right. It's
heartening, I think, that where the text is comparable, it
matches. With the new LVDC documents out of the way, let me explain the delay in posting messages for the last couple of months. To dredge up ancient history, you may recall (see the 2023-02-15 entry below) that I had been developing from scratch a compiler, interpreter, and emulator for the HAL/S computer language in which the Space Shuttle's primary flight software ("PFS" or "PASS") and backup flight software ("BFS") were written, and that I had been making good progress on it. However, when we were flooded with new LVDC software listings for the AS-512 (Apollo 17) and AS-513 (Skylab 1) missions, there was so much work involved in transcribing these listings and in fixing up our LVDC assembler to assemble them, I had to put the new HAL/S compiler on hold for until a couple of months ago. In other words, I switched over completely from Space Shuttle work to Apollo LVDC work. In the meanwhile (see the 2023-04-16 entry below), we had received the complete source code for the original HAL/S compiler, of which before we had had only a part. So when my work on the LVDC wound down, I rethought the idea of completing my own HAL/S compiler. Or perhaps more accurately, decided to postpone it. It seemed to me after the passage of several months that perhaps my compiler had grown to be too cumbersome and difficult to maintain and extend. Perhaps, I thought, it might be better to port the original HAL/S compiler from the intractable language in which it was written, XPL, to a modern language like Python. And indeed, that's what I've been doing ever since. The progress is good, but it's slow-going and I'm not even close to running any of the code it compiles. That's why I haven't been posting about it incessantly. I'll let you know when there's more to know. Our LVDC page has also been updated with a lot of this information. As you can imagine, the "Flight Program Flowcharts" has been significantly modified. Besides which, since the new Preflight Program documentation contains software flowcharts as well — had I mentioned that? — a new "Preflight Program Flowcharts" section has been added as well. Incidentally, our Space Shuttle page has not been updated with anything about the port of the original HAL/S compiler as of yet, but perhaps it will be in the not-too-distant future. |
||||||||||||
2023-08-17 |
I did a lot of rewriting in the LVDC page's
section "Saturn Interaction With the AGC". It
should be a lot clearer and more accurate now concerning the
circumstances, specific missions, and extent to which the
AGC could theoretically have been used to control the
various stages of the Saturn launch vehicle. This was
in response to a theoretical notion about implementing the
communication between the AGC and the LVDC in yaAGC and
yaLVDC. The short answer is: There never was any
such communication. The long answer, in case you're
wondering, is the same as the short answer. But the
question itself still resulted in improved commentary, I
hope, so it was still worthwhile asking it. |
||||||||||||
2023-08-16 |
More updates to the LVDC page, having to do
with telemetry and DCS. |
||||||||||||
2023-08-15 |
|
||||||||||||
2023-08-14 |
LVDC telemetry display
utility has been improved considerably, to the extent
that it's probably now a lot more useful than the AGC
telemetry display facility we've had for these many years
... not to mention being a lot more-easily portable
across platforms. It almost makes me want to go back
and fix up the AGC telemetry displays. Almost.
However, it still doesn't look like the actual displays
available back in the day in mission control, and won't for
a very long time, if ever. |
||||||||||||
2023-08-13 |
|
||||||||||||
2023-08-12 |
Significant overhaul (not yet completed) of
sections of the LVDC page that discuss various means of seeing
the LVDC emulation in operation in spite of the LVDC
being essentially a black box. |
||||||||||||
2023-08-10 |
I've finished up adding backlog of documents
(~100) to the Shuttle
Library, I think. And even if I'm wrong about
that, I really really want to be right about it, so
I'm unlikely to discover on my own that I'm wrong.
Mission Accomplished! Most of the newly-posted
documents relate to Flight Readiness Reviews of one variety
or another. Which isn't to say that there aren't other Shuttle documents in play, just that of the ones I've been given so far, I've posted all of the ones I could convince myself were at least marginally relevant. |
||||||||||||
2023-08-08 |
Provided some clarification on the LVDC page
about the presence of instructions in residual memory
sectors, and about the relationship between the LVDC's EXM
instruction to data-memory modules vs instruction-memory
modules. |
||||||||||||
2023-08-06 |
Pepped up the LVDC page's "Doing
Something With the LVDC" section a bit. In
particular, it now shows the results for the AS-513 Flight
Program in addition to the results it already had for
AS-512. |
||||||||||||
2023-08-05 |
Nik Beug had a nifty idea a while back, which
we've finally been able to put into effect. He pointed
out that according to the contemporary LVDC documentation,
the LVDC Flight Program — which he, alas, has not
been able to see personally, due to potential ITAR
restrictions! — had a sort of flight-simulation mode built
into it. In that flight-simulation mode, it was
possible to detach the LVDC from the peripheral devices in
the Saturn rocket but let it pretend it was still
attached to them, by performing its own simulation of the
physics. For example, when you put the Flight Program into this flight-simulation mode, the LVDC could basically perform a complete simulation, all by itself, of the Saturn rocket blasting off and going into orbit, without the hassle of simulating any of the other associated hardware, such as the LVDA or the analog Flight Computer. The original developers, I suppose, used this feature to test the Flight Program, but we can use it to test our LVDC CPU emulator. Besides which, it's a nice demonstration that LVDC usage, which is otherwise difficult to demonstrate. Remember that unlike (say) the AGC, the LVDC has no user interface ... it's just a black box, in all respects other than its actual color! So seeing it do anything at all has so far generally been an exercise in patience and stubbornness. But no longer! Nik's simulation idea has now been made to work, and I've written up a preliminary discussion for you of how to do it. The discussion is "preliminary", because it's very new at this point, and I don't necessarily have every detail correct just yet. (In fact, I got a message to that effect in the very process of typing the preceding sentence!) But it certainly does appear to work, and it's not all that difficult to do. |
||||||||||||
2023-08-04 |
Added 50+ more documents to the Shuttle
Library. There are around 120 left in the queue,
but I simply can't bring myself to look at even one more of
them at the moment. So I'm afraid they'll have to
remain in the queue for a while. [Note to self for
future reference: All uploaded, but just not added to the
database. Still to do: Presentations/ and most of FRR/
except FRR/Baseline/.] |
||||||||||||
2023-08-03 |
There were some updates to the LVDC page,
clarifying (I hope) some of the relationship between the
LVDC Flight Program and Preflight Program. 200+ additional documents were added to the Shuttle Library. These again have range of topics, though the majority are mission reports for individual STS-xxx missions. There are, however, some low-level documents related to the Shuttle's General Purpose Computer (GPC) and to historical matters related to the HAL/S and GOAL languages. |
||||||||||||
2023-08-02 |
Added ~50 more documents to the Shuttle
Library. They are mostly minutes of meetings
from something called the "Ascent/Entry Flight Techniques
Board". Many of the digitizations of these
meeting-minutes aren't great, though small in size and
fortunately legible enough; some I've fixed, though many
others will simply have to retain their non-greatness until
I have more (or some) spare time and energy to deal with
them. The library itself has also been restructured a
bit more, to introduce new sections where there are a lot of
documents for them, and to combine some sections combined
with other sections that are closely related, due to having
few or no documents for them. And don't take the new
STS-xxx sections from yesterday too seriously just yet,
because the categorization as to which documents are
associated with which Shuttle flights isn't that great yet. |
||||||||||||
2023-08-01 |
Another 125 documents added to the Shuttle
Library. Many of these related to crew training,
mission control, and reviews of various types. The Shuttle Library page has also been refactored a little, so that there are now individual sections for each of the shuttle missions. I think some additional refactoring to introduce new sections will also be in order, but I haven't looked into it as of yet. |
||||||||||||
2023-07-31 |
I've updated more of the Shuttle
Library from the accumulated backlog sent in by Cooper
Lushbaugh over the last 6 months or so. That's an
additional 450+ documents. The topics of these
documents and those added yesterday are wide-ranging, though
I suppose it's fair to say that many of them are operational
in nature, and none relate directly to the internals of the
Shuttle's various computer systems or their software.
For example, there are lots of flight checklists and flight
plans. Their value insofar as elucidating the flight
software is concerned is probably mostly related to
understanding usage and version changes. But if
there's one thing I've learned throughout the course of the
Virtual AGC Project, it's that documents you imagined had no
relevance were disturbingly likely to provide essential
information. Meanwhile, Shuttle veteran Bill Miller has pointed out that while our library's previous 2-volume Space Shuttle Missions Summary was incomplete, stopping as it did at STS-131, the complete document (through STS-135) was in fact available elsewhere. So the full document has now been added to the library. Bill has also pointed out that while my distinction on the Shuttle page between PASS (Primary Avionics System Software) and PFS (Primary Flight Software) may perhaps have been technically correct, it nevertheless ignored the common usage of those terms. Namely, that the term PASS is generally used in preference to PFS even when PFS may be technically the correct choice. Given that that has been my experience as well, I've adjusted the Shuttle page to accommodate the common usage and phased out most uses of PFS. |
||||||||||||
2023-07-30 |
Given that I've finished up the
immediately-pending LVDC work I had been engaged in (i.e.,
transcription, assembler fixes, flowcharts, and syntax
highlighting), I've now exited from LVDC work for the time
being. Instead, I'm now trying to knock down addition
to the library of the vast backlog of Shuttle documents I've
been given, but which have been languishing in my to-do
list. 150+ documents have thus been added to the Shuttle
Library just now, but that's only the tip of the
iceberg. After that particular iceberg has melted,
hopefully I can go back to working on the Shuttle HAL/S
compiler; but just now that still seems comfortably far off. That's not to say that there's no LVDC work still in progress. Via hardware simulation, Mike has discovered a number of bugs in my implementation of the LVDC CPU emulator and has been patiently fixing them, so you'll see updates to that in the software repository, if you follow such things. And more may come. The bugs have been primarily in the area of CPU startup, and the MPY, MPH, DIV, and EXM instructions. Good thing Mike has my back on that one! As you may recall, he fixed a number of bugs in the AGC emulator via the same technique. But the difference in the AGC case was that we actually had a not-terrible (though not entirely complete either) set of AGC electrical schematics back then. And now have essentially a complete set of AGC schematics for many different revisions of the hardware. Whereas we have no such thing for the LVDC. So in the absence of electrical schematics, how has Mike managed a usable hardware simulation capable of cross-checking the behavior of the software emulation? Well, our primary documentation about the LVDC is the "Laboratory Maintenance Instructions: Saturn V Launch Vehicle Digital Computer, Simplex Models" (vol 1 and vol 2), which in spite of the title can be used more like a theory-operation-document if you read it in the right spirit. And as such, if you're diligent enough, from the description and the bits of circuitry pictured within, you can apparently cobble together enough of the LVDC circuitry to emulate its behavior. Personally, I never would even have guessed it was possible to do that ... though given that for the AGC we have various supplemental theory-of-operation documents like ND-1021041 and ND-1021042 that would let us do that for the AGC if we didn't already have actual schematics, I don't suppose I should be too surprised. Nevertheless I am. Good job! |
||||||||||||
2023-07-27 |
Concerning LVDC flowcharts .... I've
mentioned these obliquely in the last couple of weeks,
without giving any substantive detail before now.
Here's the story: The AS-512 (Apollo 17) and AS-512
(Skylab 1) LVDC software listings — which for the upteenth
time, may or may not be restricted by ITAR
from being presented publicly here — have certain mysterious
markings in column 71 of the punch-cards. Column 71
happens to be the last column of the program-comments field
of LVDC source-code lines. These markings are
undocumented, unsurprisingly, since we have essentially no
documentation about LVDC assembly language, and so the
markings' purpose and usage rules were not apparent to
us. After thinking about these markings for a couple
of months, I formed the notion that they could be used to
produce mid-level flowcharts of the LVDC source code.
To test this notion, I subsequently wrote
flowchart-generator software to convert the AS-512 and
AS-513 LVDC source code into flowcharts. Whether or
not the resulting flowcharts provide any meaningful
representation of the software, or indeed whether they are
useful in any sense at all, remains to be seen. In calling these flowchart "mid-level", I mean that they expose the flow of control within the corresponding software, but they do not provide any calculational details that would let you go in the reverse direction to re-create the software from just the flowcharts. If you want an analogy, instead of software source code, imagine the engineering design of an automobile, say a BMW X3. These flowcharts, in automobile terms, tell you that the BMW X3 has an "engine" and a "battery" and a "carburetor", and so on, fitting together in certain ways. All of which may or may not be true; but working backwards from that isn't enough to even create a working automobile, let alone a BMW X3 specifically, because it still doesn't tell you how you make an "engine" or any of the other component parts. At any rate, partially on that basis, I conclude that whatever the ITAR status of the LVDC software source code, there's no reason whatever to suppose that these newly-generated flowcharts are subject to any export controls. The LVDC page's new AS-512 and AS-513 Flowcharts section has thus been updated with all this info and with all of the new AS-512 and AS-513 flowcharts. You can decide for yourself whether they're of any value or not, though of course if you want to decide on their accuracy you'll have to follow the instructions to get access to the LVDC flight program source code, and to perform the manual effort of comparing the flowcharts to the code. I'm sure there are lots and lots of errors in the flowcharts, but I don't personally have the time and inclination to pursue them at this time any more than I have already. At least not sans feedback by you, my dear readers. |
||||||||||||
2023-07-26 |
Began fleshing out the Flowcharts section of the
LVDC page. |
||||||||||||
2023-07-22 |
Our modern LVDC assembler now has the
capability (like the AGC and AGS assemblers before it) to
produce assembly listings in colorized, syntax-highlighted
HTML, viewable in web browsers like Chrome, Firefox, or the
other guys. It's pretty swell, though as usual, unless
you've asked me to qualify you as a "U.S. Person" for
viewing ITAR-restricted material, I still am not in a
position to be able to show you any LVDC flight software,
syntax highlighted or not. The PTC
ADAPT Self-Test Program, however, as non-flight software,
has been reassembled and thus has a nifty
syntax-highlighted listing and I've updated the LVDC
page accordingly. Recall that the PTC (Programmable
Test Controller) ground-support equipment contained a
modified LVDC processor, and thus essentially ran LVDC
programs ... albeit with some differences. Speaking of the PTC, by the way, I recently had a conversation with one of the original LVDC developers who was lamenting the inadequate documentation they were presented with in trying to create new LVDC flight program versions by adapting the preceding versions. He tells me that they often had to resort to running the legacy code on the PTC, single-stepping and setting breakpoints and what-not, just to figure out what the code was even doing. Which I'm perfectly sympathetic to, given how difficult it sometimes is to figure out legacy code ... and pretty frightened by as well, if you think about the astronauts needing to ride a rocket programmed under those circumstances. That's life on the bleeding edge for you! |
||||||||||||
2023-07-17 |
|
||||||||||||
2023-07-13 |
Reconstructed AGC source code is now
available for the Aurora 88 program, for which we've so far
had only the octals dumped from physical memory
modules. Aurora 88, you may recall, was standard
checkout/acceptance software for the LM Guidance &
Navigation system. But during the reconstruction of
the software, Mike discovered several other novel features
it has that are reflective not only of the flow of the
software-development process back in the day, but also of LM
equipment that didn't survive the selection process and thus
wasn't used in flown missions. I refer specifically to
the LEM Optical Rendezvous System (LORS). Check
it out! The Aurora 88 reconstruction also afforded Mike the opportunity to make a couple of minor corrections to the Sundial E AGC software reconstruction announced a couple of weeks ago. The syntax-highlighted version of the source code has been accordingly updated. |
||||||||||||
2023-07-07 |
The LVDC assembler has been updated to reduce
(but not fully eliminate) most of the decimal-rounding
errors that I mentioned yesterday are encountered sometimes
(but rarely) when assembling the AS-512 and AS-513 flight
programs. (The total number of rounding errors has
been reduced from 30 to 6.) |
||||||||||||
2023-07-06 |
The
LVDC page has now been updated, principally with
respect to the manner in which "constants" are handled by
the assembler. This happens to mark a milestone, in
that the LVDC assembler has also been updated, to the point
that — if certain provisos are accepted as reasonable — the
AS-513 LVDC flight program now assembles without error and
without octal mismatches. Given that AS-512,
AS-206RAM, and PTC ADAPT SELF-TEST had already assembled
without error or mismatch, this implies that the
LVDC assembler is now fully working. At least,
until the next LVDC program is found and exhibits funky new
features not supported by the assembler as-is when we try to
assemble it. Hopefully the probability of that
happening is reduced, even if it can never be exactly
zero. And I should clarify that my present goal is
just production of the correct object code when valid LVDC
source code is input. There are plenty of other
respects in which the LVDC assembler isn't great, such as
not being very robust when confronted with certain types of
LVDC programming errors. Given my disturbingly-finite
capabilities, however, those other respects are also
problems for some other day. The provisos I mentioned above are either serious or negligible, depending on your point of view, and are two in number:
What all of the negative blather above fails to celebrate is the positive news that the transcriptions of the AS-512 and AS-513 flight programs to source code and to octal listings can now be regarded as complete and debugged. Obviously! Or else there would be mismatches between the assembled code and the transcribed object code, and I just told you there aren't any. Of course, the surety of correctness extends only to the data and code transformed to executable object code, and not to the program comments in those source-code files. I'm sure that there are many errors in program comments still awaiting discovery! |
||||||||||||
2023-07-04 |
On the LVDC page, some "new" features of in
the LVDC assembly language (namely, rare syntactical forms
or behaviors of "=H'...", "IF", "ORG",
and "DOG" found only in AS-513 source code) have
been covered. |
||||||||||||
2023-07-01 |
As I mentioned a week or so ago, we're in the
process of releasing reconstructed source code for various
AGC programs that we've previously released only as octal
dumps of their physical core-rope memory modules. All
of these program share characteristics of correct assembly,
of not being quite as perfect as we'd like, and of
nevertheless being good enough that we think they're useful
as-is. We'd hate for them to be lost through our own
negligence in not making them available. Not to
mention the fact that the more eyeballs are on them, the
greater the probability that they can be improved over
time. The lacunae, as usual, are sections that
don't correspond closely enough to any other available
assembly listing that we can guess symbolic labels, program
comments, or certain other technical aspects of the
code. Those suspect sections are a bit hard to
find. As usual, we have Mike Stewart to thank for the
reconstruction effort. At any rate, today's release is the reconstructed AGC source code for Sundial E. Recall that Sundial E was the acceptance/test program used for the guidance & navigation system, as well as the mission software for 2TV-1, a sequence of four crewed (but ground) missions for thermal/vacuum testing of the CSM. |
||||||||||||
2023-06-29 |
Four docs having to do
with reentry or rendezvous for several Apollo missions
were added to the library. (Thanks, Cooper.)
Continuing on the theme of the last entry in this log, I
guess that means there were re-doings a-transpiring.
(Ouch! Sorry ... but not really.) |
||||||||||||
2023-06-22 |
Big doings a-transpiring today! Well,
that's a bit of a misstatement. I guess it would be
more accurate to day that like everybody involved in
engineering design, we're often fighting a battle between
what's too imperfect to release versus what's too
significant not to release. Or as it's sometimes said,
not letting the perfect be the enemy of the good. So
I'm announcing several items today that fall somewhat under
that rather vague umbrella of worthiness if not necessarily
perfection.
As I mentioned, there are certain provisos in saying that
the modern LVDC assembler now "works". In fact,
there are three quirks that you have to live with if you
want to assemble AS-512 source code. They aren't terribly
bad, but they're annoying and I hope to eliminate
them. At some point. Two of the quirks are
addressed inserting a WORK ROOF or WORK
BLOCK directive, altogether one of each, into the
source code; while those are too technical to discuss
here, you can read about them on
the LVDC page if you like. The third quirk is
that in AS-512 there's a handful of locations — well, 19
of them, so that's nearly two handfuls and two footfuls —
at which the original assembler rounded floating-point or
fixed-point decimal numbers in a way that I cannot
understand, with the result that (from my perspective)
they are wrong in the least-significant bit.
Understand that I'm referring to literally thousands of
locations in AS-206RAM and AS-512 at which such rounding
is occurring, so this rounding error rarely happened ...
but it happened sometimes. Personally, I
think this was a (probably-undetected) bug in the original
assembler, perhaps related to insufficient arithmetical
precision in the computer running the assembler
program. But that's not really a mitigating
factor: The modern assembler needs to reproduce the
bugs of the original, no questions asked, rather than
stubbornly attempting to be "correct". Thus in the
end, saying that the modern assembler "works" depends on
how much you're willing to discount these 2 workarounds
and 19 rounding discrepancies! |
||||||||||||
2023-06-21 |
The LVDC
transcription guidelines have been updated with
respect to the way page titles will be handled in
transcribing AS-513, and into how I intend to rework the
existing AS-512 and AS-206RAM transcriptions. |
||||||||||||
2023-06-19 |
Updated the WORK ROOF
directive to the description of LVDC
assembly language in order to mimic some otherwise
mysterious behavior (probably a bug, or at least an
oversight) of the original LVDC assembler. |
||||||||||||
2023-06-18 |
Rejiggered the specification of the SYN
pseudo-op in the LVDC assembly language. |
||||||||||||
2023-06-17 |
|
||||||||||||
2023-06-16 |
|
||||||||||||
2023-06-15 |
Updated the description of the TABLE
directive in LVDC
assembly language. Also, added the hopefully-temporary
WORK directive of my own invention. |
||||||||||||
2023-06-13 |
Added an NAA document called "Mechanical
Document Interpretation" to the library.
While it's a general-purpose document (within the context of
NAA's drawing system), it does cover a lot of specifics
about NAA drawings for Apollo. The LVDC page has been updated to include descriptions of the LIT and ENDLIT pseudo-ops. Time sure flies! I've been buried so deeply in reworking the LVDC assembler to handle the Apollo 17 (AS-512) and Skylab 1 (AS-513) LVDC source code, that I haven't noticed how long it's taking. And it takes a lot, because not only were a number of new syntactic features added to the LVDC assembly language between AS-206RAM (for which I had designed the modern assembler) and AS-512/513, but also the assembler does various things differently under the surface. And of course, my requirements for our assembler demand that it produce not merely assembled code that works, but precisely the same assembled code as the original assembler. Meaning that I have to figure out these invisible differences in how the original assembler worked, using as clues only the assembly listings it produced. Since there's no documentation available for the original assembler, that leaves me having to go about it scientifically: observe a difference, hypothesize what the assembler thought it was doing at the time, implement a similar change ... and then try, try again if it doesn't work identically. Tricky! It's going well, but there are lots of mysteries left before I'm done and can go back the working on the Space Shuttle's HAL/S compiler system. To give you an example of the kinds of difficulties I mean, consider the DEC pseudo-op, which in LVDC assembly language (and many other assembly languages like AGC) lets you give the assembler a decimal number that it converts to a binary representation and stores at the current location in memory. For example, in LVDC (or AGC) assembly language, MY2 DEC 2.0B27means to store the machine's binary representation of the number 2.0 at the current memory location, which it also labels with the symbol MY2. (Don't worry about the B27 if you don't know what it means but it relates to the fact that the LVDC uses a 26-bit representation for numbers.) In AS-206RAM and AS-512, there are about 250 and 500 of these DEC statements altogether. In four of those in AS-512, the original assembler produced what I and my assembler think was the wrong least significant bit. In other words, there is a rounding error. 746 successes and 4 failures would sound pretty good in most situation ... except that in this situation it adds up to 100% failure! And why is the rounding wrong anyway? Is it me? Was the original assembler buggy? Dial me up next Tuesday, and perhaps I'll be able to tell you. But this little rounding bugaboo is not the last of my problems with the LVDC assembler. |
||||||||||||
023-06-06 |
|
||||||||||||
2023-06-05 |
|
||||||||||||
2023-06-03 |
More of the same as yesterday. |
||||||||||||
2023-06-02 |
I've made various updates to descriptions
of LVDC assembly-language, mainly relevant to macros
and their expansions. |
||||||||||||
2023-05-31 |
|
||||||||||||
2023-05-30 |
|
||||||||||||
2023-05-29 |
I've finished adding the document backlog to
the
document library. Well ... virtually the
entire backlog, as there's a handful of documents left over
that I'm dubious about posting, and which for that reason
I've held back for now. Perhaps I'll still end up
adding them sometime. Or not. But my point is
that the document backlog is mostly taken care of for
now. I've also added the promised searchable-text
layers to the recent documents that were lacking them.
Unfortunately, the large backlog of Shuttle documents is yet
another matter. Processing of those documents remains
on hold, as all of my Shuttle-related activity does, pending
resolution of my current LVDC-related workload. Which
is not imminent by any means. |
||||||||||||
2023-05-28 |
|
||||||||||||
2023-05-27 |
|
||||||||||||
2023-05-26 |
|
||||||||||||
2023-05-24 |
Added 5 documents to the library.
These relate to interconnections and signals of the Saturn
IVB stage's Instrumentation Unit (IU) (thanks Mike!), and to
mission control (MCC), as well as yet another Operations
Handbook, this time for the Skylab mission's CSM
(thanks Cooper!) |
||||||||||||
2023-05-23 | Incidentally, some of the documents I've been
adding to the document library in the last week or so could
stand some improvements like decent page orientations, or
(most importantly) searchable text layers. I'll get
around to that at some point, but I'll just have to owe it
to you for now. Meanwhile, Cooper (thanks!) has sent over yet another tranche of Apollo documents for the library, and this time I really (truly!) am going to take my time processing them. However, a few caught my eye and so I've gone ahead and added them to the library immediately. The ones that caught my eye are a pair of documents related to the mission control center (MCC) in Houston. The first is a general MCC familiarization guide from 1967, part of whose information we already had in abridged form. It contains (among other things) a facility map, building-by-building floor-plans, descriptions plus pictures of the equipment therein for identification purposes, high-level block diagrams interrelating these things, schema of the data flow between them, and documentation trees of all the associated manuals for such equipment. There are lots of documents listed in the documentation tree, and we have few (or perhaps none) of them. More interesting from my standpoint is the MCC Operational Configuration for Apollo 15. For want of a better explanation, it's primarily an explanation of what data is available at each of the 100+ consoles, in detailed enough form that you could make a reasonable simulation of the consoles as long as you didn't insist on correct coloring and overall scale. Because who doesn't love a good simulation? To give you an example, Console no. 37 is "AGC/CMC Support", the image of which I've reproduced in a tiny form at the upper right, but which you can obviously see full size in the document itself. I've highlighted one small area in green, which the document refers to as "LOC 3", and zoomed in on that area in the image at the lower right (unfortunately featuring my mouse cursor as well). Later on in the document, the interpretations of each of the 36 indicators in LOC 3 (as well as every indicator in all of the other LOCs of the console I haven't zoomed in on, and for every other console as well) are listed, of which here are a few:
Pretty nifty, no? The only drawback is that the
document doesn't tell us what slogans like "CH
OVRIDE" may mean, nor what's displayed on the two CRT
monitors (LOC 6 and LOC 7), so we need to look elsewhere
... oh well, too bad, so sad! Some of that stuff is
pretty obvious, though, and perhaps some of the remainder
is in the many, many missing manuals of the documentation
tree that I mentioned above. A slightly-different scan (bigger grayscale vs the older,
smaller B&W) of the Lunar Module Abort Guidance System
Design Survey document has been added as well.
Perhaps it's better than the old one, perhaps not. |
||||||||||||
2023-05-20 |
Well, I decided to go ahead and finish up
processing the document tranche I mentioned yesterday as
something I had intended to take my time with, so 26 new
documents (or alternate scans of existing docs) have been
added to the Document Library.
It simply resulted in my pulling out less of my remaining
hair than continuing to make the changes to the LVDC
assembler needed to deal with the LVDC AS-512 flight
program, which is what I had intended to spend my day on ...
and will now have to return to since I no longer have an
excuse to keep me away from it. |
||||||||||||
2023-05-19 |
Added seven docs to the
Document Library, all sections or volumes or revisions
of the Apollo Operations Handbook that we didn't have
previously. (Thanks, Cooper Lushbaugh!) There
are more documents in this tranche that I just don't have
time to deal with right now, though not additional Apollo
Operations Handbooks, that presumably I'll be posting over
some undetermined time-frame in the near future. From
my standpoint, the most-notable additions today related to
Apollo 1 and Apollo 7, but obviously tastes vary. |
||||||||||||
2023-05-18 |
Last year I gave a
15-minute video presentation about the Virtual AGC Project
for Software
Heritage's software-preservation-focused SWHAP Days
conference. Or at least that's what the talk was
supposed to be about, but I had only a small fraction
of the time I would have needed to cover the entire Virtual
AGC Project, so the video's scope is actually considerably
trimmed-down to make it as concise and interesting as I
could manage in the time available. Which is a good
thing really, since it's difficult enough to sit through 15
minutes of my highly-scripted droning, let alone the several
hours of winging it that I would likely have used up
if not constrained. At any rate, I notice that
Software Heritage has now put the conference materials
online, so you can watch the video yourself from the link
above, if you're so-inclined, or else from the hyperlink
I've added to the FAQ page. Do select the 1080p
resolution and full-screen display, if you know how to do
that on YouTube. And really, my droning isn't as bad
as all that. I hope! |
||||||||||||
2023-05-17 |
Added another version of the Command Module
Operations Handbook to the document library.
Mike points out that:Which is welcome, considering that we continue to suffer from a severe Apollo 7 (and Apollo 1) deficiency. Of course, software would be better. |
||||||||||||
2023-05-16 |
Various documents were added to the
document library:
MAC (MIT Algebraic Compiler) was a computer language
somewhat like FORTRAN (though fancier in some ways) that
theoretically would have been useful for scientific
computing. Apparently, MIL/IL tested out potential
AGC algorithms by coding them and running them in MAC
before coding them for the AGC. I've often heard
about it in the past, but basically haven't thought about
it too much. Lately, though, we've gotten a fair
amount of very early code written in MAC (not yet posted
here!), so in preparation for dealing with that MAC code
I've been looking into it a little bit. When my
understanding is more complete, I'll probably write it up
for the site in my typical wordy, overblown style, but I
haven't done so yet; that's probably why this post is so
long! (The "sample MAC program" I'm posting today,
by the way, isn't the incoming MAC code I mean, as it's
not even from Apollo.) At any rate, I was shocked to realize that for all I've
heard about it, up to this point we (the Virtual AGC
Project) haven't had any code in MAC or any
documentation about MAC other than superficial references
to it. Moreover, I've found no available information
online about MAC that's deeper than the "this computer
language used to exist" variety. Of course, googling
for "mac", as you may imagine, does not produce incredibly
helpful results; thanks a lot, Apple! Fortunately,
the language itself appears (at least superficially) to be
quite easy to understand even without documentation,
particularly now that I've been steeped in the HAL/S
language used for the Space Shuttle flight software ...
but I'd still prefer to have the documentation. And
it's not as if the MAC language is secret or proprietary.
It's simply that nobody ever seemed to bother. Which
is a shame, considering that (as I say) we have incoming
code actually written in it! With that said, we have found some MAC
documentation. But the news about it isn't
rosy: Everything I've found so far is trapped in the
MIT Library, and as near as I can tell, the MIT Library
doesn't let anyone look at MIT Library materials except
MIT staff, students, and faculty. And sometimes, if
you're really lucky, researchers from affiliated
institutions. What happens in the MIT Library stays
in the MIT Library. As one of the non-elite myself,
I therefore have no means of accessing any of these
materials. Nor do I have any such elite folks on a
string to go and fetch such material for me. The
Library does have a searchable database, though, so they
can have a giggle while dangling a list of the materials I
can't access over my outstretched arms. For example,
here are some of the juicy items you find:
But enough of that! Regarding Tindallgrams, while
I've mentioned them briefly somewhere on the site, I don't
think I've posted any of them, or at least not many.
At any rate, a lot of folks consider them very useful
sources of information. ALSJ has posted a lot of
them that apparently came from the UHCL archives, so there
isn't too much need for reposting them here. But I'm
nothing if not compulsive (or is it obsessive?), and some
of the UHCL/ALSJ files are lacking a searchable text
layer, so now that this gap in the Tindallgram race has
been pointed out to me, I naturally need to OCR where
necessary and repost! Apparently, Bill Tindall wrote
around 1100 of these memos for Gemini and Apollo, and what
I'm posting today is a half-dozen PDFs of a portion of
them. Not that anything is being intentionally
excluded, you understand, but merely that only a portion
of the memos seem to have survived. There's now a
dedicated "Tindallgrams" section in the document library. Finally, the initial transcription
of the AS-512 LVDC flight program has been
completed. Thank you to all participants!
However, neither has it been proof-read for typos nor
has it been debugged via assembly (and comparison of the
assembly to the separately-transcribed octal
listing). I expect — or perhaps more accurately, dread — that the assembler will itself
require updates as the debugging process proceeds.
At any rate, that's next on my agenda, beginning
tomorrow and continuing until who knows when? My
expectation is that the AS-513 LVDC flight program can
be cut-and-pasted from the AS-512 LVDC flight program to
a great extent, so I don't anticipate any work to begin
on the AS-513 flight-program transcription until the
AS-512 source code has been rendered as error-free as
possible. I do expect to make some
improvements to the LVDC assembler along the way:
principally, giving it an option for producing
color-coded, syntax-highlighted, hyperlinked, HTML
assembly listings, much as the AGC and AGS assemblers
have already been doing for many, many years now.
I skipped this feature the first time around, when the
LVDC assembler was only used for the AS-206RAM flight
program, because fear of ITAR prevented me from
"exporting" the nifty HTML assembly listings online and
thus it didn't seem to be worth the effort. But someday
I hope I can post the the LVDC software online, and even
in the near term while I'm afraid to do so, souped-up
assembly listings turn out to be such a very helpful
study tool that I prefer not to do without them.
I've become addicted to the syntax highlighting ever
since I saw the LVDC color-coding scheme Mike created
for the vim text editor, even though I've not
been using vim myself for my contributions to
the transcribed source code. |
||||||||||||
2023-05-15 |
It was pointed out to me that the "Virtual
AGC Software Landscape" diagram that appears at the very top
of our home page hasn't been updated in a while, and
that we now have additional binary and/or source-code
versions of several items listed (or sometimes not even
listed) in that diagram. So I've updated it, at least
in so far as the specific problems pointed out to me are
concerned ... I think. Unfortunately, there
are various visual decorations in the diagram whose
interpretations I didn't write down anywhere, and it's no
longer clear exactly what I had in mind with many of
them! For example, why are some software versions
accompanied by smiley faces and some not? Why are some
versions boldfaced and some not? I don't know. The
diagram may need to be rethought and revisited at some
point, if even its creator can't grasp all of the
nuances. But at least for now, I'm calling it updated. |
||||||||||||
2023-05-13 |
Mike Stewart has sent along a
new document for the library, for which his synopsis
is as follows:But that's usually the way it is, isn't it? By the time you fully understand anything significant, the knowledge is obsolete. Though the fact that Apollo is not a moving target any longer is pretty useful for a project like Virtual AGC. There's no new thing under the sun in so far as Apollo is concerned, and being lazy, that's the way I like it! |
||||||||||||
2023-05-11 |
|
||||||||||||
2023-05-10 |
Added a newer version, at least of Volume 2, of the Apollo 16/17 CSM Operations Handbook to the document library. | ||||||||||||
2023-05-04 |
Added a doc to the
document library. |
||||||||||||
2023-05-03 |
|
||||||||||||
2023-05-02 |
|
||||||||||||
2023-04-18 |
Some updates to the
LVDC-transcription guidelines. |
||||||||||||
2023-04-16 |
The remaining source code for the original
(Shuttle era) HAL/S compiler, known as HAL/S-FC, has now
made itself available, and has
been added to our source tree. (See also the
README at that link.) Recall that the HAL/S compiler
was written in the high-level language known as XPL, or at
least a modified form of XPL, with some code in BAL (IBM
Basic Assembly Language). For anyone who has looked at the partial HAL/S-FC listing that was all we had previously, note that for technical reasons I won't bore you with I've changed its folder name from HAL-S-FC-REL32V0 to PASS.REL32V0. The "new" code comprises passes 2, 3, and 4 of the compiler, whereas before we only had some significant portions (but apparently not all) of pass 1. I'm not entirely sure what all the new passes do in detail, but I'm pretty sure that the portions we had before got no farther than syntactical parsing, whereas we now have code-generation and optimization. Part of the problem in discussing it without having the opportunity to review the code in detail is that the documentation for the compiler system does not discuss it in terms of "passes" (1, 2, 3, and 4), but rather in terms of "phases" (1, 1.5, 2, and 3). So your guess as to how these passes and phases correspond to each other is as good as mine at this point. ... Though having said that, an email has just rolled in that sheds some light, so I may come back to this issue later with some more-enlightening comments. Please inform me if you notice any oddities in these files. Some semi-automated conversions were needed (at least, in my less-than-humble opinion) to massage them from the form in which they were provided to me into the form in which you see them, and I'd certainly like to know if I managed to mess up the conversion somehow. Incidentally, if some industrious person wants to work out syntax highlighting for HAL/S (*.hal), XPL (*.xpl), and/or BAL (*.bal) source code for our GitHub repository, I certainly wouldn't look askance. I'd love to have it, but I suspect we'll be waiting indefinitely for it if I have to work it out myself. Yes, I know we have no flight software in HAL/S as the situation stands right now, but there's lots of other HAL/S source code there, geared at learning HAL/S, and learners can certainly benefit from syntax highlighting. Actually, I could say much the same for LVDC syntax highlighting (see the transcription guidelines for vim-based LVDC syntax highlighting), but it would be depressing to do so when I can't actually post much LVDC source code to GitHub to benefit from such hypothetical syntax highlighting. |
||||||||||||
2023-04-15 |
Anyone following the LVDC-related news on
this site is aware that due to ongoing uncertainty about the
status of LVDC software under the U.S. regulations known as
ITAR, we are presently restricting access to such software
to those who are interested enough (and able) to
individually present us with credentials demonstrating that
they legally qualify as "U.S. persons". What that
unfortunately means as well is that there are no links to
the software on this site, and no updates in this change-log
about whatever progress is being made on the internal
processing we must do here with such software, to transcribe
it into source-code form, assemble it, run it in emulation,
etc. But I figure it's important to have some way to
communicate such progress to those who have not (or cannot)
go through the demeaning process of proving they are
"worthy" by accident of birth to look at the sacred software
itself. So I'm toying with the idea of writing about
the progress here, but doing so in grayed-out blocks, like
so: Restricted-access LVDC-software news:
Alas, all Space Shuttle work is on hold as long as I'm
involved in this LVDC processing. |
||||||||||||
2023-04-14 |
The
LVDC-transcription guidelines posted yesterday were
updated in regard to demonstrating U.S. citizenship and the
use of LibreOffice for transcribing. |
||||||||||||
2023-04-13 |
We are currently in the process of
transcribing the LVDC flight-program source code for AS-512
and AS-513. If you'd like to assist, read our guidelines
to see what's involved and whether or not you're legally
eligible to participate. |
||||||||||||
2023-04-05 |
The Apollo 14 (AS-509) Operational Trajectory
document has been added to the library. What's notable
about this, in light of the recent activity in terms of
acquiring LVDC source code, and particularly AS-512 source
code, is that the document includes a table of all
the LVDC software presets, referenced not only by
variable name but by memory address. Where this
contrasts with preset-tables in launch-vehicle operational
trajectories we presently have for other missions is that
the other such documents don't include the memory
addresses. The presence of the addresses means that we
can compare these Apollo 14 LVDC addresses to the Apollo 17
LVDC addresses in source code, and find that they are
largely or even entirely identical. (Admittedly, this
has only been spot-checked so far.) That gives us not
only a measure of how the LVDC flight software was changing
in the interval from Apollo 14 through 17, but more
importantly, it means that many of the Apollo 14 LVDC
presets can be directly applied to an Apollo 17
mission. Of course, "true" LVDC is not yet integrated
into (say) Orbiter NASSP, though as I understand it, the
presettings may still be of current relevance to relevant
spaceflight-simulation systems in spite of that. |
||||||||||||
2023-03-31 |
Big LVDC news: Assembly listings for
the LVDC Flight Programs of the Apollo 17 (AS-512) and
Skylab 1 (AS-513) missions have suddenly become
available! Besides that, we've gotten a large printout
of a Saturn IB test run for the Skylab 3 (AS-207)
mission. Read all about it here. Well, when I say "suddenly" ... for you, perhaps; for me, it has been ongoing for the last 6 months, and has therefore seemed fraught with uncertainty and as slow as molasses. Not that it's anything I've achieved personally, you understand; naturally, Mike Stewart has been deeply involved, and hopefully I'll be able to provide fuller credits later when some of the dust has settled. But as they say, that makes no never mind now. The LVDC page in general has thus been the recipient of substantial rewrites related to this sudden availability. As you may recall, the only LVDC source code available until now has been that for the so-called PTC ground-test equipment, along with the uncompleted, undebugged code for the unflown AS-206RAM mission. Whereas in contrast, the AS-512 and AS-513 Flight Programs are the final, actually-flown versions of the software! This is all so new that the write-up doesn't include much technical detail about the new listings. That'll have to wait for more-extensive analyses over time. Nor have transcriptions to source code yet been made, so we can neither assemble this code yet nor run it in the LVDC CPU emulator. Unfortunately, you'll also recall that there has been uncertainty under U.S. law as to whether the AS-206RAM source code could be "exported" — i.e., posted online — and that I've reluctantly needed to hold it back from public view until these issues are resolved. That uncertainty obviously extends immediately to the AS-512 and AS-513 Flight Program source code as well. I will release any or all of them to "U.S. persons" (i.e., U.S. citizens and some others who qualify) who apply to me directly, but alas that's little consolation to those of you who don't qualify. I deeply sympathize, and hope the situation changes for the better at some time in the future. Important note: If I've granted you access to the AS-206RAM software listing in the past, I'll happily grant you access to the "new" AS-512 and AS-513 software listings as well, without you having to go through the rigamarole of proving to me again that you're a "U.S. person". However, if you haven't received a notification of the new hyperlinks, you'll have to drop me a note reminding me to send them to you. Sorry for the inconvenience! The potential ITAR issue is particularly annoying insofar as it relates to integrating LVDC software into existing spaceflight simulation systems. That wasn't so important as long as the only surviving LVDC software was for AS-206RAM, but it's extremely irritating now that Apollo 17 LVDC software is available. I have an unsatisfying but hopefully-feasible workaround for the problem. As I've mentioned here several times recently, I've been creating a compiler for the computer language (HAL/S) in which Space Shuttle flight software was written. Since the Shuttle flight software suffers (in my mind) from the same ITAR uncertainty afflicting LVDC code, I've been pursuing a strategy with the Shuttle compiler and emulator that might be applicable to the LVDC code as well. The basic idea of this strategy is that instead of compiling Shuttle code to the machine language of the Shuttle's computer system (IBM model AP-101S), I instead compile it to a different form (which I call PALMAT), and provide a PALMAT emulator that can run the compiled PALMAT. The significance is that even if flight-software source code or executable code for the AP-101S were restricted under ITAR, I see no reason in the world PALMAT code would be restricted; after all, one can neither recover the original source code nor produce usable AP-101S executable code starting from PALMAT. Similarly, if we had an assembler for LVDC source code that assembled to some form (let's call it LALMAT) other than LVDC machine language, and if we had an emulator for LALMAT, there would be no reason we couldn't export the LALMAT code from the U.S., and no reason under ITAR that we couldn't integrate the LALMAT emulator into spacecraft-simulation software such as Orbiter. Of course, LALMAT doesn't have to be something invented ... it could be something as simple as a translator from LVDC source code to (say) C source code. There are several drawbacks to this scheme, other than the obvious one that I'm no legal beagle and my legal opinion is worth the paper it's digitized on. Those drawbacks are:
I guess the executive summary is that if there are any
"U.S. persons" keen to help transcribing the AS-512 and
AS-513 listings into source code, and/or specifying LALMAT
and coding an LVDC-to-LALMAT assembler and a
high-performance LALMAT emulator, then you should make
yourselves known! |
||||||||||||
2023-03-24 |
I've rescanned the Apollo 8 Flight Crew Log
which was added to the document library about a week ago, so
you'll now see it listed among the recent additions for
today rather than for the 18th. Not that there was
anything particularly wrong with the previous scan ... well,
there was one page that had turned out a little funky
without my noticing it ... but the new scan is definitely
nicer. And bigger, alas! Really, it just gave me
the opportunity to try out a new scanner that I couldn't
resist purchasing when I saw a good deal on it; but if
you're going to digitize someone's precious keepsake for a
permanent archive, you may as well do it in style. By the way, I don't know if there's anybody engaged in producing an index for this document — I wish! — but if so, I can assure you that the new scan has the same number of images, in the same order, so all page numbering remains the same. (Oh, I did notice that on the earlier scan there was one image in which the left-hand and right-hand pages on it were swapped, which is now fixed. But I don't think that should affect any indexing.) |
||||||||||||
2023-03-20 |
Mike Stewart has sent over Volume II of the
Apollo Operations Handbook for Lunar Module LM-2, which I've
added to the library.
Recall that he also sent over Volume I about a month ago. One question I'm often asked is this: It's great and all that I can now run an AGC emulation, but what do I do with it? Or more bluntly: How do I use an AGC? To which my normal too-glib answer basically amounts to: Train to be an astronaut! Of course, this really is just a cover-up for the fact that I don't personally know how to use an AGC to do anything substantive. (To be fair to myself, I also normally point out that I'm a poor person of whom to ask that question.) Well ... call it stupidity, call it forgetfulness over the decades I've been involved in this, call it being overwhelmed, call it the sheer size and eclectic nature of these documents, along with the fact that we don't have just all that many of them — call it whatever you will — but for some reason I've been (or have become) blissfully unaware that one great charm of these Operations Handbooks for the AGC aficionado is that they contain detailed instructions for using the AGC, on a crew-member-by-crew-member and flight-phase-by-flight-phase basis. Those instructions appear in Volume II in general; look for sections titled "G&C General Procedures" for the CSM or "Normal/Backup Procedures" for the LM. The LM version of the handbook also integrates AGS operating instructions alongside the AGC operating instructions. In the case of LM-2 (the volume added to the library today), look in section 8.6. Live and learn, I guess! Or perhaps "live and forget" might be a more-realistic appraisal, which is my excuse for dumping every little detail onto this site so that it hopefully cannot be forgotten as easily. |
||||||||||||
2023-03-18 |
Roger Wagner has sent me a physical copy (or
at least a NASA-generated xerox of a physical copy) of the
Apollo 8 Flight Crew Log, which I have duly digitized and
added to the document library
in both low-size PDF form and high-resolution archival
form. Superficially it may appear that we already had
these documents in the library ... but what we had before
were the blank forms for the log and/or partially-filled-out
logs not from the actual mission. Whereas these are
the actual logs as filled out by the crew, insofar as I can
see. If you want to know what Frank Borman thought
about his cream of chicken soup on Day 4, this is the place
to look! (I jest. The only soup they got on Day
4 was pea soup. Bill Anders ate all of his.
Frank Borman and Jim Lovell don't seem to have filled out
their menu log on that day. They did get cream
of chicken soup on Day 3, for lunch, but Frank Borman didn't
fill out his lunch log on that day either! This may be
a mystery that will never be solved.) |
||||||||||||
2023-03-07 |
Roger Wagner has also sent me a copy of the Apollo
17 EVA-1 checklist for the lunar surface, as well as high-resolution
imagery for the same. Obviously, lunar surface
stuff is not our particular interest here at this site —
quick, somebody inform the Apollo Lunar
Surface Journal! — but a foolish consistency is the
hobgoblin of little minds. I was happy to accept
it. Even if you're primarily interested in the
spaceflight tech rather than the moon per se, the
photos are still amusing and worth a look. |
||||||||||||
2023-03-06 |
Added a copy of the "Apollo
13 LM Malfunction Procedures" to the document
library. It happens to have been digitized from Jim
Lovell's original copy. Thanks to Roger
Wagner for scanning and donating it! |
||||||||||||
2023-03-03 |
Added a couple of documents to the Shuttle
library related to the HAL/S programming language. |
||||||||||||
2023-02-23 |
The writeup for Sunrise 45
has now been augmented with a sweet list of instructions for
some things you can actually do with Sunrise 45 ...
a useful feature that (alas!) I all-to-often neglect to
provide with AGC and other software. |
||||||||||||
2023-02-22 |
You may recall that about 4 months ago — only
4 months? It seems like an eternity! — Mike had managed to
obtain dumps from physical core-rope memory modules of the
Block I AGC programs Sunrise 45 and Sunrise 69.
Sunrise is one of a series of programs — the others being
Sundial for the Block II AGC and Aurora for the LM AGC —
whose principal claim to fame is that they were used for
ground-acceptance and other testing of the Apollo spacecraft
guidance-and-navigation systems. Thus not only is
Sunrise one of our very few surviving Block I AGC programs
(the other being Solarium), and indeed the oldest
non-trivial AGC program available, but it's also darned
useful for anyone interested in building their own Block I
system. Because now you can test it! Not that
collision between reality and your expectations will
necessarily bring you instant joy. At any rate, I digress. The news today is that the AGC source code belonging to the physical dump of Sunrise 45 has now been reconstructed, and is available on our Colossus page, in our software repository, and so on. Enjoy! |
||||||||||||
2023-02-20 |
Mike sent over a few new documents for the
Apollo document library.
Here's his synopsis:
Besides that, there is a Space Shuttle "document" that
has been floating around for some time, but which I had
resisted adding to the Shuttle library because I thought
it was just a collection of pages from a another document
in the library (namely IBM FSD document 85-C67-001, "Space
Shuttle Model AP-101S Principles of Operation with Shuttle
Instruction Set") for which somebody had been reviewing
changes. But has been pointed out to me (thanks
Hartmuth Gutsche!) that it contains material — a lot
of material — found neither in the afore-mentioned
document, nor in any other source presently available to
us. This thing has no title, date, or author, so I
can't even really tell if it's excerpted from a single
document or from a variety of documents. At any
rate, I've assuaged my guilt a tad by adding a few
niceties to the document, such as searchable text and
correctly oriented pages, and have now posted it in the Shuttle
library.
|
||||||||||||
2023-02-15 |
|
||||||||||||
2023-01-16 |
Several documents added to the
main document library and to the Shuttle
library, most of which I've been sitting on for a
while because I've begrudged any time I had to spend away
from working on the Shuttle HAL/S compiler. Mostly, these documents are
supplementary in nature and don't directly relate to Apollo
or Shuttle computer systems, which of course is our primary
focus. |
||||||||||||
2023-01-03 | Added just one document to the Shuttle
Library. It appears that we've finally had the
Shuttle Library for long enough that some of the
documents in it are no longer marked with the badge. Yes, I know: Who
cares? Well, I was eagerly awaiting the day
when some Shuttle documents were no longer "new". Actually, the newly-added document for today, the STS-114 Flight Readiness Review (FRR) presentation, gives some interesting insights into the evolution of the Shuttle's onboard software that I at least hadn't seen before. Since we don't actually have any of the Shuttle's flight-software source code yet, it's all too easy to get into the habit of just thinking or talking about the Shuttle software, rather than admitting that there were many versions of it and that there were significant changes to the software over time into which we (unfortunately) have little visibility. However, this FRR gives a rough count of the pretty-substantial amount of code changed from STS-107 (OI-29) to STS-114 (OI-30), as well as a top-level summary of the nature of those change. In brief:
In looking through these notes, I see that I've neglected to mention what I personally have been working on lately. Whilst awaiting the arrival of Shuttle flight-software source code on my doorstep — or more accurately, my inbox — and in lieu of a working version of the Shuttle-era HAL/S compiler, I've been writing a modern compiler and emulator for the HAL/S computer language. Recall that HAL/S was the high-level language — and a pretty sophisticated one at that — in which the Shuttle's Primary Flight Software (PFS) and Backup Flight Software (BFS) were written. Creating this compiler and emulator turns out to be quite a substantial effort, in which I'm increasingly thinking that I'll eventually want or need to enlist the help of other coders who are paying attention. But in spite of my probable long-term need for help, I'm still making good progress on it by myself. For my immediate engineering purposes, I'm actually combining the HAL/S compiler and emulator functionality in the form of a HAL/S interpreter, into which you can type HAL/S statements and immediately see the results from compiling and running that code. Yesterday was a big milestone for that, in that it was the first time I was able to see it produce some output ... admittedly, on a very small but still important subset of the HAL/S language. For illustrative purposes, here's a cut-and-paste of a short interactive session with the HAL/S interpreter: HAL/S > DECLARE I INTEGER, X SCALAR, Y SCALAR;I suppose it's obvious to you, but "HAL/S > " is the user-prompt displayed by the interpreter, the stuff in red is output by the emulator, and the rest of the stuff was what I typed in myself as input to the interpreter. As brief as this session is, you can still see various interesting features of HAL/S. For example: It is strongly typed, and hence all variables must be DECLARE'd before use; floating-point types (or in HAL/S lingo, SCALAR types) are automatically rounded when assigned to INTEGER variables; there is no multiplication operator, and multiplication is done just by sticking things next to each other, as in 3 X; and the WRITE(6) statement shows some clear inheritance from the FORTRAN language, even though HAL/S as a whole bears very little resemblance to FORTRAN. |
2022-12-30 |
As you may recall — gosh, was it only two
months ago?! — we were recently able to add dumps of the
physical rope-memory modules for the SUNRISE 45 and SUNRISE
69 programs to our so-called Rope Module Dump Library
(RMDL). That was a big deal, though I guess not too
much was made of it, because SUNRISE was the system-checkout
software used for the Apollo Block I AGC, similar to what
SUNDIAL was later for the Block II AGC or AURORA for the LM
AGC. Another thing I appear not to have made a big deal of at the time was that one of those memory modules (out of the 3 for for SUNRISE 45 or 4 for SUNRISE 69) was exceptionally flawed in comparison to most of the rope-memory modules that had been dumped so far. While Mike was exceptionally motivated to find fixes for those flaws, due to the significance of the SUNRISE program, and was indeed able to do so in an effort that you might describe as a tour de force, it still gave us a tad less confidence than usual in the 100%-correctness standard to which we strive to adhere. Perhaps that's why I failed to really mention it at the time. Oops! I don't think the omission was intentional on my part, but who knows? Fortunately, in this case karma has not turned out to be a bitch. A second physical instance of that problematic SUNRISE 45/69 rope-memory module — albeit with a different part number, 1003733-021 vs 1003133-20 — has now turned up and has been dumped. And lo-and-behold! The dump of this newer module agrees perfectly with all of Mike's corrections to the previously-dumped module. Our versions of SUNRISE 45 and SUNRISE 69 were correct all along ... but now we can know for sure that they really are correct, and can feel good about them. Many thanks to Larry McGlynn for giving us access to this newer module. You can read about it here. |
2022-12-15 |
A handful of docs added to the Shuttle
library, though these particular docs are more
foundational in nature and less relevant to actual Shuttle
operations than usual. |
2022-12-13 |
Added 30 docs to the Shuttle
library, plus fixed the database entry for an
additional one that was "added" a long time ago but hadn't
actually been appearing on the library page.
Admittedly, of the other 30, quite a lot of them are big
ones with 3 or 4 parts each, so it's not so much 30 new
documents as 30 new pdf files. |
2022-12-08 |
|
2022-12-04 |
A handful of docs added to the Shuttle library. |
2022-12-01 |
I've finally conceded to myself, in spite of
not yet having any of the Shuttle software in hand, that the
Space Shuttle work is substantial enough to actually put the
Shuttle and Shuttle Library pages in the banner that appears
at the tops of these web pages. (They're the lowest
ones on the right-hand side.) I hope I won't have to
eat those words later. I actually had to clear the
cached files from my browser to get them to show up, so who
knows how many people will actually be able to see the new
entries! |
2022-11-28 |
|
2022-11-26 |
On the Shuttle page that's under
construction, I've added what I think is a
complete list of Shuttle software version numbers vs
mission. Several documents that provided this
data have been added to the Shuttle
library, particularly Shuttle mission-summary sheets. |
2022-11-25 |
Cooper has sent along a couple more
Shuttle documents. These happen to be revisions
of the Shuttle "Data Processing System Dictionary" which we
didn't already have. The DPS Dictionary is rather
important in terms of Shuttle mission simulation, because
it's the best reference we have at the moment that can
relate what's shown on the Shuttle's display screens to
specific Shuttle software versions. (The formats of
the display screens are not controlled by the Shuttle's
principal and backup flight software, PASS and BFS, but
rather by "templates" stored on mass storage units that
bypass the main flight computers entirely. So even
if/when we get the Shuttle's PASS and BFS source code, we
couldn't tell from it how the displays are formatted!) |
2022-11-23 |
A couple of
Shuttle documents have been added to the library.
(Thanks, Cooper Lushbaugh!) |
2022-11-17 |
We now have AGC software AURORA 88!
This was the standard checkout software used for the LM
guidance system. We've had a version of near-Aurora
for some years now, namely DAP AURORA 12. Now, DAP
AURORA 12 is an engineering version that was forked from (we
believe) AURORA 86 or 87 and then developed independently
thereafter for reasons not entirely clear to us at this
juncture, so it shares a lot of characteristics of AURORA 88
but isn't really a "true" Aurora. AURORA 88 (or
earlier, AURORA 85) is the real deal, and is what
you would have had to work with, back in the day, if you
were doing any kind of checkout on LM systems. The modules themselves are courtesy of Steve Jurvetson (thanks, Steve, I wish there were more of you!) and as usual the heavy lifting was all done by Mike Stewart. I've integrated the dump into our VirtualAGC GUI software, so you can run it to your heart's content, if you like. Or if it's too much hassle to rebuild VirtualAGC from source, you can download just Aurora88.bin and use it with your existing copies of yaAGC and yaDSKY2, though that admittedly requires a little more knowledge of exactly what you're doing; in principle, it's something like this: But I digress! The Luminary page also has been updated accordingly. At the moment, AURORA 88 exists merely as a rope-memory-module dump, so we do not yet have source code. Due to similarities with DAP AURORA 12 and SUNDIAL E, I expect that a reconstruction of the source code will be available in the not-too-distant future, though I don't promise any time-table for that. Mike normally — well, always — is the one doing these source-code reconstructions, but as you may well imagine from the fact that lots and lots of these memory dumps have been appearing lately, it's not as though he has an infinite amount of time for reconstructing software. And while I'm tempted to try my hand at it, I'm busy with certain other things at the moment. My personal thought is that if by any chance any of you would like to get in on the fun by trying your hand at it ... well, who knows, it could be your ticket to fame! (Spoiler: It won't! But you might find it more interesting than jigsaw puzzles, to which it closely akin but more rocket-sciency.) |
2022-11-12 |
By the way, these are not the only things I found
languishing in my to-do list. There are still a
dozen or so, with oldest being from 2011 (!). |
2022-11-02 |
The last few days I've been adding Space
Shuttle documents to a perhaps-temporary new library page
I've added ... the reason for which may or may not become
clear at some point. At any rate, since it's both
preliminary and perhaps not permanent, there no links to get
to it from anywhere else on the Virtual AGC website. You can
view it here if you like. I mention this merely
for the benefit of those (probably few!) who watch our
github change logs, and wonder why I keep talking about
adding shuttle documents but none of them ever seem to
appear on the document-library page. Well, this is
why. |
2022-10-29 |
And redoubled! The Block I programs I
mentioned a couple of days ago, namely SUNRISE 45 and
SUNRISE 69, are now available as well. Though only in
executable form ... not the source code, which will take a
lot longer to reconstruct. If it turns out to be
possible, which I'm sure it will to at least some
extent. So in other words, you can run it in our Block
I CPU emulator, with an emulated Block I DSKY, either
directly or through our VirtualAGC GUI program, but that's
about all for now. The Colossus web page has
been updated accordingly. This is exciting not merely because it's the earliest AGC software currently available, if you don't count TRIVIUM, an example program you could fit on one page, but because the primary use of SUNRISE was as a system test. It has a lot of Block I AGC self-test software in it. So if we can figure out how to use any of that test software, there's always the possibility of discovering exciting, new bugs in the Block I CPU emulator. Oh, joy! And maybe even fixing them. Fortunately, there's a pretty fair amount of documentation about SUNRISE, and that's bound to be helpful. |
2022-10-28 |
|
2022-10-27 |
It has been pointed out to me that the AGC
fixed core-memory was not based on ferrite material,
but rather on wires of a magnetic material called
Permalloy. (The AGC's erasable memory, on the other
hand was based on ferrite cores.)
Unfortunately, I've been calling these things "ferrite
cores" or "ferromagnetic" for years and years on this
website and elsewhere, most recently in a presentation for a
Paris workshop on software preservation that I gave last
week. So I've been tracking down and fixing this
incorrect phrasing. All except Paris, since that
presentation is out of my hands now and can't be
fixed. I'll always have Paris. By the way, I'm
told that the video from the workshop from that will be
online, one of these days, and when that happens I'll be
sure to badger you with it here. Speaking of which, we now have lots and lots of data dumps taken from physical AGC rope-memory modules. And there are more that we think will be coming in the not-too-distant future. These are the modules, up to 6 of them per AGC, based on Permalloy magnetic cores, which hold the executable form of the AGC software. It will take a long time to process them for consumption, because wherever we have complete sets of modules, we want not merely to make the executables runnable in our AGC CPU emulator, but also to reconstruct the associated source code. So have patience! In the meantime, it's almost an embarrassment of riches. Since we have so many of these dumps now, I've created what I call a "Rope-Module Dump Library" (RMPL) to hold them. It's a part of our software repository, and includes every data dump from an AGC rope-memory module to which we have access, not merely these newest ones. Recall that we've had a number of such dumps in last couple of years, for programs like Retread 50, Sundial E, and Sundance, so they're all in the RMPL as well. I won't promise anything based on the dumps I think are coming Real Soon Now™, however confident I am of them, but among the things we definitely in hand right now, you'll see new AGC versions like:
As for LM131 rev 1, it's the Lunar Module software for Apollo 13 ... which is ironic, because LUMINARY 131 was the very first AGC software I worked with back in 2003 when the Virtual AGC Project began. And I had said for years that it was the Apollo 13 software; but in reality it was merely a release candidate for the mission. It was succeeded by LUM131 rev. 9 and then finally by LM131 rev. 1. The reason that's ironic is that this will complete (with a little bit of hand-waving about SUNDANCE 306 for Apollo 9) our entire set of flown Lunar Module AGC software; thus the first LM software we started with is superseded by the very last, and it turns out to be for the same mission. That's not to say that our task is over, of course. Up to this point, Mike Stewart has not only been performing all of these data dumps, but also performing all of the software reconstructions as well. I can only presume that it has to be a lot of effort, and I'd like to streamline it a bit. In a vain effort to assist him — or anyone else who wants to try his or her hand at it — there are some new software tools I've been creating for the last month or so that can imitate some of the more-routine things Mike is doing, but not all of fancier stuff he must be doing as well. You can find the tools, along with a big write-up of them and of my feeble attempts to imitate with them what Mike has been doing, in the Tools/disassemblerAGC/ folder of the software repository. In essence it's a disassembler and related tools for the different flavors of AGC software (Block I, BLK2, Block II), optimized for the kind of workflow that you'd likely employ in reconstructing source code for an AGC executable. Actually, if I do say so myself, the tools are quite impressive, though I'll have to make them much better to get into Mike's league. I can tell you that even with the tools it's not a walk in the park; if you want to experiment with them, be prepared for a bit of a mental gymnastic. |
2022-09-25 |
|
2022-09-13 |
I have just discovered, inexplicably, that 5
years ago when I uploaded the raw scans of Luminary
99/1 (i.e., the Apollo 11 LM software) to our Internet
Archive site, I had only included the first 1451 of
the total 1743 pages. Or at least there were only 1451
pages left today. How weird! At any rate, I've
just uploaded or re-uploaded the final 272 pages, and I'll
keep my fingers crossed. |
2022-09-07 |
The
Gemini page has contained many references to the LVDC which
are probably incorrect. This is due to the fact that
the Gemini OBC and Apollo LVDC computers are so similar, and
the descriptions on the Gemini page were written in such a
way as to include the LVDC prior to the discovery of
any OBC or LVDC source code. In other words, those
descriptions were speculative in some ways. However,
LVDC code has been known for some time now (about 3 years)
and is known to differ from the descriptions on the Gemini
page. So I've finally gotten around to scrubbing the
Gemini page of those references to the LVDC, in those cases
where I think they're probably wrong. Undoubtedly, if
true OBC source code is ever discovered, the Gemini page
will require major updates that probably bring it into
closer alignment with the LVDC page. But for now,
that's just speculation, and the Gemini page remains as-is,
sans its bogus LVDC references. |
2022-08-28 |
I looked over the Luminary and Colossus
pages with respect to yesterday's comment, and while I
didn't see much from casual inspection that was crying out
for bibliographic referencing, being me I couldn't help but
make a few tweaks anyway. The main thing is that I
added to them the magnificent branching/forking diagram of
all AGC/AGS software versions that was previously only found
in the Document Library.
Why? Because I love that diagram and don't need any
other excuse. But also, the recent issue #1179 in our GitHub repository seemed to call for a slight reorganization of the material relating Comanche 67, 72, 72/3, and 108 on the Colossus page, so I made those tweaks as well. |
2022-08-27 |
One reader commented that where I list the
physical dimensions and weight of the AGC and DSKY only in
imperial units, I'm doing a disservice to the vast majority
of the world who have a much-better feel intuitively for the
metric system rather than the (why are we still using it
over here in the U.S.?) imperial system. (Thanks to
Peter Hebden.) Well, that's completely right, of
course. The way I rationalize such matters is to think
to myself that the original Project Apollo (back in the day)
used only English (so I don't have to translate anything
into other languages), used only the imperial system (so I
don't have to translate into metric), used only ... well,
you get the idea. It's everyone for themselves in
trying to understand just what was going on back then!
But I'm not as much of a
fool as I seem to be, hopefully, so I actually did update
the quoted dimensions accordingly. It got me to thinking, though, because I couldn't help but wonder just where I had gotten those original dimensions from anyway? Yes, they agree with Wikipedia's article on the AGC, but so what? Looking back through the history of that Wikipedia page (say, for mid-2005), it doesn't even yet list physical dimensions, even though it's already listing the Virtual AGC website as reference material. Perhaps when Wikipedia eventually started quoting dimensions, it may have gotten them from Virtual AGC, and here I am looking at Wikipedia to confirm that I got the dimensions right! What a vicious cycle it may be. Not to mention the fact that everyone else on the internet is doing the same thing. A thousand sources on the internet saying the same thing? Baloney! It may easily be one incorrect source being referenced directly or indirectly a thousand times. In this respect, safety in numbers is safety in baloney. So I bestirred myself to look instead at the original sources. Physical dimensions can be found in the engineering drawings. There's no guarantee, without taking more effort than I like, that the dimensions are all the same from one mission to the next, so I settled on using just the Apollo 11 LM drawings, which happen to be drawing 2003993 for the AGC and 2003956 for the DSKY. As for weights, I'm sure that somewhere in the original acceptance process somebody must have recorded the actual weights of the Apollo 11 AGC and DSKY, but unfortunately I don't know where that might be. However, the "Weight & Balance Report" of April 1, 1968 does list the weights as of that point in time. The net result of all that research boils down to the following changes:
Thus, in one respect, almost everything changed.
But you can't really say the original numbers were
"wrong"; everything turned out to basically correct, as
long as you know to round to the nearest half-pound or
half-inch. Which is something neither I nor
Wikipedia, nor anybody else thought to mention. But it does point out a problem with the Virtual AGC
website, in that I occasionally (often? usually?) just
don't say where the individual factoids come from. I
can't help but wonder if the website doesn't need a
complete review of the provenance of the information and
(perhaps) a bunch of supporting footnotes, factoid by
factoid, like Wikipedia has. Since I'm lazy, I'm
going to have to ponder that for a while rather than doing
anything about it immediately. |
2022-08-07 |
Because of recent bug reports, as well as the
recent release of Linux Mint 21, I've verified that Virtual
AGC can be built and run on Linux Mint (Mate 64-bit) 17.3,
19, 20.1, and 21, as well as being buildable using the clang
compiler instead of gcc on Mint 17. The download page's Linux build
instructions have been updated accordingly.
There was in fact a code tweak (in the Gemini OBC assembler)
that I needed to make in order to get it to build on Mint 21
(equivalent to Ubuntu 22.04), so anyone using these later
operating-system versions is advised to get the latest
Virtual AGC source code. |
2022-08-04 |
Slightly modified the prerequisites in the instructions for building
Virtual AGC in Linux, due to recent problem reports. |
2022-07-27 |
Four
new documents added to the library. The
executive summary:
I've also amended my comments (see the last two
entries) in the Linux and Mac OS build instructions on our
download page to indicate that recent failures to build
Virtual AGC (on Mac OS, Linux Mint, and now Ubuntu) appear
to relate to changes in the way these systems configure
the env command, rather than to installation of Python 2
vs Python 3. (Either should work fine for
us!)
|
2022-07-25 |
Three
new documents added to the library. Here's Mike
Stewart's synopsis:
The latter document relates to the LVDC, LVDA, and the
time base for Saturn guidance. I should clarify my last change-log entry, and say that
it's not so much that Python 2 is a requirement, as that
the method Python's documentation recommends for finding
the default installation of Python (whether 2 or 3)
doesn't work on a number of systems, and this causes the
build process to fail. Whether the disclaimers I
added in the last change are adequate to address the
problem or not remains to be seen. |
2022-07-09 |
In the instructions on the download page for
building Virtual AGC from source, I've added a disclaimer to
the Mac OS and Linux instructions that Python 2 is a
requirement. The disclaimer is needed because
apparently Python 2 may no longer be installed by default on
some of these systems, due to the fact that Python 2
development was frozen a couple of years ago and new
installations are advised to use the not-entirely-compatible
Python 3. So the new disclaimer points out that it may
be necessary to explicitly install Python 2. I'm sure that eventually the Python 2 scripts in Virtual AGC will be ported to Python 3. But not today, thanks! |
2022-07-08 |
I've added 55 documents to the library,
indirectly received from Andy Anderson.
Anyway, thanks to Andy and to UHCL! In an unrelated matter, I've also modified the document
library's "Electrical and Mechanical Design" section
to slightly improve the representation of engineering
drawings in the document library. The problem with
representing engineering drawings in the the context of
the library is that there are hundreds of thousands of
such engineering drawings, but those many individual
drawings can't be presented well in the document library,
which is essentially just a list of documents that you can
scroll through. Nobody wants to scroll through
hundreds of thousands of drawings. Or for that
matter, load a page having hundreds of thousands of links
into a browser! Just the few thousand documents the
library already has is slow enough! So in the past,
the document library essentially just provided a
disclaimer that bailed on engineering drawings. Well, it does still essentially bail on them! But
most of our engineering drawings originally came from
scans of "aperture card boxes" from the National Archives,
so the improvement to the library is that it now
lists each of the aperture-card boxes that has already
been scanned, along with the range of drawing numbers in
each of those boxes. That's feasible, since each box
only holds ~1800 slides, so there are many less boxes than
there are drawings, and it doesn't clog up the document
library page to list them all. Admittedly this is a minor improvement that isn't of
enormous use right now. But that's partially because
scanning the aperture-card boxes was put on hold a couple
of years ago due to the pandemic, so no new boxes of scans
have been added to our website for a long time. When
scanning eventually resumes, however, any newly scanned
boxes will now show up in the document library's "recent
additions" and will have badges, just like any other
newly-added document in the library does. That
wouldn't have happened before. |
2022-07-03 |
Four more documents were added to the library,
focusing on ACE (Acceptance Checkout Equipment) and GSE
(Ground Support Equipment). Here's Mike's summary of
them:
For whatever reason, the ACE-S/C Operator Course Study
Guides seemed rather compelling, though I can't give you
any good reason for saying so. Fortunately, I was
able to tear my attention away from it long enough to
write this little note you're reading right now. I did notice while doing so that the ACE-S/C Operator's
Manual, along with the earlier revision of it that were
already in the library, remain uncategorized. I.e.,
they appear in the library only in the vast section
(entitled "Everything") that enumerates all of the
documents in the library, rather than in any of the much
smaller special-purpose sections like "Programmers'
Manuals", "Math Flow", or "Digital Group Memos". So
you'd never find such uncategorized documents without a
text search. I can't help wonder how many of the
2600+ documents filed in the library are like this? But wait! Why wonder, when I can just do a little
software magic to find out? (... Time passes ....)
If you look in the
library's Everything section from now on,
you'll find that uncategorized documents appearing only in
the library section are marked with the emoji 😮, and that
there's a summary at the very end of the section of how
many such documents there are. As of this moment, it
turns out that there are 584 inadequately-categorized
documents out of 2639 total. Quite a lot. But
not as bad as I feared. |
2022-06-28 |
The astrodynamics entry on the FAQ page
mentioned yesterday has been updated to reference MIT online
course materials on the same subject by Richard
Battin, one of the original AGC team at MIT/IL. Also, Mike Stewart has sent in 5 more documents for the library, all related to Apollo 14. His synopsis:
I'd add that the scans of the stripcharts and of the
Apollo lunar orbit chart are seriously amazing. If
only all (or any) of our scans of other "wide" material
were half as good! |
2022-06-27 |
One reader, Charles Pique, has offered to
flesh out our own AGC-centric presentation here with
instruction in the underlying principles of astrodynamics,
which is I guess what we used to call celestial mechanics in
the olden days but as applied to rockets and what-not.
Anyway, there's now a link on the FAQ page
that you can refer to. |
2022-06-01 |
Several documents added to the library:
|
2022-05-27 |
Several additional documents were added to the library.
Mike Stewart, who sent them, categorizes them like so:
As far as the "odd set of Block II CSM slides" is
concerned, while I haven't had the chance to look at them
too closely yet, I'd add that the most-notable part to me
so far is the following illustration (which I'm showing in
reduced form): While I can't claim to understand all of the symbolism in this picture, I will say that the pistol sticking out of the bottom of the spacecraft and aimed at the ocean seems just as relevant to America in 2022 as it did in 1965. So those of us who are worrying that America no longer is what it was back in the good old days may be barking up the wrong tree. |
2022-05-25 |
A major document has been added to the
library, namely a North American Rockwell document titled "Spacecraft
Operations for SV Countdown / Countdown Demonstration".
It's the countdown procedures for the Apollo 11 CSM, prior
to backup crew ingress. In other words,
everything done by ground crew to prepare the spacecraft before
any astronauts show up, all in 700 compact pages. |
2022-02-13 |
Two more documents,
related to the LEM Mission Simulator situated at the Cape,
were added to the
document library:
|
2022-02-08 |
Three more documents were added to the document library.
Mike's summary: More of the same, but this time for the LM! These three documents are all Elementary Functional Diagrams from Grumman, which were the equivalent of NAA's Functional Integrated System Schematics. Just like their CSM counterparts, they are schematic redrawings that show LM wiring down to the connector and pin number. The LM groups covered are:
[To Mike's comments, I'd add that while a lot of folks
would think it's natural to just skip the LTA-8 version
and move right on to the Apollo 13+ versions, the LTA-8
version is in far better shape than the other two
versions. So where the documents overlap, it may
still be worthwhile consulting the LTA-8 version even if
you don't actually care about LTA-8 specifically.] |
2022-02-07 |
Nine documents were added to the document library.
All of them integrated functional system schematics for the
Block I CSM or its associated GSE from North American
Aviation. Specifically, they are for spacecraft SC-008
(Thermal Vacuum Tests), SC-011 (AS-202 mission), SC-012
(Apollo 1 mission), and SC-014 (Apollo 1 investigation,
Apollo 6 mission, testing). Here's Mike Stewart's
synopsis:
|
2022-01-28 |
If you notice an Apollo 11 landing telemetry
transcript among the
recent additions to the document library, don't get
too excited. The document isn't new. The poor
condition of its legibility has led to some recent
discussions about workarounds for trying to read it.
The reason the document is marked as new now is that
I've
Obviously the dream (in lieu of finding a better copy of
the document) would be a fully-legible transcription of
it. Whether that will ever happen, I can't
say. It turns out there actually is a prospect for
getting a better copy of the document, but that prospect
is vague, without any definite roadmap for doing so, so I
wouldn't hold my breath! On a completely different topic (but also thanks to
"jumpjack"), I've set up a feature in our GitHub
repository called "Discussions". Virtual
AGC Discussions on GitHub work like a souped-up
version of our Virtual AGC mailing list, which frankly has
been a source of problems over the years. So if I
can move away from the mailing list to something that's
not only better but also less of a problem for me, it's a
win-win! Admittedly, since I just now set it up,
there's no content on it yet other than my welcoming
thread. There are bound to be some teething
problems. Anyway, I invite you to use it. |
2022-01-25 |
Two more documents were added to the document library;
here's Mike Stewart's synopsis:
Besides that, you may notice that there's a digital
simulation of an Apollo 11 landing that appears among the
recent additions to the library. But don't get
excited, because it's not new. It's simply that I've
been told (thanks to correspondent "jumpjack") that the
PDF I had formerly linked as the preferred document
version was unreadable. Consequently, I've
substituted a link to a more-legible version. But
it's the same physical hardcopy and scan. |
2022-01-18 |
Ten more documents added to the document library,
all of them Grumman study guides. Here's Mike
Stewart's synopsis:
I realized belatedly that perhaps the Document Library
should have an entire
section dedicated to training and study guides,
which it has lacked so far. So I've added
one. Whether all (and only) the appropriate
documents have been included in that section is
debatable, and probably will have to be tweaked over
time. On the other hand, you could probably say
that about all of the other sections in the library as
well. On an only-slightly-related note, I've also realized
belatedly that in some of the library sections organized
principally by publication date, it would be slightly
less confusing if undated documents were specifically
marked as being undated (as opposed merely to not
showing a date). So I've added that little feature
as well. Beyond that, the primary culprit in this
confusing-organization regard is the Everything section
of the library, which is organized by date but
contains literally thousands of entries; to that section
only, I've added horizontal lines between year
changes as (hopefully!) gentle guidance to the eye. |
2022-01-15 |
|
2022-01-08 |
Added another batch of 56 documents (though
one is a kind of duplicate) to the Document Library
today, as usual in recent history thanks to Don Eyles and
Mike Stewart. As far as I know, this completely clears
out the backlog of documents that had been scanned but
weren't yet in a usable digitized form for being posted
here. Here's Mike's summary of them:
|
2022-01-02 |
Added the 2022 section to this change-log page. |
2021-12-31 |
Added another batch of 38 documents to the Document Library
today, thanks to Don Eyles and Mike Stewart. Here's Mike's
summary of them:
|
2021-12-23 |
Mike Stewart has sent over a batch of 26
documents he has scanned from Don Eyles's collection, so a
big thank-you to both of them for a Christmas present in the
midst of a pandemic. Alas, I didn't get them anything
in return, because I'm a thoughtless pig. As usual, to see what's been added, just look in the Recent Additions section of the document library. Here's Mike's list of the most-notable additions among them:
|
2021-11-19 |
Sometimes I have to marvel at my own
stupidity. A while back, John Pultorak (of AGC Block 1
simulator fame) had been working on a Gemini On-Board
Computer (OBC) simulator along the same lines as his Block 1
AGC simulator. 10+ years ago, he sent me a trio of
documents on the subject, which over time I managed to
forget all about. So today, as I was trying to do a
little reorganization of my home office and happened to come
across a printout of one of these documents, I was a bit
surprised. Or perhaps "stunned" is a better
word. After an interval in which I occupied myself by
saying "Whaaaaat?!!!" in a foolish manner, it eventually
occurred to me to dig back into the original correspondence
with John, whereupon I found (hopefully) all the related
documents, and have added them to the document
library. You can see them at the top of the list
of recent additions. In brief, though, there's:
Since John didn't provide an assembler, his coding
example is hand assembled. Of course, we
have an OBC assembler, though I doubt it's in as debugged
a form as our LVDC assembler. Still, I'm sure it
could be pepped up to a 100% working state, if anyone
chooses to build the OBC simulator and wants to run some
code on it. By the same token, I suppose you could
adapt John's OBC simulator into an LVDC assembler, and
that might be even better. Either an OBC or LVDC hardware simulator would be of
great use in debugging our software-based OBC/LVDC
simulators. It wasn't until Mike Stewart came along
with his Block II AGC hardware simulation and ran it
side-by-side with our software AGC simulator that we (well
... to be honest, he) was truly able to ring the
bugs out of both of them. |
2021-11-12 |
Ludo Visser (thanks, Ludo!) has sent along some
instructions for building Virtual AGC on MacOX 12.0.1
(Monterey). It apparently works after he builds
it as well. Which is very welcome news since I don't
personally have a Mac new enough to try it myself. |
2021-11-03 |
It used to be that on the
yaDSKY page I depicted the indicator lamps of the
Apollo 15-17 LM's DSKY as differing from those of Apollo
11-14. The difference was that there were 2 (out of
14) indicator lamps unused in Apollo 11-14, whereas those 2
were the NO DAP and PRIO DISP warnings in Apollo
15-17. But then, 2-3 years ago, we acquired the actual
DSKY engineering drawings for Apollo 15-17, and what did
they show? Two unused indicators in Apollo 15-17, with
no NO DAP or PRIO DISP indicators, just like in Apollo
11-14! You can't argue with engineering drawings, so I
dutifully changed the yaDSKY page to match the engineering
drawings, with the Apollo 11-17 LM DSKYs all being exactly
the same in terms of their indicator lamps. I should of stayed in bed that day. Fabrizio Bernardini (thanks Fabrizio!) has pointed out that the contemporary documentation for Apollo 15-17 says that the NO DAP and PRIO DISP legends were added to the LM DSKY by means of decals, as opposed to being directly engraved or printed or whatever technique was used to get the legends onto the other indicators. Presumably the decals were applied after the manufacturing described by the DSKY engineering drawings. In other words, yes there were NO DAP and PRIO DISP indicators in Apollo 15-17, in spite of the drawings. Stupid old me! So naturally I've now changed the yaDSKY page yet again, hopefully correctly this time. The good news is that back when I changed the yaDSKY page before, I apparently forgot to update the VirtualAGC GUI software ... so it continued to have the NO DAP and PRIO DISP indicators all along, and doesn't need to be fixed now. Two wrongs ended up making a right. I also added a pair of "news reference" documents to the Document Library, one for the CSM and one for the LM, the latter of which had apparently gotten Fabrizio started thinking about this topic. |
2021-11-02 |
|
2021-10-29 |
|
2021-10-19 |
In the Document Library, various corrections
were made and a number of new PCR/PCN/Software Anomaly
Report titles were added, as well as additional associations
of PCRs/PCNs/Software Anomaly Reports to specific missions
(i.e., to specific software revisions, particularly Colossus
2C and Luminary 1B). Or to put it differently, I've
been working to firm up the list of PCRs/PCNs/Software
Anomaly Reports being used in the reconstruction of Comanche
67. |
2021-10-16 |
I made some corrections and additions to the
PCR/PCN/Anomaly material added yesterday, such as adding
missing titles to some SUNDANCE PCRs, adding a few missing
COLOSSUS software anomalies, and so on. By the way, I understand why many folks mightn't be too interested in PCRs, and might be doubly-uninterested in just lists of PCRs without even having the PCRs themselves. Why would we want them, other then from pure obsessiveness? (Or is it compulsiveness? Or perhaps some less flattering, but even more dismissive buzzword?) From my own perspective, the PCRs, PCNs, and Software Anomaly Reports are the principal resources you have, other than the memory-bank checksums, when you're forced into the position of having to reconstruct an AGC software version because you haven't an actual listing of the source code. Even just the title of the PCR (without the text) can be very useful. How it works is this: From the PCR/PCN/Anomaly (or even just its title), you may be able to isolate which portions of the AGC code are relevant. For example, if a PCR's title is about something called THROTLAG, there are only a few portions of any given AGC program that deal with THROTLAG. If you have earlier version of AGC code in which the PCR has not been implemented, as well as a later version in which the PCR has been implemented, you can then compare them to see how they differ. You then can pull the THROTLAG-related changes into the software revision you're trying to reconstruct. Voila! Your reconstruction now has corrected THROTLAG code! In practice it's often much trickier than that, but that's the basic idea. Yes, it's not something everyone would be excited by. Personally, I dread it. But in this kind of digital archaeology you work with what you have, and not with the material you wished you had. Think of it like gold mining: You'd naturally prefer to just find big chunks of gold sitting on the ground. But if you instead find a vein of gold that requires a lot of digging, that might not be too bad either, if you can find enough of it! |
2021-10-15 |
The PCR/PCN
section and Software
Anomalies section of the document library have been
overhauled reasonably drastically. For some reason, I
got the whim to list all known PCRs/PCNs/Software
Anomalies, and not just those for which we currently have
copies in the library, and not just those which had been
"approved" back in the day. For one thing, showing all
of them gives a better picture not only of the great
evolutionary sweep of the AGC software, but also gives a
better idea of where the gaps in our coverage are.
Maybe. Regardless, it's pretty impressive to see them
all sitting there in one big lump. This has greatly increased the number of PCRs/PCNs listed, which in turn has made me recognize some limitations in how I was displaying them. One action I've taken is to prefix a short characterization to the front of each PCR/PCN entry telling which AGC program the entry applies to: SUNDISK, SUNDANCE, COLOSSUS, LUMINARY, or SKYLARK. By the way, SUNDISK, you may recall, was the software for Apollo 7. The Software Control Board meeting minutes at which SUNDISK PCRs were approved notes the event as follows, closely mirroring my own reactions: SUNDISK PCR’s Approved at SCB ! ! !With software anomalies, on the other hand, I find that the entries are easier to locate when sorted by document number (which they are, as of today) rather than by date (as they had been), and that the "titles" for many of them were susceptible to some improvement. On a more-general note, the tag that I used to put next to "new" documents in the library has now returned after a hiatus of about a month. I had removed these tags when I added a "Recent Additions" section to the library. In removing them, what I failed to realize is that while it was true that the recent-additions section itself didn't need any additional bling to highlight which files were new, all of the remaining sections in the library could still benefit from them. For example, if you were looking at just the PCR/PCN section of the library, it would be nice to see which PCRs had recently been acquired, without having to consult the recent-additions section. Now you can. On the good side, though, since the document-library page is now auto-generated, there's no danger of the badges getting out of hand by endlessly proliferating and never being removed, as they had before; they will die off and disappear naturally as time passes, and thus are rather harmless other than whatever bandwidth and page-load time they consume. I've also shortened up the time scale, so that documents are only "new" for two months after they're added, rather than for three. But that's not exactly set in stone and I could change my mind later. In the short time that we've had the recent-additions section, I've waffled all over the place, using a timescale as long as 6 months and as short as 1 month. Since we've had an atypically large number of documents added in the last few months, it's still a bit hard to judge right now what the best timescale setting should be, on a go-forward basis. |
2021-10-04 |
Apparently I had goofed up COLOSSUS Memo
#267, duplicating p. 4 and leaving out p. 5. That has
been fixed, causing also an update to ARTEMIS revisions
37-40 in the big software-version pictorial. All of
this affects only the Document Library. |
2021-10-02 |
Pepped up the huge pictorial chart of all
AGC/AGS revisions I mentioned yesterday, adding annotations
and various software versions (SHEPATIN, DAP AURORA,
AP11ROPE, SUPER JOB, etc.) which I had chosen to omit
yesterday. In retrospect, I wanted to at least make
sure the chart included all AGC software versions for which
we actually possess contemporary printouts. I suppose
I should also have given a
direct link to the chart yesterday, rather than a
simple link to the document library page. It's really
pretty sweet eye candy — at least, given my
personally-limited innate ability to create eye
candy! — even if it would take you a lifetime to work
through its incredible detail were you to do anything other
than just scroll through it like a sightseer. |
2021-10-01 |
On a whim, I decided to make a huge chart
showing all of the revisions of every AGC and AGS program,
starting from ECLIPSE and RETREAD, and flowing through to
SKYLARK, showing what programs branch from what revisions of
what other programs, and what PCRs/PCNs/etc. went into
making one revision from another. Admittedly, while we
have a lot of the information needed for making the
chart, there's a lot of information missing too, and hence
quite a lot of guesswork ... and thus likely quite a lot of
error if you focus on the minute detail. Still, it
ended up being an impressive bit of eye candy by my
standards, and probably catches the spirit of the
development effort pretty well. (If you want to point
out my errors, please do so; but supply documentation to
prove your points, please.) You can check it out in the Software Listings
section of the Document Library. The chart is
about 40× taller than its width, so I considered turning it
into an animation that continually scrolls from top to
bottom, possibly while playing impressive music.
Ultimately, I decided that that could be a bit of overkill;
if you want to scroll through the chart, I'm afraid you'll
have to do so manually. |
2021-09-29 |
The writeup I supplied yesterday on the
Luminary page for the Apollo 13 LM software release, as
complicated as it was, turns out to have been too simplistic
according to additional documentation Mike has dug up!
So I've completely rewritten it, expanded it, even added a
picture to it. The end result seems to me to clearer
and more interesting, even if expanded. |
2021-09-28 |
|
2021-09-26 |
|
2021-09-24 |
|
2021-09-23 |
For some time, we've realized that the
listing we have of the AGC program AURORA 12 really
represents quite a late stage of AURORA development rather
than a very early stage ... in spite of the fact that AURORA
85 and 88 were the endpoint. But for some reason, I
had neglected to alter the description on the Luminary page
— and now on the Document Library page — to reflect this
understanding. So I've done that now. The
executive summary is that what I've been calling "AURORA 12"
all this time, is not really AURORA at all. Rather, it
was forked from the true AURORA program at AURORA 86 or 87,
and then new code was added to it without materially
affecting those areas of the program of particular interest
to us ... i.e., the AGC self-test software. On a
go-forward basis, I'm now calling this forked program "DAP
AURORA" to help avoid some of the confusion. So what
we have is DAP AURORA 12 rather than AURORA 12. |
2021-09-22 |
|
2021-09-21 |
|
2021-09-20 |
The replacement Document Library page is now
considered "live". It's now what appears in the menus
at the tops of all the other pages. The old Document
Library page will remain available (and there's a link to it
listed on the new page) for anyone who has learned how to
use it and doesn't want anything different, but I don't
anticipate updating it much, if at all. Obviously, the
new page probably has plenty of deficiencies, so feel free
to inform me of them, even if they're subjective. My
immediate goal was simply to make something that was pretty
much like the old page ... but better! So while I
think I've succeeded in doing that, I won't claim that it
can't be improved in the fullness of time and feedback. |
2021-09-18 |
I'm up-to-date again with respect to the
documents that have piled up for inclusion into our Document
Library ... however, I'm up-to-date only on the
"replacement" Document Library page I've been developing,
because I'm loath to spend more effort maintaining an older
page that I'm convinced will soon begin spending its days in
sweet, sweet retirement. A word to the wise, however: Most of the documents added today are simply old files that appeared on one or the other of our web-pages, but which I had neglected to put onto the Document Library page itself. In other words, while most of them are new to the Document Library page, they are not new to Virtual AGC more broadly. The documents that really are new today are the ones from the "Apollo Guidance Computer Information Series", of which we already had a handful, but now have two hands full and two feet full as well. I've also tagged them, at least temporarily, so that they also show up in the "Programmer's Manuals" section of the library. |
2021-09-18 |
I've finished up drafting the structure of the replacement page for the current Document Library page
which I've been working on, as well as database entry of all
items currently in our library. In other words, the
new page is "complete" and "ready to go", except that
there's a lot of double-checking that needs to be done
before I have any intention of swapping it in. At a
first glance, the new page looks pretty similar to the old
one, but there are a number of improvements that I hope will
make the whole thing easier to navigate. Here are some
of the improvements that occur to me off the top of my head:
And so on. I won't continue to rant about it, since
if you're not interested, you won't care, and if you are
interested, you can certainly discover whatever you like
or don't like about it yourself. My point was simply
that the thing looks remarkably similar to the old thing,
but seems to me to be greatly improved. And
certainly easier for me to maintain. Which is good,
since I've fallen behind again in adding new documents,
whilst I was spending all that time reworking the
document-library page from scratch! |
2021-09-17 |
The information at the tops of the LUMINARY and COLOSSUS pages about released
versions of the original software was upgraded to include
the SUNRISE, AURORA, and SUNDIAL programs used for checkouts
of the Block 1, LM, and Block 2 guidance systems,
respectively. |
2021-09-15 |
I've experimentally moved the new under-test
replacement Document Library page to this
link. (The link I gave to it before is now
defunct.) The existing Document Library page is
unaffected. I'm doing this because I want to do some
testing, not because I expect feedback, but you're naturally
free to look at it as well, and to offer any opinions that
come to mind. But mainly I just wanted to correct the
now-bogus link I had given a few days ago. |
2021-09-14 |
And similarly, a manual containing
mathematical-subroutine software for the RCA 110A computer
which Dimitri Marinakis sent me some 12+ years ago but has
been languishing for all that time as a bzip2 tarball (if
you know what that is!) of JPGs, has now been replaced by a PDF, with the
original images now on our Internet Archive site. |
2021-09-13 |
As I mentioned a couple of days back, I've
been reworking our document library page from ground up ...
soon to be replaced by an entirely-new version that will
seem very similar but will hopefully be better in a lot of
ways I won't bore you with until it's ready to go. But,
the process of doing that has turned up a number of
instances in which I was guilty of some pretty shoddy
handling of the material that was entrusted to me.
I've been handling some clean-ups of those situations in the
background, even though some of them do eat up the time
quite a bit. At the moment, I just want to point out a
couple of notable instances:
|
2021-09-10 |
Caught up once again with new document
postings to the document library! Mercifully, the new
ones are relatively easy to find, since they're
localized as follows:
The first two groups are from our continuing series of
scans (by Mike Stewart) of Don Eyles's seemingly-endless
collection. It is the final item, however, which
stands out for me in this batch. By the way, many thanks
to the
Echoes from Apollo website for sending me the
images, not without suffering a bit of inconvenience in
doing so, I imagine! The G&N Dictionary documents, in
case you haven't looked at them before — we currently had
only the ones for Apollo 11, 12, 13, and 17 missions — are
a kind of quick-reference for the crew for everything
G&N related, and as such, most of the information in
them is pretty reasonably accessible anyway ... if
you happen to have the AGC source code or other
significant documentation for the mission. But not everything
in the G&N Dictionary is so readily accessible for
us. In fact, some of the information in it is unique
at the present time. Why? Well, because it
covers not only AGC use, but also Abort Guidance System
(AGS) usage, including not only basic procedures for using
the AGS software for various tasks; it contains lists of
some octal addresses of variables in the AGS software as
well. And while we have the AGS software used for
some Apollo missions — namely, Apollo 11, 12, 15, 16, and
17 — we do not have the AGS software for Apollo 5,
9, 10, 13, or 14. Consequently, at least some of the
the information summarized in the Apollo 9 Flight Crew
G&N Dictionary is the only information we have
about AGS Flight Program 3 at present. Whether we're
clever enough to actually use that information for
anything remains to be seen. |
2021-09-09 |
More new (to us) documents are in the hopper,
but I haven't processed them yet, and so haven't uploaded
them; perhaps tomorrow. Instead, I've been looking at
cleaning up the document library, which over the decades has
become very inconsistent in terms of how it presents the
documents, and well as very quirky in the way it categorizes
them, sometimes making it difficult to find what you
want. Well, nothing's perfect, so I can't make it work
perfectly for everybody, but at least I can improve it
somewhat. To me, the poster child of awfulness is
the
icon, which is not only usually out of date, but (as seen
with all the recent additions to the library) not even very
helpful in figuring out what's new. A better approach
to that problem, I think, instead of the icons, is to simply
have a section of the document-library page that lists (in
reverse chronological order) the last few months of
additions. Here's a sample
of what it might look like when I've finished working on
it, but don't take the data it shows seriously,
because at them moment it's only aware of about a third of
the documents in the library, so lots of new ones are
missing from the sample! Besides, it's just a first
cut, so undoubtedly the formatting an other styling will
change drastically. Nevertheless, when completed, it
will not only be helpful in itself, but you can see that it
presents documents in a very clean and regular presentation,
and that regularity will be inherited by the Document
Library page as a whole. |
2021-09-08 |
Added another 30+ documents to the library. To me, the highlights
are: |
2021-09-07 |
Quite a bunch of corrections, mostly typos
rather than anything that you could regard as content
changes, on the Gemini OBC page.
(Thanks, Brian Cockburn!) |
2021-09-06 |
Except for a couple of items I'm still
cogitating over, I'm finally caught up with additions to the
document library ... barring some
terrible boo-boo on my part. In addition to the
documents Mike has been feeding me, Don Eyles sent in a
comprehensive list of the scans he had made, and there were
a couple dozen scans he hadn't sent me before. Or I
suppose, that he sent me and I had lost; there's really no
way to know at this point. Beyond the few individual
docs I chose to highlight in the last few change-log
entries, an additional list of some of the more-significant
additions to the library might include:
|
2021-09-05 |
Lots more document additions to the library. Though I may have
gotten more in my inbox since my last entry than I managed
to process and remove to my outbox, so I may be falling
behind. But I think the glut is drawing down
shortly. One significant fact is that among the new
documents was LUMINARY Memo #90 Rev. 1, which is a list (up
to the time it was written, of course) of all the COLOSSUS
Memos and the other LUMINARY Memos. Since our tables
of memos, particularly the COLOSSUS Memos,
include not only the memos we have in hand but also the ones
we know about, it actually took a fair amount of works to
update those tables to include all of the missing memos,
which naturally slowed me down in processing all of the
other new documents. Well, that was a one-time thing,
and fortunately it's done now. |
2021-09-04 |
And the document parade continues!
Among the significant things being added are:
I notice that I've been giving no credit for all these
new docs. Mike has gone to Boston and has been
getting stuff from the MIT Museum and from Don Eyles's
secret stash, the latter of which I had foolishly thought
was exhausted long ago. Thank goodness Marie Kondo
had never gotten her evil clutches on Don.
(Joke! Sort of.) In the event that someone in the far distant future reads
this, and wonders just what I'm talking about, Marie Kondo
is a currently-influential advocate of making your life
better by ruthlessly eliminating clutter. Which
would have been an absolute disaster for the Virtual AGC
Project. If you knew the stories developers have
told me even within the last few weeks of the material
which had been thrown away because it was taking up too
much room in the house ... well, you'd be
heartbroken. I won't tell you, though. It's
too devastating. |
2021-09-03 |
Another heap of documents being added to the
library today. Again, many are things like Luminary and Colossus memos,
software anomaly reports, PCR/PCNs, or similar items helping
to track AGC software revision-to-revision changes.
Alas, to paraphrase Nathan Hale, I regret that I have but
one
icon to give to the document-library page, so it's going to
be tough to distinguish between the documents added today vs
those added in the last couple of days. Still, I guess
that's why browser links change colors once you follow them! |
2021-09-02 |
Lots and lots of new documents in the library
today. I won't try to summarize them; just look for
the
icons. (A very nice specific, though, is the addition
of "Guidance,
Navigation, and Control Lunar Module Functional
Description and Operation Using Flight Program Sundance",
volume 1, to the
SUNDANCE 306 (Apollo 9) section of the Luminary page.) I haven't processed most of the new documents yet, though, so it's a work in progress and this is just a preliminary note on it so that I can get the uploads out there as quickly as possible. So far, most of the items I've been dealing with are memos, software anomaly reports, and program change requests/notices (PCR/PCNs) for Luminary and Colossus, and I've had to restructure somewhat the sections of the library dealing with those types of items. Indeed, sometimes there are so many of these items that I've been obliged to add tables of them, or even entire new sections, and mark the tables or sections themselves as rather than the items individually. I hope there aren't many I've forgotten to mark! |
2021-08-31 |
We have a load of "new" COLOSSUS Memos in the
library today ... 16 of them, I believe, which are
marked in the library with the icon. Thanks to Mike Stewart
and the MIT Library. These particular memos track the
changes in the CM AGC software in ARTEMIS revisions 1
through 70. |
2021-08-28 |
You may recall that we don't have an actual
listing of the CM's AGC software for Apollo 10, namely Comanche 45 rev 2, but
that Mike Stewart reconstructed the source code for Comanche
45 rev 2 from Comanche 45 source code ... which was itself
reconstructed from Comanche 44 ... which was itself
reconstructed primarily from (finally!) actual source code
listings of Colossus 249, Comanche 55, and others. And
you may recall also that we do have official lists of all
the memory-bank checksums for each of these software
revisions, and since the checksums of the reconstructed
software are correct, we have a reasonable level of
confidence in the accuracy of the reconstructions.
Still, that's a lot of reconstructions steps, so any
additional info that would give us added confidence is
welcome! It turns out now that a complete list of the
octal differences between Comanche 45 and Comanche 45 rev 2
has been found, tucked away in an Appendix at the back of a
user's manual for the GAP program. And it turns out as
well that this set of differences precisely corresponds to
the octal differences between the reconstructions of
Comanche 45 and 45 rev 2. I've rewritten portions of
the Comanche 45 rev 2 notes on our Colossus page to take
this new discovery into account. |
2021-08-24 |
|
2021-08-23 |
|
2021-08-13 |
An item
we're calling the "Grumman Binder" has been added to the
document library. It's a 200 page collection of
somewhat-miscellaneous stuff from 1963-1965, related to math
flow, the AGS, the steerable antenna, and so on, along with
a nice — and apparently very big, since I'm told it's 8 feet
long — interface control drawing (ICD) of the communications
portion Grumman's LM simulator. |
2021-08-09 |
This is the power of open-source software, friends!
Regardless of any little *cough!* "competence deficit" of
the original author of the open-source software, it's
always possible for someone else to step in and correct
whatever problems there may be. |
2021-08-05 |
After some more research by Cooper, I think
we now can firmly document the
relationship between each Apollo mission and the AGS
Flight Program version used in it, except that Apollo
5 is still slightly speculative. In particular, both
Apollo 13 and 14 used AGS Flight Program 7, of which we
don't presently have any copy. |
2021-08-03 |
Unlike the AGC software, our documentation
for the AGS (LM's abort computer system) is relatively
meager, to the point where it's tough even to be certain which
of the known versions of the software were used for which
of the Apollo missions. In other words, we
haven't yet uncovered any convenient table in the
contemporary documentation that just lists all of the
installed AGS software versions. Recall that there are
8 known versions of this abort-system "flight software", of
which we have copies of only 2 (namely, Flight Program 6 and
8). Well, Cooper Lushbaugh (thanks, Cooper!) has taken
it upon himself to dig more deeply into the various
abort-system documents than I had done, and to come up with
some of those missing answers. The bad news is that
Apollo 14 turns out to have used Flight Program 7, of which
we don't have a copy. And Apollo 13 may have
used Flight Program 7 too. (But it's still possible
that Apollo 13 may have used Flight Program 6; even Cooper's
extra digging hasn't told us for sure.) As far as
Apollo 11-12 and 15-17 are concerned, though, we seem to
remain on solid ground that they used Flight Programs 6 and
8, respectively. |
2021-06-06 |
|
2021-05-30 |
As you may infer from earlier entries in this change log,
Andy employed a smart method for this audit, rather than
relying on the brute-force approach of simply eyeballing
all of the original source listings. His method
instead involved comparing the symbol tables found at the
end of each of the original listings against the symbol
tables output by a modern assembly of the source
files. He used an AGC assembler he had created
himself, which listed the symbols in the same order as the
original assembler did, and formatted the printouts the
same way as the original assembler did, thus making a
comparisons easy. Which is not to say that he compared every entry of every
symbol table. No, he merely compared the first row
of each column on each page of the symbol table, which is
adequate to catch the vast majority of problems. But
not all! So it's still possible that a much
smaller number of misspellings continue to lurk,
undetected. Admittedly, I kind of doubt it. If
anyone wants to volunteering for the mind-bending task of
checking the symbol tables more closely, I'm sure it would
be appreciated. When Andy started this audit, Virtual AGC's assembler
(yaYUL) neither sorted the AGC symbols in precisely the
same collating sequence as the original assemblers (YUL,
GAP) and Andy's assembler, nor formatted/paginated the
symbol tables similarly. Andy has woken me up to the
value of this, and as you may recall from a change-log
entry a month or two ago, yaYUL now sorts, formats, and
paginates symbol tables in a way that facilitates such
comparisons. That's one of the changes incorporated
as of today in the colorized, syntax-highlighted AGC
listings on this site. |
2021-05-28 |
On the download page:
|
2021-05-27 |
Updated the description of the WebAssembly target on
the download page to cover the exact steps (at least on
Linux Mint 19) for loading the ported yaAGC into the demo
web page, and running the demo web page on the local
computer. |
2021-05-26 |
On the download page (and the GitHub code
repository), there's now a WebAssembly target
for building Virtual AGC from source. The WebAssembly
target is a way of running the AGC CPU emulator (yaAGC)
natively within a web-browser. Many thanks to Michael
Franzl for working out how to do this, as well as providing
demo HTML/JavaScript for actually running the simulation in
a browser. This target is not built by default when
you build Virtual AGC, since it relies on some one-time
setups most people wouldn't normally have in place on their
computer systems, but nevertheless can be manually built in
a simple, straightforward fashion. You may recall that Shahriar Iravanian had earlier provided a pure-JavaScript port which serves a similar purpose. However, the WebAssembly version should be somewhat faster than the JavaScript version of yaAGC. |
2021-04-22 |
Updated the
description of yaYUL command-line switches to include
the --reconstruction switch, whose was merged
today from the "comanche67" branch of the GitHub repository
into the
main branch. |
2021-04-21 |
I decided to follow up on yesterday's
improvements to the modern assembler's (yaYUL) sorting of
symbol tables. I've revised the format of the symbol
tables so that they end up being much easier to compare them
side-by-side with the original symbol tables created by the
YUL/GAP assemblers. The reason one would want to do
that, it has been pointed out to me, is that comparison of
properly-sorted symbol tables makes it much easier to detect
and correct misprints of symbol names in the transcribed AGC
source code. For example, the difference between
symbols like POO (pee oh oh) and P00
(pee zero zero) may not be very apparent visually a
digitized printout, and won't affect the assembled ropes if
misspelled consistently in any given version of an AGC
program, but will be very obvious in a properly-sorted
symbol table since a misspelled symbol will appear at a
completely different place in the table. Plus, it's
just kind of nice when the output from yaYUL is a little
more consistent with YUL and GAP. The source code for yaYUL now in the github repository has these changes to the symbol-table formatting in it. Besides that, an effort to find misspelled symbols in the transcribed AGC source code is actually underway right now, using just the methods I mentioned. I'm not doing this personally, as it preceded the symbol-table changes in yaYUL. (Various folks have amused themselves over the course of time by creating AGC assemblers of their own, rather than using yaYUL, and some of them were cleverer than I in formatting the symbol tables. ) At any rate, I don't see much reason to update the colorized, syntax-highlighted AGC source code on this site until at least a first pass on searching-and-destroying those misspelled symbols has been completed, and thus I haven't done so as of yet. Hopefully that will be in the not-too-distant future. Anyone who's particularly interested can follow the effort by reading issue #1141 in our github repository. |
2021-04-20 |
|
2021-03-30 |
Several new documents have been added to the
library:
|
2021-03-27 |
Continued adding mission reports and their
supplements to the "Mission
Report" section of our document library page. I
expanded the section to include a number of postflight
trajectory documents as well. Over the past couple of
days, the documents added to that section have so
outnumbered the handful which were present originally that
the icon
I typically put on newly-added library documents had become
pointless. When the icons were there, it just appeared
as though every document was new. Since the
icons weren't helpful under these circumstances, I've
temporarily removed all of them in that section of the
library. |
2021-03-26 |
I have found out somewhat belatedly that
"Apollo X Mission Report" documents actually contain
useful info vis-à-vis the guidance system, including
for example some postflight trajectory data. While we
already had a "Mission
Report" section of our document library page, I have
now examined that section with new eyes and found it
severely deficient. Anyway, I've pepped up that
section of the library considerably, adding so many
documents that it hardly even seems like the same section
any longer. (I don't claim that this pepping up has
any great value, since all the documents I added were online
elsewhere; all anybody had to do was google them. But
still, it's nice to have stuff collected in one
place.) There are still various missing supplements to
the mission reports that I haven't yet made any effort yet
to find, so the section may still undergo some expansion in
the future. |
2021-03-25 |
|
2021-03-24 |
Added the
first half of section 5 (guidance equations) of the
Comanche 72 (Apollo 13 CM) GSOP to the document
library, from a scan at UHCL. Fortunately, section 5
has only three PCR/PCN's, but the missing half of the
document will nevertheless likely be seriously inconvenient
if/when we're ever in a position to reconstruct Comanche
72's source code. The "good" news is that the Comanche
67 reconstruction, which is a prerequisite for
reconstructing 72, is seriously languishing right now, so
there's no immediate need for the 2nd half of the Comanche
72 document. |
2021-03-22 |
Updated instructions
on building Virtual AGC from source for MacOS X, due
to the fact that (I'm told) the old instructions no longer
work on newer Mac versions. The essential difference
is that wxWidgets 3.1.x (and eventually 3.2) must be
used rather than 2.8 or 3.0. Linux build-from-source
instructions have also been so updated with optional use of
wxWidgets 3.1/3.2, although 2.8 remains the recommended
version. Exploiting this update requires the latest
Virtual AGC source code. |
2021-03-21 |
The instructions for building
Virtual AGC from source code have been updated to
include Slackware 14.2 and Chromebooks. Thanks to Nick
Warne for the info! (I haven't actually personally
tried those platforms. So many platforms ... so little
time.) |
2021-02-07 |
Building on what I said in yesterday's post,
Dan Kosko has also sent in a couple other docs, now added to
our library page:
|
2021-02-06 |
Apologies for the infrequent site
updates. I've been involved for quite a while in a
possibly-futile attempt to reconstruct Comanche 67 (Apollo
12 CM AGC software); it's making progress, but it's slow,
Slow, SLOW, which is why there's never any news about
it. We do have a new website addition, though, in the form of a document added to our electro-mechanical page (as opposed to our document-library page). It's North American Aviation's "CSM Functional Integrated System Schematics, Block II". This is a doc I found several years ago at the U.S. Space & Rocket Center archives, but ended up failing to get digitized. Dan Kosko (thanks, Dan!) has followed up on it, finding that the University of Alabama, Huntsville, (thanks, UAH!) had made a beautiful scan of it a decade ago, years before my own unsuccessful efforts to get it. |
2021-01-15 |
Paul Koning has sent me some feedback on our
How to Digitize page, in
which he chides me for recommending the use of the JPG file
format for storing, as opposed to lossless image-file
formats such as PNG. I've updated the page both to
clarify the conditions under which I recommend JPG vs PNG, and
to point out that every recommendation I make is probably
obsolete anyway, now that relatively cheap book scanners
(overhead scanners) are on the market. |
2021-01-12 |
17 years ago, Sandy Brown, then associated
with David Mindell's now-defunct HRST website, sent me a
finding aid he had made for AGC-related materials he had
found at the MIT Museum, some of which were used as part of
the foundation for HRST. For some reason, I apparently
didn't think to post his finding aid online and forgot all
about it. A few years ago, Debbie Douglas, the MIT
Museums' curator, sent me this list, which I didn't recall
ever having seen before, and once again I didn't post it
online. Last year, she sent the list to Mike Stewart,
who sent it to me again, at my request. Yet again, I
apparently didn't post the thing online! Or at least,
I've just spent 20 minutes scouring everywhere before
finally finding it (in my email, not online). So if I
had put it online, it's well hidden. Well, the fourth
time's the charm, I hope, and it now has an entire, one-sentence-long
section on our website page about finding
material. It can't be missed now. Maybe. |
2020-12-24 |
Accurate reconstructions of the source code for Comanche
45 and for Comanche 45/2
are now available, complete with annotations justifying the
reconstruction process. I've also updated the
VirtualAGC GUI program, so that it supports of them.
An accurate reconstruction of Luminary 69/2
has been available for a while. The upshot is:
Comanche 45 was the first of the source-code reconstructions in which I personally participated, in a minor way, as opposed to simply providing commentary after the fact. It's a pretty amazing process, in which I have a lot of confidence. I doubt I'm adequately articulate to convey to you just how amazing it is, so I'll just leave it by saying that I wish all of you had the chance to participate and see for yourself. It's quite a learning experience ... and a bit humbling as well. This is the endpoint in a long series of reconstructions of missing revisions of Apollo 10 AGC source code, led by Mike Stewart: ✓ Comanche 55 (final release of Apollo 11 CM code, from actual hardcopy) ✓ Luminary 69 (initial release of Apollo 10 LM code, from actual hardcopy) |
|
2020-12-15 |
At the top of the home
page, there's now a nifty picture which I call the AGC
Software Landscape, which graphically depicts the
interrelationship between all of the AGC software we have,
want to have, have reconstructed, are in the process of
reconstructing, or hope to reconstruct in the future. |
|
2020-12-14 |
|
|
2020-12-13 |
Incidentally, in case it isn't obvious, the immediate
goal of the current reconstruction efforts is to arrive at
a complete set of final releases Apollo 10 mission
software. I made a cute chart showing how all the
reconstruction efforts and software versions flow
together, and it's now included as part of the Apollo 10
entry on the Colossus page. |
|
2020-12-12 |
I've gone through the source code of the
reconstruction of Comanche 44 (derived by Mike from Comanche
51) and added an annotation for each difference
between it and Comanche 51 justifying the change.
There are a few points which are speculative, but most of it
seems rock solid. Even the speculative points seem
pretty convincing. The annotations look a bit clunky
in the source-code files, but are quite nifty in the colorized,
syntax-highlight HTML listing, I think. They'll
probably be in flux for a few days. |
|
2020-12-10 |
We've obtained a copy of the version of the
document Programmed
Guidance Equations for COLOSSUS 2 based on Comanche
55 ... i.e., the version based on the Apollo 11
Command Module's AGC software. Many thanks to Mark
Paral, who obtained the document from the Purdue Library,
and to the library itself for permission for us to post it
online. (That permission involved accompanying it with
a legal blurb, so if you click the hyperlink above, it will
take you not to the document, but rather to a place where
you'll have the opportunity of reading the legal notice for
yourself before actually getting to see the document itself.
)
This is an example of what we've been calling a "Norton
document". It provides, among other things, a
pseudocode form of the AGC software. Aside from its intrinsic interest due to its relevance to Apollo 11, this document was critical to the just-completed reconstruction of Comanche 44 and is critical to the reconstruction-in-progress of Comanche 45, because the pseudocode description shows change bars for the differences between Comanche 45/2 and Comanche 55. While this doesn't tell you exactly what the changes were in AGC assembly language or interpretive code from Apollo 10 to Apollo 11, the pseudocode often follows the assembly/interpretive code closely enough to infer those changes. Or at least, it lets you infer them if you've developed the level of expertise and determination that Mike and Nik have. For the rest of us, such as myself, it at least lets you follow their reasoning. I am in the process of trying to add annotations for each of Mike's changes to his reconstructed Comanche 44 source code (relative to Comanche 51), so that a satisfying justification is available for each difference. Since most of those justifications are based on the Norton document, I'm very pleased that it can now be made available. I figure that anything which can inspire a higher degree of confidence in the reconstruction is a good thing! But it's slow-going to add these annotations, and I don't promise the annotations will be completed on any particular timetable. |
|
2020-12-07 |
In my comments about Comanche 44 a couple of
days ago, I mentioned that it had not yet been flown
in a simulated Apollo 10 mission ... thus implying that it
might be flown soon, thus providing additional confidence in
the validity of the reconstructed software. What I didn't know, or had stupidly overlooked (as the case may be), was that Comanche 44 has a bug that prevents it from being used with the official Apollo 10 flight procedures as-is. So a test flight of Comanche 44 is probably not imminent, and we'll probably have to wait until Colossus 45 is available. It is still possible to fly a Comanche 44 mission, however, because a workaround was published contemporaneously. If you're interested in flying a simulated Apollo 10 mission using Comanche 44 plus the workaround, do read the blurb I've added to the Colossus page! |
|
2020-12-06 |
Support for Comanche 44 has now been added to
the VirtualAGC GUI program. |
|
2020-12-05 |
Apollo 10 AGC Command Module code! As you may recall, our repositories contain a rather complete set of Lunar Module AGC source code, in the sense that almost all of the actually-flown missions are covered. Our coverage of the Command Module AGC source code is a bit spottier. The Apollo 10 mission is one of those gaps in which we haven't so far had the Command Module software. The software version actually flown on Apollo 10 was Comanche 45/2, though two prior software releases (Comanche 44 and 45) had been earlier targeted for the mission before being obsoleted, and their core-rope modules had already been manufactured. We do not have actual contemporary assembly listings for any of these 3 versions. (A listing for Comanche 44 is known to exist, but we have no access to it, and sadly, it is becoming increasingly unlikely that we ever will.) You may also recall that Mike Stewart has been methodically trying to fill in many of these gaps in our software collection by reconstructing them from software versions we do have, along with contemporary documentation of version-to-version changes, while exploiting the fact that we have lists of memory-bank checksums of most of the manufactured core-rope modules. In so far as Apollo 10 is concerned, Mike's strategy has been to
|
|
2020-11-01 |
Alas, the National Archives Southwestern
(NARA) branch at which I was scanning LM engineering
drawings prior to closures related to the COVID-19 pandemic
is still closed to volunteers and researchers, and indeed
even the archivists are apparently once again having to work
remotely (after a brief respite in which they were able to
work onsite). Indeed, I've been informed that this
situation is likely to persist into 2021 ... no surprise,
given the sharp rise in infection rates in the U.S. and in
Tarrant County, Texas, the location of the branch. So
who knows when the LM-drawing scanning, or the CSM-drawing
scanning (which the archive was doing on its own without my
participation), will resume? In the meantime, though, Mike Stewart has somehow gotten his hands on a book of Block I CSM drawings, and has scanned a few dozen of them for us, and I've naturally added them to our electro-mechanical page. Of course the NARA microfilm collection has tens of thousands of these CSM drawings rather than merely dozens. Eventually NARA's CSM scans will be publicly available. At least that's the plan, I'm told. But we don't know when that will be — many years, I project — nor whether we'll be able to afford to acquire many of the scans when they do become available. (The LM scans are free to us under arrangement, but I wasn't able to make any such special arrangement for NARA's CSM scans, and it wouldn't be surprising if the price tag for them turns out to be quite substantial. But who knows? Someday we'll see.) So these few dozen scans are very welcome right now! Not to mention that they're higher quality than scans from NARA microfilm. |
|
2020-10-15 |
I didn't manage to get the documents
mentioned in the last entry posted online until a couple of
days ago. My apologies! Not (entirely) my fault,
though, since there was a conniption at ibiblio, now fixed,
which blocked all my updates. I got a request yesterday from a correspondent for HP-65 calculator software. As you may or may not know — I didn't! — an HP-65 calculator was carried on the very last Apollo mission, the Apollo-Soyuz Test Mission (ASTP), as a backup device. Unfortunately, we don't have this software. Indeed, our collection of ASTP material in general is very small. But this request did prompt me to google a bit, in order to find what other ASTP info is available online. In the process, I mined a couple of documents for our document library, namely the ASTP "CSM Rendezvous Book" (in two parts) and "Design Characteristics for Soyuz and Apollo" (in three parts). You'll find them in the ASTP-specific mission documents in the library. The former document contains a lot of timeline data about the information which is supposed to be collected for entry into the HP-65. Also in the process, I found that on our Colossus page I had linked the wrong CSM mass-properties document in the entry for ASTP; now corrected. We've also gotten a copy of the "HP-65 Rendezvous Targeting Checklist", which you'll find at the same hyperlink. |
|
2020-10-05 |
Added 3 documents to the library. Since
it may be a bit tricky to pick them out by eye on the document-library page, partially
due to it being tricky to categorize them precisely, here's
an explicit list:
|
|
2020-08-13 |
The phase 2 reconstruction of Sundance 306
for the Apollo 9 LM, which we call Sundance306ish (see the
preceding log entry) has now been test flown in
Orbiter/NASSP, thanks to Nik Beug. Given that the main
purpose of the Apollo 9 mission is test flight of the LM,
Nik points out that the LM AGC software gets quite a workout
as well. So I think we can now be pretty confident
that Sundance306ish works properly, even though only memory
banks 36-43 are known to match Sundance 306 octal word for
octal word. The VirtualAGC UI program now uses
Sundance306ish for the Apollo 9 LM configuration, in place
of the prior phase 1 reconstruction (SundanceXXX).
SundanceXXX can still be flown via the command line, of
cource, but not from the UI. |
|
2020-08-05 |
Recall from a couple of weeks ago that the LM
AGC software for Apollo 9, namely Sundance 306, was in
the process of being reconstructed from
memory-module dumps in lieu of an actual assembly listing of
the Sundance 306 program. Reconstruction is a 3-phase
process, in which phases 1 and 2 are successively-close
approximations to the exact code, but only phase 3 will be
an exact reconstruction. As you'll recall, phase 1
(which we call SundanceXXX), which is supposed to
functionally match Sundance 306 but not match it octal word
for octal word, had been completed and successfully test
flown. Well, phase 2 (Sundance306ish), which is supposed to improve on phase 1 (SundanceXXX) by matching the contents of Sundance 306 memory banks 36-43 octal word for octal word, has now been completed as well. It has not yet been validated by being test flown, though I expect it will be flown (successfully) in the near future. I won't add support for it to the Virtual AGC GUI program until after a test flight, but you can still look at the code or run it in the AGC simulation via a command line right now. You can see the full writeup by following the hyperlink above. It's admittedly unlikely we'll ever have a full phase 3 reconstruction, in which all memory-bank contents or even all memory-bank checksums are correct, no matter how much cleverness Mike and Nik manage to apply to the problem. I think we'd need extra source material which we don't currently have, such as an actual list of all of the Sundance 306 memory-bank checksums. Of course, one can't rule getting such a list, nor even the possibility of getting our hands on an actual assembly listing one day ... in which case the reconstruction would remain a magnificent tour de force, but ultimately have been obsoleted. Still, barring that, it's likely that incremental improvements to Sundance306ish are what's in store for the future regarding the Apollo 9 LM software. I'd recommend enjoying it as it is, rather than pining to no avail for source material we may never get our hands on. Gather ye rosebuds and carpe that old diem! |
|
2020-07-27 |
Paul Fjeld (thanks, Paul!) has sent us the LM
erasable pad loads for Apollo 9 and Apollo 10.
I.e., the numerical constants that had to be entered into
the AGC manually or via telemetry upload, rather than being
hard-coded into the AGC's software. This is pretty
timely, considering that the initial reconstruction of the
Apollo 9 software just became available a few days
ago. The pad loads, you see, list both the memory
addresses and variable names into which the pad-loaded
numerical data goes, and thus gives us a way to associate some
of the variable names in erasable memory with their physical
addresses, independent of the software source code.
I'm told that the addresses in the Apollo 9 pad loads do
indeed match the addresses Mike and Nik used in the
reconstructed software, though it turns out that one
variable was triple precision but had been treated only as
double precision in the reconstruction. So the pad
loads provide not only a nice, independent confirmation of
the accuracy of the reconstruction, but also have managed to
pinpoint a minor error that had to be fixed! |
|
2020-07-23 |
Although most of the recent updates to this
change log have related to the LVDC, it's well to keep in
mind that the main focus of this program is to provide the
original AGC software, along with means to emulate the AGC,
and and thus to run the original AGC software on your own
(presumably non-AGC) computer. And best of all, in
some ways, to run that software in the context of a
simulated Apollo mission on a spaceflight simulator such as
Orbiter/NASSP. If you want to fly a complete Apollo
mission, you ideally want to have the complete AGC
software for that mission: i.e., both the CM software and
the LM software. The Holy Grail, of course, would be
to have complete sets of AGC software for every
Apollo mission. We haven't quite succeeded in reaching
that pinnacle, but I think the results (after 17 years!) are
still reasonably impressive. Much more than I could
ever imagine 17 years ago. Ignoring those missions for
which we have partial sets, in which we have the LM software
but not the CM software or vice-versa, we have complete
software sets (more or less) for the following missions:
The presence of Apollo 9 on
that list is new, as of today ... though not without a bit
of hand-waving and qualification! I was actually
sent notice of the software's availability a few days ago,
in time to write it up for the 51st anniversary of the
Apollo 11 landing. Alas, after last year's general
excitement about the 50th anniversary, I didn't even
realize the 51st was imminent, so I let the opportunity
slip by. As it happens, almost nobody else in the
world apparently remembered this particular birthday,
either, so even though I may be an insensitive clod, I
guess I'm not the only one at fault. Hand-waving or not, it's an interesting tale.
Long-time followers of this project may recall that the
Apollo 9 CM software (Colossus 249) was the 2nd AGC
software version to which we got access, and was the very
1st CM software version we got. But the principal
objective of the Apollo 9 mission was the first test of
the LM, in Earth orbit. Since the LM software
(Sundance 306) never seemed to be forthcoming, the fact
that we had only the CM software for Apollo 9 never seemed
tremendously exciting. Many years passed without much change in this situation,
though eventually, interesting things. The
first stirrings, surprisingly, were in the realm of AGC
hardware rather than software:
You can see a full write-up, including the SundanceXXX
source code, on our
Luminary page. Thanks go to Mike Stewart for this great achievement,
with assistance by Nik Beug, abetted by the
AGC-restoration team, and of course gratitude to those
individuals and museums that allowed Mike to dump their
memory modules. The next step in the process is to modify SundanceXXX in
such a way as to fully restore Sundance 306 itself.
Whether this proves possible remains to be seen, and we'll
just have to keep our fingers crossed. But in the
meantime, as I said, SundanceXXX is flyable. If
you're willing to accept it in that vein, we now have a
complete set of Apollo 9 software, albeit one whose
authenticity at the binary level may (hopefully!) be
improved later. |
|
2020-07-05 |
Added an
amusing/horrifying anecdote about LVDC documentation
to the FAQ page. |
|
2020-06-27 |
A bunch of nice technical data relevant to
the LVDC (but not specifically about it) has fallen into our
laps today, and has been added to our document
library. You can see the
full write-up there, but here's a summary:
|
|
2020-06-20 |
As I mentioned a month or so ago, work is
proceeding on PTC/LVDC emulation — so I haven't been idle! —
but until it's 100% ready, there's not much excuse for
updating this change log. The PTC/LVDC emulator is
actually working quite well now, but I'm immersed in
nitpicking details that are of no importance in the larger
scheme of things before I can close it out. For
example, the PTC front panel has a printer that the PTC CPU
can print to, and in order to get the PTC software's self
tests to pass, I not only have to have the emulated printer
print the proper stuff (easy!) but also to have the emulated
printer emulate the (undocumented) timing of the original
physical printer (hard!). Yes, it's silly, and
certainly of no value in terms of LVDC emulation, but the
problem is that the PTC software doesn't advance past tests
that fail, so if I want to make sure all the self tests I care
about are actually run, I need to make sure the silly tests
I don't care about pass as well. Or I can just
cheat and comment out the tests I don't like in the original
PTC self-test software; I've had to do that a couple of
times already, but I'd really prefer not to do that until
forced to do so. The tests that I "care" about, of
course, are those that exercise the CPU's instructions and
interrupts, and if we can get those right for the PTC CPU,
then there's a good chance that they're right for the
only-slightly-different LVDC. PTC emulation good →
LVDC emulation good. But I digress. The reason I'm writing today is due to something found in the collected papers of Mike Collins, namely most of the Gemini Operations Handbook for Gemini 10. (Thanks to Johannes Kemppanen for bringing this to my attention!) These handbooks consist of 3 sections, two of which (Sections II and III) appear in the collection. The missing Section I would seem to contain the spacecraft's electrical schematics and (presumably) a textual description of the theory thereof. What's particularly significant insofar as the OBC (Gemini flight computer) is concerned, though, is that ~50 pages of Section II, namely section 2.5.7, comprise a detailed user manual for the flight software. While we already had section 2.5.7 (and not much else) for Gemini 7, the Gemini 10 version is larger and more detailed. And of course, has mission-dependent differences. At any rate, you can explore the Gemini 10 operations handbook in our document library, or explore what we know about the Gemini flight computer on our Gemini page, if you have not already done so. Gemini flight computer, as you may recall, is a variant of the LVDC used to guide the Saturn rocket, and now that our PTC/LVDC emulation is nearing fruition, our Gemini page and software is probably due for an overhaul to incorporate what has been discovered along the way. But I'll leave that for another day. A couple of other items from the Collins collection caught my eye, and so have been added to the document library as well: A partial copy of the Final Gemini X Flight Plan; we already had a partial copy of the Final Gemini VIII Flight Plan, but different parts parts of that document are missing, so the two end up somewhat complementing each other. Also, an MSC noted titled "Mission H-1 Abort from Lunar Powered Descent and Subsequent Rendezvous"; that's Apollo 12, and Collins (naturally!) didn't fly on it, but he wrote on the cover that it's "Worth saving because it shows all the 18 cases". I'll take his word for that, and you probably should too. |
|
2020-05-18 |
Having received some questions (which I
couldn't answer) about the Saturn Flight Control Computer,
which was an analog computer in the Saturn Instrumentation
Unit that worked in conjunction with the LVDC and LVDA — and
the AGC — I realized that there was some confusion
online. On the LVDC page, I had correctly depicted the
device with a picture of the Saturn V Flight Control
Computer, but online it was possible to find many pictures
(incorrectly labeled) that were really of the Saturn I
Flight Control Computer, and which looked very
different. (One is a big cylindrical can, while the
other is a rectangular box!) I've updated the LVDC
page with labeled pictures of both, to eliminate any
confusion coming from our site. |
|
2020-05-16 |
I noticed belatedly (after 11 years!) that I
had misspelled Dimitris Vitoris's name on our LVDC
page. Dumb! In connection with that, I saw that
the descriptions I had provided about the photos of LVDC
hardware Dimitris had sent us were very much out-of-date
with respect to the documentation we now have
available. The descriptions have been corrected and
fleshed them out quite a bit, though they're still full of
holes that I patched up with speculation. That also caused me to go back and think about the material I had gathered on my visit to the U.S. Space & Rocket Center archives about 2 1/2 years ago, and to realize that I apparently never made any of it available online afterward. Well ... there were slim pickings there, compared to what I hoped to find, but not zero, so disappointment that things didn't go my way is not much excuse! At any rate, I've now belatedly taken care of that:
|
|
2020-04-29 |
Well, it took a while, but our
"modern" LVDC assembler (yaASM.py) has now been
updated to assemble for a PTC target computer.
Moreover, the
transcription of the PTC ADAPT Self-Test Program has
been completed and debugged, and the transcription of the
octals for the PTC ADAPT Self-Test Program has been through
a round of additional corrections. Plus, my online redigestion of how LVDC/PTC
assembly-language works has been accordingly updated
with all the stuff I found out in the process. The
upshot is that the LVDC assembler not assembles the PTC
ADAPT Self-Test Program, with no errors, and the octals
generated by the assembly match the transcribed ones
100%. And the original LVDC AS206-RAM Flight Program
still assembles 100% exactly as well, with some improvements
to the messages generated by the assembler. That's a mouthful, but the upshot is that our second "LVDC" program (albeit actually PTC) is available online for your study and even assembly. It's not subject to ITAR restrictions they our first LVDC program may be. Since its function is self-test, it will prove invaluable in validating our eventual LVDC/PTC emulator. Now all we need is an LVDC/PTC emulator, and we can actually run the thing. |
|
2020-04-19 |
|
|
2020-04-15 |
The
transcription of the "octal listing" for the PTC ADAPT
Self-Test Program has been completed and
proofed. The "octal listing" is the assembled form of
the PTC program, so in principle, if you had an LVDC
emulator that supported the slight instruction-set
differences between the LVDC and PTC, you could actually run
it in simulation right now. Of course, you don't
have such an LVDC emulator (I assume), so that's admittedly
not terribly helpful just yet. (Moreover, I should
warn you that even though the transcription has been
completely "proofed", there's every reason to believe that
it's unlikely to be 100% correct yet. I relied on OCR
for data entry in order to save time, and OCR'ing this kind
of material is such an inherently buggy process that during
proofing I ended up having to correct nearly 25% of the
octals. Which almost guarantees that a significant
number of errors escaped my notice. My guess is that
10-20 errors were undetected on this first proofing pass.) But emulation isn't really the purpose of the transcribed octal listing anyway. Its real purpose is to serve as an eventual cross-check of the transcribed source code for the PTC ADAPT Self-Test program, since when that transcribed source code is assembled using our modern LVDC assembler, it should produce an octal listing identical to the original (transcribed) one. But transcription of the source code has barely begun at this point, so cross-checking it is hardly an immediate issue! Personally, I'm not going to revisit proofing of the octal listing until after transcription of the source code, so the octal listing will remain in this proofed-but-probably-still-buggy shadow state for quite a while unless somebody else cares to step forward and take care of it. Incidentally, the LVDC is essentially a black box, in which electrical inputs are provided and electrical outputs are produced, but there's no user interface, so it's not clear that emulating it outside the context of (say) a full spacecraft simulator like Orbiter/NASSP would be too exciting for anybody. (Not to mention the fact that we still don't even know whether ITAR would allow us to "export" the LVDC Flight Program to Orbiter/NASSP anyway. But I just meant it might be not too exciting entertainment-wise.) Admittedly, the LVDC does have telemetry that could be monitored. But for the PTC, on the other hand, one of the peripherals it includes is a printer, and the PTC ADAPT Self-Test Program does send output to that printer. So, perversely, simulating execution of the PTC ADAPT Self-Test program could actually be more fun than simulating execution of an LVDC Flight Program, because we could watch messages appear on the simulated PTC's simulated printer. |
|
2020-04-12 |
Work on transcribing the source-code for the
LVDC PTC ADAPT Self-Test Program has begun, though there's
not much to show for it just yet other than an
almost-empty placeholder folder for it in our GitHub
repository. In the course of what little
progress I've made, I've found a handful of differences from
the assembly language that appeared in the AS206-RAM program
on which I had patterned the LVDC documentation and
assembler, so I've been updating my online descriptions of LVDC
pseudo-ops and of LVDC CPU instructions
accordingly as I work. Obviously the assembler will
have to be updated as well for these new pseudo-ops and
changed CPU instructions, but nothing has been done on that
front at the moment. Also, for convenience (mine!), the
scanned pages have been extracted from the much larger PDF
document in which they originally resided, massaged slightly
for appearance, and provided on our LVDC page as a
zipfile of image files for individual pages. |
|
2020-04-11 |
The initial pass at creating G&N
assembly drilldowns is now complete. I.e., all
parts lists for G&N assemblies traceable in a top-down
fashion from the top-level guidance system assemblies have
now been entered into the repositories, checked, debugged,
and used to regenerate all of the G&N assembly drilldown
pages (such as the
Apollo 11 LM Guidance System). Plus, I found
that the script which generates the drilldown's web-pages
had rotted somehow and begun discarding some items in the
parts list that had non-integer quantities (such as cable
lengths). Hopefully, I've fixed that. That's not
to say that the drilldown is "perfect" (even in the very
loose sense that that word is now apparently being used by
some folks in America), but it does mean that I don't have
any ideas right now about how to track down residual errors
in the drilldown. So I feel entitled to say that the
work has been completed. However ... I do have some plans to improve the drilldowns at some point in the future, though not necessarily right away since I have other things I want to take care of first. Eventually, though, the idea for improvement is that since the existing drilldowns have been generated in a top-down fashion, they run into difficulties whenever there's some G&N subassembly for which we don't have a drawing. When that happens, none of the sub-subassemblies or components belonging to the missing subassembly will appear in the assembly drilldown. For instance, if you look the page for the Apollo 11 LM Guidance System mentioned above, you'll see that item #72 in the guidance system parts list is 6011876, "Sunshade and Radar Shield Assembly". We do not have the drawing for that, and consequently don't know what the Sunshade and Radar Shield Assembly contains; it's just a drawing number and a title, and nothing more. All of the other subassemblies of the guidance system are instead expanded to a greater or lesser degree. But wait ... don't abandon hope! Fortunately, many of the G&N drawings contain not only parts lists for their own components and subassemblies, but also list their own parent drawings; i.e., they provide a list of all of the G&N assemblies in whose parts lists they themselves appear. This is rather hit-and-miss, and not all drawings do this. But enough of them do it that it's possible to create a kind of half-baked assembly hierarchy by working from the bottom-up rather than the top-down. Let's call that a "drill-up". If a "drill-up" assembly hierarchy were combined with the "drill-down" assembly hierarchy we already have, it should be possible to make a more-complete assembly hierarchy in which some of the missing assemblies (and their contents) are partially filled in. Alas, making the drill-up will require not only some preparatory thought, but also some software (easy!) and a huge database of the parent assemblies for G&N drawings that list their own parents (very time-consuming to create!). In just a handful of cases, the most significant of which being the "logic modules" in the Block II AGC, this kind of thing has already been done. For example, if you trace down through the drawings for the Apollo 11 LM guidance system (drawing 6014999-091), down to the AGC itself (drawing 2003993-031), you'll find that the drawing for the logic modules (2003888-xxx) is missing. Frustratingly, the logic modules are the critical active portions of the AGC, since they contain all of the digital electronics; i.e., everything that makes the computer compute! Considering how critical they were, just washing our hands of it at that point and saying "too bad!" didn't seem to be an adequate response. Luckily, we just happened to discover some of the significant assemblies comprising 2003888, and thus were able to include them in our existing assembly drilldown. E.g., even though 2003888 is missing from the assembly drilldown, the drilldown still is able to list some of the elements for Logic Module A3 (2003888-031) as being the circuit boards 1006395-005 and 1006395-006, and the electrical schematic 2005251. However, the existing places in the assembly drilldown where we've been able to do this have really been more a product of luck and desperation than of any systematic effort to work around missing assemblies in general. The idea of the proposed future "drill up" is to supply such a systematic effort across the entire spectrum of G&N drawings, and to work around missing assemblies wherever possible, rather than merely wherever lucky and desperate. As I say, though, this won't be done right away, and I don't have any particular schedule on which I'm contemplating doing it. Of course, anyone who wanted to help out in creating the database of parent assemblies could help to move it along a little faster! |
|
2020-04-08 |
|
|
2020-04-06 |
|
|
2020-03-25 |
|
|
2020-03-20 |
|
|
2020-03-18 |
Added some (but not yet all) drawing titles
to LEM engineering-drawing box 523, the last
aperture-card box I managed to scan before the National
Archives was closed to the public as a COVID-19
precaution. (Hint: There won't be any new LEM
scans until ... sometime.) However, in the process of
adding these titles to the index, I noted that the box
contains the top-level drawings — well, perhaps not the very
topmost drawing; it's difficult to tell — for LM-3 (Apollo
9). They
begin with LDW280-53000. That's nice, given that
it may be quite a while before any more scans can be
made. Better than nothing, anyway. |
|
2020-03-12 |
||
2020-03-10 |
||
2020-03-09 |
I've been adding searchable text to some PDFs
in our document library that didn't have it before, such as
documents E-1142 (mentioned in the previous entry) and
70-LM-145 (added a couple of weeks ago). A little over
120 documents are affected. Which is not to say that
I've sought out and fixed every PDF that needs
searchable text added to it, but it's good progress.
(If anyone feels the absolute need for a list, I'll send you
one, but it seems rather pointless to me to post one
online. It's not as if anybody has been clamoring for
this.) |
|
2020-03-07 |
|
|
2020-03-04 |
|
|
2020-03-03 |
|
|
2020-03-02 |
Drawing titles added to the index page for
LEM engineering-drawing box 518. |
|
2020-03-01 |
Finished added drawing titles to the index
page for LEM engineering drawings box 517, and indexed all
of its grayscale rescans as well. |
|
2020-02-29 |
|
|
2020-02-28 |
|
|
2020-02-27 |
While I haven't had a chance to update the
index pages yet, grayscale rescans have been done for those
aperture cards in LEM boxes 511 through 514 whose initial
B&W scans were illegible. If you absolutely can't
wait for the indexes to be updated (in a few days), you can
see the directly browse the rescans at our Internet Archive
site: rescans for box 511,
512,
513,
and 514.
The index pages for those boxes do show which rescans were
scheduled, but probably do not correctly match the order in
which you'll encounter the scans. |
|
2020-02-26 |
||
2020-02-25 |
||
2020-02-24 |
|
|
2020-02-22 |
|
|
2020-02-21 |
Updated the LEM drawing indexes to include
grayscale rescans of those B&W initial scans that were
illegible, for the following aperture-card boxes: Box
507, Box 508, Box 509, Box 510. (Actually, in Box 509,
I somehow forgot to rescan drawing LDW280-14342. This
drawing covers multiple parts, namely LDW280-14342-11, -12,
-15, -17, -19, and -21, of which only -19 has impaired
legibility and indeed may still be marginally usable ... so
I think there might be a pretty significant delay before I
get around to correcting my mistake and rescanning
it.) This covers all of the rescans which have been
made so far. |
|
2020-02-20 |
Added a complete set of scans of LEM drawings from aperture-card Box 517. | |
2020-02-19 |
|
|
2020-02-14 |
|
|
2020-02-12 |
|
|
2020-02-09 |
In Box 510, finished added drawing titles and
marking illegible scans for eventual rescan. Began
performing similar work on Box 511 as well. All of the
previous LEM boxes have contained only simple building-block
parts, except for cards that had accidentally been filed in
the wrong boxes, but in 511 we begin to see some drawing of
significant complexity, such as LDW280-17388 (the
descent-stage fuel-lines diagram, >300 scans) and
LDW280-17389 (the environmental system piping diagram, ~70
scans). |
|
2020-02-07 |
||
2020-02-04 |
|
|
2020-02-03 |
The aperture-card scanner is finally
available again, so some new scans of LEM drawings have been
added:
|
|
2020-01-09 |
|
2019-12-30 |
Added engineering-drawing titles and marked
illegible scans in LEM aperture-card box 502.
(Thanks, Hartmuth!) This actually completes the
indexing for all LEM aperture-card boxes that have been
scanned so far, >15K scans ... but keep in mind
that's only 8 boxes out of the 280 total LEM boxes. Unfortunately, the aperture-card scanner broke down a couple of weeks ago, and I'm not privy at present to the proposed scheduling for getting it fixed. Actually, what with the intervening Holidays and various other coincidental conditions, I'm not even sure that the scheduling has been addressed yet at NARA. Well, it'll be fixed when it will be fixed, and for now we'll have what we'll have. In the interim, I'm hoping to go back and scan (with a different, slower scanner) the drawings which proved partially or completely illegible on the first attempt. That's about 400 scans. But again, we'll have to see. |
2019-12-29 |
|
2019-12-27 |
Added engineering-drawing titles and marked illegible scans in LEM aperture-card box 508. |
2019-12-23 |
Added engineering-drawing titles and marked
illegible scans in LEM aperture-card box 507. Fixed
a number of erring revision codes and sheet numbers in boxes
503-506 as well. |
2019-12-22 |
Retroactively marked the illegible scans in
LEM aperture-card box 504. Apparently this had also
been done for box 505 as well, although I was too daft to
note it, so the upshot of that is that all of the LEM boxes
to which drawing titles have been completely added (namely
503-506, as opposed to the boxes still being processed) have
also had their illegible scans marked for later
rescanning. Each future LEM box will have drawing
titles and illegible-scan markings added concurrently. |
2019-12-20 |
|
2019-12-19 |
|
2019-12-16 |
Added the scans of LEM engineering drawings
from aperture-card Box
509. |
2019-12-14 |
Added the engineering-drawing titles for LEM
Box 504. |
2019-12-13 |
|
2019-12-11 |
Added the scans of LEM engineering drawings
from aperture-card Box
507. Corrected the engineering-drawing titles in
G&N aperture-card boxes 471 and 472. Modulo any
boo-boo's on my part, that means that the drawing titles in
all of the G&N aperture-card boxes are now up-to-date. |
2019-12-10 |
The drawing titles were corrected for
aperture-card boxes 457 and 468-470. For all of these
boxes other than 468, as well as for box 456 (yesterday),
there were additionally dozens of corrections in each box to
drawing numbers (rather than just drawing
titles). Perhaps the scanner had become dirty at that
point without my noticing, and thus was reading the punched
aperture-card metadata unreliably. Or whatever.
Well, live and learn! Fortunately the mistakes were
very regular, so they were relatively easy to spot.
(All the ones I spotted related to 9's having turned into
8's.) Still, I suppose it's possible I missed some of
them. |
2019-12-09 |
Drawing titles corrected for aperture-card
boxes 454, 455, and 456. |
2019-12-07 |
Drawing titles corrected for aperture-card
boxes 451, 452, and 453. |
2019-12-06 |
Drawing titles corrected for aperture-card
box 450. |
2019-12-05 |
Added several boxes of LEM engineering
drawings: Box
504, Box 505,
Box 506. As
indicated in previous comments, the indexes won't initially
include drawing titles, since those have to be manually
input. |
2019-12-03 |
Added a couple of RTCC-related mission-specific
documents (AS-207/208 and AS-503A/504A) to the
document library. |
2019-11-30 |
With the completion of scans of the MIT
G&N System engineering drawings last week, scanning of
GAEC (Grumman) LM engineering drawings has now
commenced. I've had second thoughts about my earlier comments, wherein I said that I wouldn't bother to index any of the LM drawings, and have decided to go ahead and provide a dedicated index page for each box of LM drawings. Nevertheless, for technical reasons it's still the case that I don't intend to add any of these LM drawings to the master engineering search engine or to provide assembly drilldowns. So the drawings will still be a trifle trickier to access than the G&N drawings in some cases. At any rate, the first couple of boxes are now available, namely Box 502 and Box 503. We won't be reaching the drawing-number range containing the top-level drawings for the LM until boxes 518 through 528, though, which hopefully will happen sometime in January 2020, depending on the breaks. Due to the fact that the metadata for the LM drawings is completely different in form from the metadata I was working with for the G&N system, the process of creating these indices is very much a work in progress that will undoubtedly experience a few initial hiccups. Unfortunately, the drawing metadata (drawing number, revision code, etc.) on which the box-index pages are necessarily based turns out to be incorrect much more often than I've been accustomed to in the earlier (G&N system) scans. There are dozens of such errors in boxes 502 and 503 alone. The usual error is an incorrect drawing number. Thus it is often the case that due to being mislabeled, a drawing may not only be in the wrong position in the index table for any given box, but may even be in the wrong box entirely. I've made an attempt at correcting these, but given the vast number of scans involved, there's just no way I can do it whilst still performing scans of additional boxes. In other words, I had to give up pretty quickly. Perhaps they can be corrected in the future ... perhaps by someone much more interested in the LEM drawings than I personally am. (Hint!) But don't hold your breath waiting for me to do more than a handful of them myself. Possibly even worse, the aperture-card punch-data doesn't list any of the drawing titles at all, not even the abbreviated titles as the G&N punch-card metadata did. So at present, all (or almost all) drawing titles are simply listed as blank. Over the course of time, perhaps, those drawing titles can be manually added to the index pages. (Again, hint! Hint!!) As a rule of thumb, I'd say that any entries having a non-blank title in the index have also been double-checked or correct insofar as their other metadata. |
2019-11-22 |
Finished correcting all engineering-drawing
titles for aperture-card boxes 474-477. That doesn't
mean that all titles for all scanned boxes are corrected yet
— even though 477 is the last box scanned so far — but it
does mean that all Job Description Card (JDC) titles have
now been corrected. I just happened to think those
were more interesting than the "regular" drawings I've
scanned in earlier boxes but haven't corrected yet, so I
decided to do them tout suite. |
2019-11-21 |
Completed scanning aperture-card box 476, plus box 477. Note that
boxes 431-477 are the entirety of the Apollo G&N System
engineering drawings stored at the National Archives
Southwest branch in Forth Worth, Texas, and thus I've now
scanned all available CM/LM G&N drawings.
As far as we know. There's always the possibility of
aperture-cards being stashed in the wrong boxes and
therefore remaining undiscovered — indeed, I found a dozen
or so such drawings today — but admittedly, it may be a very
long time (if ever) before such misplaced drawings are
revealed. In other words, I wouldn't hold my
breath! At any rate, the grand total so far is about
90K scans of about 12K unique drawing numbers. That doesn't mean the work on these G&N drawings has finished. Many of the indices for the boxes still need to have their drawing titles corrected to agree with the drawings' title blocks (as opposed to the aperture cards' punched metadata), and many assemblies represented by the drawings still need to have their bill-of-material information digitized to allow accurate assembly drilldowns; plus, those electrical drawings being transcribed to CAD still need transcription. Nevertheless, the initial work of physically scanning the drawings has finished, and the remaining work on them can proceed without regard to physical access to the archives. It also doesn't mean that scanning is complete, either. While scanning of guidance & navigation drawings has finished, many additional (non-G&N) unscanned boxes of aperture cards remain. The next step is to scan Grumman's LM engineering drawings, boxes 241-333 and 502-688. A quick calculation shows that there are 280 LM boxes (over 500K scans) vs the 47 G&N boxes (90K scans) ... so it may take quite a while. There are additionally many hundreds of North American CSM boxes, but I'm not currently planning to scan any of those personally; I have reason to believe they may eventually become available via other mechanisms without any intervention be me (thank goodness!), but "eventually" is a rather open-ended concept in this case. Incidentally, box 477 contained a group of drawings (over 500 of them) not conforming to the pattern of the other G&N drawings. The group included such things as IRNs (Interface Revision Notices) and TDRRs (Technical Data Releases or Revisions). Right now, it's hard for me to deal with these anomalous drawings in the same kind of context (i.e., master engineering search engine or aperture-card box index pages) as the other drawings. As a result, instead of including them on the box 477 page, I've segregated them onto a separate "Additional Engineering Drawing" portal, from which you can still view the scan without any expectation of them being pre-digested by me. Several other groups of anomalous drawings (from boxes 431 and 472, and elsewhere) have been included on that portal as well. I expect that the Grumman LM drawings whose scanning will commence soon will be handled in that same way, simply because it would be incredibly time-consuming for me to treat them comparably to the G&N drawings. In other words, I'm willing to scan non-G&N drawings, but not to fuss with them endlessly. That will be left as an exercise for the reader. |
2019-11-20 |
Completed scanning aperture-card box 475 and about
95% of box 476. |
2019-11-19 |
Completed scanning aperture-card box 474 and about 80% of box 475. |
2019-11-18 |
Finished updating JDC document titles in box
473, as well as a few in 474. |
2019-11-17 |
Updated various JDC document titles in box
473. |
2019-11-15 |
Completed scanning aperture-card box 473 and about 50% of box 474. |
2019-11-14 |
Completed scanning aperture-card box 472 and about
40% of box 473.
Box 472 is actually the end of the Apollo G&N
engineering drawings as such, and box 473 marks the
beginning of a series of boxes containing Job Description
Card (JDC) documents. The documents themselves
represent things like test procedures for Apollo G&N
equipment, process instructions pertaining to that
equipment, and so on. Box 472 also contains a couple
dozen Grumman Aircraft Engineering Corporation "interface
revision notices" for the Lunar Module. I don't
understand the system for designating those notices, so
while we link to an archive
of their scans, I've made no attempt to actually index
any of them. |
2019-11-13 |
Corrected the engineering-drawing titles for
aperture-card boxes 447, 448, and 449. Unfortunately,
for box 449, just as there was for box 444 (see the entry
below for 2019-11-11), there is a range of roughly 150 scans
with randomly mispunched aperture-card metadata. I
think I've corrected them, but there were so many of them
that I'm bound to have made a few errors along the
way. Nor (due to the effort involved) did I bother to
move all of the corrected scans around to their proper
positions on the index
page for box 449. In other words, drawing-index
table on the box 449 page is somewhat out of order.
Fortunately, all of the scans are within 5-10 rows in the
index table from where they should actually be located, and
finding them hopefully isn't too much trouble.
Probably I'll revisit that page at some point and finish
fixing it all up nicely. |
2019-11-12 |
Corrected drawing titles for aperture-card
boxes 445 and 446. Various mil-spec
drawings added, as referenced by recently-added
engineering drawings. |
2019-11-11 |
Corrected drawing titles for aperture-card
boxes 443 and 444. In box 444, there was a
previously-missing drawing (1020428) with mispunched
aperture-card data that had incorrectly identified it (as
1010428). Unfortunately, due to the vast number of
scans being made, time-pressure has so far caused me to
often trust the drawing numbers punched in the
aperture cards, and to assume that only the drawing titles
need to be corrected. In other words, since the titles
are the same for all cards with the same drawing number, I
haven't typically needed to look at every single scan, and
hence haven't really had any way to detect scans with
miscoded drawing numbers or revision codes. Over the
past few days, though, I've been finding such miscodings,
which have usually ended up in the wrong boxes (as 1020428
did), rendering them undiscoverable afterward if the drawing
numbers aren't corrected. So at some point, sadly, I'm
going to have to revisit these scans and look at every
single one of them to see if their drawing numbers and/or
revision codes match the index. At the moment there
are over 80K scans ... and soon to be over 100K for the
Apollo G&N system alone. I can't say I'm looking
forward to that. Anyone to wants to volunteer to help
with that double-checking would be welcomed eagerly. |
2019-11-10 |
Corrected drawing titles for aperture-card
boxes 441 and 442. |
2019-11-09 |
Corrected the drawing titles for
aperture-card boxes 439 and 440 to match the drawings rather
than the aperture-card metadata. Quite aside from the
error-prone nature of this activity, due to it being almost
entirely manual, there was an additional difficulty for box
439. As you may recall, the microfilm slides of the
drawings are taped into "aperture cards", which are computer
punch-cards into which metadata such as the drawing number,
revision code, etc., has been punched. Well, it looks
for all the world as if (back when the aperture cards were
created, whenever that may have been) whoever was
doing it may have dropped a hundred or so of the microfilm
frames on the floor prior to taping them into the cards, and
then picked them up and taped them into the cards without
checking that the slides were still in the correct
order. So for this range of 100 or so scans, the
metadata usually does not match the drawings. The
drawing numbers are often right (but not always) on the
messed-up cards, but the revision codes were usually
wrong. Yikes! (Or Yipe! if you prefer.)
Well, I "corrected" all of that on the box 439 index page,
but with so many of the scans needing to be fixed, who knows
how many errors I missed! What can I say? It's a
process. |
2019-11-08 |
Completed scanning Apollo G&N engineering
drawings from aperture-card box 470, added the
entire box 471,
and about 5% of box
472. Unfortunately, in the case of the latter
two boxes, the scanner began degrading very rapidly toward
the end of the process ... i.e., the scanner requires
cleaning. When that happens, it tends to mean that the
metadata scanned from the cards is often incorrect, which is
precisely what happened in this case. That metadata
(drawing number, revision, sheet number, frame number, etc.)
is used to form the index tables for their respective
web-pages, so errors in the metadata result in a corrupted
index. I've corrected many hundreds of entries in the
indices for boxes 471 and 472 so far, but there's no
guarantee I've caught all of the errors. Hopefully, if
there are errors remaining in the index, they'll be caught
and corrected in the reasonably near future. For now
(alas!) I'm going to curtail scanning activities until the
scanner has been cleaned, because finding/correcting the
drawing index is quite a laborious process. Hopefully
I'll be able to resume scanning again around the middle of
next week. My short-term goal is to finish scanning all of the Apollo G&N boxes (i.e., through box 477) by November 21, which is the last day the U.S. government (and hence the National Archives) is funded. In other words, if the government shuts down on the 21st, then scanning will be impossible for the duration of the shutdown. Personally, I think a shutdown is highly likely. News reports, on the other hand, are so far discounting that possibility. Well, we'll see; I'd be happy to be wrong. At any rate, after box 477 is scanned, then scanning of the (hopefully!) complete set of Grumman Lunar Module aperture cards will commence. I expect that process to take the next couple of years. |
2019-11-06 |
Completed adding Apollo G&N engineering drawings from aperture-card box 469 and added almost (but not quite) all of box 470. |
2019-11-05 |
Completed adding Apollo G&N engineering drawings from aperture-card box 468 and added about the initial 90% of box 469. |
2019-11-04 |
Completed adding Apollo G&N engineering
drawings from aperture-card box 457 and added
about the initial 75% of box 468.
(Boxes 458-467 had already been scanned previously.) |
2019-11-03 |
Corrected all engineering-drawing titles in
drawing index for and assembly drilldowns for Box 438 ...
i.e., change them to match the titles on the drawings
themselves rather than the abbreviated titles from the
aperture-card metadata. I used a new software tool to
ease the burden slightly, so I hope that hasn't introduced
any errors on its own. Visual inspection and HTML lint
tools don't reveal any obvious errors, so the new tool
probably works. At any rate, I'm working upward (in
box/drawing numbering), and it will take quite a while
before the corrections catch up the the ongoing scanning. |
2019-11-01 |
|
2019-10-31 |
Completed adding Apollo G&N engineering
drawings from aperture-card box 454, added the
entire box 455,
and added about the initial 25% of box 456. A
handful of additional assemblies were also added to the assembly
drilldowns. |
2019-10-29 |
Completed adding Apollo G&N engineering
drawings from aperture-card box 453, and added
the first 95% or so of box
454, and added some additional assemblies to the assembly
drilldowns. |
2019-10-28 |
Completed adding Apollo G&N engineering drawings from aperture-card box 452, and added the first 80% or so of box 453. |
2019-10-25 |
Completed adding Apollo G&N engineering drawings from aperture-card box 451, and added the first 60% or so of box 452. |
2019-10-24 |
Completed adding Apollo G&N engineering
drawings from aperture-card box 450, and added
the first third or so of box 451. We've
now surpassed 60K scans of engineering drawings in the
library, though that's a little less than 8K unique drawing
numbers. |
2019-10-23 |
I had intentionally, temporarily omitted 78
scans of North American Aviation "Interface Revisions
Notices" from aperture-card
Box 431. I had been confused about how to
present them, given the fact that they follow a different
numbering system than all of the other engineering drawings
scanned so far, and that the aperture-card metadata isn't
entirely accurate. Well, a lot of time has passed, and
my confusion persists. So in the end I've handled it
by simply adding a link to their raw scans at our Internet
Archive site, without any attempt to systematically present
them in indexed form at all. Too bad, but better than
nothing! If anybody can figure them out systematically
enough to provide me with a reasonable index of them, I'd be
happy to post it. |
2019-10-22 |
|
2019-10-21 |
Completed scans from aperture-card Box 447, along with almost all of of Box 448. As usual, the hyperlinks at our Internet Archive site may take a while to become "live". The G&N assembly drilldowns were regenerated. |
2019-10-18 |
Completed scans from aperture-card Box 446, along with
the initial half (and a tad more) of Box 447. As
usual, the hyperlinks at our Internet Archive site may take
a while to become "live". The G&N
assembly drilldowns were regenerated. |
2019-10-17 |
Completed scans from aperture-card Box 445, along with the initial half (and a tad more) of Box 446. As usual, the hyperlinks at our Internet Archive site may take a while to become "live". Various assemblies were also added to the G&N assembly drilldowns. |
2019-10-16 |
Completed scans from aperture-card Box 444 and scanned the initial 25% or so of Box 445. At this writing, some of the uploading and online processing at the Internet Archive is still being performed, so some links may take a while to become "live". Various related things (assemblies and individual parts) were also added to the G&N assembly drilldowns. |
2019-10-15 |
Added scans from remainder of Apollo G&N
engineering drawings from aperture-card Box 442, the
entirety of Box 443,
and the initial 5% or so of Box 444. As
usual, some of these are still in the process of being
uploaded to the Internet Archive or else are still being
processed there at the time I write this, and so may only
become gradually available online. Various related things
(assemblies and individual parts) were also added to the G&N
assembly drilldowns. |
2019-10-14 |
Updated the drawing titles for aperture-card
boxes 431 and 432, as well as
associated engineering-drawing search engine and assembly
drilldowns. In the process, I found a weird situation
in which three drawing scans were miscoded (in terms of
drawing number) and swapped between boxes 431 and 463.
I only discovered those by accident, since I can't literally
check every scan ... after all, there are nearly
45,000 engineering-drawing scans right now! The net
result of this particular error was that we had a later
revision of one drawing than we actually knew about, and two
documents which we had thought were incomplete were actually
complete after all. So it's entirely possible that
some additional missing drawings are hidden amongst the
scans, and we'll only find them by chance unless somebody
steps up and does some checking. Well, that's life, I
guess. |
2019-10-12 |
Added the remainder of the Apollo G&N
engineering drawings from aperture-card Box 441, plus about
the initial 80% of Box
442. Some additional updates to assembly
drilldowns. |
2019-10-11 |
Added the remainder of the Apollo G&N
engineering drawings from aperture-card Box 440, plus about
the initial 60% of Box
441. Some additional updates to assembly
drilldowns. As usual, these may still be in
process at our Internet Archive site, and hence may not be
fully available online until that processing has been
completed. |
2019-10-10 |
Scanned remainder of Box 439 and initial
40% of Box 440 of
Apollo G&N engineering drawings. Some updates to
the assembly
drilldowns, though not fully current yet. Note
that at the time I'm writing this, Box 439 is still in the
process of being prepared to push to archive.org, and Box
440 hasn't been fully processed at archive.org yet, so links
to them in the engineering-drawing search engine and on the
box's index page may not work for another day or so. |
2019-10-09 |
Scanned Apollo G&N engineering drawings
from aperture-card Box
438 (full contents) and Box 439 (initial
15%) added. Plus ongoing updates related to the
process of trying (but not managing fully) to keep indexed
drawing titles and G&N System assembly drilldowns
current with respect to recently-added engineering drawings. |
2019-10-06 |
On a more-positive note:
Note that while the newly-added engineering drawings have
been used to update the
drawing-index page and the
various assembly drilldowns for different G&N System
configurations, the latter have only been partially
updated because their bills-of-material have not yet been
transcribed ... i.e., newly added assemblies are
not yet drilled down. The additions to the
drilldowns have the most impact on Block I G&N
Systems, but all Block II and LM G&N Systems have been
affected to one degree or another as well. |
2019-09-28 |
|
2019-09-27 |
|
2019-09-22 |
Mike has pulled a hat-trick
by reconstructing the LUMINARY
163 and LUMINARY 173 source code. Of course,
I've also taken the much simpler step of adding support for
them to the VirtualAGC GUI program. These were the first and second revisions of LUMINARY targeted for the Apollo 14 mission, and their memory modules were manufactured but not flown. (Instead, LUMINARY 178, the final released version, which Mike managed to finish reconstructing a few days ago, was actually flown.) So in just a few days, we've gone from having essentially nothing for the Apollo 14 Lunar Module, software-wise, to having pretty much everything you'd ever need to know! It probably goes without saying, but beyond just their intrinsic interest on their own, having the complete set (163 & 173 & 178) further increases our confidence in the reconstruction of each of them individually. That's because the reconstruction of 163 is based on 173, while the reconstruction of 173 is based on 178. We have confidence in the reconstruction of 178 because its checksums are correct ... but there's a small though non-zero chance that an incorrect memory bank could still have a correct checksum. However, it's still unlikelier that you could modify an incorrect memory bank (from 178) having a correct checksum and somehow obtain another bank (from 173) that also had a correct checksum, and then modify that bank again to get still a third bank (from 163) having a correct checksum. Admittedly, that argument doesn't apply to all of the memory banks in the program, since not all of them needed to be reconstructed for each of these software revisions, but it applies to enough of them to give us a good feeling that the reconstruction process does exactly what we hope it's doing. |
2019-09-18 |
|
2019-09-16 |
A few more documents scraped from NTRS have
been added to the library (thanks to Hartmuth
Gutsche). I won't detail them here (just look for
the
icon on the document-library page),
but the one that particularly stands out for me is
Raytheon's 1969 "Final
Report: Apollo Guidance Computer Program Block I (100) and
Block II". Don't be confused by the title referring to
the "program", since the report is not about
software. The report is a nice way of getting a
pretty-detailed understanding of all the different hardware
Raytheon produced for the program, including all the AGCs,
DSKYs, and associated ground-support equipment, which is
pretty hard to get piecemeal from other documentation.
I was particularly enamored of an exploded diagram for the
Block II DSKY that I don't recall having seen before,
to the extent that I even pulled it out of the report and
added it to the DSKY page.
I'm sure there's nothing in the diagram that you can't get
already from the many DSKY engineering
drawings we have, but it may be useful for those of
you who have been working on constructing your own DSKYs. |
2019-09-15 |
I've unfortunately discovered that our one
LVDC program listing does not form a complete LVDC
program. Or at least, that's the conclusion I've come
to, and until there's some reasonable independent review of
the code, I fear that my inferences are the only ones that
count. Hopefully I'll eventually turn out to be wrong. When I say it's incomplete, I don't mean that there are pages missing from the program listing, or anything of that nature. The Flight Program listing we have is completely self-contained, and can be assembled without error ... or at least could be assembled without error if a handful of undebugged problems in this engineering (as opposed to released) version of the code were fixed. No, what I mean is that the Flight Program was not the only program that needed to be loaded into LVDC core memory to get a complete working system. At the present time, I believe that the missing program would have been the Preflight Program. The Flight Program and Preflight Program would have interacted via certain addresses hard-coded into those programs. Unfortunately, right now, when the Flight Program calls routines that are supposed to reside at those addresses, there's simply nothing there, and chaos would ensue. For example, I think that one thing the Preflight Program probably had was the self-test routine. Very handy! And very unhandy not to have it. By the same token, a self-test routine is hardly essential to the operation of the system, and it might be possible to make the Flight Program happy simply by sticking some kind of relatively-simple replacement for it at its specified hard-coded address. And all of the other problematic addresses I've seen similarly relate to code that might be painlessly worked around. But I don't have a complete survey of all the offending missing code, and can't really make too positive a claim at this point. Time will tell how serious a problem this turns out to be. As usual, I've written all this up in more detail on the LVDC page itself. |
2019-09-13 |
Lots more updates to descriptions of LVDC i/o ports and command words
transmitted to the rocket from mission control. |
2019-09-11 |
Lots of changes to descriptions of LVDC i/o ports and telemetry. |
2019-09-10 |
More updates to description of LVDC assembly language. |
2019-09-09 |
Usage
of the LVDC assembler, yaASM.py, has been documented. |
2019-09-08 |
Mike Stewart has sent in dumps of rope images
of 4 SUNDANCE physical memory-rope modules. You may
recall that SUNDANCE
306 was the AGC software for the Apollo 9 Lunar
Module, and that we have no copy of the SUNDANCE source
code, but have 3 prior dumps of physical rope-modules.
There are 6 rope modules in total (denoted B1 through B6),
so we now have dumps of every module (plus an extra dump,
which happens to be of module B3). Unfortunately, the
modules that have been dumped are from a mismatched set of
SUNDANCE revisions (292, 302, and 306), and thus don't form
a complete working SUNDANCE 306. In fact, used
together as-is, they don't form a set of ropes that works at
all. Nevertheless, it's entirely possible that one may
be able to create working software from them using judicious
reverse engineering. We'll see! |
2019-09-07 |
"Final" corrections to my draft description
of LVDC assembly
language, specifically the DFW
pseudo-op. Modulo any oversights on my part, I think
the description is probably more-or-less correct, since the
new LVDC assembler produces a word-for-word correct assembly
of the AS-206RAM LVDC source code. However, given that
I haven't yet documented the new assembler itself, nor even
put the finishing touches on it, that don't expect that the
presentation of it is perfect by any means. |
2019-09-05 |
|
2019-09-01 |
|
2019-08-28 |
Don Eyles has sent us a couple of Apollo 14
related documents, which are useful for information about
the pad loads, as well as for deducing the locations in
memory of certain variables, which may or may not assist in
the current attempt of reconstructing various AGC software
versions: |
2019-08-26 |
|
2019-08-22 |
|
2019-08-18 |
Updated descriptions of more LVDC pseudo-ops: ORGDD, DOGD. |
2019-08-17 |
Fixed description of
various LVDC pseudo-ops: DEQS, DEQD,
USE INST, USE DAT. |
2019-08-16 |
|
2019-08-15 |
|
2019-08-13 |
|
2019-08-08 |
|
2019-07-31 |
|
2019-07-29 |
|
2019-07-28 |
|
2019-07-27 |
As you may have noticed in looking at the Luminary and Colossus pages, it sometimes
happens that when somebody gives us a listing of an AGC
program, it may not be quite the software revision
used in a flown mission, but since I figure we're never
going to get the exact revision I end up just shrugging and
saying it's good enough. But you know, my "figuring"
has been known to be wrong ... from time to time. Such
is the case with the Lunar Module software for Apollo
10. The actual flown revision was really Luminary 69
Rev 2, whereas the printout we got from Don Eyles was simply
Luminary 69. Does Luminary 69 work when you fly a
simulated Apollo 10 mission? Certainly, no
problem! But it would even better to have the precise
revision used, wouldn't it? That's were some of the engineering drawings I (my sole contribution to this discussion!) scanned a couple of days ago come in. These drawings, 2021151 through 2021154, astoundingly list all of the memory-bank checksums for lots of AGC programs ... including lots of revisions of programs that we don't have. This information, which may seem rather pointless on the face of it, actually opens up the door for reconstructing a lot of software revisions we don't have. Why? Well, we do have source code for an increasingly-large number of Luminary and Colossus software revisions, and we often have LUMINARY Memos or COLOSSUS Memos that tell us in a descriptive way which changes were made between successive revisions of the software. This is especially true for Luminary. Thus from the descriptions of the changes, we can attempt to back-port those changes (as observed in later revisions of the software) into earlier versions of the software and then check if those changes produced the proper memory-bank checksums! We've done this in the past in the handful of cases where we knew the checksums of unavailable software revisions, but we never had such checksums for a large number of missions to work with before. In the case of Luminary 69 Rev 2, Mike Stewart has stepped in and reconstructed it overnight, using exactly the method described above. Thanks, Mike, once again! So while yesterday we had Apollo 10 LM software that was "close enough", today we are pretty sure we have the exact software used in the mission. |
2019-07-26 |
|
2019-07-24 |
|
2019-07-23 |
|
2019-07-22 |
|
2019-07-21 |
|
2019-07-20 |
Added a handful of notes on lunar descent,
and particularly delta guidance, to the
document library. I won't itemize them
individually here. Just look for the icon. |
2019-07-17 |
The scan of the assembly listing of the LVDC
AS-206RAM flight program is now ready. Or at least, a
perfectly legible scan is ready, though I may make a better
one later. I've actually been taking this opportunity
to try out different digitizing methods, so I've scanned the
thing 4 times so far. That's because I've been very
dissatisfied with the AGC listings I scanned in the past,
and I wanted to perfect my method once and for all.
But because I'm experimenting, the scans aren't quite as
pretty yet as I'd like. Getting better, though. As I explain in more detail on the LVDC page, we are not certain yet about the ITAR status of this assembly listing: Maybe ITAR restricts who the program can be given to ... and maybe it doesn't. I kind of think it doesn't. I hope we'll eventually find out for sure that it doesn't, and I'll then be able to post the scans online. Unfortunately, until/unless the legal issue is resolved, it's a close enough call that I'll have to assume by default that ITAR does restrict access. So if you want the scanned program listing, you'll not only have to I've also done a preliminary pass on looking through the listing and have written up all my observations and inferences about the the syntax and pseudo-operations of LVDC assembly language, as well as about the AS-206RAM program itself. That's a prerequisite for getting a working LVDC assembler, which along with transcribing the listing's source code is hopefully the next step. (And no, sorry, once I have transcribed the source code, it won't be freely distributable either until ITAR questions are resolved for the better.) |
2019-07-15 |
The full assembly listing of the 1967 LVDC
flight program mentioned over the course of the last week or
so has suddenly and unexpectedly become available.
Page-image scans haven't been prepared yet, but this
availability has necessitated quite a few changes in the LVDC page, as various
speculations have suddenly been converted either to facts or
fantasies. Obviously, many additional relevant changes
are expected in the year future. |
2019-07-13 |
|
2019-07-12 |
I've added still more flesh to my inferences about the LVDC assembly listings. I have, however, noticed some holes in my descriptions of whole-line comments and of how SIMPLEX vs DUPLEX memory works, so its clear that not all of what I've written is 100% correct. |
2019-07-11 |
|
2019-07-10 |
A handful of additional source-code pages
from the
1967 LVDC flight program mentioned yesterday have been
added. Alas! All things considered, they've
added more to my confusion than they've subtracted. |
2019-07-09 |
|
2019-07-08 |
|
2019-07-03 |
Added CAD transcription for drawings 2005938C
(electrical schematic for most Block II AGC rope-driver
modules) and 2005930A (clock oscillator module for several
Block II AGC configurations). |
2019-07-01 |
Finally finished updating all of the
assembly-drilldown support for the engineering drawings
added last week, and specifically for the Block II
IMU. In other words, all engineering-drawing support
is now up-to-date again, until I bring in a new batch of
scans in a few weeks. |
2019-06-28 |
Updated all drawing titles for the scans
added yesterday, so that they correspond to the actual title
blocks of the drawings rather than to abbreviated titles
from the aperture-card metadata on the index pages and in
the engineering-drawing search engine. Some (but not
yet all) assembly-drilldown support was added for
the new drawings as well. The new drawings, by the
way, relate somewhat to the CDU, but largely to the
IMU. The total number of engineering-drawing scans is
close to 22,000 now. |
2019-06-27 |
Some work done on adding engineering-drawing
scans from NARA SW aperture-card boxes 466 (final 4/5 of
box) and 467 (initial 1/3 of box). This is work in
progress and not yet completed. |
2019-06-25 |
Added the electrical CAD transcription for
drawing 2010094-, which is the READ COUNTER MODULE of
apparently all Block II Coupling Data Units (CDUs). In
other words, it is our first CAD transcription of a G&N
schematic not for the AGC or DSKY. It's a real
monster, too, at least in terms of physical size, 130"×34",
though that's mainly because they didn't choose to split the
drawing into multiple sheets, even though physically it
consists of 4 separate, almost-independent
"quadrants". Go figure! If you've never given the CDU any thought — and I know I hadn't! — it's interesting and eerie the way it shadows the AGC design. In particular, it consist of "modules", plugged into a backplane, with each module being either a regular analog circuit or else a "logic-flow" circuit consisting entirely of NOR gates. I suppose it's reasonable that once they had a design paradigm they'd probably stick with it, but it's still fun to see. The CDU itself converts data from whatever forms it's available in the spacecraft to whatever digital format the AGC needs, and vice-versa, so you can think of it crudely as a set of A/D and D/A converters ... but from an era where such things didn't just come off-the-shelf but had to be designed and implemented anew with each project. But it's also based on a circuit-design practice that we associate only with Block I and early Block II. For example, the schematic shows no pin numbers for the NOR gates, nor distinguishes between the "A" and "B" gates of the dual-NOR-gate chips. For that information you have to look at an entirely separate drawing, the so-called "signal wiring" diagram. That design practice fortunately fell out of favor quickly in the AGC schematics (thank heaven!), but unfortunately persisted to the very end in the CDU schematics ... or at least in the CDU READ COUNTER MODULE. As a result, I can't claim total confidence of the NOR-gate pin numbers used in the CAD transcription, due to the difficulty of proofreading them; on the up side, though, probably nobody will ever notice if I didn't get some of them quite right! |
2019-06-24 |
A couple of problems have cropped up with the
process building Virtual AGC from source:
|
2019-06-22 |
The
discussion of "signal wiring diagrams" had to be
modified slightly for the case of CDU logic-flow diagrams,
and I took the opportunity to make the description easier to
use during the actual CAD-transcription process. |
2019-06-21 |
For maintainability reasons, some general
information about the scans of the G&N engineering
drawings that had been duplicated on each of the
engineering-drawing index pages has been removed from them
and put in a
centralized location on the electro-mechanical page.
Plus, the Internet Archive has finally finished its
processing of drawing-box 465, so all of the hyperlinks to
the drawings should now be working. |
2019-06-20 |
As far as I know, the engineering-drawing
indices, search engine, and G&N assembly drilldowns are
now 100% up-to-date with respect to all so-far-collected
drawing scans, and in particular with respect to the set of
drawings added a couple of days ago. Unfortunately,
the so-called "derive" operation that the Internet Archive
uses to process these drawings has not yet
completed, so hyperlinks into the latter portion of
aperture-card box 465 may not yet be functional.
(Links into box 466, on the other hand, are okay.)
Hopefully it won't take too much longer for the hyperlinks
in box 465 to become available. At any rate, at last
count the collection of engineering-drawing scans stands at
about 19.6K. |
2019-06-18 |
Aperture-card scans for the final 90% of Box
465 and the initial 20% of Box 466 added on a trial
basis. (Processing not completed yet at archive.org,
titles not fixed yet in drawing index/search, not all
assembly-data entered yet, etc.) |
2019-06-17 |
|
2019-06-14 |
|
2019-06-13 |
Once again, lots more updates to the G&N
assembly drilldowns. I'm almost up-to-date
with all of them, but there's still a tiny bit left to do. Corrected my misspelling of Tim Good's name. (D'oh! It's a short name, so it seems like it would have been easy enough to get right the first time.) |
2019-06-12 |
Lots more updates to the G&N assembly
drilldowns, along the lines mentioned a couple of days
back, I think the Block I drilldowns really are
up-to-date with respect to the drawing collection we have so
far, but that there's still quite a bit of catching up to do
for Block II. On the other hand, that's what I said
about the Block I drilldowns before, so time will tell. |
2019-06-11 |
Some of the textual formatting the
engineering-drawing search engine does in showing its
results has been pepped up some of the new types of drawing
numbers (like Grumman and MIL). |
2019-06-10 |
|
2019-06-08 |
I've completed all of the assembly-drilldown
support for the new box 464/465 drawings, though there are
undoubtedly bugs in the drilldowns that still need to be
detected and fixed. With the box 464/465 additions, we
now have around 17,500 Apollo G&N engineering-drawing
scans. Next batch ... a couple of weeks from now. |
2019-06-07 |
All of the drawing titles in the recent scans
for aperture-card boxes 464 & 465 are now fully updated
(i.e., they now correspond to the drawing title blocks
rather than the punches on the aperture cards) in the
drawing search engine, the drawing index pages, and the
drawing drill-down pages. Those new drawings, by the
way, turn out to have been primarily for the SCT (scanning
telescope), SXT (sextant), and ground-support equipment
(GSE) like the AGC's computer test set, calibration cart,
and so on. I have also progressed further with the
assembly drilldowns for that stuff, though since the
drilldowns only cover the on-spacecraft G&N systems, I
mean that there's a lot of new drilldown material for stuff
like the SCT and SXT but there is presently no support
whatever for any GSE drilldowns. |
2019-06-06 |
Lots more updates of indexes and assembly
drilldowns related to the ~1900 engineering-drawing scans
from boxes 464/465 added yesterday. |
2019-06-05 |
Partial update with respect to the
completion of scans for aperture-card box 464 and the
beginning of box 465. I.e., some stuff related to
those boxes works and some does not yet. |
2019-06-04 |
Added electrical CAD transcriptions for
drawings 2005934A and 2005942-, though stupidly (on my part)
it turns out that I was confused and didn't realize that the
latter isn't actually used in any of the major assemblies
I'm providing drilldowns for. |
2019-06-03 |
Added links to the AGC/DSKY/G&N
engineering drawings for all missions on the Luminary and Colossus pages. I was
unable fill in the Apollo 1 engineering drawings on the
Colossus page, because with the current information there's
no way to narrow it down to less than a half-dozen or so
configurations. Perhaps after more revisions of the Block I
drawings are scanned, I'll be able to narrow it down a lot
further. |
2019-06-02 |
I realize I've been somewhat lax about
linking in relevant engineering drawings on some of the web
pages that could actually benefit from them, in particular
the Block I and yaDSKY pages, so I've fixed up
those pages somewhat. In some roundabout fashion, that
also rubbed my nose in a couple of DSKY assemblies I forgot
to provide enough info to drill down, so I've fixed them as
well. Comments have also been added to the yaDSKY page
concerning using the engineering drawings for very accurate
recreations of DSKY physical dimensions, coloring,
brightness, and so on. Gene Dorr (thanks, Gene!) has
created an authentic font for DSKY lettering from the
engineering drawings, and thus his font has been linked to
the explanations. Lots of new mil-specs related to
visual DSKY authenticity have been provided as well. |
2019-05-31 |
The
Apollo G&N assembly drilldowns have now been
proofed and corrected. That's not to say that they're
100% perfect, though, since even after laboriously proofing
the part lists ("FIND" tables) about 400 assemblies, I still
managed to find an error in the drilldown of the very first
assembly I looked at! Well, that's how these things
go, I suppose. Even in spite of that I'd say the
drilldowns are now probably pretty reliable with respect to
the engineering drawings we've been able to collect so far,
and hopefully whatever remaining problems there are won't
cause too much pain. |
2019-05-27 |
The
new Apollo G&N assembly drilldowns that I
mentioned in my previous note have now been completed, and
have been fleshed out with lots of mil-spec parts as
well. I've chosen to go ahead and simply remove the
old manually-created drilldowns ... not that they had
nothing to offer, but I don't think they had enough to offer
to justify the added confusion of the presentation.
Both the old and new drilldowns had some errors with respect
to each other, but neither seemed to be obviously better in
that respect. It will be some time before I'm able to
fully debug the new drilldown. |
2019-05-25 |
I haven't made many changes the last couple
of weeks because I've been drastically revamping the
way the electro-mechanical page displays the hierarchy of
engineering drawings. I won't bore you with
details, except to say that generation of this hierarchical
representation is now automated, whereas before it was
entirely manual, and that this will have (and already does
have) tremendous advantages. There is still a lot of
stuff to check (and presumably fix!) in the new
representation, and in particular the Block I data is very
incomplete. Nevertheless, I've decided to take it live
rather than to keep dragging my feet on it. The older,
manually-generated presentation continues to be provided as
a fallback, and will remain until the new presentation firms
up a bit. The presentation-generation software may
also be useful to some users, particularly if they need to
have part-count data, since the software outputs JSON in
addition to HTML. Moreover, there's a comparison
program that can compare two different assemblies, given
their JSON. The new representation appears to have a lot more missing drawings in it than the old one does, but that's a bit misleading. Many of the missing drawings are SCDs or drawings for G&N components we just haven't been collecting until recently, and therefore the gaps will hopefully fill in significantly as the effort of scanning the engineering-drawing microfilm at NARA SW proceeds. Naturally, they'll never fill in completely. |
2019-05-24 |
|
2019-05-12 |
It turns out that there have been serious
problems in the top-level AGC and DSKY part numbers for the
LM that I had listed in my big
AGC/DSKY drilldown table. Hopefully those
problems are fixed now, but there is still work to be done
on checking the CM portion of the table. This fix has
the side effect of adding drawing-drilldowns for several
AGC/DSKY parts for which that wasn't previously
possible. Additionally, though, it has been determined
that all of the Block II AGC part numbers previously missing
from the table due to a lack of drawings are really related
to parts with available drawings via external
changes to the AGC rather than internal ones. This has
provided the opportunity to add drilldowns for all of those
previously-missing part numbers as well ... at least
nominally. A side effect of these problems was that on the yaDSKY page of the website, the mission-by-mission arrangements of the DSKY indicator lamps and their colors that I posted yesterday also had errors, because they were based on the wrong DSKY part numbers. That has been fixed, with the result (not too surprisingly) that the Apollo 12 LM did have the same indicator lamp arrangement as the other missions, rather than a different one as I claimed yesterday, and Apollo 5 did as well. This issue with Apollo 5 is actually slightly interesting, in that it turns out there were engineering drawings both for the configurations MIT delivered to NASA and separate engineering drawings for those NASA actually installed in the spacecraft. These two configurations usually call out different AGC and DSKY part numbers. That distinction, along with some other subtleties, escaped me when creating the drilldown table. For example, MIT delivered DSKY 2003985-051 for Apollo 5 (or rather for G&N system 603 for LM-1), which has a rather funky indicator-lamp arrangement; but NASA ended up installing DSKY 2003985-081, which has a "normal" arrangement. Who knew? Well, obviously, a lot of people other than me! There are changes like that across the board, though only this one involved a change in the DSKY's lamps. Just one more reason to be careful, I suppose. |
2019-05-11 |
|
2019-05-10 |
More scans of Apollo G&N engineering
drawings (from aperture-card boxes at NARA SW) added: These boxes mostly continue with electrical and
mechanical drawings of CM/LM guidance-system components
like the CDU (coupling data unit), PIPA (pulsed
integrating pendulum accelerometer), SXT (sextant), SCT
(scanning telescope), and so on. I also eliminated some information that was redundant
across all of the box-index pages, because that info
(however well-intentioned) was making it quite difficult
to add new index pages. |
2019-05-08 |
|
2019-05-07 |
|
2019-05-06 |
|
2019-05-04 |
The AGC/DSKY/G&N engineering-drawing
index pages I've been creating (i.e., the miscellaneous drawings page
et al.), and the associated engineering-drawing search engine,
have had some errors in the drawing titles that have been
getting on my nerves. Recall, there are presently 13K+
scans, and it's really difficult to find the errors!
At any rate, I've created a little python program to track
down certain types of obvious problems in the drawing
indices, and I've been fixing those. Mostly they've
just been trivial things like missing commas that don't make
any difference, but it did manage to find and fix 10-12
drawing titles that were previously completely wrong,
so I'm happy! I'm sure there are still other errors
that I haven't been able to find yet that will only be
detected over the course of time. I only hope I didn't
break the search engine in the process ... but it still
seems to be working for me. |
2019-05-02 |
|
2019-05-01 |
|
2019-04-30 |
Added the CAD transcription for drawing 2005273- (Block II AGC 2003200 module A24 electrical schematics). See also the renderings of the CAD as image files. |
2019-04-29 |
|
2019-04-22 |
The titles in the box 462 index and in the
drawing search engine (and thus all available
engineering drawings) now again correspond to those given in
the drawing title blocks rather than in the aperture-card
metadata. |
2019-04-21 |
The new engineering-drawing aperture-card
scans mentioned yesterday (all of box 458, remaining
half of box 461,
and first 95% of box
462) are now posted and available online, and the
links to them on the associated index pages work. The
engineering-drawing search engine
has been updated to include the new scans. However,
the titles shown in the index for box 462 or in the search
engine are still the 21-character abbreviated names from the
aperture-card metadata, rather than the full ones from the
drawings' actual title blocks. So that's something
I'll still want to fix up, hopefully in the near future. |
2019-04-19 |
|
2019-04-17 |
Added the CAD transcription for drawing 2005272- (Block II AGC 2003200 module A23 electrical schematics). See also the renderings of the CAD as image files. |
2019-04-16 |
|
2019-04-15 |
Added a new search page for our large,
growing collection of Apollo G&N engineering-drawing
scans. Basically, you can enter a drawing number or a
search term for the drawing titles, and get back a list of
links directly to the individual scans. It's not
perfect, but it holds the promise of being a lot more
convenient that the method we've had so far of just browsing
around on a selection of overlapping drawing-index pages
until you find what you want. Check it out! |
2019-04-13 |
Little problems in the
electrical CAD transcriptions of AGC/DSKY schematics
had been bothering me, such as wires that weren't precisely
vertical or horizontal, extraneous junctions (fat dots) that
were present because of tiny unnecessary wire segments, tiny
jogs in a wire, and so forth. So I created a little
program (which I cleverly call "eelint") to locate such
problems in the schematic files, after which I then went
through and "fixed" all of them. I also reran ERC
(electrical rule check), netlist generation, and image
rendering on the schematics I fixed, just to make sure I
didn't break stuff in the process of fixing it. I ran
into the slight problem that KiCad ERC had itself broken in
the meantime, so I had to wait a few days for a kind KiCad
developer to make it work for me again.
"Fixed" is in quotes earlier, because I imagine few other
people would be bothered by such trivial stuff, and probably
just think it was unnecessary grinding on my part. On
the plus side, though, KiCad's ERC capability (once it was
working again) had advanced somewhat since I had originally
run it on these schematics, so it also found a handful of
actual electrical problems for me that I was able to
fix. Thus the exercise wasn't entirely
pointless. For anyone unlucky enough to have hardcoded
some links or shortcuts to the PNG files in
our rendered CAD folder, I'm pretty sure that I ended
up changing the names of a few of those files, so you might
want to check your links. My apologies for that. |
2019-04-10 |
|
2019-04-09 |
|
2019-04-08 |
|
2019-04-07 |
The miscellaneous
engineering-drawing index had been formatted fine for
the situation in which it was the only drawing
index, but has become inconsistently formatted with respect
to what are becoming the main drawing index tables (for
aperture card boxes 459, 460, 461, etc.). I have
reformatted it to be consistent with those other index
tables. (This is really less significant for a user of
the website and more significant for the situation I'm
in, of needing to cut-and-paste, merge, and sort to create a
master index table that doesn't explicitly appear on the
website ... but still, it is a change.) |
2019-04-05 |
|
2019-04-04 |
|
2019-04-03 |
|
2019-04-02 |
For the pages used to provide indices for the
drawings scanned from NARA SW aperture-card Box 459 and Box 460, I've
replaced the abbreviated, error-laden drawing titles
originally taken from the aperture-card punches with the actual
titles taken from the title blocks of the drawings. I
haven't had a chance yet to do that for Box 461,
however. I've also changed the titles of the "type 02"
documents (Configuration and Acceptance Test Requirements
documents) on the Miscellaneous
drawing index page to more-accurately reflect what
those documents are. The upshot is that the affected
drawing-index pages now correspond better to the drawings
themselves, and should thus be easier to use. |
2019-04-01 |
|
2019-03-31 |
Since we're now beginning to have engineering
drawings for G&N system components other than just the
AGC and DSKY, it's appropriate to begin adding drilldowns
into their assembly hierarchy as well ... or at least
to add drilldowns for components that someone has expressed
particular interest in. While I'm as OCD as the next
guy, and sadly probably more so, it's actually quite a lot
of work to provide these drilldowns. And since I'm
pretty work-averse, I'm probably not going to do it for too
many of these G&N components at first. For now,
I've just made the beginning steps associated with adding
support for the CDUs (Coupling Data Units) in the
not-too-distant future. The CDUs manipulate data from
the spacecraft into a format in which the AGC can input it,
and conversely to manipulate data output by the AGC into a
form in which the spacecraft can use it. Think of it
as a set of analog-to-digital and digital-to-analog
converters. In modern terms that sounds like a big "so
what?" But in the Project Apollo era there were no
dedicated ADC or DAC chips, and the CDU is a big deal. |
2019-03-30 |
As a background task, I'm in the process now
of trying to scan the complete set of MIT/IL
electrical and mechanical engineering drawings stored at
NARA SW. Up to now, I have only been picking and
choosing the drawings I thought were absolutely needed, in
order to save time and effort. However, complete scans
have the advantage of overlooking nothing, and of producing
much-more-legible scans. The process will take
years. NARA SW has 1200 boxes, nominally of 2000
"aperture cards" each, with each aperture card holding a
microfilm slide of one scanned page. Only 47 of those
boxes (#431 through #477) have specifically been associated
so far with the MIT/IL G&N drawings for
Apollo. Many of the other boxes are known to be for
Grumman, NAA/Rockwell, etc. So it's unclear just how
many will need to be scanned in the end ... somewhere
between 47 and 1196. The first two of these
complete boxes, #459 and #460, have now become
available. In order to keep our web-pages containing
the drawing indexes from spiraling too far out of
control, this has necessitated a change to the structure of
the drawing indexes. Instead of a single, huge
drawing-index page such as we had previously (which had
about 5000 entries before complete boxes started becoming
available), there will now be a series of such index pages,
each relatively limited in scope:
Since each aperture-card box corresponds to a specific,
known drawing-number range, hopefully this will still be a
relatively easy system to navigate. I know that most people would handle this by setting up a
database, so as to be able to find everything by browsing
or searching the database rather than having hard-coded
HTML tables of link data, but I'm philosophically
committed to having a standalone website that doesn't need
any software on the backend server, and hence could be
(for example) downloaded to anybody's local system.
Unfortunately, since (due to storage requirements) almost
all of the engineering-drawing scans have been put onto
our Internet Archive site rather than this main Virtual
AGC site anyway, that principle is already
invalidated. But still, my philosophy, website-wise,
is "the dumber the better" in terms of its software
requirements. And I'm sure that's obvious to anyone
looking at this site who's au fait on such stuff. |
2019-03-27 |
Added the CAD
transcription for drawing 2005259- (Block II AGC
2003200 scaler module A1 electrical schematics). See
also the renderings of the CAD as
image files. This is a closely related drawing
to the previously-transcribed 2005259A (for Block II AGC
2003993), so I corrected various bugs in the existing
2005259A transcription at the same time. Which is good
since I hadn't really proofed 2005259A very well,
apparently, and can now regard it as "proofed".
However, I was unable to find any differences whatever
between 2005259- and 2005259A, other than the fact that the
latter had a different revision written in its revision
block, so it's unclear to my why they felt called upon to
release revision A at all. They certainly could have
save me some bother if they hadn't bothered. |
2019-03-26 |
Incidentally, unless I'm confused somehow, I think these
are the last CAD transcriptions of electrical schematics
for the early Block II AGC model 2003100. |
2019-03-25 |
|
2019-03-22 |
CAD transcriptions of the electrical schematics for the
Block I DSKY relay modules D7-D14 have been added:
This actually completes the CAD transcription of all Block I DSKY schematics, and given that CAD transcription of the Block I AGC schematics had already been completed a couple of weeks ago, that means that I've now finished all of the Block I electrical CAD. Of course, you have to take that "all" with a grain of salt, since there's at least one known missing original drawing (later-model NAV DSKY keypad) which I obviously have not transcribed, and I haven't bothered with creating a schematic for the wiring that interconnects all of the DSKY modules. But I'm pronouncing it "done" anway. The next goal is filling in all of the gaps in the Block II electrical CAD transcriptions. I had completed Block II AGC model "2003200" (without any specific dash number) about 4 months ago, but the state of our knowledge of the specific engineering-drawing trees for the different AGC/DSKY models was primitive back then ... indeed, practically non-existent. So the task now is to get CAD transcriptions for the drawings for all of the specific Block II AGC & DSKY models we're supporting. The electrical schematics for drawing 2005028A (Block II AGC alarm module B8) have been transcribed to CAD. See also: the renderings of the CAD as image files. This is for AGC p/n 2003100-021 only, since all other model/dash-numbers for which we have the corresponding drawings use other alarm-module circuits from drawings 2005922 or 2005927 instead. |
2019-03-20 |
The
electrical
schematics for drawing 1006162B (Block I NAV&MAIN DSKY
decoding module D1-D6 electrical schematics) have been
transcribed to CAD. See also: the renderings of the CAD as image
files. This drawing appears in earlier Block I
DSKY models. It is unclear whether or not it applies
to later models, because we don't presently have the drawing
of the parent assembly that would tell us whether or not it
does. |
2019-03-19 |
For some reason, even though we acquired the
basic Block I electrical schematics and document ND-1021041
last year, it never occurred to me to update the Block I page with little
details like that. D'oh! I've just been spending
so much effort acquiring engineering drawings and doing CAD
transcriptions that it slipped my mind. Time sure
flies. Anyway, I've update the Block I page somewhat,
but it looks to me as though it may need a thorough-going
overhaul at some point, if/when I get the time to to so. |
2019-03-18 |
Added the CAD transcription for drawing 1005730B, which contains the electrical schematics for the Block I MAIN DSKY G&N failure-detection module. As near as I can tell, this module appears only the later MAIN DSKY models, and doesn't appear in the earlier models or in the NAV DSKY at all. Of course, it makes sense that the NAV DSKY wouldn't need it. See also: the renderings of the CAD as image files. |
2019-03-15 |
CAD transcriptions of the electrical schematics for the
Block I DSKY power-supply module have been added:
Because the availability of the original drawings for the
Block I DSKYs isn't 100% complete at present, I can't
state with 100% certainty that these CAD transcriptions
cover all models. But as far as I can tell
with from the available drawings, they do. |
2019-03-14 |
|
2019-03-13 |
Unless I've slipped up somewhere, which is entirely
possible, this completes the CAD transcriptions for all
electrical schematics for all supported Block I AGC
models. (Not DSKYs ... I haven't started on those
yet.) Since it's easy to read this statement as
meaning that all Block I AGC schematics have been
converted to CAD, which isn't true, let me parse it out a
little more fully. We "support" only the 8 different Block
I AGC models listed on the
electro-mechanical page. For two of those
models (1003469-011 & 1003700-011) we don't even have
the specific original electrical schematics for module A23
(namely drawing 1006125), while for two other models
(1003700-051 & -071) we don't have the electrical
schematics for module A29 (drawing 1005763), so naturally
there are no CAD transcriptions for those particular
modules in those particular AGC models.
Nevertheless, that's a lot of drawings transcribed to CAD,
and remarkably good coverage of the Block I AGC electrical
design! I'm sure there are still plenty of boo-boos,
such as slightly inconsistent signal names from one module
to the next, that will need to be worked out over time. |
2019-03-12 |
|
2019-03-11 |
Added the CAD transcription for the Block I
AGC sense amplifier modules B13 & B14. Different
versions of this circuit apply to different Block I AGC
variants, with drawing
1006118F (plus image files)
applying to AGC p/n 1003186 and drawing
1006187A (plus image files)
applying to all the rest. The differences between
these two, as far as I noticed, are trivial: a single
resistor value and a few extra connector pins connected to
ground. |
2019-03-08 |
The electrical schematics for Block I AGC drawing 1006098H, power-supply control module B12, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-03-07 |
The
electrical
schematics for Block I AGC drawing 1006086F, erasable
drivers module B10 and B11, have been transcribed to CAD.
See also: the renderings of
the CAD as image files. This turned out to be a bit trickier than usual because of a conundrum I ran into in the process, namely that the connector pins in the schematic are numbered in an impossible way. Literally. And having no idea what that meant, it brought me to a screeching halt, mid-transcription. I was tempted to just call it all a mistake on the original engineer's part, and renumber the connector pins as I liked in the transcribed CAD. But that strategy was a bit tricky to rationalize, since the original drawing was at revision "F" and thus had already been through multiple revisions without this problem (if it was one!) having been detected and corrected. Not only that, but the partial schematics that had been redrawn in AC Electronics document ND-1021041 agreed with the impossible numbering in the schematic, to the extent that ND-1021041 deigned to provide those kind of details. So what was happening? It was maddening! Had the spacetime continuum become not merely warped, but completely bent? Was it a sign at last that those fakers back in the 60's had slipped up, and I finally had the evidence in hand to out the whole fraudulent "moon landing" hoax as a public disgrace? Had I, indeed, finally slipped into madness or senility and needed to be carted away to an institution of some appropriate flavor where I would only be fed soft foods in perpetuity and given pills in little paper cups to be swallowed under the watchful eyes of white-coated people? Fortunately, no. I asked for help in resolving the problem, and as it often turns out in these situations, Mike Stewart (thanks, Mike!) happened to know something that I didn't know, namely that this circuit module, of which two are used in the Block I AGC, is plugged in backwards in slot B11, even though it is plugged in forwards in slot B10. Thus the pin numbering for module B11 is the opposite of that for module B10, even though the two are physically identical. This entirely resolves the paradox. And that, children, is how my sanity, the integrity of the Project Apollo, and indeed the entire structure of spacetime, were saved on this day, the Nones of March, in the year of our Lord (or not, if you disagree) 2019! |
2019-03-04 |
The electrical schematics for Block I AGC drawing 1006061C, erasable memory stick, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-03-02 |
The electrical schematics for Block I AGC drawing 1006074B, current-switching stick for erasable memory, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-03-01 |
The electrical schematics for Block I AGC drawing 1006082F, driver service module B7, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-02-28 |
The electrical schematics for Block I AGC drawing 1006140L, clock oscillator module B6, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-02-26 |
|
2019-02-24 |
The
electrical
schematics for Block I AGC drawing 1006147B, rope-driver
module B32 & B33, have been transcribed to CAD.
See
also: the renderings of the
CAD as image files. |
2019-02-20 |
A small but useful batch
of engineering-drawing scans from NARA SW was
added. Particularly useful was a much newer revision
of drawing
6014999 (the index of LM guidance systems) than we had
had before, because this later revision removes all of the
guesswork (and even some literal TBDs) about the flight
models of the LM AGC and DSKY that had previously infested
the electro-mechanical page. I even had to add a
couple of part numbers (AGC
2003993-041 and DSKY
2003994-041) that I had not previously provided
drill-downs for. The whole situation for drilling down
in the LM AGC/DSKY drawing trees is far more satisfactory
than before. |
2019-02-14 |
The
electrical
schematics for Block I AGC rope strand select module,
namely drawing 1006199-, have been transcribed to CAD.
See also: the renderings of
the CAD as image files. This drawing is for the
later Block I AGC models, 1005565 and 1003700, and completes
the set of module B31 CAD schematics begun yesterday.
The fact that it was almost identical to yesterday's drawing
1006148E (only circuits 40516 an 40517 differing a bit, I
think) sped up the transcription process considerably.
|
2019-02-13 |
The
electrical
schematics for Block I AGC rope strand select module,
namely drawing 1006148E, have been transcribed to CAD.
See also: the renderings of
the CAD as image files. Note that this is for
the early Block I AGC models 1003186 and 1003469 only,
whereas the later models 1005565 and 1003700 use a different
drawing for module B31 (1006199) that I haven't transcribed
yet. |
2019-02-10 |
The
electrical
schematics for Block I AGC rope strand select module,
namely drawing 1006099A, have been transcribed to CAD. See
also: the renderings of the
CAD as image files. Like all of the analog
modules transcribed so far that are based on reusable
hierarchical circuit blocks, I haven't yet adjusted the
reference designators in the child circuit blocks to
correspond to those shown on the associated insulator
drawings. When I get around to that, there will be a
script to do the job in an automated fashion. For now,
though, that means that those reference designators on the
child sheets have been chosen arbitrarily by KiCad.
However, in the PNG renderings of the CAD files, they show
up as identical to those shown on the original drawings, and
you have to actually edit those components in KiCad to find
out the actual reference designators used in the netlists. |
2019-02-08 |
CAD transcriptions of the electrical schematics of interface modules A20/A40 for the later-model Block I AGCs (1003700, 1003565) can be now be found in our CAD schematics repository. There is also a folder of visual renderings of those CAD files as images. Combined with the early-model transcriptions from the 6th, I think that all Block I AGC models now have transcriptions for modules A20/A40. |
2019-02-07 |
CAD transcriptions of the electrical
schematics of interface modules A19/A39 for the later-model
Block I AGCs (1003700, 1003565) can
be
now be found in our CAD schematics repository.
There is also a folder of visual
renderings of those CAD files as images.
Combined with the early-model transcriptions from the 5th, I
think that all Block I AGC models now have transcriptions
for modules A19/A39. |
2019-02-06 |
CAD transcriptions of the electrical schematics of interface modules A20/A40 for the earliest-model Block I AGCs (1003186, 1003469) can be now be found in our CAD schematics repository. There is also a folder of visual renderings of those CAD files as images. Specifically, these are transcriptions of drawings 1006535B, 1006009G, and portions of 1006088A. The circuitry for later Block I AGC models (1003700, 1003565) were from a different drawing which has not yet been transcribed. |
2019-02-05 |
CAD transcriptions of the electrical
schematics of interface modules A19/A39 for the
earliest-model Block I AGCs (1003186, 1003469) can
be
now be found in our CAD schematics repository.
There is also a folder of visual
renderings of those CAD files as images.
Specifically, these are transcriptions of drawings 1006534C,
1006087B, and portions of 1006088A. The circuitry for
later Block I AGC models (1003700, 1003565) were from a
different drawing which has not yet been transcribed. |
2019-02-03 |
The
electrical
schematics for Block I AGC module A38, namely drawing
1006551-, have been transcribed to CAD. See
also: the renderings of the
CAD as image files. This happens to be the last
of the Block I AGC logic modules (as opposed to analog and
interface modules) — i.e., all of the logic modules have now
been transcribed to CAD. |
2019-02-02 |
|
2019-01-31 |
|
2019-01-30 |
|
2019-01-29 |
The electrical schematics for Block I AGC modules A30-31, namely drawing 1006548-, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-01-25 |
The electrical schematics for Block I AGC module A29, namely drawing 1006559D, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-01-21 |
The electrical schematics for Block I AGC module A27, namely drawing 1006544B, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-01-20 |
The electrical schematics for Block I AGC module A25, namely drawing 1006554-, have been transcribed to CAD. See also: the renderings of the CAD as image files. Because no signal-wiring diagram was available for the transcription, the NOR-gate reference designators and input-pin assignments were unknown and had to be made arbitrarily. But neither the electrical functionality nor the visual appearance of the schematic is affected by that problem, and it's only of interest to someone interested in duplicating the original physical layout of the electrical components of the module. |
2019-01-19 |
|
2019-01-17 |
The
electrical
schematics for Block I AGC module A23, namely drawing
1006545-, have been transcribed to CAD. See
also: the renderings of the
CAD as image files. Because no signal-wiring
diagram was available for the transcription, the NOR-gate
reference designators and input-pin assignments were unknown
and had to be made arbitrarily. But neither the
electrical functionality nor the visual appearance of the
schematic is affected by that problem, and it's only of
interest to someone interested in duplicating the original
physical layout of the electrical components of the module. |
2019-01-16 |
The electrical schematics for Block I AGC module A22, namely drawing 1006553E, have been transcribed to CAD. See also: the renderings of the CAD as image files. |
2019-01-14 |
The
electrical
schematics for Block I AGC modules A1-A16, namely drawing
1006540A, have been transcribed to CAD, and
cross-checked/corrected against the
CAD
schematics previously recovered from document ND-1021041
before the original drawing became available. The usual PNG renderings of the CAD files for
both versions are available. The two
implementations do differ slightly, with the difference
being that one backplane signal in the ND-1021041 version
has a higher drive capacity. You
can read the writeup about the discrepancies here, if
you like. This is actually a case where the
availability of the official schematic doesn't necessarily
obviate the need for the ND-1021041 schematic, because the
latter contains a lot of information about backplane signals
that the former does not. In fact, between the two, it
contains most of the information on that
topic. Only the pages for AGC models 1003700-051 and 1003700-071 have been updated with this information, because we don't actually have the particular assembly drawings for the other Block I AGC models that would tell us that 1006540 is the proper schematic and 1006120 is the proper wiring diagram. By the way, this is the last of the schematics that I "recovered" from ND-1021041 prior to the availability of the true original Block I drawings, so I am now officially caught up and can begin transcribing schematics for Block I AGC/DSKY modules that haven't been dealt with yet. My final judgement on the schematics recovered from ND-1021041 is that ND-1021041 has a lot of errors in it, particularly in so far as connector pins are concerned, so it's good thing we now have the original drawings. But in spite of that, ND-1021041 is almost always correct about everything else, and is a fantastic resource when working with this material. Furthermore, most of the connector-pin errors seemed to have been the result of accidentally occasionally using pin numbers from an earlier version of the device, which is probably not a problem that would occur with the analogous Block II document ND-1021042. Only a couple of things were uncovered that I interpreted as actual electrical errors in ND-1021041, though I had only recovered 7 modules, and 7 modules do not an AGC make. So all in all, good job AC Electronics! |
2019-01-12 |
|
2019-01-11 |
|
2019-01-10 |
|
2019-01-09 |
|
2019-01-06 |
As foreshadowed in the last note, I have
completed my automated comparison (using a
newly-written Python script) between the
CAD
files for Block I AGC module A33-A34 that I transcribed
from figures in AC Electronics document ND-1021041 (which
I call 1006547r), vs the
CAD
files I transcribed from the official MIT/IL drawing
1006547G. After fixing up errors in both CAD
files that I found in this process, shockingly few
discrepancies remained. In point of fact, the only
unresolvable discrepancy is that there is one NOR gate being
used as an inverter between two pins on the backplane
connector for which the backplane signal names for the input
and output differ in the two different implementations of
the CAD files ... so the process of recovering the schematic
from ND-1021041 worked quite well for this module. A
full writeup about the discrepancy has been made.
I
don't claim the automated comparison is perfect, of course,
but I'm happy that it found stuff for me to fix. At
any rate, I'd now consider both these versions of the
A33-A34 schematic to be checked and reasonably reliable, and
will move on the next module rather than tarrying further
with this module. |
2019-01-04 |
The schematic for the Block I AGC scalar
module (namely drawing 1006547G) has been manually
transcribed to KiCAD placed into our git schematics
repository, along with the usual
PNG rendering thereof. This is the first actual
Block I schematic drawing transcribed, since the previous
Block I CAD files (including the scaler module) had instead
been "recovered" from AC Electronics document
ND-1021041. Instead of proofing the CAD transcription,
I think I'll do an automated comparison of its netlist vs
the netlist of the "recovered" schematic (which I had called
1006547r). That may take some doing, since the
reference designators and pin numbers for the NOR gates
won't match between the two, but I think it will be quite
instructive since it will both be checking the transcription
and the accuracy of ND-1021041 at the same time. |
2019-01-01 |
Completed writing the
explanation
about how Block I signal wiring diagrams work on the
electro-mechanical page ... which I think finally brings the
electro-mechanical page to completion, if not necessarily
perfection. |
2018-12-31 |
Well, it took a while, but the electro-mechanical page
has been basically restructured from the ground up and
rewritten to both be a tad simpler and at the same time to
provide far more actual electro-mechanical information
than before. Instead of providing the electrical
drawings for a half-dozen Block II AGC/DSKY models as
before, it provides electro-mechanical drawing trees (i.e.,
electrical and mechanical drawings) for 30 or so
Block I and Block II AGC and DSKY models. And could be
made to provide quite a few more, if there turns out to be
any reason to do so. Admittedly, the drawing coverage
is not perfect, since not only was NARA's coverage of the
drawings a bit spotty, but also I had limited time to scan
them ... and wasn't helped by the fact that the government
(and consequently NARA) was shut down for the last
week. Okay, nothing's perfect! Incomplete or not, the restructuring provides a much more useful and interesting view of the AGC/DSKY electrical and mechanical design than we had before. The electro-mechanical page is now a portal providing two main ways of browsing the set of available drawings:
All other supplemental information provided by the
electro-mechanical page is now subordinated to this basic
drawing-browsing activity. Some information that I deemed uninteresting and
distracting was (gasp!) even removed from the page
entirely, and not provided separately. I
don't know that I've ever done anything like that
before. It was only the table of serial numbers for
AGCs and DSKYs that was removed, though, and I felt the
information was buggy and too difficult to correct, so I
don't actually think losing it is much of a loss at
all. If anyone disagrees and thinks it was valuable
in some way, drop me a line. Now that the drawings are arranged in this fashion, I'll
have to somewhat modify my prior claims that we now have
all of the DSKY and AGC schematics. There are so
many engineering drawings needed for any given model of
AGC or DSKY that there's no single AGC or DSKY model for
which we have anything like a full set of drawings.
Naturally, I'd like to have a complete set, not just for
some AGC/DSKY model, but for all of them. On the other hand, all of the models are generally so
similar — after all, all of the AGCs in either of the two
"blocks" can run the same software as any of the others,
mostly, so how different could they really be? — that
there's a lot of mixing and matching among different unit
types that you can do. In that sense, we have most
of the drawings in so many different versions, you can
almost always find something that will work for
you if you don't have the specific drawing you want,
either electrically or mechanically. In that sense,
you could say we not only have have all of the drawings,
but have them many times over. What? You think that sounds specious? It's a
glass-half-full glass-half-empty thing here, people, work
with me to overlook the problems! At any rate, over the course of 2019 I'll be working to
fill in the gaps in the AGC/DSKY drawing-set as much as
possible. There's also the possibility of extending
it to other G&N components such as the CDU, since NARA
has drawings for basically all of the G&N
components. And I'll also return to transcribing the
Block I schematics into CAD, which is what I was doing
before I started spending every day over at NARA. It
will be a lot easier now that I actually have real
Block I drawings instead of having to "recover" schematics
from the bits and pieces in AC Electronics document
ND-1021041. It will be interesting to compare the
real schematics (once they're in CAD) to the "recovered"
ones I made before we discovered that the real drawings
still exist. Finally, as usual, I'll note that since the changes to
the electro-mechanical page are so sweeping, it's
unavoidable that there are bugs in it, particularly in the
new drawing trees. Hopefully we'll be able to clean
those up in a timely fashion. |
|
2018-12-23 |
As mentioned on the note for the 15th,
there's now a
section on the document-library page for documents (as
opposed to engineering drawings) that I scanned from the
microform "aperture cards" at NARA Southwest.
This section is now completely up-to-date with respect to
all such scans. (In fact, this entire website is now
up-to-date with respect to all the scanning done at
NARA.) These documents are distinguished by the fact
that time and money pressure caused me to scan them in a
really sleazy fashion, using a portable flatbed scanner,
rather than the fancy NARA equipment, so the document scans
are incredibly poor quality. The results are very
uneven, with many pages having been digitized quite well,
but with the majority having some blurry parts, and a few
pages even being illegible. My excuse is that the
scans are better than nothing, and you wouldn't have them at
all if I hadn't done it that way. So there! Even
so, I think I'll try to improve on my method the next time I
go out for a round of scanning at NARA ... which may be a
very long time, since the government is now in a shutdown
mode that will likely keep NARA closed until 2019, when my
vacation time will be back at zero. |
|
2018-12-22 |
|
|
2018-12-16 |
The MIT/IL
engineering-drawing index page has been completely
replaced by a single unified index, arranged by drawing
number. (Previously, it was a set of "batches", each
one of which was by drawing number.) It doesn't really
affect how you use it too much, but it just seems less
amateurish. |
|
2018-12-15 |
I've not really been updating the website
lately, even with the huge number of drawings I've been
scanning at NARA SW every day, because I've simply been too
busy and tired out by the process. Nevertheless, I did take
the time today to update the
page about NARA (or as it's charmingly titled,
"Documentation Quest! Stalking the Wild AGC"):
I've also updated our document library page with a couple
of document I scanned from NARA's aperture cards.
There's actually an
entirely new section on our document library page
with just these two document, also I expect it to grow
somewhat over the remainder of the year. Finally, the indices for all drawings scanned this week
(batches 3 through 7) have been added to our MIT/IL Engineering
Drawing Index page. |
|
2018-12-09 |
The vast number of MIT/IL AGC/DSKY
engineering drawings received over the past weeks — not just
those drawings I've been scanning at NARA SW, but various
others that associates have handed me — has both overwhelmed
the main content on the electro-mechanical page
(namely, drawing trees for the electrical design of specific
AGC/DSKY models) and swamped my ability to deal with
the new drawings in any timely fashion. One thing I've
done to deal with that is to split out all of the
drawing-index Appendices formerly on the electro-mechanical
page, onto a new MIT/IL
AGC/DSKY engineering-drawing page, whose sole purpose
is to index those drawings. I've also pepped up my
ability automate the indexing process somewhat, so hopefully
in the coming week(s) I'll be able to stay abreast of the
new incoming drawings on a day-to-day basis. We'll
see. At least for now, I think I'm caught up, and the
index page is complete with respect to all available
drawings in our collection. |
|
2018-12-05 |
|
|
2018-12-03 |
|
|
2018-11-30 |
I've been increasingly concerned for a number
of reasons about the way the electro-mechanical page
has been handling links into document ND-1021042, as well as
links to CAD files and the PNG renderings thereof.
Consequently, I've completely restructured that portion of
it. It should now be easier to maintain in the future
and (marginally) less confusing and easier to use right
now. On the bad side, all of the old hyperlinks on
this change-log page to the PNG files rendered from CAD will
no longer work, and I see no particular reason to fix
them. Seems like a small price to pay on a go-forward
basis. Still ... there may be some broken links to
PNGs floating around elsewhere that I'll have to find and
fix at some point. |
|
2018-11-27 |
Apparently I managed to treat the Universe
right in my last post ... took me long enough to figure out
how to do that! I wish I had known the trick decades
ago. Kidding aside, though, the Instrumentation Lab Block I electrical drawings I alluded to yesterday have magically appeared overnight, and I've incorporated them into our electro-mechanical page. I'm missing a couple of DSKY drawings, so perhaps I messed up when I made my shopping list and will have to try again. At any rate, what has been added is a complete set of the official electrical schematics for the Block I AGC p/n 1003700, and mostly-complete sets (missing the keyboard module) for Block I nav & main DSKYs 1003706 & 1003707. You have to take that with a slight grain of salt, since most of the drawings are actually 1 or 2 revisions off from what we were looking for; but I'm not sure how much confidence we can have that the revisions we were looking for were necessarily the right ones anyway, so that doesn't sound like a great problem. Particularly not when the alternative situation (yesterday!) was that we had none of the Block I official drawings at all. In fact, whether or not we have the precise revisions we were targeting, we have lots and lots of revisions we weren't targeting. A typical example might be that we were targeting rev G of a drawing but only got revs -, A, ..., F. Lest you doubt my word, there are over 200 such drawing scans. At any rate, significant changes have been made to the electro-mechanical page to accommodate all of this new material:
|
|
2018-11-26 |
Added the recovered CAD drawing for 1006556
(Block I AGC module A21, "logic flow S"). Contrary to
my usual habit, I've only made the
CAD
files and haven't bothered with the PNG files, for a
reason which will become apparent in a moment. By the
way, this particular drawing turned out to be a monstrous
effort. It was split out into 23 separate figures in
ND-1021041, but lots and lots of that was little duplicated
blocks of circuitry (presumably for clarity), replete with
errors in terms of connector pin numbering ... all of which
had to be resolved. What fun! Besides not making the PNG files for this drawing, I'm also going to pause most of the effort of recovering the rest of the Block I schematics from AC Electronics document ND-1021041 for the moment. Why? Well, because of some crazy news I got today. As you know, we don't have the official drawings for the Block I schematics, and that's why I've been resorting to "recovering" them from the blocks of circuitry in ND-1021041's figures. That's obviously not 100% satisfactory (though it's infinitely better than having no schematics at all ), because of the errors and omissions inherent in AC Electronics's redrafting of the drawings, the lack of versioning of the drawings obtained in this way, and the fact that the "recovered" drawings simply look nothing like the originals. But in theory, the recovery process should still produce a very close approximation of the original design, if AC Electronics didn't screw up too badly. Whatever. The crazy news from today is that it looks like there's a high probability of getting the official drawings themselves in the near future, for both the AGC and the main/nav DSKYs ... all except drawing 1006545 (AGC module A23). So I'll still recover that one from ND-1021041. Anyway, I don't want to say much more than that right now, since the Universe doesn't like that kind of thing and would probably try to queer the deal if I did. The transcriptions done so far won't be a total waste, of course, since if we do manage to get and transcribe the official drawings, when we can use the recovered drawings to do automated cross-checks of the netlists and what-not. Even so, the time spent on it is time I'm not going to be getting back, unless karma is a real thing. |
|
2018-11-24 |
|
|
2018-11-21 |
Added the recovered Block I CAD drawing from
ND-1021041 for 1006540 (AGC modules A1-A16, "logic flow
bit"). There's one module for each of the 16 bits
(including parity) in the memory/register words, each using
the same physical module, but different signals are input
and output to each of them from the backplane. Plus, a
number of internal signals are presented to the backplane
and can be wired up differently there, creating circuits
that are superficially somewhat different from what you'd
naively expect from the drawing. So while the drawing
itself is deceptively simple, it's actually quite a mess of
different types of signals and a not-necessarily-obvious
circuit topology. Plus, ND-1021041 had a number of
inconsistencies in it. In other words, the usual
warnings about how it's likely there are a lot of errors
that will have to be worked out of the drawing later, yada,
yada, yada. And the usual statement that so far I'm
pleased with it. I don't know why I even bother with
these disclaimers any more, since they're always the
same! (KiCad
schematics, and PNG renderings of the main sheet and a sheet with tables of
backplane signal names.) |
|
2018-11-19 |
There had been 3 Block I AGC circuits in
ND-1021041's Figures for which, at first, I hadn't been able
to determine the modules to which they belonged. I
think I've now moved them into the proper modules in the AGC
1003700 section of the electro-mechanical page. |
|
2018-11-19 |
On the electro-mechanical page, rearranged
the Block I AGC hyperlinks into document ND-1021041 so that
they're a bit more useful. |
|
2018-11-18 |
I've had second thoughts about the scheme I
mentioned yesterday of simply using KiCad default page
templates for the Block I drawings' title blocks. I've
modified the default somewhat by including a Virtual AGC
logo and project name in the title block, along with some
other changes to slightly reduce the ugliness of the
things. Consequently, the yesterday's transcription of
Block I drawing 1006547 has been tweaked a tad. Mainly, though , I recovered CAD drawings from document ND-1021041 for Block I AGC schematic drawing 1006552, "Logic Flow N", module A28, which corresponds roughly to a portion of Block II timer module A2. (KiCad schematics and PNG renderings of top-level sheet plus sheets corresponding to ND-1021041 Figures 4-53, 4-57, 4-59, 4-62, 4-143, and 4-181.) It went much better than yesterday's drawing, with no obvious errors in document ND-1021041. There is a problem with the Block I transcriptions that I forgot to mention yesterday, though, in that ND-1021041 doesn't always list backplane signal names in its schematics when the connectivity is obvious from the drawing, so if you have just the transcribed schematics, you can't deduce all of the backplane connections from it. I'm currently assigning those otherwise-unnamed connector pins with names like PM_N, where M is the module number and N is the pin number. I supplement that scheme by maintaining a connectivity database as I go along that tells which of the PM_N pins are connected to which other PM_N pins. For example, pins P33_65 and P33_77 in module A33 are connected to pin P34_53 via the backplane. Eventually I'll eliminate the PM_N names entirely, by assigning unique but logically-reasonable or arbitrary names to those as-yet-unnamed backplane nets. That's simply not too convenient at this stage. For now, for drawings I've already transcribed, the files pinsBlockI.txt and connectionsBlockI.txt in our github repository can be used to get lists of block I backplane connector pin names and of backplane nets that aren't yet obvious from the pin names. Fortunately, there aren't too many of them, percentage-wise. Finally, as an afterthought , I've added the CAD transcription for Block I AGC drawing 1006549, "Logic Flow J", module A26. (KiCad schematics and PNG renderings for the top-level sheet and for sheets corresponding to ND-1021041 Figures 4-61 and 4-181.) |
|
2018-11-17 |
I've "recovered" or "regenerated" my first
first draft of a Block I AGC schematic drawing, namely
drawing 1006547, "Logic Flow G", modules A33 and A34, which
corresponds roughly to the Block II scaler module A1.
By "recovery", I'm referring to the fact that we don't have
a copy of any of the revisions of the official drawing
1006547, but we do have AC Electronics document
ND-1021041. ND-1021041 seemingly contains the entire
Block I AGC schematics, but redrawn and grouped logically
across a large set of Figures. For example, all of the
schematics for drawing 1006747 seem to be in Figures 4-59,
4-153, 4-165, and 4-181. There are pluses and minuses to this recovery process. For one thing, ND-1021041 is far more legible than any of our scans of the official AGC schematic drawings. On the other hand, though these schematics are functionally identical (hopefully!) they are by no means visually identical to the originals, so it still leaves us without a clue as to how the originals actually looked. Nor does ND-1021041 have any of the original notes from the drawings, nor the parts lists that usually appeared as tables in the originals. So I've eliminated certain visual conceits in my transcription, such as no longer adding Instrumentation Labs borders or title blocks to them. And frankly, if my experience so far is in any way representative, ND-1021041 introduced a lot of drafting errors that were not present in the original drawings. Consequently, these "first drafts" are more "drafty" than we're used to , and it will take longer to wring out the errors from them. Though once I've recovered enough of the logic modules to perform Verilog simulations of the logic — i.e., to run Block I software on the simulated electronics — we can obviously start to feel good about the process; but that's somewhere in the distant future right now. Fortunately, a lot of drawing 1006547 should be simulable in a stand-alone fashion, though I haven't done it just yet. With that said, I'm pretty pleased with this very first drawing. As usual, we have the KiCad schematics, along with PNG renderings of them: top-level sheet, and sheets roughly corresponding to ND-1021041 Figures 4-59, 4-153, 4-165, and 4-181. |
|
2018-11-15 |
Added transcription of drawing 2005012B
(fixed memory module B1-6 for all AGC models). The
KiCad
schematics are here, and we also have PNG renderings
from the CAD for the drawing (sheet 1 and sheet 2). I
don't mind telling you that transcription of this one was a
real pain. On the other hand, it's nice to have a
drawing that's actually legible, so that you can get a sense
of what the module is actually doing, rather than just
wondering if you're going blind. This is a
significant milestone, though, because
Sweet! Admittedly, this CAD transcription might benefit from a good proof-reading of the PNG renderings vs the original scans. (Volunteers?) And simulation of some of the the analog circuitry (such as the power supply and oscillators) with some variant of Spice might be nice. In fact, there's no end of extra work that could be done on it. The complete story, as usual, is on our electro-mechanical page. But I think it's pretty swell anyway. That's not the end of the CAD-transcription story, of course, in that there are two other versions of the Block II AGC with schematic drawings remaining to be transcribed or regenerated, plus the Block I AGC, plus intermediate revisions of the schematic drawings, plus mechanical drawings. May take a while. In an unrelated development, the comments about the AGC's integrated-circuit usage on the electro-mechanical page have been tweaked to account for the Block I AGC's NOR-gates, as well as sense-amplifier integrated circuits. |
|
2018-11-11 |
Added transcription of drawing 2005106-
(erasable memory module B12 for AGC 2003200). The
KiCad
schematics are here, and the PNG rendering is here. |
|
2018-11-10 |
Added transcription of drawing 2005100D (rope
driver modules B16-B17 for AGC 2003200). The
KiCad
schematics are here; as is usual for these last few
modules, there are separate PNG renderings for visual
correspondence to the original (sheets 1 and 2) and for electrical
correspondence (top-level
sheet and circuit blocks A, B, C). This is
kind of a milestone, in that all of the AGC (2003200)
modules have been transcribed to CAD other than B1-B6 and
B12, which are the modules that really consist only of
ferrite cores. I'm not sure it makes much sense to
transcribe those anyway, though in a slavish, compulsive
fashion I'll undoubtedly do so, so I'll just hold off for a
while on declaring a true milestone. |
|
2018-11-08 |
Added transcription of drawing 2005924-
(strand select module B15, for AGC 2003200). The
KiCad
schematics are here; there are separate PNG renderings
for visual fidelity (single
sheet) vs electrical properties (top-level sheet and
circuit blocks A,
B, C). |
|
2018-11-07 |
|
|
2018-11-06 |
|
|
2018-11-05 |
Added the transcription of drawing 2005104B
(erasable driver module B9&B10, for AGC p/n 2003200)
into CAD. The
KiCad
schematic files are here. It proved impossible
to make a single transcription that was simultaneously a
good visual representation and an electrically valid
representation of the original drawing. Therefore, two
separate transcriptions were made, one intended to be
visually accurate, and the other intended to be electrically
valid and accurate. The KiCad projects for both
(original.pro and module.pro, respectively) are at the link
just given. PNG files for both the original visual
(sheet 1 and 2) and the electrical
(top level, circuit
blocks A and B) are also
available. |
|
2018-11-03 |
Drawing 2005922- (alarm module B8, for AGC
p/n 2003200 — or at least, a very close revision to the
desired 2005922A) added. KiCad
schematic
files and PNGs (sheets 1, 2, and 3) all available. |
|
2018-11-02 |
Drawing 2005003E (oscillator module B7, for
AGC p/n 2003200) has been transcribed to CAD. The
KiCad
drawings are available, as well as PNG printouts of
its sheets 1, 2, and 3. |
|
2018-11-01 |
Drawing 2005916A (power-supply modules
A30-A31, for AGC p/n 2003200) has been transcribed to
CAD. The
KiCad
drawings are available, as well as PNG printouts of
its sheet 1 and sheet 2. With
this drawing now available, all of the A-modules for AGC
2003200 have now been transcribed to CAD. Next, the B-module
drawings! |
|
2018-10-31 |
Similarly to yesterday's update, I added
links into document ND-1021041 for the module electrical
schematics for the Block
I
main-panel DSKY and navigation-panel
DSKY. All of these lists of link are only
positioned temporarily, until I can move them into the
document-index Appendix of the electro-mechanical
page. Luckily, this gave me the opportunity to fix a
problem with the descriptions of the Block I DSKYs on the
electro-mechanical page, in that the drawing lists for each
of them indicated that there were 18 circuit modules
(D1-D18), whereas the photographs only showed about half
that many modules, with no obvious spaces where many more of
them could be hidden from view. Well, it's now clear
that 9 of the modules listed were only for the main DSKY
(D4-6, 11-14, 16, 17), and other 9 were only for the NAV
DSKY (D1-3, 7-10, 15, 17). I've fixed my drawing lists
accordingly. Problem solved! |
|
2018-10-30 |
In
the Block I AGC (model #1003700) section of the
electro-mechanical page, I've added links into
document ND-1021041 for each of the module electrical
schematics. There are probably errors to fix, and the
info will probably be reorganized later on, but for right
now at least, it's a big help in trying to understand any
given Block I AGC module is for. It will certainly be
a big help later on when trying to create CAD schematics for
the various drawings comprising AGC 1003700. I've not
yet done the corresponding indexing of the Block I DSKY
schematics. |
|
2018-10-26 |
|
|
2018-10-20 |
|
|
2018-10-07 |
|
|
2018-09-29 |
|
|
2018-09-23 |
|
|
2018-09-16 |
Added CAD transcription for drawing 2005268A (electrical schematics for AGC module A18) to the electro-mechanical page: CAD files, PNGs generated from CAD (sheets 1 and 2), vs the original scans (sheets 1 and 2). | |
2018-09-15 |
Added CAD transcription for drawing 2005267A
(electrical schematics of AGC module A17) to the
electro-mechanical page: CAD
files, PNGs generated from CAD (sheets 1 and 2), vs the original
scans (sheets 1
and 2). |
|
2018-09-14 |
|
|
2018-09-13 |
Added CAD transcription of the electrical
schematics for the AGC interface modules A27/A38/A29, namely
drawing 2005912B. This is for AGC p/n 2003200, but is
likely essentially the same as for the flight AGC
2003993. CAD
files
here, plus PNGs (main
page, circuits A,
D, P, R, XT, Y), vs the original
scans (sheets 1
and 2).
Note
that what I call the "main page" of the CAD corresponds to
sheet 2 of the original drawing, while sheet 1 original
drawing is split into 6 separate CAD drawings of
sub-circuits. |
|
2018-09-12 |
Added CAD transcription of the electrical
schematics for the AGC interface modules A25 & A26,
namely drawing 2005021C (but for AGC p/n 2003100 and
2003200, rather than the flight AGC 2003993): CAD
files
here, plus PNGs (main
page, circuits XT,
P, D, C, R), vs the original
scan. This is an interesting design relative to
the drawings I've been adding so far, in the sense that
those prior drawings all provided a "flat" design, whereas
today's is purely hierarchical. In other words, even
though the prior drawings may have consisted of two or three
sheets sometimes, that was really only due to the fact that
the design was simply too big to fit on a single page, so
the designers split it up into more. If you had a big
enough piece of paper, you could have stuck the stuff on all
those sheets onto the one large page with no other
change. With the interface module, however, the design
uses 5 smaller subcircuits, represented by separate CAD
files that appear over and over again in the main
circuit. For example, the "P" subcircuit appears more
than 10 times, while the "C" subcircuit is used over 30
times. Unfortunately, that added complexity causes the
CAD design to look not quite as similar to the original
drawing, but it still is a pretty fair visual approximation.
Fun stuff. |
|
2018-09-11 |
Added a CAD transcription of the electrical
schematics for AGC module A16, namely drawing
2005266-: CAD
files
here plus PNGs of sheets 1 and 2, vs the original
scans of 1
and 2.
(I
suppose I should have been providing similar links to these
notes for all of the CAD drawings I've been adding
over the last few weeks, but it didn't occur to me.
I'll try to remember to add them for future drawings, but
for those already added to the
electro-mechanical page, I'm afraid you'll just have
to rummage around to find them if you're interested.) |
|
2018-09-10 |
|
|
2018-09-09 |
Added the CAD transcription of module A14, in
the revisions appropriate for both AGCs 2003993 and and
2003200. They differ, as far as I can tell, only in
the captioning of a single connector pin. However, the
2003200 revision of the drawing (namely, drawing 2005264A)
is quite blurry in the scan, and could stand being checked
vs drawing 2005264- (whose scan is quite
sharp). I didn't do that, because I didn't
notice at first that we even had a copy of 2005264-, but I
did compare it to the also-sharp scan of 2005064F. |
|
2018-09-08 |
Added the CAD transcriptions for the AGC
electrical schematics for the flight version of modules A8,
9, 10, 11, 12, and 13. If I haven't so commented before, I should mention that for these electrical schematics I've been prioritizing transcription speed — i.e., I'm trying to get a minimally complete set of schematics transcribed and online as soon as possible — relative to accuracy. So while I think the transcriptions are pretty accurate, and they do all pass KiCad's ERC (automated error check), there are undoubtedly errors in them that will only be caught in proofing directly against the scanned drawings. And I haven't done a lot of proofing on them. So, anyone who is interested in participating in such a proof-reading process, feel free to step forward. Fortunately, unlike the schematic entry process itself, it doesn't involve a lot (or any) knowledge of electronics or electronics design tools to do so, and is simply a matter of comparing two drawings side-by-side. For example, here are the original scanned drawing and the CAD-generated drawing for module A13 (click to enlarge): A good example of the need for proofing is the drawings for modules A8, A9, A10, and A11. These drawings are so similar to each other that only A8 was actually transcribed, while the drawings for A9-A11 were merely adapted from the drawings for A8. This sped things up a lot, sure, and it eliminated a lot of potential errors ... but it also masked various other types of potential errors by making it very hard for me to see them. Proofing will be so important! As far as the "minimally complete" set of drawings is concerned, I'm referring to AGC p/n 2003200-011 and DSKY p/n 2003950-011, since this is the combination of units for which we can most-plausibly say that we have the exact revisions of all the drawings we need. Earlier and later AGC/DSKY part numbers will follow, and (I think) will all arguably be close enough to being complete drawing sets as desired for any practical purpose, but not in the mindlessly-obvious sense that 2003200/2003950 is complete. The reason my earlier comments (below) refer to all of the CAD drawings being added as the "flight version" even though they're for AGC 2003200 is that many of the drawing revisions for AGC 2003200 really are identical to the drawing revisions for AGC p/n 2003993 (the flown AGC p/n), and the ones added so far are among those. But eventually there will be some drawings added that are close to the flown revision without being 100% identical to them. |
|
2018-09-03 |
Added the CAD transcriptions for the AGC electrical schematics for the flight version of the A7 module. | |
2018-09-02 |
Added the CAD transcriptions for the AGC electrical schematics for the flight version of the A6 module. | |
2018-09-01 |
Added the CAD transcriptions for the AGC
electrical schematics for the flight version of the A5
module. |
|
2018-08-31 |
Began the process of adding links to the
AGC
Handbook index to the relevant figures in the various
AC Electronics manuals (ND-1021041, ND-1021042) for AGC and
DSKY schematics. In other words, the index will
eventually have links to all available schematic drawings
from not only the AGC Handbook itself, but for Eldon Hall's
set of drawings (as mentioned yesterday), and for AC's
redrafted versions of those (or redrafted versions of
drawings we don't actually have any other access to).
The latter process is just started, and will take a while,
since it turns out to be a lot more time-consuming than I
imagined. |
|
2018-08-30 |
|
|
2018-08-28 |
CAD transcription of the AGC electrical
schematics for the flight version of the A2 logic module was
added. The version mentioned yesterday was an early
prototype version of it. |
|
2018-08-26 |
Several CAD transcriptions of AGC electrical
schematics were added to the electro-mechanical page,
versions of the A1, A2, and A3 circuit modules.
Certain portions of the electro-mechanical page were
reworked in accordance to what I've learned by working of
the circuit transcriptions. |
|
2018-08-20 |
We now have Volume
1
(of 2) of AC Electronics document ND-1021041.
This document contains, among other things, electrical
schematics (as redrafted by AC Electronics to fit into the
book) of the Block I AGC. Volume 2 is coming in the
near future. From the table of contents, it seems that
Volume 2 will have most of the rest of the Block I AGC
schematics, along with those of the Block I DSKY.
Since up to this point we have had no authentic Block I
electrical schematics of any kind, and have been reliant on
John Pultorak's reimagining of them, this is a great
advance! Thanks to Ken Mortimer and the Mortimer
family for providing this to us. |
|
2018-08-15 |
Sharp-eyed Mike has pointed out a potential
(but only potential) versioning conundrum for the model
2003994 DSKY's D7 and D8 modules. I've changed the comments for
them on the electro-mechanical page to reflect those
concerns, but don't think any more-substantive change
is warranted just yet. |
|
2018-08-14 |
|
|
2018-08-13 |
|
|
2018-08-12 |
|
|
2018-08-11 |
Added transcribed CAD files (and
pretty-printed image) for the electrical schematics of the
DSKY keyboard module (drawing 2005903A) to the electro-mechanical page. |
|
2018-08-10 |
|
|
2018-08-09 |
|
|
2018-08-06 |
Hartmuth has also passed along 20 or so
documents he had gleaned over the course of time from NTRS,
but which we had missed out on somehow, and I've added these
to the document library page.
You
can just look for the ones marked on that page, since I've also
gotten rid of the icon on all docs added prior to this month,
so Hartmuth's documents are the only ones currently marked. |
|
2018-08-04 |
Hartmuth Gutsche has gone through the tedium
of indexing
the
entire AGC Handbook, to make it easier to find stuff
in it or to see at a glance what's actually in it, and this
index has been added to the electro-mechanical page.
Thanks, Hartmuth! I was going to do it myself, Real
Soon Now, but it turned out to much realer much sooner than
I anticipated. |
|
2018-08-01 |
The basis for our new electro-mechanical page,
first mentioned a couple of days back, is a notebook called
the AGC Handbook, given to us by Don Eyles. This is
not so much a "document" as it is (or was) an
evolving collection of electrical and mechanical drawings
for the Block II AGC and DSKY. I'm not sure just how
many drawings are in the book, but it has around 550 pages,
and the drawings average around two pages each. So ...
a lot of drawings. At any rate, Mike Stewart
has finished scanning it, and we now have the complete thing
online. In a slight variation from our usual practice,
the document-library page of the website has been bypassed,
so a reduced-size
(170MB) PDF appears on the electro-mechanical page
instead. As usual, though, the
full-quality scans do appear on our Internet Archive page. It is known that there was a Block I AGC Handbook as well, and presumably later versions of the Block II AGC Handbook covering later versions of the AGC/DSKY, but we don't have any such handbooks. We never heard of them before Don Eyles broached the subject a couple of weeks ago, and so never even knew to look for them. If you know of any AGC Handbooks anywhere, please let us know, so that we can try to fill in the remaining gaps in our collection of electrical schematics! |
|
2018-07-31 |
Added to the document library page a couple
of portions of documents sent over by Don Eyles and scanned
by Mike Stewart. These are drafts of Section 3 of
volumes 1 and 2 of the AS-278 GSOP, namely the "Block II GNC
System Description" and "LEM PGNC System Description",
respectively. |
|
2018-07-30 |
Added some nice images and numerous drawing numbers
(but sadly, no actual drawings) to the Block I
tables on the electro-mechanical page. |
|
2018-07-29 |
Various additions and corrections to the electro-mechanical page,
but mainly there were three DSKY drawings which we've
managed to locate, so the Block II DSKY electrical
schematics are much more correct than yesterday. |
|
2018-07-28 |
|
|
2018-07-27 |
The minimal treatment given previously to AGC
electrical schematics has been replaced by a much expanded
treatment on a page
dedicated to AGC/DSKY schematics and mechanical drawings.
A
lot of AGC schematics we never had before have been added to
it. This is just the first draft, though, so there's a
lot more work to do on this new page, and on filling in more
of the previously missing data. |
|
2018-07-23 |
|
|
2018-07-20 |
Added a favicon for the web-pages. |
|
2018-07-15 |
|
|
2018-07-14 |
Changed the website's logo to read AGC
McAGC Face. Wait ... you can probably tell by
looking in the upper right-hand corner of this page that
that was a lame joke. No, the truth is that Eugene
Dorr has designed a number of alternatives to our old logo,
which had simply been one of the NASA Apollo patches.
Several of Gene's designs stood out as clear favorites, but
in the end there were 3 that I couldn't choose
between. So in an amazingly decisive fashion, I now
have the website cycle through those 3 favorites on
successive days of the month. You can read all about
this brave decision-making process on the FAQ page,
if you're interested. |
|
2018-07-12 |
Volume 1 of
the 1966 ND-1021042 has been added to the volume 2
provided a couple of days ago. I think this addition
is extremely important to anybody interested in simulating
the AGC at the microcode ("control sequences") level,
because our 1972 version
of volume 1 was missing the roughly 175 pages that
discuss the theory of operation of the "control sequences"
but those pages are present in this 1966 version.
Naturally, the content might have changed a little from 1966
to 1972, but I don't think you're going to find a better
discussion of the topic anywhere in our document library, or
elsewhere, at the present time. These documents came
from the Mortimer family collection (thanks, Ken!) and the
scanning at The Internet Archive was financed by Mike
Stewart and me (thanks, us!). |
|
2018-07-09 |
Added the earliest (i.e., "no rev") version
of the AC/Delco document ND-1021042, "Apollo Lunar
Excursion Module Primary Guidance, Navigation, and Control
System Manual", volume 2, to the document
library. (Volume 1 is currently being scanned, but
won't be available for a while.) We already had a much
later (6 years later!) version of this document as well, and
the differences between the versions are significant.
What's important is that these are basically "theory of
electrical operation" documents for the Block II AGC, and so
lots of evolution in the electrical design can be
seen. What's even more fun is that this version of the
document may correspond to a specific AGC which physically
still exists and could possibly be made to function; but
that's just speculation at the moment, and so we may or may
not have more to say about it at a later time. |
|
2018-06-09 |
Added a collection
of papers on guidance, control, and flight dynamics from a
1967 AIAA conference. At least some of them are
directly related to Apollo guidance. |
|
2018-06-05 |
|
|
2018-05-30 |
Added Grumman's
Level
III PGNCS drawings for LTA-8 to the document
library. These are basically the detailed wiring
diagrams for the lunar module, showing how all the bits and
pieces of the guidance system (including the AGC) were
interconnected. LTA-8, according to online sources,
was the first production, man-rated lunar module, and was
used for testing purposes rather than flight. The
drawings still internally identify it as a "LEM" rather than
a "LM". A later drawing covering LM-4 through LM-15
was already in our library. |
|
2018-05-26 |
A somewhat later version of the Astrionics System Handbook,
Saturn Launch Vehicles document has been
added to supplement the earlier version already in our
document library. The newer version relates
essentially to Apollo 12, while the earlier relates
essentially to Apollo 11. Of particular interest, the
LVDC software was apparently significantly changed or even
replaced between those two missions — a fact which I either
didn't know or else had totally forgotten — and the
associated Chapter 11 of the document seems to have been
completely rewritten as a result.. |
|
2018-05-25 |
Thymo van Beers has pointed out that the
documentation for the CPU-Engine API and Backtrace API on the developer page have rotted a
bit over the years, so that the descriptions no longer
coincided exactly with the code. So I've made several
corrections to the text. Thanks, Thymo! |
|
2018-05-21 |
The AC Electronics Block I
study guide, "G&N System Familiarization" has been
added to the document library. Unlike the companion
document added a couple of days ago, this one is much more
obviously an actual study guide. Both documents (and
more Block I documents to follow) were contributed by the
Mortimer family (thanks, Ken!); Mike Stewart and I (thanks,
Mike and me!) are financing the scanning of these docs at The
Internet Archive, where you can see the
full-resolution scans if you're so inclined. |
|
2018-05-19 |
Added a nifty AC Electronics
study guide for Block I Guidance&Navigation Hardware
Functions to the document library. Like many
other AC Electronics docs, it's so chock-full of detailed
technical info that it might better be viewed as reference
material rather than the "40 hour" training course it
purports to be. (I think the primary justification for
labeling it as a training course is that every second page
is left blank for the student to make hand-written notes. )
This is the first of several significant documents for the
Block I AGC that we're having scanned by the Internet
Archive right now, so stay tuned for the next few weeks if
you're interested in Block I. |
|
2018-05-12 |
|
|
2018-03-23 |
Apparently, on the
COLOSSUS page, what I've been calling COLOSSUS 2B, 2C,
and 2D (for Apollo 12, 13, and 14) for the last 15 years
should really have been 2C, 2D, and 2E all along. I've
corrected that now. Yikes! What caused the error
to be noticed today is the addition of two new documents in
the document library:
These are, of course, the super-awesome Apollo 7 CM and
Apollo 12 CM documents corresponding to the super-awesome
Apollo 12 LM document added yesterday. Not only is
this super-awesome (had I mentioned that already?), but
this is actually the first significant
documentation we've ever gotten about the Apollo 7
software. All three of these documents were written
by AC Electronics residents at the Instrumentation Lab. |
|
2018-03-22 |
Four new documents were added to the document library, most of which
are of lesser significance (from my limited perspective), so
I won't bother itemizing them; just check out the icons in the
library if you're interested. However, one document, titled "Guidance, Navigation, and Control Lunar Module Functional Description and Operation Using Flight Program LUMINARY (Rev. 116)" (600 pages), for the Apollo 12 LM, seems quite significant. According to its preface, "The purpose of this document is twofold. The first is to provide a functional description (operationally oriented) of the LM GNCS hardware and software and the interfaces with other spacecraft systems. The level of detail is that required to identify and define telemetry outputs. Also included are function flow diagrams of the LUMINARY programs and routines together with lists of verbs, nouns, option codes, and checklist codes for this flow. The second purpose is to provide the operational procedures for this hardware and software including nominal airborne condensed checklists, malfunction procedures, and program notes." |
|
2018-03-04 |
I got a complaint that the VirtualAGC GUI
program wouldn't fit on a 800×480 7" Raspberry Pi
touchscreen. No kidding! Well, that's part of a
larger problem with it, it appears, in that while the
program was attempting to interrogate the screen size and to
adjust it user-interface format appropriately, that feature
doesn't seem to have been working. So I've addressed
both of those problems in the latest source-code updates in
the GitHub repository. Instead of trying to make
adjustments according to the screen size, the VirtualAGC GUI
program now depends on command-line options:
For use with --squish only, there's also a --maximize
command-line option that maximizes the program at startup. There are no installers for this new program version as
of yet, but I'll get around to it sometime if I hear no
complaints in the meantime. |
|
2018-02-24 |
Two significant documents were added to the
document library:
|
|
2018-02-06 |
A new document was added to the document
library, "Luminary 1B
DAP Preflight Performance Evaluation" (thanks to
Hartmuth Gutsche for spotting this doc for us). It's
an evaluation of the results of digital simulation of the
digital autopilot of Luminary 116 (Apollo 12). As it
happens, we already had a digital
simulation of Luminary 116 in our collection as well,
but it was from a somewhat later time and isn't the
simulation from which the report was written, presumably. |
|
2018-02-05 |
Two new LVDC-related documents were added to
the document library, one sponsored and scanned by Mike
Stewart (thanks Mike!), and one cleverly found in the NTRS
stash by Nik Beug (thanks Nik!). These are presently
at the top of the LVDC section of
the document-library page, and I invite you to read
the descriptions there. However, the more-significant
of the two is a study (in 3 volumes), the "Flight Program
Language Requirement" document, of the feasibility of
replacing the LVDC assembly-language version of the LVDC
software with versions in 4 different programming
languages. As a part of this effort, large chunks (but
not 100%) of the pre-existing LVDC software were actually
ported to those 4 alternate languages, as well as being
flowcharted and described in detail. Thus, though this
document does not provide any LVDC code at all, it
nevertheless provides much more internal detail about the
LVDC software, in almost-usable form, than any other
documentation presently available. Unfortunately, it
is not complete enough in itself to allow reconstructing the
entire LVDC program. |
|
2018-02-04 |
There are a couple of new LVDC-related
documents which Mike Stewart has managed to track down and
have scanned on his own dime (thanks, Mike!):
|
|
2018-01-19 |
Replaced the photo of the Block I nav-bay
DSKY on the Block I page
with a much better one. |
|
2018-01-17 |
|
|
2018-01-14 |
|
2017-12-21 |
Added some documents to the library:
|
|
2017-12-20 |
We ended up getting a better scan of the CSM/LM
Spacecraft
Operational Data Book mentioned yesterday. |
|
2017-12-18 |
Added an earlier revision of the CSM/LM
Spacecraft Operational Data Book than we already had.
These books are generic, but have appendices for specific
spacecraft, and this now gives us a complete set of
appendices for the CSMs for Apollo 7-17. Specifically,
though, this new revision gives us the pad loads for the
Apollo 12 CSM, which we had not previously had. |
|
2017-12-17 |
Mainly document additions:
I've also added a Python program called humanizeScript.py
to the source-code tree, for analyzing the DSKY playback
scripts (mentioned in the preceding entry) into reasonably
human-friendly form. This is mainly for my purposes
for producing documentation for this website, starting
from logged AGC i/o-channel data from NASSP, but I suppose
it could be useful for other folks as well. Also,
I'm sure that as a first version it probably has a lot of
deficiencies. |
|
2017-12-11 |
For the
3D-printed
DSKY with integrated Raspberry Pi running yaAGC that
I've mentioned obliquely a couple of times in the last few
of days, I had been asked to provide some sort of a facility
for playing back pre-scripted AGC output-channel commands
... i.e., for controlling the DSKY from a script rather than
from yaAGC, for things such as museum exhibits. So I
added a primitive recording and playback capability to that
DSKY program, which is called piDSKY2.py,
it being a Python 3 script rather than the classic yaDSKY
program. Having done that, I began to wonder where the
heck anyone would actually get a meaningful script to run on
the thing, since what you'd really want is realistic data
from an actual mission simulation, rather than something
recorded while just playing around with yaAGC and a
DSKY. The answer to that, it seemed to me, was to see if NASSP could log data about AGC-to-DSKY output-channel transactions or if not, could someone add it for me? Well, Nik Beug was kind enough to not only pep up NASSP's logging capabilities to meet my needs, but also to send me the log for a sample mission segment, namely an Apollo 8 launch. So with a slight amount of work throwing together a little Python script for converting Nik's NASSP log format to the format I needed, I now had the ability to "play back" an Apollo 8 launch on the 3D DSKY. Yay, and thanks Nik! Hopefully we'll have a lot more of these scripts in the future. Now, unfortunately, not everybody is going to be able to have one of the 3D-printed DSKYs, so my next thought was this: Why not modify yaDSKY2 so that it can play back these scripts? So ... now it can! The way it works is that if you click on yaDSKY2's PROG indicator lamp with a mouse, you get a file dialog that allows you to choose a canned script for playback. Naturally, I've added this to the introductory list of various fun things you can do with a Virtual AGC on our home page, as well as describing how to use the scripting capability on our yaDSKY page. |
|
2017-12-09 |
|
|
2017-12-07 |
A new page, DIY.html
(for "do it yourself") has been added, intended to be a
simple tutorial on writing and running your own custom AGC
programs to do stuff the AGC was never intended to do.
As if I could write anything "simple"! This is
prompted by the introduction onto the market of functional
3D-printed DSKY look-alikes with integrated Raspberry Pi
computers running Virtual AGC. It should probably be
called an iDSKY. With units such as that,
there seems to be a lot more interest in having the DSKY do
cute stuff that's not necessarily directly AGC related than
there is in pepping up the pure software simulation.
Probably because there's more of a motivation to get value
for your dollar, since the physical devices are costly while
the software simulation is entirely free. My
take on that is that it's fine to subvert the normal
functionality of the unit, but that it should be implemented
by writing programs in AGC assembly language to do it!
(Well, I have my ideas about it, and nobody is forced to
agree with me. :-) ) At any rate, this is my
attempt to encourage that. The new page is nowhere
close to being complete, but I think it has enough on it to
be useful. |
|
2017-11-30 |
An early version of the Luminary 1C
Programmed Guidance Equations document has been added to the
document library. We already had a later version of
the 1C document, as well as having the 1B document, so this
is a kind of "missing link" between them, I guess. |
|
2017-11-21 |
For me (your own mileage may vary)
building Virtual AGC from source was failing due to compiler
warnings on the Raspbian Stretch operating system, though
continued to succeed on the (older) Raspbian Jessie
operating system. This has been fixed in the github
repository, and the Raspberry Pi build-procedure on our
download page duly updated. |
|
2017-11-18 |
I've added some
description
to our developer page of a Python 3 program which can
be used as the basis for quickly creating a simple,
low-performance simulated peripheral device for use with
yaAGC. Basically, it handles the details of connecting
the peripheral to yaAGC and of parsing the information
passed between them, leaving the developer with the task of
determining what's supposed to happen to data to/from the
AGC's input/output channels. The basic motivation is
that this might be a good way to throw together physical
implementations of AGC peripherals, without having to
concern oneself with C++ or cross-platform graphical
toolkits or other complicating factors, by embedding a
Raspberry Pi in them, and running a variation of this Python
3 script on the Pi. There's also a sample Python 3
script that illustrates how to use this technique to create
a (very) simple DSKY. |
|
2017-11-16 |
|
|
2017-11-15 |
The 2017-11-12 entry below, as well as our
document-library page, previously contained the suggestion
that the SKYLARK Program Change Requests (PCRs) recently
added to the document library might have represented
a complete set of the SKYLARK PCRs that had been implemented
in the SKYLARK software. That idea is now known to be
incorrect, and so those incorrect suggestions have been
removed. The reason we know it's incorrect is that our
copy of the SKYLARK GSOP contains an appendix which lists
(incompletely) the PCRs and PCNs as of March 1972, and it
turns out that there are lots of SKYLARK PCRs and PCNs for
which we don't have the text as of this time.
Alas! At any rate, the PCR table in the document
library has now been updated with this improved PCR/PCN
list. |
|
2017-11-12 |
|
|
2017-10-31 |
|
|
2017-10-16 |
I've been going through my to-do list — i.e.,
the list of things people emailed me about and that I said
I'd take care of Real Soon Now ... but then never actually
did anything. Some are astoundingly, forehead-slappingly
old. Many, of course, have resolved themselves over
the course of time without any intervention from me.
At any rate, here's a brief rundown for some of the
particularly egregious omissions of how they've affected
this website or the github repository, in chronological
order so that you'll get some sense of my guilt:
More to come later, probably. |
|
2017-10-14 |
The good NASSP folks have been making an
effort lately to get our AGS (abort computer) simulation
integrated into NASSP, and into checking it out, which is
great! What Ryan Callaway in particular found was that
while a lot of stuff worked, a lot of stuff didn't work
either. Mike Stewart jumped right in and managed to
find a bug I had made in the AGS simulator, yaAGS. So
Ryan now reports that it "looks like all phases of
rendezvous work as advertised in lunar orbit. I used AGS
calculations for every part and ags controlled burns as well
with RR and PGNS as backup/basis of comparison" and "the AGS
aborts the LM beautifully in both DPS and APS aborts".
Which is not to say that yaAGS necessarily is 100% perfect
now, but this one fix has improved its behavior
tremendously. For now, you have to build the software
from source if you want this fix, and it hasn't migrated
into the installer packages for VirtualAGC yet. Great
work, guys! |
|
2017-10-08 |
The AGS documentation has been reorganized
somewhat for clarity (I hope!), and now appears only on the AGS page itself
rather than being duplicated on the document
library page. It was simply too irritating to
duplicate it. |
|
2017-08-31 |
|
|
2017-08-30 |
|
|
2017-08-25 |
I was recently contacted by an graphic artist
who was doing a project that involved the binary patterns
used to encode characters, specifically in the word
"APOLLO", who wondered what the appropriate binary encoding
of these characters, easily recognizable by a 1960's
engineer, would have been in the Apollo era? I told
her to use EBCDIC encoding. Then, in a rare fit of
humility, I passed the question along to Hugh Blair-Smith as
well. Hugh also said that EBCDIC was the appropriate
answer, but then speculated about a separate matter:
Is it possible to actually display the word "APOLLO" (or
more accurately, "APOLO") directly on the DSKY itself?
As you may recall, the DSKY was used to display only
numbers and blanks, but that doesn't mean it isn't possible
for appropriate software to display other patterns as
well. Alas! it turned out not to be possible; none of
the characters A, P, or L can be displayed. In fact,
we ended up tracing through the DSKY's electrical schematics
to find every possible display pattern, and those wild patterns are now
listed on the developer page. Some nice images
verifying these patterns on Bruno Muller's hardware DSKY
emulation have also been added to that page. |
|
2017-08-24 |
I'm told that the situation for building
Virtual AGC on Mac OS X is much worse than I imagined, and
that newer Macs now provide clang as the default C compiler,
rather than gcc ... and naturally, Virtual AGC was designed
for the ubiquitous gcc and not for using clang. And
equally naturally, my own Mac is an older one that sensibly
provides gcc as it ought. Well, that's life in the Mac
world, I suppose, of which I have very little
knowledge! I've added experimental clang support in the github repository (it works on Linux at least), as well as providing a method of potentially using gcc in spite of the fact that Xcode wants to use clang. Both are possible approaches to the Mac problem. I've provided documentation as to how an adventuresome soul might try out these approaches on a newer Mac. |
|
2017-08-23 |
Note that I really only want to support
VirtualAGC on Ubuntu/Mint/Debian desktop Linux systems,
given that I don't have infinite free time or patience or
knowledge to do otherwise. Nevertheless, I
occasionally check or (or receive user feedback about)
problems on Windows, Mac OS X, Raspberry Pi, alternate
versions of desktop Linux, etc., and do sometimes make an
effort to work around those problems. Over the last
couple of days, I've gotten feedback about some such
compilation problems, and so have made some changes related
to them:
|
|
2017-08-20 |
|
|
2017-08-09 |
|
|
2017-07-29 |
|
|
2017-06-23 |
The SUNBURST 37 AGC program's comment-text
has now been completely proofed, and is in the GitHub repo,
so the transcription effort for SUNBURST 37 can now be said
to be 100% complete. I've also updated the now-proofed
color-coded, syntax-highlighted source code on this
website. As usual, the proofing data (based on
octopus/ProoferComments) can be found in the
GitHub
wiki, for anyone inclined to double-check the work. |
|
2017-06-19 |
|
|
2017-06-07 |
|
|
2017-06-06 |
Added a description of Dario Kubler's
physical DSKY to the
physical-implementations page, including a cute
YouTube video. Dario sent me most of this info several
years ago, but I (stupidly!) failed to write it up; in fact,
I think he sent me several more pictures that I need to dig
out and include as well. |
|
2017-05-27 |
The octals for SUNBURST 37 (Sunburst32.binsource)
are now in the GitHub repo, and have been proofed, and have
correct checksums, so SUNBURST 37 can now presumably be run
in the AGC simulator. (None of this is built
automatically nor integrated with the VirtualAGC GUI, so to
run it you have to create the rope file with "Tools/oct2bin
<Sunburst37.bin" and then run yaAGC from a command line
whilst specifying the rope file oct2bin.bin for it.) We're also transcribing the SUNBURST 37 source code from the scanned program listing now, so anyone interested in helping should head over to the GitHub repo and look at the instructions. As I mentioned in my note from a couple of days ago, instead of locally posting individual page images for SUNBURST 37 in reduced-quality JPG form, which is my normal practice for all other AGC versions, I had instead simply locally reposted the PDF from our Internet Archive collection, thinking that it was "good enough". In other word if you followed the links on our Luminary page, you'd probably end up downloading this supposedly-fine PDF. Well it wasn't good enough, so ... my apologies! The PDF has weird artifacts in which some characters were frequently replaced by other characters, such as 'D' in place of 'O'. Whatever the reason for this weird effect, it's obviously intolerable, so if you follow through the links to our locally-posted reduced-quality images now, you'll now find individual JPG pages. The high-quality images in our Internet Archive collection don't have this strange problem, and so can be used without fear, but I definitely would not recommend using the PDF found there. As a corollary, we now realize that Emerson was wrong, and that a foolish consistency may not be the hobgoblin of little minds, if the effect of that consistency is to enforce a tried-and-true method rather than succumbing to untested novelties without having a good reason to do so. |
|
2017-05-24 |
The program listing for AGC program SUNBURST
37 is now available, scanned for our Internet Archive
collection from Don Eyle's hoarded copy, and financed by
Peter McDermott! Thanks all. See our Luminary page. As you may recall, SUNBURST 37 (also known as SHEPATIN 0) is an early version of the SUNBURST program, never used for any mission, though SUNBURST 120 was used later in the LM's AGC in the Apollo 5 unmanned mission. Like RETREAD and AURORA, SHEPATIN is another "missing link" in the AGC software's evolutionary development. As usual, we'll be producing an octal file for this (so that SHEPATIN can be run in the AGC simulator) as well as source-code files (so that we can do nice searching on it, have syntax-highlighted listings, and so on), but that will be a process that takes a bit of time. Right now, all we have is the scanned pages. I've departed from my usual practice of providing local low-resolution JPG page images here at our main website, and have instead chosen to use a PDF as the local "low quality, lower size" version of the scanned page images. (The PDF was good enough, and I didn't feel compulsive enough to insist on turning it into JPGs. As Emerson said, a foolish consistency is the hobgoblin of little minds.) As usual, though, the full-quality scanned pages are available in our Internet Archive collection. |
|
2017-05-23 |
Added 3 more sections of the Apollo 9 LM GSOP
(we already had 1 section, out of 6 sections total), as well
as the AC/Delco study guide associated with that software
version. (Well, actually, the LM's AGC program was
SUNDANCE 306 and the study guide is for SUNDANCE 302, but
that's close enough for government work.
Literally.) All were from the UHCL archives.
Added to both the document library page and the Apollo 9
entry on the Luminary
page. |
|
2017-05-22 |
Two new CSM System Handbooks, and one new LM
System Handbook, from the UHCL archives. See here. |
|
2017-05-16 |
|
|
2017-05-15 |
New documents added to the document-library
page, but the most-significant is that our scan of Don
Eyles's copy of the AGC LEM PGNCS Manual (Volume II) has now
arrived. As was speculated and hoped-for in advance,
it does contain AGC Block II schematics missing from
the previously-existing set of individual schematic pages
from Eldon Hall's collection. Moreover, it contains
DSKY schematics. See here.
In
other words, we can now claim to have a full set of Block II
AGC and DSKY schematics. (Though not Block I
schematics so far. Perhaps in the future.) |
|
2017-04-28 |
|
|
2017-04-26 |
The second (of two) volumes of the Spacecraft
Operational Trajectory for Apollo 14 has arrived from UHCL,
and has been added to our
document library. |
|
2017-04-25 |
I submitted our speculations (mentioned a few
days ago) to Don Eyles, about the reason the Apollo 11 and
12 digital simulations from his collection were made after
the landings. While he does not actually remember, he
agrees that our speculations about Apollo 11 are probably
right, but doesn't entirely like our speculation about
Apollo 12 ... partly, I think, because my description
introduced errors not in Nik Beug's and Mike Stewart's
original explanations to me. At any rate, I've
rewritten both speculations on the
Luminary page, in a way that gets closer to the truth
about Apollo 12 than what I had mistakenly written before. |
|
2017-04-24 |
In the cross-platform VirtualBox VM which the
downloads page recommends for most users, the light-weight
browser (Midori) provided with the VM for examining AGC
source code and various other purposes, has been exhibiting
some anomalous behavior that I hadn't noticed before.
I think this may stem from the fact that in the VM releases
I've made so far, a fairly old version of Midori is being
used. While I'll obviously fix this in the next
release of the VM, the download page now includes the simple
instructions for updating Midori to the latest version,
which (so far!) seems to fix the problems that I've been
able to reproduce. In other words, if you have a
version of the VirtualAGC VM that uses Midori rather than
Firefox, go follow the instructions on the download page to update
Midori! |
|
2017-04-23 |
|
|
2017-04-21 |
As I mentioned a couple of days ago, the
newly-added Apollo-era digital simulations of the Apollo 11
and 12 lunar landings were both made after their
respective landings ... a few days after for Apollo 11, and
a few months after for Apollo 12. The speculation was
that the Apollo 11 simulation was made to help investigate
the 1201 and 1202 program alarms experienced during the
landing, but we didn't have a speculation about the Apollo
12 simulation. Well, Nik Beug (and Mike Stewart) have
come up with a pretty-convincing explanation, namely that
the simulation was for investigating certain proposed
changes to the landing code, and the fact that it used
Apollo 12 AGC code for that was really just
coincidental. You can read more of the explanation on
the Luminary page. |
|
2017-04-20 |
Made a number of requested improvements to
the pre-built VirtualAGC VM, as described near the top of
the downloads page. One
of the more-significant improvements is an update script
that makes it easier to update the VirtualAGC software
within the VM. This script can also be downloaded and
used with older versions of the VM, as
described
here. |
|
2017-04-19 |
Two more lunar landing simulations, both from
Don Eyles's personal collection and financially sponsored by
Matthew Fite (thanks, Matthew!), have now
arrived. As usual these days, these have been added to
our Luminary page, and you can either view them there in
convenient PDF form, or else you can see them in their full, highest-quality glory in our Internet Archive collection. Both simulations were made slightly after the landings themselves. |
|
2017-04-17 |
|
|
2017-04-13 |
Another nice document from the UHCL archives,
this time Delco's manual for the Block II Command Module
guidance system. We already had a fraction of a
corresponding Block I document, but this one is about 20×
larger than what survived of the Block I document, so it's a
bit more useful. Here's a direct link so you don't
have to pore over the Document Library page to find it: |
|
2017-04-08 |
The "Programmed Guidance Equations for
Skylark" document, divided into parts for size reasons,
obtained from the UHCL archives, has been added to the
document library and Colossus pages. This document is
specific to Skylark 48, which we currently believe is the CM
AGC program used for Apollo-Skylab (and possibly for
Apollo-Soyuz, though we really don't know). Since we
don't actually have any source code for Skylark so far, and
since the "Programmed Guidance Equations" are a kind of
pseudo-code description of the source code, I guess this is
the next-best thing to having the Skylark program
itself. At any rate, here's a direct link: |
|
2017-03-31 |
The "Programmed Guidance Equations for Colossus 3"
document, divided into 3 parts for size reasons (Part
1, Part
2, Part
3), scanned from the University of Houston Clear
Lake archives, has been added to the document library and
Colossus pages. |
|
2017-03-30 |
|
|
2017-03-29 |
|
|
2017-03-27 |
|
|
2017-03-26 |
|
|
2017-03-24 |
|
|
2017-03-23 |
Fixed a few more crummy hyperlinks on the
document library page. |
|
2017-03-22 |
|
|
2017-03-20 |
|
|
2017-03-18 |
|
|
2017-03-10 |
|
|
2017-03-03 |
Lately, there has been some confusion as to
whether the Luminary 99 source code we have been providing
is actually the code that flew in the Apollo 11 LM or not,
due to AGC developer Jim Kernan's recollections that there
are three different revisions of that particular code
(Luminary 99, Luminary 99 Rev 1, and Luminary 99 Rev 2), and
the only version we actually have is Luminary 99 Rev
1. Well, on the balance of the surviving evidence,
what we currently believe is that Luminary 99 Rev 1 did
indeed fly in Apollo 11, but also that Jim's recollection is
correct and that there's a Rev 2 that is "better" in a
certain way, but which didn't fly. But we have no
physical printout for Rev 2. The explanation is that the ephemeris data in Rev 1 is wrong, but not very wrong, and certainly good enough for a lunar landing. Nevertheless, we know what the correct ephemeris should be, because it's identical to Apollo 12 and 13, so to celebrate that fact, we've artificially recreated Luminary 99 Rev 2 for you, as a mashup of 99 Rev 1 and Luminary 116, and we provide both Rev 1 and Rev 2 for you. You can view the source code or simulate either one to your heart's content. You can take your pick. It's called "choice", friends! We've named Luminary 99 Rev 2 "LUM99R2" in the GitHub source tree, because that's what Jim's story says he called it, way-back-when. We have also received new information about where a program listing for Comanche 44 exists. Comanche 44 did not fly on a mission, but Comanche 45 Rev. 2 (which is 2 months younger) flew in the Apollo 10 command module, so if we can get our hands on Comanche 44 some day, it may be the closest thing we'll ever have to Apollo 10 Command Module software. At any rate, the Colossus page has been updated with this info. |
|
2017-03-01 |
|
|
2017-02-22 |
|
|
2017-02-21 |
|
|
2017-02-20 |
|
|
2017-02-19 |
Don Eyles has squirreled away ~200 "LUMINARY
Memos", out of the ~250 such memos that are known to
exist. These are documents that the MIT
Instrumentation Lab used to track the development of the
Luminary software. Don has scanned around half of
these for us so far, with the other half presumably
forthcoming within the next few months. To handle this
vast glut of incoming documents, I've given them their own section in the
document-library page. There's lots of notable
stuff there, but what stands out for me are:
|
|
2017-02-17 |
|
|
2017-02-16 |
|
|
2017-02-15 |
A number of new documents for the document
library were added. Highlights are:
|
|
2017-02-12 |
|
|
2017-02-11 |
|
|
2017-02-10 | Added a cool document to the document library, "LM Rendezvous Procedures, G Mission" by Grega and Neily, which should be very useful for anyone wanting to fly simulated G or H missions, and likely J missions ... i.e., Apollo 11-17, though 11 and 15-17 are the only ones of those for which we have both the CM and LM software at present, and hence the only ones for which you could presently do a rendezvous. Thanks to Clark Neily for sending this! Even if you're not interested in rendezvous procedures, check out the document's title page for a real hoot. More material related to this topic will be forthcoming in the near future. | |
2017-02-07 | A very significant LVDC-related document has been added to the document library, namely IBM's "Saturn Instrument Unit LVDC Equation Defining Document (EDD) for the Saturn IB Flight Program", divided into 7 PDFs due to its size: 1, 2, 3, 4, 5, 6, 7. Thanks to Riley Rainey for acquiring this, and the University of Alabama Huntsville's M. Louis Salmon Library for making it available at the U.S. Space & Rocket Center archive. | |
2017-02-04 |
|
|
2017-02-03 |
As I mentioned a few days ago, our scan of
the 1971 simulation of the Apollo 11 landing leaves somewhat
to be desired in terms of the readability of the text ...
it's just too light for comfortable reading, because the
printout was too light. Thus, to compensate for that,
I had provided a highly-processed B&W PDF that is
much-more readable. Well, I've now done some
additional processing on the color images, to enhance the
readability to the best of my admittedly-meager abilities,
so I've posted the reprocessed color
images as an additional alternative. They're not
uniformly good, but I think they're an improvement over the
full-resolution scan at archive.org. |
|
2017-02-02 |
|
|
2017-01-29 |
|
|
2017-01-26 |
|
|
2017-01-25 |
All sponsorship opportunities for the Don
Eyles's scannable materials offered so far — there
are other, smaller docs remaining, but they aren't cataloged
yet — are now taken. So if you were keen to help with
that ... too bad! I like to think there will be more
opportunities in the future. And it's great news. I've accordingly removed the giant Volunteering Opportunity note that had been stuck at the top of the home page, though you can still read all about it if you like. |
|
2017-01-24 |
|
|
2017-01-20 |
As you may have seen in the notes made here
over the last few months, I have been in the process of
proofing and correcting the comment text in the various
source-code transcriptions we have made of the AGC program
listings available to us. Hitherto, we had no
efficient way to do this, but had developed a tool for doing
so that worked quite well on most of the of program
listings, with newer scans tending to work much better than
older ones ... hence in doing this proofing, I found myself
working backward in time, progressing from the latest AGC
scans to the earliest, finally reaching the original
scans with which the Virtual AGC project started, namely
Colossus 249 (Apollo 9 CM) and Luminary 131 (Apollo 13 LM),
as well as the somewhat-later Artemis 72. The scans
(or the associated printouts from which the scans were made,
or the destructive OCR processing done on them) for Colossus
249 and Luminary 131 are so bad that the "efficient"
proofing tool cannot be applied at all, while Artemis 72 is
highly questionable. Thus, a different and more
time-consuming proofing process was required. I have just completed proofing Colossus 249, and the results are available in GitHub now. What has been done with it is to note that Colossus 237 (which preceded it chronologically by a short time), and Comanche 55 (which followed it chronologically) had already been proofed using the "efficient tool". A 3-way side-by-side "diff" between the transcribed source code from these three AGC program versions was done. This highlighted places where errors (many, many errors) might exist. An extremely-large number of errors was corrected in Colossus 249 in this way, along with a (much smaller) number of errors that lingered in the already-proofed Colossus 237 and Comanche 55. This proofing process also benefited from the availability of an alternate scan of Colossus 249, not available originally, but available nowadays from the collection of AGC developer Fred Martin. Thus, many parts of the original scan that were garbled to the point of illegibility, could now be filled in with absolute certainty. More than you wanted to know, probably, but having just finished it, I'm still excited about it! :-) A similar 3-way proofing of Luminary 131's comment text awaits availability of comment-proofed source-code Luminary 116 and Zerlina (derived from Luminary 145), neither of which is available now, but both of which are expected to be available within a few months. Unfortunately, for Artemis 72, the last Colossus version, there is no prospect of a 3-way diff with predecessor and successor versions, but merely a 2-way diff against a predecessor version that may not be a closely-related as we would hope, so it will probably come last of all. But we'll see what we'll see. |
|
2017-01-11 |
I've added a few "new" names to the list of AGC
developers, relayed to me by developer Henry Noble,
who also wasn't yet on the list. This reminds me that
the original list I made only took into account the names I
found within Luminary 131 and Colossus 249 ... whereas we
actually have lots and lots more AGC listings now, so I
should go through all of them and pull out more names!
And, I ought to add their affiliations, when they're known;
thus Henry worked at Raytheon. But I haven't yet
done those latter things. The web-pages themselves have been internally cleaned-up in terms of their HTML coding. Hopefully, this has been done in a way that is 100% transparent to anybody viewing them, but it's always possible that problems might have been introduced in the process. Obviously, let me know if you see anything funkier than you expect! The licensing on all of the pages has also changed, from what (in the U.S.) would have been an implicit copyright by me (Ron Burkey), with all rights reserved, to a Creative Commons No Rights Reserved license. This is equivalent to being in the Public Domain in the U.S., and is the closest equivalent to that in parts of the world where the concept of the public domain is not recognized. I learned this from something Nina Paley wrote in connection to her marvelous animated film, Sita Sings the Blues ... which, if you've not seen it, you should! She had originally released it for free under the Creative Commons Attribution Share Alike License, which already was unbelievably brave, but still had the effect of reserving some legal rights for herself. But she later concluded that since she knew she wasn't going to sue anybody for breaching the license anyway, what was the point of reserving any rights? So she simply changed the licensing in the same manner I am doing now. (Of course, I don't claim to have to have the guts she does, since I derived no financial benefit from this website anyway, so the licensing is irrelevant to my checkbook.) Comparably gutsy to Nina's film is Kimiko Ishizaka's release of her piano renditions of Bach's Goldberg Variations under this same CC0 license. Highly recommended. I'm not sure of the licensing used for her later recordings of Book I the Well-Tempered Clavier or the Art of Fugue, though Wikipedia claims that the Well-Tempered Clavier has indeed been released to the public domain as well. Kimiko is a German-Japanese, former Olympic bronze medalist in powerlifting, and concert pianist, which is pretty interesting in itself. |
|
2017-01-06 |
|
|
2017-01-02 |
Colossus 237's source-code's comment text has
now been completely proofed, and its
proofing data published online, should you choose to
do a proofing pass on it yourself. |
2016-12-30 |
|
||
2016-12-29 |
The comment text for Solarium 55 has been
completely proofed
in the GitHub repository, so its colorized,
syntax-highlighted assembly listing has thus been
updated, and its
proofing data published. It has also been removed from
the volunteering page's list of AGC versions requiring
special attention. |
||
2016-12-28 |
This Retread 44 source code, unlike under source-code releases so far, as already been completely proofed in terms of its comment text, so I can proudly present it without a warning label. Also, the Luminary 210 source code (Apollo 15-17 LM), announced a few weeks ago, has also had its comment text belatedly proofed, so it too is now gloriously warning-free! The proofing data for both has been published online as well, for anybody interested in doing additional proofing passes on them. The volunteering page has also been drastically reworked, as I realized that most the procedures and instructions given there were drastically out of date. |
||
2016-12-24 |
though, as almost-always for such initial
announcements of rope availability, what this means is
that:
|
||
2016-12-23 |
|
||
2016-12-20 |
The comment-proofing data for Aurora 12 and
Sunburst 120, as well as the octal-proofing data for
Luminary 210 and Luminary 69, have now been posted online,
to join the Luminary 99 and Retread 44 proofing data
mentioned a couple of days ago. The
promised wiki article describing the usage of this data
has now also been written. That article provides
specific links to all of the available proofing-data sets. |
||
2016-12-18 |
|
||
2016-12-16 |
Regarding the latter point, it is worth noting that the
Artemis 072 (Apollo 15-17 CM) code has been available for
a few years now, so that it is possible in theory to fly
an entire simulated Apollo 15-17 mission ... if the AGC
were the only issue involved in doing so. |
||
2016-12-13 |
|
||
2016-12-12 |
|
||
2016-11-29 |
The Mac OS X build-instructions on the
download page are now functional (with the latest
source-code changes in the GitHub repo), and at least on my
primitive Mac (Mac OS X Lion), Virtual AGC can now be build
for Mac OS X. |
||
2016-11-26 |
(Though transcription of the Luminary 210
assembly-listing scans to source code is not yet
completed, and transcription of Luminary 069 to source
code has not really begun yet.)
|
||
2016-11-23 |
|
||
2016-11-22 |
|
||
2016-11-20 |
|
||
2016-11-19 |
|
||
2016-11-08 |
|
||
2016-11-03 |
In other words, not only is the Sunburst 120 source code
now available, but the assembler can assemble it without
error, and the executable rope will be word-for-word
identical to the known-good memory rope. Building
from source now assembles Sunburst 120 in addition to all
of the other available AGC versions, though it continues
to be the case that it is not integrated into the
VirtualAGC GUI program, and can only be assembled or run
in the simulator from the command line. |
||
2016-10-23 |
In other words, not only is the Aurora 12 source code now available, but the assembler can assemble it without error, and get the identical executable rope mentioned in the prior update. |
||
2016-10-20 |
Of course, I announced the AURORA 12 rope nearly a month ago, but for some curious reason failed to emphasize it as I normally do for new AGC versions, so I'm doing that now. In fact SUNBURST 120 has been available for a few days as well, though I forgot to update this change-log. In both cases, you still have to explicitly build the rope from the corresponding "binsource" file — "oct2bin <Sunburst120.binsource" or "oct2bin <Aurora12.binsource" — (with the rope being oct2bin.bin afterward), but you can do that and run either or both in yaAGC if you're of a mind to do so. In both cases, the source-code transcription is making progress, but isn't yet ready, so this is the only option if you want to run one of these programs right now rather than waiting for full availability. |
||
2016-10-13 |
Lots of updates throughout the website, as I
review pages I haven't looked at in a while. Mostly
these are minor updates, though I marvel at some of the
oversights, such as: Not mentioning any of the Gemini
developers who helped me so much in the acknowledgements
section of the main page? Really? How dumb it
that? |
||
2016-10-09 |
|
||
2016-10-06 |
On the
yaYUL page, in the discussion about the original YUL
program, pointed out that the original YUL was not
written in the Honeywell 800's ARGUS language, though it was
a Honeywell 800 program, and described the background for
that. |
||
2016-10-05 |
The various syntax-highlighted, hyperlinked
AGC program listings (Artemis072, Comanche055,
etc.) have all been updated with respect to the current
versions of their corresponding AGC source files, but the
principal change is that the symbol tables appearing at the
ends of the top-level files for these program listings are
now hyperlinked. In other words, if you click on a
link in one of these symbol tables, it takes you directly to
the point where that symbol is defined. This is a big
help, I think, because previously you actually had to know
which file the symbol was defined in, and now you do not. |
||
2016-10-02 |
|
||
2016-10-01 |
The main page now begins with a special help
offer — i.e., an offer for a way you can help us,
and that's about as special as things can get! — which is
explained fully on the
volunteering page. |
||
2016-09-29 |
An
experimental pseudo-op, SECSIZ, has been added to the
yaYUL AGC assembler. This optional pseudo-op may be
useful during the process of transcribing hardcopies or
scans of AGC program listings into ASCII source-code form. |
||
2016-09-28 |
|
||
2016-09-27 |
The program listing does have some issues, but nothing that we won't be able to work around. As usual lately, reduced-quality but faster-to-load images are hosted here, while the original-resolution but slow-to-load images are hosted at archive.org. Be aware that the archive.org images may not be stable for the next week or two, as their quality-control system works to fix whatever problems (that they can) with the scans. The imagery here will continue to be available regardless. |
||
2016-09-25 |
|
||
2016-09-23 |
|
||
2016-09-22 |
Some big news for today is that
But also, on a separate note, it has slowly dawned on me that I don't have AGC electrical schematics on our document-library page. I thought I did, but I don't! (No wonder I can never find them.) The Block II schematics, as contributed by Eldon Hall, have been on the klabs.org site for many years, but since NASA no longer funds it, that site is unfortunately now essentially a zombie and one wonders how much longer it will persist. So as of today, I'm now mirroring all relevant AGC material from that site here, in our document library. The highlights of the additions are:
It also seems that there may be a perception on the part of the AGC modeling community, if there is such a thing, that the available Block II AGC schematics are so incomplete that constructing a hardware Block II AGC sim is impossible. (That's why, I've been told, everyone continues to do Block I sims.) Well, Mike Stewart has certainly made a Block II sim that's good enough to help him track down and fix bugs in our own software sim, so while the Block II schematics may not be perfect, they are certainly not so incomplete as to prevent using them for this kind of project. And here are Mike's links to prove it: As it happens, Mike has given me his evaluation of the completeness/incompleteness of the Block II AGC schematics, and I provide that assessment in the document library as well, for anyone interested in this kind of thing. |
||
2016-09-21 |
The nav-bay version of the Block 1 DSKY
simulation is now available at GitHub, and the descriptions
on the Block 1 page have been altered accordingly, as well
as adding screenshots of the nav-bay DSKY to the Solarium
demo on that page. |
||
2016-09-20 |
Aurora what? Aurora is a very early version of the Luminary program, prior to any manned missions, prior to any unmanned ones ... though not quite the earliest one, which is called Retread. We will soon be engaged in the process of turning Aurora into source code, assembling it, running it on the simulator, etc., which is a process that takes a considerable amount of time. Read more about it on our Luminary page. Or contact us directly if you would like to help out in the process of converting Aurora page images to source code! |
||
2016-09-15 |
|
||
2016-09-02 |
|
||
2016-09-01 |
|
||
2016-08-26 |
|
||
2016-08-24 |
Well, this has been an interesting
day. I expected to have one significant announcement
today, and instead have two of them. First,
It is, unfortunately, unclear if the code can ever be run in the AGC simulator or not, but I'll think about it for a while before saying "no". Second, and perhaps more importantly even though I haven't chosen to color it red, I was wrong in one very significant way about Francois Rautenbach's extractions of the rope-memory contents, and that is that it was not from Apollo 6 (Solarium 055) as I said, but rather is the Corona program from the AS-202 ("Apollo 3") mission, which we do not have already, and have no other prospects for acquiring. Moreover, it is simply in the form of stored electrical waveforms rather than a file of numbers representing the values stored at various memory locations. But perhaps it could be converted, and perhaps the Corona binary can be reverse-engineered back into the form of source code, which we will do if at all possible and present it here. So stay tuned. |
||
2016-08-23 |
|
||
2016-08-22 |
|
||
2016-08-19 |
The discussion of CPU utilization in the Raspberry Pi build
instructions has been updated to include the Pi 3,
which has a much-lower utilization than the Pi B+, which was
the only model previously discussed. |
||
2016-08-18 |
A number of goofy hyperlinks fixed. |
||
2016-08-17 |
|
||
2016-08-16 |
|
||
2016-08-15 |
|
||
2016-08-14 |
|
||
2016-08-13 |
The download page now has Raspberry Pi
pre-built binaries on it, as well as installation
instructions and build instructions for Raspberry Pi,
contributed by Laszlo Morocz and Scott Sumner. Thanks,
Laszlo and Scott! |
||
2016-08-07 |
The download page has been updated so that it
now provides not only the old Linux installer (which is
known not to work with some newer Linux versions like Linux
Mint 17.3 and Ubuntu 14.04), but also a newer
installer, specifically built for Linux Mint 17.3, and
therefore hopefully working for Ubuntu 14.04 or later as
well. Sadly, I'm not set up to test it as thoroughly
as I used to be on every platform under the sun! There
are also updated build-instructions. The code reflects
corresponding updates to the GitHub repository. |
||
2016-07-31 |
Well ... anyone who has looked at this will
notice that this website hasn't been updated in 4
years! The updates today are more to see if I still can
update the site after all this time, rather than anything
substantive. Perhaps more will follow. I
apologize to everyone who has sent me to-do's in the
meantime. They haven't been forgotten, merely
neglected, if that's of any consolation to anybody.
Today's changes are simply:
|
2012-01-08 |
Gemini:
|
2011-12-27 |
Gemini:
|
2011-12-26 |
Gemini: More bug fixes
to the OBC assembler program, yaASM. I think it's pretty close to
100% correct now. I've also created an OBC CPU
emulator called yaOBC,
which is also pretty close to 100% functional, except there
are presently no physical or emulated peripheral devices to
attach to the CPU yet, so it's purely an emulation of the
CPU in isolation. There is, however, a primitive
command-line based debugger interface included, from which
you can view or edit memory, run the OBC program, single
step, set breakpoints at instructions or data locations in
memory, etc. The source code for these is in
subversion, and executables
for the programs can be downloaded from here. |
2011-12-23 |
Gemini assembler: I
realized somewhat belatedly that I hadn't accounted for
overlaying program modules in memory. this has been
fixed by changing the syntax of the CODE
and DATA directives in OBC
assembly language slightly. Both the yaASM program itself and
the write-ups on the Gemini page have been fixed. |
2011-12-21 |
Gemini:
|
2011-12-20 |
Gemini:
|
2011-12-18 |
All things Gemini:
|
2011-07-24 |
I've been very lax about
updating this site, and so have a pretty large backlog of
stuff to deal with that people have sent me and that has
just been sitting on my to-do list. Sorry about
that! First, a status report:
|
2010-09-05 |
In the document library,
provided the multi-page fold-out flowcharts of the Gemini
catch-up and rendezvous simulation program as separate
single-page images. Also, added several documents
related to the IBM 704/7090/7094 systems that I found useful
in porting the program to make it buildable with gcc. (The porting
isn't yet complete, in that I'm still working on various of
the assembly-language subroutines.) |
|
2010-08-26 |
On the Gemini page, corrected
"Ferney Hough" to "Dal G. Ferneyhough, Jr." Also,
added a photo of Gene Mertz et al., and some additional recollections
from Gene. |
|
2010-08-15 |
|
|
2010-08-11 |
|
|
2010-02-20 |
|
|
2010-01-30 |
Mike Jetzer pointed out that
all of the links to the Apollo press kits on the
document-library page were wrong. (Thanks,
Mike!) That has been fixed. |
2009-11-12 |
|
|
2009-09-02 |
Have made most of the PDFs in the Document Library searchable by adding a background OCR'd text layer. I say "most" because I tried to do all of them, but may have missed a few. If so, I'll catch them later. Have continued the process of adding bookmark panes and metadata (title, author, etc.) to them, but that's a much slower process since it's entirely manual. | |
2009-08-30 |
Re-photographed and re-posted Fred Martin's Colossus 237 program listing. Not that I thought there was anything wrong with what I had, but because I still had the listing in hand and had acquired a better camera. The new photos have much better contrast (the background is lighter and the text is darker), so it's a good improvement. | |
2009-08-26 |
Since there's now a site-search bar, I think it's appropriate to make sure that all of the PDFs in the Document Library have embedded metadata (such as title & author), sidebars with bookmarks to the various sections of the doc (where appropriate), and background OCR to make them searchable (where the document characteristics are compatible with Adobe Acrobat's OCR capability). Obviously it will take a good long while to fix up all of the PDFs, and even longer for Google to reindex them, but I'm making a start on it as of today. | |
2009-08-25 |
Added a site-search bar to
the top of every page. It's swell! |
|
2009-08-24 |
Added several "Apollo
Experience Reports" to the Document
Library, including reports on the "programers" (yes,
that's the real spelling) which were the automated stand-ins
for crewmen on the unmanned missions Apollo 4, Apollo 5, and
Apollo 6. |
|
2009-08-23 |
|
|
2009-08-17 |
Added a Gemini spacecraft computer page,
even though it's empty right now, and added documentation
(all scarfed from the Meadville
Space
Center website) of the Gemini spacecraft computer to
our Document Library. This
is partly sheer compulsiveness, but also partially because
John Pultorak has pointed out that the LVDC
must be descended from the Gemini computer, simply because
of some very deep similarities between them. |
|
2009-08-15 |
Added a "how to digitize" page to
the website. |
|
2009-08-14 |
Integrated an LVDC page into the website.
It's a work in progress, but it has enough info on it now,
and enough corrections and improvements from the
corresponding wikipedia article, that it's starting to
become useful. |
|
2009-08-09 |
|
|
2009-08-06 |
|
|
2009-08-05 |
|
|
2009-08-04 |
|
|
2009-08-03 |
I no longer observe the
persistent FreeBSD problems I mentioned at the bottom of
yesterday's post, even though I haven't fixed them. I
wonder if perhaps FreeBSD doesn't have to be be rebooted
after building Virtual AGC or something wacky like
that. At any rate, today the FreeBSD native build
seems to be 100% functional and virtualy identical in
behavior to the other builds. |
|
2009-08-02 |
|
|
2009-07-31 |
Added scans of the Apollo 8
Flight Plan (sections
1-2 and
sections 3-5), contributed by Fred Martin. |
|
2009-07-30 |
|
|
2009-07-27 |
Added some new documents (memo and
addendum) describing the detailed method originally
used to find approximations for solar ephemerides data
suitable for use by the AGC. Thanks to Bill Robertson,
one of the original developers! |
|
2009-07-26 |
|
|
2009-07-24 |
|
|
2009-07-22 |
|
|
2009-07-18 |
|
|
2009-07-07 |
Stephan Hotto has sent along
a bug-fix the LM-Simulator program. The bug was found
by Riley Rainey. Thanks to both! |
|
2009-07-04 |
|
|
2009-06-29 |
(SVN only at the moment,
since no development snapshot released yet.) Building
on Onno's syntax-highlighting ideas, yaYUL and yaLEMAP now have an
--html command-line switch which allows them to directly
create HTML of their assembly listings. These are not
only colorized, but also have hyperlinking from wherever
symbols (such as constants or line labels) are used back to
the points where they are defined. The HTML forms of
the listings are available from the yaAGS,
Luminary, Colossus, and links pages. |
|
2009-06-27 |
On the download page, added a
section about networking problems, to cover problems which
have been observed with Fedora 11, as well as to summarize
potential problems I was already aware of on other
systems. Thanks to Onno Hommes for reporting the
Fedora 11 problem and fix. |
|
2009-06-20 |
On the "volunteering" page,
I've added a lot of material about proofing tasks (octal
listings and program
comments) that I wouldn't mind accepting help
with. Those tasks were previously mentioned, I think,
but were basically left to the imagination. |
|
2009-06-18 |
|
|
2009-06-17 |
|
|
2009-06-13 |
|
|
2009-06-07 |
|
|
2009-06-06 |
|
|
2009-06-05 |
|
|
2009-06-01 |
I doubt that would justify a new download at this point, unless you're trying to do native Win32 builds and they're failing. |
|
2009-05-23 |
|
|
2009-05-16 |
|
|
2009-05-12 |
I've reposted all of the
Comanche 055 (Apollo 11 CM) page images, having processed
them with reduced contrast from previously. The page
images are somewhat less pretty than before, in that the
backround color is darker and much less uniform, but the
text is more legible in the lower-left quadrants of many of
the pages. Although I've not updated the source-code
tarball, around half of the page images have been converted
to source-code files available in the subversion
repository. Work on conversion of Luminary 099
(Apollo LM) page images to source code has not yet begun. |
|
2009-05-05 |
The hardcopy from which these images were taken is from the Charles Stark Draper Historical Collection, MIT Museum, Cambridge, MA. The digital scans were produced by Paul Fjeld. Many thanks to Debbie Douglas of the MIT Museum for having the great foresight to arrange for these images to be made available to us, and to Paul Fjeld for performing the dreary work of creating the digital page images! More on this later. |
|
2009-05-03 |
|
|
2009-05-02 |
The FreeBSD native build is
now working again, to the extent that I'm able to check
it. The build instructions for it have changed a
little. |
|
2009-04-27 |
|
|
2009-04-21 |
The VirtualAGC main screen
has been reworked to take up less space. This is
principally necessary on screens which are 1024×768 and have
a large dock or toolbar at the top or bottom of the
screen. However, I like the new layout better anyway
as it seems more logical to me. There is no functional
difference. |
|
2009-04-15 |
|
|
2009-04-12 |
|
|
2009-04-06 |
I have had reports of the ACA
(hand-controller) simulation not working on some versions of
Mac OS X, so I have made a change. Instead of always
using the yaACA3
simulation program (which superceded the earlier yaACA simulation program
for snapshots 20090331 and later), the VirtualAGC GUI front-end
now allows for using yaACA
and yaACA3 somewhat
interchangeably. Basically, it will use yaACA3 unless it notices
that yaACA has been
configured, and then it will use yaACA instead. The yaACA program has also
been tricked up similarly to the yaACA3 program in that it now automatically
saves its joystick-related switches to a configuration file,
so that they become the defaults at the next run. Read about it in detail
if you have experienced a non-functional joystick.
(And don't send me any jokes about that, please!) |
|
2009-04-05 |
I fixed the FreeBSD bugs
mentioned yesterday, and am now willing to say that Virtual
AGC works in FreeBSD. Instructions for building from
source on FreeBSD have been added to the download page. I'd
be lying, though, if I said it was thoroughly tested.
Unfortunately, I only have FreeBSD running in a virtual
machine, and the marriage of FreeBSD (PC-BSD) to VirtualBox
has not proved a happy one for me, so my ability to test the
the FreeBSD installation is very crude. When I say
Virtual AGC "works", I mean that I can run VirtualAGC, that I can
start the simulation, that I can put in verbs and nouns on
the DSKY and it does what I expect it to do, that I can see
telemetry downlinks, and that I can perform digital
uplinks. If anyone wants to send me more data, I'd be
happy to see it, but I've done all I expect to do on the
FreeBSD side in the absence of feedback. |
|
2009-04-04 |
As far as substantive changes are concerned, I fixed a couple of makefile bugs which prevented Virtual AGC from building on FreeBSD. It now builds—and works, as far as basic functionality is concerned—but fails after certain directory manipulations are made, so it still needs some tweaking. However, I've added some build instructions for it on the download page. |
|
2009-03-31 |
As far as the website itself
is concerned, various people have sent me interesting and
useful stuff which I've added. I won't detail those
things here, except to say "Thank you!" to Dimitris Vitoris,
Mirko Mattioli, and Onno Hommes. Some important corrections have been
made to material on the the website itself, thanks to
Fabrizio Bernardini:
|
|
2009-03-17 |
yaDSKY and yaDEDA
have been superceded by rewritten replacements yaDSKY2 and yaDEDA2 to improve
portability and distributability. Moreover, there is a
completely new yaTelemetry
program to replace the Digital-Downlink-monitoring
functionality previously kludged into yaDSKY (but missing from
yaDSKY2). |
|
2009-03-05 |
There's now a GUI front-end
that conveniently ties all of the Virtual AGC bits and
pieces together that were previously provided only
incompletely and relatively unsatisfactorily through a few
very simplified command-line scripts. I call this
front-end program VirtualAGC.
This
program will additionally have convenient installers for
Linux, Windows, and Mac OS X, which is something which has
been lacking up to now. At the same time, I've fixed
the problem that (as previously installed by Virtual AGC)
Stephan Hotto's LM_Simulator
module didn't have its various very-useful help screens. |
|
2009-03-01 |
The current development
snapshot fixes a bug which has existed since 2007-03-16 in
the development snapshots, but not in any of the binary
downloads (since I've not posted new versions of the binary
downloads in that time period). The bug, very simply,
is that the LM_Simulator
module would abort if used in a CM simulation, even though
it would work in an LM simulation. The upshot of this
is that if you tried to start a CM simulation using any of
the provided scripts (SimColossus249,
SimColossus249_lite,
SimArtemis072, or SimArtemis072_lite) then
the simulation would abort with an error message. I
suspect that some folks have complained to me about this and
that I blew them off with an explanation that there was
something misconfigured about their computers. If you
complained and I ignored it, I apologize. Development of Virtual AGC has been on hold for a while, but I expect it to pick up again soon, with a vengeance. (For everyone who has sent me stuff with which to update the website and it has seemingly fallen into a black hole, I'll finally be adding your updates!) So watch this space. |
2008-02-14 |
Added a nifty photo
Alessandro Cinquemani has sent in of the Pultorak-style
AGC/DSKY he is constructing. |
2008-02-05 |
I've
completed all the subassemblies, which are now in
their final form except for the DSKY. I plan to make
it a 3 PCB unit; 1 PCB for the mainboard/keyboard, 1
for the LED display/caution & status
lights and 1 for the interface
daughterboard.That's necessary because the keys I'll
use (RS 336-191) are a little tall and I'll
have to elevate the displays. Also I plan to
design my DSKY in such a way
that it can be used in any revision I plan to make
by just exchanging it's I/O daughterboard. You'll find
that there are 5 new elements in this revision:
The MCAs
are the separated monitoring busses and control
switches from each A0 module. The MC is the main
power distribution hub,
panel
illumination controller and using it you can power
down any or all the monitoring panels at will.
I
have attached together with the A1 schematics the
following:
As before these
schematics should NOT be considered final and may
contain errors. Looking forward for your comments and
suggestions!
|
2008-01-13 |
|
2008-01-03 |
|
2007-12-28 |
|
2007-04-25 |
|
2007-04-22 |
Stephan Hotto has sent
version 1.0 of LM_Simulator,
both in source code and in the Windows "stand-alone"
executable version, with the following notes:
|
2007-04-17 |
|
2007-04-16 |
I have found a backdoor into
the
"archived" HRST website, and modified the links page
accordingly. However, I'll still continue to host the
documents, because it gives me a chance to improve them. |
2007-04-15 |
As mentioned earlier, MIT's
Dibner Institute, whose website (HRST) formerly hosted most
of the scans of historical AGC documents on which Virtual
AGC is based, has closed and its website is gone. I have decided to begin
hosting the documents formerly available from HRST, with
improvements to some of them, here at Virtual AGC.
Some of the documents---particularly the assembly
listings---have been improved from the versions formerly at
HRST; others will be improved in the future. It may
take a while to find and fix all of the now-broken links, so
if you find any of them let me know. |
2007-04-13 |
Okay ... I haven't updated
the development snapshot or website since dev snapshot
20060110, mostly from laziness. Agood thing, too,
because since then a very nasty bug had been introduced into
yaAGC, but I
couldn't find it or fix it because I was falsely blaming the
symptoms on the LM_Simulator
changes. Hooray for laziness! But yaAGC is now
fixed. If you're iffy about installing the new dev snapshot, here's the executive summary of changes since 20060110:
|
2007-03-17 |
Busy Stephan has sent still
another LM_Simulator
update, as follows:
|
2007-03-16 |
Stephan has sent another LM_Simulator update,
which he describes as follows: Now the FDAI shows the
correct 8-ball angles - currently with a limitation to:
Yaw: 0Deg \B190Deg
Pitch: 0Deg \B190Deg Roll: Anyway limited by the Gimbal Lock condition at 0Deg \B185Deg The functionality of the DAP and the dynamic model as well as the displayed FDAI angles can be verified by using the "Crew Defined Maneuver Routine V49". By initiating this routine you must provide the desired destination IMU Gimbal Angles, subsequently the AGC presents you with the associated FDAI angles it steers the LM to (please refer to the Tutorial). Because of the above mentioned limitation those FDAI angles should be in the defined range. [By the "tutorial", Stephan means the Contributed/LM_Simulator/tutorial.txt, which you'll get by downloading the development snapshot of Virtual AGC.] The CPU load maximum lies around 20% on an Intel Core Duo 2.13GHz processor. |
2007-03-05 |
Here's a sort of omnibus
update that takes into account stuff people have been
sending me over the last year or so. I apologize to
anybody who sent me something I've forgotten about!
Additionally, Stephan tells
us:
The DAP is now stable
around all axes and even the "DAP V49 Crew Defined
Maneuver" routine steers the LM exactly into the right
orientation.
There was a major bug in the IMU coordination transformation that caused the DAP instabilities. Furthermore, to handle single RCS jet events it was necessary to transform the U,V jet system into the P,Q,R pilot axes. The whole dynamical model of the LM is now based on the equations used for the DAP state estimator. This approach makes the model very precise and comparable to the real thing. To assure the right AGC initialization it is necessary to stick to the following pre-conditions and steps:
|
2006-02-26 |
|
|
2006-01-10 |
Have added the
SimArtemis072_lite startup script, have tried out Artemis072
in Win32, and have hopefully updated all of the web-pages to
properly reference Artemis072.
Unfortunately, it may be quite a long time before the source code for Artemis072 is available, so we'll just have to live with having only the executable for a while. |
|
2006-01-09 |
All data entry and proofing
for the Artemis 072 (Colossus 3) executable has been
completed, and some startup scripts have been added for
it. I haven't yet made the necessary mods to the
webpages yet to explain how to use it, nor have I gotten the
chance yet to try it in Windows. Tomorrow,
hopefully. In the meantime: Start the simulation
using the script "SimArtemis072". (I'm really only
posting it today just in case I happen to die overnight,
which I presume is unlikely.) |
2005-12-24 |
I now have in hand the
complete listing of the Colossus 3 (Artemis 072) executable
used in the CM of Apollo 15-17. Thanks to D. Thrust
for providing the scans! It will take me some time to
convert it into machine-readable form so that it can be
executed by the AGC simulator, but I will proceed with it as
quickly as possible. I don't yet have much of the
Colossus 3 assembly-language source code, but hopefully it
will make an appearance as well, in due time. |
||||||||||||||||
2005-11-06 |
Well, I seem to have hit the
jackpot this week, in terms of getting into contact with
some of the original AGC programmers. Eileen Hughes
has sent me the first names of several
programmers---including her own---while Jonathan Addelston
has written to tell me that I was spelling his name
wrong. Sorry about that! The acknowledgement
list on the home page has been corrected. |
||||||||||||||||
2005-10-29 |
|
||||||||||||||||
2005-10-17 |
I've been holding onto some
changes for a while, so let's hope I manage to remember them
all. The reason I was holding on is that I have seen
some segfaults in yaAGC
when manipulating the RHC. However, now that I am
trying to fix them, they've magically disappeared. (If
you experience such problems, please send me the files
called "core" and "LM.core". Thanks!)
|
||||||||||||||||
2005-10-05 |
|
||||||||||||||||
2005-10-04 |
|
||||||||||||||||
2005-10-03 |
|
||||||||||||||||
2005-09-25 |
|
||||||||||||||||
2005-09-20 |
|
||||||||||||||||
2005-09-14 |
|
||||||||||||||||
2005-09-09 |
|
||||||||||||||||
2005-08-28 |
|
||||||||||||||||
2005-08-23 |
|
||||||||||||||||
2005-08-22 |
|
||||||||||||||||
2005-08-21 |
|
||||||||||||||||
2005-08-20 |
|
||||||||||||||||
2005-08-17 |
|
||||||||||||||||
2005-08-15 |
|
||||||||||||||||
2005-08-14 |
|
||||||||||||||||
2005-08-13 |
|
||||||||||||||||
2005-08-06 |
|
||||||||||||||||
2005-08-04 |
|
||||||||||||||||
2005-08-02 |
|
||||||||||||||||
2005-08-01 |
|
||||||||||||||||
2005-07-31 |
|
||||||||||||||||
2005-07-30 |
|
||||||||||||||||
2005-07-28 |
|
||||||||||||||||
2005-07-19 |
|
||||||||||||||||
2005-07-17 |
|
||||||||||||||||
2005-07-16 |
|
||||||||||||||||
2005-07-13 |
The downside is that you
can no longer use any command-line parameters with the
batch files. I've tried to make intelligent choices
as to which command-line switches you might want, but if
I'm wrong you need to edit one or another of the files
SimLuminary131.xeq, SimLuminary131_lite.xeq,
SimColossus249.xeq, or SimColossus249_lite.xeq.
(These ".xeq" files contain the lists of files, along with
their command-line parameters, that are run by
WinAGC.exe.) Even then, there are some things you
can't accomplish, such as running yaAGC or yaAGC in --debug
mode. If you want to do that, I'd suggest setting
the environment variable NOWINAGC=yes before running the
startup scripts, as this will restore the batch files to
their pre-WinAGC glory.
Another downside is that that Allegro and Tcl/Tk are now really requirements rather than options, although I've not had a chance to update the instructions yet. The reason is that the startup scripts will abort if yaACA and LM_Simulator cannot be run, rather than ignoring it. (I must say, though, that you really want to run both of these things, although admittedly yaACA isn't of much use without a "3D game controller" --- i.e., a joystick. Therefore, buy a joystick.) If you absolutely don't want to run these programs, or cannot for some reason, edit the appropriate ".xeq" file and prefix the yaACA and/or LM_Simulator lines by the character '#' (without quotes, of course).
|
||||||||||||||||
2005-07-11 |
|
||||||||||||||||
2005-07-10 |
|
||||||||||||||||
2005-07-09 |
|
||||||||||||||||
2005-07-07 |
|
||||||||||||||||
2005-07-06 |
|
||||||||||||||||
2005-07-05 |
The simulation reaches the
correct Delta Velocity of about 2400m/s (about 8000ft/s)
after using the complete fuel. The start values I'm
using are obtained from the Lunar Module Wikipidia page
and the pad load file.
|
||||||||||||||||
2005-07-04 |
|
||||||||||||||||
2005-07-03 |
|
||||||||||||||||
2005-07-02 |
|
||||||||||||||||
2005-07-01 |
|
||||||||||||||||
2005-06-30 |
|
||||||||||||||||
2005-06-29 |
Well, I now like yaDSKY's ability to
display downlink lists so much that I've split off that
ability from the "--test-uplink" command-line switch, and
added it to a new "--test-downlink" command-line
switch. In fact, "--test-downlink" is used by default
in the SimLuminary131
and SimColossus249
startup scripts. Of course, the ability to completely
display all downlink lists isn't quite available.
However, the erasable dump downlist is still available, and
the AGS initialization/update downlist is complete. |
||||||||||||||||
2005-06-28 |
|
||||||||||||||||
2005-06-27 |
|
||||||||||||||||
2005-06-26 |
|
||||||||||||||||
2005-06-25 |
|
||||||||||||||||
2005-06-24 |
yaAGS: Finally have a sensible DVP instruction, I
think. (A rational person could still disagree with
this assessment, I suppose, so you're still invited to
examine the DVP
code in aea_engine.c to offer your opinion.) However,
I've noticed some anomalous behavior that I didn't notice
before, in that the DEDA will freeze up, or readouts will
occur that I can't figure out any way to stop, but it
doesn't seem to have anything particularly to do with the DVP
instruction. Typically, this will be readout of
address 555, which begins spontaneously, and which I can't
turn off. |
||||||||||||||||
2005-06-23 |
Have now worked out the
details needed for the digital uplink, and have described
them in a new "Fictitious I/O Channel" section on the
developer page. However, I haven't yet implemented it
in yaAGC. (No
new new yaAGC
features are needed for the digital downlink, though I admit
I'm unclear yet on the mechanism used to transfer state
vectors between the CMC and LGC.) |
||||||||||||||||
2005-06-19 |
|
||||||||||||||||
2005-06-17 |
|
||||||||||||||||
2005-06-16 |
yaAGC: Implemented, I hope, the
behavior of counter-registers CDUXCMD, CDUYCMD, CDUZCMD (and
associated drive-enable bits in output channel 14) needed
for continuing development of the IMU --- in this case, of
IMU coarse alignment. Modified the description on the
developer page of the description of channel 14 needed to
use this feature, as well as the description of the CDUxCMD
registers in the assembly-language manual page.
(Thanks to Stephan Hotto and Markus Joachim for pointing out
this problem and describing the fixes.) |
||||||||||||||||
2005-06-15 |
In yaAGS, I've implemented
the DVP
instruction according to an algorithm sent to me by Julian
Webb. (Thanks, Julian!) I'm bound to say that
there are a number of things that don't make sense about it
to me, but it does manage to pass the self-test (which no
algorithm I invented was able to do). Anyone who feels
competent to do so is invited to examine the DVP instruction in
the function aea_engine
of the source file aea_engine.c, and give me your insights
on the matter. Otherwise, though, yaAGS now passes the
built-in self-test (see, for example, p. 115 of Flight
Program 8), and may therefore be cautiously considered as
working. Probably there are plenty of problems with it
that will surface slowly in the coming months.
|
||||||||||||||||
2005-06-14 |
|
||||||||||||||||
2005-06-12 |
|
||||||||||||||||
2005-06-11 |
|
||||||||||||||||
2005-06-09 |
Lots of work on yaAGS, but mainly in the
form of improving debugging (fixing i/o-channel addresses,
editing of memory locations, backtraces, etc.).
Somehow yaAGS
executes an undefined instruction in displaying to the DEDA,
but I haven't figured out yet how that happens. |
||||||||||||||||
2005-06-08 |
"Finished" coding yaAGS. It doesn't
work, of course. I'll start figuring out why tomorrow. |
||||||||||||||||
2005-06-07 |
Fixes:
|
||||||||||||||||
2005-06-06 |
Bug Fixes:
|
||||||||||||||||
2005-06-05 |
|
||||||||||||||||
2005-06-04 |
|
||||||||||||||||
2005-06-03 |
On the links page, updated the status of the integration of Virtual AGC with the Orbiter simulator again, after receiving some additional info from Markus Joachim. | ||||||||||||||||
2005-06-02 |
|
||||||||||||||||
2005-05-31 |
|
||||||||||||||||
2005-05-30 |
|
||||||||||||||||
2005-05-29 |
|
||||||||||||||||
2005-05-28 |
|
||||||||||||||||
2005-05-26 |
Allan Klumpp has told me that
there is a descrepancy between the the software version
quoted on the Luminary page for
Apollo 15-17 vs. his personal recollections and
in-hand documentation. I've added notes to that
effect, along with disclaimers on the Colossus and Luminary pages to
indicate that I'm not certain how accurate the software
configuration information is. |
||||||||||||||||
2005-05-24 |
On the yaAGS page, added a link
to the complete LM/AGS Design Survey document at klabs.org,
whereas only the block diagrams from that doc are available
locally here on the Virtual AGC site. |
||||||||||||||||
2005-05-23 |
Minor corrections on
developer and language-manual pages. And a few
additions to the faq page. |
||||||||||||||||
2005-05-21 |
Finished up the API
documentation. Probably still needs a little work,
such as verifying the sample programs listed, but looks
pretty good. |
||||||||||||||||
2005-05-18 | Finally began filling in some
of the Virtual AGC Library API stuff on the developer's page
since, I was surprised to find, some people are actually
interested in it. Still needs a lot of work, but does
actually contain some useful information. |
||||||||||||||||
2005-05-17 |
The developer page
now contains a pretty complete discription of the extensions
to the socket protocol which will be needed to implement
yaAGS, yaDEDA, and peripherals, and to allow interaction of
yaAGS with yaAGC. Communication of yaAGC with yaDSKY
and other projected peripherals remains unchanged from
before. I was afraid there would be a lot more fuss
and muss with this than there really was. |
||||||||||||||||
2005-05-15 |
PR #30 (socket interface to
"unprogrammed" counter sequences completely inoperative) has
been fixed in yaAGC,
and a special mode (--debug-counter-mode) has been added to
yaDSKY so that
there's a way for debugging purposes of sending known
counter-commands to yaAGC
and observing the effect. |
||||||||||||||||
2005-05-14 |
|
||||||||||||||||
2005-05-09 |
I discovered that while
yesterday's Linux binaries do work on a variety of systems
(like SuSE 9.0 & 9.1, Ubuntu 5.04, and Fedora Core 1),
they don't work on older systems (like RedHat 7.3).
With some luck, the Linux binaries I've put up today will
work on a wider variety of systems. |
||||||||||||||||
2005-05-08 |
There are now pre-built
Virtual AGC binaries for Linux on the download page.
This has been a long time coming ... which is a shame, since
it turned out to be pretty easy to create them. On the
other hand, I don't guarantee the binaries work on every
platform, though they've worked so far on all of the
platforms I've tried. Your mileage may vary. |
||||||||||||||||
2005-04-30 |
A lot of changes related to
PR #28 have been made. These changes relate only to
building the program on Win32, which was broken.
Various compiler warnings under Linux have also been fixed,
but there's no actual functional change. |
||||||||||||||||
2005-02-27 |
At the request of Markus
Joachim, I have added a "special exception" (as
allowed/required by the GPL) to the license of the source
files yaAGC/yaAGC/*.[ch], allowing linkage to the non-GPL'd
Orbiter SDK libraries. This has been done to allow
distribution of plug-ins relying on yaAGC source code for
the Orbiter spacecraft simulator. |
||||||||||||||||
2005-02-13 |
Added the AGS Performance
and Interface Specifications document to the AGS page. (Thanks to John
Pultorak and Davis Peticolas.) We've decided not to
provide one of the docs that was originally listed, so
|
||||||||||||||||
2005-01-31 |
In yaAGC, managed to get rid of the annoying
effect (which appeared only in Linux) whereby stopping yaAGC before stopping yaDSKY resulted in an
operating-system timeout of a couple of minutes before the
port could be reused (and hence before the simulation could
be restarted). |
||||||||||||||||
2005-01-29 |
The AGS Flight Equations
document scan has been added to the AGS page. |
||||||||||||||||
2005-01-27 | The Mac OS X build
instructions have been simplified a little, and completely
tested on a pristine Mac OS X 10.2.8 system. |
||||||||||||||||
2005-01-26 |
On the links page, there are
now some scans of
tables relating to spacecraft interior and exterior
lighting, thanks to Paul Fjeld. |
||||||||||||||||
2005-01-25 |
I finally have Virtual AGC
running on pre-Panther versions of Mac OS X -- or at least I
have it running on Jaguar. The instructions are on the
download page. My only
problem, it turns out, was finding the right version of X11. |
||||||||||||||||
2005-01-24 |
|
||||||||||||||||
2005-01-23 |
|
||||||||||||||||
2005-01-22 |
The scan of the AGS FP6 Operating Manual has
been added, as usual thanks to John Pultorak and Davis
Peticolas. |
||||||||||||||||
2005-01-19 |
|
||||||||||||||||
2005-01-18 |
|
||||||||||||||||
2005-01-17 |
Data entry for AGS Flight
Program 8 source code is complete, but no debugging has been
done on it yet. |
||||||||||||||||
2005-01-16 |
|
||||||||||||||||
2005-01-15 |
|
||||||||||||||||
2005-1-13 |
yaLEMAP, in so far as the sample code is
concerned, is fully working. I know that there are a
couple of things appearing in the flight code that I haven't
dealt with yet, because they don't appear to be documented. |
||||||||||||||||
2005-01-12 |
Continued refinement of AGS
page text. The yaLEMAP
program is coming along nicely; it can produce a correct
symbol table and a partial assembly of the sample AGS
program from the appendix of the AGS programmer's manual. |
||||||||||||||||
2005-1-11 |
Paul Fjeld has supplied
various factual corrections and some amusing anecdotes for
the AGS page. Also, John Pultorak has scanned yet
another of Davis Peticolas's documents, the AGS simulator
user guide. There is a skeleton program now for the
AGS cross-assembler, yaLEMAP,
but it's not much yet. |
||||||||||||||||
2005-01-10 |
Thanks to Davis Peticolas and
John Pultorak, various new AGS document scans are available,
including the complete assembly listing for Flight Program 8
and the program specification for Flight Program 6 (Apollo
11). The utility program binLEMAP for keying in AGS binaries has also
been added. The source code and binary
(SampleCodeAGS.s and SampleCodeAGS.binsource) for the sample
program in Appendix A of the AGS programmer's manual have
been added, but will only be of interest in wringing out the
yaLEMAP
cross-assembler, which doesn't yet exist. |
||||||||||||||||
2005-01-09 |
Bunch of website changes,
related to the impending availability of AGS (Abort Guidance
System) material. In fact, the AGS programming-manual
is now available on the new "yaAGS et
al." page, thanks to Davis Peticolas and John
Pultorak. This page and the Pultorak page have now
been added to the title block, rather than forcing you to
find them on the links page. |
2004-12-30 |
Changed from Pultorak link (see item below) to a complete page. The page contains a lot of supplemental materials which John has sent me, but which you can't get out of his PDFs, such as the original CAD files from the schematic capture, source-code files which you don't need to cut-and-paste, a part list, and so on. | |
2004-12-19 | Added a link to John Pultorak's site
on the links page. (Adding a
link normally wouldn't be newsworthy, but the guy has spent
4 years building his own Block I AGC and gives us the
complete plans for it. Does it get any
better?) |
|
2004-11-06 |
Made available a lot of
replacement scans Gary Neff (thanks Gary!) has sent me for
50 garbled pages in the MIT-hosted Colossus 249 assembly
listing. You can get these from the Colossus page. These will
help to clean up a few holes in the Colossus source code,
though I've not yet made those fixes. (Fortunately,
there are not many such places.) Eventually I intend
to merge Gary's scans with a cleaned-up MIT-based scan, so
that the scanned assembly listing will become much more
readable, though (again) I've not yet done so. |
|
2004-10-23 |
Fixed a website link on the Luminary page.
(Thanks to Christian Bucher for pointing out the error.) |
|
2004-10-21 |
Added some additional hints
to the Mac OS X build instructions, thanks to Greg Dunn. By the way, some folk have wondered why the pace of updates has dropped off. I'm a bit burned out and am taking a little rest. Don't worry, though, I'll snap back soon (I hope), especially if anybody finds an alternate version of Luminary or Colossus for me to work with. :-) |
|
2004-10-03 |
Drastically reduced the size
of some of the new scanned documents: Excerpts from
CSM 112-114 System Handbook reduced from 120M to a "mere"
20M; LM 7 pad-loads reduced from 5M to 1M. Sorry for
the inconvenience to anybody that downloaded them
earlier. (Note that the earlier downloads were
grayscale rather than b&w, and therefore may be very
slightly more legible.) |
|
2004-10-02 |
Pages 30-50 of Hugh
Blair-Smith's "memo #9", covering AGC microcode have been
provided in text (as opposed to scanned) form on the links
page. This material has been typed and contributed by
none other than Hugh Blair-Smith himself! Several
large schematic foldouts from the Apollo LM System Handbook for Apollo 17
have been added also, Contributed by Fabrizio Bernardini. |
|
2004-10-01 |
The G&C section of the Apollo CSM System Handbook
for CSM-112 through CSM-114 has been added to the links
page. (Contributed by Fabrizio Bernardini.) |
|
2004-09-28 |
Additional docs added to the
links page. These include the LM-7 (Apollo 13)
pad-loads -- i.e., the values for the AGC erasable
memory. (Contributed by Paul Fjeld.) |
|
2004-09-25 |
|
|
2004-09-23 |
yaUniverse: Is now capable of
numerically integrating the motions of the heavenly bodies
and spacecraft under gravitational influences. The
previous concept of using fully-tabulated heavenly-body
ephemeris data for the heavenly bodies has now been
discarded because of the large downloads required, and hence
the separate ephemeris downloads have been removed from the
download page. The greatly abbreviated ephemeris files
needed for testing and for determination of initial
positions and velocities of heavenly bodies are now included
directly in the development snapshot. |
|
2004-09-21 | Assembly-language
manual: Updated/added descriptions of various
pseudo-ops. |
|
2004-09-16 |
yaACA: The proof-of-concept now builds
(and hence works) in Win32. It still does not
communicate with yaAGC. |
|
2004-09-15 |
yaACA: Just a start. More of a
proof-of-concept that a hand-controller can be used.
All it does so far is to display the pitch, yaw, and roll
axes of the hand-controller, but at least it does it.
I haven't connected it to yaAGC
yet, and have only gotten it to work in Linux. |
|
2004-09-12 |
|
|
2004-09-11 |
The Win32 zipfile from
20040905 is corrupted. (Thanks to D. C. Shoemaker for
pointing this out.) I have now reverted to the
20040819 Win32 zipfile, which is perfectly fine except that
some now-known bugs in Colossus249.bin have not been
fixed. Download the development snapshot to get a
fully-correct version of Colossus. (I find myself
temporarily in the position of not being able to create a
zipfile. Sorry for the inconvenience.) |
|
2004-09-05 |
|
|
2004-09-04 |
|
|
2004-09-02 |
|
|
2004-09-01 |
|
|
2004-08-31 |
|
|
2004-08-30 |
|
|
2004-08-29 |
|
|
08/28/2004 |
|
|
08/27/2004 |
|
|
08/26/2004 |
Colossus249 source code: Source code through page 1037 (out of 1505) of the scan 1701.pdf is now available. | |
08/25/2004 |
Colossus249 source code: Source code through page 1011 (out of 1505) of the scan 1701.pdf is now available. | |
08/24/2004 |
|
|
08/23/2004 |
Colossus249 source code: Source code through page 951 (out of 1505) of the scan 1701.pdf is now available. | |
08/22/2004 |
|
|
08/21/2004 |
|
|
08/19/2004 |
|
|
08/18/2004 |
|
|
08/17/2004 |
|
|
08/16/2004 |
Colossus249 source code: Source code through page 746 (out of 1505) of the scan 1701.pdf is now available. | |
08/15/2004 |
|
|
08/14/2004 |
|
|
08/13/2004 |
|
|
08/12/2004 |
|
|
08/11/2004 |
|
|
08/10/2004 |
|
|
08/09/2004 |
|
|
08/08/2004 |
Colossus249 source code: Source code through page 289 (out of 1505) of the scan 1701.pdf is now available. | |
08/07/2004 |
|
|
08/06/2004 |
Colossus249 source code: Source code through page 167 (out of 1505) of the scan 1701.pdf is now available. | |
08/05/2004 |
Colossus249 source code: Source
code through page 128 (out of 1505) of the scan 1701.pdf is
now available. |
|
08/02/2004 |
Colossus249 source code: Resumed data
entry. Source code through page 36 (out of 1505) of
the scan 1701.pdf is now available. |
|
08/01/2004 |
|
|
07/31/2004 |
|
|
07/30/2004 |
|
|
07/29/2004 |
|
|
07/28/2004 |
|
|
07/27/2004 |
|
|
07/26/2004 |
|
|
07/25/2004 |
|
|
07/23/2004 |
|
|
07/22/2004 |
|
|
07/21/2004 |
|
|
07/20/2004 |
yaAGC: Apparently I had forgotten to
implement yaAGC's
--port=N command-line switch, so it wasn't possible to run
two instances of yaAGC
simultaneouly --- or at least not to run them and expect
both to connect to peripherals. (After daily snapshot
posted.) |
|
07/20/2004 |
Found complementary errors
in bank 02 of Colossus249
binary. (Lest anybody be suspicious as to how
complementary errors could have been found in both Colossus249 and in Luminary131 --- see
changes for 07/02/04 --- and wonder how many more of them
are lurking, I'd like to point out the following fact:
the banks in which complementary errors were found were
happened to be banks that I proofed before I honed my
proofing technique. So while I was somewhat surprised
to find these errors, I was not astounded to find
them. All of the remaining banks were proofed somewhat
better.)
|
|
07/19/2004 |
|
|
07/19/2004 |
|
|
07/19/2004 |
Website changes: Lots
of screenshots added on the home page. Also, added
Frank O'Brien's amusing correction to the FAQ page. |
|
07/18/2004 |
The Win32 version now builds
again, and is known to run (at least on Windows XP).
The system is also known to work in a distributed
configuration (with yaAGC
on one computer, either Linux or Win32, and yaDSKY on another
computer, either Linux or Win32). Minor cleanups of
the website have also been made. |
|
07/17/2004 |
|
|
07/16/2004 |
I've now had my first look at
the executable for Julian Webb's sim. In order to run
the validation suite on Julian's sim, I've created a
conversion program called webb2burkey-rope,
in the Luminary131 directory, which converts the core-rope
files between Julian's format and mine. |
|
07/16/2004 |
There was major code rework
done in yaAGC, with
the intention of making the L register (and possibly other
registers) 16 bits. The new code seems to work exactly
as well as the old code, in that stuff which worked before
still works, and stuff which didn't work before still
doesn't. The validation test does fail the D--LCHK
test now, as it ought to (considering the nature of the
changes). There are numerous comments concerning this
change that will have to propagate into the spec (language
manual), but which haven't done so yet. Also, the LOG command was added to --debug mode. |
|
07/14/2004 |
Added a new utility program
called ControlPulseSim,
which simulates some (but not all of the "control pulses" of
the CPU --- i.e., the microcode). From experimenting
with this and from discussions with Julian Webb, it seems
probable that at least the L register (and possibly all
erasable memory) will have to be made 16-bits. This
means that instructions like "CA L" and "CS L" don't presently work properly
when overflow is involved. ... Or else, it means that the description of control-pulses in Blair-Smith is not entirely accurate. It contradicts some later docs (like Smally), so this is possible. Must think more deeply .... |
|
07/13/2004 |
|
|
07/13/2004 |
|
|
07/12/2004 |
|
|
07/11/2004 |
|
|
07/10/2004 |
|
|
07/09/2004 |
|
|
07/08/2004 |
|
|
07/07/2004 |
|
|
07/06/2004 |
|
|
07/05/2004 |
|
|
07/04/2004 |
|
|
07/03/2004 |
|
|
07/02/2004 |
|
|
07/01/2004 |
yaAGC --debug mode: Enlarged the
number of allowed breakpoints (watchpoints, patterns)
dramatically (from 32 to 256), in order to account for the
possibility of trapping upon executing a lot of different
instruction-type patterns. Allowed for nesting
FROMFILE commands. Fixed it so that COREDUMP and
FROMFILE don't automatically convert filenames to upper
case. Added scripts (usable by FROMFILE) for every
instruction type. Debug-mode commands beginning
with the character '#' are now discarded. Added a lot
more flags to the PATTERN command. |
|
06/30/2004 |
yaAGC --debug mode: The concept of a
"PATTERN" has now been defined. This is like a
breakpoint, but halts upon finding a pattern in the
instruction code rather than at an address. The
FROMFILE command has also been defined, in order to take
debugging commands from a file rather than the
keyboard. I hope to use these in conjunction
with each other, to track down the remaining broken
instructions. |
|
06/13/2004 |
In yaAGC --debug mode, fixed the sign of an
octal value displayed by GETOCT. |
|
06/11/2004 |
The Win32 version compiles
again (at least on Windows 98), but the Win32 version of yaAGC is broken. |
|
06/09/2004 |
yaAGC: Fixed a couple of problems with
the MP
instruction: If the accumulator was +0 or -0 and the
other factor was not, then neither the accumulator nor the L
register was updated to contain the product. Also, if
the factors were non-zero but of the opposite sign, the
product was messed up. |
|
06/08/2004 |
yaAGC: Added primitive watchpoint
capability to the --debug mode. |
|
06/05/2004 |
Assembly-language manual
documentation tweaks (de-inhibiting of interrupts for GOJ or EDRUPT). yaAGC: Fixed TCAA, ZL, and ZQ
instructions. Closed up some conditions previously
resulting in the zero register (7) being overwritten with a
non-zero value. yaDSKY: Digit ND2 wasn't being
displayed --- instead, it was overwriting ND1.
|
|
06/04/2004 |
yaAGC: In --debug mode, now continues
to try to service client (yaDSKY)
connects or disconnects while waiting for keyboard input at
the debugger. |
|
06/02/2004 |
yaAGC: In --debug mode, the BREAK and
DELETE commands didn't work properly in and around
superbanks, nor did the breakpoints themselves. The
wrong datatypes (unsigned vs. signed) were used for the EB,
FB, and BB registers in some places, causing the automatic
mirroring of BB into FB/EB to fail. The unused bits of
FB, EB, and BB were removed also. |
|
06/01/2004 |
yaAGC: Fixed indexed instructions for
negative indices. Also, the instruction executing
after RESUME
had been taken from the BBRUPT register, whereas it should
have been taken from BRUPT. |
|
05/31/2004 |
Instruction set in yaAGC now essentially
rewritten against v0.50. Still not fully working, but
seems more convincing than before. |
|
05/29/2004 |
Finished drafting everything
I want to say in the assembly-language manual about how
machine code is processed. This is v0.50. |
|
05/25/2004 |
Finished documenting all of
the "basic" instructions (as opposed to the "extracode"
instructions), except that a few of the implied-address-code
instructions remain to be done. |
|
05/24/2004 |
Continued documenting the AGC
instruction set. So far I have CCS, DAS, EXTEND, INHINT,
RELINT, RESUME, RETURN, TC, TCF, XLQ, XXALQ, but DAS still needs a
few loose ends tied up. |
|
05/23/2004 |
Continued updating counter
descriptions in the assembly-language manual. |
|
05/22/2004 |
Added quite a lot of text to
the assembly-language manual, under the CPU
architecture section. (I think I really need to
finish most of this manual before proceeding further with
the emulator, because it's simply too hard to keep trying to
pull this info out of the original Apollo docs. I need
to pull the info from the Apollo docs into my own definitive
description of how the AGC works, so that my definitive
description can act as a set of requirements.) The send/recv protocol
has also been modified so that it includes "counter pulse"
inputs to the CPU in addition to i/o-channel data, and the
assembly-language manual has a new (but incomplete) section
on the "unprogrammed sequences" associated with these
counter updates. |
|
05/20/2004 |
yaAGC: Now update the Z register to
c(Z)+1 prior to decoding the instruction. |
|
05/19/2004 |
yaAGC: Made major fixes to the AD and
TS instructions, but there's still a lot more to do along
the same lines, I think. |
|
05/18/2004 |
yaAGC: On the basis of some comments
in Luminary131 source code, output channel 7 now retains
bits 5-7 rather than just bit 7. Timers TIME5 and
TIME6 and their interrupts have now been implemented
(including the T6RUPT enable in output channel 013), though
I don't have enough info about these timers to know if I've
done it correctly. The interrupt for keypad input from
the DSKY is now implemented, and seems to work (and the ISR
reads back the right code from the input channel). (I
haven't included the PRO key in it, and don't know if I'm
supposed to.) |
|
05/18/2004 |
The 'snapshot' target in the
makefile has now been modified so that future development
snapshots will have datastamps in the names. From now
on, new development snapshots won't overwrite old ones. |
|
05/17/2004 |
yaAGC: Added INTOFF, MASKON, and
MASKOFF commands to the --debug mode; INTERRUPT was
changed to INTON. Implemented timer registers SCALER1,
SCALER2, TIME1, TIME2, TIME3, and TIME4, as well as the
interrupts for TIME3 and TIME4. |
|
05/15/2004 |
yaAGC: The interrupt-vector/RESUME
mechanism added yesterday was a little over-zealous, in that
it automatically saved and restored the A, L, Q, and BB
registers (in ARUPT, LRUPT, QRUPT, and BBRUPT); actually,
the interrupt-service code is supposed to do this if it
wants it done. My RESUME instruction was also broken,
as it continued to be decoded as INDEX 017. I've
changed the --debug mode's backtrace mechanism a little, in
that a RESUME instruction removes all of the backtrace-table
entries for the ISR. (Otherwise, the backtrace table
would become completely full with ISR stuff, and we'd never
be able to use backtraces to debug non-interrupt code. |
|
05/14/2004 |
yaAGC: Many instructions (particularly
DTCB and DTCF) which arithmetically modified the Z register
were broken. (I'm not sure they're all fixed now, but
a lot of them are.) The interrupt mechanism has now
been implemented, though no events have yet been configured
to trigger interrupts. The --debug mode now has the
commands INTERRUPTS and INTERRUPT to (respectively) view the
interrupt-request flags and to set an interrupt-request
flag. The BACKTRACES command also accounts for
branches due to interrupts. |
|
05/14/2004 |
The 'configure' script now
allows the command-line switches "--help" and "--prefix", so
that installation can be done to any directory. |
|
05/13/2004 |
yaAGC: Fixed addressing of
superbanks. Fixed the --debug mode EDIT command, which
I apparently broke yesterday. The emulation actually
manages to get to the AGC self-check code now, though it
doesn't seem to work right. |
|
05/12/2004 |
Primitive backtracing
ability added to yaAGC
--debug mode. |
|
05/10/2004 |
(After 20040510
snapshot.) Fixed synchronization of BB, FB, and EB
registers in --debug editing. Also fixed faulty
display in --debug of addresses in superbanks. |
|
05/10/2004 |
Various issues related to the
virtual i/o channels were fixed: yaAGC's handling of i/o
channels was incorrect, in that it internally used the wrong
numeric format for them, so none of them worked properly;
moreover, while yaAGC
read the virtual input port, it never actually wrote to the
virtual output port (except in --debug-dsky mode). As
a separate issue, both yaAGC's
and
yaDSKY's handling of
the PRO key was wrong, in that the wrong bitflag was used
for it. It looks like i/o channels are now handled
correctly, not only in normal mode, but in --debug mode and
in --debug-dsky mode. In experimenting with this, I
noticed that it is impossible in --debug mode to ever find
the PRO key pressed by checking "edit c32", because the PRO
key sets this bit when the yaDSKY
key is pressed, and then clears the bit when released.
Therefore, using "edit c32" will always find the bitflag
associated with PRO cleared. But you can see that it
works if you debug yaAGC
itself with gdb. |
|
05/09/2004 |
yaAGC's --debug mode now has a command
("getoct") for converting numeric values to/from the AGC's
native format. |
|
05/08/2004 |
Made various changes to make
the --debug mode of yaAGC
easier:
|
|
05/06/2004 |
'make install' now copies
*.ini, Luminary131.bin, and Colossus249.bin to the
installation directory (which is hard-coded as
/usr/local/bin, so it's not totally perfect).
Meanwhile, yaAGC
and yaDSKY will now
look in the installation directory for files specified with
the --cfg and --core switches, if not found in the current
directory. (These suggestions are due to Christian
Bucher.) Also, yaAGC
had not been displaying error messages when the file for
--cfg wasn't found, and this has been corrected. The
instruction "DXCH L", which is not unambiguously defined by
the docs, has changed in a way that conforms to comments in
the Luminary131 source. (Refer to address 33,03514, p.
888.) Fixed a potential divide-by-0 in the DV
instruction, but my impression is that my DV instruction
right now is completely wrong anyhow. |
|
05/05/2004 |
Continued working on yaAGC. Some fixes
to INDEX, to CCS A, and to CCS with comparison values of
-1. Added S and N as synonyms for STEP and NEXT in the
debugger. |
|
05/04/2004 |
Continued working on yaAGC. Fixed some
bugs in AD, DCA, and CS. |
|
05/01/2004 |
Fixed problem reports 3, 4,
and 5. Thanks to Christian Bucher for pointing
out the problems. |
|
04/29/2004 |
Lot of links broken.
Thanks to Christian Bucher for pointing this out.
Hopefully I got them all. |
|
01/02/2004 |
More CDROM-only
NARA-Southwest finding-aids links. |
|
01/01/2004 |
Added a bunch of CDROM-only
links for NARA-Southwest finding-aids I've created. |
12/30/2003 |
Added scans of Skylab and
Apollo-Soyuz training "data cards", and the report The Apollo 11 Adventure,
to the links page. Various corrections to the web
pages as well. |
12/25/2003 |
The Luminary 1C (Rev. 131)
GSOP document is now complete and online---about 2300 pages,
45M. Merry Christmas! |
12/22/2003 |
The Colossus 1A (Rev. 249)
"guidance system operation plan" (GSOP) document is now
complete---and about 1840 pages, 43M in size. |
12/20/2003 |
Changed the documents
mentioned in the item below to PDFs (rather than TIFFs), and
added section 3 and half of section 4 to the Colossus "operations
plan". |
12/19/2003 |
On the links page, I've begun adding scans of documentation not available elsewhere on the Internet, or else previously available only in a corrupted form. So far, I've added multi-page TIFFs of the AGC4 Basic TrainingManual, the Preliminary MOD 3C Programmers Manual, and sections 1 and 2 of the Guidance System Operations Plan for Manned CM Earth Orbital and Lunar Missions Using Program Colossus 1 (Rev. 237) and Program Colossus 1A (Rev. 249). |
12/01/2003 |
Mr. Gary Neff has provided
some scans of a page in Luminary
131 and two pages in Colossus
249 which had previously provided obstacles to validating
the Luminary source
code and the Colossus
core-rope image. The small amount of
previously-missing Luminary
source code has been added to the file P20-P25.s. |
11/30/2003 |
For yaAGC debug-mode, have
added the ability to interactively halt execution, in
Linux. I don't know if this works in *BSD or in MacOS
X, but I know that it doesn't work in Win32. |
11/29/2003 |
yaAGC now supports all instructions;
however, it is still only minimally debugged. Erasable
memory and i/o-channel space now overlap properly. The
--debug mode has now been beefed up with a core-dump option
for erasable memory and i/o channels, so that execution of
the AGC program can be later resumed at a specific
point. Have now written the memory-map section for the
assembly-language manual. |
11/28/2003 |
Lots and lots of improvements
to yaAGC:
Many
more instructions implemented, bugs fixed, more debugging
commands added. Still not really working yet,
though. A detailed explanation of the new debugging
mode has been added to the yaAGC
page. |
11/26/2003 |
Resumed work on yaAGC. The CPU
timing has now been corrected (previously it just ran as
fast as it could go). Added a primitive debugging mode
in which you can look at the AGC registers, single-step
through the AGC code, see disassembled AGC instructions,
etc. |
11/25/2003 |
The Colossus 249 binary is
now completely reconstructed, and presumably ready for
use! (I.e., whenever yaAGC
is actually ready.) |
11/23/2003 |
Colossus249 binary: All banks are now
completely proofed. However: Because the bugger
word for bank 35 was missing from the PDF, I've constructed
the bugger word on the assumption that the rest of my
proofed data is correct. Also, bank 36 requires more
demanding reconstruction (at location 36,2734), which I've
not yet completed. |
11/22/2003 |
Colossus249 binary: Bank 43 (octal)
has now been proofed. Banks 35-42 have all been
through a first-proof, but none of them are error-free
yet. I've invented a technique (described in
Colossus249.binsource) through which it may be possible to make
bank 36 error-free, which has previously been thought
impossible without additional scans (see bug report #1). |
11/18/2003 |
Colossus249 binary: Bank 34 (octal) now proofed. |
11/17/2003 |
Colossus249 binary: Bank 32,33 (octal) now proofed. |
11/16/2003 |
Colossus249 binary: Bank 27,30,31 (octal) now proofed. |
11/15/2003 |
Colossus249 binary: Banks 23,24,25,26 (octal) now proofed. |
11/14/2003 |
Colossus249 binary: Bank 22 (octal) now proofed. |
11/13/2003 |
Colossus249 binary: Banks 20,21 (octal) now proofed. |
11/12/2003 |
Colossus249 binary: Banks 16,17 (octal) now proofed. |
11/10/2003 |
Colossus249 binary: Bank 15 (octal) now proofed. |
11/09/2003 |
Colossus249 binary: Bank 14 (octal) now proofed. |
11/08/2003 |
Added an Acknowledgements section to the home page. Colossus249 binary: Bank 13 (octal) now proofed. |
11/05/2003 |
Colossus249 binary: Bank 12 (octal) now proofed. |
11/04/2003 |
Colossus249 binary: Banks 10,11 (octal) now proofed. |
11/03/2003 |
Colossus249 binary: Bank 7 now
proofed. |
11/02/2003 |
Colossus249 binary: Banks 4,5,6 now
proofed. Added the CheckDec utility program.
There's now a Makefile under Luminary131, which builds
Oct2Bin, CheckDec, and the Luminary131 binary. |
11/01/2003 |
Colossus249 binary: Banks 0,1 now
proofed. |
10/31/2003 |
Fixed a bunch of web links. |
10/29/2003 |
Colossus249 binary: Bank 3 now
proofed. |
10/28/2003 |
Colossus249 binary: Now complete, but
not proofed. There are unrecoverable problems with it,
not solvable by proofing, in that the "bugger word" from
bank 35 and the values at addresses 2634 and 2734 of bank 36
are unknown. |
10/26/2003 |
Colossus249 binary: Banks 7-32 (octal) are now in place, but not proofed. |
10/25/2003 |
Colossus249 binary: Banks 0-6 are now
in place, but only bank 2 has been proofed. |
10/22/2003 |
Instead of providing separate
instructions and methods for building each of the
executables, a single set of scripts/makefiles/instructions
is now provided to build/install all of the executables as a
single batch job. |
10/21/2003 |
yaDSKY and yaAGC
now actually work the same in Win32 as in Linux (and,
indeed, can be mixed-and-matched). |
10/20/2003 |
yaDSKY and yaAGC
now build in Win32, and run. (However, the socket
communications don't work well enough for them to be fully
operational.) |
10/19/2003 |
yaDSKY indicator lights have been modified,
so that instead of all being amber when lit, they are mostly
white when lit instead. (Only TEMP, GIMBAL LOCK, PROG,
RESTART, TRACKER, ALT, and VEL are amber now.) A lot
of descriptive text has been added to the website in the
form of a "howto" for building glade/gtk+
programs under Windows, with the idea of eventually having
Win32 versions of yaDSKY
and yaTelemetry,
and possibly Mac OS X versions at some point. |
09/07/2003 |
Oct2Bin has been changed to make it a lot
clearer whether messages are errors or just information. |
09/06/2003 |
Luminary131 binary (Luminary131.bin and/or
Luminary131.binsource) now completely proofed and
(presumably) ready for action! Of course, until yaAGC (or yaYUL) is ready, it's
not good for much. |
09/04/2003 |
29 (of 36) memory banks of the Luminary131 binary now proofed. |
09/03/2003 |
26 (of 36) memory banks of the Luminary131 binary now proofed. |
09/02/2003 | 21 (of 36) memory banks of
the Luminary131
binary now proofed. |
09/01/2003 |
Now have the complete Luminary131 binary, but
only the first 15 banks (out of a total of 36) are
proofed. The other banks are known to contain errors. |
08/27/2003 |
Now have some (small) chunks
of Luminary131 and
Colossus249
binary. Download page completely rewritten, so that
now there are some sensible downloads. |
08/20/2003 |
To the best of my knowledge,
yaDSKY is now fully
operational. Not all of the output-channel bits
controlling the indicator lamps have been identified yet,
but these will be added to configuration files LM.ini,
CM.ini, CM0.ini (which are complete except for this
information) rather than to yaDSKY itself. The "--debug-dsky" mode
has been added to yaAGC
to allow testing of yaDSKY. |
08/16/2003 |
The web pages are now
up-to-date with all of the info I've systematized from the
original Apollo docs. |
08/10/2003 |
Resuming development
.... I spent an enormous amount of effort on the
project for the first couple of months, but completely
burned myself out before getting any results that I felt
like inflicting on the geek community, and have had to veg
out since then to recover. At this point, I have the
following:
|
04/04/2003 |
Got the idea for this project, whilst watching the movie Apollo 13. |