https://github.com/virtualagc/virtualagc
Raw File
Tip revision: 4e5d304eb7cd5589b924ffb8b423b6f15511b35d authored by Ron Burkey on 20 October 2018, 17:47:00 UTC
The sample Block I AGC program TRIVIUM, found at the very end of one of
Tip revision: 4e5d304
ASSEMBLY_AND_OPERATION_INFORMATION.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    ASSEMBLY_AND_OPERATION_INFORMATION.agc
## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
##              It is part of an early development version of the software
##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
##              Module (LM) flight Apollo 5. Sunburst 37 was the program
##              upon which Don Eyles's offline development program Shepatin
##              was based; the listing herein transcribed was actually for
##              the equivalent revision 0 of Shepatin.
##              This file is intended to be a faithful transcription, except
##              that the code format has been changed to conform to the
##              requirements of the yaYUL assembler rather than the
##              original YUL assembler.
## Reference:   pp. 1-9
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
##              2017-05-27 HG   Transcribed
##		2017-06-21 RSB	A few errors corrected using 
##				octopus/ProoferComments.

## Page 1
# TABLE OF LOG CARDS

# ASSEMBLY AND OPERATION INFORMATION
# ERASABLE ASSIGNMENTS
# INPUT/OUTPUT CHANNELS
# INTERRUPT LEAD INS
# RESTART TABLES AND RESTARTS ROUTINE
# PHASE TABLE MAINTENANCE
# FRESH STRART AND RESTART
# T4RUPT PROGRAM
# IMU MODE SWITCHING ROUTINES
# AOTMARK
# RADAR LEAD-IN ROUTINES
# RADAR TEST PROGRAMS
# EXTENDED VERBS
# KEYRUPT, UPRUPT
# PINBALL GAME  BUTTONS AND LIGHTS
# ALARM AND ABORT
# UPDATE PROGRAM PART 1 OF 2
# UPDATE PROGRAM PART 2 OF 2
# DOWN-TELEMETRY PROGRAM
# INFLIGHT ALIGNMENT ROUTINES
# RTB OP CODES
# LEM FLIGHT CONTROL SYSTEM TEST
# IMU PERFORMANCE TESTS 1
# IMU PERFORMANCE TESTS 2
# IMU PERFORMANCE TESTS 3
# OPTIMUM PRELAUNCH ALIGNMENT CALIBRATION
# DAP INTERFACE SUBROUTINES
# T6-RUPT PROGRAMS
# DAPIDLER PROGRAM
# P-AXIS REACTION CONTROL SYSTEM AUTOPILOT
# Q,R-AXES REACTION CONTROL SYSTEM AUTOPILOT
# Q,R-AXES JET SELECT AND FAILURE CONTROL LOGIC
# RCS FAILURE MONITOR
# ASCENT INERTIA UPDATER
# KALMAN FILTER FOR LM DAP
# TRIM GIMBAL CONTROL SYSTEM
# AOSTASK AND AOSJOB
# SPS BACK-UP RCS CONTROL
# ATTITUDE MANEUVER ROUTINE
# GIMBAL LOCK AVOIDANCE
# KALCMANU STEERING
# MISSION PHASE 2 GUIDANCE REFERENCE RELEASE + BOOST MONITOR
# MP 3 - SUBORBITAL ABORT
# MP4-CONTINGENCY ORBIT INSERTION
# MISSION PHASE 6 COAST SIVB ATTACHED
# MP 7 - SIVB/LEM SEPARATION
# MISSION PHASE 8 - DPS COLD SOAK
# MP9-DPS 1 BURN

## Page 2
# MISSION PHASE 11 - DPS2/FITH/APS1
# MISSION PHASE 13 - APS2
# MISSION PHASE 16 - RCS COLD SOAK
# INTEGRATION INITIALIZATION
# ORBITAL INTEGRATION PROGRAM
# LMP COMMAND ROUTINES
# AS206 MISSION SCHEDULING PACKAGE
# THRUST MISSION CONTROL PROGRAM TJS
# TUMBLE MONITOR
# PIPA READER
# FIND CDU DESIRED
# AVERAGE G INTEGRATOR
# THROTTLE CONTROL
# IMU COMPENSATION PACKAGE
# DUMMY 206 INITIALIZATION
# SECOND DPS GUIDANCE
# PREBURN FOR APS2
# ASCENT STEERING
# THRUST MAGNITUDE FILTER
# LOGSUB ROUTINE
# LAMB
# SUM CHECK END OF BANK MARKERS
# SUBROUTINES
# 	   MASTER
# 	   SELFCHEC

