Spacewar!

created and published by Massachusetts Institute of Technology in 1962-02-14, running on DEC PDP-1
type: shooter, simulation
genre: Science Fiction, Arena shooter
perspective: bird's-eye fixed camera
player options: shared-screen
other: Freeware
languages: eng
3.8/5
GFXSFXControlsAtmos.A.I.Difficulty

Description

The significance of Spacewar! cannot possibly be brought down. It was the first ever video game. Ever. (Except possibly that of Higginbotham in 1957, which was rather at most a demonstrative program and was not written with fun in mind.)

Involving two ships on a motionless background (later, an accurately projected star field) that could shoot torpedoes at each other, it was a raw fighting space simulation with simple scoring.

Included were many features later used in Asteroids and its clones: the Hyperspace Panic button for example. Also, at the center of the screen (a Cathode Ray display, looking prettier than anything until Space Invaders) was a Death Star that pulled in ships. All objects in the game had precise gravity fields. Ships also had a limited supply of fuel.

To deal with the problems of broken switches and mis-hitting on the cramped control panel of the PDP-1, joypads were also produced, simply wood and solder, and switches.

Created by young students at MIT, it took advantage of the PDP-1's data storage facilities and processing speed. It led the way for games to follow, establishing such maxims as 'fun before realism' and also showed the computer's potential at realizing young men's goals of killing things.

The code was distributed freely along with PDP-1s across the USA's top universities, and this was how Nolan Bushnell, a student working in arcades over the summers, came across it. He would later found Atari, bringing Computer Space and Pong to the world... and 30,000 games would follow.

