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