## Page 3
# VERB AND NOUN INFORMATION



#  REGULAR VERBS
# 01  DISPLAY OCTAL COMP 1 (R1)
# 02  DISPLAY OCTAL COMP 2 (R1)
# 03  DISPLAY OCTAL COMP 3 (R1)
# 04  DISPLAY OCTAL COMP 1,2 (R1,R2)
# 05  DISPLAY OCTAL COMP 1,2,3 (R1,R2,R3)
# 06  DECIMAL DISPLAY
# 07  DP DECIMAL DISPLAY (R1,R2)
# 10  SPARE
# 11  MONITOR OCT COMP 1 (R1)
# 12  MONITOR OCT COMP 2 (R1)
# 13  MONITOR OCT COMP 3 (R1)
# 14  MONITOR OCT COMP 1,2 (R1)
# 15  MONITOR OCT COMP 1,2,3 (R1,R2,R3)
# 16  MONITOR DECIMAL
# 17  MONITOR DP DECIMAL (R1,R2)
# 20  SPARE
# 21  LOAD COMP 1 (R1)
# 22  LOAD COMP 2 (R2)
# 23  LOAD COMP 3 (R3)
# 24  LOAD COMP 1,2 (R1,R2)
# 25  LOAD COMP 1,2,3 (R1,R2,R3)
# 26  SPARE
# 27  FIXED MEMORY DISPLAY
# 30  REQUEST EXECUTIVE
# 31  REQUEST WAITLIST
# 32  C(R2) INTO R3, C(R1) INTO R2
# 33  PROCEED WITHOUT DATA
# 34  TERMINATE CURRENT TEST OR LOAD REQUEST
# 35  TEST LIGHTS
# 36  FRESH START
# 37  CHANGE MAJOR MODE
# END OF REGULAR VERBS



# EXTENDED VERBS
# 40  ZERO(USED WITH NOUN 20) (N 40 UNUSED IN 206)
# 41  COARSE ALIGN (USED WITH NOUN 20) (N 40 UNUSED IN 206)
# 42  FINE ALIGN IMU
# 43  LOAD IMU ATTITUDE ERROR METERS
# 44  ILLEGAL VERB
# 45  COMMAND LR TO POSITION 2 (UNUSED IN 206)
# 46  SAMPLE RADAR ONCE PER SECOND (UNUSED IN 206)
# 47  PERFORM LEM FCS TEST
# 50  PLEASE PERFORM

## Page 4
# 51  PLEASE MARK
# 52  PLEASE MARK Y
# 53  PLEASE MARK X OR Y
# 54  PULSE TORQUE GYROS
# 55  ALIGN TIME
# 56  PERFORM BANKSUM
# 57  PERFORM SYSTEM TEST
# 60  ILLEGAL VERB
# 61  ILLEGAL VERB
# 62  SCAN LEM INBITS
# 63  INITIALIZE AGS (UNUSED IN 206)
# 64  SET TIMER TO GROUND ELAPSED TIME
# 65  SET GUIDANCE REFERENCE RELEASE DISCRETE
# 66  INITIATE LGC DFI TLM CALIBRATE ROUTINE
# 67  SEND COMMAND TO LMP
# 70  SET MISSION TIMER
# 71  SET MISSION PHASE REGISTER
# 72  SET MISSION PHASE REGISTER + TIMER
# 73  RESET DPS OR RPS COLD SOAK DISCRETE
# 74  STOP MISSION TIMERS
# 75  TARGET PARAMETER UPDATE
# 76  STATE VECTOR UPDATE
# 77  ILLEGAL VERB


