4
4
t = 0
5
5
6
6
start: "[------ stuff for gravity - scan markup]
7
- law 13
8
- sys sysloc
9
- dac .pbson
7
+ law 13 " 13 = pbsflgs
8
+ sys sysloc " get pbsflgs location
9
+ dac .pbson " store in .pbson
10
10
lac pww
11
11
dac 1f
12
12
dac 2f
13
13
lac pw
14
14
dac 3f
15
15
-32
16
- dac cplan
17
- 4:
16
+ dac cplan " cplan = -32
17
+ 4: " while (cplan != 0) {
18
18
fld; 1:0
19
19
fmp; 2:0
20
20
-1
21
21
tad aexp
22
22
dac aexp
23
23
fng
24
24
fad; fpone
25
- fst; 3:0
25
+ fst; 3:0 " pw[i] = - (pww[i] * pww[i]) / 2 + 1
26
26
lac 1b
27
27
tad d3
28
28
dac 1b
29
29
dac 2b
30
30
lac 3b
31
31
tad d3
32
32
dac 3b
33
- isz cplan
34
- jmp 4b
33
+ isz cplan " cplan++
34
+ jmp 4b " }
35
35
law dspl-1
36
36
dac clistp
37
- dac lanflg
38
- dzm crflg
39
- dzm goflg
40
- dzm .pbsint
41
- dzm forflg
42
- dzm bacflg
37
+ dac lanflg " lanflg = true
38
+ dzm crflg " crflg = false
39
+ dzm goflg " goflg = false
40
+ dzm .pbsint " pbsint = 0
41
+ dzm forflg " forflg = false
42
+ dzm bacflg " bacflg = false
43
43
dzm dspflg "[line connecting this instruction to... - scan markup]
44
- dzm locflg
44
+ dzm locflg " locflg = false
45
45
dzm locpar "[... this instruction - scan markup]
46
46
lac d1
47
- dac par
48
- jms dispname
47
+ dac par " par = 1
48
+ jms dispname " dispname()
49
49
fld; prsq+4
50
50
sqrt
51
- fst; rpar
52
- fst; y
53
- fst; oy
51
+ fst; rpar " rpar = sqrt(prsq[par])
52
+ fst; y " y = rpar
53
+ fst; oy " oy = y
54
54
fld; fpone
55
- fst; sphi
56
- fst; stheta
57
- jms dspsca
55
+ fst; sphi " sphi = 1
56
+ fst; stheta " stehta = sphi
57
+ jms dspsca " dspsca()
58
58
fld; fpzero
59
- fst; x
60
- fst; ox
61
- fst; cphi
62
- fst; ctheta
59
+ fst; x " x = 0
60
+ fst; ox " ox = x
61
+ fst; cphi " cphi = ox
62
+ fst; ctheta " ctheta = cphi
63
63
law displist
64
64
"** 12-92-119.pdf page 2
65
65
sys capt
@@ -70,172 +70,172 @@ loop:
70
70
dac clistp
71
71
jms contrl "[arrow from below points to this instruction - scan markup]
72
72
lac par
73
- jms absxy
74
- jms shipxy
73
+ jms absxy " absxy(par)
74
+ jms shipxy " shipxy()
75
75
lac goflg
76
76
spa
77
- jmp loop3 "[long dash after loop3 - scan markup]
77
+ jmp loop3 "[long dash after loop3 - scan markup] if (!goflg) {
78
78
fld; fpzero
79
- fst; ax
80
- fst; ay
81
- fst; maxa
82
- lac nplan
79
+ fst; ax " ax = 0
80
+ fst; ay " ay = 0
81
+ fst; maxa " maxa = 0
82
+ lac nplan " AC = nplan
83
83
skp
84
84
loop1:
85
- lac cplan
86
- tad dm1
85
+ lac cplan " AC = cplan
86
+ tad dm1 " AC--
87
87
spa
88
- jmp loop2
89
- dac cplan
88
+ jmp loop2 " while (AC >= 0) {
89
+ dac cplan " cplan = AC
90
90
tad fppar
91
91
dac fcplan
92
92
lac i fcplan
93
93
dac fcplan
94
- jms updacc
95
- jms displa
94
+ jms updacc " updacc()
95
+ jms displa " displa()
96
96
lac cplan
97
97
sza
98
- jms updpln
98
+ jms updpln " if (cplan) updpln()
99
99
lac cplan
100
100
and o7
101
101
sad o7
102
- jms contrl
103
- jmp loop1
102
+ jms contrl " if (cplan & 7 == 7) contrl()
103
+ jmp loop1 " }
104
104
105
105
loop2:
106
106
lac lanflg
107
107
sma
108
- jms updshp
109
- loop3:
108
+ jms updshp " if (!lanflg) updshp()
109
+ loop3: " }
110
110
fld; horizv "[a box enclosing all code from loop3 to loop4 - scan markup]
111
111
lac scale "[arrow drawn from box up to location above - scan markup]
112
112
cma
113
113
tad vscale
114
114
tad aexp
115
115
dac aexp
116
116
jms inscr
117
- jmp loop4
117
+ jmp loop4 " if ((AC = inscr(horizv / 2**(vscale-scale-1)))) {
118
118
tad o141577
119
119
dac i clistp "[crossed out with an arrow pointint to "dac dspvel" - scan markup]
120
120
lac o164372 "[crossed out - scan markup]
121
121
dac clistp i "[crossed out - scan markup]
122
122
cla "[crossed out - scan markup]
123
- jms dsplanet "[crossed out - scan markup]
124
- loop4: "[inside a drawn box - scan markup]
123
+ jms dsplanet "[crossed out - scan markup] dsplanet(0)
124
+ loop4: "[inside a drawn box - scan markup] }
125
125
sys time "put delay here.....
126
126
"** 12-92-119.pdf page 3
127
- dzm dispcl
127
+ dzm dispcl " dispcl = ""
128
128
lac crflg
129
129
sma
130
- jmp 1f
130
+ jmp 1f " if (crflg)
131
131
lac o20714 "cl
132
- dac dispcl
132
+ dac dispcl " dispcl = "CL"
133
133
jmp 2f
134
134
1:
135
135
lac lanflg
136
136
sma
137
- jmp 2f
137
+ jmp 2f " else if (lanflg)
138
138
lac o114 "l
139
- dac dispcl
139
+ dac dispcl " dispcl = "L"
140
140
2:
141
141
lac dhalt
142
142
dac i clistp
143
143
jmp loop " check 2-display question
144
144
145
145
contrl: 0
146
- lac i .pbson
146
+ lac i .pbson " load push button flags
147
147
xor .pbsint
148
- and .pbson i
148
+ and .pbson i " AC = (.pbson ^ .pbsint) & .pbson
149
149
sna
150
- jmp noneon
150
+ jmp noneon " if (AC) {
151
151
lmq
152
152
spa ral
153
- sys exit
153
+ sys exit " if (pbson[0]) exit()
154
154
sma
155
- jmp 1f
156
- dzm goflg
157
- dzm crflg
158
- 1:
155
+ jmp 1f " if (pbson[1]) {
156
+ dzm goflg " goflg = false
157
+ dzm crflg " crflg = false
158
+ 1: " }
159
159
lacq
160
160
als 6
161
161
sma ral
162
- jmp 1f
162
+ jmp 1f " if (pbson[6]) {
163
163
spa
164
- jmp noneon
165
- isz scale
164
+ jmp noneon " if (!pbson[7]) {
165
+ isz scale " scale++
166
166
nop
167
167
jms dspsca "uprange
168
- jmp noneon
169
- 1:
168
+ jmp noneon " }
169
+ 1: " }
170
170
sma
171
- jmp noneon
171
+ jmp noneon " if (pbson[7]) {
172
172
-1
173
173
tad scale
174
- dac scale
174
+ dac scale " scale--
175
175
jms dspsca "downrange
176
- noneon:
177
- dzm forflg
178
- dzm bacflg
176
+ noneon: " } }
177
+ dzm forflg " forflg = false
178
+ dzm bacflg " bacflg = false
179
179
lac i .pbson
180
180
dac .pbsint
181
181
als 2
182
182
sma
183
- jmp 1f
183
+ jmp 1f " if (pbson[2]) {
184
184
lac dhalt
185
- dac forflg
185
+ dac forflg " forflg = true
186
186
lac goflg
187
187
sma
188
188
"** 12-92-119.pdf page 4
189
- dzm lanflg
190
- 1:
189
+ dzm lanflg " if (!goflg) lanflg = false
190
+ 1: " }
191
191
lac i .pbson
192
192
als 3
193
193
sma
194
- jmp 1f
194
+ jmp 1f " if (pbson[3]) {
195
195
lac dhalt
196
- dac bacflg
196
+ dac bacflg " bacflg = true
197
197
lac goflg
198
198
sma
199
- dzm lanflg
200
- 1:
199
+ dzm lanflg " if (!goflg) lanflg = false
200
+ 1: " }
201
201
lac i .pbson
202
202
als 4
203
203
sma
204
- jmp 1f
204
+ jmp 1f " if (pbson[4]) {
205
205
ral
206
206
spa
207
- jmp i contrl
208
- dzm 9f+t
207
+ jmp i contrl " if (pbson[5]) return
208
+ dzm 9f+t " 9f+t = false
209
209
jmp 2f
210
- 1:
210
+ 1: " } else {
211
211
ral
212
212
sma
213
- jmp i contrl
213
+ jmp i contrl " if (!pbson[5]) return
214
214
lac dhalt
215
- dac 9f+t
216
- 2:
215
+ dac 9f+t " 9f+t = true
216
+ 2: " }
217
217
fld; cphi
218
218
fmp; sdphi
219
219
lac 9f+t
220
220
sma
221
221
fng
222
- fst; ftmp1
222
+ fst; ftmp1 " ftmp1 = cphi * sdphi * (9f+t ? 1 : -1)
223
223
fld; sphi
224
224
fmp; cdphi
225
225
fad; ftmp1
226
- fst; ftmp2
226
+ fst; ftmp2 " ftmp2 = sphi * cdphi + ftmp1
227
227
fld; sphi
228
228
fmp; sdphi
229
229
lac 9f+t
230
230
spa
231
231
fng
232
- fst; ftmp1
232
+ fst; ftmp1 " ftmp1 = sphi * sdphi * (9f+t ? -1 : 1)
233
233
fld; cphi
234
234
fmp; cdphi
235
235
fad; ftmp1
236
- fst; cphi
236
+ fst; cphi " cphi = cphi * cdphi + ftmp1
237
237
fld; ftmp2
238
- fst; sphi
238
+ fst; sphi " sphi = ftmp2
239
239
jmp i contrl
240
240
241
241
t = t+1
@@ -244,10 +244,10 @@ shipxy: 0
244
244
fld; absx
245
245
fad; x
246
246
fng
247
- fst; shipx
247
+ fst; shipx " shipx = -(absx + x)
248
248
fld; absy
249
249
fad; y
250
250
"** 12-92-119.pdf page 5
251
251
fng
252
- fst; shipy
252
+ fst; shipy " shipy = -(absy + y)
253
253
jmp i shipxy
0 commit comments