Virtual AGC Change-Log Page


Please enable javascript in your browser to see a site-search form here.

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日
Several other people have sent in material that has been sitting in the queue for far too long. Hopefully, I'll soon update the website with that material as well. My apologies for the delays!
2010年02月20日
These are the release notes for snapshot 20102020.

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日
Note that the changes for yaLEMAP and VirtualAGC are available in subversion only at the moment, as I haven't released a new source tarball or binary installers. However, I am updating the assembly code HTML listings on the website.
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日
The Apollo 11 LM AGC code is now fully available in source and binary form, is provided by the development snapshot and installer programs, and can be run in the simulation using the VirtualAGC GUI.
It has been only partially proofed—less so than Comanche 055—and so I won't feel great confidence until another proofing step or two has been done. Nevertheless, there's no reason (other than sad past experience) to think that it isn't okay as-is, as all of the memory-bank checksums are okay.
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日
The Apollo 11 CM AGC code is now fully available in source and binary form, is provided by the development snapshot and installer programs, and can be run in the simulation using the VirtualAGC GUI.
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日
Page images for the Apollo 11 LM and CM AGC code are now in hand, but the processing necessary for use in the AGC simulator has not yet been performed. If you would like to assist in conversion effort, please visit the volunteer page.

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日
Big Fat Warning! The LinuxVirtualAgcUninstall script included in snapshots 20060226 through 20090317 will delete your /usr/local/bin directory if you installed Virtual AGC there (or worse, will delete /usr/bin if that was your installation directory). Please do not run this script.

The latest releases have a different uninstaller, and don't have this problem. I never noticed the problem, because I had been installing to ${HOME} for a long time before creating the original uninstaller. Big thanks to Onno Hommes for pointing out the problem.

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:
Software-wise, lots of bugs have been fixed and auxiliary changes associated with those fixes have been made, so that I'm not even sure I remember them all. Here are some of the ones that stand out in my mind as particularly significant:
In terms of new features, again there are lots. Some of the more significant ones are:
While it is basically a feature-neutral change, the ACA emulation program yaACA has been superceded by yaACA3, principally to allow the use SDL rather than Allegro for providing the joystick interface. The initial motivation for this was that Paul Fjeld (thanks, Paul!) advised that SDL's joystick code was more stable than Allegro's on Mac OS X. However, having made this replacement, I find some other significant advantages, the two principal being that there is far less configuration burden (and what configuration there is I've integrated in a way that won't be painful for VirtualAGC), and that I find I hadn't noticed before that yaACA provides absolutely no console feedback on Windows, making debugging that much more painful. I've also taken the opportunity to use static linking for SDL, to avoid distributing Allegro's dll. So hopefully it's a win-win-win-win kind of dealio.
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:
  • DSKY
  • Monitoring and Control Assembly - Driver Module (MCADM)
  • Monitoring and Control Assembly - Logic Module (MCALM)
  • Monitoring and Control Assembly - Memory Module (MCAMM)
  • Master Controller
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:
  1. My custom libraries for the PSA05-12GWA Kingbright alphanumeric display and for the RS 336-191 illuminated keys. You'll have to put those 2 in the 'lbr' directory of EAGLE before opening the DSKY schematic (only used there).
  2. The datasheets of PSA05-12GWA and HDSP-5601 plus dimensions and a pic of 336-191. [Actually, I have held back these datasheets for copyright reasons. I'll certainly maintain a private archive of them here, in case someone absolutely can't get their hands on them in a 'legal' way—Ron Burkey]
  3. A draft correction log of A1.
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:
Please remember if you're using the development snapshot (rather than the Windows stand-alone executable) that to take complete advantage of the pad loads in the latter-day versions of LM_Simulator, you have to copy Contributed/LM_Simulator/LM.core into the directory from which you intend to run the simulation.
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:
Enjoy!
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 ±90Deg
Pitch: 0Deg ±90Deg
Roll: Anyway limited by the Gimbal Lock condition at 0Deg ±85Deg

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:
  1. yaAGC has to be compiled with: "make CFLAGS=-DALLOW_BSUB". (This is now the default.)
  2. The LM.core file delivered with the on hand LM_Simulator package has to be used because it is populated with the necessary pad load data
  3. After start of the simulation the following steps have to be executed (please use the Tutorial as a reference):
  • V36E to reset the AGC
  • V37E 00E to start the idle program. Probably there is a need to do this a couple of times until PROG shows 00
  • V48E (DAP Initialization) -> V21E to change the value to 21022 (ACA Fine Scaling 4Deg/Sec)
  • AGC Crew Inputs -> Set "Attitude Hold Mode" to ON
  • V77E (Rate Command and Attitude Hold Mode)
  • V61E (DISPLAY DAP FOLLOWING ATTITUDE ERRORS)
  1. Now the DAP should enable you to steer the LM. !!!Please steer slowly to avoid that the simulation gets overloaded!!!
  2. Use "V49 Crew Defined Maneuver" to let the DAP steer the LM to the selected attitude
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.

