1 /SPCWAR BY D.E. WREGE 2 VC8E=1 3 DK8EA=1 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 0332 XCOSIN 201 SIN=JMS I . /SINE LOOKUP 202 000075 0313 XSINE 203 GGRAV=JMS I . 204 000076 2650 XGGRAV 205 RANDOM=JMS I . 206 000077 0336 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 XDISL, TAD I QDISXR /GET THE X 339 TAD (400 /0 IS CENTER OF SCREEN 340 DCA QALPHA /STICK IN ALPHA REGISTER 341 TAD I QDISXR /GET Y-POSITION 342 LINC 343 DIS QALPHA /DISPLAY THE POINT 344 PDP /BACK TO 8-MODE 345 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 000273 6050 6050 /CLEAR ALL FLAGS 366 000274 1412 XDISL, TAD I QDISXR /GET X 367 000275 7104 CLL RAL /512 RESOLUTION 368 000276 6053 6053 /CLEAR AND LOAD X 369 000277 7300 CLA CLL 370 000300 1412 TAD I QDISXR /GET Y 371 000301 7104 CLL RAL /512 RESOLUTION 372 000302 6054 6054 /CLEAR AND LOAD Y 373 000303 7300 CLA CLL 374 000304 6052 6052 /WAIT TILL DONE 375 000305 5304 JMP .-1 376 000306 6055 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 000307 2056 ISZ QCNT1 /SKIP WHEN DONE 402 000310 5274 JMP XDISL /LOOP 403 000311 6201 CDF 0 /BACK TO THIS FIELD 404 000312 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 1755 005021 4771 JMS I (WARSUB /DO THE CALCS 1756 005022 1032 TAD HYPERS 1757 005023 7640 SZA CLA /SKIP IF NOT IN HYPERSPACE 1758 005024 5227 JMP WAR1E /IGNORE CHECKING 1759 005025 4775 JMS I (COLIDE /CHECK FOR COLLISION WITH SUN 1760 005026 4770 JMS I (BANG /START EXPLOSION 1761 005027 1373 WAR1E, TAD (SHIP1-1 1762 005030 4501 OFDECK 1763 005031 4505 FLAME /DISPLAY FLAME 1764 1765 /NOW FOR SHIP2 1766 1767 005032 1367 WARS2, TAD (SHIP2-1 1768 005033 4500 ONDECK /NOW DO SHIP 2 1769 005034 1021 TAD ALIVE /NOW TO SEE IF HE EXISTS 1770 005035 7650 SNA CLA /SKIP IF ALIVE 1771 005036 5260 JMP WARS3 /NOPE:GO TO SHIP2 1772 005037 1372 TAD (-100 1773 005040 3311 DCA STOVER /SOMEONE STILL ALIVE 1774 005041 7604 LAS /GET SWITCHES 1775 IFDEF M1703 < 1776 005042 6144 6144 / USE M1703 INPUT 1777 > 1778 005043 4566 LSR;7 /OVER FOR WARSUB 005044 0007 1779 005045 4771 JMS I (WARSUB /DO THE CALCULATIONS 1780 005046 1032 TAD HYPERS 1781 005047 7640 SZA CLA /SKIP IF NOT IN HYPERSPACE 1782 005050 5255 JMP WAR2E /NO MORE CHECKING 1783 005051 4775 JMS I (COLIDE /COLLISION WITH SUN FIRST 1784 005052 7410 SKP 1785 005053 4766 JMS I (COLID1 /CHECK COLLISIONS 1786 005054 4770 JMS I (BANG /START THE EXPLOSION 1787 005055 1367 WAR2E, TAD (SHIP2-1 1788 005056 4501 OFDECK 1789 005057 4505 FLAME 1790 1791 /NOW FOR THE MISSLES 1792 1793 005060 6002 WARS3, IOF 1794 005061 4765 JMS I (MISSLS /INTERRUPTS CAN BOMB HERE 1795 005062 6001 ION 1796 1797 /AND ANY BREAKUP 1798 1799 005063 1044 TAD BREAKUP 1800 005064 7640 SZA CLA /SKIP IF ANY 1801 005065 4764 JMS I (SCATTER /DO IT 1802 1803 /NOW TO DISPLAY IT 1804 1805 005066 1045 WARDIS, TAD DBUFP 1806 005067 7041 CIA 1807 005070 1375 TAD (DISBUF 1808 005071 6002 IOF /NO INTS IN LINC MODE 1809 005072 3275 DCA WARDX /FOR DISPLAY ROUTINE 1810 005073 1363 TAD (DISBUF-1 1811 005074 4473 DISPLAY 1812 005075 0000 WARDX, 0 1813 D1=DSUN 1814 D2=DSTARS 1815 005076 4507 DSUN /DISPLAY THE UNIVERSE OR SUN 1816 005077 6001 ION 1817 005100 2311 ISZ STOVER /DELAY FOR AUTO RESTART 1818 005101 7410 SKP 1819 005102 5762 JMP I (SPCWAR /START OVER 1820 IFNZRO FCLOCK+KW12+AX08+DK8EA+DK8EP < 1821 005103 1310 TAD WAIT 1822 005104 7650 SNA CLA 1823 005105 5303 JMP .-2 1824 005106 3310 DCA WAIT> 1825 005107 5202 JMP WAR 1826 1827 005110 0000 WAIT, 0 /-1 WHEN READY 1828 /SET BY INTERRUPT ROUTINE 1829 005111 0000 STOVER, 0 /DELAY FOR AUTO RESTART 1830 1831 1832 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 1833 /SUBROUTINE TO DO ALL OF THE SHIP CALCULATIONS. 1834 /ENTER WITH BITS SET ACCORDING TO OPTIONS 1835 1836 005200 0000 WARSUB, 0 1837 005201 3777 DCA I (SWITCHES 1838 005202 1777 TAD I (SWITCHES 1839 005203 7010 RAR /ROCKET BIT TO LINK 1840 005204 7630 SZL CLA /SKIP IF NOT ON 1841 005205 1061 TAD QTHRUST /COPY THRUST INTO QTHR 1842 005206 3046 DCA QTHR /IF ROCKETS ON 1843 005207 3032 DCA HYPERS /TAKE OUT OF HYPERSPACE 1844 005210 1777 TAD I (SWITCHES 1845 005211 0376 AND (6 /MASK ROT BITS 1846 005212 7450 SNA /SKIP IF ANY ON 1847 005213 5232 JMP WAR1 1848 005214 3054 DCA QTM1 /SAVE 1849 005215 1054 TAD QTM1 1850 005216 1375 TAD (-6 /TO SEE IF HYPERSPACE 1851 005217 7650 SNA CLA /SKIP IF NOT HYPERSPACE 1852 005220 4774 JMS I (HYPER /GO INTO HYPERSPACE 1853 005221 1032 TAD HYPERS /IF IN HYPERSPACE DON'T DO 1854 005222 7640 SZA CLA /THE CALCULATIONS 1855 005223 5600 JMP I WARSUB 1856 005224 1054 TAD QTM1 1857 005225 7012 RTR /GET CLOCKWISE INTO LINK 1858 005226 7200 CLA /GET RID OF OTHER BIT 1859 005227 1063 TAD QRET /RETRO CONSTANT 1860 005230 7420 SNL /SKIP IF CC 1861 005231 7041 CIA 1862 005232 3047 WAR1, DCA QTHA /SET RETRO THRUST 1863 005233 1034 TAD ARMED /TO SEE IF ALREADY ARMED 1864 005234 7650 SNA CLA /SKIP IF NOT YET 1865 005235 5240 JMP .+3 /ALREADY ARMED 1866 005236 2034 ISZ ARMED /UPDATE TIME DELAY 1867 005237 5244 JMP WAR2 /NOT ARMED. 1868 005240 1777 TAD I (SWITCHES /IS ARMED SO CHECK 1869 005241 0373 AND (10 /FIRE BIT. 1870 005242 7640 SZA CLA /SKIP IF NOT FIRING 1871 005243 4510 FIRE /FIRE A MISSLE. 1872 005244 4503 WAR2, NXTPOS /CALC NEW POSITION 1873 005245 4504 NXTANG /AND SHIP ANGLE 1874 005246 4502 DRAW /SET DISPLAY BUFFER 1875 005247 4772 PSAUC1, JMS I (SAUC /OR NOP FOR SHIPS 1876 005250 5600 JMP I WARSUB 1877 1878 005372 2000 PAGE 005373 0010 005374 3357 005375 7772 005376 0006 005377 1421 1879 /COME HERE FROM INTERRUPT 1880 1881 005400 0000 SAVAC, 0 1882 005401 0000 SAVLK, 0 1883 1884 005402 3200 INTRPT, DCA SAVAC /SAVE ACCUMULATOR 1885 005403 7010 RAR 1886 005404 3201 DCA SAVLK /AND LINK 1887 005405 6031 KSF /KEYBOARD? 1888 005406 5212 JMP .+4 1889 005407 6036 KRB /READ THE CHAR 1890 005410 3220 DCA ICHAR /STORE 1891 005411 5644 JMP I OPTIONS 1892 005412 6041 TSF /TELEPRINTER 1893 005413 5222 JMP CLKINT /NO CHECK CLOCK 1894 005414 6042 TCF /CLEAR THAT FLAG 1895 005415 3217 DCA TELSW /SET NOT IN PROGRESS SWITCH 1896 005416 5644 JMP I OPTIONS 1897 1898 005417 0000 TELSW, 0 1899 005420 0000 ICHAR, 0 1900 005421 0000 DELAY1, 0 1901 1902 CLKINT, 1903 IFNZRO KW12+DK8EP < 1904 CLSK /SKIP IF CLOCK 1905 JMP INTEXT /QUIT (UNDEFINED INT?) 1906 CLSA /CLEAR THE FLAGS 1907 > 1908 IFNZRO FCLOCK < 1909 6131 /SKIP IF NOT FLAG 1910 SKP 1911 JMP INTEXT /NOPE 1912 6132 /RECONNECT TO INT 1913 > 1914 IFNZRO DK8EA < 1915 005422 6133 6133 /SKIP ON CLOCK 1916 005423 5233 JMP INTEXT /NOPE 1917 005424 6131 6131 /MAKE SURE INT STILL ENABLED 1918 005425 2221 ISZ DELAY1 /WANT 30/SEC 1919 005426 5233 JMP INTEXT /NOPE: NEXT TIME 1920 005427 7346 CLL STA RTL /-2 1921 005430 3221 DCA DELAY1 /RESET DELAY1 1922 > 1923 IFNZRO AX08 < 1924 6321 /SKIP IF CLOCK 1925 JMP INTEXT /WHO??? 1926 6352 /CLEAR CLOCK 1927 ISZ DELAY1 1928 JMP INTEXT /NOT YET 1929 TAD CLKLIM /RESET INTRPS 1930 DCA DELAY1 /DELAY INTERVAL 1931 > 1932 1933 005431 7240 STA /AND SET WAITING 1934 005432 3777 DCA I (WAIT 1935 1936 005433 6402 INTEXT, 6402 /LINK 1937 005434 6412 6412 1938 IFNZRO T30G <6161;NOP> 1939 005435 7300 CLA CLL 1940 005436 1201 TAD SAVLK /GET LINK 1941 005437 7104 RAL CLL 1942 005440 1200 TAD SAVAC /AND AC. 1943 005441 6244 RMF /RESTORE FIELDS 1944 005442 6001 ION /AND RESTOR INTERRUPTS 1945 005443 5400 JMP I 0 /RETURN TO PROGRAM 1946 1947 /GO BACK TO SPCWAR 1948 1949 005444 5600 OPTION, KBOARD 1950 005445 5233 JMP INTEXT 1951 1952 IFNZRO KW12+DK8EP < 1953 /SUBROUTINE TO START UP CLOCK 1954 /MAY BE HARDWARE DEPENDENT 1955 /THIS IS FOR KW12A CLOCK - PDP12 1956 /OR PROGRAMABLE PDP8E CLOCK DK8EP 1957 CLSK=6131 /SKIP IF CLOCK 1958 CLLR=6132 /LOAD CONTROL 1959 CLAB=6133 /AC TO BUFFER PRESET 1960 CLEN=6134 /LOAD ENABLE 1961 CLSA=6135 /BIT RESET FLAGS 1962 1963 STCLK, 0 1964 CLA CLL /JUST IN CASE 1965 IFNZRO PDP12 1968 TAD (-40 /ABOUT 30CPS 1969 CLAB /LOAD PRSET 1970 CLA CLL 1971 IFNZRO PDP12 < 1972 TAD (0100 /1KC - PRESET TIME 1973 CLLR /LOAD CONTROL 1974 CLSA /CLEAR STATUS AND POSSIBLE OVERFLOW 1975 CLA CLL 1976 TAD (300 /INTERRUPT ON OVERFLOW 1977 CLEN 1978 CLA CLL 1979 TAD (4100 /AND START UP CLOCK 1980 > 1981 IFNZRO DK8EP < 1982 /TAD (5300 /INTR ON CLOCK - 1KC 1983 TAD (5310 /INTR ON CLOCK - 1KC (Josh Dersch) 1984 > 1985 CLLR 1986 CLA CLL 1987 JMP I STCLK> 1988 1989 IFNZRO FCLOCK < 1990 /DYER'S FUNNY CLOCK 1991 1992 STCLK, 0 1993 6132 1994 JMP I STCLK> 1995 1996 IFNZRO DK8EA < 1997 /DK8EA (LINE CLOCK) 1998 1999 005446 0000 STCLK, 0 2000 005447 7346 CLL STA RTL /-2 2001 005450 3221 DCA DELAY1 /RESET DELAY1 2002 005451 6131 6131 /ENABLE INTERRUPTS 2003 005452 5646 JMP I STCLK> 2004 2005 IFNZRO AX08 < 2006 STCLK, 0 2007 CLA CLL 2008 TAD (400 2009 6346 /START CRYSTAL CLOCK 2010 TAD CLKLIM /INITIALIZE CLOCK 2011 DCA DELAY1 2012 JMP I STCLK 2013 2014 CLKLIM, 7400 2015 > 2016 2017 IFZERO KW12+AX08+FCLOCK+DK8EA+DK8EP < 2018 STCLK, 0 2019 JMP I STCLK> 2020 2021 005577 5110 PAGE 2022 005600 4324 KBOARD, JMS GETC /GET THE CHAR 2023 005601 4246 JMS DISPCH /DISPATCH ON CHAR 2024 005602 7460 -"P;OPHLAT 005603 6407 2025 005604 7475 -"C;OCURVE 005605 6422 2026 005606 7472 -"F;OSTARS /FIELD OF STARS 005607 6433 2027 005610 7446 -"Z;OSUN /POLARIS ONLY 005611 6442 2028 005612 7476 -"B;OBOUNCE /BOUNCE MODE 005613 5747 2029 005614 7451 -"W;OWRAP /WRAP AROUND 005615 6000 2030 005616 7477 -"A;OANGUL /ANGULAR MOMENT CONSERVE 005617 6010 2031 005620 7462 -"N;ONORM /NO ANG MOM CONS. 005621 6016 2032 005622 7471 -"G;OGRAV /RESET GRAVITY 005623 6061 2033 005624 7463 -"M;OMISSL /RESET NUMB MISSLES 005625 6102 2034 005626 7456 -"R;ORETRO /RESET RETRO CONSTANT 005627 6120 2035 005630 7454 -"T;OTHRUS /RESET THRUST CONSTANT 005631 6111 2036 005632 7455 -"S;OSHIPS /DISPLAY SHIPS 005633 6250 2037 005634 7452 -"V;OVELOC /MUSSEL VELOCITY OF MISSILES 005635 6400 2038 005636 7453 -"U;OUFO /DISPLAY UFO'S 005637 6226 2039 005640 7461 -"O;OOPTION /LIST OPTIONS 005641 6200 2040 005642 7575 -203;7600 /^C RETURN TO MONITOR 005643 7600 2041 005644 0000 0 /END OF LIST 2042 005645 5777 JMP I (SPCWAR /START OVER 2043 2044 2045 /DISPATCH ON ACCUMULATOR 2046 2047 005646 0000 DISPCH, 0 2048 005647 3264 DCA OTM1 /TEMP STASH 2049 005650 1646 TAD I DISPCH /GET COMPARISON 2050 005651 2246 ISZ DISPCH 2051 005652 7450 SNA /0 MEANS DONE 2052 005653 5646 JMP I DISPCH /NOT IN LIST 2053 005654 1264 TAD OTM1 /CHECK AGAINST CAHR 2054 005655 7650 SNA CLA /SKIP IF NO MATCH 2055 005656 5261 JMP .+3 /MATCH 2056 005657 2246 ISZ DISPCH /TO NEXT CHAR 2057 005660 5250 JMP DISPCH+2 /CONTINUE 2058 005661 1646 TAD I DISPCH /FOUND IT 2059 005662 3246 DCA DISPCH /DO DOUBLE INDIRECT 2060 005663 5646 JMP I DISPCH 2061 2062 005664 0000 OTM1, 0 2063 2064 2065 /PRINT A MESSAGE 2066 2067 005665 0000 PRMSG, 0 2068 005666 1665 TAD I PRMSG /GET ADD OF MESSAGE 2069 005667 3264 DCA OTM1 /STORE POINTER 2070 005670 2265 ISZ PRMSG /NORMAL EXIT 2071 005671 1664 PRST1, TAD I OTM1 2072 005672 7012 RTR;RTR;RTR /OVER FOR PRINT 005673 7012 005674 7012 2073 005675 4302 JMS PRCHR /PRINT LEFT HALF 2074 005676 1664 TAD I OTM1 2075 005677 4302 JMS PRCHR /PRINT RIGHT HALF 2076 005700 2264 ISZ OTM1 /NEXT WORD 2077 005701 5271 JMP PRST1 /LOOP 2078 2079 005702 0000 PRCHR, 0 2080 005703 0376 AND (77 2081 005704 7450 SNA 2082 005705 5665 JMP I PRMSG /IF ZERO QUIT 2083 005706 1375 TAD (-40 /FOR EXTEND 2084 005707 7510 SPA /SKIP IF NEUMERIC 2085 005710 1374 TAD (100 /IS ALPHA 2086 005711 1373 TAD (240 /BACK TO CORRECT 2087 005712 4314 JMS PCH /PRINT ROUTINE 2088 005713 5702 JMP I PRCHR 2089 2090 2091 /PRINT A CHARACTER ROUTINE 2092 2093 005714 0000 PCH, 0 2094 005715 6046 TLS /OUTPUT IT 2095 005716 3772 DCA I (TELSW /SET TTY INPROGRESS 2096 005717 4771 JMS I (OPTIONS /AND WAIT TILL FINISHED 2097 005720 1772 TAD I (TELSW /KEYBOARD INTERRUPT 2098 005721 7440 SZA 2099 005722 5317 JMP .-3 /NOT YET 2100 005723 5714 JMP I PCH /DONE. 2101 2102 /GET AN INPUT CHARACTER 2103 2104 005724 0000 GETC, 0 2105 005725 1770 TAD I (ICHAR /FROM INTERRUPT SERVICE 2106 005726 7440 SZA /GOT ONE? 2107 005727 5332 JMP .+3 /YEP 2108 005730 4771 JMS I (OPTIONS /WAIT SOME MORE 2109 005731 5325 JMP GETC+1 2110 005732 3336 DCA CHAR 2111 005733 3770 DCA I (ICHAR 2112 005734 1336 TAD CHAR 2113 005735 5724 JMP I GETC /AND RETURN WITH CHAR 2114 2115 005736 0000 CHAR, 0 2116 2117 005737 0000 CRLF, 0 2118 005740 1367 TAD (215 2119 005741 4314 JMS PCH 2120 005742 1366 TAD (212 2121 005743 4314 JMS PCH 2122 005744 5737 JMP I CRLF 2123 2124 005745 4771 REINITIALIZE, JMS I (OPTIONS 2125 005746 5200 JMP KBOARD 2126 2127 /TURN ON BOUNCE 2128 2129 005747 1365 OBOUNC, TAD (BOUNX 2130 005750 3067 DCA BOUNCX 2131 005751 1364 TAD (BOUNY 2132 005752 3070 DCA BOUNCY 2133 005753 4265 JMS PRMSG /TELL HIME 2134 005754 7037 MBOUNC 2135 005755 4337 JMS CRLF 2136 005756 5345 JMP REINIT 2137 2138 005764 2155 PAGE 005765 2146 005766 0212 005767 0215 005770 5420 005771 5444 005772 5417 005773 0240 005774 0100 005775 7740 005776 0077 005777 4600 2139 /ROUTINE TO DISABLE BOUNCE 2140 2141 006000 1377 OWRAP, TAD (NULL 2142 006001 3067 DCA BOUNCX 2143 006002 1377 TAD (NULL 2144 006003 3070 DCA BOUNCY 2145 006004 4776 JMS I (PRMSG 2146 006005 7044 MWRAP 2147 006006 4775 JMS I (CRLF 2148 006007 5774 JMP I (REINIT 2149 2150 /ROUTINE TO CONSERVE ANGULAR MOM 2151 2152 006010 7201 OANGUL, CLA IAC 2153 006011 3050 DCA CONSER 2154 006012 4776 JMS I (PRMSG 2155 006013 7054 MANGCON 2156 006014 4775 JMS I (CRLF 2157 006015 5774 JMP I (REINIT 2158 2159 006016 3050 ONORM, DCA CONSER 2160 006017 4776 JMS I (PRMSG 2161 006020 7065 MNORMAL 2162 006021 4775 JMS I (CRLF 2163 006022 5774 JMP I (REINIT 2164 2165 /ROUTINE TO INPUT AN OCTAL NUMBER FROM THE KEYBOARD. 2166 /CALL: JMS OCTAL 2167 / RET1 /NO INPUT 2168 / RET2 /AC=OCTAL NUMBER 2169 2170 006023 0000 OCTALX, 0 2171 006024 3257 DCA NUMB 2172 006025 3260 DCA INPUT 2173 006026 4773 OCTALL, JMS I (GETC 2174 006027 4772 JMS I (PCH /AND PRINT IT 2175 006030 1771 TAD I (CHAR 2176 006031 1370 TAD (-"8 2177 006032 7500 SMA /SKIP IF <"8 2178 006033 5250 JMP NUMBEX /EXIT 2179 006034 1367 TAD ("8-"0 /NOW CHECK FOR OCTAL 2180 006035 7510 SPA /SKIP IF OK 2181 006036 5250 JMP NUMBEX /NO=QUIT 2182 006037 3260 DCA INPUT /SAVE NUMBER 2183 006040 1257 TAD NUMB /GET LAST NUMBER 2184 006041 7104 CLL RAL;CLL RAL;CLL RAL 006042 7104 006043 7104 2185 006044 1260 TAD INPUT /STICK IN NEW NUMBER 2186 006045 3257 DCA NUMB 2187 006046 2260 ISZ INPUT /MAKE SURE NON-ZERO 2188 006047 5226 JMP OCTALL 2189 006050 7300 NUMBEX, CLA CLL 2190 006051 1260 TAD INPUT /TO SEE IF ANY 2191 006052 7640 SZA CLA 2192 006053 2223 ISZ OCTALX /TAKE YES RETURN 2193 006054 4775 JMS I (CRLF 2194 006055 1257 TAD NUMB /STICK NUMBER IN AC 2195 006056 5623 JMP I OCTALX /AND RETURN 2196 2197 006057 0000 NUMB, 0 2198 006060 0000 INPUT, 0 2199 2200 2201 006061 4776 OGRAV, JMS I (PRMSG /TELL HIM WHAT OPTION IS 2202 006062 7100 MGRAVY 2203 006063 4223 JMS OCTALX /GET NEW VALUE 2204 006064 5774 JMP I (REINIT /NO INPUT 2205 006065 3062 DCA QGRAV /SET VALUE 2206 006066 1366 TAD (KBOARD /REINITIALIZE 2207 006067 3765 DCA I (OPTIONS 2208 006070 4764 JMS I (SETGRV /SET UP TABLE 2209 006071 1062 TAD QGRAV /NOW TO SEE IF ANTI-GRAV. 2210 006072 7700 SMA CLA /SKIP IF YES 2211 006073 5763 JMP I (WAR-2 2212 006074 4776 JMS I (PRMSG 2213 006075 7116 MAGRAV /ANTI GRAVITY 2214 006076 4775 JMS I (CRLF 2215 006077 1366 TAD (KBOARD 2216 006100 3765 DCA I (OPTIONS 2217 006101 5763 JMP I (WAR-2 2218 2219 006102 4776 OMISSL, JMS I (PRMSG 2220 006103 7125 MMISSLS 2221 006104 4223 JMS OCTALX /GET A NUMBER 2222 006105 5774 JMP I (REINIT 2223 006106 7041 CIA /SET MISSEL CONSTANT 2224 006107 3053 DCA MAXMIS /SET CONSTANT 2225 006110 5774 JMP I (REINIT /DONE 2226 2227 /ROUTINE TO READJUST THRUST 2228 2229 006111 4776 OTHRUS, JMS I (PRMSG 2230 006112 7137 MTHRUS 2231 006113 4223 JMS OCTALX 2232 006114 5774 JMP I (REINIT 2233 006115 7106 CLL RTL 2234 006116 3061 DCA QTHRUS 2235 006117 5774 JMP I (REINIT 2236 2237 /ROUTINE TO SET RETRO CONSTANT 2238 2239 006120 4776 ORETRO, JMS I (PRMSG 2240 006121 7152 MRETRO 2241 006122 4223 JMS OCTALX 2242 006123 5774 JMP I (REINIT 2243 006124 3063 DCA QRET 2244 006125 5774 JMP I (REINIT 2245 2246 /ROUTINE TO PRINT LOTS OF MESSAGES 2247 2248 006126 0000 MMESG, 0 2249 006127 4775 JMS I (CRLF /NEW LINE 2250 006130 1726 TAD I MMESG /GET START OF MESSAGE 2251 006131 7450 SNA /SKIP IF MORE TO COME 2252 006132 5726 JMP I MMESG 2253 006133 3335 DCA .+2 2254 006134 4776 JMS I (PRMSG /PRINT IT 2255 006135 0000 0 2256 006136 2326 ISZ MMESG /NEXT LINE 2257 006137 5327 JMP MMESG+1 /MORE 2258 2259 /PRINT OPTIONS 2260 2261 006163 5000 PAGE 006164 2662 006165 5444 006166 5600 006167 0010 006170 7510 006171 5736 006172 5714 006173 5724 006174 5745 006175 5737 006176 5665 006177 1003 2262 006200 4777 OOPTIO, JMS I (MMESG 2263 006201 6622 MOPTA 2264 006202 6647 MOPTB 2265 006203 6674 MOPTBA 2266 006204 6710 MOPTC 2267 006205 6724 MOPTD 2268 006206 6734 MOPTE 2269 006207 6754 MOPTF 2270 006210 7012 MCURVE 2271 006211 7021 MPHLAT 2272 006212 7027 MSTARS 2273 006213 6744 MSUN 2274 006214 7037 MBOUNC 2275 006215 7044 MWRAP 2276 006216 7054 MANGCO 2277 006217 7065 MNORMA 2278 006220 7125 MMISSL 2279 006221 7137 MTHRUS 2280 006222 7152 MRETRO 2281 006223 6600 MVELOX 2282 006224 0000 0 2283 006225 5776 JMP I (REINIT 2284 2285 /DISPLAY SAUCERS (UFO'S) 2286 2287 006226 4775 OUFO, JMS I (PRMSG 2288 006227 6774 MUFO 2289 006230 4774 JMS I (CRLF 2290 006231 1373 TAD (JMS I PSAUCP 2291 006232 3772 DCA I (PSAUC1 2292 006233 1371 TAD (NOP 2293 006234 3770 DCA I (PSAUC2 2294 006235 1367 TAD (SAUC1 2295 006236 3766 DCA I (SHIP1+QSHIP-QR 2296 006237 1365 TAD (SAUC1E-SAUC1 2297 006240 3764 DCA I (SHIP1+QSHIPN-QR 2298 006241 1363 TAD (SAUC2 2299 006242 3762 DCA I (SHIP2+QSHIP-QR 2300 006243 1361 TAD (SAUC2E-SAUC2 2301 006244 3760 DCA I (SHIP2+QSHIPN-QR 2302 006245 1357 OUFOR, TAD (KBOARD 2303 006246 3756 DCA I (OPTIONS 2304 006247 5755 JMP I (WAR-2 2305 2306 /DISPLAY SHIPS 2307 2308 006250 4775 OSHIPS, JMS I (PRMSG 2309 006251 7003 MSHIPS 2310 006252 4774 JMS I (CRLF 2311 006253 1270 TAD OSHIPJ 2312 006254 3770 DCA I (PSAUC2 2313 006255 1371 TAD (NOP 2314 006256 3772 DCA I (PSAUC1 2315 006257 1354 TAD (SHIP1C 2316 006260 3766 DCA I (SHIP1+QSHIP-QR 2317 006261 1353 TAD (SHIP1E-SHIP1C 2318 006262 3764 DCA I (SHIP1+QSHIPN-QR 2319 006263 1352 TAD (SHIP2C 2320 006264 3762 DCA I (SHIP2+QSHIP-QR 2321 006265 1351 TAD (SHIP2E-SHIP2C 2322 006266 3760 DCA I (SHIP2+QSHIPN-QR 2323 006267 5245 JMP OUFOR 2324 2325 006270 5323 OSHIPJ, PSAUC2+3&177+5200 2326 2327 2328 006351 0050 PAGE 006352 1201 006353 0060 006354 1025 006355 5000 006356 5444 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 2329 /RESET MUSSEL VELOCITY OF ROCKETS 2330 2331 006400 4777 OVELOC, JMS I (PRMSG 2332 006401 6600 MVELOX 2333 006402 4776 JMS I (OCTALX 2334 006403 5775 JMP I (REINIT 2335 006404 7110 CLL RAR 2336 006405 3064 DCA QTHROC /RESET MUSSLE VELOCITY 2337 006406 5775 JMP I (REINIT 2338 2339 /SELECT FLAT OR CURVED SPACE 2340 2341 006407 4777 OPHLAT, JMS I (PRMSG 2342 006410 7021 MPHLAT 2343 006411 4774 JMS I (CRLF 2344 006412 7200 CLA 2345 006413 1373 TAD (3777 2346 006414 3041 DCA QTIME /NO TIME CURVE ON OUTLINE 2347 006415 1372 TAD (SC 2348 006416 3771 DCA I (NEWPO7+1 2349 006417 1372 TAD (SC 2350 006420 3770 DCA I (NEWPO7+11 2351 006421 5775 JMP I (REINIT 2352 2353 006422 4777 OCURVE, JMS I (PRMSG 2354 006423 7012 MCURVE 2355 006424 4774 JMS I (CRLF 2356 006425 7200 CLA 2357 006426 1367 TAD (SC1 2358 006427 3771 DCA I (NEWPO7+1 2359 006430 1366 TAD (SC2 2360 006431 3770 DCA I (NEWPO7+11 2361 006432 5775 JMP I (REINIT 2362 2363 /DISPLAY OPTIONAL SUN OR UNIVERSE 2364 2365 006433 4777 OSTARS, JMS I (PRMSG 2366 006434 7027 MSTARS 2367 006435 4774 JMS I (CRLF 2368 006436 7200 CLA 2369 006437 1365 TAD (D2 2370 006440 3764 DCA I (WARDX+1 2371 006441 5775 JMP I (REINIT 2372 2373 006442 4777 OSUN, JMS I (PRMSG 2374 006443 6744 MSUN 2375 006444 4774 JMS I (CRLF 2376 006445 7200 CLA 2377 006446 1363 TAD (D1 2378 006447 3764 DCA I (WARDX+1 2379 006450 5775 JMP I (REINIT 2380 2381 006563 4507 PAGE 006564 5076 006565 4506 006566 4776 006567 4777 006570 2452 006571 2442 006572 4315 006573 3777 006574 5737 006575 5745 006576 6023 006577 5665 2382 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 2383 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 2384 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 2385 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 2386 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 2387 006724 2540 MOPTD, TEXT \U DISPLAY UFO'S\ 006725 0411 006726 2320 006727 1401 006730 3140 006731 2506 006732 1747 006733 2300 2388 006734 2340 MOPTE, TEXT \S DISPLAY SHIPS\ 006735 0411 006736 2320 006737 1401 006740 3140 006741 2310 006742 1120 006743 2300 2389 006744 3240 MSUN, TEXT 'Z POLARIS ONLY' 006745 2017 006746 1401 006747 2211 006750 2340 006751 1716 006752 1431 006753 0000 2390 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 2391 006774 0411 MUFO, TEXT \DISPLAY UFO'S\ 006775 2320 006776 1401 006777 3140 007000 2506 007001 1747 007002 2300 2392 007003 0411 MSHIPS, TEXT \DISPLAY SHIPS\ 007004 2320 007005 1401 007006 3140 007007 2310 007010 1120 007011 2300 2393 007012 0325 MCURVE, TEXT 'CURVED SPACE' 007013 2226 007014 0504 007015 4023 007016 2001 007017 0305 007020 0000 2394 007021 2010 MPHLAT, TEXT 'PHLAT SPACE' 007022 1401 007023 2440 007024 2320 007025 0103 007026 0500 2395 007027 0611 MSTARS, TEXT 'FIELD OF STARS' 007030 0514 007031 0440 007032 1706 007033 4023 007034 2401 007035 2223 007036 0000 2396 007037 0217 MBOUNC, TEXT \BOUNCE ON\ 007040 2516 007041 0305 007042 4017 007043 1600 2397 007044 2722 MWRAP, TEXT \WRAP-AROUND ON\ 007045 0120 007046 5501 007047 2217 007050 2516 007051 0440 007052 1716 007053 0000 2398 007054 0116 MANGCO, TEXT \ANGULAR MOMENTUM\ 007055 0725 007056 1401 007057 2240 007060 1517 007061 1505 007062 1624 007063 2515 007064 0000 2399 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 2400 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 2401 007116 0116 MAGRAV, TEXT \ANTI-GRAVITY\ 007117 2411 007120 5507 007121 2201 007122 2611 007123 2431 007124 0000 2402 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 2403 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 2404 007152 2205 MRETRO, TEXT \RETRO-THRUST (4):\ 007153 2422 007154 1755 007155 2410 007156 2225 007157 2324 007160 4050 007161 6451 007162 7200 2405 2406 PAGE 2407 IFNZRO D < 2408 XXX=. 2409 FIELD D%10 2410 *1000> 2411 2412 DECIMAL 2413 BIGSUN, 2414 011000 0000 0;0 011001 0000 2415 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 2416 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 2417 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 2418 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 2419 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 2420 011076 0000 0;0 011077 0000 2421 2422 ESUN=. 2423 IFNZRO 0 < 2424 -2;12; 0;12; 3;12; -4;11; -1;11; 1;11; 4;11; 6;11 2425 -6;10; -3;10; 2;10; 4;10; 8;10; -8;9; -4;9; -2;9; 0;9 2426 4;9; 6;9; 7;9; -8;8; -6;8; -3;8; 2;8; 6;8; 8;8; 10;8; -10;7 2427 8;7; 9;7; -8;6; -5;6; 0;6; 3;6; 10;6; 11;6; -11;5; -9;5 2428 -2;5; 5;5; 7;5; 9;5; 11;5; -7;4; 3;4; 12;4; -10;3 2429 -4;3; -1;3; 1;3; 7;3; 10;3; 11;3; -12;2 2430 -11;2; -6;2; 4;2; 12;2; 13;2 2431 -11;1; -10;1; -8;1; -2;1; 1;1; 8;1; 11;1; -12;0; 10;0 2432 -5;0; 6;0; 13;0; -11;-1; -3;-1; 0;-1; 3;-1; 9;-1; 12;-1; -12;-2; -10;-2 2433 -8;-1; -6;-2; -1;-2; 7;-2; 11;-2; 12;-2; -9;-3; -4;-3 2434 4;-3; 11;-3; -11;-4; -9;-4; -7;-4; -1;-4; 2;-4; 7;-4 2435 10;-4; 12;-4; 11;-5; -11;-6; -9;-6 2436 -8;-6; -6;-6; 4;-6; 6;-6; 8;-6; 9;-6; 11;-6; -10;-7 2437 -8;-7; -2;-7; 1;-7 2438 -8;-8; -6;-8; 6;-8; 8;-8; 9;-8; -8;-9; -6;-9; -4;-9; 4;-9; 7;-9 2439 -6;-10; -2;-10; 0;-10; 2;-10; 4;-10; 5;-10; 7;-10; -5;-11; -3;-11; -1;-11 2440 2;-11; 5;-11; -3;-12; -1;-12; 1;-12; 3;-12 2441 ESUN=. 2442 > 2443 PAGE 2444 SUNPT1, /STAR FIELD 2445 /ORION SIGNUS URSIA MAJOR SCORPIO 2446 011200 0022 18;-174; 62;108; -102;31; -128;250 011201 7522 011202 0076 011203 0154 011204 7632 011205 0037 011206 7600 011207 0372 2447 011210 0057 47;-171; 106;85; -88;20; -128;242 011211 7525 011212 0152 011213 0125 011214 7650 011215 0024 011216 7600 011217 0362 2448 011220 0041 33;-194; 91;91; -91;9; -139;225 011221 7476 011222 0133 011223 0133 011224 7645 011225 0011 011226 7565 011227 0341 2449 011230 0050 40;-191; 71;88; -91;-23; -146;216 011231 7501 011232 0107 011233 0130 011234 7645 011235 7751 011236 7556 011237 0330 2450 /SOME MISC. 2451 011240 7553 -149;-213 /IN PUPPIS 011241 7453 2452 011242 7654 -84;-168 /PROCYON 011243 7530 2453 011244 0161 113;-46 /IN ANDROMEDA 011245 7722 2454 011246 7765 -11;77 /ELTANIN 011247 0115 2455 2456 /ORION SIGNUS URSIA MAJOR SCORPIO 2457 011250 0057 47;-188; 73;74; -73;-20; -153;213 011251 7504 011252 0111 011253 0112 011254 7667 011255 7754 011256 7547 011257 0325 2458 011260 0032 26;-211; 47;85; -102;-9; -164;194 011261 7455 011262 0057 011263 0125 011264 7632 011265 7767 011266 7534 011267 0302 2459 011270 0102 66;-199; 29;74; -88;-3; -175;196 011271 7471 011272 0035 011273 0112 011274 7650 011275 7775 011276 7521 011277 0304 2460 011300 0067 55;120; -182;199 011301 0170 011302 7512 011303 0307 2461 2462 /PLUS SOME MISCELLANEOUS 2463 011304 7613 -117;188 011305 0274 2464 011306 7530 -168;71 /ARCTURUS 011307 0107 2465 011310 0006 6;6;-6;-6 /SOME SUN SPOTS 011311 0006 011312 7772 011313 7772 2466 011314 0320 208;-105 /NECK OF CETUS 011315 7627 2467 011316 0320 208;102 /IN AQUARIUS 011317 0146 2468 011320 7417 -241;17 /SPICA 011321 0021 2469 2470 /CASEOPEA CANUS MAJOR PLEIADES 2471 011322 0076 62;-23; -18;-253; 117;-110 011323 7751 011324 7756 011325 7403 011326 0165 011327 7622 2472 011330 0111 73;-20; -29;-239; 117;-108 011331 7754 011332 7743 011333 7421 011334 0165 011335 7624 2473 011336 0111 73;-11; -18;-228; 113;-111 011337 7765 011340 7756 011341 7434 011342 0161 011343 7621 2474 011344 0130 88;-9; -44;-222; 113;-108 011345 7767 011346 7724 011347 7442 011350 0161 011351 7624 2475 011352 0120 80;0; -51;-213 011353 0000 011354 7715 011355 7453 2476 011356 7632 -102;-239 011357 7421 2477 011360 7663 -77;-239 011361 7421 2478 011362 7676 -66;-248 011363 7410 2479 011364 7676 -66;-219 011365 7445 2480 011366 7707 -57;-222 011367 7442 2481 /PLUS SOME MISCELLANEOUS 2482 011370 0006 6;-6;-6;6 /MORE SUN SPOTS 011371 7772 011372 7772 011373 0006 2483 011374 7432 -230;159 /IN LIBRA 011375 0237 2484 011376 7470 -200;-139 /ALPHARD 011377 7565 2485 2486 SUNPT2, 2487 011400 0000 0;1; 0;-1; 1;0; -1;0 011401 0001 011402 0000 011403 7777 011404 0001 011405 0000 011406 7777 011407 0000 2488 011410 0000 0;2; 0;-2; 2;0; -2;0 011411 0002 011412 0000 011413 7776 011414 0002 011415 0000 011416 7776 011417 0000 2489 011420 0000 0;4; 0;-4; 4;0; -4;0 011421 0004 011422 0000 011423 7774 011424 0004 011425 0000 011426 7774 011427 0000 2490 011430 0000 0;6; 0;-6; 6;0; -6;0 011431 0006 011432 0000 011433 7772 011434 0006 011435 0000 011436 7772 011437 0000 2491 2492 /VAIRABLES START HERE 2493 /BRIGHT STARS 2494 011440 0222 146;-29 /IN ANDROMEDA 011441 7743 2495 011442 0120 80;-143 /ALDEBARAN IN TAURUS 011443 7561 2496 011444 7623 -109;100 /ALPHECCA IN CORONA BOREALIS 011445 0144 2497 011446 0231 153;-68 /IN ARIES 011447 7674 2498 2499 /LEO SAGITARIUS GEMINI PEGASIS 2500 011450 7470 -200;-17; -18;250; -55;-114; 168;102 011451 7757 011452 7756 011453 0372 011454 7711 011455 7616 011456 0250 011457 0146 2501 011460 7442 -222;-43; 4;250; -69;-120; 160;40 011461 7725 011462 0004 011463 0372 011464 7673 011465 7610 011466 0240 011467 0050 2502 011470 7470 -200;-43; 15;242; -73;-128; 193;46 011471 7725 011472 0017 011473 0362 011474 7667 011475 7600 011476 0301 011477 0056 2503 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 2504 011510 7506 -186;-37; 40;242; -58;-125; 164;0 011511 7733 011512 0050 011513 0362 011514 7706 011515 7603 011516 0244 011517 0000 2505 /BRIGHT STARS 2506 011520 7502 -190;145 /IN LIBRA 011521 0221 2507 011522 0013 11;105 /LYRA 011523 0151 2508 011524 0105 69;-63 /MIRFAK IN PERSEUS 011525 7701 2509 011526 0244 164;-63 /IN ARIES 011527 7701 2510 2511 /LEO SAGITARIUS GEMINI PEGASIS 2512 011530 7470 -200;-71; 51;239; -44;-122; 200;0 011531 7671 011532 0063 011533 0357 011534 7724 011535 7606 011536 0310 011537 0000 2513 011540 7530 -168;-71; 66;228; -33;-117 011541 7671 011542 0102 011543 0344 011544 7737 011545 7613 2514 011546 7512 -182;-85; 51;228; -58;-151 011547 7653 011550 0063 011551 0344 011552 7706 011553 7551 2515 011554 7525 -171;-83; 62;246; -58;-137 011555 7655 011556 0076 011557 0366 011560 7706 011561 7567 2516 /BRIGHT STARS 2517 011562 7530 -168;-240 /IN PUPPIS 011563 7420 2518 011564 7442 -222;137 /IN LIBRA 011565 0211 2519 011566 7460 -208;29 /IN VIRGO 011567 0035 2520 011570 0130 88;157 /ALTAIR 011571 0235 2521 2522 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 2523 /LEO SAGITARIUS GEMINI PEGASIS 2524 011602 7556 -146;-85; 66;239; -29;-137 011603 7653 011604 0102 011605 0357 011606 7743 011607 7567 2525 011610 7556 -146;-77; -22;-154 011611 7663 011612 7752 011613 7546 2526 011614 7737 -33;-159 011615 7541 2527 /AURIGA 2528 011616 0032 26;-88;47;-114;29;-128;4;-97 011617 7650 011620 0057 011621 7616 011622 0035 011623 7600 011624 0004 011625 7637 2529 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 2530 2531 011636 0000 0;0 011637 0000 2532 2533 IFZERO EAE < 2534 OCTAL 2535 FIELD 0 2536 / DIGITAL-8-17 EAE EMULATION FOLLOWS. 2537 / (PAGE ZERO LAYOUT IS CHANGED AND CODE RELOCATED.) 2538 *160 2539 MQL=JMS I . 2540 000160 7400 PSDMQL 2541 DVI=JMS I . 2542 000161 7505 PSDDVI 2543 MUY=JMS I . 2544 000162 7541 PSDMUY 2545 NMI=JMS I . 2546 000163 7300 PSDNMI 2547 SHL=JMS I . 2548 000164 7422 PSDSHL 2549 ASR=JMS I . 2550 000165 7451 PSDASR 2551 LSR=JMS I . 2552 000166 7443 PSDLSR 2553 SCA=JMS I . 2554 000167 7347 PSDSCA 2555 MQA=JMS I . 2556 000170 7356 PSDMQA 2557 CAM=JMS I . 2558 000171 7403 PSDCAM 2559 /FIXTAB 2560 / PSDMQL 2561 /*67 2562 000172 0000 SUDOMQ, 0 2563 000173 0000 SUDOSC, 0 2564 / PSDMQL 2565 / PSDDVI 2566 / MQLDVI 2567 / PSDMUY 2568 / MQLMUY 2569 / PSDNMI 2570 / PSDSHL 2571 / PSDASR 2572 / PSDLSR 2573 / PSDSCA 2574 / PSDMQA 2575 / PSDCAM 2576 2577 *7300 2578 007300 0000 PSDNMI, 0 /NMI 2579 007301 3347 DCA PSDSCA /SAVE AC 2580 007302 3173 DCA SUDOSC /CLEAR STEP COUNTER. 2581 007303 1347 TAD PSDSCA 2582 007304 7440 SZA 2583 007305 5312 JMP .+5 2584 007306 1172 TAD SUDOMQ 2585 007307 7650 SNA CLA 2586 007310 5700 JMP I PSDNMI /0 AC AND MQ. 2587 007311 1347 NMIBK2, TAD PSDSCA 2588 007312 7004 RAL 2589 007313 7430 SZL 2590 007314 5330 JMP NMIOUT /AC0=1 2591 007315 7510 SPA 2592 007316 5332 JMP NMIOUT+2 /AC0=0 AND AC1=1 2593 007317 7200 CLA /AC0=AC1=0 2594 007320 1172 NMIBCK, TAD SUDOMQ 2595 007321 7104 CLL RAL 2596 007322 3172 DCA SUDOMQ 2597 007323 1347 TAD PSDSCA 2598 007324 7004 RAL 2599 007325 3347 DCA PSDSCA 2600 007326 2173 ISZ SUDOSC 2601 007327 5311 JMP NMIBK2 2602 007330 7510 NMIOUT, SPA 2603 007331 5334 JMP .+3 /AC0=AC1=1 2604 007332 7010 RAR /AC0 DOES NOT EQUAL AC1 2605 007333 5700 JMP I PSDNMI /EXIT 2606 007334 7010 RAR /TEST IF NUMBER 6000 0000 2607 007335 1346 TAD .+11 2608 007336 7640 SZA CLA 2609 007337 5320 JMP NMIBCK /NOT 6000 2610 007340 1172 TAD SUDOMQ 2611 007341 7440 SZA 2612 007342 5321 JMP NMIBCK+1 /NOT 0000 2613 007343 7020 CML /RESTORE LINK 2614 007344 1347 TAD PSDSCA /RESTORE 6000 2615 007345 5700 JMP I PSDNMI /EXIT 2616 007346 2000 -6000 2617 007347 0000 PSDSCA, 0 /SCA 2618 007350 3356 DCA PSDMQA /INCLUSIVE OR 2619 007351 1356 TAD PSDMQA /STEP COUNTER 2620 007352 7040 CMA /AND AC 2621 007353 0173 AND SUDOSC 2622 007354 1356 TAD PSDMQA 2623 007355 5747 JMP I PSDSCA 2624 007356 0000 PSDMQA, 0 /MQA 2625 007357 3347 DCA PSDSCA /INCLUSIVE OR 2626 007360 1347 TAD PSDSCA /MQ 2627 007361 7040 CMA /AND AC 2628 007362 0172 AND SUDOMQ 2629 007363 1347 TAD PSDSCA 2630 007364 5756 JMP I PSDMQA 2631 2632 *PSDNMI+100 2633 007400 0000 PSDMQL, 0 /MQL 2634 007401 3172 DCA Z SUDOMQ 2635 007402 5600 JMP I PSDMQL 2636 007403 0000 PSDCAM, 0 /CAM (CLA!MQL) 2637 007404 7200 CLA 2638 007405 3172 DCA Z SUDOMQ 2639 007406 5603 JMP I PSDCAM 2640 007407 0000 MQLMUY, 0 /MQL!MUY 2641 007410 3172 DCA Z SUDOMQ 2642 007411 1207 TAD MQLMUY /SET UP 2643 007412 3341 DCA PSDMUY /FOR MUY SUBROUTINE 2644 007413 5342 JMP PSDMUY+1 2645 007414 0000 MQLDVI, 0 /MQL!DVI 2646 007415 3172 DCA Z SUDOMQ 2647 007416 1214 TAD MQLDVI /SET UP 2648 007417 3305 DCA PSDDVI /FOR DVI SUBROUTINE 2649 007420 5306 JMP PSDDVI+1 2650 007421 0037 37 2651 007422 0000 PSDSHL, 0 /SHL 2652 007423 3203 DCA PSDCAM /SAVE AC 2653 007424 1622 TAD I PSDSHL /SHIFT COUNT 2654 007425 2222 ISZ PSDSHL /EXIT POINT 2655 007426 0221 AND PSDSHL-1 /5 BIT COUNTER 2656 007427 7040 CMA 2657 007430 3173 DCA SUDOSC 2658 007431 1172 TAD SUDOMQ /SHIFT COMBINED 2659 007432 7104 CLL RAL /AC AND MQ 2660 007433 3172 DCA SUDOMQ /1 BIT TO THE 2661 007434 1203 TAD PSDCAM /LEFT 2662 007435 7004 RAL 2663 007436 3203 DCA PSDCAM 2664 007437 2173 ISZ SUDOSC 2665 007440 5231 JMP .-7 /MORE SHIFTING 2666 007441 1203 TAD PSDCAM 2667 007442 5622 JMP I PSDSHL /EXIT 2668 007443 0000 PSDLSR, 0 /LSR 2669 007444 3203 DCA PSDCAM /SAVE AC 2670 007445 1243 TAD PSDLSR /USE ASR 2671 007446 3251 DCA PSDASR /ROUTINE 2672 007447 7100 CLL 2673 007450 5256 JMP PSDASR+5 2674 2675 007451 0000 PSDASR, 0 /ASR 2676 007452 7100 CLL /SET LINK=SIGN 2677 007453 7510 SPA 2678 007454 7020 CML 2679 007455 3203 DCA PSDCAM /SAVE AC 2680 007456 1651 TAD I PSDASR /SHIFT COUNT 2681 007457 2251 ISZ PSDASR /EXIT POINT 2682 007460 0221 AND PSDSHL-1 /5 BIT COUNTER 2683 007461 7040 CMA 2684 007462 3173 DCA SUDOSC 2685 007463 1203 TAD PSDCAM /RESTORE AC 2686 007464 5270 JMP .+4 2687 007465 1203 TAD PSDCAM 2688 007466 7510 SPA 2689 007467 7020 CML 2690 007470 7010 RAR 2691 007471 3203 DCA PSDCAM 2692 007472 1172 TAD SUDOMQ 2693 007473 7010 RAR 2694 007474 3172 DCA SUDOMQ 2695 007475 7100 CLL 2696 007476 2173 ISZ SUDOSC 2697 007477 5265 JMP .-12 /MORE SHIFTING 2698 007500 1203 TAD PSDCAM 2699 007501 7510 SPA 2700 007502 7020 CML /LINK=AC0 2701 007503 5651 JMP I PSDASR 2702 007504 7763 7763 2703 007505 0000 PSDDVI, 0 /DVI 2704 007506 3203 DCA PSDCAM /SAVE HIGH ORDER DIVIDEND 2705 007507 1705 TAD I PSDDVI /DIVISOR 2706 007510 2305 ISZ PSDDVI /EXIT POINT 2707 007511 7141 CLL CMA IAC 2708 007512 3207 DCA MQLMUY /2'S COMPLEMENT OF DIVISOR 2709 007513 1203 TAD PSDCAM /HIGH ORDER DIVIDEND 2710 007514 1207 TAD MQLMUY 2711 007515 7630 SZL CLA 2712 007516 5705 JMP I PSDDVI /DIVIDE OVERFLOW 2713 007517 1304 TAD PSDDVI-1 /7763 2714 007520 3243 DCA PSDLSR /COUNTER 2715 007521 5332 JMP .+11 2716 007522 1203 TAD PSDCAM 2717 007523 7004 RAL 2718 007524 3203 DCA PSDCAM 2719 007525 1203 TAD PSDCAM 2720 007526 1207 TAD MQLMUY 2721 007527 7430 SZL 2722 007530 3203 DCA PSDCAM 2723 007531 7200 CLA 2724 007532 1172 TAD SUDOMQ 2725 007533 7004 RAL 2726 007534 3172 DCA SUDOMQ 2727 007535 2243 ISZ PSDLSR 2728 007536 5322 JMP .-14 2729 007537 1203 TAD PSDCAM /COUNT EXHAUSTED 2730 007540 5705 JMP I PSDDVI /EXIT 2731 2732 007541 0000 PSDMUY, 0 /MUY 2733 007542 7300 CLA CLL 2734 007543 3214 DCA MQLDVI /CLEAR PRODUCT (MOST SIG.) REGISTER 2735 007544 1304 TAD PSDDVI-1 2736 007545 3243 DCA PSDLSR /LOOP COUNTER 2737 007546 1741 TAD I PSDMUY 2738 007547 3200 DCA PSDMQL /OPERAND 2739 007550 2341 ISZ PSDMUY /EXIT POINT 2740 007551 5361 JMP .+10 2741 007552 1214 TAD MQLDVI 2742 007553 7420 SNL 2743 007554 5357 JMP .+3 2744 007555 7100 CLL 2745 007556 1200 TAD PSDMQL 2746 007557 7010 RAR 2747 007560 3214 DCA MQLDVI 2748 007561 1172 TAD SUDOMQ 2749 007562 7010 RAR 2750 007563 3172 DCA SUDOMQ /LOW ORDER PRODUCT 2751 007564 2243 ISZ PSDLSR 2752 007565 5352 JMP .-13 2753 007566 1214 TAD MQLDVI /HIGH ORDER PRODUCT 2754 007567 5741 JMP I PSDMUY /EXIT 2755 /PAUSE 2756 > 2757 $ 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 CLKINT 5422 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 DFLAME 3142 DISBUF 4000 DISPCH 5646 DISPLA 4473 DIVIDE 4472 DK8EA 0001 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 5433 INTRPT 5402 KBOARD 5600 KW12 0000 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 5444 ORETRO 6120 OSHIPJ 6270 OSHIPS 6250 OSTARS 6433 OSUN 6442 OTHRUS 6111 OTM1 5664 OUFO 6226 OUFOR 6245 OVELOC 6400 OWRAP 6000 PCH 5714 PDP12 0000 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 unreferenced 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 0361 RANUML 0362 RANUMT 0360 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 5446 STOVER 5111 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 0001 VC8I 0000 WAIT 5110 WAR 5002 WAR1 5232 WAR1E 5027 WAR2 5244 WAR2E 5055 WARDIS 5066 unreferenced WARDX 5075 WARS2 5032 WARS3 5060 WARSUB 5200 XADDD 2120 XADDD1 2145 XADDD2 2141 XCOSIN 0332 XDISL 0274 XDISPL 0261 XDIVID 0234 XGGRAV 2650 XMULT 0202 XMULT1 0217 XMULTS 0233 XOFDEC 1431 XONDEC 1413 XRANDO 0336 XSINE 0313 XSQUAR 2661 XXX 7200 XXXXXX 0111