1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-30 19:24:40 +00:00
Files
PDP-10.its/src/imsrc/pong.38
Lars Brinkhoff d42d332976 Imlac PONG.
2019-02-04 07:17:45 +01:00

2345 lines
26 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
TITLE PONG!
PDS4=1
MAXADR=37777
MOUSE=1
.INSRT IMLAC;IMDEFS >
.INSRT IMLAC;DISFIX >
LOC 30000'
RADIX 10.
JMP BEGIN
JMP START
LOC 30030'
BEGIN: RCF
JMS RESET
JMP SIGNRTN
RESET: 0
LAC K20000
DAC OLDY1
DAC OLDY2
IOF
DOF
DCF
KRC
SCF
LAC [022000']
DAC SIGNY
COA
DAC REFIRE
LWC 6
DAC TURN
LAC K10777
JMS BALLXS
LAC K20777
JMS BALLYS
LWC 400
DAC SECONDS
CLA
DAC NOBOUNCE
DAC EXTRA
DAC INCR
DAC SCORE1
DAC SCORE2
DAC THEEND
LAC GF
DAC FAULT1
DAC FAULT2
JMP @RESET
START: JMS DISP1
KSF
JMP START
LAC SWIT
DAC SWT
LAC N12000
DAC TIMEOUT
CAL
KRC
AND [3777']
SAD [20'] ; CALL ON AIKBD
JMP @[100']
SAD [1372'] ;IS IT CONTROL-Z?
JMP @[100']
SAD Q2
JMP .+3
SAM Q
JMP COMUVERT
ISZ SWT
JMP COMUVERT+4
BACKSW: CLA
SAM THEEND
JMP START
LAW 3
ADD PAD1
DAC PAD1
JMP START
COMUVERT: SAD UV2
JMP .+3
SAM UVERT
JMP COMZ
ISZ SWT
JMP BACKSW
CLA
SAM THEEND
JMP START
LAW 3
ADD PAD2
DAC PAD2
JMP START
COMZ: SAD Z2
JMP .+3
SAM Z
JMP COMX
OK: ISZ SWT
JMP COMDVERT+4
CLA
SAM THEEND
JMP START
LWC 3
ADD PAD1
DAC PAD1
JMP START
COMX: SAD X1A
JMP OK
SAD X1
JMP OK
SAD S2
JMP .+3
SAM S
JMP COMLHORZ
ISZ SWT
JMP COMLHORZ+4
LAC PAD1
SAL 1
ASN
JMP .+4
ASP
JMP .+4
ADD K3
DAC PAD1
JMP START
SUB K3
JMP .-3
JMP START
COMLHORZ: SAD LH2
JMP .+3
SAM LHORZ
JMP COMDVERT
ISZ SWT
JMP COMX+7
LAC PAD2
SAL 1
ASN
JMP .+4
ASP
JMP .+4
ADD K3
DAC PAD2
JMP START
SUB K3
JMP .-3
JMP START
COMDVERT: SAD DV2
JMP .+3
SAM DVERT
JMP COMA
ISZ SWT
JMP COMZ+4
CLA
SAM THEEND
JMP START
LWC 3
ADD PAD2
DAC PAD2
JMP START
COMA: SAD A2
JMP .+3
SAM A
JMP COMRHORZ
ISZ SWT
JMP COMRHORZ+4
CLA
DAC PAD1
JMP START
COMRHORZ: SAD RH2
JMP .+3
SAM RHORZ
JMP COMCR
ISZ SWT
JMP COMA+4
CLA
DAC PAD2
JMP START
COMCR: SAD CR2
JMP .+3
SAM CR
JMP COMBREAK
JMS RESET
JMP START
COMBREAK: ASN
JMP .+3
SAM BREAK
JMP START
BRKRTN: JMS DISP3
KSF
JMP BRKRTN
LAC N12000
DAC TIMEOUT
CAL
KRC
AND [3777']
SAD [20'] ; CALL KEY ON AIKBD
JMP @[100']
SAD [1372'] ;IS IT THE CONTROL-Z
JMP @[100']
DAC TEMP
BRENTRY: SAD RU2
JMP .+3
SAM RUVERT
JMP .+5
LAC PAP1
CIA
DAC PAP1
JMP BRKRTN
SAD RD2
JMP .+3
SAM RDVERT
JMP .+5
LAC PAP2
CIA
DAC PAP2
JMP BRKRTN
SAD SR2
JMP .+3
SAM SRHORZ
JMP .+9
LAW 20
SAM COUNT2
JMP .+4
CAL
DAC COUNT2
JMP BRKRTN
ISZ COUNT2
JMP BRKRTN
SAD SL2
JMP .+3
SAM SLHORZ
JMP .+9
LAW 20
SAM COUNT1
JMP .+4
CAL
DAC COUNT1
JMP BRKRTN
ISZ COUNT1
JMP BRKRTN
SAD SD2
JMP .+3
SAM SDVERT
JMP LA1
CLA
SAM THEEND
JMP BRKRTN
SAM EXTRA
JMP BRKRTN
LAW 20
SAM SCORE1
JMP .+4
CLA
DAC SCORE1
JMP .+2
ISZ SCORE1
LA3: LAC SCORE1
ADD SCORE2
LOOPFIG: SUB K5
ASM
JMP LOOPFIG
DAC TURN
JMP BRKRTN
LA1: SAD SU2
JMP .+2
SAM SUVERT
JMP LA2
CLA
SAM THEEND
JMP BRKRTN
SAM EXTRA
JMP BRKRTN
LAW 20
SAM SCORE2
JMP .+4
CLA
DAC SCORE2
JMP LA3
ISZ SCORE2
JMP LA3
LA2: SAD [1050] ; 1050 AND 1363 ARE CTRL S
JMP .+3
SAM K1363
JMP .+12
LAC SWIT
CIA
DAC SWIT
SAM K1
JMP NOSWTCH
LAC DNOPER
DAC SWTLINE
JMP BRKRTN
NOSWTCH: LAC SWTJMP
DAC SWTLINE
JMP BRKRTN
SAD RH2
JMP .+3
SAM RHORZ
JMP CHKWR1
LAC FRIC
CIA
DAC FRIC
LWC 10
DAC FRICNT
JMP BRKRTN
CHKWR1: SAD UV2
JMP .+3
SAM UVERT
JMP CHKWRP2
LAC WRAP1
CIA
DAC WRAP1
JMP BRKRTN
CHKWRP2: SAD DV2
JMP .+3
SAM DVERT
JMP OLDSTART
LAC WRAP2
CIA
DAC WRAP2
JMP BRKRTN
OLDSTART: AND K1400
SAM K1000
JMP .+3
STA
DAC DOUB
SAM K400
JMP .+10
COA
DAC GRVLBL
LAC TEMP
SAM K660
JMP .+2
JMP .+4
LAW 20'
ADD TEMP
JMP .+2
LAC TEMP
AND [377']
SAD BREAK
JMP START
ASN
JMP START
SAD S
JMP SIGNRTN
SAD S2
JMP SIGNRTN
COMG: SAD G2
JMP .+3
SAM G
JMP COMW
LAC GRV
CIA
DAC GRV
SAM K1
JMP OFF
LWC 2
DAC GF
LAC DNOPER
DAC GJMPER
JMP BRKRTN
OFF: LWC 3
DAC GF
LAC GJMP
DAC GJMPER
JMP BRKRTN
COMW: SAD W2
JMP .+3
SAM W
JMP .+13
LAC AUTO1
CIA
DAC AUTO1
STA
SAM AUTO1
JMP .+4
LAC DNOPER
DAC AJMPR1
JMP BRKRTN
LAC AJMP
DAC AJMPR1
JMP BRKRTN
SAD A
JMP LOOPS
SAD A2
JMP LOOPS
SAD M2
JMP LOOPS
SAM M
JMP COME
LOOPS: JMS DISP3
KSF
JMP LOOPS
CAL
KRC
DAC TEMP
AND [200']
ASZ
JMP LOOPS1
LAC TEMP
AND [77']
ADD [257']
DAC TEMP
SUB [272']
ASZ
JMP .+3
LAC [260']
DAC TEMP
LOOPS1: LAC TEMP
SUB K260
ASP
JMP GOOUT
SAM K4
JMP .+2
JMP SETRAND
SUB K4
ASM
JMP GOOUT
ADD K4
DAC RANDOM
ADD K3060
DAC AS1
DAC AS2
JMP BRKRTN
SETRAND: DAC RANDOM
JMP BRKRTN
GOOUT: LAC TEMP
JMP BRENTRY
COME: SAD EE2
JMP .+3
SAM EE
JMP COMR
LAC AUTO2
CIA
DAC AUTO2
STA
SAM AUTO2
JMP .+4
LAC DNOPER
DAC AJMPR2
JMP BRKRTN
LAC AJMP
DAC AJMPR2
JMP BRKRTN
COMR: SAD RR2
JMP .+3
SAM RR
JMP COMC
CLA
DAC COUNT1
DAC COUNT2
JMP BRKRTN
COMC: SAD C2
JMP .+3
SAM C
JMP .+13
LAC COUNT
CIA
DAC COUNT
COA
SAM COUNT
JMP .+4
LAC DNOPER
DAC BJMPER
JMP BRKRTN
LAC BJMP
DAC BJMPER
JMP BRKRTN
SAD N02
LAC N0
SAM N0
JMP NUMCHK
JMP NUMCH0
NUMCHK: DAC TEMP
AND [200']
ASZ
JMP NUMCH1
LAC TEMP
AND [77']
ADD [257']
NUMCH0: DAC TEMP
NUMCH1: LAC TEMP
SUB K260
ASP
JMP BRKRTN
SUB K10
ASM
JMP BRKRTN
ADD K13
DAC TEMP
CLA
SAM GRVLBL
JMP GRVRTN
LAC TEMP
DAC STORSPD
ISZ DOUB
JMP .+4
LAW 10
ADD STORSPD
DAC STORSPD
CLA
DAC DOUB
LAC SPEED
ASP
JMP .+3
LAC STORSPD
JMP .+3
LAC STORSPD
CIA
DAC SPEED
DAC STORSPD
JMP BRKRTN
GRVRTN: LWC 3
ADD TEMP
DAC GOFFSET
CIA
DAC TEMP
CLA
DAC GRVLBL
LWC 10
DAC GRAVITY
GLOOP: ISZ TEMP
JMP .+2
JMP BRKRTN
LAW 1
ADD GRAVITY
DAC GRAVITY
DAC GRAV
JMP GLOOP
EXTRT1: LAC DNOPER
DAC JMPER1
LWC 1
DAC TURN
LAC SCORE2
SUB SCORE1
ASZ
JMP .+4
LAC DEUCRTNJ
DAC JMPER2
JMP RETURN
SAM K1
JMP .+4
LAC PLRTNJ
DAC JMPER2
JMP @DISP1
LAW 20
SAM COUNT2
ISZ COUNT2
LAC WINJ
DAC JMPER2
JMP ENDRTN
EXTRTN2: LAC DNOPER
DAC JMPER2
LWC 1
DAC TURN
LAC SCORE1
SUB SCORE2
ASZ
JMP .+4
LAC DEUCRTNJ
DAC JMPER1
JMP RETURN
SAM K1
JMP .+4
LAC PLRTNJ
DAC JMPER1
JMP @DISP1
LAW 20
SAM COUNT1
ISZ COUNT1
LAC WINJ
DAC JMPER1
JMP ENDRTN
RADIX 8.
DEUCRTNJ: DJMP DEUCERTN
PLRTNJ: DJMP PLRTN
WINJ: DJMP WINRTN
FJ: DJMP WJ1
CJP: DJMP L1
RADIX 10.
RUVERT: 2206'
RDVERT: 2204'
SUVERT: 606'
SDVERT: 604'
SRHORZ: 605'
SLHORZ: 610'
UVERT: 206'
DVERT: 204'
RHORZ: 205'
LHORZ: 210'
N0: 260'
S: 363'
CR: 215'
G: 347'
BREAK: 236'
Q: 361'
X1: 370'
A: 341'
EE: 345'
W: 367'
Z: 372'
RR: 362'
C: 343'
M: 355'
FUN4: 234'
RU2: 2041'
RD2: 2043'
SU2: 441'
SD2: 443'
SL2: 442'
SR2: 440'
UV2: 41'
DV2: 43'
RH2: 42'
LH2: 40'
N02: 13'
S2: 50'
CR2: 62'
G2: 53'
BREAK2: 0'
Q2: 24'
X1A: 11'
A2: 47'
EE2: 26'
W2: 25'
Z2: 65'
RR2: 27'
C2: 67'
M2: 73'
FUN4A: 16'
SPF: 0
FC: 0
WRAP1: 1'
WRAP2: 1'
PAP1: 1'
PAP2: 1'
RADIX 8.
PWJMP1: DJMP PWJ2
PWJMP2: DJMP FRJMP
WJMP1: DJMP WJ2
WJMP2: DJMP SWTLINE
RADIX 10.
FRIC: 1'
FRICNT: -10
DISA: -120
SWT: -1
SWIT: -1
K1363: 1363'
FAULT1: -3
FAULT2: -3
COUNT: 1
COUNT1: 0
COUNT2: 0
RADIX 8.
AJMP: DJMS AJMPR
GJMP: DHLT
FJMP: DJMP BJMPER
BJMP: DJMP LABLE
RADIX 10.
CNTJR1: 0
CNTJR2: 0
ONCE: 1'
REFIRE: 0
SECONDS: 400
SCORE1: 0
SCORE2: 0
THEEND: 0
PAD1: 0
PAD2: 0
RANDOM: 0'
TURN: -6
SIDE: 1
GRV: -1
GRAVITY: -5
GF: -3
GRAV: -5
GOFFSET: 3
GRVLBL: 0
INCR: 0
SPINC1: 0'
SPINC2: 0'
STORSPD: -7
SPEED: -7
TIMEOUT: -1000
ADDER: 4 ; SIGN BOUNCE SPEED
EXTRA: 0
P1: 1'
P2: 1'
AUTO1: -1
AUTO2: -1
DOUB: 0
TEMP: 0
RADIX 8.
SWTJMP: DJMP NOSW
SAJMP: DJMP AUTOSPD+1
RADIX 10.
NOBOUNCE: 0'
OLDY1: 20777'
OLDY2: 20777'
FROM: -2
DELAY: -20'
K3060: 3060'
K3062: 3062'
K377: 377'
K1000: 1000'
K1400: 1400'
K2000: 2000'
K17: 17'
K8: 8
K1777: 3777'
K400: 400'
K100777: 100777'
K100: 100'
K11670: 11670'
K10110: 10110'
K21570: 21570'
K20: 20
K020: 20'
K76: 76'
K24: 24
K011: 11
N12000: -12000
K10777: 10777'
K20777: 20777'
K260: 260'
K660: 660'
K10: 10
K4: 4'
K5: 5'
K3: 3'
N3: -3'
K10E5: 100000'
K100017: 100017'
K40000: 40000'
K11E4: 110000'
K11: 11'
K10000: 10000'
K20000: 20000'
K14: 14'
K1: 1
K2: 2'
K170040: 170040'
K40: 40'
K170000: 170000'
K010: 10'
K13: 13
K20100: 20100'
K10010: 10010'
K34: 34'
K11770: 11770'
K1470: 1470'
K670: 670'
K110: 110'
K21: 21
K671: 671'
K1450: 1450'
K20060: 20060'
K21520: 21520'
DNOPER: DNOP
DISP1: 0
DSF
SSF
JMP @DISP1
SCF
LAC DS1
DLA
DON
NO: CLA
ISZ TIMEOUT
JMP .+2
JMP SIGNRTN
STA
SAM AUTO1
JMS AURTN1
STA
SAM AUTO2
JMS AURTN2
COA
SAM COUNT
JMP .+11
LAC COUNT1
ADD SCJMP
DAC CNTJR1
LAC COUNT2
ADD SCJMP
DAC CNTJR2
LAC @CNTJR1
DAC CNTJ1
LAC @CNTJR2
DAC CNTJ2
COA
SAM REFIRE
JMP CON1
ISZ SECONDS
JMP CON1
CLA
DAC BP
LAC FJMP
DAC FJMPER
COA
SAM SPF
JMP .+6
CLA
DAC SPF
LWC 150
DAC SECONDS
JMP CON2
CLA
DAC REFIRE
SAM THEEND
JMP .+3
LAC DNOPER
DAC BP
ISZ TURN
JMP .+6
LWC 5
DAC TURN
LAC SIDE
CIA
DAC SIDE
LAC @10'
XOR TIMEOUT
AND K17
SUB K8
DAC INCR
GETY: LAC @11'
G1: XOR @12'
AND K1777
SUB K100
ASP
JMP G1
SUB K1470
ASM
JMP GETY
ADD K21570
;%%%%%%%%%%%%%%%%%%%
JMS BALLYS
;%%%%%%%%%%%%%%%%%%%
LWC 3
DAC FAULT1
DAC FAULT2
COA
SAM SIDE
JMP .+8
LAC STORSPD
ASM
CIA
DAC SPEED
LAC K11670
;%%%%%%%%%%%%%%%%%%%
JMS BALLXS
;%%%%%%%%%%%%%%%%%%%
JMP @DISP1
LAC STORSPD
ASP
CIA
DAC SPEED
LAC K10110
;%%%%%%%%%%%%%%%%%%%
JMS BALLXS
;%%%%%%%%%%%%%%%%%%%
JMP @DISP1
FAUL1R: ISZ SCORE2
COA
DAC SPF
DAC REFIRE
LAC DNOPER
DAC FJMPER
LWC 100
DAC SECONDS
JMP GO1
FAUL2R: ISZ SCORE1
COA
DAC SPF
DAC REFIRE
LAC DNOPER
DAC FJMPER
LWC 100
DAC SECONDS
JMP GO2
FCHECK: 0
CLA
SAM REFIRE
JMP @FCHECK
ISZ ONCE
JMP .+2
JMP @FCHECK
SAM FC
JMP .+4
ISZ FAULT1
JMP .+3
JMP FAUL1R
ISZ FAULT2
JMP @FCHECK
JMP FAUL2R
CON1: LAC PAD1
;##############################
JMS A1Y
;##############################
;%%%%%%%%%%%%%%%%%%%
JMS PAD1YS
;%%%%%%%%%%%%%%%%%%%
LAC PAD2
;##############################
JMS A2Y
;##############################
;%%%%%%%%%%%%%%%%%%%
JMS PAD2YS
;%%%%%%%%%%%%%%%%%%%
STA
SAM FRIC
JMP DONEFRCH
ISZ FRICNT
JMP DONEFRCH
LWC 10
DAC FRICNT
LAC INCR
SAR 2
XAM INCR
SUB INCR
DAC INCR
DONEFRCH: LAC K21520
;##############################
JMS S1Y
;##############################
ASM
JMP .+9
COA
SAM PAP1
JMP PT1A
CLA
DAC PAD1
LAC K21520
;%%%%%%%%%%%%%%%%%%%
JMS PAD1YS
;%%%%%%%%%%%%%%%%%%%
JMP TBPCHK2
SUB K1450
ASP
JMP TBPCHK2
COA
SAM PAP2
JMP PT1B
LAC K20060
;%%%%%%%%%%%%%%%%%%%
JMS PAD1YS
;%%%%%%%%%%%%%%%%%%%
CLA
DAC PAD1
TBPCHK2: LAC K21520
;##############################
JMS S2Y
;##############################
ASM
JMP .+9
COA
SAM PAP1
JMP PTN2A
CLA
DAC PAD2
LAC K21520
;%%%%%%%%%%%%%%%%%%%
JMS PAD2YS
;%%%%%%%%%%%%%%%%%%%
JMP DONETBCK
SUB K1450
ASP
JMP DONETBCK
COA
SAM PAP2
JMP PTN2B
LAC K20060
;%%%%%%%%%%%%%%%%%%%
JMS PAD2YS
;%%%%%%%%%%%%%%%%%%%
CLA
DAC PAD2
JMP DONETBCK
PT1A: LAC K20060
;%%%%%%%%%%%%%%%%%%%
JMS PAD1YS
;%%%%%%%%%%%%%%%%%%%
JMP TBPCHK2
PT1B: LAC K21520
;%%%%%%%%%%%%%%%%%%%
JMS PAD1YS
;%%%%%%%%%%%%%%%%%%%
JMP TBPCHK2
PTN2A: LAC K20060
;%%%%%%%%%%%%%%%%%%%
JMS PAD2YS
;%%%%%%%%%%%%%%%%%%%
JMP DONETBCK
PTN2B: LAC K21520
;%%%%%%%%%%%%%%%%%%%
JMS PAD2YS
;%%%%%%%%%%%%%%%%%%%
DONETBCK: COA
SAM GRV
JMP GO
ISZ GRAV
JMP GO
LAC GRAVITY
DAC GRAV
STA
ADD INCR
DAC INCR
ADD K400
ASM
JMP GO
LAC INCR
CIA
DAC INCR
GO: CAL
SAM NOBOUNCE
JMP CON2
LAC K20100
;##############################
JMS SLY
;##############################
ASP
JMP BCHK2
COA
SAM WRAP2
JMP WRAPD1
DAC ONCE
SAM GRV
JMP .+6
LAC INCR
ASP
CMA
DAC INCR
JMP CON2
COA
JMS FCHECK
LAC INCR
ASP
CIA
DAC INCR
JMP CON2
WRAPD1: LAC K21570
;%%%%%%%%%%%%%%%%%%%
JMS BALLYS
;%%%%%%%%%%%%%%%%%%%
JMP CON2
BCHK2: ADD K1470
ASM
JMP CON2
COA
SAM WRAP1
JMP WRAPD2
JMS FCHECK
STA
DAC ONCE
LAC INCR
ASM
CIA
DAC INCR
JMP CON2
WRAPD2: LAC K20100
;%%%%%%%%%%%%%%%%%%%
JMS BALLYS
;%%%%%%%%%%%%%%%%%%%
CON2: CLA
SAM EXTRA
JMP CONTINUE
LAC SCORE1
ADD SCJMP
DAC SCJMP1
LAC SCORE2
ADD SCJMP
DAC SCJMP2
LAC @SCJMP1
DAC JMPER1
LAC @SCJMP2
DAC JMPER2
CONTINUE: CLA
SAM REFIRE
JMP RETURN
SAM THEEND
JMP RETURN
LAC INCR
;##############################
JMS ALY
;##############################
;%%%%%%%%%%%%%%%%%%%
JMS BALLYS
;%%%%%%%%%%%%%%%%%%%
LAC SPEED
;##############################
JMS ALX
;##############################
;%%%%%%%%%%%%%%%%%%%
JMS BALLXS
;%%%%%%%%%%%%%%%%%%%
SUB K10777
ASM
JMP CON4
ADD K670
ASP
JMP .+6
LWC 300
DAC FAULT2
CLA
DAC FC
JMP RETURN
ADD K34 ; REMEMBER K34 IS USED OTHER PLACES
ASP
JMP CON3A
;%%%%%%%%%%%%%%%%%%%
JMS PAD1YT
;%%%%%%%%%%%%%%%%%%%
;##############################
JMS SLY
;##############################
SUB K010
ASM
JMP CON3
ADD K110
ASP
JMP CON3
JMS ADDRTN
LAC GF
DAC FAULT1
LAC SPEED
ASP
CIA
DAC SPEED
LDA
ASM
BEL ; RING BELL '
LAC INCR
ADD SPINC1
ADD PAD1
DAC INCR
JMP RETURN
CON3A: COA
DAC NOBOUNCE
;%%%%%%%%%%%%%%%%%%%
CON3: JMS BALLXT
;%%%%%%%%%%%%%%%%%%%
SUB K10010
ASM
JMP @DISP1
ISZ SCORE2
COA
DAC REFIRE
LWC 200
DAC SECONDS
CLA
DAC BP
DAC NOBOUNCE
GO1: CLA
SAM EXTRA
JMP EXTRT1
LAC SCORE2
SAM K20
JMP .+6
SAM SCORE1
JMP @DISP1
COA
DAC EXTRA
JMP EXTRT1
SAM K21
JMP RETURN
LAW 20
SAM COUNT2
JMP .+4
CLA
DAC COUNT1
DAC COUNT2
ISZ COUNT2
JMP ENDRTN
CON4: SUB K671
ASM
JMP .+6
LWC 300
DAC FAULT1
COA
DAC FC
JMP RETURN
SUB K34
ASM
JMP CON5A
;%%%%%%%%%%%%%%%%%%%
JMS PAD2YT
;%%%%%%%%%%%%%%%%%%%
;##############################
JMS SLY
;##############################
SUB K010
ASM
JMP CON5
ADD K110
ASP
JMP CON5
JMS ADDRTN
LAC GF
DAC FAULT2
LAC SPEED
ASM
CIA
DAC SPEED
LDA
ASM
BEL ; RING IT AGAIN YEA!!!
LAC INCR
ADD SPINC2
ADD PAD2
DAC INCR
JMP RETURN
CON5A: COA
DAC NOBOUNCE
;%%%%%%%%%%%%%%%%%%%
CON5: JMS BALLXT
;%%%%%%%%%%%%%%%%%%%
SUB K11770
ASP
JMP RETURN
ISZ SCORE1
COA
DAC REFIRE
LWC 200
DAC SECONDS
CLA
DAC NOBOUNCE
DAC BP
GO2: CLA
SAM EXTRA
JMP EXTRTN2
LAC SCORE1
SAM K20
JMP .+6
SAM SCORE2
JMP @DISP1
COA
DAC EXTRA
JMP EXTRT1
SAM K21
JMP RETURN
LAW 20
SAM COUNT1
JMP .+4
CLA
DAC COUNT1
DAC COUNT2
ISZ COUNT1
ENDRTN: COA
DAC THEEND
CLA
DAC PAD1
DAC PAD2
DAC INCR
DAC BP
JMP @DISP1
RETURN: CAL
DAC SPINC1
DAC SPINC2
JMP @DISP1
SIGNRTN: JMS DISP2
KSF
JMP SIGNRTN
LAC K3062
DAC RANDOM
DAC AS1
DAC AS2
JMP START
ADDRTN: 0
LAC @11'
XOR @14'
AND K3
SUB K1
ASM
JMP .+5
COA
ADD SPEED
DAC SPEED
JMP .+12
ASZ
JMP .+5
STA
ADD SPEED
DAC SPEED
JMP .+6
SAM K1
JMP .+4
STA
ADD INCR
DAC INCR
CLA
SAM SPEED
JMP .+3
LAW 3
DAC SPEED
JMP @ADDRTN
;SGNWAIT: DSF
; SSF
; JMP SGNWAIT
; JMP SIGNRTN
AURTN1: 0
CLA
SAM THEEND
JMP @AURTN1
SAM REFIRE
JMP @AURTN1
LAC SPEED
ASM
JMP @AURTN1
LAC K4
SAM RANDOM
JMP .+2
JMP RANDA1
;%%%%%%%%%%%%%%%%%%%
RBACK1: JMS BALLYT
;%%%%%%%%%%%%%%%%%%%
SUB K34
;##############################
JMS S1Y
;##############################
ASN
JMP .+7
ASP
JMP .+3
ADD K20
JMP .+2
SUB K20
AS1: SAR 2
DAC PAD1
JMP @AURTN1
AURTN2: 0
CLA
SAM THEEND
JMP @AURTN2
SAM REFIRE
JMP @AURTN2
LAC SPEED
ASP
JMP @AURTN2
LAC K4
SAM RANDOM
JMP .+2
JMP RANDA2
;%%%%%%%%%%%%%%%%%%%
RBACK2: JMS BALLYT
;%%%%%%%%%%%%%%%%%%%
SUB K34
;##############################
JMS S2Y
;##############################
ASN
JMP .+7
ASP
JMP .+3
ADD K20
JMP .+2
SUB K20
AS2: SAR 2
DAC PAD2
JMP @AURTN2
RANDA1: LAW 5
ADD SCORE1
SUB SCORE2
ASM
JMP .+3
LAW 1
JMP RANUM1
SUB K10
ASP
JMP .+3
LAW 3
JMP RANUM1
LAC @11'
XOR @12'
AND K100017
ASZ
JMP RBACK1
LAC @11'
XOR @13'
AND K3
ASN
LAW 2
RANUM1: ADD K3060
DAC AS1
JMP RBACK1
RANDA2: LAW 5
ADD SCORE2
SUB SCORE1
ASM
JMP .+3
LAW 1
JMP RANUM2
SUB K10
ASP
JMP .+3
LAW 3
JMP RANUM2
LAC @13'
XOR @14'
AND K100017
ASZ
JMP RBACK2
LAC @11'
XOR @12'
AND K3
ASN
LAW 2
RANUM2: ADD K3060
DAC AS2
JMP RBACK2
BALLXS: 0
JMS SCALE2
DAC BALLX
LAC TEMPS1
JMP @BALLXS
BALLYS: 0
JMS SCALE2
DAC BALLY
LAC TEMPS1
JMP @BALLYS
SCALE2: 0
DAC TEMPS1
AND C3777
SAL 1
AND C3777
DAC TEMPS2
LAC TEMPS1
AND C17E4
IOR TEMPS2
JMP @SCALE2
PAD1YS: 0
JMS SCALE2
DAC PAD1Y
LAC TEMPS1
JMP @PAD1YS
PAD2YS: 0
JMS SCALE2
DAC PAD2Y
LAC TEMPS1
JMP @PAD2YS
TEMPS1: 0
TEMPS2: 0
C3777: 3777'
C17E4: 170000'
BALLXT: 0
LAC BALLX
AND D3777
SAR 1
DAC TEMPT1
LAC BALLX
AND D17E4
IOR TEMPT1
JMP @BALLXT
BALLYT: 0
LAC BALLY
AND D3777
SAR 1
DAC TEMPT1
LAC BALLY
AND D17E4
IOR TEMPT1
JMP @BALLYT
PAD1YT: 0
LAC PAD1Y
AND D3777
SAR 1
DAC TEMPT1
LAC PAD1Y
AND D17E4
IOR TEMPT1
JMP @PAD1YT
PAD2YT: 0
LAC PAD2Y
AND D3777
SAR 1
DAC TEMPT1
LAC PAD2Y
AND D17E4
IOR TEMPT1
JMP @PAD2YT
TEMPT1: 0
D3777: 3777'
D17E4: 170000'
A1Y: 0
DAC TEMPA1
JMS PAD1YT
ADD TEMPA1
JMP @A1Y
A2Y: 0
DAC TEMPA1
JMS PAD2YT
ADD TEMPA1
JMP @A2Y
ALY: 0
DAC TEMPA1
JMS BALLYT
ADD TEMPA1
JMP @ALY
ALX: 0
DAC TEMPA1
JMS BALLXT
ADD TEMPA1
JMP @ALX
S1Y: 0
DAC TEMPA1
JMS PAD1YT
DAC TEMPA2
LAC TEMPA1
SUB TEMPA2
JMP @S1Y
S2Y: 0
DAC TEMPA1
JMS PAD2YT
DAC TEMPA2
LAC TEMPA1
SUB TEMPA2
JMP @S2Y
SLX: 0
DAC TEMPA1
JMS BALLXT
DAC TEMPA2
LAC TEMPA1
SUB TEMPA2
JMP @SLX
SLY: 0
DAC TEMPA1
JMS BALLYT
DAC TEMPA2
LAC TEMPA1
SUB TEMPA2
JMP @SLY
TEMPA1: 0
TEMPA2: 0
DISP2: 0
DSF
SSF
JMP @DISP2
SCF
DCF
LAC DS2
DLN
COA
DAC WRAP1
DAC WRAP2
DAC FRIC
STA
DAC SWIT
LAC SWTJMP
DAC SWTLINE
LAC ADDER
ADD SIGNY
DAC SIGNY
AND [3777']
SUB [200']
ASM
JMP DISP2A
LAC [020200']
DAC SIGNY
LAC ADDER
ASM
JMP @DISP2
CIA
DAC ADDER
JMP @DISP2
DISP2A: LAC SIGNY
AND [3777']
SUB [3240']
ASP
JMP @DISP2
LAC [023240']
DAC SIGNY
LAC ADDER
ASP
JMP @DISP2
CIA
DAC ADDER
JMP @DISP2
DISP3: 0
DSF
SSF
JMP @DISP3
SCF
LAC DS3
DLA
DON
ISZ TIMEOUT
JMP .+2
JMP SIGNRTN
DSN
JMP .-1
NOO2: CLA
COA
SAM FRIC
JMP .+4
LAC FJ
DAC FRJMP
JMP .+3
LAC DNOPER
DAC FRJMP
STA
SAM WRAP1
JMP WRCH2
LAC DNOPER
DAC WJ1
JMP WRCH3
WRCH2: LAC WJMP1
DAC WJ1
WRCH3: STA
SAM WRAP2
JMP WRCH4
LAC DNOPER
DAC WJ2
JMP .+3
WRCH4: LAC WJMP2
DAC WJ2
STA
SAM PAP1
JMP PCH2
LAC DNOPER
DAC PWJ1
JMP PCH3
PCH2: LAC PWJMP1
DAC PWJ1
PCH3: STA
SAM PAP2
JMP PCH4
LAC DNOPER
DAC PWJ2
JMP .+3
PCH4: LAC PWJMP2
DAC PWJ2
COA
SAM AUTO1
JMP NXAC
LAC DNOPER
DAC SAJP
JMP DACKS
NXAC: SAM AUTO2
JMP NOA
JMP .-5
NOA: LAC SAJMP
DAC SAJP
DACKS: LAC K4
SAM RANDOM
JMP .+3
LAW 4
JMP .+3
LAC AS1
AND K3
ADD SCJMP
DAC AUTOSPD
LAC @AUTOSPD
DAC AUTOSPD
CLA
SAM EXTRA
JMP SPCHSC
LAC SCORE1
ADD SCJMP
DAC BSC1
LAC @BSC1
DAC BSC1
LAC SCORE2
ADD SCJMP
DAC BSC2
LAC @BSC2
DAC BSC2
BAC: LAC GOFFSET
ADD SCJMP
DAC GJMPNUM
LAC @GJMPNUM
DAC GJMPNUM
COA
SAM AUTO1
JMP .+3
LAC AJMP
JMP .+2
LAC DNOPER
DAC AJ1
COA
SAM AUTO2
JMP .+3
LAC AJMP
JMP .+2
LAC DNOPER
DAC AJ2
COA
SAM COUNT
JMP .+3
LAC DNOPER
JMP .+2
LAC CJP
DAC CJ
LAC STORSPD
ASP
CIA
SUB K3
ADD SCJMP
DAC SPDJMP
LAC @SPDJMP
DAC SPDJMP
LAC COUNT1
ADD SCJMP
DAC CJMP1
LAC @CJMP1
DAC CJMP1
LAC COUNT2
ADD SCJMP
DAC CJMP2
LAC @CJMP2
DAC CJMP2
JMP @DISP3
SPCHSC: LAC DNOPER
DAC BSC1
DAC BSC2
JMP BAC
VARIABLES
CONSTANTS
RADIX 8.
DS3: .+1
DSTB 3
DSTS 0
SAJP: DJMP AUTOSPD+1
DLXA 740
DLYA 1400
DJMS CWAIT
DJMS AJMPR
DSTS 1
DLXA 740
DLYA 1370
DJMS CWAIT
AUTOSPD: DJMS RTN2
DSTS 1
PWJ1: DJMP PWJ2
DLXA 750
DLYA 600
DJMS CWAIT
DJMS UPARW
PWJ2: DJMP FRJMP
DLXA 750
DLYA 600
DJMS CWAIT
DJMS DWNARW
FRJMP: DJMP WJ1
DLXA 770
DLYA 300
DJMS CWAIT
DJMS RTNF
WJ1: DJMP WJ2
DLXA 1004
DLYA 600
DJMS CWAIT
DJMS UPARW
WJ2: DJMP SWTLINE
DLXA 1004
DLYA 600
DJMS CWAIT
DJMS DWNARW
SWTLINE: DJMP NOSW
DLXA 100
DLYA 100
DJMS CWAIT
DLV B,100,-40
DLV B,0,100
DLV B,-100,-40
DLV B,1600,0
DLV B,-100,40
DLV B,0,-100
DLV B,100,40
NOSW: DLXA 400
DLYA 1540
DJMS CWAIT
BSC1: DJMS RTN0
DLXA 1250
DLYA 1540
DJMS CWAIT
BSC2: DJMS RTN0
DLXA 200
DLYA 1100
DJMS CWAIT
AJ1: DNOP
DLXA 1500
DLYA 1100
DJMS CWAIT
AJ2: DNOP
CJ: DJMP L1
DLXA 100
DLYA 1620
DJMS CWAIT
CJMP1: DJMS RTN0
DLXA 1570
DLYA 1620
DJMS CWAIT
CJMP2: DJMS RTN0
L1: DLXA 730
DLYA 1020
DJMS CWAIT
SPDJMP: DJMS RTN7
GJMPER: DHLT
DLXA 730
DLYA 440
DJMS CWAIT
GJMPNUM: DJMS RTN3
DHLT
DS2: .+1
DSTB 3
DSTS 1
DLXA 600
SIGNY: DLYA 1000
DJMP THEREST
SCJMP: NUMJMPS
SCJMP1: 0
SCJMP2: 0
DS1: .+1
DSTB 3
DSTS 1
DLXA 70
DLYA 70
DJMS CWAIT
DLV B,1620,0
DLV D,-710,0
DLV X,0,1510
DLV D,710,0
DLV B,-1620,0
DLV X,0,-1510
DLV D,1620,0
DLV X,0,1510
DLXA 70
PAD1Y: DLYA 777
DJMS CWAIT
DLV B,10,0
DLV B,0,70
DLV B,-10,0
DLV B,0,-70
DLXA 1710
PAD2Y: DLYA 777
DJMS CWAIT
DLV B,0,70
DLV B,-10,0
DLV B,0,-70
DLV B,10,0
DLXA 20
DLYA 1000
DJMS CWAIT
AJMPR1: DNOP
DLXA 1730
DLYA 1000
DJMS CWAIT
AJMPR2: DNOP
FJMPER: DJMP BJMPER
DLXA 720
DLYA 1770
DJMS CWAIT
DJMS RTNFAULT
BJMPER: DNOP
DLXA 20
DLYA 1760
DJMS CWAIT
CNTJ1: DJMS RTN0
DLXA 1660
DLYA 1760
DJMS CWAIT
CNTJ2: DJMS RTN0
LABLE: DLXA 400
DLYA 1700
DJMS CWAIT
JMPER1: DJMS RTN0
DLXA 1250
DLYA 1700
DJMS CWAIT
JMPER2: DJMS RTN0
BP: DNOP
BALLX: DLXA 770
BALLY: DLYA 770
DJMS CWAIT
DLV D,10,4
DLV B,-4,4
DLV B,-10,0
DLV B,-4,-4
DLV B,0,-10
DLV B,4,-4
DLV B,10,0
DLV B,4,4
DLV B,0,10
DHLT
UPARW: DLV B,0,100
.LSTOFF
DLV B,-10,-20
DLV B,20,0
DLV B,-10,20
DRJM
DWNARW: DLV B,-10,20
DLV B,20,0
DLV B,-10,-20
DLV B,0,100
DRJM
RTNF: DLV B,30,0
DLV B,0,-10
DLV B,-20,0
DLV B,0,-10
DLV B,10,0
DLV B,0,-10
DLV B,-10,0
DLV B,0,-20
DLV B,-10,0
DLV B,0,50
DRJM
RTN0: DLV D,50,0
DLV B,10,0
DLV B,10,-10
DLV B,0,-30
DLV B,-10,-10
DLV B,-10,0
DLV B,-10,10
DLV B,0,30
DLV B,10,10
DLV D,0,-10
DLV B,10,0
DLV B,0,-30
DLV B,-10,0
DLV B,0,30
DRJM
RTN1: DLV D,50,0
DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DLV D,50,0
DRJM
RTN2: DLV D,50,0
DLV B,10,0
DLV B,10,-10
DLV B,0,-10
DLV B,-20,-20
DLV B,20,0
DLV B,0,-10
DLV B,-30,0
DLV B,0,10
DLV B,20,20
DLV B,0,10
DLV B,-10,0
DLV B,-10,-10
DLV B,0,10
DLV B,10,10
DLV D,50,0
DRJM
RTN3: DLV D,50,0
DLV B,10,0
DLV B,10,-10
DLV B,0,-30
DLV B,-10,-10
DLV B,-10,0
DLV B,-10,10
DLV B,0,10
DLV B,10,-10
DLV B,10,0
DLV B,0,10
DLV B,-10,0
DLV B,0,10
DLV B,10,0
DLV B,0,10
DLV B,-10,0
DLV B,-10,-10
DLV B,0,10
DLV B,10,10
DRJM
RTN4: DLV D,50,0
DLV B,0,-20
DLV B,10,0
DLV B,0,20
DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,20
DLV B,-20,0
DLV B,0,30
DLV B,10,0
DRJM
RTN5: DLV D,40,0
DLV B,30,0
DLV B,0,-10
DLV B,-20,0
DLV B,0,-10
DLV B,20,0
DLV B,0,-30
DLV B,-30,0
DLV B,0,10
DLV B,20,0
DLV B,0,10
DLV B,-20,0
DLV B,0,30
DRJM
RTN6: DLV D,50,0
DLV B,10,0
DLV B,10,-10
DLV B,0,-10
DLV B,-10,10
DLV B,-10,0
DLV B,0,-10
DLV B,10,0
DLV B,10,-10
DLV B,0,-10
DLV B,-10,-10
DLV B,-10,0
DLV B,-10,10
DLV B,0,30
DLV B,10,10
DLV D,0,-30
DLV B,0,-10
DLV B,10,0
DLV B,0,10
DLV B,-10,0
DRJM
RTN7: DLV D,40,0
DLV B,30,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,40
DLV B,-20,0
DLV B,0,10
DRJM
RTN8: DLV D,50,0
DLV B,10,0
DLV B,10,-10
DLV B,0,-10
DLV B,-10,-4
DLV B,10,-4
DLV B,0,-10
DLV B,-10,-10
DLV B,-10,0
DLV B,-10,10
DLV B,0,10
DLV B,10,4
DLV B,-10,4
DLV B,0,10
DLV B,10,10
DLV D,0,-10
DLV B,10,0
DLV B,0,-6
DLV B,-4,-2
DLV B,-4,2
DLV B,0,6
DLV D,0,-30
DLV B,10,0
DLV B,0,6
DLV B,-4,2
DLV B,-4,-2
DLV B,0,-6
DRJM
RTN9: DLV D,50,0
DLV B,10,0
DLV B,10,-10
DLV B,0,-30
DLV B,-10,-10
DLV B,-10,0
DLV B,-10,10
DLV B,0,10
DLV B,10,-10
DLV B,10,0
DLV B,0,10
DLV B,-10,0
DLV B,-10,10
DLV B,0,10
DLV B,10,10
DLV D,0,-10
DLV B,10,0
DLV B,0,-10
DLV B,-10,0
DLV B,0,10
DRJM
RTN10: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN0
RTN11: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN1
RTN12: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN2
RTN13: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN3
RTN14: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN4
RTN15: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN5
RTN16: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN6
RTN17: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN7
RTN18: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN8
RTN19: DLV B,10,0
DLV B,0,-50
DLV B,-10,0
DLV B,0,50
DJMP RTN9
RTN20: DLV B,10,0
DLV B,10,-10
DLV B,0,-10
DLV B,-20,-20
DLV B,20,0
DLV B,0,-10
DLV B,-30,0
DLV B,0,10
DLV B,20,20
DLV B,0,10
DLV B,-10,0
DLV B,-10,-10
DLV B,0,10
DLV B,10,10
DJMP RTN0
RTN21: DLV B,10,0
DLV B,10,-10
DLV B,0,-10
DLV B,-20,-20
DLV B,20,0
DLV B,0,-10
DLV B,-30,0
DLV B,0,10
DLV B,20,20
DLV B,0,10
DLV B,-10,0
DLV B,-10,-10
DLV B,0,10
DLV B,10,10
DJMP RTN1
AJMPR: DLV B,0,40
DLV B,10,10
DLV B,10,0
DLV B,10,-10
DLV B,0,-40
DLV D,0,30
DLV B,-30,0
DLV D,0,-40
DLV B,0,-40
DLV B,10,-10
DLV B,10,0
DLV B,10,10
DLV B,0,40
DLV D,0,-60
DLV B,-30,0
DLV D,14,0
DLV B,0,-50
DLV D,-4,-10
DLV B,10,0
DLV B,10,-10
DLV B,0,-30
DLV B,-10,-10
DLV B,-10,0
DLV B,-10,10
DLV B,0,30
DLV B,10,10
DRJM
DEUCERTN: DLXA 700
DLYA 1700
DJMS CWAIT
DLV B,0,-50
DLV B,20,0
DLV B,10,10
DLV B,0,30
DLV B,-10,10
DLV B,-20,0
DLV D,70,0
DLV B,-30,0
DLV B,0,-50
DLV B,30,0
DLV D,-30,24
DLV B,20,0
DLV D,20,24
DLV B,0,-40
DLV B,10,-10
DLV B,10,0
DLV B,10,10
DLV B,0,40
DLV D,40,-10
DLV B,-10,10
DLV B,-10,0
DLV B,-10,-10
DLV B,0,-30
DLV B,10,-10
DLV B,10,0
DLV B,10,10
DLV D,40,-10
DLV B,-30,0
DLV B,0,50
DLV B,30,0
DLV D,-30,-24
DLV B,20,0
DJMP BP
PLRTN: DLV B,10,0
DLV B,0,-20
DLV B,20,0
DLV B,0,-10
DLV B,-20,0
DLV B,0,-20
DLV B,-10,0
DLV B,0,20
DLV B,-20,0
DLV B,0,10
DLV B,20,0
DLV B,0,20
DJMP BP
WINRTN: DLV B,0,-50
DLV B,14,20
DLV B,14,-20
DLV B,0,50
DLV D,10,0
DLV B,30,0
DLV D,-14,0
DLV B,0,-50
DLV D,-14,0
DLV B,30,0
DLV D,10,0
DLV B,0,50
DLV B,30,-50
DLV B,0,50
DJMP BP
NUMJMPS: DJMS RTN0
DJMS RTN1
DJMS RTN2
DJMS RTN3
DJMS RTN4
DJMS RTN5
DJMS RTN6
DJMS RTN7
DJMS RTN8
DJMS RTN9
DJMS RTN10
DJMS RTN11
DJMS RTN12
DJMS RTN13
DJMS RTN14
DJMS RTN15
DJMS RTN16
DJMS RTN17
DJMS RTN18
DJMS RTN19
DJMS RTN20
DJMS RTN21
THEREST: DJMS CWAIT
DLV B,0,200
DLV B,60,0
DLV B,20,-20
DLV B,0,-40
DLV B,-20,-20
DLV B,-60,0
DLV D,140,-60
DLV B,0,140
DLV B,20,20
DLV B,40,0
DLV B,20,-20
DLV B,0,-140
DLV B,-20,-20
DLV B,-40,0
DLV B,-20,20
DLV D,140,-20
DLV B,0,200
DLV B,100,-200
DLV B,0,200
DLV D,140,-20
DLV B,-20,20
DLV B,-40,0
DLV B,-20,-20
DLV B,0,-140
DLV B,20,-20
DLV B,40,0
DLV B,20,20
DLV B,0,60
DLV B,-40,0
DHLT
RTNFAULT: DLV B,-30,0
DLV B,0,-50
DLV D,0,30
DLV B,20,0
DLV D,20,-30
DLV B,0,40
DLV B,10,10
DLV B,10,0
DLV B,10,-10
DLV B,0,-40
DLV D,-30,30
DLV B,30,0
DLV D,10,20
DLV B,0,-40
DLV B,10,-10
DLV B,10,0
DLV B,10,10
DLV B,0,40
DLV D,10,0
DLV B,0,-50
DLV B,30,0
DLV D,24,0
DLV B,0,50
DLV D,-14,0
DLV B,30,0
DRJM
.LSTON
CWAIT: DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DNOP
DRJM
END BEGIN