Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/chrislgarry/Apollo-11
11 October 2020, 20:30:37 UTC
  • Code
  • Branches (2)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/gh-pages
    • refs/heads/master
    • 422050965990dfa8ad1ffe4ae92e793d7d1ddae5
    No releases to show
  • cd05d10
  • /
  • Luminary099
  • /
  • BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
Raw File Download Save again
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge
swh:1:cnt:1baf1ca1d5d06dd4518520d89482ff94c02dfbae
origin badgedirectory badge
swh:1:dir:b587663df16743491905a1ec1b5fb96f59038c28
origin badgerevision badge
swh:1:rev:422050965990dfa8ad1ffe4ae92e793d7d1ddae5
origin badgesnapshot badge
swh:1:snp:7c00bec40f5e077e0d7acf92aaa4aaa63cd5d71b

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
Tip revision: 422050965990dfa8ad1ffe4ae92e793d7d1ddae5 authored by panoreak on 11 October 2020, 02:01:06 UTC
Proof INPUT_OUTPUT_CHANNEL_BIT_DESCRIPTIONS.acg #592 (#708)
Tip revision: 4220509
BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
# Copyright:	Public domain.
# Filename:	BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
# Purpose: 	Part of the source code for Luminary 1A build 099.
#		It is part of the source code for the Lunar Module's (LM)
#		Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler:	yaYUL
# Contact:	Ron Burkey <info@sandroid.org>.
# Website:	www.ibiblio.org/apollo.
# Pages:	731-751
# Mod history:	2009-05-19 RSB	Adapted from the corresponding
#				Luminary131 file, using page
#				images from Luminary 1A.
#		2009-06-07 RSB	Corrected 3 typos.
#		2009-07-23 RSB	Added Onno's notes on the naming
#				of this function, which he got from
#				Don Eyles.
#
# This source code has been transcribed or otherwise adapted from
# digitized images of a hardcopy from the MIT Museum.  The digitization
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
# the Museum.  Many thanks to both.  The images (with suitable reduction
# in storage size and consequent reduction in image quality as well) are
# available online at www.ibiblio.org/apollo.  If for some reason you
# find that the images are illegible, contact me at info@sandroid.org
# about getting access to the (much) higher-quality images which Paul
# actually created.
#
# Notations on the hardcopy document read, in part:
#
#	Assemble revision 001 of AGC program LMY99 by NASA 2021112-061
#	16:27 JULY 14, 1969

# Page 731
## At the get-together of the AGC developers celebrating the 40th anniversary
## of the first moonwalk, Don Eyles (one of the authors of this routine along
## with Peter Adler) has related to us a little interesting history behind the
## naming of the routine.
##
## It traces back to 1965 and the Los Angeles riots, and was inspired
## by disc jockey extraordinaire and radio station owner Magnificent Montague.
## Magnificent Montague used the phrase "Burn, baby! BURN!" when spinning the
## hottest new records. Magnificent Montague was the charismatic voice of
## soul music in Chicago, New York, and Los Angeles from the mid-1950s to
## the mid-1960s.
# BURN, BABY, BURN -- MASTER IGNITION ROUTINE

		BANK	36
		SETLOC	P40S
		BANK
		EBANK=	WHICH
		COUNT*	$$/P40

# THE MASTER IGNITION ROUTINE IS DESIGNED FOR USE BY THE FOLLOWING LEM PROGRAMS:  P12, P40, P42, P61, P63.
# IT PERFORMS ALL FUNCTIONS IMMEDIATELY ASSOCIATED WITH APS OR DPS IGNITION:  IN PARTICULAR, EVERYTHING LYING
# BETWEEN THE PRE-IGNITION TIME CHECK -- ARE WE WITHIN 45 SECONDS OF TIG? -- AND TIG + 26 SECONDS, WHEN DPS
# PROGRAMS THROTTLE UP.
#
# VARIATIONS AMONG PROGRAMS ARE ACCOMODATED BY MEANS OF TABLES CONTAINING CONSTANTS (FOR AVEGEXIT, FOR
# WAITLIST, FOR PINBALL) AND TCF INSTRUCTIONS.  USERS PLACE THE ADRES OF THE HEAD OF THE APPROPRIATE TABLE
# (OF P61TABLE FOR P61LM, FOR EXAMPLE) IN ERASABLE REGISTER `WHICH' (E4).  THE IGNITION ROUTINE THEN INDEXES BY
# WHICH TO OBTAIN OR EXECUTE THE PROPER TABLE ENTRY.  THE IGNITION ROUTINE IS INITIATED BY A TCF BURNBABY,
# THROUGH BANKJUMP IF NECESSARY.  THERE IS NO RETURN.
#
# THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES.
#
# 		   HONI SOIT QUI MAL Y PENSE
#
#	***********************************************
#		TABLES FOR THE IGNITION ROUTINE
#	***********************************************
#
#			NOLI SE TANGERE