Milestone: The Artemis072 (Colossus 3) command-module software from Apollo 15-17 can now be run in the simulation! Simply use the startup scripts SimArtemis072 or SimArtemis072_lite wherever the scripts SimColossus249 or SimColossus249_lite would have been used before. I leave to those of you who are more expert than I the task of evaluating it.

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日
  • Used the new LM-Coordinates to re-code the whole IMU-Module
    • IMU Coarse Align
    • IMU Fine Align
    • PIPA Vectors
  • Gimbal Lock (Middle Gimbal) on LM-Z-Axis (Roll-Axis)
  • Complete re-work of the RCS Thruster handling:
    • 4 Thruster Mode along X, Y, Z axes
    • 2 Thruster Mode (Minimum Impulse Mode) along X, Y, Z, U, V axes
  • Remark: THC (Crew-Inputs) activates the correct thrusters to translate the LM along the X,Y,Z axes. This increase in speed is not jet reflected within the IMU PIPAs.
  • Update of the tutorial to reflect the DAP mode and data load routines.
The summary of these changes is that for some time we've been trying to correctly match all of the various thrust and rotational axes of the simulation with the axes assumed by the Luminary and Colossus, and hopefully have them all correct now. However, the DAP is not yet stabilizing the LM even after loading the correct data (e.g. LM weight) as in the updated tutorial. It just bounces back and forth around the desired orientation, until it runs out of fuel. Obviously, we're still working on figuring that out!
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日
    1. With readline support enabled, hitting ENTER no longer interrupted execution of the AGC program. This has been fixed.
    2. Repaired some spurious printing of prompts during AGC program execution.
    3. "Break" was no longer working. This is now fixed. [That was my fault, not Jordan's --- RSB.]
    4. yaAGS now builds when readline support is enabled, and actually works in Win32. In other words, you can get a command history. Warning: In Linux, yaAGS --debug mode no longer functions properly, regardless of whether you compile with or without readline support. Hopefully that will be fixed Real Soon Now. (If you need --debug mode in yaAGS under Linux or Mac OS X, please hold off on downloading the development snapshot, since there are no improvements in yaAGS anyhow.)
    5. There is also an issue with the prompt. When you hit a breakpoint it does not print a ">" prompt. You can just hit "enter" to get a prompt. (Actually, it does work in Windows, but just not in Linux or presumably Mac OS X.)
2005年07月31日
  1. Added the "files <regex>" debugging command. This lists the source files matching the given regular expression.
  2. Reworked the "break" command. Now "break *address" is used to add a breakpoint at a memory address, as in gdb. The "break <line>" is used to break at a line number, whenever <line> can be parsed as an integer. Update "help break" to reflect this change.
  3. Improved the output from "breakpoints" a bit -- for those breakpoints specified using a symbol or a line number, it outputs the file:line from where it can be found. Note that I do not output file:line if you create a breakpoint using a memory address, although I don't think this would be difficult to do.
  4. Fixed a small bug in "list from,to" where the line numbers were not being displayed.
  5. Cleaned up some of my old code in symbol_table.c
  6. Added the ability to use libreadline to read in the debugger command line. The upshot is you get source file name completion, history, etc. (Note: Though apparently functional, this feature is currently disabled in the Makefile, because of some conflicts which prevent yaAGS from building. Hopefully it can be fixed up soon.)
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日
If I'm not mistaken, this means we're at a nice milestone: the IMU simulation in LM_Simulator can now be regarded as functional. (The next level needed will be to feed spacecraft accelerations and rotation into the IMU automatically rather than manually.)

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日
SimLuminary131
Just run the simulation without options. yaDSKY will be the DSKY simulation and yaDEDA the DEDA simulation.
SimLuminary131 --half-size
Same, but yaDSKY and yaDEDA will be half-sized.
SimLuminary131 "" --debug
Run the simulation with yaAGC in debug mode.
SimLuminary131 "" "" --debug
Run the simulation with yaAGS in debug mode.
SimLuminary131 --half-size --debug
Run the simulation with yaAGC in debug mode, and yaDSKY/yaDEDA half-sized.
SimLuminary131 --half-size "" --debug
Run the simulation with yaAGS in debug mode, and yaDSKY/yaDEDA half-sized.
SimLuminary131-lite
Just run yaAGC and LM_Simulator (without yaAGS and yaDEDA). LM_Simulator provides the DSKY simulation.
SimLuminary131-lite --debug
Same, but with yaAGC in debug mode.

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日
  • Blocking behavior of the simulator due to missing data on the socket has been fixed
  • CPU load reduced
  • LM System Input: "IMU Operate with no Malfunction" is now active by starting the program
  • To allow a free configuration (e.g. on/off) of windows or different IP-Addresses to connect to yaAGC an INI-File has been added (lm_system_simulator.ini)
  • The window arrangement and content has been optimized
  • The IMU Coarse Align and IMU Fine Align is implemented, although the last one does not work correctly. (The counter is merely for very small angles quite proportional to the given angle)
  • New FDAI/IMU window to monitor the gimbal angles
  • "Attitude & Speed Control" window to simulate gimbal angle changes has been added
  • Tutorial updated
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.

In case it wasn't clear from the comments above, the complete basic suite of Abort Guidance System software is now available and (hopefully) working, in Linux:
  • CPU emulator (yaAGS)
  • Data-entry and display emulation (yaDEDA)
  • Flight software source code and executables (Flight Program 6 and Flight Program 8)
  • Assembler (yaLEMAP)

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:
  • Unknown unprogrammed sequences as output of the AGC/AGS are now handled (hopefully ;-))
  • Improvement of the DSKY Lite by using real 7-Segment numbers
  • Remove of a trace (inserted for development) of an internal timer which would fill up the Log-Out-Window
  • Crew Button handling (AOT, Descent) corrected
  • DSKY PRO button is now working
  • Time printouts removed
  • DSKY Labeling and Number Size as well as separation lines corrected and added.
  • Most important, the program now merely recognizes AGC data packages with the following signature: 00... 01... 10... 11... So, the AGS packets shouldn't have a negative impact any longer.
