Proof Comanche055/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc (pg: 0318-0328) (#939)

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

View File

@ -567,14 +567,15 @@ CRITCON OCT 22 # (DEC 18)
OCT 5
OCT 0
DECON 2DEC 1 E-5 B14 # 2EXP14/10EXP5 = .16384 DEC
DECON 2DEC E-5 B14 # 2EXP14/10EXP5 = .16384 DEC
# GETINREL GETS PROPER DATA REG REL ADDRESS FOR CURRENT C(DSPCOUNT) AND
# PUTS IN INTO INREL. +0 VERBREG, 1 NOUNREG, 2 XREG, 3 YREG, 4 ZREG.
GETINREL INDEX DSPCOUNT
CAF INRELTAB
TS INREL # (A TEMP. REG)
TS INREL # (A TEMP, REG)
TC Q
INRELTAB OCT 4 # R3D5 (DSPCOUNT = 0)
@ -617,13 +618,14 @@ NOUN CAF ZERO
CAF ND1 # ND1, OCT 21 (DEC 17)
TC NVCOM
NEGSGN TC SIGNTEST
TC -ON
CAF TWO
BOTHSGN INDEX INREL # SET DEC COMP BIT TO 1 (IN DECBRNCH)
AD BIT7 # BIT 5 FOR R1. BIT 4 FOR R2.
ADS DECBRNCH # BIT 3 FOR R3.
FIXCLPAS CCS CLPASS # IF CLPASS IS + OR +0. MAKE IT +0.
FIXCLPAS CCS CLPASS # IF CLPASS IS + OR +0, MAKE IT +0.
CAF ZERO
TS CLPASS
TC +1
@ -664,10 +666,11 @@ SGNTAB OCT 5 # -R1
OCT 3 # -R2
OCT 0 # -R3
SIGNTEST LXCH Q # ALLOWS +,- ONLY WHEN DSPCOUNT=R1D1,
CAF THREE # R2D1, OR R3D1. ALLOWS ONLY FIRST OF
MASK DECBRNCH # CONSECUTIVE +/- CHARACTERS.
CCS A # IF LOW2 BITS OF DECBRNCH NOT 0. SIGN
CCS A # IF LOW2 BITS OF DECBRNCH NOT 0, SIGN
TC ENDOFJOB # FOR THIS WORD ALREADY IN. REJECT.
CS R1D1
TC SGNTST1
@ -682,9 +685,10 @@ SGNTST1 AD DSPCOUNT
TC Q
TC L # SIGN LEGAL
# CLEAR BLANKS WHICH R1, R2, R3 IS CURRENT OR LAST TO BE DISPLAYED (PERTINENT
# XREG, YREG, ZREG IS CLEARED). SUCCESSIVE CLEARS TAKE CARE OF EACH RX
# L/ RC UNTIL R1 IS DONE. THEN NO FURTHER ACTION.
# CLEAR BLANKS WHICH R1, R2, R3 IS CURRENT OR LAST TO BE DISPLAYED(PERTINE
# NT XREG,YREG,ZREG IS CLEARED). SUCCESSIVE CLEARS TAKE CARE OF EACH RX
# L/ RC UNTIL R1 IS DONE. THEN NO FURTHER ACTION
#
# THE SINGLE COMPONENT LOAD VERBS ALLOW ONLY THE SINGLE RC THAT IS
# APPROPRIATE TO BE CLEARED.
@ -710,7 +714,7 @@ CLEAR CCS DSPCOUNT
CLPASHI CCS INREL
TS INREL
TC LEGALTST
CAF DOUBLK +2 # +3 TO - NUMBER, BACKS DATA REQUESTS.
CAF DOUBLK +2 # +3 TO - NUMBER. BACKS DATA REQUESTS.
ADS REQRET
CA INREL
TS MIXTEMP # TEMP STORAGE FOR INREL
@ -727,13 +731,14 @@ CLR5 LXCH Q # USED 5BLANK BUT AVOIDS ITS TC GETINREL
TC 5BLANK +2
LEGALTST AD NEG2
CCS A
TC Q # LEGAL INREL G/2
TC Q # LEGAL INREL G/ 2
TC CCSHOLE
TC ENDOFJOB # ILLEGAL INREL=0,1
TC Q # LEGAL INREL=2
TC ENDOFJOB # ILLEGAL INREL= 0,1
TC Q # LEGAL INREL = 2
# 5BLANK BLANKS 5 CHAR DISPLAY WORD IN R1, R2, OR R3. IT ALSO ZEROES XREG,
# YREG, OR ZREG. PLACE ANY + DSPCOUNT NUMBER FOR PERTINENT RC INTO DSPCOUNT.
# YREG, OR ZREG.PLACE ANY + DSPCOUNT NUMBER FOR PERTINENT RC INTO DSPCOUNT
# DSPCOUNT IS LEFT SET TO LEFT MOST DSP NUMB FOR RC JUST BLANKED.
TS DSPCOUNT # NEEDED FOR BLANKSUB
@ -788,30 +793,33 @@ BRNCHCON OCT 77774
EXTEND
BZMF +2 # IF OLD CONTENTS -, NOUT OK
INCR NOUT # IF OLD CONTENTS +, +1 TO NOUT
RELINT # IF -, NOUT OK
RELINT # IF -,NOUT OK
TC Q
BLANKCON OCT 4000
# Page 323
# ENTER PASS 0 IS THE EXECUTE FUNCTION. HIGHER ORDER ENTERS ARE TO LOAD
# DATA. THE SIGN OF REQRET DETERMINES THE PASS, + FOR PASS 0, - FOR HIGHER
# PASSES
# DATA. THE SIGN OF REQRET DETERMINES THE PASS, + FOR PASS 0,- FOR HIGHER
# PASSES.
#
#
# MACHINE CADR TO BE SPECIFIED (MCTBS) NOUNS DESIRE AN ECADR TO BE LOADED
# WHEN USED WITH LOAD VERBS, MONITOR VERBS, OR DISPLAY VERBS (EXCEPT
# VERB = FIXED MEMORY DISPLAY, WHICH REQUIRES AN FCADR).
BANK 41
SETLOC PINBALL2
BANK
COUNT 41/PIN
NVSUBB TC NVSUB1 # STANDARD LEAD INS. DON'T MOVE.
NVSUBB TC NVSUB1 # STANDARD LEAD INS. DONT MOVE.
LOADLV1 TC LOADLV
# END OF STANDARD LEAD INS.
ENTER CAF ZERO
TS CLPASS
CAF ENDINST
@ -822,7 +830,7 @@ ENTER CAF ZERO
TC +1 # IF -, NOT PASS 0
ENTPASHI CAF MMADREF
AD REQRET # IF L/ 2 CHAR IN FOR MM CODE, ALARM
EXTEND # AND RECYCLE (DECIDE AT MCHANG+1).
EXTEND # AND RECYCLE(DECIDE AT MMCHANG+1).
BZF ACCEPTWD
CAF THREE # IF DEC, ALARM IF L/ 5 CHAR IN FOR DATA,
MASK DECBRNCH # BUT LEAVE REQRET - AND FLASH ON, SO
@ -853,7 +861,7 @@ TESTVB CS VERBREG # IF VERB IS G/E LOWVB, SKIP NOUN TEST.
TS VERBSAVE # SAVE VERB FOR POSSIBLE RECYCLE.
AD LOWVERB # LOWVERB - VB
EXTEND
BZMF VERBFAN # VERB G/ E LOWVERB
BZMF VERBFAN # VERB G/E LOWVERB
TESTNN EXTEND # VERB L/ LOWVERB
DCA LODNNLOC # SWITCH BANKS TO NOUN TABLE READING
DXCH Z # ROUTINE.
@ -866,9 +874,9 @@ TESTNN EXTEND # VERB L/ LOWVERB
TC GODSPALM # NOT IN USE IF +0
TC REQADD # SPECIFY MACHINE CADR IF -
INCR NOUNCADR # AUGMENT MACHINE CADR IF -0
TC SETNADD # ECADR FROM NOUNCADR, SETS ED, NOUNADD.
TC SETNADD # ECADR FROM NOUNCADR. SETS EB, NOUNADD.
TC INTMCTBS +2
REQADD CAF BIT15 # SET CLPASS FOR PASS 0 ONLY
REQADD CAF BIT15 # SET CLPASS FOR PASS0 ONLY
TS CLPASS
CS ENDINST # TEST IF REACHED HERE FROM INTERNAL OR
AD ENTEXIT # FROM EXTERNAL
@ -903,7 +911,7 @@ INTMCTBS CA MPAC +2 # INTERNAL MACH CADR TO BE SPECIFIED.
CS FIVE # NVSUB CALL LEFT CADR IN MPAC+2 FOR MACH
AD VERBREG # CADR TO BE SPECIFIED.
EXTEND
BZF VERBFAN # DON'T DISPLAY CADR IF VB = 05.
BZF VERBFAN # DONT DISPLAY CADR IF VB = 05.
CAF R3D1 # VB NOT = 05. DISPLAY CADR.
TS DSPCOUNT
CA NOUNCADR
@ -913,14 +921,14 @@ INTMCTBS CA MPAC +2 # INTERNAL MACH CADR TO BE SPECIFIED.
AD ONE
TC SETNCADR # ECADR INTO NOUNCADR. SETS EB, NOUNADD.
VERBFAN CS LST2CON
AD VERBREG # VERB -- LST2CON
AD VERBREG # VERB-LST2CON
CCS A
AD ONE # VERB G/ LST2CON
TC +2
TC VBFANDIR # VERB L/ LST2CON
TS MPAC
TC RELDSP # RELEASE DISPLAY SYST
TC POSTJUMP # GO TO GOEXTVB WITH VB=40 IN MPAC.
TC POSTJUMP # GO TO GOEXTVB WITH VB-40 IN MPAC.
CADR GOEXTVB
LST2CON DEC 40 # FIRST LIST2 VERB (EXTENDED VERB)
@ -971,9 +979,10 @@ REQEXLQC CADR VBRQEXEC # VB30 REQUEST EXECUTIVE
CADR GODSPALM # VB38 SPARE
CADR GODSPALM # VB39 SPARE
# THE LIST2 VERBFAN IS LOCATED IN THE EXTENDED VERB BANK.
# Page 327
# NNADTAB CONTAINS A RELATIVE ADDRESS, IDADDREL (IN LOW 10 BITS), REFERRING
# NNADTAB CONTAINS A RELATIVE ADDRESS, IDADDREL(IN LOW 10 BITS), REFERRING
# TO WHERE 3 CONSECUTIVE ADDRESSES ARE STORED (IN IDADDTAB).
# MIXNOUN GETS DATA AND STORES IN MIXTEMP,+1,+2. IT SETS NOUNADD FOR
# MIXTEMP.
@ -991,20 +1000,20 @@ MIXNOUN CCS NNADTEM
CAF TWO
MIXNN1 TS DECOUNT
AD MIXAD
TS NOUNADD # SET NOUNADD TO MIXTEMP +K
TS NOUNADD # SET NOUNADD TO MIXTEMP + K
INDEX DECOUNT # GET IDADDTAB ENTRY FOR COMPONENT K
CA IDAD1TEM # OF NOUN.
TS NOUNTEM
# TEST FOR DP (FOR OCT DISPLAY). IF SO, GET
# TEST FOR DP(FOR OCT DISPLAY). IF SO, GET
# MINOR PART ONLY.
TC SFRUTMIX # GET SF ROUT NUMBER IN A
TC DPTEST
TC MIXNN2 # NO DP
INCR NOUNTEM # DP GET MINOR PART
MIXNN2 CA NOUNTEM
MASK LOW11 # ESUBK (NO DP) OR (ESUBK)+1 FOR DP.
MASK LOW11 # ESUBK (NO DP) OR (ESUBK)+1 FOR DP
TC SETEBANK # SET EBANK, LEAVE EADRES IN A.
INDEX A # PICK UP C(ESUBK) NOT DP.
INDEX A # PICK UP C(ESUBK) NOT DP
CA 0 # OR C((ESUBK)+1) FOR DP MINOR PART
INDEX NOUNADD
XCH 0 # STORE IN MIXTEM + K
@ -1014,6 +1023,7 @@ MIXNN2 CA NOUNTEM
MIXAD TC MIXTEMP
# DPTEST ENTER WITH SF ROUT NUMBER IN A.
# RETURNS TO L+1 IF NO DP.
# RETURNS TO L+2 IF DP.
@ -1038,6 +1048,7 @@ DPTEST INDEX A
DPTEST1 INDEX Q
TC 1 # RETURN TO L+2
REQDATX CAF R1D1
TCF REQCOM
REQDATY CAF R2D1
@ -1060,8 +1071,8 @@ UPDATNN XCH Q
CCS NNADTEM
AD ONE # NORMAL
TCF PUTADD
TCF PUTADD +1 # MCTBS DON'T CHANGE NOUNADD
TCF PUTADD +1 # MCTBI DON'T CHANGE NOUNADD
TCF PUTADD +1 # MCTBS DONT CHANGE NOUNADD
TCF PUTADD +1 # MCTBI DONT CHANGE NOUNADD
PUTADD TC SETNCADR # ECADR INTO NOUNCADR. SETS EB, NOUNADD.
CAF ND1
TS DSPCOUNT