P12TABLE	VN	0674		# (0)
		TCF	ULLGNOT		# (1)
		TCF	COMFAIL3	# (2)
		TCF	GOCUTOFF	# (3)
		TCF	TASKOVER	# (4)
		TCF	P12SPOT		# (5)
		DEC	0		# (6)	NO ULLAGE
		EBANK=	WHICH
		2CADR	SERVEXIT	# (7)

		TCF	DISPCHNG	# (11)
		TCF	WAITABIT	# (12)
		TCF	P12IGN		# (13)

P40TABLE	VN	0640		# (0)
		TCF	ULLGNOT		# (1)
		TCF	COMFAIL4	# (2)
		TCF	GOPOST		# (3)
		TCF	TASKOVER	# (4)
		TCF	P40SPOT		# (5)
# Page 732
		DEC	2240		# (6)
		EBANK=	OMEGAQ
		2CADR	STEERING	# (7)

		TCF	P40SJUNK	# (11)
		TCF	WAITABIT	# (12)
		TCF	P40IGN		# (13)
		TCF	REP40ALM	# (14)

P41TABLE	TCF	P41SPOT		# (5)
		DEC	-1		# (6)
		EBANK=	OMEGAQ
		2CADR	CALCN85		# (7)

		TCF	COMMON		# (11)
		TCF	TIGTASK		# (12)

P42TABLE	VN	0640		# (0)
		TCF	WANTAPS		# (1)
		TCF	COMFAIL4	# (2)
		TCF	GOPOST		# (3)
		TCF	TASKOVER	# (4)
		TCF	P42SPOT		# (5)
		DEC	2640		# (6)
		EBANK=	OMEGAQ
		2CADR	STEERING	# (7)

		TCF	P40SJUNK	# (11)
		TCF	WAITABIT	# (12)
		TCF	P42IGN		# (13)
		TCF	P42STAGE	# (14)

P63TABLE	VN	0662		# (0)
		TCF	ULLGNOT		# (1)
		TCF	COMFAIL3	# (2)
		TCF	V99RECYC	# (3)
		TCF	TASKOVER	# (4)
		TCF	P63SPOT		# (5)
		DEC	2240		# (6)
		EBANK=	WHICH
		2CADR	SERVEXIT	# (7)

		TCF	DISPCHNG	# (11)
		TCF	WAITABIT	# (12)
# Page 733
		TCF	P63IGN		# (13)

ABRTABLE	VN	0663		# (0)
		TCF	ULLGNOT		# (1)
		TCF	COMFAIL3	# (2)
		TCF	GOCUTOFF	# (3)
		TCF	TASKOVER	# (4)
		NOOP			# (5)
		NOOP			# (6)
		NOOP			# (7)
		NOOP
		TCF	DISPCHNG	# (11)
		TCF	WAITABIT	# (12)
		TCF	ABRTIGN		# (13)

#	*********************************
#	GENERAL PURPOSE IGNITION ROUTINES
#	*********************************

BURNBABY	TC	PHASCHNG	# GROUP 4 RESTARTS HERE
		OCT	04024

		CAF	ZERO		# EXTIRPATE JUNK LEFT IN DVTOTAL
		TS	DVTOTAL
		TS	DVTOTAL +1

		TC	BANKCALL	# P40AUTO MUST BE BANKCALLED EVEN FROM ITS
		CADR	P40AUTO		# OWN BANK TO SET UP RETURN PROPERLY

B*RNB*B*	EXTEND
		DCA	TIG		# STORE NOMINAL TIG FOR OBLATENESS COMP.
		DXCH	GOBLTIME	# AND FOR P70 OR P71.

		INHINT
		TC	IBNKCALL
		CADR	ENGINOF3
		RELINT

		INDEX	WHICH
		TCF	5

P42SPOT		=	P40SPOT		# (5)
P12SPOT		=	P40SPOT		# (5)
P63SPOT		=	P41SPOT		# (5)	IN P63 CLOKTASK ALREADY GOING
P40SPOT		CS	CNTDNDEX	# (5)
# Page 734
		TC	BANKCALL	# MUST BE BANKCALLED FOR GENERALIZED
		CADR	STCLOK2		# 	RETURN
P41SPOT		TC	INTPRET		# (5)
		DLOAD	DSU
			TIG
			D29.9SEC
		STCALL	TDEC1
			INITCDUW
		BOFF	CALL
			MUNFLAG
			GOMIDAV
			CSMPREC
		VLOAD	MXV
			VATT1
			REFSMMAT
		VSR1
		STOVL	V(CSM)		# CSM VELOCITY -- M/CS*2(7)
			RATT1
		VSL4	MXV
			REFSMMAT
		STCALL	R(CSM)		# CSM POSITION -- M*2(24)
			MUNGRAV
		STODL	G(CSM)		# CSM GRAVITY VEC. -- M/CS*2(7)
			TAT
		STORE	TDEC1		# RELOAD TDEC1 FOR MIDTOAV.
GOMIDAV		CALRB
			MIDTOAV1
		TCF	CALLT-35	# MADE IT IN TIME.

		EXTEND			# TIG WAS SLIPPED, SO RESET TIG TO 29.9
		DCA	PIPTIME1	# SECONDS AFTER THE TIME TO WHICH WE DID
		DXCH	TIG		# INTEGRATE.
		EXTEND
		DCA	D29.9SEC
		DAS	TIG

