https://github.com/virtualagc/virtualagc
Revision 66d8e606a8d996ded60bc81d5edf319142a5fad9 authored by Ron Burkey on 04 October 2021, 11:49:55 UTC, committed by Ron Burkey on 04 October 2021, 11:49:55 UTC
2 parent s dfc2190 + 42c2282
Raw File
Tip revision: 66d8e606a8d996ded60bc81d5edf319142a5fad9 authored by Ron Burkey on 04 October 2021, 11:49:55 UTC
Merge branch 'master' of https://github.com/virtualagc/virtualagc
Tip revision: 66d8e60
ERASABLE_ASSIGNMENTS.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    ERASABLE_ASSIGNMENTS.agc
## Purpose:     Part of the source code for AGC program Retread 50. 
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/Restoration.html
## Mod history: 2019-06-12 MAS  Recreated from Computer History Museum's
##				physical core-rope modules.
##              2019-10-01 MAS  Assigned names to the UNK12xx erasables.

## Page 5

A               EQUALS          0
L               EQUALS          1                               # L AND Q ARE BOTH CHANNELS AND REGISTERS.
Q               EQUALS          2
EBANK           EQUALS          3
FBANK           EQUALS          4
Z               EQUALS          5                               # ADJACENT TO FBANK AND BBANK FOR DXCH Z
BBANK           EQUALS          6                               # (DTCB) AND DXCH FBANK (DTCF).
                                                                # REGISTER 7 IS A ZERO-SOURCE, USED BY ZL.

ARUPT           EQUALS          10                              # INTERRUPT STORAGE.
LRUPT           EQUALS          11
QRUPT           EQUALS          12
ZRUPT           EQUALS          15                              # (13 AND 14 ARE SPARES.)
BANKRUPT        EQUALS          16                              # USUALLY HOLDS FBANK OR BBANK.
BRUPT           EQUALS          17                              # RESUME ADDRESS AS WELL.

CYR             EQUALS          20
SR              EQUALS          21
CYL             EQUALS          22
EDOP            EQUALS          23                              # EDITS INTERPRETIVE OPERATION CODE PAIRS.



TIME2           EQUALS          24
TIME1           EQUALS          25
TIME3           EQUALS          26
TIME4           EQUALS          27
TIME5           EQUALS          30
TIME6           EQUALS          31
CDUX            EQUALS          32
CDUY            EQUALS          33
CDUZ            EQUALS          34
OPTY            EQUALS          35
OPTX            EQUALS          36
PIPAX           EQUALS          37
PIPAY           EQUALS          40
PIPAZ           EQUALS          41
BMAGX           EQUALS          42
BMAGY           EQUALS          43
BMAGZ           EQUALS          44
INLINK          EQUALS          45
RNRAD           EQUALS          46
GYROCTR         EQUALS          47
CDUXCMD         EQUALS          50
CDUYCMD         EQUALS          51
CDUZCMD         EQUALS          52
OPTYCMD         EQUALS          53
OPTXCMD         EQUALS          54
EMSD            EQUALS          55
LEMONM          EQUALS          56
## Page 6
OUTLINK         EQUALS          57
ALTM            EQUALS          60

                SETLOC          67                              # DECODED REGISTER FOR NIGHT-WATCHMAN ALM.
NEWJOB          ERASE

LVSQUARE        EQUALS          34D                             # SQUARE OF VECTOR INPUT TO ABVAL AND UNIT
LV              EQUALS          36D                             # LENGTH OF VECTOR INPUT TO UNIT.
X1              EQUALS          38D                             # INTERPRETIVE SPECIAL REGISTERS RELATIVE
X2              EQUALS          39D                             # TO THE WORK AREA.
S1              EQUALS          40D
S2              EQUALS          41D
QPRET           EQUALS          42D

## Page 7
# GENERAL ERASABLE ASSIGNMENTS.

#          THE FOLLOWING ARE EXECUTIVE TEMPORARIES WHICH MAY BE USED BETWEEN CCS NEWJOB INQUIRIES.

		SETLOC		100

INTB15+         ERASE                                           # REFLECTS 15TH BIT OF INDEXABLE ADDRESSES
DSEXIT          =               INTB15+                         # RETURN FOR DSPIN
EXITEM          =               INTB15+                         # RETURN FOR SCALE FACTOR ROUTINE SELECT
BLANKRET        =               INTB15+                         # RETURN FOR 2BLANK

INTBIT15        ERASE                                           # SIMILAR TO ABOVE.
WRDRET          =               INTBIT15                        # RETURN FOR 5BLANK
WDRET           =               INTBIT15                        # RETURN FOR DSPWD
DECRET          =               INTBIT15                        # RETURN FOR PUTCOM(DEC LOAD)
21/22REG        =               INTBIT15                        # TEMP FOR CHARIN