RHC does not work yet because beside setting the associated input bit, a counter must be increased proportional to the stick angle.
2005年06月06日
Bug Fixes:
  • AGC Output has been completely revised. Now I'm using text labels which will show the different state of the signals.
  • LM System Signals and Crew Buttons corrected. I'm still unsure in some cases.
New Features:
  • DSKY LITE is a very simple (awful graphics) but full functioning DSKY. Due to your extensive description of the interface it was quite simple to implement.
  • IMU Simulation has been corrected and accelerated. The angles are now running between 0° and 360° as noted by the AGC.
  • Simple RHC and THC as well as AOT buttons added
  • Noun & Verbs and first steps of the Tutorial added.
The "DSKY LITE" is, I think, remarkably good, in spite of Stephan's badmouthing of the graphics.
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日
Note: This big bunch of changes isn't without cost. This stuff likely won't build (or won't build completely) on Windows and Mac OS X. I'll fix this up soon, but probably not until I'm happy with yaAGS. Therefore, Windows and Mac OS X users will probably want to stick with the binary packages, use an earlier source package, or else just take your chances.
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

AGS document entry is now complete.

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日
This is a nice little milestone: The AGS cross-assembler and the source code for AGS Flight Programs 6 and 8 are now completely available and correct, along with scans of most documents needed to learn how to write AGS programs.

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日
In case it isn't obvious from what I've written above:
  1. yaYUL is now complete.
  2. The Colossus249 core-rope is verified to be 100% accurate.
  3. The Colossus249 source code is 100% complete and accurate (except possibly for the program comments).

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
The yaYUL program now assembles Luminary131 source code to the correct core-rope image. Therefore, yaYUL is now working and the source code for Luminary131 is now correct. (However, Luminary's source-code comments still need proofing, and yaYUL still emits some confusing errors and warnings.)

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.)

Goto-pooh (V37E00E) now works in the CM sim. As far as I know, the CM sim is now working as well as the LM sim is. Woo-hoo!

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
Most of the various super-annoyances I've been having, like the LM sim crashing 100 seconds after power-up, and not being able to change major modes in either the CM or LM sim have now suddenly disappeared. yaAGC and yaDSKY now appear to be working for the LM with only minor caveats.

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
The CPU's instruction set is still buggy, but at least there's a little more functionality than previously. We can now run Luminary's or Colossus's show-banksum program. (Luminary will freeze up about 100 seconds after power-up for some reason, so it's probably better to try this with Colossus.) What the show-banksum program does is to successively display checksum information about the various banks of memory.
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.
Today is a pretty big milestone, since both Luminary and Colossus now (sometimes) accept input (such as nouns and verbs) from the DSKY, and display information on the DSKY. Alas! there are still bugs in yaAGC that keep it from doing anything really useful yet. But up until today the DSKY just sat there and did nothing, like a lump of virtual metal, so it's still exciting.
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:
  1. The disassembler now shows opcodes for the implied-address instructions, like "SQUARE" instead of "MP A" and "RETURN" instead of "TC Q".
  2. When INDEX is used with an instruction, the disassembler decodes and shows the instruction with the index added (along with a notation "w/i"), instead of leaving the user to deduce it.
  3. The timing used (i.e., the number of machine cycles in a given period of real-time) was messed up when --debug mode was used, since the time spent waiting at the debugger prompt was not accounted for.
  4. The timing also was not previously right with the --resume switch, since the time used prior to generating the core-dump wasn't accounted for.
  5. The construct sysconf(_SC_CLK_TCK) is now used in place of CLK_TCK. This is required for new compiler versions. I don't know if it will break under older compilers or not. I think I've fixed it to work with Win32 also.
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 Training Manual, thePreliminary 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.


Last modified by Ronald Burkey on 2009年08月30日.

Virtual AGC is hosted by ibiblio.org

AltStyle によって変換されたページ (->オリジナル) /