Annotate st (#235)
* Annotate st * Fix consistency * Add missing comments
This commit is contained in:
+93
-93
@@ -4,17 +4,17 @@
|
|||||||
t = 0
|
t = 0
|
||||||
|
|
||||||
start: "[------ stuff for gravity - scan markup]
|
start: "[------ stuff for gravity - scan markup]
|
||||||
law 13
|
law 13 " 13 = pbsflgs
|
||||||
sys sysloc
|
sys sysloc " get pbsflgs location
|
||||||
dac .pbson
|
dac .pbson " store in .pbson
|
||||||
lac pww
|
lac pww
|
||||||
dac 1f
|
dac 1f
|
||||||
dac 2f
|
dac 2f
|
||||||
lac pw
|
lac pw
|
||||||
dac 3f
|
dac 3f
|
||||||
-32
|
-32
|
||||||
dac cplan
|
dac cplan " cplan = -32
|
||||||
4:
|
4: " while (cplan != 0) {
|
||||||
fld; 1:0
|
fld; 1:0
|
||||||
fmp; 2:0
|
fmp; 2:0
|
||||||
-1
|
-1
|
||||||
@@ -22,7 +22,7 @@ start: "[------ stuff for gravity - scan markup]
|
|||||||
dac aexp
|
dac aexp
|
||||||
fng
|
fng
|
||||||
fad; fpone
|
fad; fpone
|
||||||
fst; 3:0
|
fst; 3:0 " pw[i] = - (pww[i] * pww[i]) / 2 + 1
|
||||||
lac 1b
|
lac 1b
|
||||||
tad d3
|
tad d3
|
||||||
dac 1b
|
dac 1b
|
||||||
@@ -30,36 +30,36 @@ start: "[------ stuff for gravity - scan markup]
|
|||||||
lac 3b
|
lac 3b
|
||||||
tad d3
|
tad d3
|
||||||
dac 3b
|
dac 3b
|
||||||
isz cplan
|
isz cplan " cplan++
|
||||||
jmp 4b
|
jmp 4b " }
|
||||||
law dspl-1
|
law dspl-1
|
||||||
dac clistp
|
dac clistp
|
||||||
dac lanflg
|
dac lanflg " lanflg = true
|
||||||
dzm crflg
|
dzm crflg " crflg = false
|
||||||
dzm goflg
|
dzm goflg " goflg = false
|
||||||
dzm .pbsint
|
dzm .pbsint " pbsint = 0
|
||||||
dzm forflg
|
dzm forflg " forflg = false
|
||||||
dzm bacflg
|
dzm bacflg " bacflg = false
|
||||||
dzm dspflg "[line connecting this instruction to... - scan markup]
|
dzm dspflg "[line connecting this instruction to... - scan markup]
|
||||||
dzm locflg
|
dzm locflg " locflg = false
|
||||||
dzm locpar "[... this instruction - scan markup]
|
dzm locpar "[... this instruction - scan markup]
|
||||||
lac d1
|
lac d1
|
||||||
dac par
|
dac par " par = 1
|
||||||
jms dispname
|
jms dispname " dispname()
|
||||||
fld; prsq+4
|
fld; prsq+4
|
||||||
sqrt
|
sqrt
|
||||||
fst; rpar
|
fst; rpar " rpar = sqrt(prsq[par])
|
||||||
fst; y
|
fst; y " y = rpar
|
||||||
fst; oy
|
fst; oy " oy = y
|
||||||
fld; fpone
|
fld; fpone
|
||||||
fst; sphi
|
fst; sphi " sphi = 1
|
||||||
fst; stheta
|
fst; stheta " stehta = sphi
|
||||||
jms dspsca
|
jms dspsca " dspsca()
|
||||||
fld; fpzero
|
fld; fpzero
|
||||||
fst; x
|
fst; x " x = 0
|
||||||
fst; ox
|
fst; ox " ox = x
|
||||||
fst; cphi
|
fst; cphi " cphi = ox
|
||||||
fst; ctheta
|
fst; ctheta " ctheta = cphi
|
||||||
law displist
|
law displist
|
||||||
"** 12-92-119.pdf page 2
|
"** 12-92-119.pdf page 2
|
||||||
sys capt
|
sys capt
|
||||||
@@ -70,43 +70,43 @@ loop:
|
|||||||
dac clistp
|
dac clistp
|
||||||
jms contrl "[arrow from below points to this instruction - scan markup]
|
jms contrl "[arrow from below points to this instruction - scan markup]
|
||||||
lac par
|
lac par
|
||||||
jms absxy
|
jms absxy " absxy(par)
|
||||||
jms shipxy
|
jms shipxy " shipxy()
|
||||||
lac goflg
|
lac goflg
|
||||||
spa
|
spa
|
||||||
jmp loop3 "[long dash after loop3 - scan markup]
|
jmp loop3 "[long dash after loop3 - scan markup] if (!goflg) {
|
||||||
fld; fpzero
|
fld; fpzero
|
||||||
fst; ax
|
fst; ax " ax = 0
|
||||||
fst; ay
|
fst; ay " ay = 0
|
||||||
fst; maxa
|
fst; maxa " maxa = 0
|
||||||
lac nplan
|
lac nplan " AC = nplan
|
||||||
skp
|
skp
|
||||||
loop1:
|
loop1:
|
||||||
lac cplan
|
lac cplan " AC = cplan
|
||||||
tad dm1
|
tad dm1 " AC--
|
||||||
spa
|
spa
|
||||||
jmp loop2
|
jmp loop2 " while (AC >= 0) {
|
||||||
dac cplan
|
dac cplan " cplan = AC
|
||||||
tad fppar
|
tad fppar
|
||||||
dac fcplan
|
dac fcplan
|
||||||
lac i fcplan
|
lac i fcplan
|
||||||
dac fcplan
|
dac fcplan
|
||||||
jms updacc
|
jms updacc " updacc()
|
||||||
jms displa
|
jms displa " displa()
|
||||||
lac cplan
|
lac cplan
|
||||||
sza
|
sza
|
||||||
jms updpln
|
jms updpln " if (cplan) updpln()
|
||||||
lac cplan
|
lac cplan
|
||||||
and o7
|
and o7
|
||||||
sad o7
|
sad o7
|
||||||
jms contrl
|
jms contrl " if (cplan & 7 == 7) contrl()
|
||||||
jmp loop1
|
jmp loop1 " }
|
||||||
|
|
||||||
loop2:
|
loop2:
|
||||||
lac lanflg
|
lac lanflg
|
||||||
sma
|
sma
|
||||||
jms updshp
|
jms updshp " if (!lanflg) updshp()
|
||||||
loop3:
|
loop3: " }
|
||||||
fld; horizv "[a box enclosing all code from loop3 to loop4 - scan markup]
|
fld; horizv "[a box enclosing all code from loop3 to loop4 - scan markup]
|
||||||
lac scale "[arrow drawn from box up to location above - scan markup]
|
lac scale "[arrow drawn from box up to location above - scan markup]
|
||||||
cma
|
cma
|
||||||
@@ -114,128 +114,128 @@ loop3:
|
|||||||
tad aexp
|
tad aexp
|
||||||
dac aexp
|
dac aexp
|
||||||
jms inscr
|
jms inscr
|
||||||
jmp loop4
|
jmp loop4 " if ((AC = inscr(horizv / 2**(vscale-scale-1)))) {
|
||||||
tad o141577
|
tad o141577
|
||||||
dac i clistp "[crossed out with an arrow pointint to "dac dspvel" - scan markup]
|
dac i clistp "[crossed out with an arrow pointint to "dac dspvel" - scan markup]
|
||||||
lac o164372 "[crossed out - scan markup]
|
lac o164372 "[crossed out - scan markup]
|
||||||
dac clistp i "[crossed out - scan markup]
|
dac clistp i "[crossed out - scan markup]
|
||||||
cla "[crossed out - scan markup]
|
cla "[crossed out - scan markup]
|
||||||
jms dsplanet "[crossed out - scan markup]
|
jms dsplanet "[crossed out - scan markup] dsplanet(0)
|
||||||
loop4: "[inside a drawn box - scan markup]
|
loop4: "[inside a drawn box - scan markup] }
|
||||||
sys time "put delay here.....
|
sys time "put delay here.....
|
||||||
"** 12-92-119.pdf page 3
|
"** 12-92-119.pdf page 3
|
||||||
dzm dispcl
|
dzm dispcl " dispcl = ""
|
||||||
lac crflg
|
lac crflg
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (crflg)
|
||||||
lac o20714 "cl
|
lac o20714 "cl
|
||||||
dac dispcl
|
dac dispcl " dispcl = "CL"
|
||||||
jmp 2f
|
jmp 2f
|
||||||
1:
|
1:
|
||||||
lac lanflg
|
lac lanflg
|
||||||
sma
|
sma
|
||||||
jmp 2f
|
jmp 2f " else if (lanflg)
|
||||||
lac o114 "l
|
lac o114 "l
|
||||||
dac dispcl
|
dac dispcl " dispcl = "L"
|
||||||
2:
|
2:
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac i clistp
|
dac i clistp
|
||||||
jmp loop " check 2-display question
|
jmp loop " check 2-display question
|
||||||
|
|
||||||
contrl: 0
|
contrl: 0
|
||||||
lac i .pbson
|
lac i .pbson " load push button flags
|
||||||
xor .pbsint
|
xor .pbsint
|
||||||
and .pbson i
|
and .pbson i " AC = (.pbson ^ .pbsint) & .pbson
|
||||||
sna
|
sna
|
||||||
jmp noneon
|
jmp noneon " if (AC) {
|
||||||
lmq
|
lmq
|
||||||
spa ral
|
spa ral
|
||||||
sys exit
|
sys exit " if (pbson[0]) exit()
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (pbson[1]) {
|
||||||
dzm goflg
|
dzm goflg " goflg = false
|
||||||
dzm crflg
|
dzm crflg " crflg = false
|
||||||
1:
|
1: " }
|
||||||
lacq
|
lacq
|
||||||
als 6
|
als 6
|
||||||
sma ral
|
sma ral
|
||||||
jmp 1f
|
jmp 1f " if (pbson[6]) {
|
||||||
spa
|
spa
|
||||||
jmp noneon
|
jmp noneon " if (!pbson[7]) {
|
||||||
isz scale
|
isz scale " scale++
|
||||||
nop
|
nop
|
||||||
jms dspsca "uprange
|
jms dspsca "uprange
|
||||||
jmp noneon
|
jmp noneon " }
|
||||||
1:
|
1: " }
|
||||||
sma
|
sma
|
||||||
jmp noneon
|
jmp noneon " if (pbson[7]) {
|
||||||
-1
|
-1
|
||||||
tad scale
|
tad scale
|
||||||
dac scale
|
dac scale " scale--
|
||||||
jms dspsca "downrange
|
jms dspsca "downrange
|
||||||
noneon:
|
noneon: " } }
|
||||||
dzm forflg
|
dzm forflg " forflg = false
|
||||||
dzm bacflg
|
dzm bacflg " bacflg = false
|
||||||
lac i .pbson
|
lac i .pbson
|
||||||
dac .pbsint
|
dac .pbsint
|
||||||
als 2
|
als 2
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (pbson[2]) {
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac forflg
|
dac forflg " forflg = true
|
||||||
lac goflg
|
lac goflg
|
||||||
sma
|
sma
|
||||||
"** 12-92-119.pdf page 4
|
"** 12-92-119.pdf page 4
|
||||||
dzm lanflg
|
dzm lanflg " if (!goflg) lanflg = false
|
||||||
1:
|
1: " }
|
||||||
lac i .pbson
|
lac i .pbson
|
||||||
als 3
|
als 3
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (pbson[3]) {
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac bacflg
|
dac bacflg " bacflg = true
|
||||||
lac goflg
|
lac goflg
|
||||||
sma
|
sma
|
||||||
dzm lanflg
|
dzm lanflg " if (!goflg) lanflg = false
|
||||||
1:
|
1: " }
|
||||||
lac i .pbson
|
lac i .pbson
|
||||||
als 4
|
als 4
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (pbson[4]) {
|
||||||
ral
|
ral
|
||||||
spa
|
spa
|
||||||
jmp i contrl
|
jmp i contrl " if (pbson[5]) return
|
||||||
dzm 9f+t
|
dzm 9f+t " 9f+t = false
|
||||||
jmp 2f
|
jmp 2f
|
||||||
1:
|
1: " } else {
|
||||||
ral
|
ral
|
||||||
sma
|
sma
|
||||||
jmp i contrl
|
jmp i contrl " if (!pbson[5]) return
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac 9f+t
|
dac 9f+t " 9f+t = true
|
||||||
2:
|
2: " }
|
||||||
fld; cphi
|
fld; cphi
|
||||||
fmp; sdphi
|
fmp; sdphi
|
||||||
lac 9f+t
|
lac 9f+t
|
||||||
sma
|
sma
|
||||||
fng
|
fng
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = cphi * sdphi * (9f+t ? 1 : -1)
|
||||||
fld; sphi
|
fld; sphi
|
||||||
fmp; cdphi
|
fmp; cdphi
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; ftmp2
|
fst; ftmp2 " ftmp2 = sphi * cdphi + ftmp1
|
||||||
fld; sphi
|
fld; sphi
|
||||||
fmp; sdphi
|
fmp; sdphi
|
||||||
lac 9f+t
|
lac 9f+t
|
||||||
spa
|
spa
|
||||||
fng
|
fng
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = sphi * sdphi * (9f+t ? -1 : 1)
|
||||||
fld; cphi
|
fld; cphi
|
||||||
fmp; cdphi
|
fmp; cdphi
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; cphi
|
fst; cphi " cphi = cphi * cdphi + ftmp1
|
||||||
fld; ftmp2
|
fld; ftmp2
|
||||||
fst; sphi
|
fst; sphi " sphi = ftmp2
|
||||||
jmp i contrl
|
jmp i contrl
|
||||||
|
|
||||||
t = t+1
|
t = t+1
|
||||||
@@ -244,10 +244,10 @@ shipxy: 0
|
|||||||
fld; absx
|
fld; absx
|
||||||
fad; x
|
fad; x
|
||||||
fng
|
fng
|
||||||
fst; shipx
|
fst; shipx " shipx = -(absx + x)
|
||||||
fld; absy
|
fld; absy
|
||||||
fad; y
|
fad; y
|
||||||
"** 12-92-119.pdf page 5
|
"** 12-92-119.pdf page 5
|
||||||
fng
|
fng
|
||||||
fst; shipy
|
fst; shipy " shipy = -(absy + y)
|
||||||
jmp i shipxy
|
jmp i shipxy
|
||||||
|
|||||||
+67
-67
@@ -9,32 +9,32 @@ absv: 0
|
|||||||
dzm absy+1
|
dzm absy+1
|
||||||
dzm absy+2
|
dzm absy+2
|
||||||
1:
|
1:
|
||||||
dac absi
|
dac absi " absi = AC
|
||||||
sna
|
sna
|
||||||
jmp i absv
|
jmp i absv " while (absi) {
|
||||||
tad fppar
|
tad fppar
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
jms invert
|
jms invert " invert(absi) -> ftmp1 = px[absi], ftmp2 = py[absi]
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fng
|
fng
|
||||||
fad; absx
|
fad; absx
|
||||||
fst; absx
|
fst; absx " absx -= ftmp1
|
||||||
fld; ftmp2
|
fld; ftmp2
|
||||||
fng
|
fng
|
||||||
fad; absy
|
fad; absy
|
||||||
fst; absy
|
fst; absy " absy -= ftmp2
|
||||||
jms invert
|
jms invert " invert(absi) -> ftmp1 = px[absi], ftmp2 = py[absi]
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fad; absx
|
fad; absx
|
||||||
fst; absx
|
fst; absx " absx += ftmp1
|
||||||
fld; ftmp2
|
fld; ftmp2
|
||||||
fad; absy
|
fad; absy
|
||||||
fst; absy
|
fst; absy " absy += ftmp2
|
||||||
lac absi
|
lac absi
|
||||||
tad ppar
|
tad ppar
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
lac i 9f+t
|
lac i 9f+t " absi = ppar[absi]
|
||||||
jmp 1b
|
jmp 1b " }
|
||||||
|
|
||||||
invert: 0
|
invert: 0
|
||||||
lac i 9f+t
|
lac i 9f+t
|
||||||
@@ -50,12 +50,12 @@ invert: 0
|
|||||||
dac 4f
|
dac 4f
|
||||||
fld; 1:..
|
fld; 1:..
|
||||||
fng
|
fng
|
||||||
fst; 2:..
|
fst; 2:.. " pww[par] = -pww[par]
|
||||||
jms updpln
|
jms updpln " updpln()
|
||||||
fld; 3:..
|
fld; 3:..
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = px[par]
|
||||||
fld; 4:..
|
fld; 4:..
|
||||||
fst; ftmp2
|
fst; ftmp2 " ftmp2 = py[par]
|
||||||
jmp i invert
|
jmp i invert
|
||||||
|
|
||||||
t = t+1
|
t = t+1
|
||||||
@@ -82,122 +82,122 @@ updpln: 0
|
|||||||
dac 8f
|
dac 8f
|
||||||
|
|
||||||
fld; 1:..
|
fld; 1:..
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = px[fcplan]
|
||||||
fmp; 2:..
|
fmp; 2:..
|
||||||
fst; ftmp2
|
fst; ftmp2 " ftmp2 = ftmp1 * pw[fcplan]
|
||||||
fld; 3:..
|
fld; 3:..
|
||||||
fmp; 4:..
|
fmp; 4:..
|
||||||
fng
|
fng
|
||||||
fad; ftmp2
|
fad; ftmp2
|
||||||
fst; 5:..
|
fst; 5:.. " px[fcplan] = - (py[fcplan] * pww[fcplan]) + ftmp2
|
||||||
fld; 6:..
|
fld; 6:..
|
||||||
fmp; 7:..
|
fmp; 7:..
|
||||||
fst; ftmp2
|
fst; ftmp2 " ftmp2 = py[fcplan] * pw[fcplan]
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fmp; 8:..
|
fmp; 8:..
|
||||||
fad; ftmp2
|
fad; ftmp2
|
||||||
fst; 0:..
|
fst; 0:.. " py[fcplan] = ftmp1 * pww[fcplan] + ftmp2
|
||||||
jmp updpln i
|
jmp updpln i
|
||||||
|
|
||||||
updacc: 0
|
updacc: 0 " update acceleration
|
||||||
lac cplan
|
lac cplan
|
||||||
sad par
|
sad par
|
||||||
jmp upda2
|
jmp upda2 " if (cplan != par) {
|
||||||
jms absxy
|
jms absxy " absxy(cplan)
|
||||||
fld; absx
|
fld; absx
|
||||||
fad; shipx
|
fad; shipx " FAC = absx + shipx
|
||||||
jmp 1f
|
jmp 1f " } else {
|
||||||
upda2:
|
upda2:
|
||||||
fld; x
|
fld; x
|
||||||
fng
|
fng " FAC = -x
|
||||||
1:
|
1: " }
|
||||||
fst; absx
|
fst; absx " absx = FAC
|
||||||
fmp; absx
|
fmp; absx
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = absx * absx
|
||||||
lac cplan
|
lac cplan
|
||||||
sad par
|
sad par
|
||||||
jmp 1f
|
jmp 1f " if (cplan != par)
|
||||||
fld; absy
|
fld; absy
|
||||||
fad; shipy
|
fad; shipy " FAC = absy + shipy
|
||||||
jmp 2f
|
jmp 2f
|
||||||
1:
|
1:
|
||||||
fld; y
|
fld; y
|
||||||
fng
|
fng " else FAC = -y
|
||||||
"** 12-92-119.pdf page 8
|
"** 12-92-119.pdf page 8
|
||||||
2:
|
2:
|
||||||
fst; absy
|
fst; absy
|
||||||
fmp; absy
|
fmp; absy
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; dtmp1
|
fst; dtmp1 " dtmp1 = absy * absy + ftmp1
|
||||||
sqrt
|
sqrt
|
||||||
fst; dpar
|
fst; dpar " dpar = sqrt(dtmp1)
|
||||||
lac cplan
|
lac cplan
|
||||||
sad par
|
sad par
|
||||||
skp
|
skp
|
||||||
jmp upda5
|
jmp upda5 " if (cplan == par) {
|
||||||
fld; ox
|
fld; ox
|
||||||
fng
|
fng
|
||||||
fad; x
|
fad; x
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = -ox + x
|
||||||
fmp; y
|
fmp; y
|
||||||
fst; horizv
|
fst; horizv " horizv = ftmp1 * y
|
||||||
fld; y
|
fld; y
|
||||||
fng
|
fng
|
||||||
fad; oy
|
fad; oy
|
||||||
fst; ftmp2
|
fst; ftmp2 " ftmp2 = -y + oy
|
||||||
fmp; x
|
fmp; x
|
||||||
fad; horizv
|
fad; horizv
|
||||||
fdv; dpar
|
fdv; dpar
|
||||||
fst; horizv
|
fst; horizv " horizv = (ftmp2 * x + horizv) / dpar
|
||||||
fld; dpar
|
fld; dpar
|
||||||
fcp; rpar
|
fcp; rpar
|
||||||
sma
|
sma
|
||||||
jmp upda5
|
jmp upda5 " if (dpar < rpar) {
|
||||||
lac lanflg
|
lac lanflg
|
||||||
spa
|
spa
|
||||||
jmp upda5
|
jmp upda5 " if (!lanflg) {
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fmp; ftmp1
|
fmp; ftmp1
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 *= ftmp1
|
||||||
fld; ftmp2
|
fld; ftmp2
|
||||||
fmp; ftmp2
|
fmp; ftmp2
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fcp; crash
|
fcp; crash
|
||||||
spa
|
spa
|
||||||
jmp 1f
|
jmp 1f " if (ftmp2 * ftmp2 + ftmp1 > crash) {
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac goflg
|
dac goflg " goflg = true
|
||||||
dac crflg
|
dac crflg " crflg = true
|
||||||
1:
|
1: " }
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac lanflg
|
dac lanflg " lanflg = true
|
||||||
fld; rpar
|
fld; rpar
|
||||||
fdv; dpar
|
fdv; dpar
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = rpar / dpar
|
||||||
fmp; x
|
fmp; x
|
||||||
fst; x
|
fst; x " x *= ftmp1
|
||||||
fst; ox
|
fst; ox " ox = x
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fmp; y
|
fmp; y
|
||||||
fst; y
|
fst; y " y *= ftmp1
|
||||||
fst; oy
|
fst; oy " oy = y
|
||||||
lac par
|
lac par
|
||||||
jms absxy
|
jms absxy " absxy(par)
|
||||||
jms shipxy
|
jms shipxy " shipxy()
|
||||||
jmp upda2
|
jmp upda2 " } } }
|
||||||
"** 12-92-119.pdf page 9
|
"** 12-92-119.pdf page 9
|
||||||
upda5:
|
upda5:
|
||||||
fcp; fardst
|
fcp; fardst
|
||||||
spa
|
spa
|
||||||
jmp 1f
|
jmp 1f " if (dpar > fardst) {
|
||||||
lac cplan
|
lac cplan
|
||||||
sna
|
sna
|
||||||
jmp 1f
|
jmp 1f " if (cplan) {
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac grvflg
|
dac grvflg " grvflg = true
|
||||||
jmp i updacc
|
jmp i updacc " return
|
||||||
1:
|
1: " } }
|
||||||
dzm grvflg
|
dzm grvflg " grvflg = false
|
||||||
lac fcplan
|
lac fcplan
|
||||||
tad accl
|
tad accl
|
||||||
dac 1f
|
dac 1f
|
||||||
@@ -205,18 +205,18 @@ upda5:
|
|||||||
fdv; dtmp1
|
fdv; dtmp1
|
||||||
fcp; maxa
|
fcp; maxa
|
||||||
spa
|
spa
|
||||||
jmp 2f
|
jmp 2f " if (accl[fcplan] / dtmp1 > maxa) {
|
||||||
fst; maxa
|
fst; maxa " maxa = accl[fcplan] / dtmp1
|
||||||
lac cplan
|
lac cplan
|
||||||
dac maxj
|
dac maxj " maxj = cplan
|
||||||
2:
|
2: " }
|
||||||
fdv; dpar
|
fdv; dpar
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = (accl[fcplan] / dtmp1) / dpar
|
||||||
fmp; absx
|
fmp; absx
|
||||||
fad; ax
|
fad; ax
|
||||||
fst; ax
|
fst; ax " ax += ftmp1 * absx
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fmp; absy
|
fmp; absy
|
||||||
fad; ay
|
fad; ay
|
||||||
fst; ay
|
fst; ay " ay += ftmp1 * absy
|
||||||
jmp i updacc
|
jmp i updacc
|
||||||
|
|||||||
+59
-59
@@ -7,21 +7,21 @@ updshp: 0
|
|||||||
jmp .+4
|
jmp .+4
|
||||||
lac bacflg
|
lac bacflg
|
||||||
sma
|
sma
|
||||||
jmp 3f
|
jmp 3f " if (forflg || bacflg) {
|
||||||
fld; ascale
|
fld; ascale " FAC = ascale
|
||||||
lac forflg
|
lac forflg
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f
|
||||||
lac bacflg
|
lac bacflg
|
||||||
sma
|
sma
|
||||||
jmp 1f+1
|
jmp 1f+1
|
||||||
fld; fpzero
|
fld; fpzero " if (forflg && bacflg) FAC = 0
|
||||||
jmp 2f
|
jmp 2f
|
||||||
1:
|
1:
|
||||||
fng
|
fng " if (!forflg) FAC = -FAC
|
||||||
lac scale
|
lac scale
|
||||||
tad aexp
|
tad aexp
|
||||||
dac aexp
|
dac aexp " FAC = FAC * 2**scale
|
||||||
lac forflg
|
lac forflg
|
||||||
sma
|
sma
|
||||||
jmp .+3
|
jmp .+3
|
||||||
@@ -29,89 +29,89 @@ updshp: 0
|
|||||||
lac accflg "[arrow pointing here from the text "how to set?" - scan markup]
|
lac accflg "[arrow pointing here from the text "how to set?" - scan markup]
|
||||||
sma
|
sma
|
||||||
jmp .+3
|
jmp .+3
|
||||||
fad; maxa
|
fad; maxa " if (accflg) FAC += maxa
|
||||||
fng
|
fng " FAC = -FAC
|
||||||
fst; ftmp1
|
fst; ftmp1
|
||||||
fmp; ctheta
|
fmp; ctheta
|
||||||
fad; ax
|
fad; ax
|
||||||
fst; ax
|
fst; ax " ax += ftmp1 * ctheta
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fmp; stheta
|
fmp; stheta
|
||||||
fad; ay
|
fad; ay
|
||||||
fst; ay
|
fst; ay " ay += ftmp1 * stheta
|
||||||
3:
|
3: " }
|
||||||
fld; ox
|
fld; ox
|
||||||
fng
|
fng
|
||||||
fad; ax
|
fad; ax
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = -ox + ax
|
||||||
fld; x
|
fld; x
|
||||||
lac aexp
|
lac aexp
|
||||||
tad d1
|
tad d1
|
||||||
dac aexp
|
dac aexp
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 += x*2
|
||||||
fld; x
|
fld; x
|
||||||
fst; ox
|
fst; ox " ox = x
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fst; x
|
fst; x " x = ftmp1
|
||||||
fld; oy
|
fld; oy
|
||||||
fng
|
fng
|
||||||
fad; ay
|
fad; ay
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = -oy + ay
|
||||||
fld; y
|
fld; y
|
||||||
lac aexp
|
lac aexp
|
||||||
tad d1
|
tad d1
|
||||||
"** 12-92-119.pdf page 11
|
"** 12-92-119.pdf page 11
|
||||||
dac aexp
|
dac aexp
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 += y*2
|
||||||
fld; y
|
fld; y
|
||||||
fst; oy
|
fst; oy " oy = y
|
||||||
fld; ftmp1
|
fld; ftmp1
|
||||||
fst; y
|
fst; y " y = ftmp1
|
||||||
lac par
|
lac par
|
||||||
sad maxj
|
sad maxj
|
||||||
jmp i updshp
|
jmp i updshp " if (par == maxj) return
|
||||||
jms absxy
|
jms absxy " absxy(par)
|
||||||
jms shipxy
|
jms shipxy " shipxy()
|
||||||
lac par
|
lac par
|
||||||
jms absv
|
jms absv " absv(par)
|
||||||
fld; ox
|
fld; ox
|
||||||
fng
|
fng
|
||||||
fad; x
|
fad; x
|
||||||
fad; absx
|
fad; absx
|
||||||
fst; ox
|
fst; ox " ox = -ox + x + absx
|
||||||
fld; oy
|
fld; oy
|
||||||
fng
|
fng
|
||||||
fad; y
|
fad; y
|
||||||
fad; absy
|
fad; absy
|
||||||
fst; oy
|
fst; oy " oy = -oy + y + absy
|
||||||
lac maxj
|
lac maxj
|
||||||
dac par
|
dac par " par = maxj
|
||||||
jms absv
|
jms absv " absv(par)
|
||||||
fld; ox
|
fld; ox
|
||||||
fng
|
fng
|
||||||
fad; absx
|
fad; absx
|
||||||
fst; ox
|
fst; ox " ox = -ox + absx
|
||||||
fld; oy
|
fld; oy
|
||||||
fng
|
fng
|
||||||
fad; absy
|
fad; absy
|
||||||
fst; oy
|
fst; oy " oy = -oy + absy
|
||||||
lac par
|
lac par
|
||||||
jms absxy
|
jms absxy " absxy(par)
|
||||||
fld; absx
|
fld; absx
|
||||||
fad; shipx
|
fad; shipx
|
||||||
fng
|
fng
|
||||||
fst; x
|
fst; x " x = -(absx + shipx)
|
||||||
fad; ox
|
fad; ox
|
||||||
fst; ox
|
fst; ox " ox += x
|
||||||
fld; absy
|
fld; absy
|
||||||
fad; shipy
|
fad; shipy
|
||||||
fng
|
fng
|
||||||
fst; y
|
fst; y " y = -(absy + shipy)
|
||||||
fadins:
|
fadins: " fad instruction
|
||||||
fad; oy
|
fad; oy
|
||||||
fst; oy
|
fst; oy " oy += y
|
||||||
lac par
|
lac par
|
||||||
tad fppar
|
tad fppar
|
||||||
dac 1f
|
dac 1f
|
||||||
@@ -120,69 +120,69 @@ fadins:
|
|||||||
dac 1f
|
dac 1f
|
||||||
fld; 1:..
|
fld; 1:..
|
||||||
sqrt
|
sqrt
|
||||||
fst; rpar
|
fst; rpar " rpar = sqrt(prsq[par])
|
||||||
jms dspsca
|
jms dspsca " dspsca()
|
||||||
lac par
|
lac par
|
||||||
"** 12-92-119.pdf page 12
|
"** 12-92-119.pdf page 12
|
||||||
jms dispname
|
jms dispname " dispname(par)
|
||||||
jmp i updshp
|
jmp i updshp
|
||||||
|
|
||||||
inscr: 0
|
inscr: 0 " in screen
|
||||||
fng
|
fng
|
||||||
fix
|
fix " AC = (int) -FAC
|
||||||
tad d383
|
tad d383 " AC += 383
|
||||||
spa
|
spa
|
||||||
jmp i inscr
|
jmp i inscr " if (AC < 0) return
|
||||||
tad dm768
|
tad dm768 " AC -= 768
|
||||||
sma
|
sma " if (AC >= 0) return
|
||||||
jmp i inscr
|
jmp i inscr
|
||||||
isz inscr
|
isz inscr
|
||||||
jmp i inscr
|
jmp i inscr " return AC
|
||||||
|
|
||||||
absxy: 0
|
absxy: 0
|
||||||
sna
|
sna
|
||||||
jmp 7f
|
jmp 7f " if (AC) {
|
||||||
lmq
|
lmq
|
||||||
lac fldins
|
lac fldins
|
||||||
dac 2f-1
|
dac 2f-1 " C(2f-1) = fld
|
||||||
dac 4f-1
|
dac 4f-1 " C(4f-1) = fld
|
||||||
lacq
|
lacq
|
||||||
1:
|
1: " while (true) {
|
||||||
dac absi
|
dac absi " absi = AC
|
||||||
sna
|
sna
|
||||||
jmp i absxy
|
jmp i absxy " if (!absi) return
|
||||||
tad fppar
|
tad fppar
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
lac i 9f+t
|
lac i 9f+t
|
||||||
5:
|
5:
|
||||||
tad px
|
tad px
|
||||||
dac 2f
|
dac 2f
|
||||||
fldins:
|
fldins: " fld instruction
|
||||||
fld; absx
|
fld; absx
|
||||||
fad; 2:..
|
fad; 2:..
|
||||||
fst; absx
|
fst; absx " if (i==0) absx = px[absi]; else absx += px[absi]
|
||||||
lac i 9f+t
|
lac i 9f+t
|
||||||
6:
|
6:
|
||||||
tad py
|
tad py
|
||||||
dac 4f
|
dac 4f
|
||||||
fld; absy
|
fld; absy
|
||||||
fad; 4:..
|
fad; 4:..
|
||||||
fst; absy
|
fst; absy " if (i==0) absy = py[absi]; else absy += py[absi]
|
||||||
lac fadins
|
lac fadins
|
||||||
dac 2b-1
|
dac 2b-1
|
||||||
dac 4b-1
|
dac 4b-1
|
||||||
lac absi
|
lac absi
|
||||||
tad ppar
|
tad ppar
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
lac i 9f+t
|
lac i 9f+t " AC = ppar[absi]
|
||||||
jmp 1b
|
jmp 1b " }
|
||||||
7:
|
7: " } else {
|
||||||
dzm absx
|
dzm absx " absx = 0
|
||||||
dzm absx+1
|
dzm absx+1
|
||||||
dzm absx+2
|
dzm absx+2
|
||||||
dzm absy
|
dzm absy " absy = 0
|
||||||
dzm absy+1
|
dzm absy+1
|
||||||
dzm absy+2
|
dzm absy+2
|
||||||
jmp i absxy
|
jmp i absxy " }
|
||||||
"** 12-92-119.pdf page 13
|
"** 12-92-119.pdf page 13
|
||||||
t = t+1
|
t = t+1
|
||||||
|
|||||||
+75
-75
@@ -5,37 +5,37 @@ displa: 0
|
|||||||
lac locpar
|
lac locpar
|
||||||
sad cplan
|
sad cplan
|
||||||
skp
|
skp
|
||||||
jmp 2f
|
jmp 2f " if (cplan == locpar) {
|
||||||
lac locflg "[arrow points here from the text "how to set?" - scan markup]
|
lac locflg "[arrow points here from the text "how to set?" - scan markup]
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (locflg) {
|
||||||
fld; cphi "[-\ - scan markup]
|
fld; cphi "[-\ - scan markup]
|
||||||
fmp; absy "[ | - scan markup]
|
fmp; absy "[ | - scan markup]
|
||||||
fst; ftmp1 "[ | - scan markup]
|
fst; ftmp1 "[ | - scan markup] ftmp1 = cphi * absy
|
||||||
fld; sphi "[ | - scan markup]
|
fld; sphi "[ | - scan markup]
|
||||||
fmp; absx "[ | - scan markup]
|
fmp; absx "[ | - scan markup]
|
||||||
fad; ftmp1 "[ | - scan markup]
|
fad; ftmp1 "[ | - scan markup]
|
||||||
fdv; dpar "[ | - scan markup]
|
fdv; dpar "[ | - scan markup]
|
||||||
fst; stheta "[ \ lock calculation - scan markup]
|
fst; stheta "[ \ lock calculation - scan markup] stheta = (sphi * absx + ftmp1) / dpar
|
||||||
fld; sphi "[ / - scan markup]
|
fld; sphi "[ / - scan markup]
|
||||||
fmp; absy "[ | - scan markup]
|
fmp; absy "[ | - scan markup]
|
||||||
fng "[ | - scan markup]
|
fng "[ | - scan markup]
|
||||||
fst; ftmp1 "[ | - scan markup]
|
fst; ftmp1 "[ | - scan markup] ftmp1 = - (sphi * absy)
|
||||||
fld; cphi "[ | - scan markup]
|
fld; cphi "[ | - scan markup]
|
||||||
fmp; absx "[ | - scan markup]
|
fmp; absx "[ | - scan markup]
|
||||||
fad; ftmp1 "[ | - scan markup]
|
fad; ftmp1 "[ | - scan markup]
|
||||||
fdv; dpar "[ | - scan markup]
|
fdv; dpar "[ | - scan markup]
|
||||||
fst; ctheta "[ | - scan markup]
|
fst; ctheta "[ | - scan markup] ctheta = (cphi * absx + ftmp1) / dpar
|
||||||
jmp 2f "[-/ - scan markup]
|
jmp 2f "[-/ - scan markup]
|
||||||
1:
|
1: " } else {
|
||||||
fld; sphi
|
fld; sphi
|
||||||
fst; stheta
|
fst; stheta " stheta = sphi
|
||||||
fld; cphi
|
fld; cphi
|
||||||
fst; ctheta
|
fst; ctheta " ctheta = cphi
|
||||||
2:
|
2: " } }
|
||||||
fld; absx
|
fld; absx
|
||||||
sfmp; ctheta
|
sfmp; ctheta
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = absx * ctheta
|
||||||
fld; absy
|
fld; absy
|
||||||
sfmp; stheta
|
sfmp; stheta
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
@@ -44,30 +44,30 @@ displa: 0
|
|||||||
tad scale
|
tad scale
|
||||||
cma
|
cma
|
||||||
dac aexp
|
dac aexp
|
||||||
fst; spy
|
fst; spy " spy = (absy * stheta + ftmp1) / 2**scale
|
||||||
dzm inflg
|
dzm inflg " inflg = false
|
||||||
jms inscr
|
jms inscr
|
||||||
jmp 1f
|
jmp 1f " if ((AC = inscr(spy))) {
|
||||||
tad o145777
|
tad o145777
|
||||||
dac clistp i
|
dac clistp i
|
||||||
jms rotx
|
jms rotx " rotx()
|
||||||
lac dhalt
|
lac dhalt
|
||||||
dac inflg
|
dac inflg " inflg = true
|
||||||
jms inscr
|
jms inscr
|
||||||
jmp 1f
|
jmp 1f " if ((AC = inscr(spx))) {
|
||||||
tad o161577
|
tad o161577
|
||||||
dac i clistp
|
dac i clistp
|
||||||
lac cplan
|
lac cplan
|
||||||
jms dsplanet
|
jms dsplanet " dsplanet(cplan)
|
||||||
1:
|
1: " } }
|
||||||
jms drcirc
|
jms drcirc " drcirc()
|
||||||
"** 12-92-119.pdf page 15
|
"** 12-92-119.pdf page 15
|
||||||
jmp i displa
|
jmp i displa
|
||||||
|
|
||||||
rotx: 0
|
rotx: 0
|
||||||
fld; absx
|
fld; absx
|
||||||
sfmp; stheta
|
sfmp; stheta
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = absx * stheta
|
||||||
fld; absy
|
fld; absy
|
||||||
sfmp; ctheta
|
sfmp; ctheta
|
||||||
fng
|
fng
|
||||||
@@ -77,70 +77,70 @@ rotx: 0
|
|||||||
tad scale
|
tad scale
|
||||||
cma
|
cma
|
||||||
dac aexp
|
dac aexp
|
||||||
fst; spx
|
fst; spx " spx = (-(absy * ctheta) + ftmp1) / 2**scale
|
||||||
jmp i rotx
|
jmp i rotx
|
||||||
|
|
||||||
surf: 0
|
surf: 0
|
||||||
-1
|
-1
|
||||||
tad setx
|
tad setx
|
||||||
cma
|
cma
|
||||||
dac tsetx
|
dac tsetx " tsetx = -setx
|
||||||
lac setx
|
lac setx
|
||||||
tad o141577
|
tad o141577
|
||||||
dac i clistp
|
dac i clistp
|
||||||
-1
|
-1
|
||||||
tad sety
|
tad sety
|
||||||
cma
|
cma
|
||||||
dac tsety
|
dac tsety " tsety = -sety
|
||||||
lac sety
|
lac sety
|
||||||
tad o165777
|
tad o165777
|
||||||
dac clistp i
|
dac clistp i
|
||||||
lac narcs
|
lac narcs
|
||||||
dac nt
|
dac nt " nt = narcs
|
||||||
fld; wx
|
fld; wx
|
||||||
fst; twx
|
fst; twx " twx = wx
|
||||||
fld; wy
|
fld; wy
|
||||||
fst; twy
|
fst; twy " twy = wy
|
||||||
fld; v
|
fld; v
|
||||||
fng
|
fng
|
||||||
fst; v
|
fst; v " v = -v
|
||||||
2:
|
2: " while (nt != 0) {
|
||||||
fld; v
|
fld; v
|
||||||
sfmp; twy
|
sfmp; twy
|
||||||
fng
|
fng
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = -(v * twy)
|
||||||
fld; vv
|
fld; vv
|
||||||
sfmp; twx
|
sfmp; twx
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; ftmp2
|
fst; ftmp2 " ftmp2 = vv * twx + ftmp1
|
||||||
fld; v
|
fld; v
|
||||||
sfmp; twx
|
sfmp; twx
|
||||||
fst; ftmp1
|
fst; ftmp1 " ftmp1 = v * twx
|
||||||
fld; vv
|
fld; vv
|
||||||
sfmp; twy
|
sfmp; twy
|
||||||
fad; ftmp1
|
fad; ftmp1
|
||||||
fst; twy
|
fst; twy " twy = vv * twy + ftmp1
|
||||||
fad; spy
|
fad; spy
|
||||||
jms inscr
|
jms inscr
|
||||||
jmp 1f
|
jmp 1f " if (!(AC = inscr(twy + spy))) return false
|
||||||
"** 12-92-119.pdf page 16
|
"** 12-92-119.pdf page 16
|
||||||
tad tsety
|
tad tsety
|
||||||
dac dely
|
dac dely " dely = AC + tsety
|
||||||
cma
|
cma
|
||||||
tad d1
|
tad d1
|
||||||
tad tsety
|
tad tsety
|
||||||
dac tsety
|
dac tsety " tsety -= dely
|
||||||
fld; ftmp2
|
fld; ftmp2
|
||||||
fst; twx
|
fst; twx " twx = ftmp2
|
||||||
fad; spx
|
fad; spx
|
||||||
jms inscr
|
jms inscr
|
||||||
jmp 1f
|
jmp 1f " if (!(AC = inscr(twx + spx))) return false
|
||||||
tad tsetx
|
tad tsetx
|
||||||
dac delx
|
dac delx " delx = res + tsetx
|
||||||
cma
|
cma
|
||||||
tad d1
|
tad d1
|
||||||
tad tsetx
|
tad tsetx
|
||||||
dac tsetx
|
dac tsetx " tsetx -= delx
|
||||||
lac delx
|
lac delx
|
||||||
sma
|
sma
|
||||||
jmp .+3
|
jmp .+3
|
||||||
@@ -156,17 +156,17 @@ surf: 0
|
|||||||
tad delx
|
tad delx
|
||||||
tad o220000
|
tad o220000
|
||||||
dac i clistp
|
dac i clistp
|
||||||
isz nt
|
isz nt " nt++
|
||||||
jmp 2b
|
jmp 2b " }
|
||||||
jmp i surf
|
jmp i surf " return true
|
||||||
1:
|
1:
|
||||||
isz surf
|
isz surf
|
||||||
jmp i surf
|
jmp i surf
|
||||||
|
|
||||||
drcirc: 0
|
drcirc: 0 " draw circle
|
||||||
lac grvflg
|
lac grvflg
|
||||||
spa
|
spa
|
||||||
jmp i drcirc
|
jmp i drcirc " if (grvflg) return
|
||||||
lac fcplan
|
lac fcplan
|
||||||
tad prsq
|
tad prsq
|
||||||
dac .+2
|
dac .+2
|
||||||
@@ -177,79 +177,79 @@ drcirc: 0
|
|||||||
tad scale
|
tad scale
|
||||||
cma
|
cma
|
||||||
dac aexp
|
dac aexp
|
||||||
fst; dtmp1
|
fst; dtmp1 " dtmp1 = sqrt(prsq[fcplan]) / (2**scale)
|
||||||
fcp; thrs
|
fcp; thrs
|
||||||
spa
|
spa
|
||||||
jmp i drcirc
|
jmp i drcirc " if (dtmp1 < thrs) return
|
||||||
fng
|
fng
|
||||||
lac dpar
|
lac dpar
|
||||||
cma
|
cma
|
||||||
tad scale
|
tad scale
|
||||||
"** 12-92-119.pdf page 17
|
"** 12-92-119.pdf page 17
|
||||||
cma
|
cma
|
||||||
dac dpar
|
dac dpar " dpar /= (2**scale)
|
||||||
fad; dpar
|
fad; dpar
|
||||||
sfdv; dpar
|
sfdv; dpar
|
||||||
fst; dtmp2
|
fst; dtmp2 " dtmp2 = (-dtmp1 + dpar) / dpar
|
||||||
sfmp; spy
|
sfmp; spy
|
||||||
fst; wy
|
fst; wy " wy = dtmp2 * spy
|
||||||
jms inscr
|
jms inscr " if (!(AC = inscr(wy)))
|
||||||
jmp i drcirc
|
jmp i drcirc " return
|
||||||
dac sety
|
dac sety " sety = AC
|
||||||
lac inflg
|
lac inflg
|
||||||
sma
|
sma
|
||||||
jms rotx
|
jms rotx " if (!inflg) rotx()
|
||||||
fld; dtmp2
|
fld; dtmp2
|
||||||
sfmp; spx
|
sfmp; spx
|
||||||
fst; wx
|
fst; wx " wx = dtmp2 * spx
|
||||||
jms inscr
|
jms inscr " if (!(AC = inscr(wx)))
|
||||||
jmp i drcirc
|
jmp i drcirc " return
|
||||||
dac setx
|
dac setx " setx = AC
|
||||||
fld; spy
|
fld; spy
|
||||||
fng
|
fng
|
||||||
fad; wy
|
fad; wy
|
||||||
fst; wy
|
fst; wy " wy -= spy
|
||||||
fld; spx
|
fld; spx
|
||||||
fng
|
fng
|
||||||
fad; wx
|
fad; wx
|
||||||
fst; wx
|
fst; wx " wx -= spx
|
||||||
fld; dtmp1
|
fld; dtmp1
|
||||||
sfmp; pid10
|
sfmp; pid10 " FAC = dtmp1 * pid10
|
||||||
fcp; f400
|
fcp; f400
|
||||||
spa
|
spa
|
||||||
jmp 1f
|
jmp 1f " if (FAC > 400) {
|
||||||
lac d400
|
lac d400
|
||||||
dac narcs
|
dac narcs " narcs = 400
|
||||||
jmp 2f
|
jmp 2f " } else {
|
||||||
1:
|
1:
|
||||||
fix
|
fix " AC = (int) FAC
|
||||||
tad dm20
|
tad dm20
|
||||||
spa
|
spa
|
||||||
cla
|
cla " if (AC - 20 < 0) AC = 0
|
||||||
tad d20
|
tad d20 " AC += 20
|
||||||
dac narcs
|
dac narcs " narcs = AC
|
||||||
flt
|
flt " }
|
||||||
2:
|
2:
|
||||||
fst; dtmp1
|
fst; dtmp1
|
||||||
-1
|
-1
|
||||||
tad narcs
|
tad narcs
|
||||||
cma
|
cma
|
||||||
dac narcs
|
dac narcs " narcs = -narcs
|
||||||
fld; f2pi
|
fld; f2pi
|
||||||
sfdv; dtmp1
|
sfdv; dtmp1
|
||||||
fst; v
|
fst; v " v = f2pi / dtmp1
|
||||||
sfmp; v
|
sfmp; v
|
||||||
-1
|
-1
|
||||||
tad aexp
|
tad aexp
|
||||||
dac aexp
|
dac aexp
|
||||||
fng
|
fng
|
||||||
fad; fpone
|
fad; fpone
|
||||||
fst; vv
|
fst; vv " vv = -(v*v)/2 + 1
|
||||||
lac o40004
|
lac o40004 " intens 0
|
||||||
dac i clistp
|
dac i clistp
|
||||||
"** 12-92-119.pdf page 18
|
"** 12-92-119.pdf page 18
|
||||||
jms surf
|
jms surf
|
||||||
jmp i drcirc
|
jmp i drcirc " if (surf()) return
|
||||||
jms surf
|
jms surf
|
||||||
jmp i drcirc
|
jmp i drcirc " if (surf()) return
|
||||||
jmp i drcirc
|
jmp i drcirc
|
||||||
|
|||||||
+15
-15
@@ -1,11 +1,11 @@
|
|||||||
"** 12-92-119.pdf page 19
|
"** 12-92-119.pdf page 19
|
||||||
" space travel 5
|
" space travel 5
|
||||||
|
|
||||||
dsplanet: 0
|
dsplanet: 0 " display planet center
|
||||||
tad points
|
tad points " add points address to ac (planet index)
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
lac i 9f+t
|
lac i 9f+t
|
||||||
dac i clistp
|
dac i clistp " set planet brightness
|
||||||
lac o246256
|
lac o246256
|
||||||
dac i clistp
|
dac i clistp
|
||||||
lac o253052
|
lac o253052
|
||||||
@@ -14,8 +14,8 @@ dsplanet: 0
|
|||||||
dac i clistp
|
dac i clistp
|
||||||
jmp dsplanet i
|
jmp dsplanet i
|
||||||
|
|
||||||
dispname: 0
|
dispname: 0 " display planet name
|
||||||
tad names
|
tad names " add names address to ac (planet index)
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
lac i 9f+t
|
lac i 9f+t
|
||||||
tad dm1
|
tad dm1
|
||||||
@@ -50,26 +50,26 @@ dispname: 0
|
|||||||
|
|
||||||
t = t+2
|
t = t+2
|
||||||
|
|
||||||
dspsca: 0
|
dspsca: 0 " display scale
|
||||||
lac scale
|
lac scale " AC = scale
|
||||||
sma
|
sma
|
||||||
jmp 1f
|
jmp 1f " if (scale < 0) {
|
||||||
lac o55 "-
|
lac o55 "-
|
||||||
dac dssca
|
dac dssca " dssca[0] = '-'
|
||||||
-1
|
-1
|
||||||
tad scale
|
tad scale
|
||||||
cma
|
cma " AC = -AC
|
||||||
jmp 2f
|
jmp 2f
|
||||||
1:
|
1: " } else {
|
||||||
"** 12-92-119.pdf page 20
|
"** 12-92-119.pdf page 20
|
||||||
lac o53 "+
|
lac o53 "+
|
||||||
dac dssca
|
dac dssca " dssca[0] = '+'
|
||||||
lac scale
|
lac scale
|
||||||
2:
|
2: " }
|
||||||
cll; idiv; 10
|
cll; idiv; 10
|
||||||
tad o60
|
tad o60
|
||||||
dac dssca+2
|
dac dssca+2 " dssca[2] = (AC % 10) + '0'
|
||||||
lacq
|
lacq
|
||||||
tad o60
|
tad o60
|
||||||
dac dssca+1
|
dac dssca+1 " dssca[1] = (AC / 10) + '0'
|
||||||
jmp i dspsca
|
jmp i dspsca
|
||||||
|
|||||||
+6
-6
@@ -69,7 +69,7 @@ umbriel: <um>;<br>;<ie>;<l
|
|||||||
uranus: <ur>;<an>;<us>;0
|
uranus: <ur>;<an>;<us>;0
|
||||||
venus: <ve>;<nu>;<s
|
venus: <ve>;<nu>;<s
|
||||||
|
|
||||||
points: .+1
|
points: .+1 " planet center point brightness
|
||||||
br3
|
br3
|
||||||
br2
|
br2
|
||||||
br0
|
br0
|
||||||
@@ -109,13 +109,13 @@ fppar: .+1
|
|||||||
48;51;54;57;60;63;66;69
|
48;51;54;57;60;63;66;69
|
||||||
72;75;78;81;84;87;90;93
|
72;75;78;81;84;87;90;93
|
||||||
|
|
||||||
ppar: .+1
|
ppar: .+1 " planet orbits (indices)
|
||||||
0;0;036;015;01;016;031;031
|
0;0;036;015;01;016;031;031
|
||||||
015;015;031;031;015;0;0;0
|
015;015;031;031;015;0;0;0
|
||||||
031;036;0;022;036;016;031;0
|
031;036;0;022;036;016;031;0
|
||||||
031;0;031;031;022;036;0;0
|
031;0;031;031;022;036;0;0
|
||||||
|
|
||||||
prsq: .+1
|
prsq: .+1 " planet radius squared relative to earth (radius 1)
|
||||||
016;0272245;075341
|
016;0272245;075341
|
||||||
1;0200000;0
|
1;0200000;0
|
||||||
-07;0244122;0506362
|
-07;0244122;0506362
|
||||||
@@ -150,7 +150,7 @@ prsq: .+1
|
|||||||
05;0206115;0
|
05;0206115;0
|
||||||
0;0362406;0
|
0;0362406;0
|
||||||
|
|
||||||
accl: .+1
|
accl: .+1 " mass of each planet times gravitational constant
|
||||||
0;0204365;0
|
0;0204365;0
|
||||||
-023;0320324;0
|
-023;0320324;0
|
||||||
-036;0227207;0
|
-036;0227207;0
|
||||||
@@ -184,7 +184,7 @@ accl: .+1
|
|||||||
-017;0275653;0
|
-017;0275653;0
|
||||||
-023;0252667;0
|
-023;0252667;0
|
||||||
|
|
||||||
px: .+1
|
px: .+1 " planet x position relative to orbit (unit=earth radius)
|
||||||
"** 12-92-119.pdf page 24
|
"** 12-92-119.pdf page 24
|
||||||
0;000000;0
|
0;000000;0
|
||||||
015;0620356;0
|
015;0620356;0
|
||||||
@@ -219,7 +219,7 @@ px: .+1
|
|||||||
023;0650051;0
|
023;0650051;0
|
||||||
016;0233751;0
|
016;0233751;0
|
||||||
|
|
||||||
py: .+1
|
py: .+1 " planet y position relative to orbit (unit=earth radius)
|
||||||
000;0000000;0
|
000;0000000;0
|
||||||
017;0664054;0
|
017;0664054;0
|
||||||
002;0662035;0
|
002;0662035;0
|
||||||
|
|||||||
+51
-51
@@ -2,81 +2,81 @@
|
|||||||
" space travel 7
|
" space travel 7
|
||||||
|
|
||||||
clistp = 017
|
clistp = 017
|
||||||
br0 = 040004
|
br0 = 040004 " intens 0
|
||||||
br1 = 040005
|
br1 = 040005 " intens 1
|
||||||
br2 = 040006
|
br2 = 040006 " intens 2
|
||||||
br3 = 040007
|
br3 = 040007 " intens 3
|
||||||
|
|
||||||
d10: 10
|
d10: 10
|
||||||
d3: 3
|
d3: 3
|
||||||
o246256: 0246256
|
o246256: 0246256 " incr n=1 dir=1 (NE), n=2 dir=6 (W)
|
||||||
o253052: 0253052
|
o253052: 0253052 " incr n=2 dir=4 (S), n=2 dir=2 (E)
|
||||||
o246036: 0246036
|
o246036: 0246036 " incr n=1 dir=0 (N), n=1 dir=6 (W)
|
||||||
o177: 0177
|
o177: 0177 " 7-bit mask (127)
|
||||||
nplan: 32
|
nplan: 32 " number of planets
|
||||||
d1: 1
|
d1: 1
|
||||||
d20: 20
|
d20: 20
|
||||||
dm1: -1
|
dm1: -1
|
||||||
o141577: 0141577
|
o141577: 0141577 " dsetx 895 (view right)
|
||||||
o161577: 0161577
|
o161577: 0161577 " dsetx (delay) 895 (view right)
|
||||||
o164372: 0164372
|
o164372: 0164372 " dsety (delay) 250 (view bottom)
|
||||||
o114: 0114
|
o114: 0114 " ascii L
|
||||||
o20714: 020714
|
o20714: 020714 " ascii "CL"
|
||||||
d383: 383
|
d383: 383 " 895 (view right) - 512 (scope width / 2)
|
||||||
dm768: -768
|
dm768: -768 " 127 (view left) - 895 (view right)
|
||||||
o145777: 0145777
|
o145777: 0145777 " dsety 1023 (view top)
|
||||||
o165777: 0165777
|
o165777: 0165777 " dsety (delay) 1023 (view top)
|
||||||
o7: 7
|
o7: 7
|
||||||
o60: 060
|
o60: 060
|
||||||
o55: 055
|
o55: 055
|
||||||
o53: 053
|
o53: 053
|
||||||
o41: 041
|
o41: 041
|
||||||
o220000: 0220000
|
o220000: 0220000 " short vec vis
|
||||||
d400: 400
|
d400: 400
|
||||||
dm20: -20
|
dm20: -20
|
||||||
o40004: 040004
|
o40004: 040004
|
||||||
|
|
||||||
fardst: 020;0200000; 0
|
fardst: 020;0200000; 0 " fardst = 32768
|
||||||
f2pi: 03;0311037;552421
|
f2pi: 03;0311037;552421 " 2 * pi, missing octal prefix
|
||||||
pid10: -01;0240662;756647
|
pid10: -01;0240662;756647 " pi / 10, missing octal prefix
|
||||||
thrs: 02;0200000;0
|
thrs: 02;0200000;0 " threshold = 2.0
|
||||||
f400: 011;0310000;0
|
f400: 011;0310000;0
|
||||||
crash: -028;0200000;0
|
crash: -028;0200000;0 " crash ~ 0
|
||||||
stheta: 01;0200000;0
|
stheta: 01;0200000;0
|
||||||
ctheta: 0;0;0
|
ctheta: 0;0;0
|
||||||
fpzero: 0;0;0
|
fpzero: 0;0;0
|
||||||
scale: 0
|
scale: 0
|
||||||
vscale: 6
|
vscale: 6
|
||||||
ascale: -1
|
ascale: -1 " loaded as a float = -1;0777773;0253436 ~ -0.5
|
||||||
sdphi: -05;0253436;0700177
|
sdphi: -05;0253436;0700177 " sin(1.2 deg)
|
||||||
cdphi: 000;0377743;0201725
|
cdphi: 000;0377743;0201725 " cos(1.2 deg)
|
||||||
dhalt: 0400000
|
dhalt: 0400000
|
||||||
fpone: 01;0200000;0
|
fpone: 01;0200000;0
|
||||||
|
|
||||||
9: .=.+t
|
9: .=.+t
|
||||||
horizv: .=.+3
|
horizv: .=.+3 " horizontal velocity
|
||||||
.pbson: .=.+1
|
.pbson: .=.+1
|
||||||
.pbsint: .=.+1
|
.pbsint: .=.+1
|
||||||
dspflg: .=.+1
|
dspflg: .=.+1
|
||||||
par: .=.+1
|
par: .=.+1 " current planet
|
||||||
absi: .=.+1
|
absi: .=.+1
|
||||||
absx: .=.+3
|
absx: .=.+3
|
||||||
"** 12-92-119.pdf page 27
|
"** 12-92-119.pdf page 27
|
||||||
absy: .=.+3
|
absy: .=.+3
|
||||||
v: .=.+3
|
v: .=.+3
|
||||||
vv: .=.+3
|
vv: .=.+3
|
||||||
spx: .=.+3
|
spx: .=.+3 " screen position x
|
||||||
spy: .=.+3
|
spy: .=.+3 " screen position y
|
||||||
wx: .=.+3
|
wx: .=.+3
|
||||||
wy: .=.+3
|
wy: .=.+3
|
||||||
twx: .=.+3
|
twx: .=.+3
|
||||||
twy: .=.+3
|
twy: .=.+3
|
||||||
setx: .=.+1
|
setx: .=.+1
|
||||||
sety: .=.+1
|
sety: .=.+1
|
||||||
narcs: .=.+1
|
narcs: .=.+1 " number of arcs
|
||||||
nt: .=.+1
|
nt: .=.+1
|
||||||
inflg: .=.+1
|
inflg: .=.+1
|
||||||
grvflg: .=.+1
|
grvflg: .=.+1 " gravity flag
|
||||||
dtmp1: .=.+3
|
dtmp1: .=.+3
|
||||||
dtmp2: .=.+3
|
dtmp2: .=.+3
|
||||||
delx: .=.+1
|
delx: .=.+1
|
||||||
@@ -85,26 +85,26 @@ tsetx: .=.+1
|
|||||||
tsety: .=.+1
|
tsety: .=.+1
|
||||||
accflg: .=.+1
|
accflg: .=.+1
|
||||||
locpar: .=.+1
|
locpar: .=.+1
|
||||||
crflg: .=.+1
|
crflg: .=.+1 " crash landing flag
|
||||||
rpar: .=.+3
|
rpar: .=.+3 " planet radius
|
||||||
dpar: .=.+3
|
dpar: .=.+3 " distance to planet
|
||||||
ax: .=.+3
|
ax: .=.+3
|
||||||
ay: .=.+3
|
ay: .=.+3
|
||||||
maxa: .=.+3
|
maxa: .=.+3 " strongest gravity acceleration
|
||||||
maxj: .=.+1
|
maxj: .=.+1 " index of planet with strongest gravity
|
||||||
dcplan: .=.+1
|
dcplan: .=.+1
|
||||||
fcplan: .=.+1
|
fcplan: .=.+1 " floating point count planet (float index)
|
||||||
cplan: .=.+1
|
cplan: .=.+1 " count planet (index)
|
||||||
shipx: .=.+3
|
shipx: .=.+3
|
||||||
shipy: .=.+3
|
shipy: .=.+3
|
||||||
x: .=.+3
|
x: .=.+3 " x position relative to planet
|
||||||
y: .=.+3
|
y: .=.+3 " y position relative to planet
|
||||||
ox: .=.+3
|
ox: .=.+3
|
||||||
oy: .=.+3
|
oy: .=.+3
|
||||||
lanflg: .=.+1
|
lanflg: .=.+1 " landing flag
|
||||||
goflg: .=.+1
|
goflg: .=.+1 " game over flag
|
||||||
forflg: .=.+1
|
forflg: .=.+1 " forward flag
|
||||||
bacflg: .=.+1
|
bacflg: .=.+1 " backward flag
|
||||||
sphi: .=.+3
|
sphi: .=.+3
|
||||||
cphi: .=.+3
|
cphi: .=.+3
|
||||||
ftmp1: .=.+3
|
ftmp1: .=.+3
|
||||||
@@ -116,21 +116,21 @@ dsety = 0164000
|
|||||||
vecx = 0120000
|
vecx = 0120000
|
||||||
vecy = 0124000
|
vecy = 0124000
|
||||||
m = 02000
|
m = 02000
|
||||||
displist:
|
displist: " display list
|
||||||
075057 "scale 1 intens 3 blink on lp 0 sym 0
|
075057 "scale 1 intens 3 blink on lp 0 sym 0
|
||||||
dsetx 800
|
dsetx 800
|
||||||
dsety 20
|
dsety 20
|
||||||
dispcl:
|
dispcl: " display L/CL
|
||||||
0
|
0
|
||||||
060004 "intens 0 blink off
|
060004 "intens 0 blink off
|
||||||
"** 12-92-119.pdf page 28
|
"** 12-92-119.pdf page 28
|
||||||
dsetx 0
|
dsetx 0
|
||||||
dsety 20
|
dsety 20
|
||||||
namedsp:
|
namedsp: " display name
|
||||||
.=.+10
|
.=.+10
|
||||||
dsetx 400
|
dsetx 400
|
||||||
dsety 20
|
dsety 20
|
||||||
dssca:
|
dssca: " display scale
|
||||||
.=.+3
|
.=.+3
|
||||||
040040 "scale 0
|
040040 "scale 0
|
||||||
dsetx 127
|
dsetx 127
|
||||||
@@ -154,5 +154,5 @@ dssca:
|
|||||||
dsetx 127
|
dsetx 127
|
||||||
dsety 639 "[--- - scan markup]
|
dsety 639 "[--- - scan markup]
|
||||||
vecx 767 "[an arrow starts between vecx and dspl, it points to the right - scan markup]
|
vecx 767 "[an arrow starts between vecx and dspl, it points to the right - scan markup]
|
||||||
dspl:
|
dspl: " display planets
|
||||||
0400000
|
0400000
|
||||||
|
|||||||
Reference in New Issue
Block a user