CALLT-35	DXCH	MPAC
		DXCH	SAVET-30	# DELTA-T UNTIL TIG-30
		EXTEND
		DCS	5SECDP
		DAS	SAVET-30	# DELTA-T UNTIL TIG-35
		EXTEND
		DCA	SAVET-30
		TC	LONGCALL
		EBANK=	TTOGO
		2CADR	TIG-35

		TC	PHASCHNG
		OCT	20254		# 4.25SPOT FOR TIG-35 RESTART.
# Page 735
		TC	CHECKMM
		DEC	63
		TCF	ENDOFJOB	# NOT P63
		CS	CNTDNDEX	# P63 CAN START DISPLAYING NOW.
		TS	DISPDEX
		TC	INTPRET
		VLOAD	ABVAL
			VN1
		STORE	ABVEL		# INITIALIZE ABVEL FOR P63 DISPLAY
		EXIT
		TCF	ENDOFJOB

#	********************************

TIG-35		CAF	5SEC
		TC	TWIDDLE
		ADRES	TIG-30

		TC	PHASCHNG
		OCT	40154		# 4.15SPOT FOR TIG-30 RESTART

		CS	BLANKDEX	# BLANK DSKY FOR 5 SECONDS
		TS	DISPDEX

		INDEX	WHICH
		CS	6		# CHECK ULLAGE TIME.
		EXTEND
		BZMF	TASKOVER
		CAF	4.9SEC		# SET UP TASK TO RESTORE DISPLAY AT TIG-30
		TC	TWIDDLE
		ADRES	TIG-30.1

		CAF	PRIO17		# A NEGATIVE ULLAGE TIME INDICATES P41, IN
		TC	NOVAC		# WHICH CASE WE HAVE TO SET UP A JOB TO
		EBANK=	TTOGO		# BLANK THE DSKY FOR FIVE SECONDS, SINCE
		2CADR	P41BLANK	# CLOKJOB IS NOT RUNNING DURING P41.

		TCF	TASKOVER

P41BLANK	TC	BANKCALL	# BLANK DSKY.
		CADR	CLEANDSP
		TCF	ENDOFJOB

TIG-30.1	CAF	PRIO17		# SET UP JOB TO RESTORE DISPLAY AT TIG-30
		TC	NOVAC
		EBANK=	TTOGO
		2CADR	TIG-30A

		TCF	TASKOVER
# Page 736
TIG-30A		CAF	V16N85B
		TC	BANKCALL	# RESTORE DISPLAY.
		CADR	REGODSP		# REGODSP DOES A TCF ENDOFJOB

#	********************************

TIG-30		CAF	S24.9SEC
		TC	TWIDDLE
		ADRES	TIG-5

		CS	CNTDNDEX	# START UP CLOKTASK AGAIN
		TS	DISPDEX

		INDEX	WHICH		# PICK UP APPROPRIATE ULLAGE -- ON TIME
		CA	6		# Was CAF --- RSB 2009.
		EXTEND
		BZMF	ULLGNOT		# DON'T SET UP ULLAGE IF DT IS NEG OR ZERO
		TS	SAVET-30	# SAVE DELTA-T FOR RESTART
		TC	TWIDDLE
		ADRES	ULLGTASK

		CA	THREE		# RESTART PROTECT ULLGTASK (1.3SPOT)
		TS	L
		CS	THREE
		DXCH	-PHASE1
		CS	TIME1
		TS	TBASE1

		INDEX	WHICH
		TCF	1

WANTAPS		CS	FLGWRD10	# (1) FOR P42 ENSURE APSFLAG IS SET.  IF IT
		MASK	APSFLBIT	# WASN'T SET, DAP WILL BE INITIALIZED TO
		ADS	FLGWRD10	# ASCENT VALUES BY 1/ACCS IN 2 SECONDS.

ULLGNOT		EXTEND			# (1)
		INDEX	WHICH
		DCA	7		# LOAD AVEGEXIT WITH APPROPRIATE 2CADR
		DXCH	AVEGEXIT

		CAF	TWO		# 4.2SPOT RESTARTS IMMEDIATELY AT REDO4.2
		TS	L
		CS	TWO		# AND ALSO AT TIG-5 AT THE CORRECT TIME.
		DXCH	-PHASE4

		CS	TIME1
		TS	TBASE4		# SET TBASE4 FOR TIG-5 RESTART

REDO2.17	EXTEND
# Page 737
		DCA	NEG0		# CLEAR OUT GROUP 2 SO LAMBERT CAN START
		DXCH	-PHASE2		# IF NEEDED.

REDO4.2		CCS	PHASE5		# IF SERVICER GOING?
		TCF	TASKOVER	# YES, DON'T START IT UP AGAIN.

		TC	POSTJUMP
		CADR	PREREAD		# PREREAD END THIS TASK

# 	*********************************

ULLGTASK	TC	ONULLAGE	# THIS COMES AT TIG-7.5 OR TIG-3.5
		TC	PHASCHNG
		OCT	1
		TCF	TASKOVER

