diff --git a/scans/README.md b/scans/README.md index 5ee0978..1c76fdc 100644 --- a/scans/README.md +++ b/scans/README.md @@ -55,3 +55,10 @@ Details of the files: * as.s: pages 32-48 of 05-1-4.pdf * ed1.s: pages 7-20 of 08-rest.pdf * ed2.s: pages 21-29 of 08-rest.pdf +* space-travel-1.s pages 1-5 of 12-92-119.pdf +* space-travel-2.s pages 6-9 of 12-92-119.pdf +* space-travel-3.s pages 10-13 of 12-92-119.pdf +* space-travel-4.s pages 14-18 of 12-92-119.pdf +* space-travel-5.s pages 19-20 of 12-92-119.pdf +* space-travel-6.s pages 21-25 of 12-92-119.pdf +* space-travel-7.s pages 26-28 of 12-92-119.pdf diff --git a/scans/space-travel-1.s b/scans/space-travel-1.s new file mode 100644 index 0000000..e3cf101 --- /dev/null +++ b/scans/space-travel-1.s @@ -0,0 +1,248 @@ +! space travel 1 + +t = 0 + +start: + law 13 + sys sysloc + dac .pbson + lac pww + dac 1f + dac 2f + lac pw + dac 3f + -32 + dac cplan +4: + fld; 1:0 + fmp; 2:0 + -1 + tad aexp + dac aexp + fng + fad; fpone + fst; 3:0 + lac 1b + tad d3 + dac 1b + dac 2b + lac 3b + tad 3d + dac 3b + isz cplan + jmp 4b + law dspl-1 + dac clistp + dac lanflg + dzm crflg + dzm goflg + dzm .pbsint + dzm forflg + dzm bacflg + dzm dspflg + dzm locflg + dzm locpar + lac d1 + dac par + jms dispname + fld; prsq+4 + sqrt + fst; rpar + fst; y + fst; oy + fld; fpone + fst; sphi + fst; stheta + jms dspsca + fld; fpzero + fst; x + fst; ox + fst; cphi + fst; ctheta + law displist + sys capt + jmp loop + +loop: + law dspl-1 + dac clistp + jms contrl + lac par + jms absxy + jms shipxy + lac goflg + spa + jmp loop3 + fld; fpzero + fst; ax + fst; ay + fst; maxa + lac nplan + skp +loop1: + lac cplan + tad dm1 + spa + jmp loop2 + dac cplan + tad fppar + dac fcplan + lac i fcplan + dac fcplan + jms updacc + jms displa + lac cplan + sza + jms updpln + lac cplan + and o7 + sad o7 + jms contrl + jmp loop1 + +loop2: + lac lanflg + sma + jms updshp +loop3: + fld; horizv + lac scale + cma + tad vscale + tad aexp + dac aexp + jms inscr + jmp loop4 + tad o141577 + dac i clistp + lac o164372 + dac clistp i + cla + jms dsplanet +loop4: + sys time "put delay here..... + dzm dispcl + lac crflg + sma + jmp 1f + lac o20714 "cl + dac dispcl + jmp 2f +1: + lac lanflg + sma + jmp 2f + lac o114 "l + dac dispcl +2: + lac dhalt + dac i clistp + jmp loop " check 2-display question + +contrl: 0 + lac i .pbson + xor .pbsint + and .pbson i + sna + jmp noneon + lmq + spa ral + sys exit + sma + jmp 1f + dzm goflg + dzm crflg +1: + lacq + als 6 + sma ral + jmp 1f + spa + jmp noneon + isz scale + nop + jms dspsca "uprange + jmp noneon +1: + sma + jmp noneon + -1 + tad scale + dac scale + jms dspsca "downrange +noneon: + dzm forflg + dzm bacflg + lac i .pbson + dac .pbsint + als 2 + sma + jmp 1f + lac dhalt + dac forflg + lac goflg + sma + dzm lanflg +1: + lac i .pbson + als 3 + sma + jmp 1f + lac dhalt + dac bacflg + lac goflg + sma + dzm lanflg +1: + lac i .pbson + als 4 + sma + jmp 1f + ral + spa + jmp i contrl + dzm 9f+t + jmp 2f +1: + ral + sma + jmp i contrl + lac dhalt + dac 9f+t +2: + fld; cphi + fmp; sdphi + lac 9f+t + sma + fng + fst; ftmp1 + fld; sphi + fmp; cdphi + fad; ftmp1 + fst; ftmp2 + fld; sphi + fmp; sdphi + lac 9f+t + spa + fng + fst; ftmp1 + fld; cphi + fmp; cdphi + fad; ftmp1 + fst; cphi + fld; ftmp2 + fst; sphi + jmp i contrl + +t = t+1 + +shipxy: 0 + fld; absx + fad; x + fng + fst; shipx + fld; absy + fad; y + fng + fst; shipy + jmp i shipxy diff --git a/scans/space-travel-2.s b/scans/space-travel-2.s new file mode 100644 index 0000000..fa0ae30 --- /dev/null +++ b/scans/space-travel-2.s @@ -0,0 +1,218 @@ + " space travel 2 + +abs: 0 + dzm absx + dzm absx+1 + dzm absx+2 + dzm absy + dzm absy+1 + dzm absy+2 +1: + dac absi + sna + jmp i absv + tad fppar + dac 9f+t + jmp invert + fld; ftmp1 + fng + fad; absx + fst; absx + fld; ftmp2 + fng + fad; absy + fst; absy + jmp invert + fld; ftmp1 + fad; absx + fst; absx + fld; ftmp2 + fad; absy + fst; absy + lac absi + tad ppar + dac 9f+t + lac i 9f+t + jmp 1b + +invert: 0 + lac i 9f+t + dac fcplan + tad pww + dac 1f + dac 2f + lac fcplan + tad px + dac 3f + lac fcplan + tad py + dac 4f + fld; 1:,. + fng + fst; 2:,. + jms updpln + fld; 3:,. + fst; ftmp1 + fld; 4:,. + fst; ftmp2 + jmp i invert + + t = t+1 + +updpln: 0 + lac fcplan + lmq + tad px + dac 1f + dac 5f + lacq + tad py + dac 3f + dac 6f + dac 0f + lacq + tad pw + dac 2f + dac 7f + lacq + tad pww + dac 4f + dac 8f + + fld; 1:,. + fst; ftmp1 + fmp; 2:,. + fst; ftmp2 + fld; 3:,. + fmp; 4:,. + fng + fad; ftmp2 + fst; 5:,. + fld; 6:,. + fmp; 7:,. + fst; ftmp2 + fld; ftmp1 + fmp; 8:,. + fad; ftmp2 + fst; 0:,. + jmp updpln i + +updacc: 0 + lac cplan + sad par + jmp upda2 + jms absxy + fld; absx + fad; shipx + jmp 1f +upda2: + fld; x + fng +1: + fst; absx + fmp; absx + fst; ftmp1 + lac cplan + sad par + jmp 1f + fld; absy + fad; shipy + jmp 2f +1: + fld; y + fng +2: + fst; absy + fmp; absy + fad; ftmp1 + fst; dtmp1 + sqrt + fst; dpar + lac cplan + sad par + skp + jmp upda5 + fld; ox + fng + fad; x + fst; ftmp1 + fmp; y + fst; horizv + fld; y + fng + fad; oy + fst; ftmp2 + fmp; x + fad; horizv + fdv; dpar + fst; horizv + fld; dpar + fcp; rpar + sma + jmp upda5 + lac lanflg + spa + jmp upda5 + fld; ftmp1 + fmp; ftmp1 + fst; ftmp1 + fld; ftmp2 + fmp; ftmp2 + fad; ftmp1 + fcp; crash + spa + jmp 1f + lac dhalt + dac goflg + dac crflg +1: + lac dhalt + dac lanflg + fld; rpar + fdv; dpar + fst; ftmp1 + fmp; x + fst; x + fst; ox + fld; ftmp1 + fmp; y + fst; y + fst; oy + lac par + jms absxy + jms shipxy + jmp upda2 +upda5: + fcp; fardst + spa + jmp 1f + lac cplan + sna + jmp 1f + lac dhalt + dac grvflg + jmp i updacc +1: + dzm grvflg + lac fcplan + tad accl + dac 1f + fld; 1:,. + fdv; dtmp1 + fcp; maxa + spa + jmp 2f + fst; maxa + lac cplan + dac maxj +2: + fdv; dpar + fst; ftmp1 + fmp; absx + fad; ax + fst; ax + fld; ftmp1 + fmp; absy + fad; ay + fst; ay + jmp i updacc diff --git a/scans/space-travel-3.s b/scans/space-travel-3.s new file mode 100644 index 0000000..9b5359c --- /dev/null +++ b/scans/space-travel-3.s @@ -0,0 +1,185 @@ + " space travel 3 + +updshp: 0 + lac forflg + spa + jmp .+4 + lac bacflg + sma + jmp 3f + fld; ascale + lac forflg + sma + jmp 1f + lac bacflg + sma + jmp 1f+1 + fld; fpzero + jmp 2f +1: + fng + lac scale + tad aexp + dac aexp + lac forflg + sma + jmp .+3 +2: + lac accflg + sma + jmp .+3 + fad; maxa + fng + fst; ftmp1 + fmp; ctheta + fad; ax + fst; ax + fld; ftmp1 + fmp; stheta + fad; ay + fst; ay +3: + fld; ox + fng + fad; ax + fst; ftmp1 + fld; x + lac aexp + tad d1 + dac aexp + fad; ftmp1 + fst; ftmp2 + fld; x + fst; ox + fld; ftmp1 + fst; x + fld; oy + fng + fad; ay + fst; ftmp1 + fld; y + lac aexp + tad d1 + dac aexp + fad; ftmp1 + fst; ftmp1 + fld; y + fst; oy + fld; ftmp1 + fst; y + lac par + sad maxj + jmp i updshp + jms absxy + jms shipxy + lac par + jms absv + fld; ox + fng + fad; x + fad; absx + fst; ox + fld; oy + fng + fad; y + fad; absy + fst; oy + lac maxj + dac par + jms absv + fld; ox + fng + fad; absx + fst; ox + fld; oy + fng + fad; absy + fst; oy + lac par + jms absxy + fld; absx + fad; shipx + fng + fst; x + fad; ox + fst; ox + fld; absy + fad; shipy + fng + fst; y +fadins: + fad; oy + fst; oy + lac par + tad fppar + dac 1f + lac i 1f + tad prsq + dac 1f + fld; 1:,. + sqrt + fst; rpar + jms dspsca + lac par + jms dispname + jmp i updshp + +inscr: 0 + fng + fix + tad d383 + spa + jmp i inscr + tad dm768 + sma + jmp i inscr + isz inscr + jmp i inscr + +absxy: 0 + sna + jmp 7f + lmq + lac fldins + dac 2f-1 + dac 4f-1 + lacq +1: + dac absi + sna + jmp i absxy + tad fppar + dac 9f+t + lac i 9f+t +5: + tad px + dac 2f +fldins: + fld; absx + fad; 2:,. + fst; absx + lac i 9f+t +6: + tad py + dac 4f + fld; absy + fad; 4:,. + fst; absy + lac fadins + dac 2b-1 + dac 4b-1 + lac absi + tad ppar + dac 9f+t + lac i 9f+t + jmp 1b +7: + dzm abs + dzm absx+1 + dzm absx+2 + dzm absy + dzm absy+1 + dzm absy+2 + jmp i absxy + + t = t+1 diff --git a/scans/space-travel-4.s b/scans/space-travel-4.s new file mode 100644 index 0000000..552298f --- /dev/null +++ b/scans/space-travel-4.s @@ -0,0 +1,250 @@ + " space travel 4 + +displa: 0 + lac locpar + sad cplan + skp + jmp 2f + lac locflg + sma + jmp 1f + fld; cphi + fmp; absy + fst; ftmp1 + fld; sphi + fmp; absx + fad; ftmp1 + fdv; dpar + fst; stheta + fld; sphi + fmp; absy + fng + fst; ftmp1 + fld; cphi + fmp; absx + fad; ftmp1 + fdv; dpar + fst; ctheta + jmp 2f +1: + fld; sphi + fst; stheta + fld; cphi + fst; ctheta +2: + fld; absx + sfmp; ctheta + fst; ftmp1 + fld; absy + sfmp; stheta + fad; ftmp1 + lac aexp + cma + tad scale + cma + dac aexp + fst; spy + dzm inflg + jms inscr + jmp 1f + tad o145777 + dac clistp i + jms rotx + lac dhalt + dac inflg + jms inscr + jmp 1f + tad o161577 + dac i clistp + lac cplan + jms dsplanet +1: + jms drcirc + jmp i displa + +rotx: 0 + fld; absx + sfmp; stheta + fst; ftmp1 + fld; absy + sfmp; ctheta + fng + fad; ftmp1 + lac aexp + cma + tad scale + cma + dac aexp + fst; spx + jmp i rotx + +surf: 0 + -1 + tad setx + cma + dac tsetx + lac setx + tad o141577 + dac i clistp + -1 + tad sety + cma + dac tsety + lac sety + tad o165777 + dac clistp i + lac narcs + dac nt + fld; wx + fst; twx + fld; wy + fst; twy + fld; v + fng + fst; v +2: + fld; v + sfmp twy + fng + fst; ftmp1 + fld; vv + sfmp; twx + fad; ftmp1 + fst; ftmp2 + fld; v + sfmp; twx + fst; ftmp1 + fld; vv + sfmp twy + fad; ftmp1 + fst; twy + fad; spy + jms inscr + jmp 1f + tad tsety + dac dely + cma + tad d1 + tad tsety + dac tsety + fld; ftmp2 + fst; twx + fad; spx + jms inscr + jmp 1f + tad tsetx + dac dely + cma + tad d1 + tad tsetx + dac tsetx + lac delx + sma + jmp .+3 + cma + tad o41 + alss 6 + dac delx + dac dely + sma + jmp .+3 + cma + tad o41 + tad delx + tad o220000 + dac i clistp + isz nt + jmp 2b + jmp i surf +1: + isz surf + jmp i surf + +drcirc: 0 + lac crvflg + spa + jmp i drcirc + lac fcplan + tad prsq + dac .+2 + fld; .. + sqrt + lac aexp + cma + tad scale + cma + dac aexp + fst; dtmp1 + fcp; thrs + spa + jmp i drcirc + fng + lac dpar + cma + tad scale + cma + dac dpar + fad; dpar + sfdv; dpar + fst; dtmp2 + sfmp; spy + fst; wy + jms inscr + jmp i drcirc + dac sety + lac inflg + sma + jms rotx + fld; dtmp2 + sfmp; spx + fst; wx + jms inscr + jmp i drcirc + dac setx + fld; spy + fng + fad; wx + fst; wy + fld; spx + fng + fad; wx + fst; wx + fld; dtmp1 + sfmp; pid10 + fcp; f400 + spa + jmp 1f + lac d400 + dac narcs + jmp 2f +1: + fix + tad dm20 + spa + cla + tad d20 + dac narcs + flt +2: + fst; dtmp1 + -1 + tad narcs + cma + dac narcs + fld; f2pi + sfdv; dtmp1 + fst; v + sfmp; v + -1 + tad aexp + dac aexp + fng + fad; fpone + fst; vv + lac o40004 + dac i clistp + jms surf + jmp i drcirc + jms surf + jmp i drcirc + jmp i drcirc diff --git a/scans/space-travel-5.s b/scans/space-travel-5.s new file mode 100644 index 0000000..6560ed9 --- /dev/null +++ b/scans/space-travel-5.s @@ -0,0 +1,73 @@ +" space travel 5 + +dsplanet: 0 + tad points + dac 9f+t + lac i 9f+t + dac i clistp + lac o246256 + dac i clistp + lac o253052 + dac i clistp + lac o246036 + dac i clistp + jmp dsplanet i + +dispname: 0 + tad names + dac 9f+t + lac i 9f+t + tad dm1 + dac 8 + iaw namedsp-1 + dac 9 + -10 + dac 9f+t +1: + lac i 8 + sna + jmp 2f + dac 9f+t+1 + lrss 9 + dac i 9 + isz 9f+t + skp + jmp i dispname + lac 9f+t+1 + and o177 + sna + jmp 2f + dac i 9 + isz 9f+t + jmp 1b + jmp i dispname +2: + dzm i 9 + isz 9f+t + jmp 2b + jmp i dispname + +t = t+2 + +dspsca: 0 + lac scale + sma + jmp 1f + lac 055 "- + dac dssca + -1 + tad scale + cma + jmp 2f +1: + lac o53 "+ + dac dssca + lac scale +2: + cll; idiv; 10 + tad o60 + dac dssca+2 + lacq + tad o60 + dac dssca+1 + jmp i dpssca diff --git a/scans/space-travel-6.s b/scans/space-travel-6.s new file mode 100644 index 0000000..9cef517 --- /dev/null +++ b/scans/space-travel-6.s @@ -0,0 +1,290 @@ +"space travel 6 -- tables + +names: .+1 +sun +earth +ariel +callisto +moon +deimos +dione +enceladus +europa +ganymede +hyperion +iapetus +io +jupiter +mars +mercury +mimas +miranda +neptune +nereid +oberon +phobos +phoebe +pluto +rhea +saturn +tethys +titan +triton +umbriel +uranus +venus + +sun: ; ;;;; ;;;;0 +moon: ;;0 +deimos: ;;;0 +dione: ;;;;;;;;;0 +ganymede: ;;;;0 +hyperion: ;;;;0 +iapetus: ;;;;0 +jupiter: ;;;;;0 +mercury: ;;;0 +mimas: ;;;;;;;;;;;0 +oberon: ;;;0 +phobos: ;;;0 +phoebe: ;;;0 +pluto: ;;;;0 +saturn: ;;;0 +tethys: ;;;0 +titan: ;;;;;0 +umbriel: ;
;;;;;0 +venus: ;;