## Page 5
# NORMAL NOUNS                                          SCALE AND DECIMAL POINT
# 00  NOT IN USE
# 01  SPECIFY MACHINE ADDRESS (FRACTIONAL)              (.XXXXX)
# 02  SPECIFY MACHINE ADDRESS (WHOLE)                   (XXXXX.)
# 03  SPECIFY MACHINE ADDRESS (DEGREES)                 (XXX.XXDEGREES)
# 04  SPECIFY MACHINE ADDRESS (HOURS)                   (XXX.XXHOURS)
# 05  SPECIFY MACHINE ADDRESS (SECONDS)                 (XXX.XXSECONDS)
# 06  SPECIFY MACHINE ADDRESS (GYRO DEGREES)            (XX.XXXDEGREES)
# 07  SPARE
# 10  CHANNEL TO BE SPECIFIED
# 11  SPARE
# 12  SPARE
# 13  SPARE
# 14  SPARE
# 15  INCREMENT MACHINE ADDRESS                         (OCTAL ONLY)
# 16  TIME SECONDS                                      (XXX.XXSECONDS)
# 17  TIME HOURS                                        (XXX.XXHOURS)
# 20  ICDU                                              (XXX.XXDEGREES)
# 21  PIPAS                                             (XXXXX.PULSES)
# 22  NEW ANGLES I                                      (XXX.XXDEGREES)
# 23  DELTA ANGLES I                                    (XXX.XXDEGREES)
# 24  DELTA TIME (SECONDS)                              (XXX.XXSECONDS)
# 25  CHECKLIST                                         (XXXXX.)
# 26  PRIO/DELAY, ADRES, BBCON                          (OCTAL ONLY)
# 27  SELF TEST ON/OFF SWITCH                           (XXXXX.)
# 30  STAR NUMBERS                                      (XXXXX.)
# 31  SFAIL, ERCOUNT, FAILREG                           (OCTAL ONLY)
# 32  DECISION TIME (MIDCOURSE)                         (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
# 33  EPHEMERIS TIME (MIDCOURSE)                        (XXX.XXHOURS (INTERNAL UNITS = WEEKS))
# 34  MEASURED QUANTITY (MIDCOURSE)                     (XXXX.XKILOMETERS)
# 35  INBIT MESSAGE                                     (OCTAL ONLY)
# 36  LANDMARK DATA 1                                   (OCTAL ONLY)
# 37  LANDMARK DATA 2                                   (OCTAL ONLY)
# 40  RENDEZVOUS RADAR ANGLES (TRUNION,SHAFT)           (XXX.XXDEGREES)      (UNUSED IN 206)
# 41  NEW RENDEZVOUS RADAR ANGLES (TRUNION,SHAFT)       (XXX.XXDEGREES)      (UNUSED IN 206)
# 42  AOT ROTATION ANGLES                               (XXX.XXDEGREES)
# 43  AOT DETENT CODE                                   (XXXXX.)
# 44  FORWARD VELOCITY, LATERAL VELOCITY                (XXXXX.FEET/SEC)
# 45  ROTATIONAL HAND CONTROLLER ANGLE RATES            (XXXXX.DEG/SEC)      (NOT USED IN 206)
# 46  SPARE
# 47  SPARE
# 50  FAILREG, FAILREG +1, FAILREG +2                   (OCTAL ONLY)
# 51  ALMCADR, ALMCADR +1       			(OCTAL ONLY)
# 52  GYRO BIAS DRIFT                                   (.BBXXXXXMILLIRAD/SEC)
# 53  GYRO INPUT AXIS ACCELERATION DRIFT                (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
# 54  GYRO SPIN AXIS ACCELERATION DRIFT                 (.BBXXXXX(MILLIRAD/SEC)/(CM/SEC SEC))
# END OF NORMAL NOUNS