# 	*********************************

TIG-5		EXTEND
		DCA	NEG0		# INSURE THAT GROUP 3 IS INACTIVE.
		DXCH	-PHASE3

		CAF	5SEC
		TC	TWIDDLE
		ADRES	TIG-0

		TC	DOWNFLAG	# RESET IGNFLAG AND ASINFLAG
		ADRES	IGNFLAG		# 	FOR LIGHT-UP LOGIC.
		TC	DOWNFLAG
		ADRES	ASTNFLAG

		INDEX	WHICH
		TCF	11

P40SJUNK	CCS	PHASE3		# (11) P40 AND P42.  S40.13 IN PROGRESS?
		TCF	DISPCHNG	# YES

		CAF	PRIO20
		TC	FINDVAC
		EBANK=	TTOGO
		2CADR	S40.13

		TC	PHASCHNG	# 3.5SPOT FOR S40.13
		OCT	00053
DISPCHNG	CS	VB99DEX		# (11)
		TS	DISPDEX

# Page 738
COMMON		TC	PHASCHNG	# RESTART TIG-0 (4.7SPOT)
		OCT	40074
		TCF	TASKOVER

# 	*********************************

TIG-0		CS	FLAGWRD7	# SET IGNFLAG SINCE TIG HAS ARRIVED
		MASK	IGNFLBIT
		ADS	FLAGWRD7

		TC	CHECKMM		# IN P63 CASE, THROTTLE-UP IS ZOOMTIME
		DEC	63		# AFTER NOMINAL IGNITION, NOT ACTUAL
		TCF	IGNYET?
		CA	ZOOMTIME
		TC	WAITLIST
		EBANK=	DVCNTR
		2CADR	P63ZOOM

		TC	2PHSCHNG
		OCT	40033

		OCT	05014
		OCT	77777

IGNYET?		CAF	ASTNBIT		# CHECK ASTNFLAG:  HAS ASTRONAUT RESPONDED
		MASK	FLAGWRD7	# TO OUR ENGINE ENABLE REQUEST?
		EXTEND
		INDEX	WHICH
		BZF	12		# BRANCH IF HE HAS NOT RESPONDED YET

IGNITION	CS	FLAGWRD5	# INSURE ENGONFLG IS SET.
		MASK	ENGONBIT
		ADS	FLAGWRD5
		CS	PRIO30		# TURN ON THE ENGINE.
		EXTEND
		RAND	DSALMOUT
		AD	BIT13
		EXTEND
		WRITE	DSALMOUT
		EXTEND			# SET TEVENT FOR DOWNLINK
		DCA	TIME2
		DXCH	TEVENT

		EXTEND			# UPDATE TIG USING TGO FROM S40.13
		DCA	TGO
		DXCH	TIG
		EXTEND
		DCA	TIME2
		DAS	TIG

# Page 739
		CS	FLUNDBIT	# PERMIT GUIDANCE LOOP DISPLAYS
		MASK	FLAGWRD8
		TS	FLAGWRD8

		INDEX	WHICH
		TCF	13

P63IGN		EXTEND			# (13)	INITIATE BURN DISPLAYS
		DCA	DSP2CADR
		DXCH	AVGEXIT

		CA	Z		# ASSASSINATE CLOKTASK
		TS	DISPDEX

		CS	FLAGWRD9	# SET FLAG FOR P70-P71
		MASK	LETABBIT
		ADS	FLAGWRD9

		CS	FLAGWRD7	# SET SWANDISP TO ENABLE R10.
		MASK	SWANDBIT
		ADS	FLAGWRD7

		CS	PULSES		# MAKE SURE DAP IS NOT IN MINIMUM-IMPULSE
		MASK	DAPBOOLS	# MODE, IN CASE OF SWITCH TO P66
		TS	DAPBOOLS

		EXTEND			# INITIALIZE TIG FOR P70 AND P71.
		DCA	TIME2
		DXCH	TIG

		CAF	ZERO		# INITIALIZE WCHPHASE, AND FLPASS0
		TS	WCHPHASE
		TS	WCHPHOLD	# ALSO WHCPHOLD
		CA	TWO
		TS	FLPASS0

		TCF	P42IGN
P40IGN		CS	FLAGWRD5	# (13)
		MASK	NOTHRBIT
		EXTEND
		BZF	P42IGN
		CA	ZOOMTIME
		TC	WAITLIST
		EBANK=	DVCNTR
		2CADR	P40ZOOM

P63IGN1		TC	2PHSCHNG
		OCT	40033		# 3.3SPOT FOR ZOOM RESTART.
		OCT	05014		# TYPE C RESTARTS HERE IMMEDIATELY
		OCT	77777

# Page 740
		TCF	P42IGN
P12IGN		CAF	EBANK6
		TS	EBANK
		EBANK=	AOSQ

		CA	IGNAOSQ		# INITIALIZE DAP BIAS ACCELERATION
		TS	AOSQ		# ESTIMATES AT P12 IGNITION.
		CA	IGNAOSR
		TS	AOSR

		CAF	EBANK7
		TS	EBANK
		EBANK=	DVCNTR

