1 /SPCWAR BY D.E. WREGE 2 VC8E=0 3 DK8EA=0 4 M1703=1 5 EAE=0 6 / 7 / VERSION 3 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 /COPYRIGHT (C) 1974 BY D.E. WREGE & ASSOC. 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE 27 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY D.E. WREGE & ASSOCIATES. 28 /D.E. WREGE & ASSOCIATES ASSUME NO RESPONSIBILITY 29 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. 30 / 31 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO GEORGIA TECH. 32 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED 33 /(WITH INCLUSION OF THIS COPYRIGHT NOTICE) ONLY FOR USE IN SUCH 34 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY D.E. WREGE 35 /AND ASSOC. 36 / 37 /D.E. WREGE AND ASSOC. ASSUME NO RESPONSIBILITY FOR THE USE 38 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY 39 /DIGITAL. 40 / 41 / 42 / 43 / 44 / 45 / 46 / 47 / 48 / 49 / 50 /SPACE WAR. V3 51 52 /D.E. WREGE 53 / ADDED VC8I SUPPORT - CHD 54 55 56 /CONDITIONAL ASSEMBLY PARAMETERS 57 IFNDEF EAE 58 59 /FOR AX08 TYPE DISPLAY DEFINE AX08=1 60 IFNDEF AX08 61 /FOR TYPE 30G DISPLAY DEFINE T30G=1 62 IFNDEF T30G 63 /FOR PDP-8/I OR POSIBUS VC8I DISPLAY VC8I=1 64 IFNDEF VC8I 65 /FOR PDP-8/E VC8E DISPLAY VC8E=1 66 IFNDEF VC8E 67 /PDP-12 - VR12 IS DEFAULT 68 IFZERO VC8E+VC8I+T30G+AX08 69 IFNDEF PDP12 70 71 /CONDITIONAL ASSEMBLIES FOR CLOCK 72 /FOR DK8-EA (60 CYCLE) DK8EA=1 73 IFNDEF DK8EA 74 /FOR DK8-EP PROGRAMABLE DK8EP=1 75 IFNDEF DK8EP 76 /FOR FRED DYER'S FUNNY CLOCK FCLOCK=1 77 IFNDEF FCLOCK 78 /DEFAULT IS PDP-12 KW12-A 79 IFNZRO PDP12 < 80 IFZERO DK8EA+AX08+DK8EP+FCLOCK < 81 IFNDEF KW12 >> 82 IFNDEF KW12 83 84 85 /DEFS 86 87 IFNZRO PDP12 < 88 DIS= 140 /DISPLAY A POINT LINC MODE 89 LINC= 6141 /GO TO LINC MODE 90 PDP= 0002 /GO TO 8-MODE> 91 92 IFNZRO EAE < 93 MUY= 7405 /EAE MULTIPLY 94 DVI= 7407 /EAE DIVIDE 95 NMI= 7411 /EAE NORMALIZE 96 SHL= 7413 /EAE SHIFT LEFT 97 ASR= 7415 /ARITHMETIC SHIFT RIGHT 98 LSR= 7417 /LOGICAL SHIFT RIGHT 99 MQL= 7421 /LOAD MQ;CLEAR AC 100 SCL= 7403 /STEP COUNTER LOAD FROM MEMORY 101 SCA= 7441 /STEP COUNTER TO ACCUMULATOR 102 MQA= 7501 /READ MQ 103 CAM= CLA MQL 104 > 105 106 107 D= 10 /DISPLAY BUFFER FIELD 108 DISBUF=4000 /ADDRESS OF DISPLAY BUFFER 109 110 111 /PAGE ZERO CONSTANTS AND VARIABLES 112 113 *1 114 000001 5402 JMP I .+1 115 000002 5402 INTRPT 116 117 *6 118 000006 0000 QBETA, 0 /FOR PDP-12 119 000007 0000 QALPHA, 0 /ALPHA REG USED FOR DISPLAY 120 121 000010 0000 QXR1, 0 /RESERVED XR'S 122 000011 0000 QXR2, 0 123 000012 0000 QDISXR, 0 /FOR DISPLAY ROUTINE ONLY 124 000013 0000 QXR3, 0 /MUST BE USED WITH IOF 125 126 *20 127 /VARIABLES RESERVED 128 129 000020 0000 QR, 0 /SHIP POSITION RADIAL 130 000021 0000 ALIVE, 0 /=0 WHEN SHIP BLOWN UP 131 /NON-ZERO OTHERWISE 132 000022 0000 QXPOS, 0 /X COORD. 133 000023 0000 QYPOS, 0 /Y COORD. 134 000024 0000 QVX, 0 /X COMPONENT VELOCITY 135 000025 0000 QVY, 0 /Y COMPONENT VELOCITY 136 000026 0000 QPH, 0 /SHIP ANGLE (NOT POSITION DEPENDENT) 137 000027 0000 QPHDOT, 0 /SHIP ANGULAR VELOCITY 138 000030 0000 QPHR, 0 /PRECISION QPH 139 140 000031 0000 SHIELD, 0 /NON-ZERO WHEN SHIELDS ARE UP. 141 /WHEN SHIELDS ARE UP NO MISSELS 142 /AND NO ACCELLERATION ALLOWED. 143 000032 0000 HYPERS, 0 /NON-ZERO WHEN IN HYPERSPACE 144 000033 0001 MISCNT, 1 /-# MISSLES LEFT 145 000034 0000 ARMED, 0 /INCREMENTS TO 0 BEFORE SHIP 146 /CAN FIRE 147 000035 0000 QSHIP, 0 /POINT TO SHIP PICTURE 148 000036 0000 QSHIPN, 0 /# POINTS TO BE DISPLAYED IN SHIP 149 000037 0000 QSINPH, 0 /SIN(QPH) 150 000040 0000 QCOSPH, 0 /COS(QPH) 151 SHIPSZ=.-QR /#ENTRIES/SHIP 152 153 154 000041 3777 QTIME, 3777 /TIME SCALING FACTOR 155 /TEMPS AND VARIABLES 156 157 000042 0000 QSINTH, 0 /SIN(QTH) 158 000043 0000 QCOSTH, 0 /COS(QTH) 159 000044 0000 BREAKU, 0 /NON-ZERO WHEN SHIP BREAKING UP. 160 000045 0000 DBUFP, 0 /POINTS TO NEXT POS IN DISP BUFF. 161 000046 0000 QTHR, 0 /NON-ZERO WHEN MAIN ROCKETS ON 162 000047 0000 QTHA, 0 /NON-ZERO WHEN ANGULAR THRUST ON 163 000050 0000 CONSER, 0 /NON-ZERO IF CONSERVING ANGULAR 164 /MOMENTUM 165 000051 0000 NUMMIS, 0 /# MISSELS IN MISTBL 166 000052 0000 NNUMMI, 0 /TEMPORORY FOR UPDATING MISSLES 167 168 000053 0001 MAXMIS, -7777 /NUMBER OF ALLOWABLE MISSELS 169 000054 0000 QTM1, 0 /GENERAL TEMPORARYS 170 000055 0000 QTM2, 0 171 000056 0000 QCNT1, 0 172 000057 0000 QCNT2, 0 173 000060 0000 QCNT3, 0 /MUST BE USED WITH IOF 174 175 /CONSTANTS 176 177 000061 0010 QTHRUS, 10 /THRUST 178 000062 1000 QGRAV, 1000 /GRAVITY 179 000063 0004 QRET, 4 /THRUST ANGULAR RETRO'S 180 000064 1000 QTHROC, 1000 /MUSSEL VELOCITY OF ROCKETS 181 182 183 /THE FOLLOWING ARE POINTERS & FLAGS 184 185 000065 2000 PSAUCP, SAUC /POINTER TO SAUCER SHIP GENERATOR 186 000066 3400 MISPNT, MISTBL /POINTS TO WHERE NEXT MISSEL SHOULD 187 /GO IN MISSEL TABLE 188 000067 1003 BOUNCX, NULL 189 000070 1003 BOUNCY, NULL 190 191 /NEW INSTRUCTIONS 192 193 MULT=JMS I . 194 000071 0202 XMULT 195 DIVIDE=JMS I . 196 000072 0234 XDIVID 197 DISPLAY=JMS I . 198 000073 0261 XDISPL 199 COS=JMS I . /COSINE LOOKUP 200 000074 0326 XCOSIN 201 SIN=JMS I . /SINE LOOKUP 202 000075 0307 XSINE 203 GGRAV=JMS I . 204 000076 2650 XGGRAV 205 RANDOM=JMS I . 206 000077 0332 XRANDOM 207 ONDECK=JMS I . 208 000100 1413 XONDECK 209 OFDECK=JMS I . 210 000101 1431 XOFDECK 211 DRAW=JMS I . 212 000102 1600 CALPNT 213 NXTPOS=JMS I . 214 000103 2400 NEWPOS 215 NXTANG=JMS I . 216 000104 2462 ANGLES 217 FLAME=JMS I . 218 000105 3142 DFLAME 219 DSTARS=JMS I . 220 000106 3200 SUN 221 DSUN=JMS I . 222 000107 3254 POLARS 223 FIRE=JMS I . 224 000110 3266 FIRONE 225 226 /THESE DEFS ARE ONLY FOR INTERMEDIATE 227 /STAGES OF DEVELOPMENT. 228 229 IFDEF XXXXXX < /OR IFPASS2 230 IFNDEF XONDECK 231 IFNDEF XOFDECK 232 IFNDEF CALPNT 233 IFNDEF NEWPOS 234 IFNDEF ANGLES 235 IFNDEF DFLAME 236 IFNDEF SUN 237 IFNDEF FIRONE 238 IFNDEF SAUC 239 IFNDEF XGGRAV 240 IFNDEF BOUNX 241 IFNDEF BOUNY 242 IFNDEF MISTBL 243 IFNDEF SPCWAR > 244 XXXXXX=. 245 000111 7402 HLT 246 247 PAGE 248 /SO WE HAVE START AT 200 249 250 000200 5601 JMP I .+1 251 000201 4600 SPCWAR 252 253 /SIGNED MULTIPLY ROUTINE. 254 /THIS ROUTINE DOES A INTEGER MULTIPLY OF 255 /TWO SIGNED NUMBERS (11 BITS OF SIGNIF). 256 /RESULT IS A SINGLE 12-BIT SIGNED NUMBER. 257 /CALL: TAD (MLTCAND 258 / JMS MULT 259 / MLTPLR 260 261 000202 0000 XMULT, 0 262 000203 7100 CLL /WILL SAVE IN LINK 263 000204 7510 SPA /MULTIPLICAND POSITIVE? 264 000205 7061 CMA CML IAC /NO: MAKE POS. REMEMBER SIGN IN LINK 265 000206 4560 MQL /LOAD MULTIPLICAND INTO MQ 266 000207 1602 TAD I XMULT /PICK UP MULTIPLIER 267 000210 2202 ISZ XMULT /POINT TO RETURN 268 000211 7510 SPA /POSITIVE?? 269 000212 7061 CMA CML IAC /NO: MAKE POS AND REMEMBER SIGN 270 000213 3217 DCA XMULT1 /FOR THE MULTIPLY 271 000214 7044 CMA RAL /AC=-1 IF NEG;-2 IF POS. 272 000215 3233 DCA XMULTS /SAVE IT FOR LATER 273 000216 4562 MUY /EAE MULTIPLY 274 000217 0000 XMULT1, 0 /MULTIPLYER GOES HERE 275 000220 4564 SHL /WANT CORRECT NORMALIZATION 276 000221 0000 0 /ONE SHIFT ONLY 277 000222 3217 DCA XMULT1 /REMEMBER HIGH ORDER 278 000223 4570 MQA /READ LOW ORDER 279 000224 7710 SPA CLA /SKIP IF NO ROUND UP 280 000225 7001 IAC /ROUND UP ONE 281 000226 1217 TAD XMULT1 /MAKE ROUNDED RESULT 282 000227 2233 ISZ XMULTS /WILL SKIP IF NEG SIGN 283 000230 5602 JMP I XMULT /DONE: AC=RESULT 284 000231 7041 CIA /NEGATE 285 000232 5602 JMP I XMULT /AND RETURN 286 287 000233 0000 XMULTS, 0 /SAVES SIGN OF RESULT 288 289 290 /DIVISION OF SIGNED DIVIDEND BY UNSIGNED DIVISOR. 291 /EXIT WITH 12-BIT SIGNED RESULT. 292 /DIVIDE OVERFLOW ONLY OCCURS WHEN DIVISOR=0 293 /CALL: TAD (DIVIDEND 294 / DIVIDE 295 / DIVISOR 296 / ERROR /DIVISION BY 0 297 / NORMAL RET. /AC=SIGNED RESULT 298 299 000234 0000 XDIVID, 0 300 000235 7100 CLL /FOR SIGN 301 000236 7510 SPA /IS IT POSITIVE? 302 000237 7061 CIA CML /NO:MAKE POS. 303 000240 4560 MQL /PUT IN LOW ORDER 304 000241 7044 CMA RAL /AC=-1 IF NEG. 305 000242 3233 DCA XMULTS /SAVE SIGN 306 000243 1634 TAD I XDIVID /GET DIVISOR 307 000244 2234 ISZ XDIVID /POINT TO ERROR EXIT 308 000245 7450 SNA /SKIP IF NOT ZERO 309 000246 5634 JMP I XDIVID /TAKE DIV BY 0 RETURN 310 000247 2234 ISZ XDIVID /POINT TO NORMAL RETURN 311 000250 3252 DCA .+2 /STORE DIVISOR 312 000251 4561 DVI /DO THE DIVISION 313 000252 0000 0 /HOLDS THE DIVISOR 314 000253 7200 CLA;MQA /GET RESULT 000254 4570 315 000255 2233 ISZ XMULTS /SKIP IF NEG 316 000256 5634 JMP I XDIVID /POS=RETURN 317 000257 7041 CIA /NEG=NEGATE 318 000260 5634 JMP I XDIVID /AND RETURN 319 320 321 /DISPLAY ROUTINE. REFRESHES OUT OF BUFFER IN FIELD D. 322 /THIS IS FOR PDP-12 DISPLAY. USES QALPHA FOR REGISTER. 323 /CALL: TAD (ADDR-1 /ADDR=ADDRESS OF BUFFER IN FIELD D 324 / DISPLA /OF X,Y PAIRS. 325 / -# POINTS 326 327 000261 0000 XDISPL, 0 328 000262 3012 DCA QDISXR /ADDRESS INTO XR 329 000263 1661 TAD I XDISPL /PICK UP # X,Y PAIRS 330 000264 2261 ISZ XDISPL /POINT TO RETURN 331 000265 7450 SNA /IF ZERO POINTS THEN EXIT 332 000266 5661 JMP I XDISPL 333 000267 7130 STL RAR //2 FOR POINT PAIRS 334 000270 3056 DCA QCNT1 /STASH FOR COUNT 335 000271 6211 CDF D /TO DISPLAY BUFFER FIELD 336 000272 6002 IOF /FOR LINK MODE 337 IFNZRO PDP12 < 338 000273 1412 XDISL, TAD I QDISXR /GET THE X 339 000274 1377 TAD (400 /0 IS CENTER OF SCREEN 340 000275 3007 DCA QALPHA /STICK IN ALPHA REGISTER 341 000276 1412 TAD I QDISXR /GET Y-POSITION 342 000277 6141 LINC 343 000300 0147 DIS QALPHA /DISPLAY THE POINT 344 000301 0002 PDP /BACK TO 8-MODE 345 000302 7300 CLA CLL /GET RID OF THE Y 346 > 347 IFNZRO T30G < 348 TAD (3 /MAX INTENSITY 349 6074 /SET MAX INTENSITY 350 CLA CLL 351 XDISL, TAD I QDISXR /GET X 352 CLL RAL /512 RESOLUTION 353 TAD (1000 /TO CENTER OF SCREEN 354 6053 /CLEAR AND LOAD X 355 CLA CLL 356 TAD I QDISXR /GET Y 357 CLL RAL /512 RESOLUTION 358 TAD (1000 /TO CENTER OF SCREEN 359 6067 /CLEAR AND LOAD Y;DISPLAY 360 CLA CLL 361 6161 /WAIT TILL DONE 362 JMP .-1> 363 364 IFNZRO VC8E < 365 6050 /CLEAR ALL FLAGS 366 XDISL, TAD I QDISXR /GET X 367 CLL RAL /512 RESOLUTION 368 6053 /CLEAR AND LOAD X 369 CLA CLL 370 TAD I QDISXR /GET Y 371 CLL RAL /512 RESOLUTION 372 6054 /CLEAR AND LOAD Y 373 CLA CLL 374 6052 /WAIT TILL DONE 375 JMP .-1 376 6055 /INTENSIFY 377 > 378 IFNZRO VC8I < 379 6077 /MAX INTENSITY 380 CLA CLL 381 XDISL, TAD I QDISXR /GET X 382 CLL RAL /512 RESOLUTION 383 TAD (1000 /TO CENTER OF SCREEN 384 6052 /LOAD X 385 CLA CLL 386 TAD I QDISXR /GET Y 387 CLL RAL /512 RESOLUTION 388 TAD (1000 /TO CENTER OF SCREEN 389 6066 /LOAD Y; DISPLAY 390 CLA CLL> 391 IFNZRO AX08 < 392 XDISL, TAD I QDISXR 393 TAD (400 394 6303 /LOAD X 395 CLA CLL 396 TAD I QDISXR /GET Y 397 6317 /LOAD Y AND INTENS. 398 CLA CLL 399 > 400 401 000303 2056 ISZ QCNT1 /SKIP WHEN DONE 402 000304 5273 JMP XDISL /LOOP 403 000305 6201 CDF 0 /BACK TO THIS FIELD 404 000306 5661 JMP I XDISPL /AND RETURN 405 406 407 /SINE LOOKUP ROUTINE. ANGLES ARE IN 408 /FRACTIONS OF A CIRCLE. I.E. IN 256THS OF A CIRCL. 409 /THUS PI RADIANS=200(8) 410 /THE RESULT IS A SIGNED NUMBER -2048 1757 005023 4771 JMS I (WARSUB /DO THE CALCS 1758 005024 1032 TAD HYPERS 1759 005025 7640 SZA CLA /SKIP IF NOT IN HYPERSPACE 1760 005026 5231 JMP WAR1E /IGNORE CHECKING 1761 005027 4775 JMS I (COLIDE /CHECK FOR COLLISION WITH SUN 1762 005030 4770 JMS I (BANG /START EXPLOSION 1763 005031 1373 WAR1E, TAD (SHIP1-1 1764 005032 4501 OFDECK 1765 005033 4505 FLAME /DISPLAY FLAME 1766 1767 /NOW FOR SHIP2 1768 1769 005034 1367 WARS2, TAD (SHIP2-1 1770 005035 4500 ONDECK /NOW DO SHIP 2 1771 005036 1021 TAD ALIVE /NOW TO SEE IF HE EXISTS 1772 005037 7650 SNA CLA /SKIP IF ALIVE 1773 005040 5264 JMP WARS3 /NOPE:GO TO SHIP2 1774 005041 1372 TAD (-100 1775 005042 3315 DCA STOVER /SOMEONE STILL ALIVE 1776 005043 7604 LAS /GET SWITCHES 1777 IFNZRO M1703 < 1778 005044 7040 CMA /PRE-INVERT LAS UNLESS M1703 FOUND 1779 005045 6144 6144 /VRS: USE M1703 INPUT IF THERE 1780 005046 7040 CMA /INVERT M1703 OR UN-INVERT LAS 1781 > 1782 005047 4566 LSR;7 /OVER FOR WARSUB 005050 0007 1783 005051 4771 JMS I (WARSUB /DO THE CALCULATIONS 1784 005052 1032 TAD HYPERS 1785 005053 7640 SZA CLA /SKIP IF NOT IN HYPERSPACE 1786 005054 5261 JMP WAR2E /NO MORE CHECKING 1787 005055 4775 JMS I (COLIDE /COLLISION WITH SUN FIRST 1788 005056 7410 SKP 1789 005057 4766 JMS I (COLID1 /CHECK COLLISIONS 1790 005060 4770 JMS I (BANG /START THE EXPLOSION 1791 005061 1367 WAR2E, TAD (SHIP2-1 1792 005062 4501 OFDECK 1793 005063 4505 FLAME 1794 1795 /NOW FOR THE MISSLES 1796 1797 005064 6002 WARS3, IOF 1798 005065 4765 JMS I (MISSLS /INTERRUPTS CAN BOMB HERE 1799 005066 6001 ION 1800 1801 /AND ANY BREAKUP 1802 1803 005067 1044 TAD BREAKUP 1804 005070 7640 SZA CLA /SKIP IF ANY 1805 005071 4764 JMS I (SCATTER /DO IT 1806 1807 /NOW TO DISPLAY IT 1808 1809 005072 1045 WARDIS, TAD DBUFP 1810 005073 7041 CIA 1811 005074 1375 TAD (DISBUF 1812 005075 6002 IOF /NO INTS IN LINC MODE 1813 005076 3301 DCA WARDX /FOR DISPLAY ROUTINE 1814 005077 1363 TAD (DISBUF-1 1815 005100 4473 DISPLAY 1816 005101 0000 WARDX, 0 1817 D1=DSUN 1818 D2=DSTARS 1819 005102 4507 DSUN /DISPLAY THE UNIVERSE OR SUN 1820 005103 6001 ION 1821 005104 2315 ISZ STOVER /DELAY FOR AUTO RESTART 1822 005105 7410 SKP 1823 005106 5762 JMP I (SPCWAR /START OVER 1824 IFNZRO FCLOCK+KW12+AX08+DK8EA+DK8EP < 1825 005107 1314 TAD WAIT 1826 005110 7650 SNA CLA 1827 005111 5307 JMP .-2 1828 005112 3314 DCA WAIT> 1829 005113 5202 JMP WAR 1830 1831 005114 0000 WAIT, 0 /-1 WHEN READY 1832 /SET BY INTERRUPT ROUTINE 1833 005115 0000 STOVER, 0 /DELAY FOR AUTO RESTART 1834 1835 1836 005162 4600 PAGE 005163 3777 005164 3725 005165 3600 005166 4023 005167 1371 005170 4105 005171 5200 005172 7700 005173 1350 005174 4001 005175 4000 005176 4002 005177 3253 1837 /SUBROUTINE TO DO ALL OF THE SHIP CALCULATIONS. 1838 /ENTER WITH BITS SET ACCORDING TO OPTIONS 1839 1840 005200 0000 WARSUB, 0 1841 005201 3777 DCA I (SWITCHES 1842 005202 1777 TAD I (SWITCHES 1843 005203 7010 RAR /ROCKET BIT TO LINK 1844 005204 7630 SZL CLA /SKIP IF NOT ON 1845 005205 1061 TAD QTHRUST /COPY THRUST INTO QTHR 1846 005206 3046 DCA QTHR /IF ROCKETS ON 1847 005207 3032 DCA HYPERS /TAKE OUT OF HYPERSPACE 1848 005210 1777 TAD I (SWITCHES 1849 005211 0376 AND (6 /MASK ROT BITS 1850 005212 7450 SNA /SKIP IF ANY ON 1851 005213 5232 JMP WAR1 1852 005214 3054 DCA QTM1 /SAVE 1853 005215 1054 TAD QTM1 1854 005216 1375 TAD (-6 /TO SEE IF HYPERSPACE 1855 005217 7650 SNA CLA /SKIP IF NOT HYPERSPACE 1856 005220 4774 JMS I (HYPER /GO INTO HYPERSPACE 1857 005221 1032 TAD HYPERS /IF IN HYPERSPACE DON'T DO 1858 005222 7640 SZA CLA /THE CALCULATIONS 1859 005223 5600 JMP I WARSUB 1860 005224 1054 TAD QTM1 1861 005225 7012 RTR /GET CLOCKWISE INTO LINK 1862 005226 7200 CLA /GET RID OF OTHER BIT 1863 005227 1063 TAD QRET /RETRO CONSTANT 1864 005230 7420 SNL /SKIP IF CC 1865 005231 7041 CIA 1866 005232 3047 WAR1, DCA QTHA /SET RETRO THRUST 1867 005233 1034 TAD ARMED /TO SEE IF ALREADY ARMED 1868 005234 7650 SNA CLA /SKIP IF NOT YET 1869 005235 5240 JMP .+3 /ALREADY ARMED 1870 005236 2034 ISZ ARMED /UPDATE TIME DELAY 1871 005237 5244 JMP WAR2 /NOT ARMED. 1872 005240 1777 TAD I (SWITCHES /IS ARMED SO CHECK 1873 005241 0373 AND (10 /FIRE BIT. 1874 005242 7640 SZA CLA /SKIP IF NOT FIRING 1875 005243 4510 FIRE /FIRE A MISSLE. 1876 005244 4503 WAR2, NXTPOS /CALC NEW POSITION 1877 005245 4504 NXTANG /AND SHIP ANGLE 1878 005246 4502 DRAW /SET DISPLAY BUFFER 1879 005247 4772 PSAUC1, JMS I (SAUC /OR NOP FOR SHIPS 1880 005250 5600 JMP I WARSUB 1881 1882 005372 2000 PAGE 005373 0010 005374 3357 005375 7772 005376 0006 005377 1421 1883 /COME HERE FROM INTERRUPT 1884 1885 005400 0000 SAVAC, 0 1886 005401 0000 SAVLK, 0 1887 1888 005402 3200 INTRPT, DCA SAVAC /SAVE ACCUMULATOR 1889 005403 7010 RAR 1890 005404 3201 DCA SAVLK /AND LINK 1891 005405 6031 KSF /KEYBOARD? 1892 005406 5212 JMP .+4 1893 005407 6036 KRB /READ THE CHAR 1894 005410 3220 DCA ICHAR /STORE 1895 005411 5640 JMP I OPTIONS 1896 005412 6041 TSF /TELEPRINTER 1897 005413 5222 JMP CLKINT /NO CHECK CLOCK 1898 005414 6042 TCF /CLEAR THAT FLAG 1899 005415 3217 DCA TELSW /SET NOT IN PROGRESS SWITCH 1900 005416 5640 JMP I OPTIONS 1901 1902 005417 0000 TELSW, 0 1903 005420 0000 ICHAR, 0 1904 005421 0000 DELAY1, 0 1905 1906 CLKINT, 1907 IFNZRO KW12+DK8EP < 1908 005422 6131 CLSK /SKIP IF CLOCK 1909 005423 5227 JMP INTEXT /QUIT (UNDEFINED INT?) 1910 005424 6135 CLSA /CLEAR THE FLAGS 1911 > 1912 IFNZRO FCLOCK < 1913 6131 /SKIP IF NOT FLAG 1914 SKP 1915 JMP INTEXT /NOPE 1916 6132 /RECONNECT TO INT 1917 > 1918 IFNZRO DK8EA < 1919 6133 /SKIP ON CLOCK 1920 JMP INTEXT /NOPE 1921 6131 /MAKE SURE INT STILL ENABLED 1922 ISZ DELAY1 /WANT 30/SEC 1923 JMP INTEXT /NOPE: NEXT TIME 1924 CLL STA RTL /-2 1925 DCA DELAY1 /RESET DELAY1 1926 > 1927 IFNZRO AX08 < 1928 6321 /SKIP IF CLOCK 1929 JMP INTEXT /WHO??? 1930 6352 /CLEAR CLOCK 1931 ISZ DELAY1 1932 JMP INTEXT /NOT YET 1933 TAD CLKLIM /RESET INTRPS 1934 DCA DELAY1 /DELAY INTERVAL 1935 > 1936 1937 005425 7240 STA /AND SET WAITING 1938 005426 3777 DCA I (WAIT 1939 1940 005427 6402 INTEXT, 6402 /LINK 1941 005430 6412 6412 1942 IFNZRO T30G <6161;NOP> 1943 005431 7300 CLA CLL 1944 005432 1201 TAD SAVLK /GET LINK 1945 005433 7104 RAL CLL 1946 005434 1200 TAD SAVAC /AND AC. 1947 005435 6244 RMF /RESTORE FIELDS 1948 005436 6001 ION /AND RESTOR INTERRUPTS 1949 005437 5400 JMP I 0 /RETURN TO PROGRAM 1950 1951 /GO BACK TO SPCWAR 1952 1953 005440 5600 OPTION, KBOARD 1954 005441 5227 JMP INTEXT 1955 1956 IFNZRO KW12+DK8EP < 1957 /SUBROUTINE TO START UP CLOCK 1958 /MAY BE HARDWARE DEPENDENT 1959 /THIS IS FOR KW12A CLOCK - PDP12 1960 /OR PROGRAMABLE PDP8E CLOCK DK8EP 1961 CLSK=6131 /SKIP IF CLOCK 1962 CLLR=6132 /LOAD CONTROL 1963 CLAB=6133 /AC TO BUFFER PRESET 1964 CLEN=6134 /LOAD ENABLE 1965 CLSA=6135 /BIT RESET FLAGS 1966 1967 005442 0000 STCLK, 0 1968 005443 7300 CLA CLL /JUST IN CASE 1969 005444 6132 IFNZRO PDP12 1972 005446 1376 TAD (-40 /ABOUT 30CPS 1973 005447 6133 CLAB /LOAD PRSET 1974 005450 7300 CLA CLL 1975 IFNZRO PDP12 < 1976 005451 1375 TAD (0100 /1KC - PRESET TIME 1977 005452 6132 CLLR /LOAD CONTROL 1978 005453 6135 CLSA /CLEAR STATUS AND POSSIBLE OVERFLOW 1979 005454 7300 CLA CLL 1980 005455 1374 TAD (300 /INTERRUPT ON OVERFLOW 1981 005456 6134 CLEN 1982 005457 7300 CLA CLL 1983 005460 1373 TAD (4100 /AND START UP CLOCK 1984 > 1985 IFNZRO DK8EP < 1986 /TAD (5300 /INTR ON CLOCK - 1KC 1987 TAD (5310 /INTR ON CLOCK - 1KC (Josh Dersch) 1988 > 1989 005461 6132 CLLR 1990 005462 7300 CLA CLL 1991 005463 5642 JMP I STCLK> 1992 1993 IFNZRO FCLOCK < 1994 /DYER'S FUNNY CLOCK 1995 1996 STCLK, 0 1997 6132 1998 JMP I STCLK> 1999 2000 IFNZRO DK8EA < 2001 /DK8EA (LINE CLOCK) 2002 2003 STCLK, 0 2004 CLL STA RTL /-2 2005 DCA DELAY1 /RESET DELAY1 2006 6131 /ENABLE INTERRUPTS 2007 JMP I STCLK> 2008 2009 IFNZRO AX08 < 2010 STCLK, 0 2011 CLA CLL 2012 TAD (400 2013 6346 /START CRYSTAL CLOCK 2014 TAD CLKLIM /INITIALIZE CLOCK 2015 DCA DELAY1 2016 JMP I STCLK 2017 2018 CLKLIM, 7400 2019 > 2020 2021 IFZERO KW12+AX08+FCLOCK+DK8EA+DK8EP < 2022 STCLK, 0 2023 JMP I STCLK> 2024 2025 005573 4100 PAGE 005574 0300 005575 0100 005576 7740 005577 5114 2026 005600 4324 KBOARD, JMS GETC /GET THE CHAR 2027 005601 4246 JMS DISPCH /DISPATCH ON CHAR 2028 005602 7460 -"P;OPHLAT 005603 6407 2029 005604 7475 -"C;OCURVE 005605 6422 2030 005606 7472 -"F;OSTARS /FIELD OF STARS 005607 6433 2031 005610 7446 -"Z;OSUN /POLARIS ONLY 005611 6442 2032 005612 7476 -"B;OBOUNCE /BOUNCE MODE 005613 5747 2033 005614 7451 -"W;OWRAP /WRAP AROUND 005615 6000 2034 005616 7477 -"A;OANGUL /ANGULAR MOMENT CONSERVE 005617 6010 2035 005620 7462 -"N;ONORM /NO ANG MOM CONS. 005621 6016 2036 005622 7471 -"G;OGRAV /RESET GRAVITY 005623 6061 2037 005624 7463 -"M;OMISSL /RESET NUMB MISSLES 005625 6102 2038 005626 7456 -"R;ORETRO /RESET RETRO CONSTANT 005627 6120 2039 005630 7454 -"T;OTHRUS /RESET THRUST CONSTANT 005631 6111 2040 005632 7455 -"S;OSHIPS /DISPLAY SHIPS 005633 6250 2041 005634 7452 -"V;OVELOC /MUSSEL VELOCITY OF MISSILES 005635 6400 2042 005636 7453 -"U;OUFO /DISPLAY UFO'S 005637 6226 2043 005640 7461 -"O;OOPTION /LIST OPTIONS 005641 6200 2044 005642 7575 -203;7600 /^C RETURN TO MONITOR 005643 7600 2045 005644 0000 0 /END OF LIST 2046 005645 5777 JMP I (SPCWAR /START OVER 2047 2048 2049 /DISPATCH ON ACCUMULATOR 2050 2051 005646 0000 DISPCH, 0 2052 005647 3264 DCA OTM1 /TEMP STASH 2053 005650 1646 TAD I DISPCH /GET COMPARISON 2054 005651 2246 ISZ DISPCH 2055 005652 7450 SNA /0 MEANS DONE 2056 005653 5646 JMP I DISPCH /NOT IN LIST 2057 005654 1264 TAD OTM1 /CHECK AGAINST CAHR 2058 005655 7650 SNA CLA /SKIP IF NO MATCH 2059 005656 5261 JMP .+3 /MATCH 2060 005657 2246 ISZ DISPCH /TO NEXT CHAR 2061 005660 5250 JMP DISPCH+2 /CONTINUE 2062 005661 1646 TAD I DISPCH /FOUND IT 2063 005662 3246 DCA DISPCH /DO DOUBLE INDIRECT 2064 005663 5646 JMP I DISPCH 2065 2066 005664 0000 OTM1, 0 2067 2068 2069 /PRINT A MESSAGE 2070 2071 005665 0000 PRMSG, 0 2072 005666 1665 TAD I PRMSG /GET ADD OF MESSAGE 2073 005667 3264 DCA OTM1 /STORE POINTER 2074 005670 2265 ISZ PRMSG /NORMAL EXIT 2075 005671 1664 PRST1, TAD I OTM1 2076 005672 7012 RTR;RTR;RTR /OVER FOR PRINT 005673 7012 005674 7012 2077 005675 4302 JMS PRCHR /PRINT LEFT HALF 2078 005676 1664 TAD I OTM1 2079 005677 4302 JMS PRCHR /PRINT RIGHT HALF 2080 005700 2264 ISZ OTM1 /NEXT WORD 2081 005701 5271 JMP PRST1 /LOOP 2082 2083 005702 0000 PRCHR, 0 2084 005703 0376 AND (77 2085 005704 7450 SNA 2086 005705 5665 JMP I PRMSG /IF ZERO QUIT 2087 005706 1375 TAD (-40 /FOR EXTEND 2088 005707 7510 SPA /SKIP IF NEUMERIC 2089 005710 1374 TAD (100 /IS ALPHA 2090 005711 1373 TAD (240 /BACK TO CORRECT 2091 005712 4314 JMS PCH /PRINT ROUTINE 2092 005713 5702 JMP I PRCHR 2093 2094 2095 /PRINT A CHARACTER ROUTINE 2096 2097 005714 0000 PCH, 0 2098 005715 6046 TLS /OUTPUT IT 2099 005716 3772 DCA I (TELSW /SET TTY INPROGRESS 2100 005717 4771 JMS I (OPTIONS /AND WAIT TILL FINISHED 2101 005720 1772 TAD I (TELSW /KEYBOARD INTERRUPT 2102 005721 7440 SZA 2103 005722 5317 JMP .-3 /NOT YET 2104 005723 5714 JMP I PCH /DONE. 2105 2106 /GET AN INPUT CHARACTER 2107 2108 005724 0000 GETC, 0 2109 005725 1770 TAD I (ICHAR /FROM INTERRUPT SERVICE 2110 005726 7440 SZA /GOT ONE? 2111 005727 5332 JMP .+3 /YEP 2112 005730 4771 JMS I (OPTIONS /WAIT SOME MORE 2113 005731 5325 JMP GETC+1 2114 005732 3336 DCA CHAR 2115 005733 3770 DCA I (ICHAR 2116 005734 1336 TAD CHAR 2117 005735 5724 JMP I GETC /AND RETURN WITH CHAR 2118 2119 005736 0000 CHAR, 0 2120 2121 005737 0000 CRLF, 0 2122 005740 1367 TAD (215 2123 005741 4314 JMS PCH 2124 005742 1366 TAD (212 2125 005743 4314 JMS PCH 2126 005744 5737 JMP I CRLF 2127 2128 005745 4771 REINITIALIZE, JMS I (OPTIONS 2129 005746 5200 JMP KBOARD 2130 2131 /TURN ON BOUNCE 2132 2133 005747 1365 OBOUNC, TAD (BOUNX 2134 005750 3067 DCA BOUNCX 2135 005751 1364 TAD (BOUNY 2136 005752 3070 DCA BOUNCY 2137 005753 4265 JMS PRMSG /TELL HIME 2138 005754 7037 MBOUNC 2139 005755 4337 JMS CRLF 2140 005756 5345 JMP REINIT 2141 2142 005764 2155 PAGE 005765 2146 005766 0212 005767 0215 005770 5420 005771 5440 005772 5417 005773 0240 005774 0100 005775 7740 005776 0077 005777 4600 2143 /ROUTINE TO DISABLE BOUNCE 2144 2145 006000 1377 OWRAP, TAD (NULL 2146 006001 3067 DCA BOUNCX 2147 006002 1377 TAD (NULL 2148 006003 3070 DCA BOUNCY 2149 006004 4776 JMS I (PRMSG 2150 006005 7044 MWRAP 2151 006006 4775 JMS I (CRLF 2152 006007 5774 JMP I (REINIT 2153 2154 /ROUTINE TO CONSERVE ANGULAR MOM 2155 2156 006010 7201 OANGUL, CLA IAC 2157 006011 3050 DCA CONSER 2158 006012 4776 JMS I (PRMSG 2159 006013 7054 MANGCON 2160 006014 4775 JMS I (CRLF 2161 006015 5774 JMP I (REINIT 2162 2163 006016 3050 ONORM, DCA CONSER 2164 006017 4776 JMS I (PRMSG 2165 006020 7065 MNORMAL 2166 006021 4775 JMS I (CRLF 2167 006022 5774 JMP I (REINIT 2168 2169 /ROUTINE TO INPUT AN OCTAL NUMBER FROM THE KEYBOARD. 2170 /CALL: JMS OCTAL 2171 / RET1 /NO INPUT 2172 / RET2 /AC=OCTAL NUMBER 2173 2174 006023 0000 OCTALX, 0 2175 006024 3257 DCA NUMB 2176 006025 3260 DCA INPUT 2177 006026 4773 OCTALL, JMS I (GETC 2178 006027 4772 JMS I (PCH /AND PRINT IT 2179 006030 1771 TAD I (CHAR 2180 006031 1370 TAD (-"8 2181 006032 7500 SMA /SKIP IF <"8 2182 006033 5250 JMP NUMBEX /EXIT 2183 006034 1367 TAD ("8-"0 /NOW CHECK FOR OCTAL 2184 006035 7510 SPA /SKIP IF OK 2185 006036 5250 JMP NUMBEX /NO=QUIT 2186 006037 3260 DCA INPUT /SAVE NUMBER 2187 006040 1257 TAD NUMB /GET LAST NUMBER 2188 006041 7104 CLL RAL;CLL RAL;CLL RAL 006042 7104 006043 7104 2189 006044 1260 TAD INPUT /STICK IN NEW NUMBER 2190 006045 3257 DCA NUMB 2191 006046 2260 ISZ INPUT /MAKE SURE NON-ZERO 2192 006047 5226 JMP OCTALL 2193 006050 7300 NUMBEX, CLA CLL 2194 006051 1260 TAD INPUT /TO SEE IF ANY 2195 006052 7640 SZA CLA 2196 006053 2223 ISZ OCTALX /TAKE YES RETURN 2197 006054 4775 JMS I (CRLF 2198 006055 1257 TAD NUMB /STICK NUMBER IN AC 2199 006056 5623 JMP I OCTALX /AND RETURN 2200 2201 006057 0000 NUMB, 0 2202 006060 0000 INPUT, 0 2203 2204 2205 006061 4776 OGRAV, JMS I (PRMSG /TELL HIM WHAT OPTION IS 2206 006062 7100 MGRAVY 2207 006063 4223 JMS OCTALX /GET NEW VALUE 2208 006064 5774 JMP I (REINIT /NO INPUT 2209 006065 3062 DCA QGRAV /SET VALUE 2210 006066 1366 TAD (KBOARD /REINITIALIZE 2211 006067 3765 DCA I (OPTIONS 2212 006070 4764 JMS I (SETGRV /SET UP TABLE 2213 006071 1062 TAD QGRAV /NOW TO SEE IF ANTI-GRAV. 2214 006072 7700 SMA CLA /SKIP IF YES 2215 006073 5763 JMP I (WAR-2 2216 006074 4776 JMS I (PRMSG 2217 006075 7116 MAGRAV /ANTI GRAVITY 2218 006076 4775 JMS I (CRLF 2219 006077 1366 TAD (KBOARD 2220 006100 3765 DCA I (OPTIONS 2221 006101 5763 JMP I (WAR-2 2222 2223 006102 4776 OMISSL, JMS I (PRMSG 2224 006103 7125 MMISSLS 2225 006104 4223 JMS OCTALX /GET A NUMBER 2226 006105 5774 JMP I (REINIT 2227 006106 7041 CIA /SET MISSEL CONSTANT 2228 006107 3053 DCA MAXMIS /SET CONSTANT 2229 006110 5774 JMP I (REINIT /DONE 2230 2231 /ROUTINE TO READJUST THRUST 2232 2233 006111 4776 OTHRUS, JMS I (PRMSG 2234 006112 7137 MTHRUS 2235 006113 4223 JMS OCTALX 2236 006114 5774 JMP I (REINIT 2237 006115 7106 CLL RTL 2238 006116 3061 DCA QTHRUS 2239 006117 5774 JMP I (REINIT 2240 2241 /ROUTINE TO SET RETRO CONSTANT 2242 2243 006120 4776 ORETRO, JMS I (PRMSG 2244 006121 7152 MRETRO 2245 006122 4223 JMS OCTALX 2246 006123 5774 JMP I (REINIT 2247 006124 3063 DCA QRET 2248 006125 5774 JMP I (REINIT 2249 2250 /ROUTINE TO PRINT LOTS OF MESSAGES 2251 2252 006126 0000 MMESG, 0 2253 006127 4775 JMS I (CRLF /NEW LINE 2254 006130 1726 TAD I MMESG /GET START OF MESSAGE 2255 006131 7450 SNA /SKIP IF MORE TO COME 2256 006132 5726 JMP I MMESG 2257 006133 3335 DCA .+2 2258 006134 4776 JMS I (PRMSG /PRINT IT 2259 006135 0000 0 2260 006136 2326 ISZ MMESG /NEXT LINE 2261 006137 5327 JMP MMESG+1 /MORE 2262 2263 /PRINT OPTIONS 2264 2265 006163 5000 PAGE 006164 2662 006165 5440 006166 5600 006167 0010 006170 7510 006171 5736 006172 5714 006173 5724 006174 5745 006175 5737 006176 5665 006177 1003 2266 006200 4777 OOPTIO, JMS I (MMESG 2267 006201 6622 MOPTA 2268 006202 6647 MOPTB 2269 006203 6674 MOPTBA 2270 006204 6710 MOPTC 2271 006205 6724 MOPTD 2272 006206 6734 MOPTE 2273 006207 6754 MOPTF 2274 006210 7012 MCURVE 2275 006211 7021 MPHLAT 2276 006212 7027 MSTARS 2277 006213 6744 MSUN 2278 006214 7037 MBOUNC 2279 006215 7044 MWRAP 2280 006216 7054 MANGCO 2281 006217 7065 MNORMA 2282 006220 7125 MMISSL 2283 006221 7137 MTHRUS 2284 006222 7152 MRETRO 2285 006223 6600 MVELOX 2286 006224 0000 0 2287 006225 5776 JMP I (REINIT 2288 2289 /DISPLAY SAUCERS (UFO'S) 2290 2291 006226 4775 OUFO, JMS I (PRMSG 2292 006227 6774 MUFO 2293 006230 4774 JMS I (CRLF 2294 006231 1373 TAD (JMS I PSAUCP 2295 006232 3772 DCA I (PSAUC1 2296 006233 1371 TAD (NOP 2297 006234 3770 DCA I (PSAUC2 2298 006235 1367 TAD (SAUC1 2299 006236 3766 DCA I (SHIP1+QSHIP-QR 2300 006237 1365 TAD (SAUC1E-SAUC1 2301 006240 3764 DCA I (SHIP1+QSHIPN-QR 2302 006241 1363 TAD (SAUC2 2303 006242 3762 DCA I (SHIP2+QSHIP-QR 2304 006243 1361 TAD (SAUC2E-SAUC2 2305 006244 3760 DCA I (SHIP2+QSHIPN-QR 2306 006245 1357 OUFOR, TAD (KBOARD 2307 006246 3756 DCA I (OPTIONS 2308 006247 5755 JMP I (WAR-2 2309 2310 /DISPLAY SHIPS 2311 2312 006250 4775 OSHIPS, JMS I (PRMSG 2313 006251 7003 MSHIPS 2314 006252 4774 JMS I (CRLF 2315 006253 1270 TAD OSHIPJ 2316 006254 3770 DCA I (PSAUC2 2317 006255 1371 TAD (NOP 2318 006256 3772 DCA I (PSAUC1 2319 006257 1354 TAD (SHIP1C 2320 006260 3766 DCA I (SHIP1+QSHIP-QR 2321 006261 1353 TAD (SHIP1E-SHIP1C 2322 006262 3764 DCA I (SHIP1+QSHIPN-QR 2323 006263 1352 TAD (SHIP2C 2324 006264 3762 DCA I (SHIP2+QSHIP-QR 2325 006265 1351 TAD (SHIP2E-SHIP2C 2326 006266 3760 DCA I (SHIP2+QSHIPN-QR 2327 006267 5245 JMP OUFOR 2328 2329 006270 5323 OSHIPJ, PSAUC2+3&177+5200 2330 2331 2332 006351 0050 PAGE 006352 1201 006353 0060 006354 1025 006355 5000 006356 5440 006357 5600 006360 1410 006361 0006 006362 1407 006363 1315 006364 1367 006365 0016 006366 1366 006367 1163 006370 1720 006371 7000 006372 5247 006373 4465 006374 5737 006375 5665 006376 5745 006377 6126 2333 /RESET MUSSEL VELOCITY OF ROCKETS 2334 2335 006400 4777 OVELOC, JMS I (PRMSG 2336 006401 6600 MVELOX 2337 006402 4776 JMS I (OCTALX 2338 006403 5775 JMP I (REINIT 2339 006404 7110 CLL RAR 2340 006405 3064 DCA QTHROC /RESET MUSSLE VELOCITY 2341 006406 5775 JMP I (REINIT 2342 2343 /SELECT FLAT OR CURVED SPACE 2344 2345 006407 4777 OPHLAT, JMS I (PRMSG 2346 006410 7021 MPHLAT 2347 006411 4774 JMS I (CRLF 2348 006412 7200 CLA 2349 006413 1373 TAD (3777 2350 006414 3041 DCA QTIME /NO TIME CURVE ON OUTLINE 2351 006415 1372 TAD (SC 2352 006416 3771 DCA I (NEWPO7+1 2353 006417 1372 TAD (SC 2354 006420 3770 DCA I (NEWPO7+11 2355 006421 5775 JMP I (REINIT 2356 2357 006422 4777 OCURVE, JMS I (PRMSG 2358 006423 7012 MCURVE 2359 006424 4774 JMS I (CRLF 2360 006425 7200 CLA 2361 006426 1367 TAD (SC1 2362 006427 3771 DCA I (NEWPO7+1 2363 006430 1366 TAD (SC2 2364 006431 3770 DCA I (NEWPO7+11 2365 006432 5775 JMP I (REINIT 2366 2367 /DISPLAY OPTIONAL SUN OR UNIVERSE 2368 2369 006433 4777 OSTARS, JMS I (PRMSG 2370 006434 7027 MSTARS 2371 006435 4774 JMS I (CRLF 2372 006436 7200 CLA 2373 006437 1365 TAD (D2 2374 006440 3764 DCA I (WARDX+1 2375 006441 5775 JMP I (REINIT 2376 2377 006442 4777 OSUN, JMS I (PRMSG 2378 006443 6744 MSUN 2379 006444 4774 JMS I (CRLF 2380 006445 7200 CLA 2381 006446 1363 TAD (D1 2382 006447 3764 DCA I (WARDX+1 2383 006450 5775 JMP I (REINIT 2384 2385 006563 4507 PAGE 006564 5102 006565 4506 006566 4776 006567 4777 006570 2452 006571 2442 006572 4315 006573 3777 006574 5737 006575 5745 006576 6023 006577 5665 2386 006600 2605 MVELOX, TEXT \VELOCITY INITIAL OF MISSLES(2000):\ 006601 1417 006602 0311 006603 2431 006604 4011 006605 1611 006606 2411 006607 0114 006610 4017 006611 0640 006612 1511 006613 2323 006614 1405 006615 2350 006616 6260 006617 6060 006620 5172 006621 0000 2387 006622 1720 MOPTA, TEXT \OPTIONS ARE DESIGNATED BY FIRST CHARACTER\ 006623 2411 006624 1716 006625 2340 006626 0122 006627 0540 006630 0405 006631 2311 006632 0716 006633 0124 006634 0504 006635 4002 006636 3140 006637 0611 006640 2223 006641 2440 006642 0310 006643 0122 006644 0103 006645 2405 006646 2200 2388 006647 2410 MOPTB, TEXT \THE NUMBER IN PARENS ARE "NORMAL" VALUES\ 006650 0540 006651 1625 006652 1502 006653 0522 006654 4011 006655 1640 006656 2001 006657 2205 006660 1623 006661 4001 006662 2205 006663 4042 006664 1617 006665 2215 006666 0114 006667 4240 006670 2601 006671 1425 006672 0523 006673 0000 2389 006674 1116 MOPTBA, TEXT \INPUT NUMBERS ARE OCTAL\ 006675 2025 006676 2440 006677 1625 006700 1502 006701 0522 006702 2340 006703 0122 006704 0540 006705 1703 006706 2401 006707 1400 2390 006710 0126 MOPTC, TEXT \AVAILABLE OPTIONS ARE:\ 006711 0111 006712 1401 006713 0214 006714 0540 006715 1720 006716 2411 006717 1716 006720 2340 006721 0122 006722 0572 006723 0000 2391 006724 2540 MOPTD, TEXT \U DISPLAY UFO'S\ 006725 0411 006726 2320 006727 1401 006730 3140 006731 2506 006732 1747 006733 2300 2392 006734 2340 MOPTE, TEXT \S DISPLAY SHIPS\ 006735 0411 006736 2320 006737 1401 006740 3140 006741 2310 006742 1120 006743 2300 2393 006744 3240 MSUN, TEXT 'Z POLARIS ONLY' 006745 2017 006746 1401 006747 2211 006750 2340 006751 1716 006752 1431 006753 0000 2394 006754 0740 MOPTF, TEXT \G RESET GRAVITY CONSTANT(1000)\ 006755 2205 006756 2305 006757 2440 006760 0722 006761 0126 006762 1124 006763 3140 006764 0317 006765 1623 006766 2401 006767 1624 006770 5061 006771 6060 006772 6051 006773 0000 2395 006774 0411 MUFO, TEXT \DISPLAY UFO'S\ 006775 2320 006776 1401 006777 3140 007000 2506 007001 1747 007002 2300 2396 007003 0411 MSHIPS, TEXT \DISPLAY SHIPS\ 007004 2320 007005 1401 007006 3140 007007 2310 007010 1120 007011 2300 2397 007012 0325 MCURVE, TEXT 'CURVED SPACE' 007013 2226 007014 0504 007015 4023 007016 2001 007017 0305 007020 0000 2398 007021 2010 MPHLAT, TEXT 'PHLAT SPACE' 007022 1401 007023 2440 007024 2320 007025 0103 007026 0500 2399 007027 0611 MSTARS, TEXT 'FIELD OF STARS' 007030 0514 007031 0440 007032 1706 007033 4023 007034 2401 007035 2223 007036 0000 2400 007037 0217 MBOUNC, TEXT \BOUNCE ON\ 007040 2516 007041 0305 007042 4017 007043 1600 2401 007044 2722 MWRAP, TEXT \WRAP-AROUND ON\ 007045 0120 007046 5501 007047 2217 007050 2516 007051 0440 007052 1716 007053 0000 2402 007054 0116 MANGCO, TEXT \ANGULAR MOMENTUM\ 007055 0725 007056 1401 007057 2240 007060 1517 007061 1505 007062 1624 007063 2515 007064 0000 2403 007065 1617 MNORMA, TEXT \NON-ANGULAR MOMENTUM\ 007066 1655 007067 0116 007070 0725 007071 1401 007072 2240 007073 1517 007074 1505 007075 1624 007076 2515 007077 0000 2404 007100 2324 MGRAVY, TEXT \STRENGTH OF GRAVITY(1000):\ 007101 2205 007102 1607 007103 2410 007104 4017 007105 0640 007106 0722 007107 0126 007110 1124 007111 3150 007112 6160 007113 6060 007114 5172 007115 0000 2405 007116 0116 MAGRAV, TEXT \ANTI-GRAVITY\ 007117 2411 007120 5507 007121 2201 007122 2611 007123 2431 007124 0000 2406 007125 1501 MMISSL, TEXT \MAX NUMBER MISSLES:\ 007126 3040 007127 1625 007130 1502 007131 0522 007132 4015 007133 1123 007134 2314 007135 0523 007136 7200 2407 007137 2410 MTHRUS, TEXT \THRUST CONSTANT (2):\ 007140 2225 007141 2324 007142 4003 007143 1716 007144 2324 007145 0116 007146 2440 007147 5062 007150 5172 007151 0000 2408 007152 2205 MRETRO, TEXT \RETRO-THRUST (4):\ 007153 2422 007154 1755 007155 2410 007156 2225 007157 2324 007160 4050 007161 6451 007162 7200 2409 2410 PAGE 2411 IFNZRO D < 2412 XXX=. 2413 FIELD D%10 2414 *1000> 2415 2416 DECIMAL 2417 BIGSUN, 2418 011000 0000 0;0 011001 0000 2419 011002 0006 6;4; -6;-4; 0;7; 0;-7; -6;4; 6;-4 011003 0004 011004 7772 011005 7774 011006 0000 011007 0007 011010 0000 011011 7771 011012 7772 011013 0004 011014 0006 011015 7774 2420 011016 7762 -14;0; 14;0; -7;-12; 7;12; 7;-12; -7;12 011017 0000 011020 0016 011021 0000 011022 7771 011023 7764 011024 0007 011025 0014 011026 0007 011027 7764 011030 7771 011031 0014 2421 011032 0000 0;-21; 0;21; 19;-11; -19;11; 19;11; -19;-11 011033 7753 011034 0000 011035 0025 011036 0023 011037 7765 011040 7755 011041 0013 011042 0023 011043 0013 011044 7755 011045 7765 2422 011046 0016 14;-25; -14;25; 28;0; -28;0; 14;25; -14;-25 011047 7747 011050 7762 011051 0031 011052 0034 011053 0000 011054 7744 011055 0000 011056 0016 011057 0031 011060 7762 011061 7747 2423 011062 0000 0;35; 0;-35; 20;30; -20;-30; -20;30; 20;-30 011063 0043 011064 0000 011065 7735 011066 0024 011067 0036 011070 7754 011071 7742 011072 7754 011073 0036 011074 0024 011075 7742 2424 011076 0000 0;0 011077 0000 2425 2426 ESUN=. 2427 IFNZRO 0 < 2428 -2;12; 0;12; 3;12; -4;11; -1;11; 1;11; 4;11; 6;11 2429 -6;10; -3;10; 2;10; 4;10; 8;10; -8;9; -4;9; -2;9; 0;9 2430 4;9; 6;9; 7;9; -8;8; -6;8; -3;8; 2;8; 6;8; 8;8; 10;8; -10;7 2431 8;7; 9;7; -8;6; -5;6; 0;6; 3;6; 10;6; 11;6; -11;5; -9;5 2432 -2;5; 5;5; 7;5; 9;5; 11;5; -7;4; 3;4; 12;4; -10;3 2433 -4;3; -1;3; 1;3; 7;3; 10;3; 11;3; -12;2 2434 -11;2; -6;2; 4;2; 12;2; 13;2 2435 -11;1; -10;1; -8;1; -2;1; 1;1; 8;1; 11;1; -12;0; 10;0 2436 -5;0; 6;0; 13;0; -11;-1; -3;-1; 0;-1; 3;-1; 9;-1; 12;-1; -12;-2; -10;-2 2437 -8;-1; -6;-2; -1;-2; 7;-2; 11;-2; 12;-2; -9;-3; -4;-3 2438 4;-3; 11;-3; -11;-4; -9;-4; -7;-4; -1;-4; 2;-4; 7;-4 2439 10;-4; 12;-4; 11;-5; -11;-6; -9;-6 2440 -8;-6; -6;-6; 4;-6; 6;-6; 8;-6; 9;-6; 11;-6; -10;-7 2441 -8;-7; -2;-7; 1;-7 2442 -8;-8; -6;-8; 6;-8; 8;-8; 9;-8; -8;-9; -6;-9; -4;-9; 4;-9; 7;-9 2443 -6;-10; -2;-10; 0;-10; 2;-10; 4;-10; 5;-10; 7;-10; -5;-11; -3;-11; -1;-11 2444 2;-11; 5;-11; -3;-12; -1;-12; 1;-12; 3;-12 2445 ESUN=. 2446 > 2447 PAGE 2448 SUNPT1, /STAR FIELD 2449 /ORION SIGNUS URSIA MAJOR SCORPIO 2450 011200 0022 18;-174; 62;108; -102;31; -128;250 011201 7522 011202 0076 011203 0154 011204 7632 011205 0037 011206 7600 011207 0372 2451 011210 0057 47;-171; 106;85; -88;20; -128;242 011211 7525 011212 0152 011213 0125 011214 7650 011215 0024 011216 7600 011217 0362 2452 011220 0041 33;-194; 91;91; -91;9; -139;225 011221 7476 011222 0133 011223 0133 011224 7645 011225 0011 011226 7565 011227 0341 2453 011230 0050 40;-191; 71;88; -91;-23; -146;216 011231 7501 011232 0107 011233 0130 011234 7645 011235 7751 011236 7556 011237 0330 2454 /SOME MISC. 2455 011240 7553 -149;-213 /IN PUPPIS 011241 7453 2456 011242 7654 -84;-168 /PROCYON 011243 7530 2457 011244 0161 113;-46 /IN ANDROMEDA 011245 7722 2458 011246 7765 -11;77 /ELTANIN 011247 0115 2459 2460 /ORION SIGNUS URSIA MAJOR SCORPIO 2461 011250 0057 47;-188; 73;74; -73;-20; -153;213 011251 7504 011252 0111 011253 0112 011254 7667 011255 7754 011256 7547 011257 0325 2462 011260 0032 26;-211; 47;85; -102;-9; -164;194 011261 7455 011262 0057 011263 0125 011264 7632 011265 7767 011266 7534 011267 0302 2463 011270 0102 66;-199; 29;74; -88;-3; -175;196 011271 7471 011272 0035 011273 0112 011274 7650 011275 7775 011276 7521 011277 0304 2464 011300 0067 55;120; -182;199 011301 0170 011302 7512 011303 0307 2465 2466 /PLUS SOME MISCELLANEOUS 2467 011304 7613 -117;188 011305 0274 2468 011306 7530 -168;71 /ARCTURUS 011307 0107 2469 011310 0006 6;6;-6;-6 /SOME SUN SPOTS 011311 0006 011312 7772 011313 7772 2470 011314 0320 208;-105 /NECK OF CETUS 011315 7627 2471 011316 0320 208;102 /IN AQUARIUS 011317 0146 2472 011320 7417 -241;17 /SPICA 011321 0021 2473 2474 /CASEOPEA CANUS MAJOR PLEIADES 2475 011322 0076 62;-23; -18;-253; 117;-110 011323 7751 011324 7756 011325 7403 011326 0165 011327 7622 2476 011330 0111 73;-20; -29;-239; 117;-108 011331 7754 011332 7743 011333 7421 011334 0165 011335 7624 2477 011336 0111 73;-11; -18;-228; 113;-111 011337 7765 011340 7756 011341 7434 011342 0161 011343 7621 2478 011344 0130 88;-9; -44;-222; 113;-108 011345 7767 011346 7724 011347 7442 011350 0161 011351 7624 2479 011352 0120 80;0; -51;-213 011353 0000 011354 7715 011355 7453 2480 011356 7632 -102;-239 011357 7421 2481 011360 7663 -77;-239 011361 7421 2482 011362 7676 -66;-248 011363 7410 2483 011364 7676 -66;-219 011365 7445 2484 011366 7707 -57;-222 011367 7442 2485 /PLUS SOME MISCELLANEOUS 2486 011370 0006 6;-6;-6;6 /MORE SUN SPOTS 011371 7772 011372 7772 011373 0006 2487 011374 7432 -230;159 /IN LIBRA 011375 0237 2488 011376 7470 -200;-139 /ALPHARD 011377 7565 2489 2490 SUNPT2, 2491 011400 0000 0;1; 0;-1; 1;0; -1;0 011401 0001 011402 0000 011403 7777 011404 0001 011405 0000 011406 7777 011407 0000 2492 011410 0000 0;2; 0;-2; 2;0; -2;0 011411 0002 011412 0000 011413 7776 011414 0002 011415 0000 011416 7776 011417 0000 2493 011420 0000 0;4; 0;-4; 4;0; -4;0 011421 0004 011422 0000 011423 7774 011424 0004 011425 0000 011426 7774 011427 0000 2494 011430 0000 0;6; 0;-6; 6;0; -6;0 011431 0006 011432 0000 011433 7772 011434 0006 011435 0000 011436 7772 011437 0000 2495 2496 /VAIRABLES START HERE 2497 /BRIGHT STARS 2498 011440 0222 146;-29 /IN ANDROMEDA 011441 7743 2499 011442 0120 80;-143 /ALDEBARAN IN TAURUS 011443 7561 2500 011444 7623 -109;100 /ALPHECCA IN CORONA BOREALIS 011445 0144 2501 011446 0231 153;-68 /IN ARIES 011447 7674 2502 2503 /LEO SAGITARIUS GEMINI PEGASIS 2504 011450 7470 -200;-17; -18;250; -55;-114; 168;102 011451 7757 011452 7756 011453 0372 011454 7711 011455 7616 011456 0250 011457 0146 2505 011460 7442 -222;-43; 4;250; -69;-120; 160;40 011461 7725 011462 0004 011463 0372 011464 7673 011465 7610 011466 0240 011467 0050 2506 011470 7470 -200;-43; 15;242; -73;-128; 193;46 011471 7725 011472 0017 011473 0362 011474 7667 011475 7600 011476 0301 011477 0056 2507 011500 0012 10;0;0;10;-10;0;0;-10 /MORE SUN 011501 0000 011502 0000 011503 0012 011504 7766 011505 0000 011506 0000 011507 7766 2508 011510 7506 -186;-37; 40;242; -58;-125; 164;0 011511 7733 011512 0050 011513 0362 011514 7706 011515 7603 011516 0244 011517 0000 2509 /BRIGHT STARS 2510 011520 7502 -190;145 /IN LIBRA 011521 0221 2511 011522 0013 11;105 /LYRA 011523 0151 2512 011524 0105 69;-63 /MIRFAK IN PERSEUS 011525 7701 2513 011526 0244 164;-63 /IN ARIES 011527 7701 2514 2515 /LEO SAGITARIUS GEMINI PEGASIS 2516 011530 7470 -200;-71; 51;239; -44;-122; 200;0 011531 7671 011532 0063 011533 0357 011534 7724 011535 7606 011536 0310 011537 0000 2517 011540 7530 -168;-71; 66;228; -33;-117 011541 7671 011542 0102 011543 0344 011544 7737 011545 7613 2518 011546 7512 -182;-85; 51;228; -58;-151 011547 7653 011550 0063 011551 0344 011552 7706 011553 7551 2519 011554 7525 -171;-83; 62;246; -58;-137 011555 7655 011556 0076 011557 0366 011560 7706 011561 7567 2520 /BRIGHT STARS 2521 011562 7530 -168;-240 /IN PUPPIS 011563 7420 2522 011564 7442 -222;137 /IN LIBRA 011565 0211 2523 011566 7460 -208;29 /IN VIRGO 011567 0035 2524 011570 0130 88;157 /ALTAIR 011571 0235 2525 2526 011572 0000 0;12;12;0;-12;0;0;-12 /MOR SUN 011573 0014 011574 0014 011575 0000 011576 7764 011577 0000 011600 0000 011601 7764 2527 /LEO SAGITARIUS GEMINI PEGASIS 2528 011602 7556 -146;-85; 66;239; -29;-137 011603 7653 011604 0102 011605 0357 011606 7743 011607 7567 2529 011610 7556 -146;-77; -22;-154 011611 7663 011612 7752 011613 7546 2530 011614 7737 -33;-159 011615 7541 2531 /AURIGA 2532 011616 0032 26;-88;47;-114;29;-128;4;-97 011617 7650 011620 0057 011621 7616 011622 0035 011623 7600 011624 0004 011625 7637 2533 011626 0004 4;4;4;-4;-4;4;-4;-4 /MORE SUN 011627 0004 011630 0004 011631 7774 011632 7774 011633 0004 011634 7774 011635 7774 2534 2535 011636 0000 0;0 011637 0000 2536 2537 IFZERO EAE < 2538 OCTAL 2539 FIELD 0 2540 / DIGITAL-8-17 EAE EMULATION FOLLOWS. 2541 / (PAGE ZERO LAYOUT IS CHANGED AND CODE RELOCATED.) 2542 *160 2543 MQL=JMS I . 2544 000160 7400 PSDMQL 2545 DVI=JMS I . 2546 000161 7505 PSDDVI 2547 MUY=JMS I . 2548 000162 7541 PSDMUY 2549 NMI=JMS I . 2550 000163 7300 PSDNMI 2551 SHL=JMS I . 2552 000164 7422 PSDSHL 2553 ASR=JMS I . 2554 000165 7451 PSDASR 2555 LSR=JMS I . 2556 000166 7443 PSDLSR 2557 SCA=JMS I . 2558 000167 7347 PSDSCA 2559 MQA=JMS I . 2560 000170 7356 PSDMQA 2561 CAM=JMS I . 2562 000171 7403 PSDCAM 2563 /FIXTAB 2564 / PSDMQL 2565 /*67 2566 000172 0000 SUDOMQ, 0 2567 000173 0000 SUDOSC, 0 2568 / PSDMQL 2569 / PSDDVI 2570 / MQLDVI 2571 / PSDMUY 2572 / MQLMUY 2573 / PSDNMI 2574 / PSDSHL 2575 / PSDASR 2576 / PSDLSR 2577 / PSDSCA 2578 / PSDMQA 2579 / PSDCAM 2580 2581 *7300 2582 007300 0000 PSDNMI, 0 /NMI 2583 007301 3347 DCA PSDSCA /SAVE AC 2584 007302 3173 DCA SUDOSC /CLEAR STEP COUNTER. 2585 007303 1347 TAD PSDSCA 2586 007304 7440 SZA 2587 007305 5312 JMP .+5 2588 007306 1172 TAD SUDOMQ 2589 007307 7650 SNA CLA 2590 007310 5700 JMP I PSDNMI /0 AC AND MQ. 2591 007311 1347 NMIBK2, TAD PSDSCA 2592 007312 7004 RAL 2593 007313 7430 SZL 2594 007314 5330 JMP NMIOUT /AC0=1 2595 007315 7510 SPA 2596 007316 5332 JMP NMIOUT+2 /AC0=0 AND AC1=1 2597 007317 7200 CLA /AC0=AC1=0 2598 007320 1172 NMIBCK, TAD SUDOMQ 2599 007321 7104 CLL RAL 2600 007322 3172 DCA SUDOMQ 2601 007323 1347 TAD PSDSCA 2602 007324 7004 RAL 2603 007325 3347 DCA PSDSCA 2604 007326 2173 ISZ SUDOSC 2605 007327 5311 JMP NMIBK2 2606 007330 7510 NMIOUT, SPA 2607 007331 5334 JMP .+3 /AC0=AC1=1 2608 007332 7010 RAR /AC0 DOES NOT EQUAL AC1 2609 007333 5700 JMP I PSDNMI /EXIT 2610 007334 7010 RAR /TEST IF NUMBER 6000 0000 2611 007335 1346 TAD .+11 2612 007336 7640 SZA CLA 2613 007337 5320 JMP NMIBCK /NOT 6000 2614 007340 1172 TAD SUDOMQ 2615 007341 7440 SZA 2616 007342 5321 JMP NMIBCK+1 /NOT 0000 2617 007343 7020 CML /RESTORE LINK 2618 007344 1347 TAD PSDSCA /RESTORE 6000 2619 007345 5700 JMP I PSDNMI /EXIT 2620 007346 2000 -6000 2621 007347 0000 PSDSCA, 0 /SCA 2622 007350 3356 DCA PSDMQA /INCLUSIVE OR 2623 007351 1356 TAD PSDMQA /STEP COUNTER 2624 007352 7040 CMA /AND AC 2625 007353 0173 AND SUDOSC 2626 007354 1356 TAD PSDMQA 2627 007355 5747 JMP I PSDSCA 2628 007356 0000 PSDMQA, 0 /MQA 2629 007357 3347 DCA PSDSCA /INCLUSIVE OR 2630 007360 1347 TAD PSDSCA /MQ 2631 007361 7040 CMA /AND AC 2632 007362 0172 AND SUDOMQ 2633 007363 1347 TAD PSDSCA 2634 007364 5756 JMP I PSDMQA 2635 2636 *PSDNMI+100 2637 007400 0000 PSDMQL, 0 /MQL 2638 007401 3172 DCA Z SUDOMQ 2639 007402 5600 JMP I PSDMQL 2640 007403 0000 PSDCAM, 0 /CAM (CLA!MQL) 2641 007404 7200 CLA 2642 007405 3172 DCA Z SUDOMQ 2643 007406 5603 JMP I PSDCAM 2644 007407 0000 MQLMUY, 0 /MQL!MUY 2645 007410 3172 DCA Z SUDOMQ 2646 007411 1207 TAD MQLMUY /SET UP 2647 007412 3341 DCA PSDMUY /FOR MUY SUBROUTINE 2648 007413 5342 JMP PSDMUY+1 2649 007414 0000 MQLDVI, 0 /MQL!DVI 2650 007415 3172 DCA Z SUDOMQ 2651 007416 1214 TAD MQLDVI /SET UP 2652 007417 3305 DCA PSDDVI /FOR DVI SUBROUTINE 2653 007420 5306 JMP PSDDVI+1 2654 007421 0037 37 2655 007422 0000 PSDSHL, 0 /SHL 2656 007423 3203 DCA PSDCAM /SAVE AC 2657 007424 1622 TAD I PSDSHL /SHIFT COUNT 2658 007425 2222 ISZ PSDSHL /EXIT POINT 2659 007426 0221 AND PSDSHL-1 /5 BIT COUNTER 2660 007427 7040 CMA 2661 007430 3173 DCA SUDOSC 2662 007431 1172 TAD SUDOMQ /SHIFT COMBINED 2663 007432 7104 CLL RAL /AC AND MQ 2664 007433 3172 DCA SUDOMQ /1 BIT TO THE 2665 007434 1203 TAD PSDCAM /LEFT 2666 007435 7004 RAL 2667 007436 3203 DCA PSDCAM 2668 007437 2173 ISZ SUDOSC 2669 007440 5231 JMP .-7 /MORE SHIFTING 2670 007441 1203 TAD PSDCAM 2671 007442 5622 JMP I PSDSHL /EXIT 2672 007443 0000 PSDLSR, 0 /LSR 2673 007444 3203 DCA PSDCAM /SAVE AC 2674 007445 1243 TAD PSDLSR /USE ASR 2675 007446 3251 DCA PSDASR /ROUTINE 2676 007447 7100 CLL 2677 007450 5256 JMP PSDASR+5 2678 2679 007451 0000 PSDASR, 0 /ASR 2680 007452 7100 CLL /SET LINK=SIGN 2681 007453 7510 SPA 2682 007454 7020 CML 2683 007455 3203 DCA PSDCAM /SAVE AC 2684 007456 1651 TAD I PSDASR /SHIFT COUNT 2685 007457 2251 ISZ PSDASR /EXIT POINT 2686 007460 0221 AND PSDSHL-1 /5 BIT COUNTER 2687 007461 7040 CMA 2688 007462 3173 DCA SUDOSC 2689 007463 1203 TAD PSDCAM /RESTORE AC 2690 007464 5270 JMP .+4 2691 007465 1203 TAD PSDCAM 2692 007466 7510 SPA 2693 007467 7020 CML 2694 007470 7010 RAR 2695 007471 3203 DCA PSDCAM 2696 007472 1172 TAD SUDOMQ 2697 007473 7010 RAR 2698 007474 3172 DCA SUDOMQ 2699 007475 7100 CLL 2700 007476 2173 ISZ SUDOSC 2701 007477 5265 JMP .-12 /MORE SHIFTING 2702 007500 1203 TAD PSDCAM 2703 007501 7510 SPA 2704 007502 7020 CML /LINK=AC0 2705 007503 5651 JMP I PSDASR 2706 007504 7763 7763 2707 007505 0000 PSDDVI, 0 /DVI 2708 007506 3203 DCA PSDCAM /SAVE HIGH ORDER DIVIDEND 2709 007507 1705 TAD I PSDDVI /DIVISOR 2710 007510 2305 ISZ PSDDVI /EXIT POINT 2711 007511 7141 CLL CMA IAC 2712 007512 3207 DCA MQLMUY /2'S COMPLEMENT OF DIVISOR 2713 007513 1203 TAD PSDCAM /HIGH ORDER DIVIDEND 2714 007514 1207 TAD MQLMUY 2715 007515 7630 SZL CLA 2716 007516 5705 JMP I PSDDVI /DIVIDE OVERFLOW 2717 007517 1304 TAD PSDDVI-1 /7763 2718 007520 3243 DCA PSDLSR /COUNTER 2719 007521 5332 JMP .+11 2720 007522 1203 TAD PSDCAM 2721 007523 7004 RAL 2722 007524 3203 DCA PSDCAM 2723 007525 1203 TAD PSDCAM 2724 007526 1207 TAD MQLMUY 2725 007527 7430 SZL 2726 007530 3203 DCA PSDCAM 2727 007531 7200 CLA 2728 007532 1172 TAD SUDOMQ 2729 007533 7004 RAL 2730 007534 3172 DCA SUDOMQ 2731 007535 2243 ISZ PSDLSR 2732 007536 5322 JMP .-14 2733 007537 1203 TAD PSDCAM /COUNT EXHAUSTED 2734 007540 5705 JMP I PSDDVI /EXIT 2735 2736 007541 0000 PSDMUY, 0 /MUY 2737 007542 7300 CLA CLL 2738 007543 3214 DCA MQLDVI /CLEAR PRODUCT (MOST SIG.) REGISTER 2739 007544 1304 TAD PSDDVI-1 2740 007545 3243 DCA PSDLSR /LOOP COUNTER 2741 007546 1741 TAD I PSDMUY 2742 007547 3200 DCA PSDMQL /OPERAND 2743 007550 2341 ISZ PSDMUY /EXIT POINT 2744 007551 5361 JMP .+10 2745 007552 1214 TAD MQLDVI 2746 007553 7420 SNL 2747 007554 5357 JMP .+3 2748 007555 7100 CLL 2749 007556 1200 TAD PSDMQL 2750 007557 7010 RAR 2751 007560 3214 DCA MQLDVI 2752 007561 1172 TAD SUDOMQ 2753 007562 7010 RAR 2754 007563 3172 DCA SUDOMQ /LOW ORDER PRODUCT 2755 007564 2243 ISZ PSDLSR 2756 007565 5352 JMP .-13 2757 007566 1214 TAD MQLDVI /HIGH ORDER PRODUCT 2758 007567 5741 JMP I PSDMUY /EXIT 2759 /PAUSE 2760 > 2761 $ ALIVE 0021 ANGLES 2462 ARMDLY 3356 ARMED 0034 ASR 4565 AX08 0000 BANG 4105 BANGL1 4114 BIGSUN 1000 BOUNCX 0067 BOUNCY 0070 BOUNX 2146 BOUNY 2155 BREAKU 0044 BRKTBL 4200 BSHIP 1323 BSHIPE 1351 CALPL 1663 CALPNT 1600 CALPT 1755 CALPT2 1760 CALPTX 1756 CALPTY 1757 CALPX 1753 CALPX1 1671 CALPX2 1710 CALPY 1754 CALPY1 1675 CALPY2 1714 CALPY3 1722 CALPY4 1761 CALPY5 1762 CAM 4571 CHAR 5736 CLAB 6133 CLEN 6134 CLKINT 5422 CLLR 6132 CLSA 6135 CLSK 6131 COLID1 4023 COLID2 4054 COLIDE 4000 COLIDS 4014 COLLD1 4012 COLLD2 4051 COLLD3 4102 COLLD4 4010 COLLD5 4047 COLLD6 4100 COMPAR 2634 CONSER 0050 COS 4474 CRLF 5737 D 0010 D1 4507 D2 4506 DBUFP 0045 DELAY1 5421 unreferenced DFLAME 3142 DIS 0140 DISBUF 4000 DISPCH 5646 DISPLA 4473 DIVIDE 4472 DK8EA 0000 DK8EP 0000 DRAW 4502 DSTARS 4506 DSUN 4507 DVI 4561 EAE 0000 ESUN 1100 FCLOCK 0000 FCOSPH 3322 FIRE 4510 FIRONE 3266 FLAME 4505 FLAMEX 1005 FSINPH 3330 GETC 5724 GETMIS 3676 GGRAV 4476 GRVTBL 0600 HYPER 3357 HYPERS 0032 ICHAR 5420 INPUT 6060 INTEXT 5427 INTRPT 5402 KBOARD 5600 KW12 0001 LINC 6141 LOOKUP 2200 LSR 4566 M1703 0001 MAGRAV 7116 MANGCO 7054 MAXMIS 0053 MBOUNC 7037 MCURVE 7012 MGRAVY 7100 MISCNT 0033 MISPNT 0066 MISSCN 3633 MISSIN 3634 MISSL1 3617 MISSLS 3600 MISST1 3635 MISST2 3636 MISSUB 3637 MISTBL 3400 MMESG 6126 MMISSL 7125 MNORMA 7065 MOPTA 6622 MOPTB 6647 MOPTBA 6674 MOPTC 6710 MOPTD 6724 MOPTE 6734 MOPTF 6754 MPHLAT 7021 MQA 4570 MQL 4560 MQLDVI 7414 MQLMUY 7407 MRETRO 7152 MSHIPS 7003 MSTARS 7027 MSUN 6744 MTHRUS 7137 MUFO 6774 MULT 4471 MUY 4562 MVELOX 6600 MWRAP 7044 NEWPL1 3010 NEWPL2 3046 NEWPL3 3070 NEWPL4 3051 NEWPL5 3073 NEWPL6 3023 NEWPLH 3104 NEWPLL 3105 NEWPLS 3106 NEWPO1 2407 NEWPO2 2425 NEWPO3 2417 NEWPO4 2435 NEWPO5 2471 NEWPO6 2423 unreferenced NEWPO7 2441 NEWPO8 2475 NEWPOL 3000 NEWPOS 2400 NMI 4563 NMIBCK 7320 NMIBK2 7311 NMIOUT 7330 NNUMMI 0052 NULL 1003 NULL1 1000 unreferenced NUMB 6057 NUMBEX 6050 NUMMIS 0051 NXTANG 4504 NXTPOS 4503 OANGUL 6010 OBOUNC 5747 OCTALL 6026 OCTALX 6023 OCURVE 6422 OFDECK 4501 OFFSET 2211 OGRAV 6061 OMISSL 6102 ONDECK 4500 ONORM 6016 OOPTIO 6200 OPHLAT 6407 OPTION 5440 ORETRO 6120 OSHIPJ 6270 OSHIPS 6250 OSTARS 6433 OSUN 6442 OTHRUS 6111 OTM1 5664 OUFO 6226 OUFOR 6245 OVELOC 6400 OWRAP 6000 PCH 5714 PDP 0002 PDP12 0001 POLARS 3254 PRCHR 5702 PRMSG 5665 PRST1 5671 PSAUC1 5247 PSAUC2 1720 PSAUCP 0065 PSDASR 7451 PSDCAM 7403 PSDDVI 7505 PSDLSR 7443 PSDMQA 7356 PSDMQL 7400 PSDMUY 7541 PSDNMI 7300 PSDSCA 7347 PSDSHL 7422 PUTMIS 3711 QALPHA 0007 QBETA 0006 unreferenced QCNT1 0056 QCNT2 0057 unreferenced QCNT3 0060 QCOSPH 0040 QCOSTH 0043 QDISXR 0012 QGRAV 0062 QPH 0026 QPHDOT 0027 QPHR 0030 QR 0020 QRET 0063 QSHIP 0035 QSHIPN 0036 QSINPH 0037 QSINTH 0042 QTHA 0047 QTHR 0046 QTHROC 0064 QTHRUS 0061 QTIME 0041 QTM1 0054 QTM2 0055 QVX 0024 QVY 0025 QXPOS 0022 QXR1 0010 QXR2 0011 QXR3 0013 QYPOS 0023 RANDOM 4477 RANUMH 0355 RANUML 0356 RANUMT 0354 REINIT 5745 ROOT 3107 ROOTI 3140 ROOTL 3117 ROOTL1 3123 ROOTN2 3137 ROOTT 3141 SALPN1 2037 SALPN2 2033 SALPNL 2031 SALPTX 2114 SALPTY 2115 SALPX 2116 SALPY 2117 SAUC 2000 SAUC1 1163 SAUC1E 1201 SAUC2 1315 SAUC2E 1323 SAVAC 5400 SAVLK 5401 SC 4315 SC1 4777 SC2 4776 SCA 4567 SCALE 2515 SCALE1 2600 SCALE2 2635 SCATBL 4320 SCATTE 3725 SCATTM 3756 SETGR1 2706 SETGRL 2671 SETGRV 2662 SETGRX 2677 SHIELD 0031 SHIP1 1351 SHIP1C 1025 SHIP1E 1105 SHIP1X 1353 SHIP1Y 1354 SHIP2 1372 SHIP2C 1201 SHIP2E 1251 SHIP2X 1374 SHIP2Y 1375 SHIPSZ 0021 SHL 4564 SIN 4475 SINTAB 0400 SPCWAR 4600 STARTU 4623 STCLK 5442 STOVER 5115 SUDOMQ 0172 SUDOSC 0173 SUN 3200 SUNCNT 3251 SUND2 3235 unreferenced SUNHLF 3253 SUNL1 3241 unreferenced SUNL2 3237 SUNPT1 1200 SUNPT2 1400 SUNTMP 3252 SWITCH 1421 T1 1622 T2 1631 T3 1653 T30G 0000 T4 1661 TABLE 2212 TELSW 5417 TX 2627 TY 2643 VC8E 0000 VC8I 0000 WAIT 5114 WAR 5002 WAR1 5232 WAR1E 5031 WAR2 5244 WAR2E 5061 WARDIS 5072 unreferenced WARDX 5101 WARS2 5034 WARS3 5064 WARSUB 5200 XADDD 2120 XADDD1 2145 XADDD2 2141 XCOSIN 0326 XDISL 0273 XDISPL 0261 XDIVID 0234 XGGRAV 2650 XMULT 0202 XMULT1 0217 XMULTS 0233 XOFDEC 1431 XONDEC 1413 XRANDO 0332 XSINE 0307 XSQUAR 2661 XXX 7200 XXXXXX 0111