https://github.com/virtualagc/virtualagc
Revision 4e5d304eb7cd5589b924ffb8b423b6f15511b35d authored by Ron Burkey on 20 October 2018, 17:47:00 UTC, committed by Ron Burkey on 20 October 2018, 17:47:00 UTC
the recently-added documents about YUL, was transcribed. Because the original program contained a deliberate error in YUL (as well as some constructs that have unintentionally become errors in yaYUL), I've provided it in two forms: TRIVIUM (which matches the original scan, to the extent feasible) and TRIVIUM-repaired (which has the deliberate and unintentional errors fixed, but otherwise retains the identical functionality of the original).
1 parent c6c292e
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
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: Part of the source code for Solarium build 55. This
## is for the Command Module's (CM) Apollo Guidance
## Computer (AGC), for Apollo 6.
## Assembler: yaYUL --block1
## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
## Website: www.ibiblio.org/apollo/index.html
## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/
## Mod history: 2009-09-11 JL Created.
## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments,
## and fixed errors found.
## Page 1
# TABLE OF LOG CARDS (ALL LOG CARDS ARE TWO SPACED)
# ASSEMBLY AND OPERATION INFORMATION
# ERASABLE ASSIGNMENTS
# INTERRUPT TRANSFER ROUTINES
# FIXED-FIXED INTERPRETER SECTION
# BANK 03 INTERPRETER SECTION
# EXECUTIVE
# WAITLIST
# RESTART CONTROL
# 501 RESTART TABLES AND ROUTINES
# FRESH START AND RESTART
# DOWN-TELEMETRY PROGRAM
# T4RUPT OUTPUT CONTROL PROGRAMS
# MODE SWITCHING AND MARK ROUTINES
# IMU COMPENSATION PACKAGE
# IRIG PULSE-TORQUING ROUTINES
# EXTENDED VERBS FOR MODING
# AGC SELF-CHECK
# INTER-BANK COMMUNICATION
# ALARM AND DISPLAY PROCEDURES
# ORBITAL INTEGRATION PROGRAM
# ORBITAL INTEGRATION FOR 501
# PRELAUNCH ALIGNMENT PROGRAM
# INFLIGHT ALIGNMENT PROGRAM
# RTB OP CODES
# IMU PERFORMANCE TESTS 1
# IMU PERFORMANCE TESTS 2
# INFLIGHT ALIGNMENT SUBROUTINES
# KEYRUPT, UPRUPT, FRESH START
# PINBALL GAME BUTTONS AND LIGHTS
# 501 MISSION CONTROL PROGRAM
# POWERED FLIGHT SUBROUTINES
# TIME OF FREE-FALL CALCULATIONS
# DUMMY 501 INITIALISATION
# RE-ENTRY CONTROL
# AVERAGE G INTEGRATOR
# VERIFICATION ASSISTANCE PROGRAMS
# SUM-CHECK END OF RECORD MARKS
## Page 2
# TABLE OF ERROR CODES
# OPTICS SUB-SYSTEM
#
# 00101 ZERO CDU SWITCH ALTERED BEFORE EXPIRATION OF 30 SECOND WAIT
# 00102 COMPUTER UNABLE TO ACHIEVE DESIRED OPTICS MODE
# 00103 SXT-ON SWITCH TURNED ON WITH OPTICS NOT IN ZERO CDU MODE
# 00104 NO VAC AREA AVAILABLE FOR MARKS
# 00105 INTERNAL MARKS REQUEST WITH MARK SYSTEM BUSY
# 00106 SXT-ON SWITCH NOT IN DESIRED STATE AT MARK TIME OR MARK WITH ALL REQUESTED MARKS ACCEPTED
# 00107 MARK ACCEPT WITH MARK SYSTEM NOT IN USE
# 00110 MARK ACCEPT WITH ALL REQUESTED MARKS ACCEPTED, OR NO MARKS SINCE INITIALIZATION OR LAST MARK ACCEPT
# IMU SUB-SYSTEM
#
# 00201 CDU ZERO SWITCH ALTERED BEFORE EXPIRATION OF 30 SECOND WAIT
# 00202 COMPUTER UNABLE TO ACHIEVE DESIRED MODE
# 00203 NO IMU MODE INDICATED TO COMPUTER
# 00204 MODE SWITCH WITH TRNSW IN COMPUTER CONTROL, BUT COMPUTER NOT COMMANDING
# GENERAL MISSION PROGRAM ERRORS (ERROR RETURN ON IMUSTALL, ETC.)
#
# 00301 CURTAINS PROGRAM
# PROCEDURAL DIFFICULTY
#
# 00401 DESIRED GIMBAL ANGLES YIELD GIMBAL LOCK (MGA GREATER THAN 60 DEGREES).
# 00402 STAR OUT OF FIELD OF VIEW
# 00403 STAR OUT OF FIELD OF VIEW
# COMPUTER HARDWARE MALFUNCTIONS
#
# 01101 RUPT2 OCCURRED
# 01102 AGC SELF TEST ERROR (Q IN SFAIL)
# 01103 UNUSED CCS BRANCH EXECUTED
# 01104 C-RELAY FAILED DURING C-RELAY TEST
# LIST OVERFLOWS (ALL ABORTS)
#
# 01201 EXECUTIVE OVERFLOW - NO VAC AREAS
# 01202 EXECUTIVE OVERFLOW - NO CORE SETS
# 01203 WAITLIST OVERFLOW - TOO MANY TASKS
# 01204 SLIGHT VARIATION OF 01203
# 01205 MASTER CONTROL OVERFLOW - TOO MANY JOBS WAITING
# 01206 KEYBOARD + DISPLAY WAITING LINE OVERFLOW
# 01207 NO VAC AREA FOR MARKS
# 01210 SOMETHING ALREADY WAITING IN IMUSTALL
# INTERPRETER ERRORS
#
# 01301 ARCCOS-ARCSIN INPUT ANGLE TOO LARGE
# 01302 SQRT CALLED WITH NEGATIVE ARGUMENT
# DISPLAY ALARMS
#
# 01401 (VG) INCREASING - LOSS OF CONTROL
## Page 3
# 01402 (DELV) TOO LOW - ENGINE NOT ON
# 01403 501 ABORT, WILL OVERSHOOT TARGET.
# 01404 501 ABORT, PRESENT SMA LESS THAN RE/2
# 01405 501 ABORT, COT SQ(GAMMA E) NEGATIVE.
# 01406 501 ABORT, FREE-FALL ANGLE EXEEDS ---
# 01407 COMMANDED CDUZ EXCEEDS 60 DEGREES
# 01411 TIME TO INCORPORATE AVE G UPDATE ALREADY PAST
# KEYBOARD AND DISPLAY PROGRAM
#
# 01501 KEYBOARD AND DISPLAY ALARM DURING INTERNAL USE (NVSUB). ABORT
## Page 4
# VERB DEFINITIONS
# 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 REQUEST WAITLIST
# 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 REQUEST EXECUTIVE
# 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 SPARE
# 30 SPARE
# 31 BANK DISPLAY
# 32 C(R2) INTO R3, C(R1) INTO R2
# 33 PROCEED WITHOUT DATA
# 34 TERMINATE CURRENT TEST OR LOAD REQUEST
# 35 RELEASE DISPLAY SYSTEM
# 36 FRESH START
# 37 CHANGE MAJOR MODE
# END OF REGULAR VERBS
# EXTENDED VERBS
# 40 ZERO (USED WITH NOUN ICDU OR OCDU)
# 41 COARSE ALIGN (USED WITH NOUN ICDU OR OCDU)
# 42 FINE ALIGN IMU
# 43 LOCK IMU
# 44 SET IMU TO ATTITUDE CONTROL
# 45 SET IMU TO RE-ENTRY CONTROL
# 46 RETURN IMU TO COARSE ALIGN
# 47 OPTICAL TRACKER ON (NOT IN USE YET)
# 50 PLEASE PERFORM
## Page 5
# 51 PLEASE MARK
# 52 MARK REJECT (UNTIL BUTTON AVAILABLE)
# 53 FREE (USED WITH NOUN ICDU OR OCDU)
# 54 PULSE TORQUE GYROS
# 55 ALIGN TIME
# 56 PERFORM BANKSUM
# 57 DO SYSTEM TEST
# 60 PREPARE FOR STANDBY
# 61 RECOVER FROM STANDBY
# 62 ILLEGAL VERB
# 63 ILLEGAL VERB
# 64 ILLEGAL VERB
# 65 ILLEGAL VERB
# 66 ILLEGAL VERB
# 67 ILLEGAL VERB
# 70 ILLEGAL VERB
# 71 DO TFFMIN UPDATE
# 72 ABORT
# 73 ILLEGAL VERB
# 74 ILLEGAL VERB
# 75 MANUAL I/O FOR FLIGHTS
# 76 DO RVT UPDATE
# 77 DO L/O TIME UPDATE
## Page 6
# 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 SPECIFY MACHINE ADDRESS (Y OPT DEGREES) (XXX.XXDEG OR XX.XXXDEG)
# 10 SPARE
# 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 (XXXXX.)
# 27 SELF TEST ON/OFF SWITCH (XXXXX.)
# 30 STAR NUMBERS (XXXXX.)
# 31 FAILREG, SFAIL, ERCOUNT (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 ROLL, PITCH, YAW (XXX.XXDEGREES)
# 36 LANDMARK DATA 1 (OCTAL ONLY)
# 37 LANDMARK DATA 2 (OCTAL ONLY)
# 40 VG FOR 501 (XXXX.X METERS/SEC)
# 41 SPARE
# 42 SPARE
# 43 SPARE
# 44 SPARE
# 45 SPARE
# 46 SPARE
# 47 SPARE
# 50 SPARE
# 51 SPARE
# 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 7
# MIXED NOUNS SCALE AND DECIMAL POINT
# 55 OCDU (XXX.XXDEG, XXX.XXDEG OR XX.XXXDEG)
# 56 UNCALLED MARK DATA (OCDU & TIME(SECONDS)) (XXX.XXDEG, XXX.XXDEG OR XX.XXXDEG, XXX.XXSEC)
# 57 NEW ANGLES OCDU (XXX.XXDEG, XXX.XXDEG OR XX.XXXDEG)
# 60 IMU MODE STATUS (IN3, WASKSET, OLDERR) (OCTAL ONLY)
# 61 TARGET AZIMUTH AND ELEVATION (XXX.XXDEG, XX.XXXDEG)
# 62 RE-ENTRY VARIABLES (XXX.XXSEC, XXXXX., XXXXX.)
# 63 OCDUX AND TIME (XXX.XXDEG, XXX.XXSEC)
# 64 OCDUY AND TIME (XXX.XXDEG OR XX.XXXDEG, XXX.XXSEC)
# 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 PIPA BIAS (X.XXXXCM/SEC SEC FOR EACH)
# 71 PIPA SCALE FACTOR ERROR (XXXXX.PARTS/MILLION FOR EACH)
# 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 8
# MAJOR MODES FOR FLIGHT 501
# 00 IDLING
#
#
#
# 0X PRELAUNCH
#
# 01 INITIALIZATION
# 02 GYROCOMPASSING
# 03 OPTICAL VERIFICATION
# 04 INERTIAL REFERENCE
# 05 VERTICAL ERECT. (COUNTING)
# 06 VERTICAL ERECT. (UNCONDITIONAL)
#
# 07 SYSTEM TEST
#
#
#
# 1X BOOSTER MONITOR
#
# 11 FIRST STAGE BOOSTER MONITORING
#
# 14 SIV-B BOOSTER MONITOR WITH TUMBLE MON. ON
#
#
#
# 2X COASTING PHASE
#
# 21 MANEUVER TO COLDSOAK ATTITUDE
# 22 HOLD ATTITUDE DURING ORBITAL INTEGRATION
# 23 HOLD ATTITUDE
# 24 HOLD ATTITUDE WITH STATE VECTOR UPDATE ALLOWED.
#
# 26 HOLD SPS2 ATTITUDE AND WAIT FOR TFF = TFFMIN
# 27 R, V, T UPDATING
#
#
#
# 3X PRE-THRUSTING PHASES
#
# 31 PRE-SPS1
# 32 PRE-SPS2
#
#
#
# 4X THRUSTING PHASES
#
## Page 9
# 41 SPS1
# 42 SPS2
#
#
#
# 5X ALIGNMENT
#
#
#
# 6X ENTRY
#
# 61 CM/SM SEPARATION MANEUVER
# 62 PRE-ENTRY MANEUVER
# 63 INITIATE ENTRY STEERING
# 64 .05 G INDICATION
# 65 UP-CONTROL PHASE
# 66 BALLISTIC PHASE
# 67 FINAL PHASE
#
#
#
# 7X ABORT PHASES
#
# 71 POST-TUMBLE ATTITUDE RECOVERY
# 72 FREE-FALL ENTRY ABORT
# 73 ABORT BURN
# 74 TUMBLE ARREST BURN
#
# 77 G+N FLUSHED
## Page 10
# JOB PRIORITIES FOR 501
# PRIO37 = DOALARM
# PRIO36 = NWJOB
# PRIO35 = BIASONLY
# = 1/GYRO
# = ENEMA
# = MODE32
# = MODE26
# PRIO33 = POSTBY3
# = CHARIN
# PRIO32 = MKVB50
# = MKVB51
# = REMKVB51
# PRIO31 = SPITGYRO
# = MONDO
# = FREDSPDO
# PRIO27 = SPITGYRO
# = ENEMA
# = S4BSMSEP
# PRIO25 = ABORTEST
# = REDO4.21
# = BEGIN501
# PRIO24 = LIFTOFF
# PRIO23 = MANUJOB
# PRIO22 = TUMBJOB1
# = TUMBJOB
# PRIO21 = CGJOB
# PRIO20 = TOP1
# = TSELECT
# = PRAWAKE
# = STARTPL2
# = GYRDRFT2
# = CDUXJOB
# PRIO16 = SERVICER
# = ENTRYTOP
# PRIO15 = SMOOTHER
# PRIO14 = CHKOPT
# = UPTHETA1
# PRIO13 = SOAKJOB
# PRIO12 = TARGJOB
# = SOAKINIT
# = ATTIJOB
# = ATTIJOB1 -1
# = ATTIJOB2
# = SEPMANU
# = ENTAJOB
# PRIO10 = ROLLJOB
# PRIO7 = MODE23
# = MODE44
## Page 11
# PRIO6 = UPJOB
# PRIO5 = MONITJOB
# = MARKDISP
# PRIO2 = FXFXCHK
Computing file changes ...