ADDRWD          ERASE                                           # 12 BIT INTERPRETIVE OPERAND SUB-ADDRESS.
POLISH          ERASE                                           # HOLDS CADR MADE FROM POLISH ADDRESS.
UPDATRET        =               POLISH                          # RETURN FOR UPDATNN, UPDATVB
CHAR            =               POLISH                          # TEMP FOR CHARIN
ERCNT           =               POLISH                          # COUNTER FOR ERROR LIGHT RESET
DECOUNT         =               POLISH                          # COUNTER FOR SCALING AND DISPLAY (DEC)

FIXLOC          ERASE                                           # WORK AREA ADDRESS.

OVFIND          ERASE                                           # SET NON-ZERO ON OVERFLOW.

VBUF            ERASE           +5                              # TEMPORARY STORAGE USED FOR VECTORS.
SGNON           =               VBUF                            # TEMP FOR +,- ON
NOUNTEM         =               VBUF                            # COUNTER FOR MIXNOUN FETCH
DISTEM          =               VBUF                            # COUNTER FOR OCTAL DISPLAY VERBS
DECTEM          =               VBUF                            # COUNTER FOR FETCH (DEC DISPLAY VERBS)

SGNOFF          =               VBUF            +1              # TEMP FOR +,- ON
NVTEMP          =               VBUF            +1              # TEMP FOR NVSUB
SFTEMP1         =               VBUF            +1              # STORAGE FOR SF CONST HI PART(=SFTEMP2-1)

CODE            =               VBUF            +2              # FOR DSPIN
SFTEMP2         =               VBUF            +2              # STORAGE FOR SF CONST LO PART(=SFTEMP1+1)

MIXTEMP         =               VBUF            +3              # FOR MIXNOUN DATA
SIGNRET         =               VBUF            +3              # RETURN FOR +,- ON

# ALSO MIXTEMP+1 = VBUF+4, MIXTEMP+2 = VBUF+5.

BUF             ERASE           +2                              # TEMPORARY SCALAR STORAGE.
BUF2            ERASE           +1
INDEXLOC        EQUALS          BUF                             # CONTAINS ADDRESS OF SPECIFIED INDEX.
SWWORD          EQUALS          BUF                             # ADDRESS OF SWITCH WORD.
## Page 8
SWBIT           EQUALS          BUF             +1              # SWITCH BIT WITHIN SWITCH WORD.
MPTEMP          ERASE                                           # TEMPORARY USED IN MULTIPLY AND SHIFT.
DOTINC          ERASE                                           # COMPONENT INCREMENT FOR DOT SUBROUTINE.
DVSIGN          EQUALS          DOTINC                          # DETERMINES SIGN OF DDV RESULT.
ESCAPE          EQUALS          DOTINC                          # USED IN ARCSIN/ARCCOS.
ENTRET          =               DOTINC                          # EXIT FROM ENTER

DOTRET          ERASE                                           # RETURN FROM DOT SUBROUTINE.
DVNORMCT        EQUALS          DOTRET                          # DIVIDEND NORMALIZATION COUNT IN DDV.
ESCAPE2         EQUALS          DOTRET                          # ALTERNATE ARCSIN/ARCCOS SWITCH.
WDCNT           =               DOTRET                          # CHAR COUNTER FOR DSPWD
INREL           =               DOTRET                          # INPUT BUFFER SELECTOR ( X,Y,Z, REG )

MATINC          ERASE                                           # VECTOR INCREMENT IN MXV AND VXM.
MAXDVSW         EQUALS          MATINC                          # +0 IF DP QUOTIENT IS NEAR ONE - ELSE -1.
POLYCNT         EQUALS          MATINC                          # POLYNOMIAL LOOP COUNTER
DSPMMTEM        =               MATINC                          # DSPCOUNT SAVE FOR DSPMM
MIXBR           =               MATINC                          # INDICATOR FOR MIXED OR NORMAL NOUN

TEM1            ERASE                                           # EXEC TEMP
POLYRET         =               TEM1
DSREL           =               TEM1                            # REL ADDRESS FOR DSPIN

TEM2            ERASE                                           # EXEC TEMP
DSMAG           =               TEM2                            # MAGNITUDE STORE FOR DSPIN
IDADDTEM        =               TEM2                            # MIXNOUN INDIRECT ADDRESS STORAGE

TEM3            ERASE                                           # EXEC TEMP
COUNT           =               TEM3                            # FOR DSPIN

TEM4            ERASE                                           # EXEC TEMP
LSTPTR          =               TEM4                            # LIST POINTER FOR GRABUSY
RELRET          =               TEM4                            # RETURN FOR RELDSP
FREERET         =               TEM4                            # RETURN FOR FREEDSP