## Page 6
# MIXED NOUNS                                           SCALE AND DECIMAL POINT
# 55  LANDING RADAR ALTITUDE, TIME (SECONDS)            (XXXXX.FEET, XXX.XXSEC)                 (UNUSED IN 206)
# 56  LANDING RADAR VELX, TIME (SECONDS)                (XXXXX.FEET/SEC, XXX.XXSEC)             (UNUSED IN 206)
# 57  LANDING RADAR VELY, TIME (SECONDS)                (XXXXX.FEET/SEC, XXX.XXSEC)             (UNUSED IN 206)
# 60  LANDING RADAR VELZ, TIME (SECONDS)                (XXXXX.FEET/SEC, XXX.XXSEC)             (UNUSED IN 206)
# 61  TARGET AZIMUTH AND ELEVATION                      (XXX.XXDEG, XX.XXXDEG)
# 62  RENDEZVOUS RADAR RANGE, TRUNION, SHAFT            (XXXXXB.FEET, XXX.XXDEG, XXX.XXDEG)     (UNUSED IN 206)
# 63  RENDEZVOUS RADAR RANGE RATE, TRUNION, SHAFT       (XXXXX.FEET/SEC, XXX.XXDEG, XXX.XXDEG)  (UNUSED IN 206)
# 64  INITIAL ALTITUDE, FINAL ALTITUDE, ALT. RATE       (XXXXX.FEET, XXXXX.FEET, XXXXX.FEET/SEC)
# 65  SAMPLED TIME (HOURS AND SECONDS)                  (XXX.XXHOURS, XXX.XXSEC)
#         (FETCHED IN INTERRUPT)
# 66  SYSTEM TEST RESULTS                               (XXXXX., .XXXXX, XXXXX.)
# 67  DELTA GYRO ANGLES                                 (XX.XXXDEG  FOR EACH)
# 70  SPARE
# 71  SPARE
# 72  DELTA POSITION                                    (XXXX.XKILOMETERS  FOR EACH)
# 73  DELTA VELOCITY                                    (XXXX.XMETERS/SEC  FOR EACH)
# 74  MEASUREMENT DATA (MIDCOURSE)                      (XXX.XXHOURS (INTERNAL UNITS=WEEKS), XXXX.XKILOMETERS, XXXXX.
# 75  MEASUREMENT DEVIATIONS (MIDCOURSE)                (XXXX.XKILOMETERS, XXXX.XMETERS/SEC, XXXX.XKILOMETERS)
# 76  POSITION VECTOR                                   (XXXX.XKILOMETERS  FOR EACH)
# 77  VELOCITY VECTOR                                   (XXXX.XMETERS/SEC  FOR EACH)


## Page 7
# TABLE OF ERROR CODES



# OPTICS SUB-SYSTEM

# 00105    MARK BUTTONS NOT AVAILABLE
# 00111    MARK IS MISSING AFTER ENTER
# 00112    MARK NOT BEING ACCEPTED
# 00113    NO INBITS
# 00114    MARK MADE BUT NOT DESIRED
# 00115    X MARK NOT MADE

# IMU SUB-SYSTEM

# 00206    ZERO CDU NOT ALLOWED WITH COARSE ALIGN + GIMBAL LOCK.
# 00207    ISS TURN-ON REQUEST NOT PRESENT FOR 90 SEC.
# 00210    IMU NOT OPERATING
# 00211    COARSE ALIGN ERROR
# 00212    PIPA FAIL BUT PIPA IS NOT BEING USED
# 00213    IMU NOT OPERATING WITH TURN-ON REQUEST
# 00214    PROGRAM USING IMU WHEN TURNED OFF

# PROCEDURAL DIFFICULTY

# 00401    DESIRED GIMBAL ANGLES YIELD GIMBAL LOCK
# 00402    STAR OUT OF FIELD OF VIEW
# 00403    STAR OUT OF FIELD OF VIEW
# 00404    COMPUTATION FOR WAITLIST SET-UP RAN AFOUL

# RADAR ERRORS

# 00501    RADAR ANTENNA OUT OF LIMITS
# 00502    BAD RADAR GIMBAL ANGLE INPUTS
# 00503    RADAR ANTENNA DESIGNATE FAIL
# 00510    RADAR AUTO DESCRETE NOT PRESENT
# 00514    RADAR GOES OUT OF AUTO MODE WHILE BEING USED
# 00520    NO RADAR RUPT EXPECTED
# 00521    RADAR DATA COULD NOT BE READ
# 00522    WRONG LR POSITION
# 00523    LR ANTENNA DID NOT MAKE IT
# 00524    BAD RADAR TARGET

# MISSION SCHEDULER ERRORS:

# 00601    MISSION PHASE DUE BUT MPHASE REGISTER = 0

