https://github.com/virtualagc/virtualagc
Revision 078c79d8734a9ed2860303a7c1662004284fe853 authored by Ron Burkey on 07 August 2022, 15:04:04 UTC, committed by Ron Burkey on 07 August 2022, 15:04:04 UTC
assembly listings from yaASM and yaLEMAP. Added some debugging messages to 'make install'. Tweaked debugging messages that VirtualAGC embeds in 'simulate'. Verified buildability in Mint 21, 20, 19, 17, and verified buildability using clang in Mint 17.
1 parent 6bb1acc
Tip revision: 078c79d8734a9ed2860303a7c1662004284fe853 authored by Ron Burkey on 07 August 2022, 15:04:04 UTC
Fixed a potential string-overflow bug in yaASM. Removed timestamps from
Fixed a potential string-overflow bug in yaASM. Removed timestamps from
Tip revision: 078c79d
P30,P37.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: P30,P37.agc
## Purpose: A section of Luminary revision 173.
## It is part of the reconstructed source code for the second
## (unflown) release of the flight software for the Lunar
## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
## The code has been recreated from a reconstructed copy of
## Luminary 178, as well as Luminary memo 167 (revision 1).
## It has been adapted such that the resulting bugger words
## exactly match those specified for Luminary 173 in NASA
## drawing 2021152N, which gives relatively high confidence
## that the reconstruction is correct.
## Reference: pp. 612-615
## Assembler: yaYUL
## Contact: Ron Burkey <info@sandroid.org>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2019-09-18 MAS Created from Luminary 178.
## Page 612
# PROGRAM DESCRIPTION P30 DATE 3-6-67
# MOD.1 BY RAMA AIYAWAR
# FUNCTIONAL DESCRIPTION
# ACCEPT ASTRONAUT INPUTS OF TIG,DELV(LV)
# CALL IMU STATUS CHECK ROUTINE (R02)
# DISPLAY TIME TO GO, APOGEE, PERIGEE, DELV(MAG), MGA AT IGN
# REQUEST BURN PROGRAM
# CALLING SEQUENCE VIA JOB FROM V37
# EXIT VIA V37 CALL OR TO GOTOPOOH (V34E)
# SUBROUTINE CALLS-FLAGUP, PHASCHNG, BANKCALL, ENDOFJOB, GOFLASH, GOFLASHR
# GOPERF3R, INTPRET, BLANKET, GOTOPOOH, R02BOTH, S30.1,
# TTG/N35, MIDGIM, DISPMGA
# ERASABLE INITIALIZATION- STATE VECTOR
# OUTPUT-RINIT, VINIT, +MGA, VTIG, RTIG, DELVSIN, DELVSAB, DELVSLV, HAPO,
# HPER, TTOGO
# DEBRIS- A, L, MPAC, PUSHLIST
BANK 32
SETLOC P30S
BANK
EBANK= +MGA
COUNT* $$/P30
P30 TC UPFLAG # SET UPDATE FLAG
ADRES UPDATFLG
TC UPFLAG # SET TRACK FLAG
ADRES TRACKFLG
P30N33 CAF V06N33 # T OF IGN
TC VNPOOH # RETURNS ON PROCEED, POOH ON TERMINATE
CAF V06N81 # DISPLAY DELTA V (LV)
TC VNPOOH # REDISPLAY ON RECYCLE
TC DOWNFLAG # RESET UPDATE FLAG
ADRES UPDATFLG
TC INTPRET
CALL
S30.1
SET SET
UPDATFLG
XDELVFLG
EXIT
PARAM30 CAF V06N42 # DISPLAY APOGEE,PERIGEE ,DELTA V
## Page 613
TC VNPOOH
TC INTPRET
SET
FINALFLG
REVN1645 CALL
VN1645
GOTO # COMES HERE ON RECYCLE RESPONSE
REVN1645
V06N33 VN 0633
V06N42 VN 0642
## Page 614
# PROGRAM DESCRIPTION S30.1 DATE 9NOV66
# MOD NO 1 LOG SECTION P30,P37
# MOD BY RAMA AIYAWAR **
# FUNCTIONAL DESCRIPTION
# BASED ON STORED TARGET PARAMETERS(R OF IGNITION(RTIG),V OF
# IGNITION(VTIG),TIME OF IGNITION (TIG)),COMPUTE PERIGEE ALTITUDE
# APOGEE ALTITUDE AND DELTAV REQUIRED(DELVSIN).
# CALLING SEQUENCE
# L CALL
# L+1 S30.1
# NORMAL EXIT MODE
# AT L+2 OR CALLING SEQUENCE (GOTO L+2)
# SUBROUTINES CALLED
# LEMPREC
# PERIAPO
# ALARM OR ABORT EXIT MODES
# NONE
# ERASABLE INITIALIZATION REQUIRED
# TIG TIME OF IGNITION DP B28CS
# DELVSLV SPECIFIED DELTA-V IN LOCAL VERT.
# COORDS. OF ACTIVE VEHICLE AT
# TIME OF IGNITION VECTOR B+7 METERS/CS
# OUTPUT
# RTIG POSITION AT TIG VECTOR B+29 METERS
# VTIG VELOCITY AT TIG VECTOR B+29 METERS/CS
# PDL 4D APOGEE ALTITUDE DP B+29 M , B+27 METERS.
# HAPO APOGEE ALTITUDE DP B+29 METERS
# PDL 8D PERIGEE ALTITUDE DP B+29 M , B+27 METERS.
# HPER PERIGEE ALTITUDE DP B+29 METERS
# DELVSIN SPECIFIED DELTA-V IN INERTIAL
# COORD. OF ACTIVE VEHICLE AT
# TIME OF IGNITION VECTOR B+7 METERS/CS
# DELVSAB MAG. OF DELVSIN VECTOR B+7 METERS/CS
# DEBRIS QTEMP TEMP. ERASABLE
# QPRET,MPAC
# PUSHLIST
SETLOC P30S1
BANK
COUNT* $$/S30S
S30.1 STQ DLOAD
QTEMP
TIG # TIME IGNITION SCALED AT 2(+28)CS
STCALL TDEC1
LEMPREC # ENCKE ROUTINE FOR LEM
VLOAD SXA,2
## Page 615
RATT
RTX2
STORE RTIG # RADIUS VECTOR AT IGNITION TIME
UNIT VCOMP
STOVL DELVSIN # ZRF/LV IN DELVSIN SCALED AT 2
VATT # VELOCITY VECTOR AT TIG, SCALED 2(7) M/CS
STORE VTIG
VXV UNIT
RTIG
SETPD SXA,1
0
RTX1
PUSH VXV # YRF/LV PDL 0 SCALED AT 2
DELVSIN
VSL1 PDVL
PDVL PDVL # YRF/LV PDL 6 SCALED AT 2
DELVSIN # ZRF/LV PDL 12D SCALED AT 2
DELVSLV
VXM VSL1
0
STORE DELVSIN # DELTAV IN INERT. COOR. SCALED TO B+7M/CS
ABVAL
STOVL DELVSAB # DELTA V MAG.
RTIG # (FOR PERIAPO)
PDVL VAD # VREQUIRED = VTIG + DELVSIN (FOR PERIAPO)
VTIG
DELVSIN
CALL
PERIAPO1
CALL
SHIFTR1 # RESCALE IF NEEDED
CALL # LIMIT DISPLAY TO 9999.9 N. MI.
MAXCHK
STODL HPER # PERIGEE ALT 2(29) METERS, FOR DISPLAY
4D
CALL
SHIFTR1 # RESCALE IF NEEDED
CALL # LIMIT DISPLAY TO 9999.9 N. MI.
MAXCHK
STCALL HAPO # APOGEE ALT 2(29) METERS, FOR DISPLAY
QTEMP
Computing file changes ...