TEM5            ERASE                                           # EXEC TEMP
NOUNADD         =               TEM5                            # TEMP STORAGE FOR NOUN ADDRESS

NNADTEM         ERASE                                           # TEMP FOR NOUN ADDRESS TABLE ENTRY
NNTYPTEM        ERASE                                           # TEMP FOR NOUN TYPE TABLE ENTRY
IDAD1TEM        ERASE                                           # TEMP FOR INDIR ADRESS TABLE ENTRY(MIXNN)
                                                                # MUST = IDAD2TEM-1, = IDAD3TEM-2.
IDAD2TEM        ERASE                                           # TEMP FOR INDIR ADRESS TABLE ENTRY(MIXNN)
                                                                # MUST = IDAD1TEM+1, = IDAD3TEM-1.
IDAD3TEM        ERASE                                           # TEMP FOR INDIR ADRESS TABLE ENTRY(MIXNN)
                                                                # MUST = IDAD1TEM+2, = IDAD2TEM+1.
RUTMXTEM        ERASE                                           # TEMP FOR SF ROUT TABLE ENTRY(MIXNN ONLY)



#          STORAGE USED BY THE EXECUTIVE.

## Page 9
MPAC            ERASE           +6                              # MULTI-PURPOSE ACCUMULATOR.
MODE            ERASE                                           # +1 FOR TP, +0 FOR DP, OR -1 FOR VECTOR.
LOC             ERASE                                           # LOCATION ASSOCIATED WITH JOB.
BANKSET         ERASE                                           # USUALLY CONTAINS BBANK SETTING.
PUSHLOC         ERASE                                           # WORD OF PACKED INTERPRETIVE PARAMETERS.
PRIORITY        ERASE                                           # PRIORITY OF PRESENT JOB AND WORK AREA.

                ERASE           +71D                            # SEVEN SETS OF 12 REGISTERS EACH.

VAC1USE         ERASE
VAC1            ERASE           +42D
VAC2USE         ERASE
VAC2            ERASE           +42D
VAC3USE         ERASE
VAC3            ERASE           +42D
VAC4USE         ERASE
VAC4            ERASE           +42D
VAC5USE         ERASE
VAC5            ERASE           +42D

#          INTERPRETIVE SWITCH RESERVATIONS.

STATE		ERASE		+3				# 60 SWITCHES PRESENTLY.

#          THE FOLLOWING SET COMPRISES THE INTERRUPT TEMPORARY STORAGE POOL.

WAITEXIT	ERASE
KEYTEMP1	=		WAITEXIT			# TEMP FOR KEYRUPT, UPRUPT
DSRUPTEM	=		WAITEXIT			# TEMP FOR DSPOUT

WAITBANK	ERASE
EXECTEM1	ERASE
EXECTEM2	ERASE
WAITADR		ERASE
WAITTEMP	ERASE

NEWPRIO		ERASE						# EXECUTIVE RESERVATIONS (TEMP ONLY).
NEWLOC		ERASE		+1
LOCCTR		ERASE

#          WAITLIST REPEAT FLAG:

RUPTAGN		ERASE
KEYTEMP2	=		RUPTAGN				# TEMP FOR KEYRUPT, UPRUPT

## Page 10
# THE FOLLOWING REGISTERS ARE RESERVED FOR PINBALL



# RESERVED FOR PINBALL EXECUTIVE ACTION

DSPCOUNT        ERASE                                           # DISPLAY POSITION INDICATOR
DECBRNCH        ERASE                                           # +DEC, - DEC, OCT INDICATOR
VERBREG         ERASE                                           # VERB CODE
NOUNREG         ERASE                                           # NOUN CODE
XREG            ERASE                                           # R1 INPUT BUFFER
YREG            ERASE                                           # R2 INPUT BUFFER
ZREG            ERASE                                           # R3 INPUT BUFFER
XREGLP          ERASE                                           # LO PART OF XREG (FOR DEC CONV ONLY)
YREGLP          ERASE                                           # LO PART OF YREG (FOR DEC CONV ONLY)
ZREGLP          ERASE                                           # LO PART OF ZREG (FOR DEC CONV ONLY)
MODREG          ERASE                                           # MODE CODE
DSPLOCK         ERASE                                           # KEYBOARD/SUBROUTINE CALL INTERLOCK
REQRET          ERASE                                           # RETURN REGISTER FOR LOAD
LOADSTAT        ERASE                                           # STATUS INDICATOR FOR LOADTST
CLPASS          ERASE                                           # PASS INDICATOR CLEAR
NOUT            ERASE                                           # ACTIVITY COUNTER FOR DSPTAB
NOUNCADR        ERASE                                           # MACHINE CADR FOR NOUN
MONSAVE         ERASE                                           # N/V CODE FOR MONITOR. (= MONSAVE1-1)
MONSAVE1        ERASE                                           # NOUNCADR FOR MONITOR(MATBS) =MONSAVE+1
DSPTAB          ERASE           +11D                            # 0-10D, DISPLAY PANEL BUFF. 11D, C/S LTS.
CADRSTOR        ERASE                                           # ENDIDLE STORAGE
GRABLOCK        ERASE                                           # INTERNAL INTERLOCK FOR DISPLAY SYSTEM 
NVQTEM          ERASE                                           # NVSUB STORAGE FOR CALLING ADDRESS
                                                                # MUST = NVBNKTEM-1