-/macro fio-dec system, june 1963
007652 640500 szm=sza sma-szf
007652 650500 spq=szm i
007652 761200 clc=cma+cla-opr
- define senseswitch A
- repeat 3, A=A+A
- szs A
- term
- define init A,B
- law B
- dap A
- term
- define index A,B,C
- idx A
- sas B
- jmp C
- term
- define listen
- cla+cli+clf 1-opr-opr
- szf i 1
- jmp .-1
- tyi
- term
- define swap
- rcl 9s
- rcl 9s
- term
- define load A,B
- lio (B
- dio A
- term
- define setup A,B
- law i B
- dac A
- term
- define count A,B
- isp A
- jmp B
- term
- define move A,B
- lio A
- dio B
- term
- define clear A,B
- init .+2, A
- dzm
- index .-1, (dzm B+1, .-1
- term
-/spacewar 3.1 24 sep 62 p1. 1
000003 3/
000003 600061 jmp sbf / ignore seq. break
000004 601561 jmp a40
000005 601556 jmp a1 / use test word for control, note iot 11 00
-/ interesting and often changed constants
-/symb loc usual value (all instructions are executed,
-/ and may be replaced by jda or jsp)
000006 tno,
000006 6,
000006 710041 law i 41 / number of torps + 1
000007 tvl,
000007 7,
000007 675017 sar 4s / torpedo velocity
000010 rlt,
000010 10,
000010 710020 law i 20 / torpedo reload time
000011 tlf,
000011 11,
000011 710140 law i 140 / torpedo life
000012 foo,
000012 12,
000012 757777 -20000 / fuel supply
000013 maa,
000013 13,
000013 000010 10 / spaceship angular acceleration
000014 sac,
000014 14,
000014 675017 sar 4s / spaceship acceleration
000015 str,
000015 15,
000015 000001 1 / star capture radius
000016 me1,
000016 16,
000016 006000 6000 / collision "radius"
000017 me2,
000017 17,
000017 003000 3000 / above/2
000020 ddd,
000020 20,
000020 777777 777777 / 0 to save space for ddt
000021 the,
000021 21,
000021 675777 sar 9s / amount of torpedo space warpage
000022 mhs,
000022 22,
000022 710010 law i 10 / number of hyperspace shots
000023 hd1,
000023 23,
000023 710040 law i 40 / time in hyperspace before breakout
000024 hd2,
000024 24,
000024 710100 law i 100 / time in hyperspace breakout
000025 hd3,
000025 25,
000025 710200 law i 200 / time to recharge hyperfield generator
000026 hr1,
000026 26,
000026 667777 scl 9s / scale on hyperspatial displacement
000027 hr2,
000027 27,
000027 667017 scl 4s / scale on hyperspatially induced velocity
000030 hur,
000030 30,
000030 040000 40000 / hyperspatial uncertancy
000031 ran,
000031 31,
000031 000000 0 / random number
-/ place to build a private control word routine.
-/ it should leave the control word in the io as follows.
-/ high order 4 bits, rotate ccw, rotate cw, (both mean hyperspace)
-/ fire rocket, and fire torpedo. low order 4 bits, same for
-/ other ship. routine is entered by jsp cwg.
000040 40/
000040 cwr,
000040 601672 jmp mg1 / normally iot 11 control
000061 . 20/ / space
-////
-/ routine to flush sequence breaks, if they occur.
000061 sbf,
000061 720004 tyi
000062 220002 lio 2
000063 200000 lac 0
000064 720054 lsm
000065 610001 jmp i 1
- define xincr X,Y,INS
- lac Y
- INS ~ssn
- dac Y
- lac X
- INS ~scn
- dac X
- term
- define yincr X,Y,INS
- lac Y
- INS ~scn
- dac Y
- lac X
- -INS+add+sub ~ssn
- dac X
- term
-////
- define dispatch
- add (a+r
- dap . 1
- jmp .
-a,
- term
- define dispt A,Y,B
- repeat 6, B=B+B
- lio Y
- dpy-A+B
- term
- define scale A,B,C
- lac A
- sar B
- dac C
- term
- define diff V,S,QF
- add i V
- dac i V
- xct QF
- add i S
- dac i S
- term
- define random
- lac ran
- rar 1s
- xor (355760
- add (355670
- dac ran
- term
- define ranct S,X,C
- random
- S
- X
- sma
- cma
- dac C
- term
-////
-/sine-cosine subroutine. adams associates
-/calling sequence= number in ac, jda jda sin or jdacos.
-/argument is between q+2 pi, with binary point to right of bit 3.
-/anser has binary point to right of bit 0. time = 2.35 ms.
- define mult Z
- jda mpy
- lac Z
- term
000066 cos,
000066 000000 0
000067 260142 dap csx
000070 202760 lac (62210
000071 400066 add cos
000072 240074 dac sin
000073 600077 jmp .+4
000074 sin,
000074 000000 0
000075 260142 dap csx
000076 200074 lac sin
000077 640200 spa
000100 si1,
000100 402761 add (311040
000101 422760 sub (62210
000102 640400 sma
000103 600143 jmp si2
000104 402760 add (62210
000105 si3,
000105 661003 ral 2s
- mult (242763
+000106 170171 jda mpy
+000107 202762 lac ZZ11
000110 240074 dac sin
- mult sin
+000111 170171 jda mpy
+000112 200074 lac ZZ12
000113 240066 dac cos
- mult (756103
+000114 170171 jda mpy
+000115 202763 lac ZZ13
000116 402764 add (121312
- mult cos
+000117 170171 jda mpy
+000120 200066 lac ZZ14
000121 402765 add (532511
- mult cos
+000122 170171 jda mpy
+000123 200066 lac ZZ15
000124 402766 add (144417
- mult sin
+000125 170171 jda mpy
+000126 200074 lac ZZ16
000127 667007 scl 3s
000130 240066 dac cos
000131 060074 xor sin
000132 640400 sma
000133 600141 jmp csx-1
000134 202767 lac (377777
000135 220074 lio sin
000136 642000 spi
000137 761000 cma
000140 600142 jmp csx
000141 200066 lac cos
000142 csx,
000142 600142 jmp .
000143 si2,
000143 761000 cma
000144 402760 add (62210
000145 640400 sma
000146 600105 jmp si3
000147 402760 add (62210
000150 640200 spa
000151 600154 jmp .+3
000152 422760 sub (62210
000153 600105 jmp si3
000154 422760 sub (62210
000155 600100 jmp si1
-////
-/bbn multiply subroutine
-/call.. lac one factor, jdy mpy or imp, lac other factor.
000156 imp,
000156 000000 0 /returns low 17 bits and sign in ac
000157 260160 dap im1
000160 im1,
000160 100000 xct
000161 170171 jda mpy
000162 200156 lac imp
000163 440160 idx im1
000164 672001 rir 1s
000165 673777 rcr 9s
000166 673777 rcr 9s
000167 610160 jmp i im1
000170 mp2,
000170 000000 0
000171 mpy,
000171 000000 0 /return 34 bits and 2 signs
000172 260200 dap mp1
000173 200171 lac mpy
000174 640200 spa
000175 761000 cma
000176 673777 rcr 9s
000177 673777 rcr 9s
000200 mp1,
000200 100000 xct
000201 640200 spa
000202 761000 cma
000203 240170 dac mp2
000204 760200 cla
000205 540170 mus mp2
+000206 540170 mus mp2
+000207 540170 mus mp2
+000210 540170 mus mp2
+000211 540170 mus mp2
+000212 540170 mus mp2
+000213 540170 mus mp2
+000214 540170 mus mp2
+000215 540170 mus mp2
+000216 540170 mus mp2
+000217 540170 mus mp2
+000220 540170 mus mp2
+000221 540170 mus mp2
+000222 540170 mus mp2
+000223 540170 mus mp2
+000224 540170 mus mp2
+000225 540170 mus mp2
000226 240170 dac mp2
000227 100200 xct mp1
000230 060171 xor mpy
000231 640400 sma
000232 600243 jmp mp3
000233 200170 lac mp2
000234 761000 cma
000235 673777 rcr 9s
000236 673777 rcr 9s
000237 761000 cma
000240 673777 rcr 9s
000241 673777 rcr 9s
000242 240170 dac mp2
000243 mp3,
000243 440200 idx mp1
000244 200170 lac mp2
000245 610200 jmp i mp1
-////
-/integer square root
-/input in ac, binary point to right of bit 17, jda sqt
-/answer in ac with binary point between 8 and 9
-/largest input number = 177777
000246 sqt,
000246 000000 0
000247 260260 dap sqx
000250 710023 law i 23
000251 240304 dac sq1
000252 340305 dzm sq2
000253 220246 lio sqt
000254 340246 dzm sqt
000255 sq3,
000255 460304 isp sq1
000256 600261 jmp .+3
000257 200305 lac sq2
000260 sqx,
000260 600260 jmp .
000261 200305 lac sq2
000262 665001 sal 1s
000263 240305 dac sq2
000264 200246 lac sqt
000265 663003 rcl 2s
000266 650100 sza i
000267 600255 jmp sq3
000270 240246 dac sqt
000271 200305 lac sq2
000272 665001 sal 1s
000273 402770 add (1
000274 420246 sub sqt
000275 640500 sma+sza-skip
000276 600255 jmp sq3
000277 640200 spa
000300 761000 cma
000301 240246 dac sqt
000302 440305 idx sq2
000303 600255 jmp sq3
000304 sq1,
000304 000000 0
000305 sq2,
000305 000000 0
-////
-/bbn divide subroutine
-/calling sequence.. lac hi-dividend, lio lo-dividend, jda dvd, lac divisor.
-/returns quot in ac, rem in io.
000306 idv,
000306 000000 0 /integer divide, dividend in ac.
000307 260317 dap dv1
000310 200306 lac idv
000311 677777 scr 9s
000312 677377 scr 8s
000313 240315 dac dvd
000314 600317 jmp dv1
000315 dvd,
000315 000000 0
000316 260317 dap dv1
000317 dv1,
000317 100000 xct
000320 640200 spa
000321 761000 cma
000322 240306 dac idv
000323 200315 lac dvd
000324 640400 sma
000325 600334 jmp dv2
000326 761000 cma
000327 673777 rcr 9s
000330 673777 rcr 9s
000331 761000 cma
000332 673777 rcr 9s
000333 673777 rcr 9s
000334 dv2,
000334 420306 sub idv
000335 640400 sma
000336 600376 jmp dve
000337 560306 dis idv
+000340 560306 dis idv
+000341 560306 dis idv
+000342 560306 dis idv
+000343 560306 dis idv
+000344 560306 dis idv
+000345 560306 dis idv
+000346 560306 dis idv
+000347 560306 dis idv
+000350 560306 dis idv
+000351 560306 dis idv
+000352 560306 dis idv
+000353 560306 dis idv
+000354 560306 dis idv
+000355 560306 dis idv
+000356 560306 dis idv
+000357 560306 dis idv
+000360 560306 dis idv
000361 400306 add idv
000362 320306 dio idv
000363 764000 cli
000364 673001 rcr 1s
000365 220315 lio dvd
000366 642000 spi
000367 761000 cma
000370 240315 dac dvd
000371 100317 xct dv1
000372 060315 xor dvd
000373 673777 rcr 9s
000374 673777 rcr 9s
000375 440317 idx dv1
000376 dve,
000376 440317 idx dv1
000377 200306 lac idv
000400 642000 spi
000401 761000 cma
000402 220315 lio dvd
000403 610317 jmp i dv1
-////
-/outline compiler
-/ac=where to compile to, call oc
-/ot=address of outline table
- define plinst A
- lac A
- dac i oc
- idx oc
- terminate
- define comtab A, B
- plinst A
- jsp ocs
- lac B
- jmp oce
- terminate
000404 ocs,
000404 260411 dap ocz /puts in swap
000405 330412 dio i oc
000406 440412 idx oc
000407 330412 dio i oc
000410 440412 idx oc
000411 ocz,
000411 600411 jmp .
000412 oc,
000412 000000 0
000413 260554 dap ocx
000414 210554 lac i ocx
000415 260434 dap ocg
- plinst (stf 5
+000416 202771 lac ZZ17
+000417 250412 dac i oc
+000420 440412 idx oc
000421 260555 dap ocm
000422 440554 idx ocx
000423 ock,
- plinst (lac ~sx1
+000423 202772 lac ZZ18
+000424 250412 dac i oc
+000425 440412 idx oc
- plinst (lio ~sy1
+000426 202773 lac ZZ19
+000427 250412 dac i oc
+000430 440412 idx oc
000431 760006 clf 6
000432 ocj,
- setup ~occ,6
+000432 710006 law i ZZ210
+000433 243112 dac ZZ110
000434 ocg,
000434 220434 lio .
000435 och,
000435 760200 cla
000436 663007 rcl 3s
000437 323113 dio ~oci
000440 222774 lio (rcl 9s
- dispatch
+000441 402775 add (a11
+000442 260443 dap . 1
+000443 600443 jmp .
+000444 a11,
000444 760000 opr
000445 600557 jmp oc1
000446 oco,
000446 600602 jmp oc2
000447 ocq,
000447 600610 jmp oc3
000450 ocp,
000450 600616 jmp oc4
000451 ocr,
000451 600624 jmp oc5
000452 600632 jmp oc6
-////
- plinst (szf 5 //code
+000453 202776 lac ZZ112
+000454 250412 dac i oc
+000455 440412 idx oc
000456 402777 add (4
000457 260556 dap ocn
- plinst ocn
+000460 200556 lac ZZ113
+000461 250412 dac i oc
+000462 440412 idx oc
- plinst (dac ~sx1
+000463 203000 lac ZZ114
+000464 250412 dac i oc
+000465 440412 idx oc
- plinst (dio ~sy1
+000466 203001 lac ZZ115
+000467 250412 dac i oc
+000470 440412 idx oc
- plinst (jmp sq6
+000471 203002 lac ZZ116
+000472 250412 dac i oc
+000473 440412 idx oc
- plinst (clf 5
+000474 203003 lac ZZ117
+000475 250412 dac i oc
+000476 440412 idx oc
- plinst (lac ~scm
+000477 203004 lac ZZ118
+000500 250412 dac i oc
+000501 440412 idx oc
- plinst (cma
+000502 203005 lac ZZ119
+000503 250412 dac i oc
+000504 440412 idx oc
- plinst (dac ~scm
+000505 203006 lac ZZ120
+000506 250412 dac i oc
+000507 440412 idx oc
- plinst (lac ~ssm
+000510 203007 lac ZZ121
+000511 250412 dac i oc
+000512 440412 idx oc
- plinst (cma
+000513 203005 lac ZZ122
+000514 250412 dac i oc
+000515 440412 idx oc
- plinst (dac ~ssm
+000516 203010 lac ZZ123
+000517 250412 dac i oc
+000520 440412 idx oc
- plinst (lac ~csm
+000521 203011 lac ZZ124
+000522 250412 dac i oc
+000523 440412 idx oc
- plinst (lio ~ssd
+000524 203012 lac ZZ125
+000525 250412 dac i oc
+000526 440412 idx oc
- plinst (dac ~ssd
+000527 203013 lac ZZ126
+000530 250412 dac i oc
+000531 440412 idx oc
- plinst (dio ~csm
+000532 203014 lac ZZ127
+000533 250412 dac i oc
+000534 440412 idx oc
- plinst (lac ~ssc
+000535 203015 lac ZZ128
+000536 250412 dac i oc
+000537 440412 idx oc
- plinst (lio ~csn
+000540 203016 lac ZZ129
+000541 250412 dac i oc
+000542 440412 idx oc
- plinst (dac ~csn
+000543 203017 lac ZZ130
+000544 250412 dac i oc
+000545 440412 idx oc
- plinst (dio ~ssc
+000546 203020 lac ZZ131
+000547 250412 dac i oc
+000550 440412 idx oc
- plinst ocm
+000551 200555 lac ZZ132
+000552 250412 dac i oc
+000553 440412 idx oc
000554 ocx,
000554 600554 jmp .
000555 ocm,
000555 600555 jmp .
000556 ocn,
000556 600556 jmp .
000557 oc1,
- plinst (add ~ssn
+000557 203021 lac ZZ133
+000560 250412 dac i oc
+000561 440412 idx oc
000562 620404 jsp ocs
000563 203022 lac (sub ~scn
000564 oce,
000564 250412 dac i oc
000565 440412 idx oc
000566 620404 jsp ocs
- plinst (ioh
+000567 203023 lac ZZ134
+000570 250412 dac i oc
+000571 440412 idx oc
000572 203024 lac (dpy-4000
000573 ocd,
000573 250412 dac i oc
000574 440412 idx oc
000575 223113 lio ~oci
- count ~occ, och
+000576 463112 isp ZZ135
+000577 600435 jmp ZZ235
000600 440434 idx ocg
000601 600432 jmp ocj
000602 oc2,
- comtab (add ~scm, (add ~ssm
- plinst ZZ136
+000602 203025 lac ZZ137
+000603 250412 dac i oc
+000604 440412 idx oc
+000605 620404 jsp ocs
+000606 203026 lac ZZ236
+000607 600564 jmp oce
000610 oc3,
- comtab (add ~ssc, (sub ~csm
- plinst ZZ138
+000610 203027 lac ZZ139
+000611 250412 dac i oc
+000612 440412 idx oc
+000613 620404 jsp ocs
+000614 203030 lac ZZ238
+000615 600564 jmp oce
000616 oc4,
- comtab (sub ~scm, (sub ~ssm
- plinst ZZ140
+000616 203031 lac ZZ141
+000617 250412 dac i oc
+000620 440412 idx oc
+000621 620404 jsp ocs
+000622 203032 lac ZZ240
+000623 600564 jmp oce
000624 oc5,
- comtab (add ~csn, (sub ~ssd
- plinst ZZ142
+000624 203033 lac ZZ143
+000625 250412 dac i oc
+000626 440412 idx oc
+000627 620404 jsp ocs
+000630 203034 lac ZZ242
+000631 600564 jmp oce
000632 oc6,
000632 640006 szf 6
000633 600642 jmp oc9
000634 760016 stf 6
- plinst (dac ~ssa
+000635 203035 lac ZZ144
+000636 250412 dac i oc
+000637 440412 idx oc
000640 203036 lac (dio ~ssi
000641 600573 jmp ocd
000642 oc9,
000642 760006 clf 6
- plinst (lac ~ssa
+000643 203037 lac ZZ145
+000644 250412 dac i oc
+000645 440412 idx oc
000646 203040 lac (lio ~ssi
000647 600573 jmp ocd
-////
-/ display a star
- define starp
- add ~bx
- swap
- add ~by
- swap
- ioh
- dpy-4000
- terminate
- /star
000650 blp,
000650 260675 dap blx
000651 640060 szs 60
000652 600675 jmp blx
- random
+000653 200031 lac ran
+000654 671001 rar 1s
+000655 063041 xor (355760
+000656 403042 add (355670
+000657 240031 dac ran
000660 671777 rar 9s
000661 023043 and (add 340
000662 640200 spa
000663 062767 xor (377777
000664 243116 dac ~bx
000665 200031 lac ran
000666 661017 ral 4s
000667 023043 and (add 340
000670 640200 spa
000671 062767 xor (377777
000672 243117 dac ~by
000673 620676 jsp bpt
000674 730000 ioh
000675 blx,
000675 600675 jmp .
000676 bpt,
000676 261117 dap bpx
- random
+000677 200031 lac ran
+000700 671001 rar 1s
+000701 063041 xor (355760
+000702 403042 add (355670
+000703 240031 dac ran
000704 675777 sar 9s
000705 675037 sar 5s
000706 640200 spa
000707 761000 cma
000710 665007 sal 3s
000711 403044 add (bds
000712 260715 dap bjm
000713 764206 cla cli clf 6-opr-opr
000714 724007 dpy-4000
000715 bjm,
000715 600715 jmp .
000716 bds,
- starp
+000716 403116 add ~bx
- swap
+000717 663777 rcl 9s
+000720 663777 rcl 9s
+000721 403117 add ~by
- swap
+000722 663777 rcl 9s
+000723 663777 rcl 9s
+000724 730000 ioh
+000725 724007 dpy-4000
- starp
+000726 403116 add ~bx
- swap
+000727 663777 rcl 9s
+000730 663777 rcl 9s
+000731 403117 add ~by
- swap
+000732 663777 rcl 9s
+000733 663777 rcl 9s
+000734 730000 ioh
+000735 724007 dpy-4000
- starp
+000736 403116 add ~bx
- swap
+000737 663777 rcl 9s
+000740 663777 rcl 9s
+000741 403117 add ~by
- swap
+000742 663777 rcl 9s
+000743 663777 rcl 9s
+000744 730000 ioh
+000745 724007 dpy-4000
- starp
+000746 403116 add ~bx
- swap
+000747 663777 rcl 9s
+000750 663777 rcl 9s
+000751 403117 add ~by
- swap
+000752 663777 rcl 9s
+000753 663777 rcl 9s
+000754 730000 ioh
+000755 724007 dpy-4000
- starp
+000756 403116 add ~bx
- swap
+000757 663777 rcl 9s
+000760 663777 rcl 9s
+000761 403117 add ~by
- swap
+000762 663777 rcl 9s
+000763 663777 rcl 9s
+000764 730000 ioh
+000765 724007 dpy-4000
- starp
+000766 403116 add ~bx
- swap
+000767 663777 rcl 9s
+000770 663777 rcl 9s
+000771 403117 add ~by
- swap
+000772 663777 rcl 9s
+000773 663777 rcl 9s
+000774 730000 ioh
+000775 724007 dpy-4000
- starp
+000776 403116 add ~bx
- swap
+000777 663777 rcl 9s
+001000 663777 rcl 9s
+001001 403117 add ~by
- swap
+001002 663777 rcl 9s
+001003 663777 rcl 9s
+001004 730000 ioh
+001005 724007 dpy-4000
- starp
+001006 403116 add ~bx
- swap
+001007 663777 rcl 9s
+001010 663777 rcl 9s
+001011 403117 add ~by
- swap
+001012 663777 rcl 9s
+001013 663777 rcl 9s
+001014 730000 ioh
+001015 724007 dpy-4000
- starp
+001016 403116 add ~bx
- swap
+001017 663777 rcl 9s
+001020 663777 rcl 9s
+001021 403117 add ~by
- swap
+001022 663777 rcl 9s
+001023 663777 rcl 9s
+001024 730000 ioh
+001025 724007 dpy-4000
- starp
+001026 403116 add ~bx
- swap
+001027 663777 rcl 9s
+001030 663777 rcl 9s
+001031 403117 add ~by
- swap
+001032 663777 rcl 9s
+001033 663777 rcl 9s
+001034 730000 ioh
+001035 724007 dpy-4000
- starp
+001036 403116 add ~bx
- swap
+001037 663777 rcl 9s
+001040 663777 rcl 9s
+001041 403117 add ~by
- swap
+001042 663777 rcl 9s
+001043 663777 rcl 9s
+001044 730000 ioh
+001045 724007 dpy-4000
- starp
+001046 403116 add ~bx
- swap
+001047 663777 rcl 9s
+001050 663777 rcl 9s
+001051 403117 add ~by
- swap
+001052 663777 rcl 9s
+001053 663777 rcl 9s
+001054 730000 ioh
+001055 724007 dpy-4000
- starp
+001056 403116 add ~bx
- swap
+001057 663777 rcl 9s
+001060 663777 rcl 9s
+001061 403117 add ~by
- swap
+001062 663777 rcl 9s
+001063 663777 rcl 9s
+001064 730000 ioh
+001065 724007 dpy-4000
- starp
+001066 403116 add ~bx
- swap
+001067 663777 rcl 9s
+001070 663777 rcl 9s
+001071 403117 add ~by
- swap
+001072 663777 rcl 9s
+001073 663777 rcl 9s
+001074 730000 ioh
+001075 724007 dpy-4000
- starp
+001076 403116 add ~bx
- swap
+001077 663777 rcl 9s
+001100 663777 rcl 9s
+001101 403117 add ~by
- swap
+001102 663777 rcl 9s
+001103 663777 rcl 9s
+001104 730000 ioh
+001105 724007 dpy-4000
- starp
+001106 403116 add ~bx
- swap
+001107 663777 rcl 9s
+001110 663777 rcl 9s
+001111 403117 add ~by
- swap
+001112 663777 rcl 9s
+001113 663777 rcl 9s
+001114 730000 ioh
+001115 724007 dpy-4000
001116 640006 szf 6
001117 bpx,
001117 601117 jmp .
001120 760016 stf 6
001121 761000 cma
- swap
+001122 663777 rcl 9s
+001123 663777 rcl 9s
001124 761000 cma
- swap
+001125 663777 rcl 9s
+001126 663777 rcl 9s
001127 600715 jmp bjm
-////
-/background display . 3/13/62, prs.
- define dislis J, Q, B
- repeat 6, B=B+B
- clf 5
- lac flo+r
- dap fpo+r
-fs,
- dap fin+r
- dap fyn+r
- idx fyn+r
-fin,
- lac /lac x
- sub fpr /right margin
- sma
- jmp fgr+r
- add (2000
-frr,
- spq
-fou,
- jmp fuu+r
-fie,
- sub (1000
- sal 8s
-fyn,
- lio /lio y
- dpy-i+B
- stf 5
-fid,
- idx fyn+r
- sad (lio Q+2
- jmp flp+r
- sad fpo+r
- jmp fx+r
- dap fin+r
- idx fyn+r
- jmp fin+r
-fgr,
- add (2000 -20000
- jmp frr+r
-fuu,
- szf 5
-fx,
- jmp flo+r+1 /return
- idx flo+r
- idx flo+r
- sas (Q+2
- jmp fid+r
- law J
- dac flo+r
- jmp fid+r
-flp,
- lac (lio J
- sad fpo+r
- jmp fx+r
- dap fin+r
- law J+1
- dap fyn+r
- jmp fin+r
-fpo,
- lio
-flo,
- J
- terminate
-////
- define background
- jsp bck
- termin
001130 bck,
001130 261134 dap bcx
001131 640040 szs 40
001132 601134 jmp bcx
001133 461441 isp bcc
001134 bcx,
001134 601134 jmp .
001135 710002 law i 2
001136 241441 dac bcc
- dislis 1j,1q,3
+001137 000006 ZZ398=ZZ398+ZZ398
+001137 000014 ZZ398=ZZ398+ZZ398
+001137 000030 ZZ398=ZZ398+ZZ398
+001137 000060 ZZ398=ZZ398+ZZ398
+001137 000140 ZZ398=ZZ398+ZZ398
+001137 000300 ZZ398=ZZ398+ZZ398
+001137 760005 clf 5
+001140 201214 lac flo98
+001141 261213 dap fpo98
+001142 fs98,
+001142 261145 dap fin98
+001143 261156 dap fyn98
+001144 441156 idx fyn98
+001145 fin98,
+001145 200000 lac
+001146 421443 sub fpr
+001147 640400 sma
+001150 601171 jmp fgr98
+001151 403045 add (2000
+001152 frr98,
+001152 650500 spq
+001153 fou98,
+001153 601173 jmp fuu98
+001154 fie98,
+001154 423046 sub (1000
+001155 665377 sal 8s
+001156 fyn98,
+001156 220000 lio
+001157 720307 dpy-i+ZZ398
+001160 760015 stf 5
+001161 fid98,
+001161 441156 idx fyn98
+001162 503047 sad (lio ZZ298+2
+001163 601204 jmp flp98
+001164 501213 sad fpo98
+001165 601174 jmp fx98
+001166 261145 dap fin98
+001167 441156 idx fyn98
+001170 601145 jmp fin98
+001171 fgr98,
+001171 403050 add (2000 -20000
+001172 601152 jmp frr98
+001173 fuu98,
+001173 640005 szf 5
+001174 fx98,
+001174 601215 jmp flo98+1
+001175 441214 idx flo98
+001176 441214 idx flo98
+001177 523051 sas (ZZ298+2
+001200 601161 jmp fid98
+001201 706000 law ZZ198
+001202 241214 dac flo98
+001203 601161 jmp fid98
+001204 flp98,
+001204 203052 lac (lio ZZ198
+001205 501213 sad fpo98
+001206 601174 jmp fx98
+001207 261145 dap fin98
+001210 706001 law ZZ198+1
+001211 261156 dap fyn98
+001212 601145 jmp fin98
+001213 fpo98,
+001213 220000 lio
+001214 flo98,
+001214 006000 ZZ198
- dislis 2j,2q,2
+001215 000004 ZZ399=ZZ399+ZZ399
+001215 000010 ZZ399=ZZ399+ZZ399
+001215 000020 ZZ399=ZZ399+ZZ399
+001215 000040 ZZ399=ZZ399+ZZ399
+001215 000100 ZZ399=ZZ399+ZZ399
+001215 000200 ZZ399=ZZ399+ZZ399
+001215 760005 clf 5
+001216 201272 lac flo99
+001217 261271 dap fpo99
+001220 fs99,
+001220 261223 dap fin99
+001221 261234 dap fyn99
+001222 441234 idx fyn99
+001223 fin99,
+001223 200000 lac
+001224 421443 sub fpr
+001225 640400 sma
+001226 601247 jmp fgr99
+001227 403045 add (2000
+001230 frr99,
+001230 650500 spq
+001231 fou99,
+001231 601251 jmp fuu99
+001232 fie99,
+001232 423046 sub (1000
+001233 665377 sal 8s
+001234 fyn99,
+001234 220000 lio
+001235 720207 dpy-i+ZZ399
+001236 760015 stf 5
+001237 fid99,
+001237 441234 idx fyn99
+001240 503053 sad (lio ZZ299+2
+001241 601262 jmp flp99
+001242 501271 sad fpo99
+001243 601252 jmp fx99
+001244 261223 dap fin99
+001245 441234 idx fyn99
+001246 601223 jmp fin99
+001247 fgr99,
+001247 403050 add (2000 -20000
+001250 601230 jmp frr99
+001251 fuu99,
+001251 640005 szf 5
+001252 fx99,
+001252 601273 jmp flo99+1
+001253 441272 idx flo99
+001254 441272 idx flo99
+001255 523054 sas (ZZ299+2
+001256 601237 jmp fid99
+001257 706022 law ZZ199
+001260 241272 dac flo99
+001261 601237 jmp fid99
+001262 flp99,
+001262 203055 lac (lio ZZ199
+001263 501271 sad fpo99
+001264 601252 jmp fx99
+001265 261223 dap fin99
+001266 706023 law ZZ199+1
+001267 261234 dap fyn99
+001270 601223 jmp fin99
+001271 fpo99,
+001271 220000 lio
+001272 flo99,
+001272 006022 ZZ199
- dislis 3j,3q,1
+001273 000002 ZZ3100=ZZ3100+ZZ3100
+001273 000004 ZZ3100=ZZ3100+ZZ3100
+001273 000010 ZZ3100=ZZ3100+ZZ3100
+001273 000020 ZZ3100=ZZ3100+ZZ3100
+001273 000040 ZZ3100=ZZ3100+ZZ3100
+001273 000100 ZZ3100=ZZ3100+ZZ3100
+001273 760005 clf 5
+001274 201350 lac flo100
+001275 261347 dap fpo100
+001276 fs100,
+001276 261301 dap fin100
+001277 261312 dap fyn100
+001300 441312 idx fyn100
+001301 fin100,
+001301 200000 lac
+001302 421443 sub fpr
+001303 640400 sma
+001304 601325 jmp fgr100
+001305 403045 add (2000
+001306 frr100,
+001306 650500 spq
+001307 fou100,
+001307 601327 jmp fuu100
+001310 fie100,
+001310 423046 sub (1000
+001311 665377 sal 8s
+001312 fyn100,
+001312 220000 lio
+001313 720107 dpy-i+ZZ3100
+001314 760015 stf 5
+001315 fid100,
+001315 441312 idx fyn100
+001316 503056 sad (lio ZZ2100+2
+001317 601340 jmp flp100
+001320 501347 sad fpo100
+001321 601330 jmp fx100
+001322 261301 dap fin100
+001323 441312 idx fyn100
+001324 601301 jmp fin100
+001325 fgr100,
+001325 403050 add (2000 -20000
+001326 601306 jmp frr100
+001327 fuu100,
+001327 640005 szf 5
+001330 fx100,
+001330 601351 jmp flo100+1
+001331 441350 idx flo100
+001332 441350 idx flo100
+001333 523057 sas (ZZ2100+2
+001334 601315 jmp fid100
+001335 706044 law ZZ1100
+001336 241350 dac flo100
+001337 601315 jmp fid100
+001340 flp100,
+001340 203060 lac (lio ZZ1100
+001341 501347 sad fpo100
+001342 601330 jmp fx100
+001343 261301 dap fin100
+001344 706045 law ZZ1100+1
+001345 261312 dap fyn100
+001346 601301 jmp fin100
+001347 fpo100,
+001347 220000 lio
+001350 flo100,
+001350 006044 ZZ1100
- dislis 4j,4q,0
+001351 000000 ZZ3101=ZZ3101+ZZ3101
+001351 000000 ZZ3101=ZZ3101+ZZ3101
+001351 000000 ZZ3101=ZZ3101+ZZ3101
+001351 000000 ZZ3101=ZZ3101+ZZ3101
+001351 000000 ZZ3101=ZZ3101+ZZ3101
+001351 000000 ZZ3101=ZZ3101+ZZ3101
+001351 760005 clf 5
+001352 201426 lac flo101
+001353 261425 dap fpo101
+001354 fs101,
+001354 261357 dap fin101
+001355 261370 dap fyn101
+001356 441370 idx fyn101
+001357 fin101,
+001357 200000 lac
+001360 421443 sub fpr
+001361 640400 sma
+001362 601403 jmp fgr101
+001363 403045 add (2000
+001364 frr101,
+001364 650500 spq
+001365 fou101,
+001365 601405 jmp fuu101
+001366 fie101,
+001366 423046 sub (1000
+001367 665377 sal 8s
+001370 fyn101,
+001370 220000 lio
+001371 720007 dpy-i+ZZ3101
+001372 760015 stf 5
+001373 fid101,
+001373 441370 idx fyn101
+001374 503061 sad (lio ZZ2101+2
+001375 601416 jmp flp101
+001376 501425 sad fpo101
+001377 601406 jmp fx101
+001400 261357 dap fin101
+001401 441370 idx fyn101
+001402 601357 jmp fin101
+001403 fgr101,
+001403 403050 add (2000 -20000
+001404 601364 jmp frr101
+001405 fuu101,
+001405 640005 szf 5
+001406 fx101,
+001406 601427 jmp flo101+1
+001407 441426 idx flo101
+001410 441426 idx flo101
+001411 523062 sas (ZZ2101+2
+001412 601373 jmp fid101
+001413 706306 law ZZ1101
+001414 241426 dac flo101
+001415 601373 jmp fid101
+001416 flp101,
+001416 203063 lac (lio ZZ1101
+001417 501425 sad fpo101
+001420 601406 jmp fx101
+001421 261357 dap fin101
+001422 706307 law ZZ1101+1
+001423 261370 dap fyn101
+001424 601357 jmp fin101
+001425 fpo101,
+001425 220000 lio
+001426 flo101,
+001426 006306 ZZ1101
001427 461442 isp bkc
001430 601134 jmp bcx
001431 710020 law i 20
001432 241442 dac bkc
001433 710001 law i 1
001434 401443 add fpr
001435 640200 spa
001436 403064 add (20000
001437 241443 dac fpr
001440 601134 jmp bcx
001441 bcc,
001441 000000 0
001442 bkc,
001442 000000 0
001443 fpr,
001443 010000 10000
-////
-/spacewar 3.1 24 sep 62 pt. 2
-/main control for spaceships
001444 000030 nob=30 /total number of colliding objects
001444 ml0,
- load ~mtc, -4000 /delay for loop
+001444 223065 lio (ZZ2102
+001445 323120 dio ZZ1102
- init ml1, mtb /loc of calc routines
+001446 703365 law ZZ2103
+001447 261703 dap ZZ1103
001450 403066 add (nob
001451 261737 dap mx1 /x
001452 003415 nx1=mtb nob
001452 403066 add (nob
001453 261747 dap my1 /y
001454 003445 ny1=nx1 nob
001454 403066 add (nob
001455 261772 dap ma1 / count for length of explosion or torp
001456 003475 na1=ny1 nob
001456 403066 add (nob
001457 262006 dap mb1 / count of instructions taken by calc routine
001460 003525 nb1=na1 nob
001460 403066 add (nob
001461 243121 dac ~mdx / dx
001462 003555 ndx=nb1 nob
001462 403066 add (nob
001463 243122 dac ~mdy / dy
001464 003605 ndy=ndx nob
001464 403066 add (nob
001465 262327 dap mom /angular velocity
001466 003635 nom=ndy nob
001466 403067 add (2
001467 262343 dap mth / angle
001470 003637 nth=nom 2
001470 403067 add (2
001471 243123 dac ~mfu /fuel
001472 003641 nfu=nth 2
001472 403067 add (2
001473 243124 dac ~mtr / no torps remaining
001474 003643 ntr=nfu 2
001474 403067 add (2
001475 261732 dap mot / outline of spaceship
001476 003645 not=ntr 2
001476 403067 add (2
001477 262577 dap mco / old control word
001500 003647 nco=not 2
001500 403067 add (2
001501 243125 dac ~mh1
001502 003651 nh1=nco 2
001502 403067 add (2
001503 243126 dac ~mh2
001504 003653 nh2=nh1 2
001504 403067 add (2
001505 243127 dac ~mh3
001506 003655 nh3=nh2 2
001506 403067 add (2
001507 243130 dac ~mh4
001510 003657 nh4=nh3 2
001510 003661 nnn=nh4 2
-////
001510 702310 law ss1
001511 063365 xor mtb
001512 640100 sza
001513 601534 jmp mdn
001514 702314 law ss2
001515 063366 xor mtb 1
001516 640100 sza
001517 601534 jmp mdn
001520 700001 law 1 / test if both ships out of torps
001521 403643 add ntr
001522 640200 spa
001523 601530 jmp md1
001524 700001 law 1
001525 403644 add ntr 1
001526 650200 spa i
001527 601534 jmp mdn
001530 md1,
001530 100011 xct tlf / restart delay is 2x torpedo life
001531 665001 sal 1s
001532 243131 dac ~ntd
001533 601703 jmp ml1
001534 mdn,
- count ~ntd,ml1
+001534 463131 isp ZZ1104
+001535 601703 jmp ZZ2104
001536 760011 stf 1
001537 760012 stf 2
001540 702310 law ss1
001541 063365 xor mtb
001542 640100 sza
001543 760001 clf 1
001544 650100 sza i
001545 443132 idx ~1sc
001546 702314 law ss2
001547 063366 xor mtb 1
001550 640100 sza
001551 760002 clf 2
001552 650100 sza i
001553 443133 idx ~2sc
001554 760002 clf 2
001555 601564 jmp a
-////
001556 a1,
001556 701676 law mg2 / test word control
001557 243134 dac ~cwg
001560 601564 jmp a
001561 a40,
001561 700040 law cwr / here from start at 4
001562 243134 dac ~cwg
001563 601613 jmp a6
001564 a,
001564 203135 lac ~gct
001565 640400 sma
001566 601576 jmp a5
- count ~gct, a5
+001567 463135 isp ZZ1105
+001570 601576 jmp ZZ2105
001571 203132 lac ~1sc
001572 523133 sas ~2sc
001573 601602 jmp a4
001574 710001 law i 1
001575 243135 dac ~gct
001576 a5,
001576 762200 lat
001577 023070 and (40
001600 650100 sza i
001601 601621 jmp a2
001602 a4,
001602 203132 lac ~1sc
001603 223133 lio ~2sc
001604 760400 hlt
001605 762200 lat
001606 023070 and (40
001607 640100 sza
001610 601621 jmp a2
001611 343132 dzm ~1sc
001612 343133 dzm ~2sc
001613 a6,
001613 762200 lat
001614 671077 rar 6s
001615 023071 and (37
001616 640100 sza
001617 761000 cma
001620 243135 dac ~gct
001621 a2,
- clear mtb, nnn-1 / clear out all tables
- init .+2, ZZ1106
+001621 703365 law ZZ2107
+001622 261623 dap ZZ1107
+001623 340000 dzm
- index .-1, (dzm ZZ2106+1, .-1
+001624 441623 idx ZZ1108
+001625 523072 sas ZZ2108
+001626 601623 jmp ZZ3108
001627 702310 law ss1
001630 243365 dac mtb
001631 702314 law ss2
001632 243366 dac mtb 1
001633 203073 lac (200000
001634 243415 dac nx1
001635 243445 dac ny1
001636 761000 cma
001637 243416 dac nx1 1
001640 243446 dac ny1 1
001641 203074 lac (144420
001642 243637 dac nth
-////
001643 703661 law nnn / start of outline problem
001644 243645 dac not
001645 220020 lio ddd
001646 652000 spi i
001647 601652 jmp a3
001650 170412 jda oc
001651 002735 ot1
001652 a3,
001652 243646 dac not 1
001653 170412 jda oc
001654 002746 ot2
001655 100006 xct tno
001656 243643 dac ntr
001657 243644 dac ntr 1
001660 200012 lac foo
001661 243641 dac nfu
001662 243642 dac nfu 1
001663 702000 law 2000
001664 243525 dac nb1
001665 243526 dac nb1 1
001666 100022 xct mhs
001667 243653 dac nh2
001670 243654 dac nh2 1
001671 601444 jmp ml0
-/ control word get routines
001672 mg1,
001672 261675 dap mg3
001673 764000 cli
001674 720011 iot 11
001675 mg3,
001675 601675 jmp .
001676 mg2,
001676 261702 dap mg4
001677 762200 lat
- swap
+001700 663777 rcl 9s
+001701 663777 rcl 9s
001702 mg4,
001702 601702 jmp .
-////
001703 ml1,
001703 201703 lac . / 1st control word
001704 650100 sza i / zero if not active
001705 602011 jmp mq1 / not active
- swap
+001706 663777 rcl 9s
+001707 663777 rcl 9s
001710 443136 idx ~moc
001711 642000 spi
001712 602003 jmp mq4
001713 700001 law 1
001714 401703 add ml1
001715 261734 dap ml2
001716 700001 law 1
001717 401737 add mx1
001720 261740 dap mx2
001721 700001 law 1
001722 401747 add my1
001723 261750 dap my2
001724 700001 law 1
001725 401772 add ma1
001726 261773 dap ma2
001727 700001 law 1
001730 402006 add mb1
001731 261766 dap mb2
001732 mot,
001732 201732 lac .
001733 262530 dap sp5
001734 ml2,
001734 201734 lac . / 2nd control word
001735 650500 spq / can it collide?
001736 601774 jmp mq2 / no
001737 mx1,
001737 201737 lac . / calc if collision
001740 mx2,
001740 421740 sub . / delta x
001741 640200 spa / take abs value
001742 761000 cma
001743 243137 dac ~mt1
001744 420016 sub me1 / < epsilon ?
001745 640400 sma
001746 601774 jmp mq2 / no
001747 my1,
001747 201747 lac .
001750 my2,
001750 421750 sub .
001751 640200 spa
001752 761000 cma
001753 420016 sub me1 / < epsilon ?
001754 640400 sma
001755 601774 jmp mq2 / no
001756 403137 add ~mt1
001757 420017 sub me2
001760 640400 sma
001761 601774 jmp mq2
001762 203103 lac (mex 400000 / yes, explode
001763 251703 dac i ml1 / replace calc routine with explosion
001764 251734 dac i ml2
001765 212006 lac i mb1 / duration of explosion
001766 mb2,
001766 401766 add .
001767 761000 cma
001770 675377 sar 8s
001771 402770 add (1
001772 ma1,
001772 241772 dac .
001773 ma2,
001773 241773 dac .
001774 mq2,
001774 441740 idx mx2 / end of comparion loop
001775 441750 idx my2
001776 441773 idx ma2
001777 441766 idx mb2
- index ml2, (lac mtb nob, ml2
+002000 441734 idx ZZ1111
+002001 523075 sas ZZ2111
+002002 601734 jmp ZZ3111
-////
002003 mq4,
002003 211703 lac i ml1 / routine for calculating spaceship
002004 262005 dap . 1 / or other object and displaying it
002005 622005 jsp .
002006 mb1,
002006 202006 lac . / alter count of number of instructions
002007 403120 add ~mtc
002010 243120 dac ~mtc
002011 mq1,
002011 441737 idx mx1 / end of comparison and display loop
002012 441747 idx my1
002013 441772 idx ma1
002014 442006 idx mb1
002015 443121 idx ~mdx
002016 443122 idx ~mdy
002017 442327 idx mom
002020 442343 idx mth
002021 443140 idx ~mas
002022 443123 idx ~mfu
002023 443124 idx ~mtr
002024 441732 idx mot
002025 442577 idx mco
002026 443125 idx ~mh1
002027 443126 idx ~mh2
002030 443127 idx ~mh3
002031 443130 idx ~mh4
- index ml1, (lac mtb nob-1, ml1
+002032 441703 idx ZZ1112
+002033 523076 sas ZZ2112
+002034 601703 jmp ZZ3112
002035 211703 lac i ml1 / display and compute last point
002036 650100 sza i / if active
002037 602045 jmp mq3
002040 262041 dap . 1
002041 622041 jsp .
002042 212006 lac i mb1
002043 403120 add ~mtc
002044 243120 dac ~mtc
002045 mq3,
- background / display stars of the heavens
+002045 621130 jsp bck
002046 620650 jsp blp / display massive star
- count ~mtc, . / use the rest of time of main loop
+002047 463120 isp ZZ1114
+002050 602047 jmp ZZ2114
002051 601444 jmp ml0 / repeat whole works
-////
-/ misc calculation routines
- / explosion
002052 mex,
002052 262133 dap mxr
002053 760200 cla
- diff ~mdx, mx1, (sar 3s
+002054 413121 add i ZZ1115
+002055 253121 dac i ZZ1115
+002056 103077 xct ZZ3115
+002057 411737 add i ZZ2115
+002060 251737 dac i ZZ2115
002061 760200 cla
- diff ~mdy, my1, (sar 3s
+002062 413122 add i ZZ1116
+002063 253122 dac i ZZ1116
+002064 103077 xct ZZ3116
+002065 411747 add i ZZ2116
+002066 251747 dac i ZZ2116
002067 702134 law ms2
002070 262117 dap msh
002071 212006 lac i mb1 / time involved
002072 765000 cma cli-opr
002073 675007 sar 3s
002074 243141 dac ~mxc
002075 ms1,
002075 423100 sub (140
002076 640400 sma
002077 442117 idx msh
002100 mz1,
- random
+002100 200031 lac ran
+002101 671001 rar 1s
+002102 063041 xor (355760
+002103 403042 add (355670
+002104 240031 dac ran
002105 023101 and (777
002106 043102 ior (scl
002107 242120 dac mi1
- random
+002110 200031 lac ran
+002111 671001 rar 1s
+002112 063041 xor (355760
+002113 403042 add (355670
+002114 240031 dac ran
002115 677777 scr 9s
002116 676777 sir 9s
002117 msh,
002117 102117 xct .
002120 mi1,
002120 760400 hlt
002121 411747 add i my1
- swap
+002122 663777 rcl 9s
+002123 663777 rcl 9s
002124 411737 add i mx1
002125 720307 dpy-i 300
- count ~mxc, mz1
+002126 463141 isp ZZ1120
+002127 602100 jmp ZZ2120
- count i ma1, mxr
+002130 471772 isp ZZ1121
+002131 602133 jmp ZZ2121
002132 351703 dzm i ml1
002133 mxr,
002133 602133 jmp .
002134 ms2,
002134 677001 scr 1s
002135 677007 scr 3s
-/ torpedo calc routine
002136 tcr,
002136 262167 dap trc
- count i ma1, tc1
+002137 471772 isp ZZ1122
+002140 602146 jmp ZZ2122
002141 203103 lac (mex 400000
002142 251703 dac i ml1
002143 710002 law i 2
002144 251772 dac i ma1
002145 602167 jmp trc
002146 tc1,
002146 211737 lac i mx1
002147 675777 sar 9s
002150 100021 xct the
- diff ~mdy, my1, (sar 3s
+002151 413122 add i ZZ1123
+002152 253122 dac i ZZ1123
+002153 103077 xct ZZ3123
+002154 411747 add i ZZ2123
+002155 251747 dac i ZZ2123
002156 675777 sar 9s
002157 100021 xct the
- diff ~mdx, mx1, (sar 3s
+002160 413121 add i ZZ1124
+002161 253121 dac i ZZ1124
+002162 103077 xct ZZ3124
+002163 411737 add i ZZ2124
+002164 251737 dac i ZZ2124
- dispt i, i my1, 1
+002165 000002 ZZ3125=ZZ3125+ZZ3125
+002165 000004 ZZ3125=ZZ3125+ZZ3125
+002165 000010 ZZ3125=ZZ3125+ZZ3125
+002165 000020 ZZ3125=ZZ3125+ZZ3125
+002165 000040 ZZ3125=ZZ3125+ZZ3125
+002165 000100 ZZ3125=ZZ3125+ZZ3125
+002165 231747 lio ZZ2125
+002166 720107 dpy-ZZ1125+ZZ3125
002167 trc,
002167 602167 jmp .
-////
-/ hyperspace routines
-/ this routine handles a non-colliding ship invisibly
-/ in hyperspace
002170 hp1,
002170 262245 dap hp2
- count i ma1, hp2
+002171 471772 isp ZZ1126
+002172 602245 jmp ZZ2126
002173 702246 law hp3 / next step
002174 251703 dac i ml1
002175 700007 law 7
002176 252006 dac i mb1
- random
+002177 200031 lac ran
+002200 671001 rar 1s
+002201 063041 xor (355760
+002202 403042 add (355670
+002203 240031 dac ran
002204 677777 scr 9s
002205 676777 sir 9s
002206 100026 xct hr1
002207 411737 add i mx1
002210 251737 dac i mx1
- swap
+002211 663777 rcl 9s
+002212 663777 rcl 9s
002213 411747 add i my1
002214 251747 dac i my1
- random
+002215 200031 lac ran
+002216 671001 rar 1s
+002217 063041 xor (355760
+002220 403042 add (355670
+002221 240031 dac ran
002222 677777 scr 9s
002223 676777 sir 9s
002224 100027 xct hr2
002225 253122 dac i ~mdy
002226 333121 dio i ~mdx
- setup ~hpt,3
+002227 710003 law i ZZ2130
+002230 243142 dac ZZ1130
002231 200031 lac ran
002232 252343 dac i mth
002233 hp4,
002233 212343 lac i mth
002234 640400 sma
002235 422761 sub (311040
002236 640200 spa
002237 402761 add (311040
002240 252343 dac i mth
- count ~hpt,hp4
+002241 463142 isp ZZ1131
+002242 602233 jmp ZZ2131
002243 100024 xct hd2
002244 251772 dac i ma1
002245 hp2,
002245 602245 jmp .
-/ this routine handles a ship breaking out of
-/ hyperspace
002246 hp3,
002246 262307 dap hp5
- count i ma1,hp6
+002247 471772 isp ZZ1132
+002250 602304 jmp ZZ2132
002251 213125 lac i ~mh1
002252 251703 dac i ml1
002253 702000 law 2000
002254 252006 dac i mb1
- count i ~mh2,hp7
+002255 473126 isp ZZ1133
+002256 602260 jmp ZZ2133
002257 353126 dzm i ~mh2
-////
002260 hp7,
002260 100025 xct hd3
002261 253127 dac i ~mh3
002262 213130 lac i ~mh4
002263 400030 add hur
002264 253130 dac i ~mh4
- random
+002265 200031 lac ran
+002266 671001 rar 1s
+002267 063041 xor (355760
+002270 403042 add (355670
+002271 240031 dac ran
002272 043104 ior (400000
002273 413130 add i ~mh4
002274 640200 spa
002275 602307 jmp hp5
002276 203103 lac (mex 400000
002277 251703 dac i ml1
002300 710010 law i 10
002301 251772 dac i ma1
002302 702000 law 2000
002303 252006 dac i mb1
002304 hp6,
002304 211737 lac i mx1
- dispt i, i my1, 2
+002305 000004 ZZ3135=ZZ3135+ZZ3135
+002305 000010 ZZ3135=ZZ3135+ZZ3135
+002305 000020 ZZ3135=ZZ3135+ZZ3135
+002305 000040 ZZ3135=ZZ3135+ZZ3135
+002305 000100 ZZ3135=ZZ3135+ZZ3135
+002305 000200 ZZ3135=ZZ3135+ZZ3135
+002305 231747 lio ZZ2135
+002306 720207 dpy-ZZ1135+ZZ3135
002307 hp5,
002307 602307 jmp .
-////
-/ spaceship calc
002310 ss1,
002310 262713 dap srt / first spaceship
002311 633134 jsp i ~cwg
002312 323143 dio ~scw
002313 602320 jmp sr0
002314 ss2,
002314 262713 dap srt
002315 633134 jsp i ~cwg
002316 672017 rir 4s
002317 323143 dio ~scw
002320 sr0,
002320 sc1,
002320 223143 lio ~scw /control word
002321 760206 clf 6 cla-opr /update angle
002322 642000 spi
002323 400013 add maa
002324 662001 ril 1s
002325 642000 spi
002326 420013 sub maa
002327 mom,
002327 402327 add .
002330 252327 dac i mom
002331 640010 szs 10
002332 602335 jmp sr8
002333 352327 dzm i mom
002334 661177 ral 7s
002335 sr8,
002335 662001 ril 1s
002336 642000 spi
002337 760016 stf 6
002340 233123 lio i ~mfu
002341 652000 spi i
002342 760006 clf 6
002343 mth,
002343 402343 add .
002344 640400 sma
002345 422761 sub (311040
002346 640200 spa
002347 402761 add (311040
002350 252343 dac i mth
002351 170074 jda sin
002352 243144 dac ~sn
002353 343116 dzm ~bx
002354 343117 dzm ~by
002355 640060 szs 60
002356 602430 jmp bsg
002357 211737 lac i mx1
002360 675777 sar 9s
002361 675003 sar 2s
002362 243145 dac ~t1
002363 170156 jda imp
002364 203145 lac ~t1
002365 243146 dac ~t2
002366 211747 lac i my1
-////
002367 675777 sar 9s
002370 675003 sar 2s
002371 243145 dac ~t1
002372 170156 jda imp
002373 203145 lac ~t1
002374 403146 add ~t2
002375 420015 sub str
002376 650500 sma i sza-skp
002377 602714 jmp poh
002400 400015 add str
002401 243145 dac ~t1
002402 170246 jda sqt
002403 675777 sar 9s
002404 170171 jda mpy
002405 203145 lac ~t1
002406 677003 scr 2s
002407 650020 szs i 20 / switch 2 for light star
002410 677003 scr 2s
002411 640100 sza
002412 602430 jmp bsg
002413 323145 dio ~t1
002414 211737 lac i mx1
002415 761000 cma
002416 170306 jda idv
002417 203145 lac ~t1
002420 760000 opr
002421 243116 dac ~bx
002422 211747 lac i my1
002423 761000 cma
002424 170306 jda idv
002425 203145 lac ~t1
002426 760000 opr
002427 243117 dac ~by
002430 bsg,
002430 760200 cla
002431 513123 sad i ~mfu
002432 760006 clf 6
002433 212343 lac i mth
002434 170066 jda cos
002435 243147 dac ~cs
002436 675777 sar 9s
002437 100014 xct sac
002440 650006 szf i 6
002441 760200 cla
002442 403117 add ~by
- diff ~mdy, my1, (sar 3s
+002443 413122 add i ZZ1136
+002444 253122 dac i ZZ1136
+002445 103077 xct ZZ3136
+002446 411747 add i ZZ2136
+002447 251747 dac i ZZ2136
002450 203144 lac ~sn
002451 675777 sar 9s
002452 100014 xct sac
002453 761000 cma
002454 650006 szf i 6
002455 760200 cla
002456 403116 add ~bx
- diff ~mdx, mx1, (sar 3s
+002457 413121 add i ZZ1137
+002460 253121 dac i ZZ1137
+002461 103077 xct ZZ3137
+002462 411737 add i ZZ2137
+002463 251737 dac i ZZ2137
002464 sp1,
- scale ~sn, 5s, ~ssn
+002464 203144 lac ZZ1138
+002465 675037 sar ZZ2138
+002466 243150 dac ZZ3138
002467 sp2,
- scale ~cs, 5s, ~scn
+002467 203147 lac ZZ1139
+002470 675037 sar ZZ2139
+002471 243114 dac ZZ3139
002472 211737 lac i mx1
-////
002473 423150 sub ~ssn
002474 243151 dac ~sx1
002475 423150 sub ~ssn
002476 243152 dac ~stx
002477 211747 lac i my1
002500 403114 add ~scn
002501 243153 dac ~sy1
002502 403114 add ~scn
002503 243154 dac ~sty
-/ Modified for Smaller Laptop screens - BDS
-// scale ~sn, 9s, ~ssn
-// scale ~cs, 9s, ~scn
- scale ~sn, 8s, ~ssn
+002504 203144 lac ZZ1140
+002505 675377 sar ZZ2140
+002506 243150 dac ZZ3140
- scale ~cs, 8s, ~scn
+002507 203147 lac ZZ1141
+002510 675377 sar ZZ2141
+002511 243114 dac ZZ3141
002512 203150 lac ~ssn
002513 243155 dac ~ssm
002514 403114 add ~scn
002515 243156 dac ~ssc
002516 243157 dac ~ssd
002517 203150 lac ~ssn
002520 423114 sub ~scn
002521 243160 dac ~csn
002522 761000 cma
002523 243161 dac ~csm
002524 203114 lac ~scn
002525 243162 dac ~scm
002526 764200 cla cli-opr
002527 724007 dpy-4000
002530 sp5,
002530 602530 jmp .
002531 sq6,
002531 730000 ioh
- ranct sar 9s, sar 4s, ~src
- random
+002532 200031 lac ran
+002533 671001 rar 1s
+002534 063041 xor (355760
+002535 403042 add (355670
+002536 240031 dac ran
+002537 675777 ZZ1142
+002540 675017 ZZ2142
+002541 640400 sma
+002542 761000 cma
+002543 243163 dac ZZ3142
002544 223143 lio ~scw
002545 662003 ril 2s
002546 652000 spi i / not blasting
002547 602574 jmp sq9 / no tail
002550 sq7,
- scale ~sn, 8s, ~ssn
+002550 203144 lac ZZ1144
+002551 675377 sar ZZ2144
+002552 243150 dac ZZ3144
- scale ~cs, 8s, ~scn
+002553 203147 lac ZZ1145
+002554 675377 sar ZZ2145
+002555 243114 dac ZZ3145
- count i ~mfu, st2
+002556 473123 isp ZZ1146
+002557 602562 jmp ZZ2146
002560 353123 dzm i ~mfu
002561 602574 jmp sq9
002562 st2,
- yincr ~sx1, ~sy1, sub
+002562 203153 lac ZZ2147
+002563 423114 ZZ3147 ~scn
+002564 243153 dac ZZ2147
+002565 203151 lac ZZ1147
+002566 403150 -ZZ3147+add+sub ~ssn
+002567 243151 dac ZZ1147
- dispt i, ~sy1
+002570 000000 ZZ3148=ZZ3148+ZZ3148
+002570 000000 ZZ3148=ZZ3148+ZZ3148
+002570 000000 ZZ3148=ZZ3148+ZZ3148
+002570 000000 ZZ3148=ZZ3148+ZZ3148
+002570 000000 ZZ3148=ZZ3148+ZZ3148
+002570 000000 ZZ3148=ZZ3148+ZZ3148
+002570 223153 lio ZZ2148
+002571 720007 dpy-ZZ1148+ZZ3148
- count ~src,sq7
+002572 463163 isp ZZ1149
+002573 602550 jmp ZZ2149
002574 sq9,
- count i ma1, sr5 / check if torp tube reloaded
+002574 471772 isp ZZ1150
+002575 602667 jmp ZZ2150
002576 351772 dzm i ma1 / prevent count around
002577 mco,
002577 202577 lac . / previous control word
002600 761000 cma
002601 650030 szs i 30
002602 761200 clc
002603 023143 and ~scw / present control word
002604 661007 ral 3s / torpedo bit to bit 0
002605 640400 sma
002606 602667 jmp sr5 / no launch
- count i ~mtr, st1 / check if torpedos exhausted
+002607 473124 isp ZZ1151
+002610 602613 jmp ZZ2151
002611 353124 dzm i ~mtr / prevent count around
002612 602667 jmp sr5
002613 st1,
- init sr1, mtb / search for unused object
+002613 703365 law ZZ2152
+002614 262615 dap ZZ1152
002615 sr1,
002615 202615 lac .
002616 650100 sza i / 0 if unused
002617 602625 jmp sr2
- index sr1, (lac mtb+nob, sr1
+002620 442615 idx ZZ1153
+002621 523105 sas ZZ2153
+002622 602615 jmp ZZ3153
002623 760400 hlt / no space for new objects
002624 602623 jmp .-1
-////
002625 sr2,
002625 203106 lac (tcr
002626 252615 dac i sr1
002627 700030 law nob
002630 402615 add sr1
002631 262633 dap ss3
002632 223152 lio ~stx
002633 ss3,
002633 322633 dio .
002634 403066 add (nob
002635 262637 dap ss4
002636 223154 lio ~sty
002637 ss4,
002637 322637 dio .
002640 403066 add (nob
002641 262664 dap sr6
002642 403066 add (nob
002643 262666 dap sr7
002644 403066 add (nob
002645 262654 dap sr3
002646 403066 add (nob
002647 262660 dap sr4
002650 203144 lac ~sn
002651 100007 xct tvl
002652 761000 cma
002653 413121 add i ~mdx
002654 sr3,
002654 242654 dac .
002655 203147 lac ~cs
002656 100007 xct tvl
002657 413122 add i ~mdy
002660 sr4,
002660 242660 dac .
002661 100010 xct rlt
002662 251772 dac i ma1 / permit torp tubes to cool
002663 trp,
002663 100011 xct tlf / life of torpedo
002664 sr6,
002664 242664 dac .
002665 700020 law 20
002666 sr7,
002666 262666 dap . / length of torp calc
002667 sr5,
- count i ~mh3, st3 / hyperbutton active?
+002667 473127 isp ZZ1154
+002670 602713 jmp ZZ2154
002671 353127 dzm i ~mh3
002672 213126 lac i ~mh2
002673 650100 sza i
002674 602713 jmp st3
002675 203143 lac ~scw
002676 761000 cma
002677 052577 ior i mco
002700 023107 and (600000
002701 640100 sza
002702 602713 jmp st3
002703 211703 lac i ml1
002704 253125 dac i ~mh1
002705 203110 lac (hp1 400000
002706 251703 dac i ml1
002707 100023 xct hd1
002710 251772 dac i ma1
002711 700003 law 3
002712 252006 dac i mb1
002713 st3,
002713 srt,
002713 602713 jmp .
-////
-/ here to handle spaceships into star
-/ spaceship in star
002714 poh,
002714 353121 dzm i ~mdx
002715 353122 dzm i ~mdy
002716 640050 szs 50
002717 602730 jmp po1
002720 202767 lac (377777
002721 251737 dac i mx1
002722 251747 dac i my1
002723 212006 lac i mb1
002724 243150 dac ~ssn
- count ~ssn, .
+002725 463150 isp ZZ1155
+002726 602725 jmp ZZ2155
002727 602713 jmp srt
002730 po1,
002730 203103 lac (mex 400000 / now go bang
002731 251703 dac i ml1
002732 710010 law i 10
002733 251772 dac i ma1
002734 602713 jmp srt
-////
-/ outlines of spaceships
002735 ot1,
002735 111131 111131
002736 111111 111111
002737 111111 111111
002740 111163 111163
002741 311111 311111
002742 146111 146111
002743 111114 111114
002744 700000 700000
002745 000005 . 5/
002746 ot2,
002746 013113 013113
002747 113111 113111
002750 116313 116313
002751 131111 131111
002752 161151 161151
002753 111633 111633
002754 365114 365114
002755 700000 700000
002756 000005 . 5/
002757 203164 lac ~ssa / To fix assembler bug - ~ssa only referenced in lit
002760 constants
+002760 062210 62210
+002761 311040 311040
+002762 242763 242763
+002763 756103 756103
+002764 121312 121312
+002765 532511 532511
+002766 144417 144417
+002767 377777 377777
+002770 000001 1
+002771 760015 stf 5
+002772 203151 lac ~sx1
+002773 223153 lio ~sy1
+002774 663777 rcl 9s
+002775 000444 a11
+002776 640005 szf 5
+002777 000004 4
+003000 243151 dac ~sx1
+003001 323153 dio ~sy1
+003002 602531 jmp sq6
+003003 760005 clf 5
+003004 203162 lac ~scm
+003005 761000 cma
+003006 243162 dac ~scm
+003007 203155 lac ~ssm
+003010 243155 dac ~ssm
+003011 203161 lac ~csm
+003012 223157 lio ~ssd
+003013 243157 dac ~ssd
+003014 323161 dio ~csm
+003015 203156 lac ~ssc
+003016 223160 lio ~csn
+003017 243160 dac ~csn
+003020 323156 dio ~ssc
+003021 403150 add ~ssn
+003022 423114 sub ~scn
+003023 730000 ioh
+003024 724007 dpy-4000
+003025 403162 add ~scm
+003026 403155 add ~ssm
+003027 403156 add ~ssc
+003030 423161 sub ~csm
+003031 423162 sub ~scm
+003032 423155 sub ~ssm
+003033 403160 add ~csn
+003034 423157 sub ~ssd
+003035 243164 dac ~ssa
+003036 323115 dio ~ssi
+003037 203164 lac ~ssa
+003040 223115 lio ~ssi
+003041 355760 355760
+003042 355670 355670
+003043 400340 add 340
+003044 000716 bds
+003045 002000 2000
+003046 001000 1000
+003047 226022 lio ZZ298+2
+003050 761777 2000 -20000
+003051 006022 ZZ298+2
+003052 226000 lio ZZ198
+003053 226044 lio ZZ299+2
+003054 006044 ZZ299+2
+003055 226022 lio ZZ199
+003056 226306 lio ZZ2100+2
+003057 006306 ZZ2100+2
+003060 226044 lio ZZ1100
+003061 227652 lio ZZ2101+2
+003062 007652 ZZ2101+2
+003063 226306 lio ZZ1101
+003064 020000 20000
+003065 773777 ZZ2102
+003066 000030 nob
+003067 000002 2
+003070 000040 40
+003071 000037 37
+003072 343661 dzm ZZ2106+1
+003073 200000 200000
+003074 144420 144420
+003075 203415 lac mtb nob
+003076 203414 lac mtb nob-1
+003077 675007 sar 3s
+003100 000140 140
+003101 000777 777
+003102 667000 scl
+003103 402052 mex 400000
+003104 400000 400000
+003105 203415 lac mtb+nob
+003106 002136 tcr
+003107 600000 600000
+003110 402170 hp1 400000
003111 000000 0
003112 variables
+003112 000000 occ
+003113 000000 oci
+003114 000000 scn
+003115 000000 ssi
+003116 000000 bx
+003117 000000 by
+003120 000000 mtc
+003121 000000 mdx
+003122 000000 mdy
+003123 000000 mfu
+003124 000000 mtr
+003125 000000 mh1
+003126 000000 mh2
+003127 000000 mh3
+003130 000000 mh4
+003131 000000 ntd
+003132 000000 1sc
+003133 000000 2sc
+003134 000000 cwg
+003135 000000 gct
+003136 000000 moc
+003137 000000 mt1
+003140 000000 mas
+003141 000000 mxc
+003142 000000 hpt
+003143 000000 scw
+003144 000000 sn
+003145 000000 t1
+003146 000000 t2
+003147 000000 cs
+003150 000000 ssn
+003151 000000 sx1
+003152 000000 stx
+003153 000000 sy1
+003154 000000 sty
+003155 000000 ssm
+003156 000000 ssc
+003157 000000 ssd
+003160 000000 csn
+003161 000000 csm
+003162 000000 scm
+003163 000000 src
+003164 000000 ssa
003165 p,
003365 . 200/ / space for patches
003365 mtb,
- / table of objects and their properties
006000 6000/
-/stars 1 3/13/62 prs.
006000 decimal
- define mark X, Y
- repeat 10, Y=Y+Y
- 0 8192 -X
- 0 Y
- terminate
006000 1j,
- mark 1537, 371 /87 taur, aldebaran
+006000 001346 ZZ2156=ZZ2156+ZZ2156
+006000 002714 ZZ2156=ZZ2156+ZZ2156
+006000 005630 ZZ2156=ZZ2156+ZZ2156
+006000 013460 ZZ2156=ZZ2156+ZZ2156
+006000 027140 ZZ2156=ZZ2156+ZZ2156
+006000 056300 ZZ2156=ZZ2156+ZZ2156
+006000 134600 ZZ2156=ZZ2156+ZZ2156
+006000 271400 ZZ2156=ZZ2156+ZZ2156
+006000 014777 0 8192 -ZZ1156
+006001 271400 0 ZZ2156
- mark 1762, -189 /19 orio, rigel
+006002 777204 ZZ2157=ZZ2157+ZZ2157
+006002 776410 ZZ2157=ZZ2157+ZZ2157
+006002 775020 ZZ2157=ZZ2157+ZZ2157
+006002 772040 ZZ2157=ZZ2157+ZZ2157
+006002 764100 ZZ2157=ZZ2157+ZZ2157
+006002 750200 ZZ2157=ZZ2157+ZZ2157
+006002 720400 ZZ2157=ZZ2157+ZZ2157
+006002 641000 ZZ2157=ZZ2157+ZZ2157
+006002 014436 0 8192 -ZZ1157
+006003 641000 0 ZZ2157
- mark 1990, 168 /58 orio, betelgeuze
+006004 000520 ZZ2158=ZZ2158+ZZ2158
+006004 001240 ZZ2158=ZZ2158+ZZ2158
+006004 002500 ZZ2158=ZZ2158+ZZ2158
+006004 005200 ZZ2158=ZZ2158+ZZ2158
+006004 012400 ZZ2158=ZZ2158+ZZ2158
+006004 025000 ZZ2158=ZZ2158+ZZ2158
+006004 052000 ZZ2158=ZZ2158+ZZ2158
+006004 124000 ZZ2158=ZZ2158+ZZ2158
+006004 014072 0 8192 -ZZ1158
+006005 124000 0 ZZ2158
- mark 2280, -377 /9 cmaj, sirius
+006006 776414 ZZ2159=ZZ2159+ZZ2159
+006006 775030 ZZ2159=ZZ2159+ZZ2159
+006006 772060 ZZ2159=ZZ2159+ZZ2159
+006006 764140 ZZ2159=ZZ2159+ZZ2159
+006006 750300 ZZ2159=ZZ2159+ZZ2159
+006006 720600 ZZ2159=ZZ2159+ZZ2159
+006006 641400 ZZ2159=ZZ2159+ZZ2159
+006006 503000 ZZ2159=ZZ2159+ZZ2159
+006006 013430 0 8192 -ZZ1159
+006007 503000 0 ZZ2159
- mark 2583, 125 /25 cmin, procyon
+006010 000372 ZZ2160=ZZ2160+ZZ2160
+006010 000764 ZZ2160=ZZ2160+ZZ2160
+006010 001750 ZZ2160=ZZ2160+ZZ2160
+006010 003720 ZZ2160=ZZ2160+ZZ2160
+006010 007640 ZZ2160=ZZ2160+ZZ2160
+006010 017500 ZZ2160=ZZ2160+ZZ2160
+006010 037200 ZZ2160=ZZ2160+ZZ2160
+006010 076400 ZZ2160=ZZ2160+ZZ2160
+006010 012751 0 8192 -ZZ1160
+006011 076400 0 ZZ2160
- mark 3431, 283 /32 leon, regulus
+006012 001066 ZZ2161=ZZ2161+ZZ2161
+006012 002154 ZZ2161=ZZ2161+ZZ2161
+006012 004330 ZZ2161=ZZ2161+ZZ2161
+006012 010660 ZZ2161=ZZ2161+ZZ2161
+006012 021540 ZZ2161=ZZ2161+ZZ2161
+006012 043300 ZZ2161=ZZ2161+ZZ2161
+006012 106600 ZZ2161=ZZ2161+ZZ2161
+006012 215400 ZZ2161=ZZ2161+ZZ2161
+006012 011231 0 8192 -ZZ1161
+006013 215400 0 ZZ2161
- mark 4551, -242 /67 virg, spica
+006014 777032 ZZ2162=ZZ2162+ZZ2162
+006014 776064 ZZ2162=ZZ2162+ZZ2162
+006014 774150 ZZ2162=ZZ2162+ZZ2162
+006014 770320 ZZ2162=ZZ2162+ZZ2162
+006014 760640 ZZ2162=ZZ2162+ZZ2162
+006014 741500 ZZ2162=ZZ2162+ZZ2162
+006014 703200 ZZ2162=ZZ2162+ZZ2162
+006014 606400 ZZ2162=ZZ2162+ZZ2162
+006014 007071 0 8192 -ZZ1162
+006015 606400 0 ZZ2162
- mark 4842, 448 /16 boot, arcturus
+006016 001600 ZZ2163=ZZ2163+ZZ2163
+006016 003400 ZZ2163=ZZ2163+ZZ2163
+006016 007000 ZZ2163=ZZ2163+ZZ2163
+006016 016000 ZZ2163=ZZ2163+ZZ2163
+006016 034000 ZZ2163=ZZ2163+ZZ2163
+006016 070000 ZZ2163=ZZ2163+ZZ2163
+006016 160000 ZZ2163=ZZ2163+ZZ2163
+006016 340000 ZZ2163=ZZ2163+ZZ2163
+006016 006426 0 8192 -ZZ1163
+006017 340000 0 ZZ2163
006020 1q,
- mark 6747, 196 /53 aqil, altair
+006020 000610 ZZ2164=ZZ2164+ZZ2164
+006020 001420 ZZ2164=ZZ2164+ZZ2164
+006020 003040 ZZ2164=ZZ2164+ZZ2164
+006020 006100 ZZ2164=ZZ2164+ZZ2164
+006020 014200 ZZ2164=ZZ2164+ZZ2164
+006020 030400 ZZ2164=ZZ2164+ZZ2164
+006020 061000 ZZ2164=ZZ2164+ZZ2164
+006020 142000 ZZ2164=ZZ2164+ZZ2164
+006020 002645 0 8192 -ZZ1164
+006021 142000 0 ZZ2164
006022 2j,
- mark 1819, 143 /24 orio, bellatrix
+006022 000436 ZZ2165=ZZ2165+ZZ2165
+006022 001074 ZZ2165=ZZ2165+ZZ2165
+006022 002170 ZZ2165=ZZ2165+ZZ2165
+006022 004360 ZZ2165=ZZ2165+ZZ2165
+006022 010740 ZZ2165=ZZ2165+ZZ2165
+006022 021700 ZZ2165=ZZ2165+ZZ2165
+006022 043600 ZZ2165=ZZ2165+ZZ2165
+006022 107400 ZZ2165=ZZ2165+ZZ2165
+006022 014345 0 8192 -ZZ1165
+006023 107400 0 ZZ2165
- mark 1884, -29 /46 orio
+006024 777704 ZZ2166=ZZ2166+ZZ2166
+006024 777610 ZZ2166=ZZ2166+ZZ2166
+006024 777420 ZZ2166=ZZ2166+ZZ2166
+006024 777040 ZZ2166=ZZ2166+ZZ2166
+006024 776100 ZZ2166=ZZ2166+ZZ2166
+006024 774200 ZZ2166=ZZ2166+ZZ2166
+006024 770400 ZZ2166=ZZ2166+ZZ2166
+006024 761000 ZZ2166=ZZ2166+ZZ2166
+006024 014244 0 8192 -ZZ1166
+006025 761000 0 ZZ2166
- mark 1910, -46 /50 orio
+006026 777642 ZZ2167=ZZ2167+ZZ2167
+006026 777504 ZZ2167=ZZ2167+ZZ2167
+006026 777210 ZZ2167=ZZ2167+ZZ2167
+006026 776420 ZZ2167=ZZ2167+ZZ2167
+006026 775040 ZZ2167=ZZ2167+ZZ2167
+006026 772100 ZZ2167=ZZ2167+ZZ2167
+006026 764200 ZZ2167=ZZ2167+ZZ2167
+006026 750400 ZZ2167=ZZ2167+ZZ2167
+006026 014212 0 8192 -ZZ1167
+006027 750400 0 ZZ2167
- mark 1951, -221 /53 orio
+006030 777104 ZZ2168=ZZ2168+ZZ2168
+006030 776210 ZZ2168=ZZ2168+ZZ2168
+006030 774420 ZZ2168=ZZ2168+ZZ2168
+006030 771040 ZZ2168=ZZ2168+ZZ2168
+006030 762100 ZZ2168=ZZ2168+ZZ2168
+006030 744200 ZZ2168=ZZ2168+ZZ2168
+006030 710400 ZZ2168=ZZ2168+ZZ2168
+006030 621000 ZZ2168=ZZ2168+ZZ2168
+006030 014141 0 8192 -ZZ1168
+006031 621000 0 ZZ2168
- mark 2152, -407 / 2 cmaj
+006032 776320 ZZ2169=ZZ2169+ZZ2169
+006032 774640 ZZ2169=ZZ2169+ZZ2169
+006032 771500 ZZ2169=ZZ2169+ZZ2169
+006032 763200 ZZ2169=ZZ2169+ZZ2169
+006032 746400 ZZ2169=ZZ2169+ZZ2169
+006032 715000 ZZ2169=ZZ2169+ZZ2169
+006032 632000 ZZ2169=ZZ2169+ZZ2169
+006032 464000 ZZ2169=ZZ2169+ZZ2169
+006032 013630 0 8192 -ZZ1169
+006033 464000 0 ZZ2169
- mark 2230, 375 /24 gemi
+006034 001356 ZZ2170=ZZ2170+ZZ2170
+006034 002734 ZZ2170=ZZ2170+ZZ2170
+006034 005670 ZZ2170=ZZ2170+ZZ2170
+006034 013560 ZZ2170=ZZ2170+ZZ2170
+006034 027340 ZZ2170=ZZ2170+ZZ2170
+006034 056700 ZZ2170=ZZ2170+ZZ2170
+006034 135600 ZZ2170=ZZ2170+ZZ2170
+006034 273400 ZZ2170=ZZ2170+ZZ2170
+006034 013512 0 8192 -ZZ1170
+006035 273400 0 ZZ2170
- mark 3201, -187 /30 hyda, alphard
+006036 777210 ZZ2171=ZZ2171+ZZ2171
+006036 776420 ZZ2171=ZZ2171+ZZ2171
+006036 775040 ZZ2171=ZZ2171+ZZ2171
+006036 772100 ZZ2171=ZZ2171+ZZ2171
+006036 764200 ZZ2171=ZZ2171+ZZ2171
+006036 750400 ZZ2171=ZZ2171+ZZ2171
+006036 721000 ZZ2171=ZZ2171+ZZ2171
+006036 642000 ZZ2171=ZZ2171+ZZ2171
+006036 011577 0 8192 -ZZ1171
+006037 642000 0 ZZ2171
- mark 4005, 344 /94 leon, denebola
+006040 001260 ZZ2172=ZZ2172+ZZ2172
+006040 002540 ZZ2172=ZZ2172+ZZ2172
+006040 005300 ZZ2172=ZZ2172+ZZ2172
+006040 012600 ZZ2172=ZZ2172+ZZ2172
+006040 025400 ZZ2172=ZZ2172+ZZ2172
+006040 053000 ZZ2172=ZZ2172+ZZ2172
+006040 126000 ZZ2172=ZZ2172+ZZ2172
+006040 254000 ZZ2172=ZZ2172+ZZ2172
+006040 010133 0 8192 -ZZ1172
+006041 254000 0 ZZ2172
006042 2q,
- mark 5975, 288 /55 ophi
+006042 001100 ZZ2173=ZZ2173+ZZ2173
+006042 002200 ZZ2173=ZZ2173+ZZ2173
+006042 004400 ZZ2173=ZZ2173+ZZ2173
+006042 011000 ZZ2173=ZZ2173+ZZ2173
+006042 022000 ZZ2173=ZZ2173+ZZ2173
+006042 044000 ZZ2173=ZZ2173+ZZ2173
+006042 110000 ZZ2173=ZZ2173+ZZ2173
+006042 220000 ZZ2173=ZZ2173+ZZ2173
+006042 004251 0 8192 -ZZ1173
+006043 220000 0 ZZ2173
006044 3j


# 2006

Technical specs

display: Monotone

Editor notes (2)

Source:

https://en.wikipedia.org/wiki/Spacewar!

# 2023-06-21 18:51:26
2 players simultaneously. Also implimented on the PDP-11.

(Zerothis) - # 2006

Authors / Staff

author

J. Martin Graetz (concept)
Wayne Wiitanen (concept)

coding

Alan Kotok (Programmer)
Steve Russell (developer)

Contributors (6)

AndreaD
teran01
zerothis
Sanguine
Anamon
Becoro

Post an anonymous comment / review about this game.

FreedomSatisf.SurpriseSocialInnovation
ViolenceBad lang.SexGambl.Subst.

Rate and review

4
LIKE
-
PLAYED
4
FINISHED
3
OWN
PLAYING
1
WANT
A fully restored and functioning PDP-1 plays the June 63 version of Spacewar!
View the full gallery