|
|
|||||||||||||||||||||
Please enable javascript in your
browser to see a site-search form here.
|
View the alarm codes |
Because of some current bugs
(07/19/04) in the way I initialize Colossus, there will be some program
alarms at startup, and the PROG indicator will light to inform you of
this. You can view the alarms by keying in V05N09E at the
DSKY. (In normal AGC shorthand, 'V' is short
for "VERB", 'N' is short for "NOUN", and 'E' is short for "ENTR".
So "V05N09E" means to hit the keys VERB 0 5 NOUN 0 9 ENTR.) Program alarms 1105 and 1106 happen to be "downlink too fast" and "uplink too fast". Uplinks or downlinks refer to exchange of telemetry information with ground equipment. |
|
DSKY lamp test | At the DSKY, key in V35E.
This will light
up all of the DSKY annunciators, flash the VERB/NOUN labels, and
display 88 or +88888 in all of the numerical registers. After
about 5 seconds, the test stops—you can tell, because the flashing
stops, though the numbers remain—and you can continue. When the accompanying screenshot was taken, I didn't yet know how the AGC controls the DSKY's STBY and RESTART indicators, so those weren't turned on by the test. Because of a bug in the simulator (as of 07/19/04), the PROG indicator doesn't re-light after the lamp-test completes. Therefore, you may or may not see the PROG indicator lit if you try the sample operations below. |
|
Display memory-bank checksums | The core-rope (read-only) memory
is divided
into 36 banks, numbered 00-43 (octal). A so-called "bugger word"
has been stuck at the end of each bank—yes, I get the joke, so
please don't send me an
explanation (and if you don't
get it, don't ask me)—which causes the checksum of the bank to come
out to a known value. This known value is the same as the bank
number when possible, and is the logical complement of the bank number
otherwise. (For example, the checksum of Colossus bank 00007 is 00007,
but the checksum of bank 00006 is 77771. Both are correct.)
Colossus's
"show-banksum" program can be used to display the bank numbers, one by
one. You can execute the show-banksum program by keying in V91E
on the DSKY. After a few seconds, the statistics for bank 00 will
be shown: R1 (the topmost 5-digit display) will contain the
computed checksum; R2 will contain the bank number; and R3 will contain
the bugger word. Each of the displays will be in octal, as
indicated by the fact that the +/- sign is blank. To advance to
the next bank, key in V33E. (Hitting the PRO key does the same
thing.) If
you have the patience to advance
through each of the banks, the next V33E (or PRO) after bank 43 will
wrap-around
to bank 00 again. To terminate the show-banksum program, you can
key in V34E. By the way, the bank-6 bugger word shown (05143) is for Colossus 249. If you ran the Artemis 072 program, it would have been 04275, while if you ran the Luminary 131 program, it would have been 63402. |
|
Monitor the current time | If you key in V16N36E or
V16N65E, it will cause the current time to be displayed. (Since
we haven't set the time in any way, this will be the time since
AGC power-up). R1 (the topmost 5-digit display) will
be in hours, R2 will be in minutes, and R3 will be in 100ths of a
second. This display is updated once per second. In the accompanying screenshot, the time is 06:58:33.86. |
|
Setting the current time | If it annoys you to see the time
since power-up, you can change the
time (for example, to mission time) by keying in V25N36E. R1 will
go blank, enabling you
to key in the current hour. Make sure you start with a + sign
(this is how the AGC knows you're using decimal rather than octal), and
make sure you enter all five digits (including the leading
zeroes).
In case you make a mistake, you can clear R1 any time before pressing
ENTR by using the CLR key. After you hit the ENTR key, R2 will
clear and you can enter the current minutes. Finally, you can key
in the number of seconds in R3. Don't forget that the number of
seconds is actually in 100ths of seconds, so that if (for example) you
want 30 seconds you'd key in +03000E. In the accompanying screenshot, it just happened to be 06:55:25 am., so that's how I set the clock. |
|
Examining the contents of the core-rope | Key in V27N02E. This
allows you to
enter the address of a word in the core-rope into R3. This
address will generally be in octal, and therefore should not be
preceded by a + sign. Also, unlike entry of decimal data, in
octal you can
enter just as many digits as you need, and don't need to enter a full
five digits. The addresses will be 00000-01777 for memory bank
00, 02000-03777 for memory bank 01, and so forth, up to 76000-77777 for
memory bank 37. (I'm not sure how to examine banks 40-43.)
The binary listing of the core rope is at the very back of the Colossus
249 assembly
listing, which can be downloaded from MIT if you have some spare time
and disk space. (See my links
page.) In the accompanying screenshot, we see that address 4000 (octal) of Luminary's core-rope contains the value 00004. This just happens to be the first instruction executed after power-up. It is an INHINT instruction, and disables interrupts. The contents of R2 (the middle 5-digit register) are not cleared, and thus are just whatever lingers from before. |
|
Examining the contents of erasable memory | Key in V01N02E. This
allows you to
enter the address of a word in erasable memory into R3. The
addresses will be 00000-00377 for erasable bank E0, 00400-00777 for
memory bank E1, and so forth, up to 03400-03777 for memory bank
E7. Alternately, you can "monitor" a memory location (i.e., get
updates for it once per second) by using VERB 11 rather than VERB
01. For example, V11N02E25E will monitor register 25, the "TIME1"
register, which is an internal counter that increments every 10
ms. In general, of course, the numbers won't mean much unless you
reference them to the Colossus 249 assembly listing. In the accompanying screenshot, we actually do look at the TIME1 register, and discover that at that instant it contained the value 20245 (octal). Of course, you'll see something different. Display R2 is not changed, so it just contains whatever it contained before. |
|
Altering the contents of erasable memory | Key in V21N02E, and enter an
octal
address as above, and then enter a new value to be stored at that
address. It goes without saying that you need to know what you're
doing when you do this! In the accompanying screenshot, I've chosen to reload the TIME1 register with the value 12345 (octal), which probably won't cause too many adverse effects. Display R2 is not changed, so it just contains whatever it contained before. |
|
Fresh start | Key in V36E. This
apparently restarts the "pinball" program—i.e., the program that is
responsible for accepting verbs and nouns and
displaying stuff on the DSKY—and it's useful
for clearing garbage from the DSKY's display, as the accompanying
screenshot demonstrates. In the accompanying screenshot, a side-effect of the fresh start is the thoughtful re-display of the PROG (program alarm) which the earlier DSKY lamp-test had wiped out. |
|
(Your
picture here.) |
Do-it-yourself research | The file
yaAGC/Colossus249/ASSEMBLY_AND_OPERATION_INFORMATION.s lists
the verb and noun tables,
so perhaps you can figure out some neat stuff yourself. If you
do, let me know and I'll add it
to this list. |
Jonathan D. Addelston, A.
Peter
Adler, Rama M. Aiyawar, Ramón
Alonso, R. R. Bairnsfather, Hugh
Blair-Smith, Norm Brodeur, George W. Cherry, Edgar M. Cshika,
Ed Copps, Steve Copps, Bob Covelli, J. D. Coyne, Danforth, Dana
Densmore,
DeWitt, Bart DeWolf,
Stan Eliassen, Al Engle, Don Eyles, Fagin, Filene, Naomi Fisher, Jim
Flanders,
Follett, Gauntt, Richard
D. Goss, John Green, Margaret
Hamilton (also, Hamilton
Technologies, Inc.), R. Hirschkop, Mike Houston, Eileen T. Hughes,
Lowell G. Hull, T.
James, G.
Kalan, Don Keene, James E. Kernan, Kilroy, Allan Klumpp, Tom Knatt,
Alex
Kosmala,
Krause, Dan
Lickly, Lonske, Lu, Fred
W. Martin, R. Melanson, Jim Miller, John Miller, Ray Morth, N.
M. Neville, North, Olsson, Rhode, Robertson, S. Rudnicki, Phyllis Rye,
Joe Saponaro, Robert Schlundt, George Schmidt, Schulenberg, P. Shakir,
Smith, Robert F.
Stengel, Gilbert Stubbs, Sturlaugson, Richard Talayco, W. H.
Vandever, Ken
Vincent, P.
Volante, P. S. Weissman, Bill Widnall, P. White, Willman, Craig Work,
Saydean Zeldin. |
Apollo
15-17 CM Honor
Roll
|
Apollo
11 Honor
Roll
Organizational honors
Individual honors
|
Apollo 4 Honor
Roll
Organizational honors
Individual honors
|
The
procedure developed to work around the erroneous abort signal on Apollo
14 was as follows: (1) After the NOUN 62 countdown starts (an automatic display of the countdown toward engine ignition), but before ignition, key in VERB 21 NOUN 1 ENTER 1010 ENTER
107 ENTER to set the mode register to 71 to indicate that an abort had already occurred. Note that the numbers are in "octal" (i.e. based on the root of 8 not 10) so that the number "107" actually means "71". (2) Exactly 26 seconds after ignition, manually advance the descent engine throttle to 100%. (3) Key in VERB 25 NOUN 7 ENTER 101 ENTER
200 ENTER 1 ENTER to enable the landing guidance equations. The equations were prevented from starting automatically because the mode register is set to the phony value of 71. (4) Key in VERB 25 NOUN 7 ENTER 105 ENTER
400 ENTER 0 ENTER to explicitly disable the abort monitor. This clears the FLAGWORD bit that controls the abort monitor. (5) Key in VERB 21 NOUN 1 ENTER 1010 ENTER
77 ENTER to set the mode register to its proper value of 63. (6) Return the manual throttle to its minimum setting. The throttle stays at 100% because it is now being commanded by the guidance equations. But if this step were omitted the throttle would be forced to stay at 100% when the guidance equations later request partial thrust, with bad effects. |