# COMPUTER HARDWARE MALFUNCTIONS

# 01102    AGC SELF TEST ERROR

## Page 8

# 01103    UNUSED CCS BRANCH EXECUTED . ABORT
# 01105    DOWNLINK TOO FAST
# 01106    UPLINK TOO FAST

# LIST OVERFLOWS ( ALL ABORTS )

# 01201    EXECUTIVE OVERFLOW-NO VAC AREAS
# 01202    EXECUTIVE OVERFLOW-NO CORE SETS
# 01203    WAITLIST OVERFLOW-TOO MANY TASKS
# 01206    KEYBOARD AND DISPLAY WAITING LINE OVERFLOW
# 01207    NO VAC AREA FOR MARKS
# 01210    TWO PROGRAMS USING DEVICE AT SAME TIME

# INTERPRETER ERRORS

# 01301    ARCSIN-ARCCOS INPUT ANGLE TOO LARGE. ABORT
# 01302    SQRT CALLED WITH NEGATIVE ARGUMENT . ABORT

# DISPLAY ALARMS

# 00310    CURTAINS
# 00312    JETABORT
# 00316    FAKESTRT
# 01400    PITCH AND/OR ROLL TRIM FAIL IS ON (SHOWN WITH V50N25).         (FCS TEST ALARM)
# 01410    JET FAIL DURING FCS TEST.
# 01411    CDU DOES NOT AGREE WITH COMMAND TO 1 DEGREE

# KEYBOARD AND DISPLAY PROGRAM

# 01501     KEYBOARD AND DISPLAY ALARM DURING INTERNAL USE(NVSUB). ABORT

# SYSTEM TEST ALARMS

# 01600     DRIFT TEST OVERFLOW
# 01601     BAD IMU TORQUE IN DRIFT,IN COMPASS


## Page 9

# INSTRUCTION CODES:
#
# NORMAL (NON-EXTENDED) CODES:
#
# TC           000           TRANSFER CONTROL
# CCS          001 00        COUNT, COMPARE, AND SKIP
# TCF          001 01        TRANSFER CONTROL TO FIXED
# TCF          001 10        DITTO
# TCF          001 11        DITTO
# DAS          010 00        DP ADD TO STORAGE
# LXCH         010 01        EXCHANGE L WITH STORAGE
# INCR         010 10        INCREMENT STORAGE
# ADS          010 11        ADD TO STORAGE
# CA           011           CLEAR AND ADD
# CS           100           CLEAR AND SUBTRACT
# INDEX        101 00        INDEX NEXT INSTRUCTION
# DXCH         101 01        DP EXCHANGE WITH STORAGE
# TS           101 10        TRANSFER TO STORAGE
# XCH          101 11        EXCHANGE A WITH STORAGE
# AD           110           ADD
# MASK         111           MASK ("AND" TO A)
#
#
# EXTENDED CODES:
#
# READ         000 00 0      READ FROM CHANNEL
# WRITE        000 00 1      WRITE CHANNEL
# RAND         000 01 0      READ, "AND" TO A
# WAND         000 01 1      WRITE, "AND" TO A
# ROR          000 10 0      READ, "OR" TO A
# WOR          000 10 1      WRITE, "OR" TO A
# RXOR         000 11 0      READ, EXCLUSIVE "OR" TO A
# EDRUPT       000 11 1      INTERRUPT
#
# DV           001 00        DIVIDE
# BZF          001 01        BRANCH ON ZERO TO FIXED
# BZF          001 10        DITTO
# BZF          001 11        DITTO
# MSU          010 00        MODULAR SUBTRACT
# QXCH         010 01        EXCHANGE Q WITH STORAGE
# AUG          010 10        AUGMENT STORAGE
# DIM          010 11        DIMINISH STORAGE
# DCA          011           DP CLEAR AND ADD
# DCS          100           DP CLEAR AND SUBTRACT
# INDEX        101           INDEX NEXT EXTENDED INSTR.
# SU           110 00        SUBTRACT
# BZMF         110 01        BRANCH ON 0 OR - TO FIXED
# BZMF         110 10        DITTO
# BZMF         110 11        DITTO
# MP           111           MULTIPLY
back to top