From d42d3329765fa56f9fc2ed4bad3dc103cf80820e Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Tue, 22 Jan 2019 21:39:03 +0100 Subject: [PATCH] Imlac PONG. --- build/misc.tcl | 8 + doc/programs.md | 1 + src/imsrc/pong.38 | 2345 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2354 insertions(+) create mode 100644 src/imsrc/pong.38 diff --git a/build/misc.tcl b/build/misc.tcl index 81fed85a..1c3c48fe 100644 --- a/build/misc.tcl +++ b/build/misc.tcl @@ -1174,6 +1174,14 @@ respond "@" "imlac; swar iml_imlac; swar bin\r" respond "@" "\032" type ":kill\r" +# PONG +respond "*" ":midas imlac;_imsrc; pong\r" +expect ":KILL" +respond "*" ":imtran\r" +respond "@" "imlac; pong iml_imlac; pong bin\r" +respond "@" "\032" +type ":kill\r" + # KLH's Knight TV clock. respond "*" ":midas klh; ts tinyw_klh; clock\r" respond "=" "1\r" diff --git a/doc/programs.md b/doc/programs.md index bd728c5b..7b802fc7 100644 --- a/doc/programs.md +++ b/doc/programs.md @@ -235,6 +235,7 @@ - PI, print pi. - PICK, examine Muddle locks. - PLAN, creates a PLAN file in your home directory from console input. +- PONG, Imlac game. - PORTS, display free network ports. - PR, print out various system documentation. - PRINT, print long-named files. diff --git a/src/imsrc/pong.38 b/src/imsrc/pong.38 new file mode 100644 index 00000000..fa4ba1a6 --- /dev/null +++ b/src/imsrc/pong.38 @@ -0,0 +1,2345 @@ +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 +  \ No newline at end of file