NVBNKTEM        ERASE                                           # NVSUB STORAGE FOR CALLING BANK
                                                                # MUST = NVQTEM+1
DSPLIST         ERASE           +2                              # WAITING LIST FOR DSP SYST INTERNAL USE
EXTVBACT        ERASE                                           # EXTENDED VERB ACTIVITY INTERLOCK
DSPTEM1         ERASE           +2                              # BUFFER STORAGE AREA 1 (MOSTLY FOR TIME)
DSPTEM2         ERASE           +2                              # BUFFER STORAGE AREA 2 (MOSTLY FOR DEG)
# END OF ERASABLES RESERVED FOR PINBALL EXECUTIVE ACTION



# RESERVED FOR PINBALL INTERRUPT ACTION

DSPCNT          ERASE                                           # COUNTER FOR DSPOUT
UPLOCK          ERASE                                           # BIT1 = UPLINK INTERLOCK (ACTIVATED BY
                                                                # RECEPTION OF A BAD MESSAGE IN UPLINK)
# END OF ERASABLES RESERVED FOR PINBALL INTERRUPT ACTION

## Page 11
# TEMPORARY PHONY ASSIGNMENTS TO KEEP PINBALL FROM HAVING BAD ASSEMBLIES

THETAD          ERASE           +2
FAILREG		ERASE
TDEC		ERASE		+1
TET		ERASE		+1
MEASQ		ERASE		+1
ROLL		ERASE		+2
LANDMARK	ERASE		+5
GBIASX		ERASE		+2
ADIAX		ERASE		+2
ADSRAX		ERASE		+2
DESOPTX		ERASE		+1
SAMPTIME	ERASE		+1
DELVX           ERASE           +5
PBIASX		ERASE
PIPASCFX	ERASE
PBIASY		ERASE
PIPASCFY	ERASE
PBIASZ		ERASE
PIPASCFZ	ERASE
		SETLOC		1000
DELR		ERASE		+5
DELVEL		ERASE		+5
MEASMODE	ERASE
DELTAQ		ERASE		+1
WASKSET		ERASE
# END OF PHONY ASSIGNMENTS

## Page 12

# ASSIGNMENTS FOR T4RUPT PROGRAM
DSRUPTSW        ERASE
OLDERR		ERASE
WASOPSET	ERASE
# END OF T4RUPT ASSIGNMENTS



# ASSIGNMENTS FOR DOWNRUPT

DISPBUF		ERASE
TMKEYBUF	ERASE
# END OF DOWNRUPT ASSIGNMENTS



# ASSIGNMENTS FOR SELF CHECK

# ADDRESSES TO BE USED FOR INDEX INSTRUCTION WITHOUT EXTRACODES
NDX+0		ERASE
NDX+MAX		ERASE
NDXKEEP1	ERASE
NDXKEEP2	ERASE
NDXKEEP3	ERASE
NDXSELF1	ERASE
NDXSELF2	ERASE

KEEP1		ERASE
KEEP2		ERASE
KEEP3		ERASE
KEEP4		ERASE
KEEP5		ERASE
KEEP6		ERASE
KEEP7		ERASE

SELFRET		ERASE
## !! START CHANGE FOR RETREAD 50 !!
SFAIL		ERASE		+1
## !! END CHANGE FOR RETREAD 50 !!
ERCOUNT		ERASE
SCOUNT		ERASE
SMODE		ERASE

# END OF SELF CHECK ASSIGNMENTS

## !! START CHANGE FOR RETREAD 50 !!
## IMU PERFORMANCE TESTS
                SETLOC          1200
CDUIND          ERASE
ITEMP1          ERASE
COMMAND         ERASE           +2

GYRONUM         ERASE
GYCMDIDX        ERASE           +1

# GYRO PULSE TORQUE COMMANDS
OGC             ERASE           +1
MGC             ERASE           +1
IGC             ERASE           +1
## !! END CHANGE FOR RETREAD 50 !!


# WAITLIST TASK LISTS:

                SETLOC          1400

## Page 13
LST1            ERASE           +4                              # DELTA TS.
LST2            ERASE           +11D                            # 2CADR TASK ADDRESSES.
back to top