ABRTIGN		CA	Z		# (13) KILL CLOKTASK
		TS	DISPDEX

		EXTEND			# CONNECT ASCENT GYIDANCE TO SERVICER.
		DCA	ATMAGADR
		DXCH	AVGEXIT

		CS	FLAGWRD7	# ENABLE R10.
		MASK	SWANDBIT
		ADS	FLAGWRD7

P42IGN		CS	DRIFTBIT	# ENSURE THAT POWERED-FLIGHT SWITCHING
		MASK	DAPBOOLS	# CURVES ARE USED.
		TS	DAPBOOLS
		CAF	IMPULBIT	# EXAMINE IMPULSE SWITCH
		MASK	FLAGWRD2
		CCS	A
		TCF	IMPLBURN

DVMONCON	TC	DOWNFLAG
		ADRES	IGNFLAG		# CONNECT DVMON
		TC	DOWNFLAG
		ADRES	ASTNFLAG
		TC	DOWNFLAG
		ADRES	IDLEFLAG

		TC	PHASCHNG
		OCT	40054

		TC	FIXDELAY	# TURN ULLAGE OFF HALF A SECOND AFTER
		DEC	50		# LIGHT UP.

ULLAGOFF	TC	NOULLAGE

WAITABIT	EXTEND			# KILL GROUP 4
		DCA	NEG0
# Page 741
		DXCH	-PHASE4

		TCF	TASKOVER

TIGTASK		TC	POSTJUMP	# (12)
		CADR	TIGTASK1

#	********************************

		BANK	31
		SETLOC	P40S3
		BANK
		COUNT*	$$/P40

TIGTASK1	CAF	PRIO16
		TC	NOVAC
		EBANK=	TRKMKCNT
		2CADR	TIGNOW

		TC	PHASCHNG
		OCT	6		# KILL GROUP 6

		TCF	TASKOVER

#	********************************

P63ZOOM		EXTEND
		DCA	LUNLANAD
		DXCH	AVEGEXIT

		TC	IBNKCALL
		CADR	FLATOUT
		TCF	P40ZOOMA

P40ZOOM		CAF	BIT13
		TS	THRUST
		CAF	BIT4

		EXTEND
		WOR	CHAN14

P40ZOOMA	TC	PHASCHNG
		OCT	3
		TCF	TASKOVER

		EBANK=	DVCNTR
LUNLANAD	2CADR	LUNLAND

# Page 742
ZOOM		=	P40ZOOMA
		BANK	36
		SETLOC	P40S
		BANK
		COUNT*	$$/P40

#	********************************

COMFAIL		TC	UPFLAG		# (15)
		ADRES	IDLEFLAG
		TC	UPFLAG		# SET FLAG TO SUPPRESS CONFLICTING DISPLAY
		ADRES	FLUNDISP
		CAF	FOUR		# RESET DVMON
		TS	DVCNTR
		CCS	PHASE6		# CLOCKTASK ACTIVE?
		TCF	+3		# YES
		TC	BANKCALL	# OTHERWISE, START IT UP
		CADR	STCLOK1
 +3		CS	VB97DEX
 		TS	DISPDEX
		TC	PHASCHNG	# TURN OFF GROUP 4.
		OCT	00004
		TCF	ENDOFJOB

COMFAIL1	INDEX	WHICH
		TCF	2

COMFAIL3	CA	Z		# (15)	KILL CLOKTASK USING Z
		TCF	+2

COMFAIL4	CS	CNTDNDEX
		TS	DISPDEX

		TC	DOWNFLAG	# RECONNECT DV MONITOR
		ADRES	IDLEFLAG
		TC	DOWNFLAG	# PERMIT GUIDANCE LOOP DISPLAYS
		ADRES	FLUNDISP
		TCF	ENDOFJOB

COMFAIL2	TC	PHASCHNG	# KILL ZOOM RESTART PROTECTION
		OCT	00003

		INHINT
		TC	KILLTASK	# KILL ZOOM IN CASE IT'S STILL TO COME
		CADR	ZOOM
		TC	IBNKCALL	# COMMAND ENGINE OFF
		CADR	ENGINOF4
		TC	UPFLAG		# SET THE DRIFT BIT FOR THE DAP.
		ADRES	DRIFTDFL
# Page 743
		TC	INVFLAG		# USE OTHER RCS SYSTEM
		ADRES	AORBTFLG
		TC	UPFLAG		# TURN ON ULLAGE
		ADRES	ULLAGFLG
		CAF	BIT1
		INHINT
		TC	TWIDDLE
		ADRES	TIG-5
		TCF	ENDOFJOB

#	***********************************
#	SUBROUTINES OF THE IGNITION ROUTINE
#	***********************************

INVFLAG		CA	Q
		TC	DEBIT
		COM
		EXTEND
		RXOR	LCHAN
		TCF	COMFLAG

#	***********************************

