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,62 +1075,62 @@ 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 # 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
# #
# 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.
# #
@ -1182,25 +1182,24 @@ 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
@ -1214,16 +1213,17 @@ DECTEST EXTEND # ALARMS IF DEC ONLY BIT = 1 (BIT4 OF COMP
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
@ -1247,6 +1247,7 @@ TSTFORDP LXCH Q # TEST FOR DP. IF SO, GET MINOR PART ONLY.
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,6 +1256,7 @@ CHANDSP CA NOUNCADR
CS A CS A
TCF DSPCOM1 TCF DSPCOM1
COMPICK ADRES NNTYPTEM COMPICK ADRES NNTYPTEM
ADRES NNADTEM ADRES NNADTEM
@ -1262,9 +1264,10 @@ 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
@ -1274,7 +1277,7 @@ DSPDCGET TS DECTEM # PICKS UP DATA
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,7 +1289,7 @@ 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
@ -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,6 +1405,7 @@ DEGCOM EXTEND # LOADS MULTIPLIER, DOES SHORTMP, AND
DAS MPAC DAS MPAC
TC SCOUTEND TC SCOUTEND
DEGTAB OCT 05605 # HI PART OF .18 DEGTAB OCT 05605 # HI PART OF .18
OCT 03656 # LOW PART OF .18 OCT 03656 # LOW PART OF .18
OCT 16314 # HI PART OF .45 OCT 16314 # HI PART OF .45
@ -1418,17 +1424,20 @@ AROUT1SF DXCH SFTEMP1 # ASSUMES POINT BETWEEN HI AND LO PARTS OF
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,7 +1452,6 @@ 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
@ -1463,10 +1471,12 @@ 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
# 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 # MPAC, MPAC+1. THIS IS NEEDED FOR TIME DISPLAY. IT ZEROES MPAC+2, BUT
# DOES NOT FORCE TPAGREE. # DOES NOT FORCE TPAGREE.
@ -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
@ -1516,7 +1527,7 @@ HMSOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC.
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,7 +1539,7 @@ 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
@ -1536,24 +1547,26 @@ 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
@ -1561,7 +1574,7 @@ M/SOUT TC BANKCALL # READ FRESH DATA FOR HI AND LO INTO MPAC.
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.
@ -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
@ -1641,7 +1654,8 @@ SEPSECNR XCH Q # THIS ENTRY AVOIDS ROUNDING BY .5 SEC
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.
@ -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
@ -1692,10 +1708,11 @@ ENDDPDEC TC ENTEXIT
# 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
@ -1713,6 +1730,7 @@ ABCLOAD CS TWO
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
@ -1736,30 +1754,29 @@ PUTXYZ CS SIX # TEST THAT THE 3 DATA WORDS LOADED ARE
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
@ -1849,8 +1866,9 @@ ALLDC/OC TS DECOUNT # TESTS THAT DATA WORDS LOADED ARE EITHER
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
@ -1915,13 +1930,11 @@ PUTCOM TS DECOUNT
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
@ -1947,7 +1960,7 @@ PUTNORM TC SETNADD # ECADR FROM NOUNCADR. SETS EB, NOUNADD.
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
@ -1955,7 +1968,7 @@ PUTNORM TC SETNADD # ECADR FROM NOUNCADR. SETS EB, NOUNADD.
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,16 +2019,18 @@ 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
COUNT 40/PIN COUNT 40/PIN
@ -2033,9 +2050,9 @@ 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