-
Notifications
You must be signed in to change notification settings - Fork 0
/
spacewar.asm
7522 lines (7522 loc) · 228 KB
/
spacewar.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-/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,