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 00001 5402 JMP I .+1 115 00002 5402 INTRPT 116 117 *6 118 00006 0000 QBETA, 0 /FOR PDP-12 119 00007 0000 QALPHA, 0 /ALPHA REG USED FOR DISPLAY 120 121 00010 0000 QXR1, 0 /RESERVED XR'S 122 00011 0000 QXR2, 0 123 00012 0000 QDISXR, 0 /FOR DISPLAY ROUTINE ONLY 124 00013 0000 QXR3, 0 /MUST BE USED WITH IOF 125 126 *20 127 /VARIABLES RESERVED 128 129 00020 0000 QR, 0 /SHIP POSITION RADIAL 130 00021 0000 ALIVE, 0 /=0 WHEN SHIP BLOWN UP 131 /NON-ZERO OTHERWISE 132 00022 0000 QXPOS, 0 /X COORD. 133 00023 0000 QYPOS, 0 /Y COORD. 134 00024 0000 QVX, 0 /X COMPONENT VELOCITY 135 00025 0000 QVY, 0 /Y COMPONENT VELOCITY 136 00026 0000 QPH, 0 /SHIP ANGLE (NOT POSITION DEPENDENT) 137 00027 0000 QPHDOT, 0 /SHIP ANGULAR VELOCITY 138 00030 0000 QPHR, 0 /PRECISION QPH 139 140 00031 0000 SHIELD, 0 /NON-ZERO WHEN SHIELDS ARE UP. 141 /WHEN SHIELDS ARE UP NO MISSELS 142 /AND NO ACCELLERATION ALLOWED. 143 00032 0000 HYPERS, 0 /NON-ZERO WHEN IN HYPERSPACE 144 00033 0001 MISCNT, 1 /-# MISSLES LEFT 145 00034 0000 ARMED, 0 /INCREMENTS TO 0 BEFORE SHIP 146 /CAN FIRE 147 00035 0000 QSHIP, 0 /POINT TO SHIP PICTURE 148 00036 0000 QSHIPN, 0 /# POINTS TO BE DISPLAYED IN SHIP 149 00037 0000 QSINPH, 0 /SIN(QPH) 150 00040 0000 QCOSPH, 0 /COS(QPH) 151 SHIPSZ=.-QR /#ENTRIES/SHIP 152 153 154 00041 3777 QTIME, 3777 /TIME SCALING FACTOR 155 /TEMPS AND VARIABLES 156 157 00042 0000 QSINTH, 0 /SIN(QTH) 158 00043 0000 QCOSTH, 0 /COS(QTH) 159 00044 0000 BREAKU, 0 /NON-ZERO WHEN SHIP BREAKING UP. 160 00045 0000 DBUFP, 0 /POINTS TO NEXT POS IN DISP BUFF. 161 00046 0000 QTHR, 0 /NON-ZERO WHEN MAIN ROCKETS ON 162 00047 0000 QTHA, 0 /NON-ZERO WHEN ANGULAR THRUST ON 163 00050 0000 CONSER, 0 /NON-ZERO IF CONSERVING ANGULAR 164 /MOMENTUM 165 00051 0000 NUMMIS, 0 /# MISSELS IN MISTBL 166 00052 0000 NNUMMI, 0 /TEMPORORY FOR UPDATING MISSLES 167 168 00053 0001 MAXMIS, -7777 /NUMBER OF ALLOWABLE MISSELS 169 00054 0000 QTM1, 0 /GENERAL TEMPORARYS 170 00055 0000 QTM2, 0 171 00056 0000 QCNT1, 0 172 00057 0000 QCNT2, 0 173 00060 0000 QCNT3, 0 /MUST BE USED WITH IOF 174 175 /CONSTANTS 176 177 00061 0010 QTHRUS, 10 /THRUST 178 00062 1000 QGRAV, 1000 /GRAVITY 179 00063 0004 QRET, 4 /THRUST ANGULAR RETRO'S 180 00064 1000 QTHROC, 1000 /MUSSEL VELOCITY OF ROCKETS 181 182 183 /THE FOLLOWING ARE POINTERS & FLAGS 184 185 00065 2000 PSAUCP, SAUC /POINTER TO SAUCER SHIP GENERATOR 186 00066 3400 MISPNT, MISTBL /POINTS TO WHERE NEXT MISSEL SHOULD 187 /GO IN MISSEL TABLE 188 00067 1003 BOUNCX, NULL 189 00070 1003 BOUNCY, NULL 190 191 /NEW INSTRUCTIONS 192 193 MULT=JMS I . 194 00071 0202 XMULT 195 DIVIDE=JMS I . 196 00072 0234 XDIVID 197 DISPLAY=JMS I . 198 00073 0261 XDISPL 199 COS=JMS I . /COSINE LOOKUP 200 00074 0332 XCOSIN 201 SIN=JMS I . /SINE LOOKUP 202 00075 0313 XSINE 203 GGRAV=JMS I . 204 00076 2650 XGGRAV 205 RANDOM=JMS I . 206 00077 0336 XRANDOM 207 ONDECK=JMS I . 208 00100 1413 XONDECK 209 OFDECK=JMS I . 210 00101 1431 XOFDECK 211 DRAW=JMS I . 212 00102 1600 CALPNT 213 NXTPOS=JMS I . 214 00103 2400 NEWPOS 215 NXTANG=JMS I . 216 00104 2462 ANGLES 217 FLAME=JMS I . 218 00105 3142 DFLAME 219 DSTARS=JMS I . 220 00106 3200 SUN 221 DSUN=JMS I . 222 00107 3254 POLARS 223 FIRE=JMS I . 224 00110 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 00111 7402 HLT 246 247 PAGE 248 /SO WE HAVE START AT 200 249 250 00200 5601 JMP I .+1 251 00201 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 00202 0000 XMULT, 0 262 00203 7100 CLL /WILL SAVE IN LINK 263 00204 7510 SPA /MULTIPLICAND POSITIVE? 264 00205 7061 CMA CML IAC /NO: MAKE POS. REMEMBER SIGN IN LINK 265 00206 4560 MQL /LOAD MULTIPLICAND INTO MQ 266 00207 1602 TAD I XMULT /PICK UP MULTIPLIER 267 00210 2202 ISZ XMULT /POINT TO RETURN 268 00211 7510 SPA /POSITIVE?? 269 00212 7061 CMA CML IAC /NO: MAKE POS AND REMEMBER SIGN 270 00213 3217 DCA XMULT1 /FOR THE MULTIPLY 271 00214 7044 CMA RAL /AC=-1 IF NEG;-2 IF POS. 272 00215 3233 DCA XMULTS /SAVE IT FOR LATER 273 00216 4562 MUY /EAE MULTIPLY 274 00217 0000 XMULT1, 0 /MULTIPLYER GOES HERE 275 00220 4564 SHL /WANT CORRECT NORMALIZATION 276 00221 0000 0 /ONE SHIFT ONLY 277 00222 3217 DCA XMULT1 /REMEMBER HIGH ORDER 278 00223 4570 MQA /READ LOW ORDER 279 00224 7710 SPA CLA /SKIP IF NO ROUND UP 280 00225 7001 IAC /ROUND UP ONE 281 00226 1217 TAD XMULT1 /MAKE ROUNDED RESULT 282 00227 2233 ISZ XMULTS /WILL SKIP IF NEG SIGN 283 00230 5602 JMP I XMULT /DONE: AC=RESULT 284 00231 7041 CIA /NEGATE 285 00232 5602 JMP I XMULT /AND RETURN 286 287 00233 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 00234 0000 XDIVID, 0 300 00235 7100 CLL /FOR SIGN 301 00236 7510 SPA /IS IT POSITIVE? 302 00237 7061 CIA CML /NO:MAKE POS. 303 00240 4560 MQL /PUT IN LOW ORDER 304 00241 7044 CMA RAL /AC=-1 IF NEG. 305 00242 3233 DCA XMULTS /SAVE SIGN 306 00243 1634 TAD I XDIVID /GET DIVISOR 307 00244 2234 ISZ XDIVID /POINT TO ERROR EXIT 308 00245 7450 SNA /SKIP IF NOT ZERO 309 00246 5634 JMP I XDIVID /TAKE DIV BY 0 RETURN 310 00247 2234 ISZ XDIVID /POINT TO NORMAL RETURN 311 00250 3252 DCA .+2 /STORE DIVISOR 312 00251 4561 DVI /DO THE DIVISION 313 00252 0000 0 /HOLDS THE DIVISOR 314 00253 7200 CLA;MQA /GET RESULT 00254 4570 315 00255 2233 ISZ XMULTS /SKIP IF NEG 316 00256 5634 JMP I XDIVID /POS=RETURN 317 00257 7041 CIA /NEG=NEGATE 318 00260 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 00261 0000 XDISPL, 0 328 00262 3012 DCA QDISXR /ADDRESS INTO XR 329 00263 1661 TAD I XDISPL /PICK UP # X,Y PAIRS 330 00264 2261 ISZ XDISPL /POINT TO RETURN 331 00265 7450 SNA /IF ZERO POINTS THEN EXIT 332 00266 5661 JMP I XDISPL 333 00267 7130 STL RAR //2 FOR POINT PAIRS 334 00270 3056 DCA QCNT1 /STASH FOR COUNT 335 00271 6211 CDF D /TO DISPLAY BUFFER FIELD 336 00272 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 00273 6050 6050 /CLEAR ALL FLAGS 366 00274 1412 XDISL, TAD I QDISXR /GET X 367 00275 7104 CLL RAL /512 RESOLUTION 368 00276 6053 6053 /CLEAR AND LOAD X 369 00277 7300 CLA CLL 370 00300 1412 TAD I QDISXR /GET Y 371 00301 7104 CLL RAL /512 RESOLUTION 372 00302 6054 6054 /CLEAR AND LOAD Y 373 00303 7300 CLA CLL 374 00304 6052 6052 /WAIT TILL DONE 375 00305 5304 JMP .-1 376 00306 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 00307 2056 ISZ QCNT1 /SKIP WHEN DONE 402 00310 5274 JMP XDISL /LOOP 403 00311 6201 CDF 0 /BACK TO THIS FIELD 404 00312 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 05021 4771 JMS I (WARSUB /DO THE CALCS 1756 05022 1032 TAD HYPERS 1757 05023 7640 SZA CLA /SKIP IF NOT IN HYPERSPACE 1758 05024 5227 JMP WAR1E /IGNORE CHECKING 1759 05025 4775 JMS I (COLIDE /CHECK FOR COLLISION WITH SUN 1760 05026 4770 JMS I (BANG /START EXPLOSION 1761 05027 1373 WAR1E, TAD (SHIP1-1 1762 05030 4501 OFDECK 1763 05031 4505 FLAME /DISPLAY FLAME 1764 1765 /NOW FOR SHIP2 1766 1767 05032 1367 WARS2, TAD (SHIP2-1 1768 05033 4500 ONDECK /NOW DO SHIP 2 1769 05034 1021 TAD ALIVE /NOW TO SEE IF HE EXISTS 1770 05035 7650 SNA CLA /SKIP IF ALIVE 1771 05036 5260 JMP WARS3 /NOPE:GO TO SHIP2 1772 05037 1372 TAD (-100 1773 05040 3311 DCA STOVER /SOMEONE STILL ALIVE 1774 05041 7604 LAS /GET SWITCHES 1775 IFDEF M1703 < 1776 05042 6144 6144 / USE M1703 INPUT 1777 > 1778 05043 4566 LSR;7 /OVER FOR WARSUB 05044 0007 1779 05045 4771 JMS I (WARSUB /DO THE CALCULATIONS 1780 05046 1032 TAD HYPERS 1781 05047 7640 SZA CLA /SKIP IF NOT IN HYPERSPACE 1782 05050 5255 JMP WAR2E /NO MORE CHECKING 1783 05051 4775 JMS I (COLIDE /COLLISION WITH SUN FIRST 1784 05052 7410 SKP 1785 05053 4766 JMS I (COLID1 /CHECK COLLISIONS 1786 05054 4770 JMS I (BANG /START THE EXPLOSION 1787 05055 1367 WAR2E, TAD (SHIP2-1 1788 05056 4501 OFDECK 1789 05057 4505 FLAME 1790 1791 /NOW FOR THE MISSLES 1792 1793 05060 6002 WARS3, IOF 1794 05061 4765 JMS I (MISSLS /INTERRUPTS CAN BOMB HERE 1795 05062 6001 ION 1796 1797 /AND ANY BREAKUP 1798 1799 05063 1044 TAD BREAKUP 1800 05064 7640 SZA CLA /SKIP IF ANY 1801 05065 4764 JMS I (SCATTER /DO IT 1802 1803 /NOW TO DISPLAY IT 1804 1805 05066 1045 WARDIS, TAD DBUFP 1806 05067 7041 CIA 1807 05070 1375 TAD (DISBUF 1808 05071 6002 IOF /NO INTS IN LINC MODE 1809 05072 3275 DCA WARDX /FOR DISPLAY ROUTINE 1810 05073 1363 TAD (DISBUF-1 1811 05074 4473 DISPLAY 1812 05075 0000 WARDX, 0 1813 D1=DSUN 1814 D2=DSTARS 1815 05076 4507 DSUN /DISPLAY THE UNIVERSE OR SUN 1816 05077 6001 ION 1817 05100 2311 ISZ STOVER /DELAY FOR AUTO RESTART 1818 05101 7410 SKP 1819 05102 5762 JMP I (SPCWAR /START OVER 1820 IFNZRO FCLOCK+KW12+AX08+DK8EA+DK8EP < 1821 05103 1310 TAD WAIT 1822 05104 7650 SNA CLA 1823 05105 5303 JMP .-2 1824 05106 3310 DCA WAIT> 1825 05107 5202 JMP WAR 1826 1827 05110 0000 WAIT, 0 /-1 WHEN READY 1828 /SET BY INTERRUPT ROUTINE 1829 05111 0000 STOVER, 0 /DELAY FOR AUTO RESTART 1830 1831 1832 05162 4600 PAGE 05163 3777 05164 3725 05165 3600 05166 4023 05167 1371 05170 4105 05171 5200 05172 7700 05173 1350 05174 4001 05175 4000 05176 4002 05177 3253 1833 /SUBROUTINE TO DO ALL OF THE SHIP CALCULATIONS. 1834 /ENTER WITH BITS SET ACCORDING TO OPTIONS 1835 1836 05200 0000 WARSUB, 0 1837 05201 3777 DCA I (SWITCHES 1838 05202 1777 TAD I (SWITCHES 1839 05203 7010 RAR /ROCKET BIT TO LINK 1840 05204 7630 SZL CLA /SKIP IF NOT ON 1841 05205 1061 TAD QTHRUST /COPY THRUST INTO QTHR 1842 05206 3046 DCA QTHR /IF ROCKETS ON 1843 05207 3032 DCA HYPERS /TAKE OUT OF HYPERSPACE 1844 05210 1777 TAD I (SWITCHES 1845 05211 0376 AND (6 /MASK ROT BITS 1846 05212 7450 SNA /SKIP IF ANY ON 1847 05213 5232 JMP WAR1 1848 05214 3054 DCA QTM1 /SAVE 1849 05215 1054 TAD QTM1 1850 05216 1375 TAD (-6 /TO SEE IF HYPERSPACE 1851 05217 7650 SNA CLA /SKIP IF NOT HYPERSPACE 1852 05220 4774 JMS I (HYPER /GO INTO HYPERSPACE 1853 05221 1032 TAD HYPERS /IF IN HYPERSPACE DON'T DO 1854 05222 7640 SZA CLA /THE CALCULATIONS 1855 05223 5600 JMP I WARSUB 1856 05224 1054 TAD QTM1 1857 05225 7012 RTR /GET CLOCKWISE INTO LINK 1858 05226 7200 CLA /GET RID OF OTHER BIT 1859 05227 1063 TAD QRET /RETRO CONSTANT 1860 05230 7420 SNL /SKIP IF CC 1861 05231 7041 CIA 1862 05232 3047 WAR1, DCA QTHA /SET RETRO THRUST 1863 05233 1034 TAD ARMED /TO SEE IF ALREADY ARMED 1864 05234 7650 SNA CLA /SKIP IF NOT YET 1865 05235 5240 JMP .+3 /ALREADY ARMED 1866 05236 2034 ISZ ARMED /UPDATE TIME DELAY 1867 05237 5244 JMP WAR2 /NOT ARMED. 1868 05240 1777 TAD I (SWITCHES /IS ARMED SO CHECK 1869 05241 0373 AND (10 /FIRE BIT. 1870 05242 7640 SZA CLA /SKIP IF NOT FIRING 1871 05243 4510 FIRE /FIRE A MISSLE. 1872 05244 4503 WAR2, NXTPOS /CALC NEW POSITION 1873 05245 4504 NXTANG /AND SHIP ANGLE 1874 05246 4502 DRAW /SET DISPLAY BUFFER 1875 05247 4772 PSAUC1, JMS I (SAUC /OR NOP FOR SHIPS 1876 05250 5600 JMP I WARSUB 1877 1878 05372 2000 PAGE 05373 0010 05374 3357 05375 7772 05376 0006 05377 1421 1879 /COME HERE FROM INTERRUPT 1880 1881 05400 0000 SAVAC, 0 1882 05401 0000 SAVLK, 0 1883 1884 05402 3200 INTRPT, DCA SAVAC /SAVE ACCUMULATOR 1885 05403 7010 RAR 1886 05404 3201 DCA SAVLK /AND LINK 1887 05405 6031 KSF /KEYBOARD? 1888 05406 5212 JMP .+4 1889 05407 6036 KRB /READ THE CHAR 1890 05410 3220 DCA ICHAR /STORE 1891 05411 5644 JMP I OPTIONS 1892 05412 6041 TSF /TELEPRINTER 1893 05413 5222 JMP CLKINT /NO CHECK CLOCK 1894 05414 6042 TCF /CLEAR THAT FLAG 1895 05415 3217 DCA TELSW /SET NOT IN PROGRESS SWITCH 1896 05416 5644 JMP I OPTIONS 1897 1898 05417 0000 TELSW, 0 1899 05420 0000 ICHAR, 0 1900 05421 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 05422 6133 6133 /SKIP ON CLOCK 1916 05423 5233 JMP INTEXT /NOPE 1917 05424 6131 6131 /MAKE SURE INT STILL ENABLED 1918 05425 2221 ISZ DELAY1 /WANT 30/SEC 1919 05426 5233 JMP INTEXT /NOPE: NEXT TIME 1920 05427 7346 CLL STA RTL /-2 1921 05430 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 05431 7240 STA /AND SET WAITING 1934 05432 3777 DCA I (WAIT 1935 1936 05433 6402 INTEXT, 6402 /LINK 1937 05434 6412 6412 1938 IFNZRO T30G <6161;NOP> 1939 05435 7300 CLA CLL 1940 05436 1201 TAD SAVLK /GET LINK 1941 05437 7104 RAL CLL 1942 05440 1200 TAD SAVAC /AND AC. 1943 05441 6244 RMF /RESTORE FIELDS 1944 05442 6001 ION /AND RESTOR INTERRUPTS 1945 05443 5400 JMP I 0 /RETURN TO PROGRAM 1946 1947 /GO BACK TO SPCWAR 1948 1949 05444 5600 OPTION, KBOARD 1950 05445 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 05446 0000 STCLK, 0 2000 05447 7346 CLL STA RTL /-2 2001 05450 3221 DCA DELAY1 /RESET DELAY1 2002 05451 6131 6131 /ENABLE INTERRUPTS 2003 05452 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 05577 5110 PAGE 2022 05600 4324 KBOARD, JMS GETC /GET THE CHAR 2023 05601 4246 JMS DISPCH /DISPATCH ON CHAR 2024 05602 7460 -"P;OPHLAT 05603 6407 2025 05604 7475 -"C;OCURVE 05605 6422 2026 05606 7472 -"F;OSTARS /FIELD OF STARS 05607 6433 2027 05610 7446 -"Z;OSUN /POLARIS ONLY 05611 6442 2028 05612 7476 -"B;OBOUNCE /BOUNCE MODE 05613 5747 2029 05614 7451 -"W;OWRAP /WRAP AROUND 05615 6000 2030 05616 7477 -"A;OANGUL /ANGULAR MOMENT CONSERVE 05617 6010 2031 05620 7462 -"N;ONORM /NO ANG MOM CONS. 05621 6016 2032 05622 7471 -"G;OGRAV /RESET GRAVITY 05623 6061 2033 05624 7463 -"M;OMISSL /RESET NUMB MISSLES 05625 6102 2034 05626 7456 -"R;ORETRO /RESET RETRO CONSTANT 05627 6120 2035 05630 7454 -"T;OTHRUS /RESET THRUST CONSTANT 05631 6111 2036 05632 7455 -"S;OSHIPS /DISPLAY SHIPS 05633 6250 2037 05634 7452 -"V;OVELOC /MUSSEL VELOCITY OF MISSILES 05635 6400 2038 05636 7453 -"U;OUFO /DISPLAY UFO'S 05637 6226 2039 05640 7461 -"O;OOPTION /LIST OPTIONS 05641 6200 2040 05642 7575 -203;7600 /^C RETURN TO MONITOR 05643 7600 2041 05644 0000 0 /END OF LIST 2042 05645 5777 JMP I (SPCWAR /START OVER 2043 2044 2045 /DISPATCH ON ACCUMULATOR 2046 2047 05646 0000 DISPCH, 0 2048 05647 3264 DCA OTM1 /TEMP STASH 2049 05650 1646 TAD I DISPCH /GET COMPARISON 2050 05651 2246 ISZ DISPCH 2051 05652 7450 SNA /0 MEANS DONE 2052 05653 5646 JMP I DISPCH /NOT IN LIST 2053 05654 1264 TAD OTM1 /CHECK AGAINST CAHR 2054 05655 7650 SNA CLA /SKIP IF NO MATCH 2055 05656 5261 JMP .+3 /MATCH 2056 05657 2246 ISZ DISPCH /TO NEXT CHAR 2057 05660 5250 JMP DISPCH+2 /CONTINUE 2058 05661 1646 TAD I DISPCH /FOUND IT 2059 05662 3246 DCA DISPCH /DO DOUBLE INDIRECT 2060 05663 5646 JMP I DISPCH 2061 2062 05664 0000 OTM1, 0 2063 2064 2065 /PRINT A MESSAGE 2066 2067 05665 0000 PRMSG, 0 2068 05666 1665 TAD I PRMSG /GET ADD OF MESSAGE 2069 05667 3264 DCA OTM1 /STORE POINTER 2070 05670 2265 ISZ PRMSG /NORMAL EXIT 2071 05671 1664 PRST1, TAD I OTM1 2072 05672 7012 RTR;RTR;RTR /OVER FOR PRINT 05673 7012 05674 7012 2073 05675 4302 JMS PRCHR /PRINT LEFT HALF 2074 05676 1664 TAD I OTM1 2075 05677 4302 JMS PRCHR /PRINT RIGHT HALF 2076 05700 2264 ISZ OTM1 /NEXT WORD 2077 05701 5271 JMP PRST1 /LOOP 2078 2079 05702 0000 PRCHR, 0 2080 05703 0376 AND (77 2081 05704 7450 SNA 2082 05705 5665 JMP I PRMSG /IF ZERO QUIT 2083 05706 1375 TAD (-40 /FOR EXTEND 2084 05707 7510 SPA /SKIP IF NEUMERIC 2085 05710 1374 TAD (100 /IS ALPHA 2086 05711 1373 TAD (240 /BACK TO CORRECT 2087 05712 4314 JMS PCH /PRINT ROUTINE 2088 05713 5702 JMP I PRCHR 2089 2090 2091 /PRINT A CHARACTER ROUTINE 2092 2093 05714 0000 PCH, 0 2094 05715 6046 TLS /OUTPUT IT 2095 05716 3772 DCA I (TELSW /SET TTY INPROGRESS 2096 05717 4771 JMS I (OPTIONS /AND WAIT TILL FINISHED 2097 05720 1772 TAD I (TELSW /KEYBOARD INTERRUPT 2098 05721 7440 SZA 2099 05722 5317 JMP .-3 /NOT YET 2100 05723 5714 JMP I PCH /DONE. 2101 2102 /GET AN INPUT CHARACTER 2103 2104 05724 0000 GETC, 0 2105 05725 1770 TAD I (ICHAR /FROM INTERRUPT SERVICE 2106 05726 7440 SZA /GOT ONE? 2107 05727 5332 JMP .+3 /YEP 2108 05730 4771 JMS I (OPTIONS /WAIT SOME MORE 2109 05731 5325 JMP GETC+1 2110 05732 3336 DCA CHAR 2111 05733 3770 DCA I (ICHAR 2112 05734 1336 TAD CHAR 2113 05735 5724 JMP I GETC /AND RETURN WITH CHAR 2114 2115 05736 0000 CHAR, 0 2116 2117 05737 0000 CRLF, 0 2118 05740 1367 TAD (215 2119 05741 4314 JMS PCH 2120 05742 1366 TAD (212 2121 05743 4314 JMS PCH 2122 05744 5737 JMP I CRLF 2123 2124 05745 4771 REINITIALIZE, JMS I (OPTIONS 2125 05746 5200 JMP KBOARD 2126 2127 /TURN ON BOUNCE 2128 2129 05747 1365 OBOUNC, TAD (BOUNX 2130 05750 3067 DCA BOUNCX 2131 05751 1364 TAD (BOUNY 2132 05752 3070 DCA BOUNCY 2133 05753 4265 JMS PRMSG /TELL HIME 2134 05754 7037 MBOUNC 2135 05755 4337 JMS CRLF 2136 05756 5345 JMP REINIT 2137 2138 05764 2155 PAGE 05765 2146 05766 0212 05767 0215 05770 5420 05771 5444 05772 5417 05773 0240 05774 0100 05775 7740 05776 0077 05777 4600 2139 /ROUTINE TO DISABLE BOUNCE 2140 2141 06000 1377 OWRAP, TAD (NULL 2142 06001 3067 DCA BOUNCX 2143 06002 1377 TAD (NULL 2144 06003 3070 DCA BOUNCY 2145 06004 4776 JMS I (PRMSG 2146 06005 7044 MWRAP 2147 06006 4775 JMS I (CRLF 2148 06007 5774 JMP I (REINIT 2149 2150 /ROUTINE TO CONSERVE ANGULAR MOM 2151 2152 06010 7201 OANGUL, CLA IAC 2153 06011 3050 DCA CONSER 2154 06012 4776 JMS I (PRMSG 2155 06013 7054 MANGCON 2156 06014 4775 JMS I (CRLF 2157 06015 5774 JMP I (REINIT 2158 2159 06016 3050 ONORM, DCA CONSER 2160 06017 4776 JMS I (PRMSG 2161 06020 7065 MNORMAL 2162 06021 4775 JMS I (CRLF 2163 06022 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 06023 0000 OCTALX, 0 2171 06024 3257 DCA NUMB 2172 06025 3260 DCA INPUT 2173 06026 4773 OCTALL, JMS I (GETC 2174 06027 4772 JMS I (PCH /AND PRINT IT 2175 06030 1771 TAD I (CHAR 2176 06031 1370 TAD (-"8 2177 06032 7500 SMA /SKIP IF <"8 2178 06033 5250 JMP NUMBEX /EXIT 2179 06034 1367 TAD ("8-"0 /NOW CHECK FOR OCTAL 2180 06035 7510 SPA /SKIP IF OK 2181 06036 5250 JMP NUMBEX /NO=QUIT 2182 06037 3260 DCA INPUT /SAVE NUMBER 2183 06040 1257 TAD NUMB /GET LAST NUMBER 2184 06041 7104 CLL RAL;CLL RAL;CLL RAL 06042 7104 06043 7104 2185 06044 1260 TAD INPUT /STICK IN NEW NUMBER 2186 06045 3257 DCA NUMB 2187 06046 2260 ISZ INPUT /MAKE SURE NON-ZERO 2188 06047 5226 JMP OCTALL 2189 06050 7300 NUMBEX, CLA CLL 2190 06051 1260 TAD INPUT /TO SEE IF ANY 2191 06052 7640 SZA CLA 2192 06053 2223 ISZ OCTALX /TAKE YES RETURN 2193 06054 4775 JMS I (CRLF 2194 06055 1257 TAD NUMB /STICK NUMBER IN AC 2195 06056 5623 JMP I OCTALX /AND RETURN 2196 2197 06057 0000 NUMB, 0 2198 06060 0000 INPUT, 0 2199 2200 2201 06061 4776 OGRAV, JMS I (PRMSG /TELL HIM WHAT OPTION IS 2202 06062 7100 MGRAVY 2203 06063 4223 JMS OCTALX /GET NEW VALUE 2204 06064 5774 JMP I (REINIT /NO INPUT 2205 06065 3062 DCA QGRAV /SET VALUE 2206 06066 1366 TAD (KBOARD /REINITIALIZE 2207 06067 3765 DCA I (OPTIONS 2208 06070 4764 JMS I (SETGRV /SET UP TABLE 2209 06071 1062 TAD QGRAV /NOW TO SEE IF ANTI-GRAV. 2210 06072 7700 SMA CLA /SKIP IF YES 2211 06073 5763 JMP I (WAR-2 2212 06074 4776 JMS I (PRMSG 2213 06075 7116 MAGRAV /ANTI GRAVITY 2214 06076 4775 JMS I (CRLF 2215 06077 1366 TAD (KBOARD 2216 06100 3765 DCA I (OPTIONS 2217 06101 5763 JMP I (WAR-2 2218 2219 06102 4776 OMISSL, JMS I (PRMSG 2220 06103 7125 MMISSLS 2221 06104 4223 JMS OCTALX /GET A NUMBER 2222 06105 5774 JMP I (REINIT 2223 06106 7041 CIA /SET MISSEL CONSTANT 2224 06107 3053 DCA MAXMIS /SET CONSTANT 2225 06110 5774 JMP I (REINIT /DONE 2226 2227 /ROUTINE TO READJUST THRUST 2228 2229 06111 4776 OTHRUS, JMS I (PRMSG 2230 06112 7137 MTHRUS 2231 06113 4223 JMS OCTALX 2232 06114 5774 JMP I (REINIT 2233 06115 7106 CLL RTL 2234 06116 3061 DCA QTHRUS 2235 06117 5774 JMP I (REINIT 2236 2237 /ROUTINE TO SET RETRO CONSTANT 2238 2239 06120 4776 ORETRO, JMS I (PRMSG 2240 06121 7152 MRETRO 2241 06122 4223 JMS OCTALX 2242 06123 5774 JMP I (REINIT 2243 06124 3063 DCA QRET 2244 06125 5774 JMP I (REINIT 2245 2246 /ROUTINE TO PRINT LOTS OF MESSAGES 2247 2248 06126 0000 MMESG, 0 2249 06127 4775 JMS I (CRLF /NEW LINE 2250 06130 1726 TAD I MMESG /GET START OF MESSAGE 2251 06131 7450 SNA /SKIP IF MORE TO COME 2252 06132 5726 JMP I MMESG 2253 06133 3335 DCA .+2 2254 06134 4776 JMS I (PRMSG /PRINT IT 2255 06135 0000 0 2256 06136 2326 ISZ MMESG /NEXT LINE 2257 06137 5327 JMP MMESG+1 /MORE 2258 2259 /PRINT OPTIONS 2260 2261 06163 5000 PAGE 06164 2662 06165 5444 06166 5600 06167 0010 06170 7510 06171 5736 06172 5714 06173 5724 06174 5745 06175 5737 06176 5665 06177 1003 2262 06200 4777 OOPTIO, JMS I (MMESG 2263 06201 6622 MOPTA 2264 06202 6647 MOPTB 2265 06203 6674 MOPTBA 2266 06204 6710 MOPTC 2267 06205 6724 MOPTD 2268 06206 6734 MOPTE 2269 06207 6754 MOPTF 2270 06210 7012 MCURVE 2271 06211 7021 MPHLAT 2272 06212 7027 MSTARS 2273 06213 6744 MSUN 2274 06214 7037 MBOUNC 2275 06215 7044 MWRAP 2276 06216 7054 MANGCO 2277 06217 7065 MNORMA 2278 06220 7125 MMISSL 2279 06221 7137 MTHRUS 2280 06222 7152 MRETRO 2281 06223 6600 MVELOX 2282 06224 0000 0 2283 06225 5776 JMP I (REINIT 2284 2285 /DISPLAY SAUCERS (UFO'S) 2286 2287 06226 4775 OUFO, JMS I (PRMSG 2288 06227 6774 MUFO 2289 06230 4774 JMS I (CRLF 2290 06231 1373 TAD (JMS I PSAUCP 2291 06232 3772 DCA I (PSAUC1 2292 06233 1371 TAD (NOP 2293 06234 3770 DCA I (PSAUC2 2294 06235 1367 TAD (SAUC1 2295 06236 3766 DCA I (SHIP1+QSHIP-QR 2296 06237 1365 TAD (SAUC1E-SAUC1 2297 06240 3764 DCA I (SHIP1+QSHIPN-QR 2298 06241 1363 TAD (SAUC2 2299 06242 3762 DCA I (SHIP2+QSHIP-QR 2300 06243 1361 TAD (SAUC2E-SAUC2 2301 06244 3760 DCA I (SHIP2+QSHIPN-QR 2302 06245 1357 OUFOR, TAD (KBOARD 2303 06246 3756 DCA I (OPTIONS 2304 06247 5755 JMP I (WAR-2 2305 2306 /DISPLAY SHIPS 2307 2308 06250 4775 OSHIPS, JMS I (PRMSG 2309 06251 7003 MSHIPS 2310 06252 4774 JMS I (CRLF 2311 06253 1270 TAD OSHIPJ 2312 06254 3770 DCA I (PSAUC2 2313 06255 1371 TAD (NOP 2314 06256 3772 DCA I (PSAUC1 2315 06257 1354 TAD (SHIP1C 2316 06260 3766 DCA I (SHIP1+QSHIP-QR 2317 06261 1353 TAD (SHIP1E-SHIP1C 2318 06262 3764 DCA I (SHIP1+QSHIPN-QR 2319 06263 1352 TAD (SHIP2C 2320 06264 3762 DCA I (SHIP2+QSHIP-QR 2321 06265 1351 TAD (SHIP2E-SHIP2C 2322 06266 3760 DCA I (SHIP2+QSHIPN-QR 2323 06267 5245 JMP OUFOR 2324 2325 06270 5323 OSHIPJ, PSAUC2+3&177+5200 2326 2327 2328 06351 0050 PAGE 06352 1201 06353 0060 06354 1025 06355 5000 06356 5444 06357 5600 06360 1410 06361 0006 06362 1407 06363 1315 06364 1367 06365 0016 06366 1366 06367 1163 06370 1720 06371 7000 06372 5247 06373 4465 06374 5737 06375 5665 06376 5745 06377 6126 2329 /RESET MUSSEL VELOCITY OF ROCKETS 2330 2331 06400 4777 OVELOC, JMS I (PRMSG 2332 06401 6600 MVELOX 2333 06402 4776 JMS I (OCTALX 2334 06403 5775 JMP I (REINIT 2335 06404 7110 CLL RAR 2336 06405 3064 DCA QTHROC /RESET MUSSLE VELOCITY 2337 06406 5775 JMP I (REINIT 2338 2339 /SELECT FLAT OR CURVED SPACE 2340 2341 06407 4777 OPHLAT, JMS I (PRMSG 2342 06410 7021 MPHLAT 2343 06411 4774 JMS I (CRLF 2344 06412 7200 CLA 2345 06413 1373 TAD (3777 2346 06414 3041 DCA QTIME /NO TIME CURVE ON OUTLINE 2347 06415 1372 TAD (SC 2348 06416 3771 DCA I (NEWPO7+1 2349 06417 1372 TAD (SC 2350 06420 3770 DCA I (NEWPO7+11 2351 06421 5775 JMP I (REINIT 2352 2353 06422 4777 OCURVE, JMS I (PRMSG 2354 06423 7012 MCURVE 2355 06424 4774 JMS I (CRLF 2356 06425 7200 CLA 2357 06426 1367 TAD (SC1 2358 06427 3771 DCA I (NEWPO7+1 2359 06430 1366 TAD (SC2 2360 06431 3770 DCA I (NEWPO7+11 2361 06432 5775 JMP I (REINIT 2362 2363 /DISPLAY OPTIONAL SUN OR UNIVERSE 2364 2365 06433 4777 OSTARS, JMS I (PRMSG 2366 06434 7027 MSTARS 2367 06435 4774 JMS I (CRLF 2368 06436 7200 CLA 2369 06437 1365 TAD (D2 2370 06440 3764 DCA I (WARDX+1 2371 06441 5775 JMP I (REINIT 2372 2373 06442 4777 OSUN, JMS I (PRMSG 2374 06443 6744 MSUN 2375 06444 4774 JMS I (CRLF 2376 06445 7200 CLA 2377 06446 1363 TAD (D1 2378 06447 3764 DCA I (WARDX+1 2379 06450 5775 JMP I (REINIT 2380 2381 06563 4507 PAGE 06564 5076 06565 4506 06566 4776 06567 4777 06570 2452 06571 2442 06572 4315 06573 3777 06574 5737 06575 5745 06576 6023 06577 5665 2382 06600 2605 MVELOX, TEXT \VELOCITY INITIAL OF MISSLES(2000):\ 06601 1417 06602 0311 06603 2431 06604 4011 06605 1611 06606 2411 06607 0114 06610 4017 06611 0640 06612 1511 06613 2323 06614 1405 06615 2350 06616 6260 06617 6060 06620 5172 06621 0000 2383 06622 1720 MOPTA, TEXT \OPTIONS ARE DESIGNATED BY FIRST CHARACTER\ 06623 2411 06624 1716 06625 2340 06626 0122 06627 0540 06630 0405 06631 2311 06632 0716 06633 0124 06634 0504 06635 4002 06636 3140 06637 0611 06640 2223 06641 2440 06642 0310 06643 0122 06644 0103 06645 2405 06646 2200 2384 06647 2410 MOPTB, TEXT \THE NUMBER IN PARENS ARE "NORMAL" VALUES\ 06650 0540 06651 1625 06652 1502 06653 0522 06654 4011 06655 1640 06656 2001 06657 2205 06660 1623 06661 4001 06662 2205 06663 4042 06664 1617 06665 2215 06666 0114 06667 4240 06670 2601 06671 1425 06672 0523 06673 0000 2385 06674 1116 MOPTBA, TEXT \INPUT NUMBERS ARE OCTAL\ 06675 2025 06676 2440 06677 1625 06700 1502 06701 0522 06702 2340 06703 0122 06704 0540 06705 1703 06706 2401 06707 1400 2386 06710 0126 MOPTC, TEXT \AVAILABLE OPTIONS ARE:\ 06711 0111 06712 1401 06713 0214 06714 0540 06715 1720 06716 2411 06717 1716 06720 2340 06721 0122 06722 0572 06723 0000 2387 06724 2540 MOPTD, TEXT \U DISPLAY UFO'S\ 06725 0411 06726 2320 06727 1401 06730 3140 06731 2506 06732 1747 06733 2300 2388 06734 2340 MOPTE, TEXT \S DISPLAY SHIPS\ 06735 0411 06736 2320 06737 1401 06740 3140 06741 2310 06742 1120 06743 2300 2389 06744 3240 MSUN, TEXT 'Z POLARIS ONLY' 06745 2017 06746 1401 06747 2211 06750 2340 06751 1716 06752 1431 06753 0000 2390 06754 0740 MOPTF, TEXT \G RESET GRAVITY CONSTANT(1000)\ 06755 2205 06756 2305 06757 2440 06760 0722 06761 0126 06762 1124 06763 3140 06764 0317 06765 1623 06766 2401 06767 1624 06770 5061 06771 6060 06772 6051 06773 0000 2391 06774 0411 MUFO, TEXT \DISPLAY UFO'S\ 06775 2320 06776 1401 06777 3140 07000 2506 07001 1747 07002 2300 2392 07003 0411 MSHIPS, TEXT \DISPLAY SHIPS\ 07004 2320 07005 1401 07006 3140 07007 2310 07010 1120 07011 2300 2393 07012 0325 MCURVE, TEXT 'CURVED SPACE' 07013 2226 07014 0504 07015 4023 07016 2001 07017 0305 07020 0000 2394 07021 2010 MPHLAT, TEXT 'PHLAT SPACE' 07022 1401 07023 2440 07024 2320 07025 0103 07026 0500 2395 07027 0611 MSTARS, TEXT 'FIELD OF STARS' 07030 0514 07031 0440 07032 1706 07033 4023 07034 2401 07035 2223 07036 0000 2396 07037 0217 MBOUNC, TEXT \BOUNCE ON\ 07040 2516 07041 0305 07042 4017 07043 1600 2397 07044 2722 MWRAP, TEXT \WRAP-AROUND ON\ 07045 0120 07046 5501 07047 2217 07050 2516 07051 0440 07052 1716 07053 0000 2398 07054 0116 MANGCO, TEXT \ANGULAR MOMENTUM\ 07055 0725 07056 1401 07057 2240 07060 1517 07061 1505 07062 1624 07063 2515 07064 0000 2399 07065 1617 MNORMA, TEXT \NON-ANGULAR MOMENTUM\ 07066 1655 07067 0116 07070 0725 07071 1401 07072 2240 07073 1517 07074 1505 07075 1624 07076 2515 07077 0000 2400 07100 2324 MGRAVY, TEXT \STRENGTH OF GRAVITY(1000):\ 07101 2205 07102 1607 07103 2410 07104 4017 07105 0640 07106 0722 07107 0126 07110 1124 07111 3150 07112 6160 07113 6060 07114 5172 07115 0000 2401 07116 0116 MAGRAV, TEXT \ANTI-GRAVITY\ 07117 2411 07120 5507 07121 2201 07122 2611 07123 2431 07124 0000 2402 07125 1501 MMISSL, TEXT \MAX NUMBER MISSLES:\ 07126 3040 07127 1625 07130 1502 07131 0522 07132 4015 07133 1123 07134 2314 07135 0523 07136 7200 2403 07137 2410 MTHRUS, TEXT \THRUST CONSTANT (2):\ 07140 2225 07141 2324 07142 4003 07143 1716 07144 2324 07145 0116 07146 2440 07147 5062 07150 5172 07151 0000 2404 07152 2205 MRETRO, TEXT \RETRO-THRUST (4):\ 07153 2422 07154 1755 07155 2410 07156 2225 07157 2324 07160 4050 07161 6451 07162 7200 2405 2406 PAGE 2407 IFNZRO D < 2408 XXX=. 2409 FIELD D%10 2410 *1000> 2411 2412 DECIMAL 2413 BIGSUN, 2414 11000 0000 0;0 11001 0000 2415 11002 0006 6;4; -6;-4; 0;7; 0;-7; -6;4; 6;-4 11003 0004 11004 7772 11005 7774 11006 0000 11007 0007 11010 0000 11011 7771 11012 7772 11013 0004 11014 0006 11015 7774 2416 11016 7762 -14;0; 14;0; -7;-12; 7;12; 7;-12; -7;12 11017 0000 11020 0016 11021 0000 11022 7771 11023 7764 11024 0007 11025 0014 11026 0007 11027 7764 11030 7771 11031 0014 2417 11032 0000 0;-21; 0;21; 19;-11; -19;11; 19;11; -19;-11 11033 7753 11034 0000 11035 0025 11036 0023 11037 7765 11040 7755 11041 0013 11042 0023 11043 0013 11044 7755 11045 7765 2418 11046 0016 14;-25; -14;25; 28;0; -28;0; 14;25; -14;-25 11047 7747 11050 7762 11051 0031 11052 0034 11053 0000 11054 7744 11055 0000 11056 0016 11057 0031 11060 7762 11061 7747 2419 11062 0000 0;35; 0;-35; 20;30; -20;-30; -20;30; 20;-30 11063 0043 11064 0000 11065 7735 11066 0024 11067 0036 11070 7754 11071 7742 11072 7754 11073 0036 11074 0024 11075 7742 2420 11076 0000 0;0 11077 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 11200 0022 18;-174; 62;108; -102;31; -128;250 11201 7522 11202 0076 11203 0154 11204 7632 11205 0037 11206 7600 11207 0372 2447 11210 0057 47;-171; 106;85; -88;20; -128;242 11211 7525 11212 0152 11213 0125 11214 7650 11215 0024 11216 7600 11217 0362 2448 11220 0041 33;-194; 91;91; -91;9; -139;225 11221 7476 11222 0133 11223 0133 11224 7645 11225 0011 11226 7565 11227 0341 2449 11230 0050 40;-191; 71;88; -91;-23; -146;216 11231 7501 11232 0107 11233 0130 11234 7645 11235 7751 11236 7556 11237 0330 2450 /SOME MISC. 2451 11240 7553 -149;-213 /IN PUPPIS 11241 7453 2452 11242 7654 -84;-168 /PROCYON 11243 7530 2453 11244 0161 113;-46 /IN ANDROMEDA 11245 7722 2454 11246 7765 -11;77 /ELTANIN 11247 0115 2455 2456 /ORION SIGNUS URSIA MAJOR SCORPIO 2457 11250 0057 47;-188; 73;74; -73;-20; -153;213 11251 7504 11252 0111 11253 0112 11254 7667 11255 7754 11256 7547 11257 0325 2458 11260 0032 26;-211; 47;85; -102;-9; -164;194 11261 7455 11262 0057 11263 0125 11264 7632 11265 7767 11266 7534 11267 0302 2459 11270 0102 66;-199; 29;74; -88;-3; -175;196 11271 7471 11272 0035 11273 0112 11274 7650 11275 7775 11276 7521 11277 0304 2460 11300 0067 55;120; -182;199 11301 0170 11302 7512 11303 0307 2461 2462 /PLUS SOME MISCELLANEOUS 2463 11304 7613 -117;188 11305 0274 2464 11306 7530 -168;71 /ARCTURUS 11307 0107 2465 11310 0006 6;6;-6;-6 /SOME SUN SPOTS 11311 0006 11312 7772 11313 7772 2466 11314 0320 208;-105 /NECK OF CETUS 11315 7627 2467 11316 0320 208;102 /IN AQUARIUS 11317 0146 2468 11320 7417 -241;17 /SPICA 11321 0021 2469 2470 /CASEOPEA CANUS MAJOR PLEIADES 2471 11322 0076 62;-23; -18;-253; 117;-110 11323 7751 11324 7756 11325 7403 11326 0165 11327 7622 2472 11330 0111 73;-20; -29;-239; 117;-108 11331 7754 11332 7743 11333 7421 11334 0165 11335 7624 2473 11336 0111 73;-11; -18;-228; 113;-111 11337 7765 11340 7756 11341 7434 11342 0161 11343 7621 2474 11344 0130 88;-9; -44;-222; 113;-108 11345 7767 11346 7724 11347 7442 11350 0161 11351 7624 2475 11352 0120 80;0; -51;-213 11353 0000 11354 7715 11355 7453 2476 11356 7632 -102;-239 11357 7421 2477 11360 7663 -77;-239 11361 7421 2478 11362 7676 -66;-248 11363 7410 2479 11364 7676 -66;-219 11365 7445 2480 11366 7707 -57;-222 11367 7442 2481 /PLUS SOME MISCELLANEOUS 2482 11370 0006 6;-6;-6;6 /MORE SUN SPOTS 11371 7772 11372 7772 11373 0006 2483 11374 7432 -230;159 /IN LIBRA 11375 0237 2484 11376 7470 -200;-139 /ALPHARD 11377 7565 2485 2486 SUNPT2, 2487 11400 0000 0;1; 0;-1; 1;0; -1;0 11401 0001 11402 0000 11403 7777 11404 0001 11405 0000 11406 7777 11407 0000 2488 11410 0000 0;2; 0;-2; 2;0; -2;0 11411 0002 11412 0000 11413 7776 11414 0002 11415 0000 11416 7776 11417 0000 2489 11420 0000 0;4; 0;-4; 4;0; -4;0 11421 0004 11422 0000 11423 7774 11424 0004 11425 0000 11426 7774 11427 0000 2490 11430 0000 0;6; 0;-6; 6;0; -6;0 11431 0006 11432 0000 11433 7772 11434 0006 11435 0000 11436 7772 11437 0000 2491 2492 /VAIRABLES START HERE 2493 /BRIGHT STARS 2494 11440 0222 146;-29 /IN ANDROMEDA 11441 7743 2495 11442 0120 80;-143 /ALDEBARAN IN TAURUS 11443 7561 2496 11444 7623 -109;100 /ALPHECCA IN CORONA BOREALIS 11445 0144 2497 11446 0231 153;-68 /IN ARIES 11447 7674 2498 2499 /LEO SAGITARIUS GEMINI PEGASIS 2500 11450 7470 -200;-17; -18;250; -55;-114; 168;102 11451 7757 11452 7756 11453 0372 11454 7711 11455 7616 11456 0250 11457 0146 2501 11460 7442 -222;-43; 4;250; -69;-120; 160;40 11461 7725 11462 0004 11463 0372 11464 7673 11465 7610 11466 0240 11467 0050 2502 11470 7470 -200;-43; 15;242; -73;-128; 193;46 11471 7725 11472 0017 11473 0362 11474 7667 11475 7600 11476 0301 11477 0056 2503 11500 0012 10;0;0;10;-10;0;0;-10 /MORE SUN 11501 0000 11502 0000 11503 0012 11504 7766 11505 0000 11506 0000 11507 7766 2504 11510 7506 -186;-37; 40;242; -58;-125; 164;0 11511 7733 11512 0050 11513 0362 11514 7706 11515 7603 11516 0244 11517 0000 2505 /BRIGHT STARS 2506 11520 7502 -190;145 /IN LIBRA 11521 0221 2507 11522 0013 11;105 /LYRA 11523 0151 2508 11524 0105 69;-63 /MIRFAK IN PERSEUS 11525 7701 2509 11526 0244 164;-63 /IN ARIES 11527 7701 2510 2511 /LEO SAGITARIUS GEMINI PEGASIS 2512 11530 7470 -200;-71; 51;239; -44;-122; 200;0 11531 7671 11532 0063 11533 0357 11534 7724 11535 7606 11536 0310 11537 0000 2513 11540 7530 -168;-71; 66;228; -33;-117 11541 7671 11542 0102 11543 0344 11544 7737 11545 7613 2514 11546 7512 -182;-85; 51;228; -58;-151 11547 7653 11550 0063 11551 0344 11552 7706 11553 7551 2515 11554 7525 -171;-83; 62;246; -58;-137 11555 7655 11556 0076 11557 0366 11560 7706 11561 7567 2516 /BRIGHT STARS 2517 11562 7530 -168;-240 /IN PUPPIS 11563 7420 2518 11564 7442 -222;137 /IN LIBRA 11565 0211 2519 11566 7460 -208;29 /IN VIRGO 11567 0035 2520 11570 0130 88;157 /ALTAIR 11571 0235 2521 2522 11572 0000 0;12;12;0;-12;0;0;-12 /MOR SUN 11573 0014 11574 0014 11575 0000 11576 7764 11577 0000 11600 0000 11601 7764 2523 /LEO SAGITARIUS GEMINI PEGASIS 2524 11602 7556 -146;-85; 66;239; -29;-137 11603 7653 11604 0102 11605 0357 11606 7743 11607 7567 2525 11610 7556 -146;-77; -22;-154 11611 7663 11612 7752 11613 7546 2526 11614 7737 -33;-159 11615 7541 2527 /AURIGA 2528 11616 0032 26;-88;47;-114;29;-128;4;-97 11617 7650 11620 0057 11621 7616 11622 0035 11623 7600 11624 0004 11625 7637 2529 11626 0004 4;4;4;-4;-4;4;-4;-4 /MORE SUN 11627 0004 11630 0004 11631 7774 11632 7774 11633 0004 11634 7774 11635 7774 2530 2531 11636 0000 0;0 11637 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 00160 7400 PSDMQL 2541 DVI=JMS I . 2542 00161 7505 PSDDVI 2543 MUY=JMS I . 2544 00162 7541 PSDMUY 2545 NMI=JMS I . 2546 00163 7300 PSDNMI 2547 SHL=JMS I . 2548 00164 7422 PSDSHL 2549 ASR=JMS I . 2550 00165 7451 PSDASR 2551 LSR=JMS I . 2552 00166 7443 PSDLSR 2553 SCA=JMS I . 2554 00167 7347 PSDSCA 2555 MQA=JMS I . 2556 00170 7356 PSDMQA 2557 CAM=JMS I . 2558 00171 7403 PSDCAM 2559 /FIXTAB 2560 / PSDMQL 2561 /*67 2562 00172 0000 SUDOMQ, 0 2563 00173 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 07300 0000 PSDNMI, 0 /NMI 2579 07301 3347 DCA PSDSCA /SAVE AC 2580 07302 3173 DCA SUDOSC /CLEAR STEP COUNTER. 2581 07303 1347 TAD PSDSCA 2582 07304 7440 SZA 2583 07305 5312 JMP .+5 2584 07306 1172 TAD SUDOMQ 2585 07307 7650 SNA CLA 2586 07310 5700 JMP I PSDNMI /0 AC AND MQ. 2587 07311 1347 NMIBK2, TAD PSDSCA 2588 07312 7004 RAL 2589 07313 7430 SZL 2590 07314 5330 JMP NMIOUT /AC0=1 2591 07315 7510 SPA 2592 07316 5332 JMP NMIOUT+2 /AC0=0 AND AC1=1 2593 07317 7200 CLA /AC0=AC1=0 2594 07320 1172 NMIBCK, TAD SUDOMQ 2595 07321 7104 CLL RAL 2596 07322 3172 DCA SUDOMQ 2597 07323 1347 TAD PSDSCA 2598 07324 7004 RAL 2599 07325 3347 DCA PSDSCA 2600 07326 2173 ISZ SUDOSC 2601 07327 5311 JMP NMIBK2 2602 07330 7510 NMIOUT, SPA 2603 07331 5334 JMP .+3 /AC0=AC1=1 2604 07332 7010 RAR /AC0 DOES NOT EQUAL AC1 2605 07333 5700 JMP I PSDNMI /EXIT 2606 07334 7010 RAR /TEST IF NUMBER 6000 0000 2607 07335 1346 TAD .+11 2608 07336 7640 SZA CLA 2609 07337 5320 JMP NMIBCK /NOT 6000 2610 07340 1172 TAD SUDOMQ 2611 07341 7440 SZA 2612 07342 5321 JMP NMIBCK+1 /NOT 0000 2613 07343 7020 CML /RESTORE LINK 2614 07344 1347 TAD PSDSCA /RESTORE 6000 2615 07345 5700 JMP I PSDNMI /EXIT 2616 07346 2000 -6000 2617 07347 0000 PSDSCA, 0 /SCA 2618 07350 3356 DCA PSDMQA /INCLUSIVE OR 2619 07351 1356 TAD PSDMQA /STEP COUNTER 2620 07352 7040 CMA /AND AC 2621 07353 0173 AND SUDOSC 2622 07354 1356 TAD PSDMQA 2623 07355 5747 JMP I PSDSCA 2624 07356 0000 PSDMQA, 0 /MQA 2625 07357 3347 DCA PSDSCA /INCLUSIVE OR 2626 07360 1347 TAD PSDSCA /MQ 2627 07361 7040 CMA /AND AC 2628 07362 0172 AND SUDOMQ 2629 07363 1347 TAD PSDSCA 2630 07364 5756 JMP I PSDMQA 2631 2632 *PSDNMI+100 2633 07400 0000 PSDMQL, 0 /MQL 2634 07401 3172 DCA Z SUDOMQ 2635 07402 5600 JMP I PSDMQL 2636 07403 0000 PSDCAM, 0 /CAM (CLA!MQL) 2637 07404 7200 CLA 2638 07405 3172 DCA Z SUDOMQ 2639 07406 5603 JMP I PSDCAM 2640 07407 0000 MQLMUY, 0 /MQL!MUY 2641 07410 3172 DCA Z SUDOMQ 2642 07411 1207 TAD MQLMUY /SET UP 2643 07412 3341 DCA PSDMUY /FOR MUY SUBROUTINE 2644 07413 5342 JMP PSDMUY+1 2645 07414 0000 MQLDVI, 0 /MQL!DVI 2646 07415 3172 DCA Z SUDOMQ 2647 07416 1214 TAD MQLDVI /SET UP 2648 07417 3305 DCA PSDDVI /FOR DVI SUBROUTINE 2649 07420 5306 JMP PSDDVI+1 2650 07421 0037 37 2651 07422 0000 PSDSHL, 0 /SHL 2652 07423 3203 DCA PSDCAM /SAVE AC 2653 07424 1622 TAD I PSDSHL /SHIFT COUNT 2654 07425 2222 ISZ PSDSHL /EXIT POINT 2655 07426 0221 AND PSDSHL-1 /5 BIT COUNTER 2656 07427 7040 CMA 2657 07430 3173 DCA SUDOSC 2658 07431 1172 TAD SUDOMQ /SHIFT COMBINED 2659 07432 7104 CLL RAL /AC AND MQ 2660 07433 3172 DCA SUDOMQ /1 BIT TO THE 2661 07434 1203 TAD PSDCAM /LEFT 2662 07435 7004 RAL 2663 07436 3203 DCA PSDCAM 2664 07437 2173 ISZ SUDOSC 2665 07440 5231 JMP .-7 /MORE SHIFTING 2666 07441 1203 TAD PSDCAM 2667 07442 5622 JMP I PSDSHL /EXIT 2668 07443 0000 PSDLSR, 0 /LSR 2669 07444 3203 DCA PSDCAM /SAVE AC 2670 07445 1243 TAD PSDLSR /USE ASR 2671 07446 3251 DCA PSDASR /ROUTINE 2672 07447 7100 CLL 2673 07450 5256 JMP PSDASR+5 2674 2675 07451 0000 PSDASR, 0 /ASR 2676 07452 7100 CLL /SET LINK=SIGN 2677 07453 7510 SPA 2678 07454 7020 CML 2679 07455 3203 DCA PSDCAM /SAVE AC 2680 07456 1651 TAD I PSDASR /SHIFT COUNT 2681 07457 2251 ISZ PSDASR /EXIT POINT 2682 07460 0221 AND PSDSHL-1 /5 BIT COUNTER 2683 07461 7040 CMA 2684 07462 3173 DCA SUDOSC 2685 07463 1203 TAD PSDCAM /RESTORE AC 2686 07464 5270 JMP .+4 2687 07465 1203 TAD PSDCAM 2688 07466 7510 SPA 2689 07467 7020 CML 2690 07470 7010 RAR 2691 07471 3203 DCA PSDCAM 2692 07472 1172 TAD SUDOMQ 2693 07473 7010 RAR 2694 07474 3172 DCA SUDOMQ 2695 07475 7100 CLL 2696 07476 2173 ISZ SUDOSC 2697 07477 5265 JMP .-12 /MORE SHIFTING 2698 07500 1203 TAD PSDCAM 2699 07501 7510 SPA 2700 07502 7020 CML /LINK=AC0 2701 07503 5651 JMP I PSDASR 2702 07504 7763 7763 2703 07505 0000 PSDDVI, 0 /DVI 2704 07506 3203 DCA PSDCAM /SAVE HIGH ORDER DIVIDEND 2705 07507 1705 TAD I PSDDVI /DIVISOR 2706 07510 2305 ISZ PSDDVI /EXIT POINT 2707 07511 7141 CLL CMA IAC 2708 07512 3207 DCA MQLMUY /2'S COMPLEMENT OF DIVISOR 2709 07513 1203 TAD PSDCAM /HIGH ORDER DIVIDEND 2710 07514 1207 TAD MQLMUY 2711 07515 7630 SZL CLA 2712 07516 5705 JMP I PSDDVI /DIVIDE OVERFLOW 2713 07517 1304 TAD PSDDVI-1 /7763 2714 07520 3243 DCA PSDLSR /COUNTER 2715 07521 5332 JMP .+11 2716 07522 1203 TAD PSDCAM 2717 07523 7004 RAL 2718 07524 3203 DCA PSDCAM 2719 07525 1203 TAD PSDCAM 2720 07526 1207 TAD MQLMUY 2721 07527 7430 SZL 2722 07530 3203 DCA PSDCAM 2723 07531 7200 CLA 2724 07532 1172 TAD SUDOMQ 2725 07533 7004 RAL 2726 07534 3172 DCA SUDOMQ 2727 07535 2243 ISZ PSDLSR 2728 07536 5322 JMP .-14 2729 07537 1203 TAD PSDCAM /COUNT EXHAUSTED 2730 07540 5705 JMP I PSDDVI /EXIT 2731 2732 07541 0000 PSDMUY, 0 /MUY 2733 07542 7300 CLA CLL 2734 07543 3214 DCA MQLDVI /CLEAR PRODUCT (MOST SIG.) REGISTER 2735 07544 1304 TAD PSDDVI-1 2736 07545 3243 DCA PSDLSR /LOOP COUNTER 2737 07546 1741 TAD I PSDMUY 2738 07547 3200 DCA PSDMQL /OPERAND 2739 07550 2341 ISZ PSDMUY /EXIT POINT 2740 07551 5361 JMP .+10 2741 07552 1214 TAD MQLDVI 2742 07553 7420 SNL 2743 07554 5357 JMP .+3 2744 07555 7100 CLL 2745 07556 1200 TAD PSDMQL 2746 07557 7010 RAR 2747 07560 3214 DCA MQLDVI 2748 07561 1172 TAD SUDOMQ 2749 07562 7010 RAR 2750 07563 3172 DCA SUDOMQ /LOW ORDER PRODUCT 2751 07564 2243 ISZ PSDLSR 2752 07565 5352 JMP .-13 2753 07566 1214 TAD MQLDVI /HIGH ORDER PRODUCT 2754 07567 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