NOULLAGE	CS	ULLAGER		# MUST BE CALLED IN A TASK OR UNDER INHINT
		MASK	DAPBOOLS
		TS	DAPBOOLS
		TC	Q

#	***********************************

ONULLAGE	CS	DAPBOOLS	# TURN ON ULLAGE.  MUST BE CALLED IN
		MASK	ULLAGER		# A TASK OR WHILE INHINTED.
		ADS	DAPBOOLS
		TC	Q

# 	***********************************

STCLOK1		CA	ZERO		# THIS ROUTINE STARTS THE COUNT-DOWN
STCLOK2		TS	DISPDEX		# (CLOKTASK AND CLOKJOB).  SETTING
STCLOK3		TC	MAKECADR	# SETTING DISPDEX POSITIVE KILLS IT.
		TS	TBASE4		# RETURN SAVE (NOT FOR RESTARTS).
		EXTEND
		DCA	TIG
		DXCH	MPAC
		EXTEND
		DCS	TIME2
# Page 744
		DAS	MPAC		# HAVE TIG -- TIME2, UNDOUBTEDLY A + NUMBER
		TC	TPAGREE		# POSITIVE, SINCE WE PASSED THE
		CAF	1SEC		# 45 SECOND CHECK.
		TS	Q
		DXCH	MPAC
		MASK	LOW5		# RESTRICT MAGNITUDE OF NUMBER IN A
		EXTEND
		DV	Q
		CA	L		# GET REMAINDER
		AD	TWO
		INHINT
		TC	TWIDDLE
		ADRES	CLOKTASK
		TC	2PHSCHNG
		OCT	40036		# 6.3SPOT FOR CLOKTASK
		OCT	05024
		OCT	13000

		CA	TBASE4
		TC	BANKJUMP

CLOKTASK	CS	TIME1		# SET TBASE6 FOR GROUP 6 RESTART
		TS	TBASE6

		CCS	DISPDEX
		TCF	KILLCLOK
		NOOP
		CAF	PRIO27
		TC	NOVAC
		EBANK=	TTOGO
		2CADR	CLOKJOB

		TC	FIXDELAY	# WAIT A SECOND BEFORE STARTING OVER
		DEC	100
		TCF	CLOKTASK

KILLCLOK	EXTEND			# KILL RESTART
		DCA	NEG0
		DXCH	-PHASE6
		TCF	TASKOVER

CLOKJOB		EXTEND
		DCS	TIG
		DXCH	TTOGO
		EXTEND
# Page 745
		DCA	TIME2
		DAS	TTOGO
		INHINT
		CCS	DISPDEX		# IF DISPDEX HAS BEEN SET POSITIVE BY A
		TCF	ENDOFJOB	# TASK OR A HIGHER PRIORITY JOB SINCE THE
		TCF	ENDOFJOB	# LAST CLOKTASK, AVOID USING IT AS AN
		COM			# INDEX.
		RELINT			# ***** DISPDEX MUST NEVER B -0 *****
		INDEX	A
		TCF	DISPNOT -1	# (-1 DUE TO EFFECT OF CCS)

VB97DEX		=	OCT35		# NEGATIVE OF THIS IS PROPER FOR DISPDEX

 -35		CS	ZERO		# INDICATE VERB 97 PASTE
 		TS	NVWORD1
		CA	NVWORD 	+2	# NVWORD+2 CONTAINS V06 & APPROPRIATE NOUN
		TC	BANKCALL
		CADR	CLOCPLAY
		TCF	STOPCLOK	# TERMINATE CLOKTASK ON THE WAY TO POOH
		TCF	COMFAIL1
		TCF	COMFAIL2

					# THIS DISPLAY IS CALLED VIA ASTNCLOK
 -25		CAF	V06N61		# IT IS PRIMARILY USED BY THE CREW IN P63
 		TC	BANKCALL	# TO RESET HIS EVENT TIMER TO AGREE WITH
		CADR	REFLASH		# TIG.
		TCF	STOPCLOK
		TCF	ASTNRETN
		TCF	-6

CNTDNDEX	=	LOW4		# OCT17:  NEGATIVE PROPER FOR DISPDEX

 -17		INDEX	WHICH		# THIS DISPLAY COMES UP AT ONE SECOND
		# Was CAF --- RSB 2009
 		CA	0		# INTERVALS.  IT IS NORMALLY OPERATED
		TC	BANKCALL	# BETWEEN TIG-30 SECONDS AND TIG-5 SECONDS
		CADR	REGODSP		# REGODSP DOES ITS OWN TCF ENDOFJOB

VB99DEX		=	ELEVEN		# OCT13:  NEGATIVE PROPER FOR DISPDEX

V99RECYC	EQUALS

 -13		CS	BIT9		# INDICATE VERB 99 PASTE
 		TS	NVWORD1
		INDEX	WHICH		# THIS IS THE "PLEASE ENABLE ENGINE"
		# Was CAF --- RSB 2004
		CA	0		# DISPLAY; IT IS INITIATED AT TIG-5 SEC.
		TC	BANKCALL	# THE DISPLAY IS A V99NXX, WHERE XX IS
		CADR	CLOCPLAY	# NOUN THAT HAD PREVIOUSLY BEEN DISPLAYED
		TCF	STOPCLOK	# TERMINATE GOTOPOOH TURNS OFF ULLAGE.
		TCF	*PROCEED
		TCF	*ENTER

