Proof Comanche055/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc (pg: 0329-0349) (#941)

This commit is contained in:
Zachary Pedigo 2025-08-07 14:41:42 -05:00 committed by GitHub
parent 492368c5be
commit 1a03c1141b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1075,67 +1075,67 @@ UPDATVB XCH Q
# Page 329 # Page 329
TS DSPCOUNT TS DSPCOUNT
CA VERBREG CA VERBREG
UPDAT1 TC POSTJUMP # CAN'T USE SWCALL TO GO TC DSPDECVN, SINCE UPDAT1 TC POSTJUMP # CANT USE SWCALL TO GO TC DSPDECVN.SINCE
CADR GOVNUPDT # UPDATVB CAN ITSELF BE CALLED BY SWCALL. CADR GOVNUPDT # UPDATVB CAN ITSELF BE CALLED BY SWCALL.
TC UPDATRET TC UPDATRET
GOALMCYC TC ALMCYCLE # NEEDED BECAUSE BANKJUMP CAN'T HANDLE F/F.
GOALMCYC TC ALMCYCLE # NEEDED BECAUSE BANKJUMP CANT HANDLE F/F.
GODSPALM TC POSTJUMP GODSPALM TC POSTJUMP
CADR DSPALARM CADR DSPALARM
# Page 330 # Page 330
# NOUN TABLES # NOUN TABLES
#
# NOUN CODE L/40, NORMAL NOUN CASE. NOUN CODE G/E 40, MIXED NOUN CASE. # NOUN CODE L/40, NORMAL NOUN CASE. NOUN CODE G/E 40, MIXED NOUN CASE.
# FOR NORMAL CASE, NNADTAB CONTAINS ONE ECADR FOR EACH NOUN. # FOR NORMAL CASE, NNADTAB CONTAINS ONE ECADR FOR EACH NOUN.
# +0 INDICATES NOUN NOT USED. - ENTRY INDICATES MACHINE CADR (E OR F) TO # +0 INDICATES NOUN NOT USED. - ENTRY INDICATES MACHINE CADR(E OR F) TO
# BE SPECIFIED. -1 INDICATES CHANNEL TO BE SPECIFIED. -0 INDICATES AUGMENT # BE SPECIFIED. -1 INDICATES CHANNEL TO BE SPECIFIED. -0 INDICATES AUGMENT
# OF LAST MACHINE CADR SUPPLIED. # OF LAST MACHINE CADR SUPPLIED.
# #
# FOR MIXED CASE, NNADTAB CONTAINS ONE INDIRECT ADDRESS (IDADDREL) IN LOW # FOR MIXED CASE, NNADTAB CONTAINS ONE INDIRECT ADDRESS(IDADDREL) IN LOW
# 10 BITS, AND THE COMPONENT CODE NUMBER IN THE HIGH 5 BITS. # 10 BITS, AND THE COMPONENT CODE NUMBER IN THE HIGH 5 BITS.
# #
# NNTYPTAB IS A PACKED TABLE OF THE FORM MMMMMNNNNNPPPPP. # NNTYPTAB IS A PACKED TABLE OF THE FORM MMMMMNNNNNPPPPP.
# #
# FOR THE NORMAL CASE, M'S ARE THE COMPONENT CODE NUMBER. # FOR THE NORMAL CASE, M-S ARE THE COMPONENT CODE NUMBER.
# N'S ARE THE SF ROUTINE CODE NUMBER. # N-S ARE THE SF ROUTINE CODE NUMBER.
# P'S ARE THE SF CONSTANT CODE NUMBER. # P-S ARE THE SF CONSTANT CODE NUMBER.
# #
# MIXED-CASE, M'S ARE THE SF CONSTANT3 CODE NUMBER 3 COMPONENT CASE # MIXED-CASE,M-S ARE THE SF CONSTANT3 CODE NUMBER 3 COMPONENT CASE
# N'S ARE THE SF CONSTANT2 CODE NUMBER # N-S ARE THE SF CONSTANT2 CODE NUMBER
# P'S ARE THE SF CONSTANT1 CODE NUMBER # P-S ARE THE SF CONSTANT1 CODE NUMBER
# N'S ARE THE SF CONSTANT2 CODE NUMBER 2 COMPONENT CASE # N-S ARE THE SF CONSTANT2 CODE NUMBER 2 COMPONENT CASE
# P'S ARE THE SF CONSTANT1 CODE NUMBER # P-S ARE THE SF CONSTANT1 CODE NUMBER
# P'S ARE THE SF CONSTANT1 CODE NUMBER 1 COMPONENT CASE # P-S ARE THE SF CONSTANT1 CODE NUMBER 1 COMPONENT CASE
# #
# THERE IS ALSO AN INDIRECT ADDRESS TABLE (IDADDTAB) FOR MIXED CASE ONLY # THERE IS ALSO AN INDIRECT ADDRESS TABLE(IDADDTAB) FOR MIXED CASE ONLY
# EACH ENTRY CONTAINS ONE ECADR. IDADDREL IS THE RELATIVE ADDRESS OF # EACH ENTRY CONTAINS ONE ECADR. IDADDREL IS THE RELATIVE ADDRESS OF
# THE FIRST OF THESE ENTRIES. # THE FIRST OF THESE ENTRIES.
#
# THERE IS ONE ENTRY IN THIS TABEL FOR EACH COMPONENT OF A MIXED NOUN # THERE IS ONE ENTRY IN THIS TABEL FOR EACH COMPONENT OF A MIXED NOUN
# THEY ARE LISTED IN ORDER OF ASCENDING K. # THEY ARE LISTED IN ORDER OF ASCENDING K.
# #
# THERE IS ALSO A SCALE FACTOR ROUTINE NUMBER TABLE (RUTMXTAB) FOR MIXED # THERE IS ALSO A SCALE FACTOR ROUTINE NUMBER TABLE( RUTMXTAB ) FOR MIXED
# CASE ONLY. THERE IS ONE ENTRY PER MIXED NOUN. THE FORM IS, # CASE ONLY. THERE IS ONE ENTRY PER MIXED NOUN. THE FORM IS,
# QQQQQRRRRRSSSSS
# Q-S ARE THE SF ROUTINE 3 CODE NUMBER 3 COMPONENT CASE
# R-S ARE THE SF ROUTINE 2 CODE NUMBER
# S-S ARE THE SF ROUTINE 1 CODE NUMBER
# R-S ARE THE SF ROUTINE 2 CODE NUMBER 2 COMPONENT CASE
# S-S ARE THE SF ROUTINE 1 CODE NUMBER
# #
# QQQQQRRRRRSSSSS
#
# Q'S ARE THE SF ROUTINE 3 CODE NUMBER 3 COMPONENT CASE
# R'S ARE THE SF ROUTINE 2 CODE NUMBER
# S'S ARE THE SF ROUTINE 1 CODE NUMBER
# R'S ARE THE SF ROUTINE 2 CODE NUMBER 2 COMPONENT CASE
# S'S ARE THE SF ROUTINE 1 CODE NUMBER
# #
# IN OCTAL DISPLAY AND LOAD (OCT OR DEC) VERBS, EXCLUDE USE OF VERBS WHOSE # IN OCTAL DISPLAY AND LOAD (OCT OR DEC) VERBS, EXCLUDE USE OF VERBS WHOSE
# COMPONENT NUMBER IS GREATER THAN THE NUMBER OF COMPONENTS IN NOUN. # COMPONENT NUMBER IS GREATER THAN THE NUMBER OF COMPONENTS IN NOUN.
# (ALL MACHINE ADDRESS TO BE SPECIFIED NOUNS ARE 3 COMPONENT.) # (ALL MACHINE ADDRESS TO BE SPECIFIED NOUNS ARE 3 COMPONENT.)
# #
#
# IN MULTI-COMPONENT LOAD VERBS, NO MIXING OF OCTAL AND DECIMAL DATA # IN MULTI-COMPONENT LOAD VERBS, NO MIXING OF OCTAL AND DECIMAL DATA
# COMPONENT WORDS IS ALLOWED. ALARM IF VIOLATION. # COMPONENT WORDS IS ALLOWED. ALARM IF VIOLATION.
# #
# IN DECIMAL LOADS OF DATA, 5 NUMERICAL CHARACTERS MUST BE KEYED IN # IN DECIMAL LOADS OF DATA, 5 NUMERICAL CHARACTERS MUST BE KEYED IN
# BEFORE EACH ENTER. IF NOT, ALARM. # BEFORE EACH ENTER. IF NOT, ALARM.
# Page 331 # Page 331
# DISPLAY VERBS # DISPLAY VERBS
@ -1166,9 +1166,9 @@ DSPC CS TWO
INDEX NOUNADD INDEX NOUNADD
CS 2 CS 2
TC DSPCOM1 TC DSPCOM1
DSPCOM2 CS TWO # A B C AB ABC DSPCOM2 CS TWO # A B C AB ABC
AD VERBREG # -1 -0 +1 +2 +3 IN A AD VERBREG # -1 -0 +1 +2 +3 IN A
CCS A # +0 +0 +0 +1 +2 IN A AFTER CCS CCS A # +0 +0 +0 +1 +2 IN A AFTER CCS
TC DSPCOM3 TC DSPCOM3
TC ENTEXIT TC ENTEXIT
TC +1 TC +1
@ -1182,48 +1182,48 @@ DSPCOM3 TS DISTEM # +0 +1 +2 INTO DISTEM
XCH DISTEM XCH DISTEM
TC DSPCOM2 +2 TC DSPCOM2 +2
# COMPTEST ALARMS IF COMPONENT NUMBER OF VERB (LOAD OR OCT DISPLAY) IS # COMPTEST ALARMS IF COMPONENT NUMBER OF VERB(LOAD OR OCT DISPLAY) IS
# GREATER THAN THE HIGHEST COMPONENT NUMBER OF NOUN. # GREATER THAN THE HIGHEST COMPONENT NUMBER OF NOUN.
COMPTEST TS SFTEMP1 # - VERB COMP
COMPTEST TS SFTEMP1 # VERB COMP
LXCH Q LXCH Q
COMPTST1 TC GETCOMP COMPTST1 TC GETCOMP
TC LEFT5 TC LEFT5
MASK THREE # NOUN COMP MASK THREE # NOUN COMP
# Page 332 # Page 332
AD SFTEMP1 # NOUN COMP -- VERB COMP AD SFTEMP1 # NOUN COMP - VERB COMP
CCS A CCS A
TC L # NOUN COMP G/ VERB COMP TC L # NOUN COMP G/ VERB COMP
TC CCSHOLE TC CCSHOLE
TC GODSPALM # NOUN COMP L/ VERB COMP TC GODSPALM # NOUN COMP L/ VERB COMP
NDCMPTST TC L # NOUN COMP = VERB COMP NDCMPTST TC L # NOUN COMP = VERB COMP
# DCOMPTST ALARMS IF DECIMAL ONLY BIT (BIT4 OF COMP CODE NUMBER) = 1. # DCOMPTST ALARMS IF DECIMAL ONLY BIT (BIT4 OF COMP CODE NUMBER) = 1.
# IF NOT, IT PERFORMS REGULAR COMPTEST. # IF NOT, IT PERFORMS REGULAR COMPTEST.
DCOMPTST TS SFTEMP1 # - VERB COMP DCOMPTST TS SFTEMP1 # - VERB COMP
LXCH Q LXCH Q
TC DECTEST TC DECTEST
TC COMPTST1 TC COMPTST1
DECTEST EXTEND # ALARMS IF DEC ONLY BIT = 1 (BIT4 OF COMP DECTEST EXTEND # ALARMS IF DEC ONLY BIT = 1 (BIT4 OF COMP
QXCH MPAC +2 # CODE NUMBER). RETURNS IF NOT. QXCH MPAC +2 # CODE NUMBER). RETURNS IF NOT.
TC GETCOMP TC GETCOMP
MASK BIT14 MASK BIT14
CCS A CCS A
TC GODSPALM TC GODSPALM
TC MPAC +2 TC MPAC +2
DCTSTCYC LXCH Q # ALARMS AND RECYCLES IF DEC ONLY BIT = 1 DCTSTCYC LXCH Q # ALARMS AND RECYCLES IF DEC ONLY BIT = 1
TC GETCOMP # (BIT4 OF COMP CODE NUMBER). RETURNS TC GETCOMP # ( BIT4 OF COMP CODE NUMBER). RETURNS
MASK BIT14 # IF NOT. USED BY LOAD VERBS. MASK BIT14 # IF NOT. USED BY LOAD VERBS.
CCS A CCS A
TC ALMCYCLE TC ALMCYCLE
TC L TC L
# NOUNTEST ALARMS IF NO-LOAD BIT (BIT5 OF COMP CODE NUMBER) = 1. # NOUNTEST ALARMS IF NO-LOAD BIT (BIT5 OF COMP CODE NUMBER) = 1.
# IF NOT, IT RETURNS. # IF NOT, IT RETURNS.
NOUNTEST LXCH Q NOUNTEST LXCH Q
TC GETCOMP TC GETCOMP
CCS A CCS A
@ -1231,7 +1231,7 @@ NOUNTEST LXCH Q
TC L TC L
TC GODSPALM TC GODSPALM
TSTFORDP LXCH Q # TEST FOR DP. IF SO, GET MINOR PART ONLY. TSTFORDP LXCH Q # TEST FOR DP. IF SO, GET MINOR PART ONLY.
CA NNADTEM CA NNADTEM
AD ONE # IF NNADTEM = -1, CHANNEL TO BE SPECIFIED AD ONE # IF NNADTEM = -1, CHANNEL TO BE SPECIFIED
EXTEND EXTEND
@ -1244,9 +1244,10 @@ TSTFORDP LXCH Q # TEST FOR DP. IF SO, GET MINOR PART ONLY.
TC SFRUTNOR TC SFRUTNOR
TC DPTEST TC DPTEST
TC L # NO DP TC L # NO DP
INCR NOUNADD # DP E+1 INTO NOUNADD FOR MINOR PART. INCR NOUNADD # DP E+1 INTO NOUNADD FOR MINOR PART.
TC L TC L
CHANDSP CA NOUNCADR CHANDSP CA NOUNCADR
MASK LOW9 MASK LOW9
EXTEND EXTEND
@ -1255,26 +1256,28 @@ CHANDSP CA NOUNCADR
CS A CS A
TCF DSPCOM1 TCF DSPCOM1
COMPICK ADRES NNTYPTEM COMPICK ADRES NNTYPTEM
ADRES NNADTEM ADRES NNADTEM
GETCOMP INDEX MIXBR # NORMAL MIXED GETCOMP INDEX MIXBR # NORMAL MIXED
CAF COMPICK -1 # ADRES NNTYPTEM ADRES NNADTEM CAF COMPICK -1 # ADRES NNTYPTEM ADRES NNADTEM
INDEX A INDEX A
CA 0 # C(NNTYPTEM) C(NNADTEM) CA 0 # C(NNTYPTEM) C(NNADTEM)
MASK HI5 # GET HI5 OF NNTYPTAB (NORM) OF NNADTAB (MIX) MASK HI5 # GET HI5 OF NNTYPTAB(NORM)OF NNADTAB(MIX)
TC Q TC Q
DECDSP TC GETCOMP DECDSP TC GETCOMP
TC LEFT5 TC LEFT5
MASK THREE MASK THREE
TS DECOUNT # COMP NUMBER INTO DECOUNT TS DECOUNT # COMP NUMBER INTO DECOUNT
DSPDCGET TS DECTEM # PICKS UP DATA DSPDCGET TS DECTEM # PICKS UP DATA
AD NOUNADD # DECTEM 1COMP +0, 2COMP +1, 3COMP +2 AD NOUNADD # DECTEM 1COMP +0, 2COMP +1, 3COMP +2
INDEX A INDEX A
CS 0 CS 0
INDEX DECTEM INDEX DECTEM
XCH XREG # CAN'T USE BUF SINCE DMP USES IT. XCH XREG # CANT USE BUF SINCE DMP USES IT.
CCS DECTEM CCS DECTEM
TC DSPDCGET # MORE TO GET TC DSPDCGET # MORE TO GET
DSPDCPUT CAF ZERO # DISPLAYS DATA DSPDCPUT CAF ZERO # DISPLAYS DATA
@ -1286,11 +1289,11 @@ DSPDCPUT CAF ZERO # DISPLAYS DATA
INDEX DECOUNT INDEX DECOUNT
CS XREG CS XREG
TS MPAC TS MPAC
TC SFCONUM # 2X (SF CON NUMB) IN A TC SFCONUM # 2X( SF CON NUMB ) IN A
# Page 334 # Page 334
TS SFTEMP1 TS SFTEMP1
EXTEND # SWITCH BANKS TO SF CONSTANT TABLE EXTEND # SWITCH BANKS TO SF CONSTANT TABLE
DCA GTSFOUTL # READING ROUTINE. DCA GTSFOUTL # READING ROUTINE.
DXCH Z # LOADS SFTEMP1, SFTEMP2 DXCH Z # LOADS SFTEMP1, SFTEMP2
INDEX MIXBR INDEX MIXBR
TC +0 TC +0
@ -1304,6 +1307,7 @@ DSPSFNOR TC SFRUTNOR
EBANK= DSPCOUNT EBANK= DSPCOUNT
GTSFOUTL 2CADR GTSFOUT GTSFOUTL 2CADR GTSFOUT
DSPDCEND TC BANKCALL # ALL SFOUT ROUTINES END HERE DSPDCEND TC BANKCALL # ALL SFOUT ROUTINES END HERE
CADR DSPDECWD CADR DSPDECWD
CCS DECOUNT CCS DECOUNT
@ -1312,6 +1316,7 @@ DSPDCEND TC BANKCALL # ALL SFOUT ROUTINES END HERE
TS DECOUNT TS DECOUNT
TC DSPDCPUT # MORE TO DISPLAY TC DSPDCPUT # MORE TO DISPLAY
DECDSP3 INDEX A DECDSP3 INDEX A
CAF SFOUTABR CAF SFOUTABR
TC BANKJUMP TC BANKJUMP
@ -1332,19 +1337,19 @@ SFOUTABR CADR PREDSPAL # ALARM IF DEC DISP WITH OCTAL ONLY NOUN
CADR DPFRACOT CADR DPFRACOT
ENDRTOUT EQUALS ENDRTOUT EQUALS
# THE FOLLOWING IS ATYPICAL SF ROUTINE. IT USES MPAC. LEAVES RESULTS # THE FOLLOWING IS ATYPICAL SF ROUTINE . IT USES MPAC. LEAVES RESU
# IN MPAC, MPAC+1. ENDS WITH TC DSPDCEND # LTS IN MPAC, MPAC+1. ENDS WITH TC DSPDCEND
# Page 335 # Page 335
SETLOC BLANKCON +1 SETLOC BLANKCON +1
COUNT 40/PIN COUNT 40/PIN
# DEGOUTSF SCALES BY .18 THE LOW 14 BITS OF ANGLE, ADDING .18 FOR # DEGOUTSF SCALES BY .18 THE LOW 14 BITS OF ANGLE , ADDING .18 FOR
# NUMBERS IN THE NEGATIVE (AGC) RANGE. # NUMBERS IN THE NEGATIVE (AGC) RANGE.
DEGOUTSF CAF ZERO DEGOUTSF CAF ZERO
TS MPAC +2 # SET INDEX FOR FULL SCALE. TS MPAC +2 # SET INDEX FOR FULL SCALE
TC FIXRANGE TC FIXRANGE
TC +2 # NO AUGMENT NEEDED (SFTEMP1 AND 2 ARE 0) TC +2 # NO AUGMENT NEEDED (SFTEMP1 AND 2 ARE 0)
TC SETAUG # SET AUGMENTER ACCORDING TO C(MPAC +2) TC SETAUG # SET AUGMENTER ACCORDING TO C(MPAC +2)
@ -1391,7 +1396,7 @@ FIXRANGE CCS MPAC # IF MPAC IS + RETURN TO L+1
INDEX Q INDEX Q
TC 1 TC 1
DEGCOM EXTEND # LOADS MULTIPLIER, DOES SHORTMP, AND DEGCOM EXTEND # LOADS MULTIPLIER , DOES SHORTMP, AND
INDEX MPAC +2 # ADDS AUTMENTER. INDEX MPAC +2 # ADDS AUTMENTER.
DCA DEGTAB DCA DEGTAB
DXCH MPAC # ADJUSTED ANGLE IN A DXCH MPAC # ADJUSTED ANGLE IN A
@ -1400,10 +1405,11 @@ DEGCOM EXTEND # LOADS MULTIPLIER, DOES SHORTMP, AND
DAS MPAC DAS MPAC
TC SCOUTEND TC SCOUTEND
DEGTAB OCT 05605 # HI PART OF .18
OCT 03656 # LOW PART OF .18 DEGTAB OCT 05605 # HI PART OF .18
OCT 16314 # HI PART OF .45 OCT 03656 # LOW PART OF .18
OCT 31463 # LO PART OF .45 OCT 16314 # HI PART OF .45
OCT 31463 # LO PART OF .45
20BIAS OCT 16040 # 20 DEG BIAS FOR OPTICS 20BIAS OCT 16040 # 20 DEG BIAS FOR OPTICS
@ -1414,21 +1420,24 @@ SCOUTEND TC POSTJUMP
CADR DSPDCEND CADR DSPDCEND
AROUT1SF DXCH SFTEMP1 # ASSUMES POINT BETWEEN HI AND LO PARTS OF AROUT1SF DXCH SFTEMP1 # ASSUMES POINT BETWEEN HI AND LO PARTS OF
DXCH MPAC # DP SFCON. SHIFTS RESULTS LEFT 14, BY DXCH MPAC # DP SFCON. SHIFTS RESULTS LEFT 14, BY
TC PRSHRTMP # TAKING RESULTS FROM MPAC+1, MPAC+2. TC PRSHRTMP # TAKING RESULTS FROM MPAC+1, MPAC+2.
TC L14/OUT TC L14/OUT
DP1OUTSF TC DPOUT # SCALES MPAC, MPAC +1 BY DP SCALE FACTOR DP1OUTSF TC DPOUT # SCALES MPAC, MPAC +1 BY DP SCALE FACTOR
L14/OUT XCH MPAC +2 # IN SFTEMP1, SFTEMP2. THEN SCALE RESULT L14/OUT XCH MPAC +2 # IN SFTEMP1, SFTEMP2. THEN SCALE RESULT
XCH MPAC +1 # BY B14 XCH MPAC +1 # BY B14
TS MPAC TS MPAC
TC SCOUTEND TC SCOUTEND
DP2OUTSF TC DPOUT # SCALES MPAC, MPAC +1 BY DP SCALE FACTOR
DP2OUTSF TC DPOUT # SCALES MPAC , MPAC +1 BY DP SCALE FACTOR
TC SCOUTEND TC SCOUTEND
DP3OUTSF TC DPOUT # ASSUMES POINT BETWEEN BITS 7-8 OF HIGH DP3OUTSF TC DPOUT # ASSUMES POINT BETWEEN BITS 7-8 OF HIGH
CAF SIX # LEFT BY 7, ROUNDS MPAC+2 INTO MPAC+1 CAF SIX # LEFT BY 7, ROUNDS MPAC+2 INTO MPAC+1.
TC TPLEFTN # SHIFT LEFT 7. TC TPLEFTN # SHIFT LEFT 7.
TC SCOUTEND TC SCOUTEND
@ -1443,10 +1452,9 @@ DPOUT XCH Q
TC DMP TC DMP
ADRES SFTEMP1 ADRES SFTEMP1
TC MPAC+6 TC MPAC+6
# THE FOLLOWING ROUTINE DISPLAYS TWO CONTIGUOUS SP POSITIVE INTEGERS # THE FOLLOWING ROUTINE DISPLAYS TWO CONTIGUOUS SP POSITIVE INTEGERS
# AS TWO POSITIVE DECIMAL INTEGERS IN RXD1-RXD2 AND RXD4-RXD5 (RXD3 IS # AS TWO POSITIVE DECIMAL INTEGERS IN RXD1-RXD2 AND RXD4-RXD5 (RXD3 IS
# BLANKED). THE INTEGER IN THE LOWER NUMBERED ADDRESS IS DISPLAYED IN # BLANKED). THE INTEGER IN THE LOWER NUMBERED ADDRESS IS DISPLAYED IN
# RXD1-RXD2. # RXD1-RXD2.
2INTOUT TC 5BLANK # TO BLANK RXD3 2INTOUT TC 5BLANK # TO BLANK RXD3
@ -1463,11 +1471,13 @@ DPOUT XCH Q
TC POSTJUMP TC POSTJUMP
CADR DSPDCEND +2 CADR DSPDCEND +2
DPFRACOT TC READLO # DP FRACTION TO MPAC,+1 DPFRACOT TC READLO # DP FRACTION TO MPAC,+1
TC SCOUTEND TC SCOUTEND
# READLO PICKS UP FRESHDATA FOR BOTH HI AND LO AND LEAVES IT IN
# MPAC, MPAC+1. THIS IS NEEDED FOR TIME DISPLAY. IT ZEROES MPAC+2, BUT # READLO PICKS UP FRESH DATA FOR BOTH HI AND LO AND LEAVES IT IN
# MPAC, MPAC+1. THIS IS NEEDED FOR TIME DISPLAY. IT ZEROES MPAC+2, BUT
# DOES NOT FORCE TPAGREE. # DOES NOT FORCE TPAGREE.
READLO XCH Q READLO XCH Q
@ -1478,10 +1488,10 @@ READLO XCH Q
INDEX DECOUNT INDEX DECOUNT
CA IDAD1TEM # GET IDADDTAB ENTRY FOR COMP K OF NOUN. CA IDAD1TEM # GET IDADDTAB ENTRY FOR COMP K OF NOUN.
MASK LOW11 # E SUBK MASK LOW11 # E SUBK
TC SETEBANK # SET EB, LEAVE EADRES IN A TC SETEBANK # SET EB, LEAVE EADRES IN A.
READLO1 EXTEND # MIXED NORMAL READLO1 EXTEND # MIXED NORMAL
INDEX A # C(ESUBK) C(E) INDEX A # C(ESUBK) C(E)
DCA 0 # C(E SUBK)+1) C(E+1) DCA 0 # C((E SUBK)+1) C(E+1)
DXCH MPAC DXCH MPAC
# Page 338 # Page 338
CAF ZERO CAF ZERO
@ -1491,16 +1501,17 @@ READLO1 EXTEND # MIXED NORMAL
RDLONOR CA NOUNADD # E RDLONOR CA NOUNADD # E
ENDRDLO TC READLO1 ENDRDLO TC READLO1
BANK 42 BANK 42
SETLOC PINBALL3 SETLOC PINBALL3
BANK BANK
COUNT 42/PIN COUNT 42/PIN
HMSOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC. HMSOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC,
CADR READLO # MPAC+1. CADR READLO # MPAC+1.
TC TPAGREE # MAKE DP DATA AGREE. TC TPAGREE # MAKE DP DATA AGREE
TC SEPSECNR # LEAVE FRACT SEC/60 IN MPAC, MPAC+1. LEAVE TC SEPSECNR # LEAVE FRACT SEC/60 IN MPAC, MPAC+1.LEAVE
# WHOLE MIN IN BIT13 OF LOTEMOUT AND ABOVE # WHOLE MIN IN BIT13 OF LOTEMOUT AND ABOVE
TC DMP # USE ONLY FRACT SEC/60 MOD 60 TC DMP # USE ONLY FRACT SEC/60 MOD 60
ADRES SECON2 # MULT BY .06 ADRES SECON2 # MULT BY .06
@ -1509,14 +1520,14 @@ HMSOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC.
TC BANKCALL # DISPLAY SEC MOD 60 TC BANKCALL # DISPLAY SEC MOD 60
CADR DSPDECWD CADR DSPDECWD
TC SEPMIN # REMOVE REST OF SECONDS TC SEPMIN # REMOVE REST OF SECONDS
CAF MINCON2 # LEAVE FRACT MIN/60 IN MPAC+1. LEAVE CAF MINCON2 # LEAVE FRACT MIN/60 IN MPAC+1. LEAVE
XCH MPAC # WHOLE HOURS IN MPAC. XCH MPAC # WHOLE HOURS IN MPAC.
TS HITEMOUT # SAVE WHOLE HOURS. TS HITEMOUT # SAVE WHOLE HOURS.
CAF MINCON2 +1 CAF MINCON2 +1
XCH MPAC +1 # USE ONLY FRACT MIN/60 MOD 60 XCH MPAC +1 # USE ONLY FRACT MIN/60 MOD 60
TC PRSHRTMP # IF C(A) = -0, SHORTMP FAILS TO GIVE -0. TC PRSHRTMP # IF C(A) = -0, SHORTMP FAILS TO GIVE -0.
# MULT BY .0006 # MULT BY .0006
CAF R2D1 # GIVE MIN/10EXP5 MOD 60 CAF R2D1 # GIVES MIN/10EXP5 MOD 60
TS DSPCOUNT TS DSPCOUNT
TC BANKCALL # DISPLAY MIN MOD 60 TC BANKCALL # DISPLAY MIN MOD 60
CADR DSPDECWD CADR DSPDECWD
@ -1528,54 +1539,56 @@ HMSOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC.
# MULT BY .16384 # MULT BY .16384
CAF R1D1 # GIVES HOURS/10EXP5 CAF R1D1 # GIVES HOURS/10EXP5
TS DSPCOUNT TS DSPCOUNT
TC BANKCALL # USE REGULAR DSPDECWD WITH ROUND OFF. TC BANKCALL # USE REGULAR DSPDECWD, WITH ROUND OFF.
CADR DSPDECWD CADR DSPDECWD
TC ENTEXIT TC ENTEXIT
SECON1 2DEC* 1.666666666 E-4 B12* # 2EXP12/6000 SECON1 2DEC* 1.666666666 E-4 B12* # 2EXP12/6000
# Page 339 # Page 339
SECON2 OCT 01727 # .06 FOR SECONDS DISPLAY SECON2 OCT 01727 # .06 FOR SECONDS DISPLAY
OCT 01217 OCT 01217
MINCON2 OCT 00011 # .0006 FOR MINUTES DISPLAY MINCON2 OCT 00011 # .0006 FOR MINUTES DISLPAY
OCT 32445 OCT 32445
MINCON1 OCT 02104 # .06..66 UPPED BY 2EXP-2B MINCON1 OCT 02104 # .066..66 UPPED BY 2EXP-28
OCT 10422 OCT 10422
HRCON1 2DEC .16384 HRCON1 2DEC .16384
OCT 00000 OCT 00000
RNDCON OCT 00062 # .5 SEC RNDCON OCT 00062 # .5 SEC
M/SOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC. M/SOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC.
CADR READLO # MPAC+1. CADR READLO # MPAC+1.
TC TPAGREE # MAKE DP DATA AGREE TC TPAGREE # MAKE DP DATA AGREE
CCS MPAC # IF MAG OF (MPAC, MPAC+1) G/ 59 M 59 S. CCS MPAC # IF MAG OF (MPAC, MPAC+1) G/ 59 M 59 S,
TC +2 # DISPLAY 59B59, WITH PROPER SIGN. TC +2 # DISPLAY 59B59, WITH PROPER SIGN.
TC M/SNORM # MPAC = +0. L/ 59M58.5S TC M/SNORM # MPAC = +0. L/ 59M58.5S
AD M/SCON1 # - HI PART OF (59M58.5) +1 FOR CCS AD M/SCON1 # - HI PART OF (59M58.5S) +1 FOR CCS
CCS A # MAG OF MPAC - HI PART OF (59M58.5S) CCS A # MAG OF MPAC - HI PART OF (59M58.5S)
TC M/SLIMIT # G/ 59M58.5S TC M/SLIMIT # G/ 59M58.5S
TC M/SNORM # ORIGINAL MPAC = -0. L/59M58.5S TC M/SNORM # ORIGINAL MPAC = -0. L/ 59M58.5S
TC M/SNORM # L/ 59M58.5S TC M/SNORM # L/ 59M58.5S
CCS MPAC +1 # MAG OF MPAC = HI PART OF 59M58.5S CCS MPAC +1 # MAG OF MPAC = HI PART OF 59M58.5S
TC +2 TC +2
TC M/SNORM # MPAC+1 = +0. L/ 59M58.5S TC M/SNORM # MPAC+1 = +0. L/ 59M58.5S
AD M/SCON2 # - LO PART OF (59M58.5S) +1 FOR CCS AD M/SCON2 # - LO PART OF (59M58.5S) +1 FOR CCS
CCS A # MAG OF MPAC+1 - LO PART OF (59M58.5S) CCS A # MAG OF MPAC+1 - LO PART OF (59M58.5S)
TC M/SLIMIT # G/ 59M58.5S TC M/SLIMIT # G/ 59M58.5S
TC M/SNORM # ORIGINAL MPAC+1 = -0. L/ 49M58.5S TC M/SNORM # ORIGINAL MPAC+1 = -0. L/ 59M58.5S
TC M/SNORM # L/ 59M58.5S TC M/SNORM # L/ 59M58.5S
M/SLIMIT CCS MPAC # = 59M58.5S LIMIT M/SLIMIT CCS MPAC # = 59M58.5S LIMIT
CAF M/SCON3 # MPAC CANNOT BE +/- 0 AT THIS POINT. CAF M/SCON3 # MPAC CANNOT BE +/- 0 AT THIS POINT.
TC +LIMIT # FORCE MPAC, MPAC+1 TO +/- 59M58.5S TC +LIMIT # FORCE MPAC, MPAC+1 TO +/- 59M58.5S
CS M/SCON3 CS M/SCON3
TS MPAC # WILL DISPLAY 59M59S IN DSPDECNR TS MPAC # WILL DISPLAY 59M59S IN DSPDECNR
CS M/SCON3 +1 CS M/SCON3 +1
LIMITCOM TS MPAC +1 LIMITCOM TS MPAC +1
CAF NORMADR # SET RETURN TO M/SNORM+1. CAF NORMADR # SET RETURN TO M/SNORM+1.
TC SEPSECNR +1 TC SEPSECNR +1
+LIMIT TS MPAC +LIMIT TS MPAC
CAF M/SCON3 +1 CAF M/SCON3 +1
TC LIMITCOM TC LIMITCOM
M/SNORM TC SEPSEC # LEAVE FRACT SEC/60 IN MPAC,MPAC+1. LEAVE M/SNORM TC SEPSEC # LEAVE FRACT SEC/60 IN MPAC,MPAC+1. LEAVE
# WHOLE MIN IN BIT13 OF LOTEMOUT AND ABOVE # WHOLE MIN IN BIT13 OF LOTEMOUT AND ABOVE
CAF HISECON # USE ONLY FRACT SEC/60 MOD 60 CAF HISECON # USE ONLY FRACT SEC/60 MOD 60
TC SHORTMP # MULT BY .6 + 2EXP-14 TC SHORTMP # MULT BY .6 + 2EXP-14
@ -1593,7 +1606,7 @@ M/SNORM TC SEPSEC # LEAVE FRACT SEC/60 IN MPAC,MPAC+1. LEAVE
TC BANKCALL # BLANK MIDDLE CHAR TC BANKCALL # BLANK MIDDLE CHAR
CADR DSPIN CADR DSPIN
TC SEPMIN # REMOVE REST OF SECONDS TC SEPMIN # REMOVE REST OF SECONDS
XCH MPAC +1 # LEAVE FRACT MIN/60 IN MPAC+1 XCH MPAC +1 # LEAVE FRACT MIN/60 IN MPAC+1
EXTEND # USE ONLY FRACT MIN/60 MOD 60 EXTEND # USE ONLY FRACT MIN/60 MOD 60
MP HIMINCON # MULT BY .6 + 2EXP-7 MP HIMINCON # MULT BY .6 + 2EXP-7
DXCH MPAC # GIVES MIN/100 MOD 60 DXCH MPAC # GIVES MIN/100 MOD 60
@ -1615,7 +1628,7 @@ M/SCON3 OCT 00025 # 59M 59.5S
OCT 37016 OCT 37016
SEPSEC CCS MPAC +1 # IF +, ROUND BY ADDING .5 SEC SEPSEC CCS MPAC +1 # IF +, ROUND BY ADDING .5 SEC
TCF POSEC # IF -, ROUND BY SUBTRACING .5 SEC TCF POSEC # IF -, ROUND BY SUBTRACTING .5 SEC
TCF POSEC # FINDS TIME IN MPAC, MPAC+1 TCF POSEC # FINDS TIME IN MPAC, MPAC+1
TCF +1 # ROUNDS OFF BY +/- .5 SEC TCF +1 # ROUNDS OFF BY +/- .5 SEC
EXTEND # LEAVES WHOLE MIN IN BIT13 OF EXTEND # LEAVES WHOLE MIN IN BIT13 OF
@ -1623,7 +1636,7 @@ SEPSEC CCS MPAC +1 # IF +, ROUND BY ADDING .5 SEC
SEPSEC1 DAS MPAC # LEAVES FRACT SEC/60 IN MPAC, MPAC+1. SEPSEC1 DAS MPAC # LEAVES FRACT SEC/60 IN MPAC, MPAC+1.
TCF SEPSECNR TCF SEPSECNR
POSEC EXTEND POSEC EXTEND
DCA RNDCON -1 DCA RNDCON -1
TCF SEPSEC1 TCF SEPSEC1
SEPSECNR XCH Q # THIS ENTRY AVOIDS ROUNDING BY .5 SEC SEPSECNR XCH Q # THIS ENTRY AVOIDS ROUNDING BY .5 SEC
TS SEPSCRET TS SEPSCRET
@ -1636,19 +1649,20 @@ SEPSECNR XCH Q # THIS ENTRY AVOIDS ROUNDING BY .5 SEC
TC TPSL1 TC TPSL1
TC TPSL1 # GIVES FRACT SEC/60 IN MPAC+1, MPAC+2. TC TPSL1 # GIVES FRACT SEC/60 IN MPAC+1, MPAC+2.
CAF ZERO CAF ZERO
XCH MPAC +2 # LEAVE FRACT SEC/60 IN MPAC, MPAC+1. XCH MPAC +2 # LEAVE FRACT SEC/60 IN MPAC, MPAC+1.
XCH MPAC +1 XCH MPAC +1
XCH MPAC XCH MPAC
TC SEPSCRET TC SEPSCRET
SEPMIN XCH Q # FIND WHOLE MINUTES IN BIT13
SEPMIN XCH Q # FINDS WHOLE MINUTES IN BIT13
TS SEPMNRET # OF LOTEMOUT AND ABOVE. TS SEPMNRET # OF LOTEMOUT AND ABOVE.
CA LOTEMOUT # REMOVES REST OF SECONDS. CA LOTEMOUT # REMOVES REST OF SECONDS.
EXTEND # LEAVES FRACT MIN/60 IN MPAC+1. EXTEND # LEAVES FRACT MIN/60 IN MPAC+1.
MP BIT3 # LEAVES WHOLE HOURS IN MPAC. MP BIT3 # LEAVES WHOLE HOURS IN MPAC.
EXTEND # SR 12, THROW AWAY LP. EXTEND # SR 12, THROW AWAY LP.
MP BIT13 # SR 2, TAKE FROM LP. = SL 12. MP BIT13 # SR 2, TAKE FROM LP. = SL 12.
LXCH MPAC +1 # THIS FORCES BITS 12-1 TO 0 IF +. LXCH MPAC +1 # THIS FORCES BITS 12-1 TO 0 IF +.
# FORCES BITS 12-1 TO 1 IF -. # FORCES BITS 12-1 TO 1 IF -.
CA HITEMOUT CA HITEMOUT
TS MPAC TS MPAC
@ -1656,13 +1670,15 @@ SEPMIN XCH Q # FIND WHOLE MINUTES IN BIT13
ADRES MINCON1 # GIVES FRACT MIN/60 IN MPAC+1. ADRES MINCON1 # GIVES FRACT MIN/60 IN MPAC+1.
ENDSPMIN TC SEPMNRET # GIVES WHOLE HOURS IN MPAC. ENDSPMIN TC SEPMNRET # GIVES WHOLE HOURS IN MPAC.
# THIS IS A SPECIAL PURPOSE VERB FOR DISPLAYING A DOUBLE PRECISION AGC # THIS IS A SPECIAL PURPOSE VERB FOR DISPLAYING A DOUBLE PRECISION AGC
# WORD AS 10 DECIMAL DIGITS ON THE AGC DISPLAY PANEL. IT CAN BE USED WITH # WORD AS 10 DECIMAL DIGITS ON THE AGC DISPLAY PANEL. IT CAN BE USED WITH
# ANY NOUN, EXCEPT MIXED NOUNS. IT DISPLAYS THE CONTENTS # ANY NOUN, EXCEPT MIXED NOUNS. IT DISPLAYS THE CONTENTS
# OF THE REGISTER NOUNADD IS POINTING TO. IF USED WITH NOUNS WHICH ARE # OF THE REGISTER NOUNADD IS POINTING TO . IF USED WITH NOUNS WHICH ARE
# INHERENTLY NOT DP SUCH AS THE CDU COUNTERS THE DISPLAY WILL BE GARBAGE. # INHERENTLY NOT DP SUCH AS THE CDU COUNTERS THE DISPLAY WILL BE GARBAGE.
# DISPLAY IS IN R1 AND R2 ONLY WITH THE SIGN IN R1. # DISPLAY IS IN R1 AND R2 ONLY WITH THE SIGN IN R1.
SETLOC ENDRDLO +1 SETLOC ENDRDLO +1
COUNT 40/PIN COUNT 40/PIN
@ -1678,7 +1694,7 @@ DSPDPDEC INDEX MIXBR
CAF R1D1 CAF R1D1
TS DSPCOUNT TS DSPCOUNT
CAF ZERO CAF ZERO
TS MPAC +2 TS MPAC +2
TC TPAGREE TC TPAGREE
# Page 342 # Page 342
TC DSP2DEC TC DSP2DEC
@ -1686,16 +1702,17 @@ ENDDPDEC TC ENTEXIT
# Page 343 # Page 343
# LOAD VERBS IF ALARM CONDITION IS DETECTED DURING EXECUTE, # LOAD VERBS IF ALARM CONDITION IS DETECTED DURING EXECUTE,
# CHECK FAIL LIGHT IS TURNED ON AND ENDOFJOB. IF ALARM CONDITION IS # CHECK FAIL LIGHT IS TURNED ON AND ENDOFJOB. IF ALARM CONDITION IS
# DETECTED DURING ENTER OF DATA, CHECK FAIL IS TURNED ON AND IT RECYCLES # DETECTED DURING ENTER OF DATA, CHECK FAIL IS TURNED ON AND IT RECYCLES
# TO EXECUTE OF ORIGINAL LOAD VERB. RECYCLE CAUSED BY 1) DECIMAL MACHINE # TO EXECUTE OF ORIGINAL LOAD VERB. RECYCLE CAUSED BY 1) DECIMAL MACHINE
# CADR 2) MIXTURE OF OCTAL/DECIMAL DATA 3) OCTAL DATA INTO DECIMAL # CADR 2) MIXTURE OF OCTAL/DECIMAL DATA 3) OCTAL DATA INTO DECIMAL
# ONLY NOUN 4) DEC DATA INTO OCT ONLY NOUN 5) DATA TOO LARGE FOR SCALE # ONLY NOUN 4) DEC DATA INTO OCT ONLY NOUN 5) DATA TOO LARGE FOR SCALE
# 6) FEWER THAN 3 DATA WORDS LOADED FOR HRS, MIN, SEC NOUN.8 (2)-(6) ALARM # 6) FEWER THAN 3 DATA WORDS LOADED FOR HRS, MIN, SEC NOUN.8(2)-(6) ALARM
# AND RECYCLE OCCUR AT FINAL ENTER OF SET. (1) ALARM AND RECYCLE OCCUR AT # AND RECYCLE OCCUR AT FINAL ENTER OF SET. (1) ALARM AND RECYCLE OCCUR AT
# ENTER OF CADR. # ENTER OF CADR.
SETLOC ENDRTOUT SETLOC ENDRTOUT
COUNT 41/PIN COUNT 41/PIN
@ -1704,15 +1721,16 @@ ABCLOAD CS TWO
TC COMPTEST TC COMPTEST
TC NOUNTEST # TEST IF NOUN CAN BE LOADED. TC NOUNTEST # TEST IF NOUN CAN BE LOADED.
CAF VBSP1LD CAF VBSP1LD
TC UPDATVB -1 TC UPDATVB -1
TC REQDATX TC REQDATX
CAF VBSP2LD CAF VBSP2LD
TC UPDATVB -1 TC UPDATVB -1
TC REQDATY TC REQDATY
CAF VBSP3LD CAF VBSP3LD
TC UPDATVB -1 TC UPDATVB -1
TC REQDATZ TC REQDATZ
PUTXYZ CS SIX # TEST THAT THE 3 DATA WORDS LOADED ARE PUTXYZ CS SIX # TEST THAT THE 3 DATA WORDS LOADED ARE
TC ALLDC/OC # ALL DEC OR ALL OCT. TC ALLDC/OC # ALL DEC OR ALL OCT.
EXTEND EXTEND
@ -1724,42 +1742,41 @@ PUTXYZ CS SIX # TEST THAT THE 3 DATA WORDS LOADED ARE
TS 0 TS 0
CAF ONE # Y COMP CAF ONE # Y COMP
TC PUTCOM TC PUTCOM
INDEX NOUNADD INDEX NOUNADD
TS 1 TS 1
CAF TWO # Z COMP CAF TWO # Z COMP
TC PUTCOM TC PUTCOM
INDEX NOUNADD INDEX NOUNADD
TS 2 TS 2
CS SEVEN # IF NOUN 7 HAS JUST BEEN LOADED, SET CS SEVEN # IF NOUN 7 HAS JUST BEEN LOADED, SET
AD NOUNREG # FLAG BITS AS SPECIFIED. AD NOUNREG # FLAG BITS AS SPECIFIED.
EXTEND EXTEND
BZF +2 BZF +2
# Page 344 # Page 344
TC LOADLV TC LOADLV
CA XREG # ECADR OF ERASABLE CELL CA XREG # ECADR OF FLAG WORD.
TC SETNCADR +1 # SET EBANK, NOUNADD TC SETNCADR +1 # SET EBANK, NOUNADD.
CA ZREG # ZERO TO RESET BITS. NON-ZERO TO SET BITS CA ZREG # ZERO TO RESET BITS. NON-ZERO TO SET BITS
INHINT INHINT
EXTEND EXTEND
BZF BITSOFF BZF BITSOFF
INDEX NOUNADD INDEX NOUNADD
CS 0 CS 0
MASK YREG # BITS TO BE PROCESSED MASK YREG # BITS TO BE PROCESSED.
INDEX NOUNADD INDEX NOUNADD
ADS 0 # SET BITS. ADS 0 # SET BITS.
TC BITSOFF1 TC BITSOFF1
BITSOFF CS YREG # BITS TO BE PROCESSED.
BITSOFF CS YREG # BITS TO BE PROCESSED
INDEX NOUNADD INDEX NOUNADD
MASK 0 MASK 0
INDEX NOUNADD INDEX NOUNADD
TS 0 # RESET BITS TS 0 # RESET BITS.
BITSOFF1 RELINT BITSOFF1 RELINT
TC LOADLV TC LOADLV
ABLOAD CS ONE ABLOAD CS ONE
TC COMPTEST TC COMPTEST
TC NOUNTEST # TEST IF NOUN CAN BE LOADED TC NOUNTEST # TEST IF NOUN CAN BE LOADED.
CAF VBSP1LD CAF VBSP1LD
TC UPDATVB -1 TC UPDATVB -1
TC REQDATX TC REQDATX
@ -1835,22 +1852,23 @@ VBSP2LD DEC 22 # VB22 = BLOAD
VBSP3LD DEC 23 # VB23 = CLOAD VBSP3LD DEC 23 # VB23 = CLOAD
ALLDC/OC TS DECOUNT # TESTS THAT DATA WORDS LOADED ARE EITHER ALLDC/OC TS DECOUNT # TESTS THAT DATA WORDS LOADED ARE EITHER
CS DECBRNCH # ALL DEC OR ALL OCT. ALARMS IF NOT. CS DECBRNCH # ALL DEC OR ALL OCT. ALARMS IF NOT.
# Page 346 # Page 346
TS SR TS SR
CS SR CS SR
CS SR # SHIFTED RIGHT 2 CS SR # SHIFTED RIGHT 2
CCS A # DEC COMP BITS IN LOW 3 CCS A # DEC COMP BITS IN LOW 3
TCF +2 # SOME ONES IN LOW 3 TCF +2 # SOME ONES IN LOW 3
TC Q # ALL ZEROS. ALL OCTAL. OK TC Q # ALL ZEROS. ALL OCTAL. OK
AD DECOUNT # DEC COMP = 7 FOR 3COMP, =6 FOR 2COMP AD DECOUNT # DEC COMP = 7 FOR 3COMP, =6 FOR 2COMP
EXTEND # (BUT IT HAS BEEN DECREMENTED BY CCS) EXTEND # (BUT IT HAS BEEN DECREMENTED BY CCS)
BZF +2 # MUST MATCH 6 FOR 3COMP, 5 FOR 2COMP. BZF +2 # MUST MATCH 6 FOR 3COMP, 5 FOR 2COMP.
TC ALMCYCLE # ALARM AND RECYCLE. TC ALMCYCLE # ALARM AND RECYCLE.
GOQ TC Q # ALL REQUIRED ARE DEC. OK GOQ TC Q # ALL REQUIRED ARE DEC. OK
SFRUTNOR XCH Q # GETS SF ROUTINE NUMBER FOR NORMAL CASE SFRUTNOR XCH Q # GETS SF ROUTINE NUMBER FOR NORMAL CASE
TS EXITEM # CAN'T USE L FOR RETURN. TSTFORDP USES L. TS EXITEM # CANT USE L FOR RETURN. TSTFORDP USES L.
CAF MID5 CAF MID5
MASK NNTYPTEM MASK NNTYPTEM
TC RIGHT5 TC RIGHT5
@ -1866,12 +1884,10 @@ SFRUTMIX XCH Q # GETS SF ROUTINE NUMBER FOR MIXED CASE
MASK RUTMXTEM # GET HI5, MID5, OR LOW5 OF RUTMXTAB ENTRY MASK RUTMXTEM # GET HI5, MID5, OR LOW5 OF RUTMXTAB ENTRY
INDEX L INDEX L
TC 0 TC 0
# DO TC GOQ(DECOUNT=0), DO TC RIGHT5(DECOUNT=1). DO TC LEFT5(DECOUNT=2).
# DO TC GOQ(DECOUNT=0), DO TC RIGHT5(DECOUNT=1), DO TC LEFT5(DECOUNT=2).
SFRET1 TC EXITEM # SF ROUTINE NUMBER IN A SFRET1 TC EXITEM # SF ROUTINE NUMBER IN A
SFCONUM XCH Q # GETS 2X(SF CONSTANT NUMBER) SFCONUM XCH Q # GETS 2X( SF CONSTANT NUMBER)
TS EXITEM TS EXITEM
INDEX MIXBR INDEX MIXBR
TC +0 TC +0
@ -1884,9 +1900,7 @@ SFCONUM XCH Q # GETS 2X(SF CONSTANT NUMBER)
MASK NNTYPTEM MASK NNTYPTEM
INDEX L INDEX L
TC 0 TC 0
# DO TC GOQ(DECOUNT=0), DO TC RIGHT5(DECOUNT=1), DO TC LEFT5(DECOUNT=2). # DO TC GOQ(DECOUNT=0), DO TC RIGHT5(DECOUNT=1), DO TC LEFT5(DECOUNT=2).
SFRET DOUBLE # 2X(SF CONSTANT NUMBER) IN A SFRET DOUBLE # 2X(SF CONSTANT NUMBER) IN A
TC EXITEM TC EXITEM
@ -1899,7 +1913,8 @@ DISPLACE TC GOQ
CONUMNOR CAF LOW5 # NORMAL NOUN ALWAYS GETS LOW 5 OF CONUMNOR CAF LOW5 # NORMAL NOUN ALWAYS GETS LOW 5 OF
MASK NNTYPTEM # NNTYPTAB FOR SF CONUM. MASK NNTYPTEM # NNTYPTAB FOR SF CONUM.
DOUBLE DOUBLE
TC EXITEM # 2X(SF CONSTANT NUMBER) IN A TC EXITEM # 2X( SF CONSTANT NUMBER) IN A
PUTCOM TS DECOUNT PUTCOM TS DECOUNT
XCH Q XCH Q
@ -1908,54 +1923,52 @@ PUTCOM TS DECOUNT
TS MPAC+6 TS MPAC+6
INDEX DECOUNT INDEX DECOUNT
XCH XREGLP XCH XREGLP
TS MPAC +1 TS MPAC +1
INDEX DECOUNT INDEX DECOUNT
XCH XREG XCH XREG
TS MPAC TS MPAC
INDEX MIXBR INDEX MIXBR
TC +0 TC +0
TC PUTNORM # NORMAL NOUN TC PUTNORM # NORMAL NOUN
# IF MIXNOUN, PLACE ADDRESS FOR COMPONENT K INTO NOUNADD, SET EBANK BITS. # IF MIXNOUN, PLACE ADDRESS FOR COMPONENT K INTO NOUNADD, SET EBANK BITS.
INDEX DECOUNT # GET IDADDTAB ENTRY FOR COMPONENT K INDEX DECOUNT # GET IDADDTAB ENTRY FOR COMPONENT K
CA IDAD1TEM # OF NOUN. CA IDAD1TEM # OF NOUN.
MASK LOW11 # (ECADR)SUBK FOR CURRENT COMP OF NOUN MASK LOW11 # (ECADR)SUBK FOR CURRENT COMP OF NOUN
TC SETNCADR # ECADR INTO NOUNCADR. SETS EB, NOUNADD. TC SETNCADR # ECADR INTO NOUNCADR. SETS EB. NOUNADD.
EXTEND # C(NOUNADD) IN A UPON RETURN EXTEND # C(NOUNADD) IN A UPON RETURN
SU DECOUNT # PLACE (ESUBK)-K INTO NOUNADD SU DECOUNT # PLACE (ESUBK)-K INTO NOUNADD
TS NOUNADD TS NOUNADD
CCS DECBRNCH CCS DECBRNCH
TC PUTDECSF # + DEC TC PUTDECSF # + DEC
TC DCTSTCYC # +0 OCTAL TC DCTSTCYC # +0 OCTAL
TC SFRUTMIX # TEST IF DEC ONLY BIT = 1. IF SO, TC SFRUTMIX # TEST IF DEC ONLY BIT = 1. IF SO,
TC DPTEST # ALARM AND RECYCLE. IF NOT, CONTINUE. TC DPTEST # ALARM AND RECYCLE. IF NOT, CONTINUE.
TC PUTCOM2 # NO DP TC PUTCOM2 # NO DP
# TEST FOR DP SCALE FOR OCT LOAD. IF SO, # TEST FOR DP SCALE FOR OCT LOAD. IF SO,
# +0 INTO MAJOR PART. SET NOUNADD FOR # +0 INTO MAJOR PART. SET NOUNADD FOR
# LOADING OCTAL WORD INTO MINOR PART. # LOADING OCTAL WORD INTO MINOR PART.
PUTDPCOM INCR NOUNADD # DP (ESUBK)-K+1 OR E+1 PUTDPCOM INCR NOUNADD # DP (ESUBK)-K+1 OR E+1
CA NOUNADD # NOUNADD NOW SET FOR MINOR PART CA NOUNADD # NOUNADD NOW SET FOR MINOR PART
ADS DECOUNT # (ESUBK)+1 OR E+1 INTO DECOUNT ADS DECOUNT # (ESUBK)+1 OR E+1 INTO DECOUNT
CAF ZERO # NOUNADD SET FOR MINOR PART CAF ZERO # NOUNADD SET FOR MINOR PART
INDEX DECOUNT INDEX DECOUNT
TS 0 -1 # ZERO MAJOR PART(ESUBK OR E) TS 0 -1 # ZERO MAJOR PART(ESUBK OR E)
TC PUTCOM2 TC PUTCOM2
PUTNORM TC SETNADD # ECADR FROM NOUNCADR. SETS EB, NOUNADD. PUTNORM TC SETNADD # ECADR FROM NOUNCADR. SETS EB, NOUNADD.
# Page 348 # Page 348
CCS DECBRNCH CCS DECBRNCH
TC PUTDECSF # + DEC TC PUTDECSF # + DEC
TC DCTSTCYC # +0 OCTAL TC DCTSTCYC # +0 OCTAL
TC SFRUTNOR # TEST IF DEC ONLY BIT (garbled). IF SO, TC SFRUTNOR # TEST IF DEC ONLY BIT = 1. IF SO,
TC DPTEST # ALARM AND RECYCLE. IF NOT, CONTINUE. TC DPTEST # ALARM AND RECYCLE. IF NOT, CONTINUE.
TC PUTCOM2 -4 # NO DP TC PUTCOM2 -4 # NO DP
CAF ZERO # DP CAF ZERO # DP
TS DECOUNT TS DECOUNT
TC PUTDPCOM TC PUTDPCOM
CA NNADTEM CA NNADTEM
AD ONE # IF NNADTEM = -1, CHANNEL TO BE SPECIFIED AD ONE # IF NNADTEM = -1. CHANNEL TO BE SPECIFIED
EXTEND EXTEND
BZF CHANLOAD BZF CHANLOAD
PUTCOM2 XCH MPAC PUTCOM2 XCH MPAC
@ -1964,7 +1977,8 @@ PUTCOM2 XCH MPAC
EBANK= DSPCOUNT EBANK= DSPCOUNT
GTSFINLC 2CADR GTSFIN GTSFINLC 2CADR GTSFIN
CHANLOAD CS SEVEN # DON'T LOAD CHAN 7. (IT'S SUPERBANK).
CHANLOAD CS SEVEN # DONT LOAD CHAN 7. (IT = SUPERBANK).
AD NOUNCADR AD NOUNCADR
EXTEND EXTEND
BZF LOADLV BZF LOADLV
@ -1976,13 +1990,14 @@ CHANLOAD CS SEVEN # DON'T LOAD CHAN 7. (IT'S SUPERBANK).
WRITE 0 WRITE 0
TC LOADLV TC LOADLV
# PUTDECSF FINDS MIXBR AND DECOUNT STILL SET FROM PUTCOM.
# PUTDECSF FINDS MIXBR AND DECOUNT STILL SET FROM PUTCOM
PUTDECSF TC SFCONUM # 2X(SF CON NUMB) IN A PUTDECSF TC SFCONUM # 2X(SF CON NUMB) IN A
TS SFTEMP1 TS SFTEMP1
EXTEND # SWITCH BANKS TO SF CONSTANT TABLE EXTEND # SWITCH BANKS TO SF CONSTANT TABLE
DCA GTSFINLC # READING ROUTINE. DCA GTSFINLC # READING ROUTINE.
DXCH Z # LOADS SFTEMP1, SFTEMP2. DXCH Z # LOADS SFTEMP1. SFTEMP2.
INDEX MIXBR INDEX MIXBR
TC +0 TC +0
TC PUTSFNOR TC PUTSFNOR
@ -1993,7 +2008,7 @@ PUTSFNOR TC SFRUTNOR
PUTDCSF2 INDEX A PUTDCSF2 INDEX A
# Page 349 # Page 349
CAF SFINTABR CAF SFINTABR
TC BANKJUMP # SWITCH BANKS FOR EXPANSION ROOM TC BANKJUMP # SWITCH BANKS FOR EXPANSHION ROOM
SFINTABR CADR GOALMCYC # ALARM AND RECYCLE IF DEC LOAD SFINTABR CADR GOALMCYC # ALARM AND RECYCLE IF DEC LOAD
# WITH OCTAL ONLY NOUN. # WITH OCTAL ONLY NOUN.
CADR BINROUND CADR BINROUND
@ -2004,15 +2019,17 @@ SFINTABR CADR GOALMCYC # ALARM AND RECYCLE IF DEC LOAD
CADR OPTDEGIN CADR OPTDEGIN
CADR DPINSF # SAME AS ARITHDP1 CADR DPINSF # SAME AS ARITHDP1
CADR HMSIN CADR HMSIN
CADR DSPALARM # MIN/SEC CAN'T BE LOADED. CADR DSPALARM # MIN/SEC CANT BE LOADED.
CADR DPINSF4 CADR DPINSF4
CADR ARTIN1SF CADR ARTIN1SF
CADR DSPALARM # 2INTOUT CAN'T BE LOADED. CADR DSPALARM # 2INTOUT CANT BE LOADED.
CADR DPFRACIN CADR DPFRACIN
ENDRUTIN EQUALS ENDRUTIN EQUALS
# SCALE FACTORS FOR THOSE ROUTINES NEEDING THEM ARE AVAILABLE IN SFTEMP1. # SCALE FACTORS FOR THOSE ROUTINES NEEDING THEM ARE AVAILABLE IN SFTEMP1.
# ALL SFIN ROUTINES USE MPAC MPAC+1. LEAVE RESULT IN A. END WITH TC DECRET. # ALL SFIN ROUTINES USE MPAC MPAC+1. LEAVE RESULT IN A. END WITH TC DECRET.
SETLOC ENDDPDEC +1 SETLOC ENDDPDEC +1
@ -2021,21 +2038,21 @@ ENDRUTIN EQUALS
# DEGINSF APPLIES 1000/180 * 5.55555(10) = 5.43434(8) # DEGINSF APPLIES 1000/180 * 5.55555(10) = 5.43434(8)
DEGINSF TC DMP # SF ROUTINE FOR DEC DEGREES DEGINSF TC DMP # SF ROUTINE FOR DEC DEGREES
ADRES DEGCON1 # MULT BY 5.5 5(10)X2EXP-3 ADRES DEGCON1 # MULT BY 5.5 5(10)X2EXP-3
CCS MPAC +1 # THIS ROUNDS OFF MPAC+1 BEFORE SHIFT CCS MPAC +1 # THIS ROUNDS OFF MPAC+1 BEFORE SHIFT
CAF BIT11 # LEFT 3, AND CAUSES 360.00 TO OF/UF CAF BIT11 # LEFT 3, AND CAUSES 360.00 TO OF/UF
TC +2 # WHEN SHIFTED LEFT AND ALARM. TC +2 # WHEN SHIFTED LEFT AND ALARM.
CS BIT11 CS BIT11
AD MPAC +1 AD MPAC +1
TC 2ROUND +2 TC 2ROUND +2
TC TPSL1 # LEFT 1 TC TPSL1 # LEFT 1
DEGINSF2 TC TPSL1 # LEFT 2 DEGINSF2 TC TPSL1 # LEFT 2
TC TESTOFUF TC TESTOFUF
TC TPSL1 # RETURNS IF NO OF/UF (LEFT3) TC TPSL1 # RETURNS IF NO OF/UF (LEFT3)
CCS MPAC CCS MPAC
TC SIGNFIX # IF +, GO TO SIGNFIX TC SIGNFIX # IF+, GO TO SIGNFIX
TC SIGNFIX # IF +0, GO TO SIGNFIX TC SIGNFIX # IF +0, GO TO SIGNFIX
COM # IF -, USE -MAGNITUDE +1 COM # IF - , USE -MAGNITUDE +1
TS MPAC # IF -0, USE +0 TS MPAC # IF -0, USE +0
SIGNFIX CCS MPAC+6 SIGNFIX CCS MPAC+6
TC SGNTO1 # IF OVERFLOW TC SGNTO1 # IF OVERFLOW