# Page 746
BLANKDEX	=	TWO		# NEGATIVE OF THIS IS PROPER FOR DISPDEX

 -2		TC	BANKCALL	# BLANK DSKY.  THE DSKY IS BLANKED FOR
 		CADR	CLEANDSP	# 5 SECONDS AT TIG-35 TO INDICATE THAT
DISPNOT		TCF	ENDOFJOB	# AVERAGE G IS STARTING.

STOPCLOK	TC	NULLCLOK	# STOP CLOKTASK & TURN OFF ULLAGE ON THE
		TCF	GOTOPOOH	# WAY TO P00 (GOTOPOOH RELINTS)

NULLCLOK	INHINT
		EXTEND
		QXCH	P40/RET
		TC	NOULLAGE	# TURN OFF ULLAGE ...
		TC	KILLTASK	#	DON'T LET IT COME ON, EITHER ...
		CADR	ULLGTASK
		TC	PHASCHNG	#		NOT EVEN IF THERE'S A RESTART.
		OCT	1
		CA	Z		# KILL CLOKTASK
		TS	DISPDEX
		TC	P40/RET

ASTNRETN	TC	PHASCHNG
		OCT	04024
		CAF	ZERO		# STOP DISPLAYING BUT KEEP RUNNING
		TS	DISPDEX
		CAF	PRIO13
		TC	FINDVAC
		EBANK=	STARIND
		2CADR	ASTNRET

		TCF	ENDOFJOB

*PROCEED	TC	UPFLAG
		ADRES	ASTNFLAG

		TCF	IGNITE

*ENTER		INHINT
		INDEX	WHICH
		TCF	3

GOPOST		CAF	PRIO12		# (3) MUST BE LOWER PRIORITY THAN CLOKJOB
		TC	FINDVAC
		EBANK=	TTOGO
		2CADR	POSTBURN

# Page 747
		INHINT			# SET UP THE DAP FOR COASTING FLIGHT.
		TC	IBNKCALL
		CADR	ALLCOAST
		TC	NULLCLOK
		TC	PHASCHNG	# 4.13 RESTART FOR POSTBURN
		OCT	00134

		TCF	ENDOFJOB

GOCUTOFF	CAF	PRIO17		# (3)
		TC	FINDVAC
		EBANK=	TGO
		2CADR	CUTOFF

		TC	DOWNFLAG
		ADRES	FLUNDISP

		INHINT			# SET UP THE DAP FOR COASTING FLIGHT.
		TC	IBNKCALL
		CADR	ALLCOAST
		TC	NULLCLOK
		TC	PHASCHNG
		OCT	07024
		OCT	17000
		EBANK=	TGO
		2CADR	CUTOFF

		TCF	ENDOFJOB

IGNITE		CS	FLAGWRD7	# (2)
		MASK	IGNFLBIT
		CCS	A
		TCF	IGNITE1
		CAF	BIT1
		INHINT
		TC	TWIDDLE
		ADRES	IGNITION

		CAF	OCT23		# IMMEDIATE RESTART AT IGNITION
		TS	L
		COM
		DXCH	-PHASE4

IGNITE1		CS	CNTDNDEX	# RESTORE OLD DISPLAY.
		TS	DISPDEX

		TCF	ENDOFJOB

# Page 748
#	********************************

P40ALM		TC	ALARM		# PROGRAM SELECTION NOT CONSISTENT WITH
		OCT	1706		# VEHICLE CONFIGURATION

REP40ALM	CAF	V05N09		# (14)
		TC	BANKCALL
		CADR	GOFLASH

		TCF	GOTOPOOH	# V34E 		TERMINATE
		TCF	+2		# PROCEED 	CHECK FOR P42
		TCF	REP40ALM	# V32E		REDISPLAY ALARM

		INDEX	WHICH		# FOR P42, ALLOW CREW TO PROCEED EVEN
		TCF	14		# THOUGH VEHICLE IS UNSTAGED.

#	********************************

		BANK	31
		SETLOC	P40S2
		BANK

		COUNT*	$$/P40

P40AUTO		TC	MAKECADR	# HELLO THERE.
		TS	TEMPR60		# FOR GENERALIZED RETURN TO OTHER BANKS.
P40A/P		TC	BANKCALL	# SUBROUTINE TO CHECK PGNCS CONTROL
		CADR	G+N,AUTO	# AND AUTO STABILIZATION MODES
		CCS	A		# +0 INDICATES IN PGNCS, IN AUTO
		TCF	TURNITON	# + INDICATES NOT IN PGNCS AND/OR AUTO
		CAF	APSFLBIT	# ARE WE ON THE DESCENT STAGE?
		MASK	FLGWRD10
		CCS	A
		TCF	GOBACK		# RETURN
		CAF	BIT5		# YES, CHECK FOR AUTO-THROTTLE MODE
		EXTEND
		RAND	CHAN30
		EXTEND
		BZF	GOBACK		# IN AUTO-THROTTLE MODE -- RETURN
TURNITON	CAF	P40A/PMD	# DISPLAYS V50N25 R1=203 PLEASE PERFORM
		TC	BANKCALL	# CHECKLIST 203 TURN ON PGNCS ETC.
		CADR	GOPERF1
		TCF	GOTOPOOH	# V34E TERMINATE
		TCF	P40A/P		# RECYCLE
GOBACK		CA	TEMPR60
		TC	BANKJUMP	# GOODBYE.  COME AGAIN SOON.

P40A/PMD	OCT	00203

# Page 749
		BANK	36
		SETLOC	P40S
		BANK

		COUNT*	$$/P40

#	**********************************
#	CONSTANTS FOR THE IGNITION ROUTINE
#	**********************************

SERVCADR	=	P63TABLE +7

P40ADRES	ADRES	P40TABLE

P41ADRES	ADRES	P41TABLE -5

P42ADRES	ADRES	P42TABLE

		EBANK=	DVCNTR
DSP2CADR	2CADR	P63DISPS -2

		EBANK=	DVCNTR
ATMAGADR	2CADR	ATMAG

?		=	GOTOPOOH

D29.9SEC	2DEC	2990

S24.9SEC	DEC	2490

4.9SEC		DEC	490

OCT20		=	BIT5

V06N61		VN	0661

# Page 750
# KILLTASK
# MOD NO:  NEW PROGRAM
# MOD BY:  COVELLI
#
# FUNCTIONAL DESCRIPTION:
#
#	KILLTASK IS USED TO REMOVE A TASK FROM THE WAITLIST BY SUBSTITUTING A NULL TASK CALLED `NULLTASK' (OF COURSE),
#	WHICH MERELY DOES A TC TASKOVER.  IF THE SAME TASK IS SCHEDULED MORE THAN ONCE, ONLY THE ONE WHICH WILL OCCUR
#	FIRST IS REMOVED.  IF THE TASK IS NOT SCHEDULED, KILLTASK TAKES NO ACTION AND RETURNS WITH NO ALARM.  KILLTASK
#	LEAVES INTERRUPTS INHIBITED SO CALLER MUST RELINT
#
# CALLING SEQUENCE
#	L	TC	KILLTASK	# IN FIXED-FIXED
#	L+1	CADR	????????	# CADR (NOT 2CADR) OF TASK TO BE REMOVED.
#	L+2	(RELINT)		# RETURN
#
# EXIT MODE:  AT L+2 OF CALLING SEQUENCE.
#
# ERASABLE INITIALIZATION:  NONE.
#
# OUTPUT:  2CADR OF NULLTASK IN LST2
#
# DEBRIS:  ITEMP1 - ITEMP4, A, L, Q.

		EBANK=	LST2
		BLOCK	3		# KILLTASK MUST BE IN FIXED-FIXED.
		SETLOC	FFTAG6
		BANK
		COUNT*	$$/KILL
KILLTASK	CA	KILLBB
		INHINT
		LXCH	A
		INDEX	Q
		CA	0		# GET CADR.
		LXCH	BBANK
		TCF	KILLTSK2	# CONTINUE IN SWITCHED FIXED.

		EBANK=	LST2
KILLBB		BBCON	KILLTSK2

		BANK	27

		SETLOC	P40S1
		BANK
		COUNT*	$$/KILL

KILLTSK2	LXCH	ITEMP2		# SAVE CALLER'S BBANK
# Page 751
		INCR	Q
		EXTEND
		QXCH	ITEMP1		# RETURN 2ADR IN ITEMP1,ITEMP2

		TS	ITEMP3		# CADR IS IN A
		MASK	LOW10
		AD	BIT11
		TS	ITEMP4		# GENADR OF TASK

		CS	LOW10
		MASK	ITEMP3
		TS	ITEMP3		# FBANK OF TASK

		ZL
ADRSCAN		INDEX	L
		CS	LST2
		AD	ITEMP4		# COMPARE GENADRS
		EXTEND
		BZF	TSTFBANK	# IF THEY MATCH, COMPARE FBANKS
LETITLIV	CS	LSTLIM
		AD	L
		EXTEND			# ARE WE DONE?
		BZF	DEAD		# YES -- DONE, SO RETURN
		INCR	L
		INCR	L
		TCF	ADRSCAN		# CONTINUE LOOP.

DEAD		DXCH	ITEMP1
		DTCB

TSTFBANK	CS	LOW10
		INDEX	L
		MASK	LST2 	+1	# COMPARE FBANKS ONLY.
		EXTEND
		SU	ITEMP3
		EXTEND
		BZF	KILLDEAD	# MATCH -- KILL IT.
		TCF	LETITLIV	# NO MATCH -- CONTINUE.

KILLDEAD	CA	TCTSKOVR
		INDEX	L
		TS	LST2		# REMOVE TASK BY INSERTING TASKOVER
		TCF	DEAD

LSTLIM		EQUALS	BIT5		# DEC 16

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API