daily pastebin goal
52%
SHARE
TWEET

ChartDraw_aqDRAW.BAS

janpj May 16th, 2016 (edited) 72 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. ' ###############################################################
  2. ' # Ref: https://cauldronofartandcraft.wordpress.com/chartdraw/ #
  3. ' ###############################################################
  4. '
  5. ' aqDRAW.BAS --- Tue--Jun 02--2015--20:56--CEST
  6. ' [QBasic]
  7.  
  8. DECLARE SUB SUN (tf$)
  9. DECLARE SUB ArrowASC (i$, i%)
  10. DECLARE SUB ArrowMC (i$, i%)
  11.  
  12. DECLARE SUB ari ()
  13. DECLARE SUB tau ()
  14. DECLARE SUB gem ()
  15. DECLARE SUB can ()
  16. DECLARE SUB leo ()
  17. DECLARE SUB vir ()
  18. DECLARE SUB lib ()
  19. DECLARE SUB sco ()
  20. DECLARE SUB sag ()
  21. DECLARE SUB cap ()
  22. DECLARE SUB aqu ()
  23. DECLARE SUB psc ()
  24.  
  25. DECLARE SUB ME ()
  26. DECLARE SUB VE ()
  27. DECLARE SUB MA ()
  28. DECLARE SUB JU ()
  29. DECLARE SUB SA ()
  30. DECLARE SUB UR ()
  31. DECLARE SUB NE ()
  32. DECLARE SUB PL ()
  33.  
  34. DECLARE SUB LineSpaces (xloc%, L$)
  35.  
  36. '---------------------->
  37. CLEAR : '[,,stackspace?]
  38. '[cls]
  39. '[BEEP]-[?]
  40.  
  41. '[sp$]'[rpt]
  42. sp$ = "DRAW"
  43. '[xloc%]
  44. xloc% = 6
  45.  
  46.  
  47. '' // Use right-left high corner at circle for visuals/hints/alerts/signals etc. --[?}
  48. locate 2, 58: print sp$;
  49. locate 3, 58: print "INIT";
  50.  
  51. '[sw$]
  52. '[sx$]
  53. '[s%]
  54. '[cg$]
  55. '[f$]
  56. '[ws$]
  57. '[r$]
  58. '' '' '-------------
  59. ws$ = "z": '<[TEMP!]--[cf. 'identity.tie]
  60. '' '' '-------------
  61. '' '' [cf. Menu, g$='N', g$='A']
  62. '' '' [ws$ = LEFT$(sw$, 1)]
  63. '' '' '-------------
  64.  
  65. '[v]
  66. v = 0
  67.  
  68. '[r]
  69. '[rr]-[?]
  70. rr = 0
  71. r = 0
  72.  
  73. OPEN "switch.sw0" FOR INPUT AS #1: '' <[.\]
  74.  INPUT #1, sw$: '[Charts (base directory)]
  75.  INPUT #1, sx$: '[Temp charts (Charts directory)]
  76.  INPUT #1, s%
  77. CLOSE #1
  78.  
  79. if s% <= 0 then goto Irregular: '<[mayhap run error/clear] <-(redun?)---[<=, =< ?]---
  80. ' ' [if s% = 1 then goto Irregular:] '<[mayhap run error]' <-(redun? - never print#ed)
  81.  
  82.  
  83. '[PR$]
  84. OPEN sx$ + "SWI.SWI" FOR INPUT AS #1: '' <[.\]
  85. INPUT #1, PR$
  86. CLOSE #1
  87. PR$ = PR$ + "        ": '' // --[Formatting]
  88. '' // ERRCHK PR$ name (if Manual)
  89. '' // + MaxLen PR$
  90.  
  91.  
  92. OPEN sx$ + "IDENTITY.TIE" FOR INPUT AS #2: '' <[.\]
  93. INPUT #2, f$: '' //  <-[ws$="z"] -> f$="":?:<>/redun?:[zx$?] [ry ?]
  94. ':::          '' //  ws$="p" -> f$=sw$<-<
  95. CLOSE #2
  96.  
  97.  
  98. OPEN "choice.sw0" FOR INPUT AS #1: '' // <[.\]
  99. INPUT #1, cg$
  100. CLOSE #1
  101.  
  102. if cg$ = "i" then goto Irregular: '<[mayhap run error]       <-(redun?)
  103. if cg$ = ""  then goto Irregular: '<[mayhap run error/clear] <-(redun?)
  104.  
  105. if cg$ = "z" and s% <> 2 then goto Irregular
  106. if cg$ = "N" and s% <> 3 then goto Irregular
  107.  
  108.  
  109.  
  110. SCREEN 12: '<[auto cls]
  111. '' // PAINT (x%, y%), 7: '[flimmer!][=COLOR= background]?  <--<* ==??==
  112. '' //     ' COLOR x2x: ' <==??==
  113. '' // IS LARGER SIZED WIDTH/Window possble?
  114. WIDTH 80, 60
  115. '' // [L$]
  116. LOCATE , , 0
  117. '' // [cls?] <-(nocurs [,0]) [(,x,x) <-(size?)]
  118.  
  119.  
  120. '' // [print 'Init']-[??]
  121. locate 2, 58: print sp$;
  122. locate 3, 58: print "INIT";
  123. locate 4, 58: print cg$;: locate 4, 61: print mid$(str$(s%),2);:
  124. locate 5, 58: print left$(PR$, 8);
  125.  
  126. '===>
  127. ' MAIN
  128. '===>
  129.  
  130. IF cg$ <> "N" THEN GOTO YY
  131.  
  132. '' // WHAT IS --[?]:
  133. LOCATE 1, 52: PRINT "   xx     a": '' // --[auto-cls ?]
  134. LOCATE 2, 52: PRINT "   xx     a"
  135. LOCATE 3, 52: PRINT "   xx     a"
  136.  
  137. YY:
  138.  '' // --[IntroTxt/Logo ?!]--[cf1282,20166]
  139.  '' // --[Far right Box-area as msg/confirm etc.]--[before&after INIT] --[?]
  140. '--------------
  141. '' // [WHY ?]:
  142. '' // WHAT IS::::if cg$ = "z" THEN L$ = " ": CALL LineSpaces(xloc%, L$): LOCATE xloc%, 3: PRINT sp$;sp$: '<[locate;]
  143.  
  144.  
  145. if cg$ = "N" then LOCATE xloc%, 3: print sp$;: '<[locate;]
  146. '--------------
  147.  
  148. NP% =10:       '' // [number of planets=8, Sun, Moon] [Node=11] <[np%>hp%?] <[cf2465] [=7= classic!] [Cf. Drawing] <-[dialog prompt!? (to be implemented)]
  149. hp% = NP% + 1: '' // [highest 'planet' no. (w/ Node)] <[+Arab?] <-[Cf. FactorData]]
  150. PP% = hp% + 2: '' // [w/ axes (MC&ASC) [Cf. LT%] <[InMainDraw+/PlanetSymbols+]] <-[Cf. FactorData]]
  151. YS% = 2:       '' // [3 Quadrant House Syst] <[incl. dim's 0-elem] <-[Equal Houses drawed by default]
  152.  
  153. DIM w$(1, PP%, PP%): '' // [w$(0,0,m)=transit[laan p$(0,m) <--> asp x,y][PreAspectCalc+]]
  154.    '' // [dim w$(2,x,x)]!!
  155.    '' // [x,0]? +transitlaan g$="t"::[cf40060 oo%=1->w$(1,..)!][div.0-dim!]
  156.  
  157.    '' // DIM RX$(HP%): '[pp%?] <-[TEMPredun!]
  158. DIM H$(1, YS%, 3): '' // [Quadrant houses(har,syst,no.)?!][+ secondary/tertiary/sol/etc.]? <-[Equal Houses default!]
  159.    '' // DIM KH$(3): '<-[redun?!][cf742/2860]
  160.  
  161.    '' // [0=cyc?]['advanced'?]
  162. DIM N$(2, PP%): '' // (har,planet+axes):(+node/arab!)[(x,0)=f%!]
  163. DIM P$(2, PP%): '' // [0:g$='p'][1:radix][2:g$='h'/a$='x'](chorder?[FactorData+])
  164. :               '' // [p$(0,0)<-cf19600,InMainDraw,1632,2200]
  165. DIM m$(1, 5): '' // [cf18620]
  166. DIM s$(12): '' // [s$(0)]?
  167. DIM K$(PP%)
  168.    '' // DIM Z%(12): 'notz%?[cf.z()]?
  169.    '' // DIM Z(1,PP%):'?[cfL20202]*[L15000+?]
  170.  
  171. ' [chorder m$()]>!
  172. s$(1) = "Ari": m$(0, 0) = "'realname'": F0$ = "navn      "
  173. s$(2) = "Tau": m$(0, 1) = "0x.00.00  ": N0$ = "betegnelse"
  174. s$(3) = "Gem": m$(0, 2) = "Sted X    ": REM:^[n1$=ind/mun/hor]
  175. s$(4) = "Can": m$(0, 3) = "0x=00     ": REM:^[radix,...]
  176. s$(5) = "Leo": m$(0, 4) = "0x0-00 X  ": REM<-long
  177. s$(6) = "Vir": m$(0, 5) = "0x0-00 Y  ": REM<-lat
  178. s$(7) = "Lib"
  179. s$(8) = "Sco": 'kh$(0)='x'
  180. s$(9) = "Sag": 'kh$(1)='y'
  181. s$(10) = "Cap": 'kh$(2)='z'
  182. s$(11) = "Aqu": 'kh$(3)='w'
  183. s$(12) = "Psc": '^[=sy%!]*[seDIM L656]
  184.  
  185. K$(hp% + 2) = "A": '' // [chorder]!: '[toggle asc/graph)]?
  186. K$(hp% + 1) = "C"
  187. K$(1) = "S"
  188. K$(2) = "L"
  189. K$(3) = "H"
  190. K$(4) = "V"
  191. K$(5) = "M"
  192. K$(6) = "J"
  193. K$(7) = "D"
  194. K$(8) = "U"
  195. K$(9) = "N"
  196. K$(10) = "P": '--[K$ ): hp%]--
  197. K$(11) = "X"
  198. '' // K$(12) = "Y"
  199. '' // K$(0)? <(obs! free?)
  200.  
  201.  
  202. H$ = "Har": '' // [+" "?]
  203. c$ = "Cyc"
  204.  
  205. u% = 1: '' // [movdwn u% ?][fixvals->L700+!][ex:PI][cf. menu g$='*']
  206.  
  207. PI = 3.1415926535#: '' //  <-[exact-[?] <var# {/d} ?>]
  208.  
  209. '' // # gosub SizeConstants: goto ...
  210. '' // <-[diverse such gosub-blocks for diverse chartdraw sizes & types!]<->[input-dialog above (early in prg)]
  211. '' // [all prg comments mentioning 'Resizing' regards this!] <-[& some 'use vars!']
  212.  
  213. SizeConstants:
  214.  x% = 245: x$ = STR$(x%): x$ = MID$(x$, 2):                      '[X%=235]
  215.  y% = 240: y$ = STR$(y%): y$ = MID$(y$, 2): ' <-''''''''''''''-> '# [y$ redun here? - used L3600.. <-[see 'apel'] <<-<*
  216.  p1% = 180: p1$ = STR$(p1% - 5): p1$ = MID$(p1$, 2)
  217.  p2% = 221: p2$ = STR$(p2%): p2$ = MID$(p2$, 2)
  218.  P3% = 226: P3$ = STR$(P3% + 12): P3$ = MID$(P3$, 2)
  219.  PX% = P3% - p2%: PX$ = STR$(PX%): PX$ = MID$(PX$, 2):           '[px$:cf23400+!] <-<<*
  220.  pa% = 56: pa$ = STR$(pa% - 20): pa$ = MID$(pa$, 2):             '[-14 ?] [pa% = circle 'DawnDusk:']
  221.  Q% = INT(p1% - pa%): Q$ = STR$(Q%): Q$ = MID$(Q$, 2)
  222.  Q% = INT((p2% - p1%) / 2): O$ = STR$(Q% + 5): O$ = MID$(O$, 2): '[Q$ ?]
  223.  w% = 5: WW% = (360 / w%):                                       ' [step (grad. outer doubl-circ)]
  224.  WA% = 30
  225.  WB% = 15
  226.  WC% = 5
  227. '' // Memo: radius=168 <(dom/asp-blanking [,6=brown]) <-(use var!)'''<-<* '##[W%=5:<-[gradsep by conj/stellium]?]## <*
  228. '' // # RETURN
  229.  
  230. tt$ = "i": '  '// [1]:init Menu+] [L53019]:[whynot t$='i'?(cf Boxes+)]
  231. SU$ = "":  '' // --[init/clspart!<-cls introtxt?]:[=chr$(13)?] [cf. EH$:L7000,1646,6060!,20080,20024!]
  232. PO$ = "":  '' // --[Transient Subst for P$(x.x) in 'PrintPos']-['tidy']
  233. '-------
  234. g$ = "h": ' <-[g$--obs!--]
  235. a$ = "p"
  236. '-------
  237.  
  238. b$ = "?": ' [b$:Boxes+,39044,53300+] <<-<
  239. '[i$=""]-[?]
  240. '[z$=""]-[?]
  241. '[zz$=""]-[?]
  242. '[f$=""]-[?]
  243. za$ = ""
  244. zf$ = ""
  245. L$ = ""
  246. qw$ = "": '<<-<*
  247. in$ = ""
  248. u$ = ""
  249. '-------
  250.  
  251.  
  252. '' // [OBS!]
  253. '===========
  254. GOSUB L1630
  255. GOTO dummies
  256. '===========
  257.  
  258.  
  259. L1630:
  260.  K% = 1: '' // <-[toggle n$()/p$()] [ch%=1/hc%=1 redun  h e r ][cf53000+]
  261.  H% = 1
  262.  TA$ = "1"
  263.  mm% = 0: '' // <-[mm%->p$() <-cf g$='t',EH$,mi$]!
  264.  AT$ = "1": '' // <-[ta$ nodv? (at$ a$="x" temp) [^cf2200]]
  265.  cT$ = t$
  266.  cf$ = tf$
  267.  f% = 1: '' // <-[f% redun her?][Derived+]
  268.  
  269. L1640:
  270.  CH% = 1
  271.  HC% = 1
  272.  t$ = "1"
  273.  tf$ = "1": '' // <-[cf6060!]
  274.  SU% = 0
  275.  cc$ = "O"
  276.  MI$ = CHR$(13): '' // <-[init!(&NEW<-redun?)]:[cf. SUorNot+,19864]
  277.  EH$ = "": '' // <-[i]<-[=chr$(13)?][cf:su$:1282]:[cf2224!,20040+] [L7000]
  278. RETURN
  279.  
  280. '----->
  281. dummies: '' // [+ local loop/linecounts]> <-#( list unfinished!/incomplete!)
  282. aa% = 0
  283. BB% = 0
  284. O% = 0:  '[dum multilocal!]
  285. dd% = 1: '[toggle tec data(box)]:[=0?]
  286. a% = 0
  287. i% = 0
  288. L% = 0
  289. il% = 0
  290. b% = 0
  291. z% = 0: '<[obs! z%()^]
  292. u% = 1: '[dummy][map types]['files'](local) [g$="*"]
  293. v% = 1
  294. '------>
  295. 'free':
  296. 'i%: '[Cf. Declare's]
  297. 'ii%
  298. 'l%
  299. 'il%
  300. 'z%
  301. 'm% / m --[?}-[OBS!]
  302. 'L%
  303. '-----> ^[varlist structure unfinished !]][blw!]
  304.  
  305. '[switches]:
  306. '-----
  307. a% = 0: '' // ....
  308. '-----
  309. E = 0: '[sub Asp+][float?]
  310. E% = 0: '<[obs! e % e%]?
  311. ST% = 1: '' // [dummy/loopcounts[g$="x"](local)]
  312. OO% = 0:
  313. OA% = 8: '[aspsymbtoggle/maxorb] [L 42000+]
  314. LY% = 0:
  315. LT% = PP%: '' // [+ + w/ Arab] [lines(scrollmax/screen)]--[t%!?][lx%&lz%?]--[FactorData+,39003,53050+]
  316.  
  317. '' // [e,z,x,d,v] <-(FLOAT?/var%):?: M <-> M% *!!* -> [z-z%-z()] <-[^no!no! z% & z%()^] <- [use dummy z%]? <(if 'z' used)
  318. '' // [FREE?]:[L%: <(cf. il%)]
  319. '' // [v%,d]:x$[L1800+]?[os$<-opsyst?]
  320. '' // [ro%] R%/K1% U1% K2% U2%/q1$ q2$
  321.  '' // [OBS][!]--[POS 80] '|           | ' ##
  322. '--------
  323. '{xx$]
  324. xx$ = ""
  325. '--------
  326.  
  327. '' // ==code==(main)
  328. '' // [i]
  329. '' // sx$ <-[se label:In]
  330. '' // [L2010]-[?]--[OBS!]
  331. '' // [--g$='N' in Menu: loops back hereto]
  332. '' //  sx$ = sp$: IF sp$ <> "\qAMAP.BAS" AND sp$ <> "pure" THEN sx$ = "X":
  333. '' // [CLS?:else?:][1stmenu?] --# wrong!#
  334.  
  335. locate 3, 58: print "        ";
  336. locate 5, 58: print "        ";
  337. locate 2, 58: print sp$;
  338. locate 3, 58: print cg$;: locate 3, 61: print mid$(str$(s%),2);: '' // ---[i]: ---s% [?] ==##
  339. locate 4, 58: print left$(PR$, 8);
  340. '---
  341.  
  342.  
  343.  
  344. '' // (Blw): [f$!?]-[no!]--[cf1632,19600,61050,60030]
  345. '----------------------------------->
  346. L2200: '' // O-B-S----!! ##  (w/ [A]
  347. '----
  348.  '' // [gosub L6000]--[why?]-(Ctrl-F '6000' - no find qAMAP ?!) --[gosub only if cg$ <> 'i']-[?!]
  349.  '' // [Esc?]--(fm2202:g$='N' & [A])
  350. '-----
  351. IF cg$ = "N" THEN GOSUB L6010: IF SU$ = "y" THEN GOTO L2230
  352. if cg$ <> "z" then goto L2210
  353.  
  354. locate (xloc% + 4), 3: print "ASC  / Aries";: '' // INIT - Blw =z  but not INIT -- FIXTHIS
  355. locate (xloc% + 6), 3: print "<CR> / <y>";
  356. locate (30 + PP%), 72: print "[i]";
  357.  
  358. gosub Boxes
  359.  
  360.  '' // [xx$ ?] <-redun 1st round ? [L2210]
  361. L2210: ' [prg:L2210=L2230]
  362.  LOCATE 13, 68: PRINT "[A] <y><CR>"; : '' // [A] --(even more varia!?)
  363. L2222: EH$ = INKEY$: IF EH$ <> CHR$(13) AND EH$ <> "y" THEN GOTO L2222
  364.  IF EH$ = "y" THEN EH$ = "A" ELSE EH$ = " ": '[cf1646]
  365.  LOCATE (34 + PP%), 72: PRINT "[" + EH$ + "]"; : '' // --cfMenuInternAndExternGoto] [L7000]
  366.  
  367. ' ' ###
  368. L2230:
  369.  '' // [LOCATE ,,0 =?= (L2112)]
  370.  xx$ = "[disk]   ": GOSUB WAITx
  371.  GOSUB Boxes
  372.  if cg$ = "z" then locate xloc%, 3: print "           ";: '' // [??} ##
  373.  '' // INIT - Blw =z  but not INIT -- FIXTHIS----##
  374. ' ' ###
  375.  
  376. '[jump]
  377. GOTO in: '-->
  378. '[subs-->]
  379.  
  380.  
  381. '' // [if g$='N' in Menu]----
  382. L7000: '//
  383.  LOCATE (32 + PP%), 74: PRINT "N";
  384.  LOCATE (34 + PP%), 74: PRINT EH$;
  385.  :
  386.  IF EH$ = "A" THEN LOCATE 9, 65: PRINT "A!"; : '<-['warning' for the next map!][BEEP?]
  387.  :
  388.  xx$ = "[NEW]    ": GOSUB WAITx: ::::::
  389. RETURN
  390. '-----
  391.  
  392.  
  393. '---
  394. L6010:
  395.  il% = 1
  396.  GOSUB L6020
  397.  GOTO L6050: '' // -[cf20032]---[Whatis]-[?]
  398. :
  399. L6020:
  400.  FOR L% = 5 TO 15 STEP 5
  401.  CIRCLE (x%, y%), L%, il%: '--[cf20032]
  402.  NEXT L%
  403. RETURN
  404. '---
  405.  
  406. L6050: :::stop:::'' // [Whatis]-[?]
  407. ' <-[obs!:g$='h'->subx10!]
  408.  '' OPEN f$ + "SWI.SWI" FOR INPUT AS #1: ' <-[cf2200+][+Blw!] <--[f$='identity.tie']---
  409.  '' INPUT #1, sw$
  410.  '' +++
  411.  '' CLOSE #1
  412.  '' ws$ = LEFT$(sw$, 1)
  413.  '' IF ws$ = "p" AND sp$ = "pure" THEN ws$ = "z"
  414.  :
  415.  :
  416.  IF SU$ = CHR$(13) THEN GOSUB L1640: ' [h%=1][t$:20054][tt$:Menu+] <-[cf53025+!]
  417.  : : : : : : ' [gosub 53300?<-cf53025] <<-<*
  418. RETURN: ' [->2200]
  419. '---
  420.  
  421. L6500: IF SU% = 3 THEN GOTO L6540: ' <ret
  422.  IF SU% = 1 THEN L% = 0: LOCATE 2, 57: PRINT cc$; : REM:<-[simplify!]*
  423.  IF SU% = 2 THEN L% = 21: LOCATE 24, 57: PRINT cc$;
  424.  LOCATE L% + 2, (67 - LEN(f1$)): PRINT f1$;
  425.  LOCATE L% + 3, (67 - LEN(N1$)): PRINT N1$;
  426.  IF SU% = 2 THEN L% = L% - 6
  427.  LOCATE L% + 5, (66 - LEN(cT$)): PRINT cT$;
  428.  LOCATE L% + 6, (66 - LEN(tf$)): PRINT cf$;
  429. L6540:
  430. RETURN:  ' [->20081]
  431. '-----
  432.  
  433. '[<--subs]
  434. '[<--jump to in]
  435.  
  436.  
  437. '##in##=>
  438. '[Label]
  439. in:
  440. OPEN f$ + "pdat.dat" FOR INPUT AS #1: '[ws$='z' ?]
  441.  INPUT #1, m$(1, 0)
  442.  INPUT #1, f1$
  443.  INPUT #1, N1$
  444.  INPUT #1, m$(1, 2)
  445.  IF ws$ = "p" OR ws$ = "z" THEN GOTO L2330: '[chorderin'atie.bas'! [<>'a' ?]]
  446. L2310:
  447.  INPUT #1, m$(1, 1)
  448.  INPUT #1, m$(1, 3)
  449.  IF ws$ = "p" OR ws$ = "z" THEN GOTO L2340
  450. L2330:
  451.  INPUT #1, TZ$: '[zone]
  452.  INPUT #1, ds$: '[dt]
  453.  IF ws$ = "p" OR ws$ = "z" THEN GOTO L2310
  454. L2340:
  455.  INPUT #1, m$(1, 4): '[long!]
  456.  INPUT #1, m$(1, 5): '[lat]
  457.  IF ws$ = "a" THEN INPUT #1, z$: '[height]['a' <-obs!]
  458.  :
  459.  FOR m% = 1 TO hp%: '--[m/m% ?]
  460.   INPUT #1, P$(1, m%)
  461.   '' // IF ws$ = "a" THEN INPUT #1, N$(1, m%): '[=i$+right$(z$,3)+s$ (InTrunc+)]['a' <-obs!] '' '' ''
  462.   '' // IF ws$ = "p" OR ws$ = "z" THEN z$ = P$(1, m%): GOSUB TruncateRounding: N$(1, m%) = z$ '' '' ''
  463.   '' // --(Value check P$() is/was done in TIE! [= 0 etc.])-[?]. (Formatting is repeated here, or use WRITE# in TIE instead of PRINT#)
  464.   z$ = P$(1, m%)
  465.   v= val(z$)
  466.   if int(v) < 100 then z$ = " " + z$: '' // ['0']-[?]
  467.   if int(v) < 10  then z$ = " " + z$
  468.   P$(1, m%) = z$ + "   ": '' // [FORMATTING]--[Why +3 spc ? (--Debug !?)]--[Cf. 'SubHarmonic:'] --[Temp!?][no delay/sub53300  [<+> <=>!]
  469.   GOSUB TruncateRounding: '--[z$]
  470.   N$(1, m%) = z$
  471.    '' // [<>'a']:?:[TruncateRounding<->'Trunc'/'Rounding'!]
  472.    '' // INPUT#1,Z$: '[ecl lat(L2000+)]
  473.  NEXT m%
  474.   '' // [ecl lat pluto?]--[?]
  475. CLOSE #1
  476. '---
  477.  
  478.  
  479. '' // [What if other than ZET9]-[?]:
  480. OPEN f$ + "ANGDAT.DAT" FOR INPUT AS #3
  481.   '' // FOR l%=10 TO HP%:[pluto+node+ParsFort]
  482.   '' // (cyc,syst,husnr)[cyc=0=radix]:[=0?]
  483.  SY% = 1: '' // sy%=hussyst (var<-amicras?)[0=Equa][1=Plac][2=Koch]
  484.  FOR m = 1 TO 2: '--[m% ?]
  485.   z$ = "": '' // --[redun]-[?]
  486.   INPUT #3, z$
  487.   P$(1, hp% + m) = z$
  488.   GOSUB TruncateRounding
  489.   N$(1, hp% + m) = z$
  490.   P$(1, hp% + m) = P$(1, hp% + m) + "   ":  '' // [FORMATTING]--[Why +3 spc ?]--[Cf. 'SubHarmonic:'] --[Temp!?][no delay/sub53300  [<+> <=>!]
  491.  NEXT m
  492. CLOSE #3
  493.  
  494. '-##^##----
  495. a% = 0
  496. GOTO CHART
  497. '[a%]-[!]
  498. '-##^##----
  499.  
  500. '' // =-------------------------------------=
  501. '' // L9000:  ' errchk [<-MEMO-OLD: reserved]
  502. '' // =-------------------------------------=
  503.  
  504. '' // [m/m%]-[?]-->
  505.  
  506. PreAspectCalc:
  507. '' // [cfL620-22]
  508.  FOR m = 1 TO PP%
  509.   w$(0, 0, m) = P$(CH%, m): '' // [Temp Borrow! =NOT= w$! <-> [Change this]-[!!]-[?] ## [ch%=?] ##
  510.  NEXT m: '' // [cf662]
  511. RETURN
  512.  
  513. AspectCalc:
  514.  FOR m = 1 TO hp%
  515.  K1% = VAL(LEFT$(w$(0, 0, m), 3))
  516.  U1% = VAL(RIGHT$(w$(0, 0, m), 2))
  517.  FOR y = 1 TO hp%
  518.  :
  519.  K2% = VAL(LEFT$(P$(CH%, y), 3)): '' // <[h%>12 --[?]
  520.  U2% = VAL(RIGHT$(P$(CH%, y), 2))
  521.  :
  522.  IF U2% > U1% THEN K1% = K1% - 1: U1% = U1% + 60
  523.  IF K2% > K1% THEN K1% = K1% + 360
  524.  i% = K1% - K2%
  525.  IF i% > 180 THEN r% = ABS(60 - r%): i% = ABS(360 - (i% + 1))
  526.    '' // I% = ABS(I%-360) <<-?
  527.    '' // (c% obs!)* (*i%) <<-?
  528.  Q1$ = STR$(i%)
  529.  Q1$ = MID$(Q1$, 2)
  530.  IF i% < 100 THEN Q1$ = "0" + Q1$
  531.  IF i% < 10 THEN Q1$ = "0" + Q1$
  532.  Q2$ = STR$(r%)
  533.  Q2$ = MID$(Q2$, 2)
  534.  IF r% < 10 THEN Q2$ = "0" + Q2$
  535.  w$(HC%, m, y) = Q1$ + "-" + Q2$
  536.  NEXT y
  537.  NEXT m
  538. RETURN
  539.  
  540.  
  541. '[Label]
  542. HARMONIC:
  543. '' // [g$="h"]
  544. GOSUB Waitx: '' // [xx$]-[?]-[rpt]
  545. GOSUB Boxes
  546.  cT$ = t$
  547.  cf$ = tf$: '' // [tf$ here]-[?] [cf19311]
  548.  LOCATE 9, 68: PRINT H$; "-> <ESC>";
  549.  locate 11, 68: GOSUB TypeChoice
  550.  if u$ = CHR$(27) then gosub WAITx: goto Menu: '' // [WAITX Redun or elsewhere]-[?]
  551.  t$ = u$: IF VAL(u$) < 1 OR VAL(u$) > 300 THEN GOTO HARMONIC: '' // --[ErrChk!]
  552.  GOSUB SUorNot
  553.  if SU$ = CHR$(27) then gosub WAITx: goto HARMONIC: '' // [WAITX Redun or elsewhere]-[?]
  554.  if MI$ = CHR$(27) then gosub WAITx: goto HARMONIC: '' // [WAITX Redun or elsewhere]-[?]
  555.  :
  556.  H% = VAL(t$)
  557.  HC% = 1: '' // [movL19140-42->19100+?]? --[hc%:cf18884/w$()]
  558.  '' // ErrChk? [Blank/BlankMain+=subfm2150+,2190,WAITx,39270,46030]--
  559.  xx$ = "[CalcHar]": GOSUB WAITx: '' // [rpt]
  560.  GOSUB Boxes
  561.  IF H% = 1 THEN CH% = 1: GOTO CHART: '' // [cf. whatL16000 ?] [fm19160!] <-[mangler 'RETURN' ??]
  562.  CH% = 2: GOSUB SubHarmonic: GOTO CHART: '' // v%=1 ?: ch%=0 ?[dim]
  563. '[Goto Chart ##]
  564. '' // [errchk:ifleft$='0'thenerr?]
  565.  
  566. '[Label]
  567. SubHarmonic:
  568.  '' // [Cf. 'in']--[m/m% ?]
  569.  '' // [ Harmonics > 1 ]--(i.e. not Radix) - ['Negative' harmonics (< 1) is not considered here]
  570.  FOR m% = 1 TO PP%
  571.   rr = val(p$(1, m%))
  572.   '' // :: [WHAT IF pos=00.]-[?]-[!]
  573.   :: if rr = 0 then rr = rr + 360: '' // --[Correct or Redun]-[?]-##
  574.   rr = rr * H%
  575.   Loopx: if rr >= 360 then rr = (rr - 360)
  576.   if rr >= 360 then goto Loopx
  577.   z$ = STR$(rr): z$ = MID$(z$, 2): : '' // <--[cf. 'TIE' & DRAW:'in']
  578.   IF INT(rr) < 100 THEN z$ = " " + z$: '' // ["0" + z$]-[?]
  579.   IF INT(rr) < 10 THEN z$ = " " + z$
  580.   P$(CH%, m%) = z$ + "   ": '' // [FORMATTING]--[Why +3 spc ? (--Debug !?)] --[Cf. 'in:'] --[Cf. 'SubHarmonic:'] --[Temp!?][no delay/sub53300  [<+> <=>!]
  581.   GOSUB TruncateRounding: '#(z$ only!)#
  582.   N$(CH%, m%) = z$
  583.    '' // [<>'a']:?:[TruncateRounding<->'Trunc'/'Rounding'!]
  584.    '' // INPUT#1,Z$: '[ecl lat(L2000+)]
  585.  NEXT m%
  586. RETURN
  587.  
  588.  
  589. '[Label]
  590. DERIVED:
  591.  '' // derived houses <-g$='t' /// <-[other deriv/cycles/sub\divisions ?] ['Indian'?] [h%>1]?
  592.  '' // [ERR in box: har > 1  <-cyc no.] <-[M]-[?]
  593.  '' // n$(0,0),n$(1,0) <-both free*!? [and p$()]::^^^(t$)^
  594.  '' // n$(h%,f%)=f%-asc [if ft$=1 then f%=1 else f%=0]  [ft$ ??]
  595.  GOSUB L19600: '' // (--EH$!--) ! --[cf20212,InMainDraw]
  596. InDer:
  597.  '' // --[+subWAITx ?]
  598.  GOSUB Boxes:
  599.  cf$ = tf$: cT$ = t$:  '' // --(movup pre InDer?) '<[t$ h e r ?] [cf19030]
  600.  LOCATE 9, 68: PRINT "{Cyc}"; :  '  ' // <[c$ ?] [8,68 ?] ['..']-[?]
  601.  LOCATE 11, 68: print "> ";: GOSUB TypeChoice: '' // --[DIV. 'strange' ERRCHK !!]
  602.  tf$ = u$: IF VAL(u$) < 1 OR VAL(u$) > 12 THEN GOTO InDer
  603.  GOSUB SUorNot: '' // --[S][mi$]
  604.  f% = VAL(tf$)
  605.  xx$ = "[CalcCyc]": GOSUB WAITx: '' // [xx$ =.. +tf$]?
  606.  '' // ##' ' GOSUB BlankMain: '' // Goto ??   [or Sub 'Blank' ?] --[clsparts] --[immy after inputCR]-[!]
  607.  xx$ = "CYC      ": GOSUB Boxes
  608.  FF% = (f% - 1) * 30:                           '' // [cf. other prg inputs]
  609.  FF% = VAL(P$(mm%, hp% + 2)) + FF%: IF FF% > 360 THEN FF% = FF% - 360: '' // # [t$='0' ?!]
  610.  FP$ = STR$(FF%): FP$ = MID$(FP$, 2)
  611.  P$(mm%, hp% + 2) = FP$: '' // [obs!]
  612.  IF SU$ = "y" THEN GOSUB Coordinates
  613. GOTO CHART: '' // [19260 ?]
  614. '' // --[RETURN/Meta-goto]-[?]
  615.  
  616.  
  617. '[Label]
  618. L19600:
  619.  '' // EH$:[East=0Aries]  [and/or g$='t' (mi$?)] <-[cf1632,2200]
  620.  IF t$ = "1" THEN mm% = 1: '' // --[cfInMainDraw+]
  621.  IF t$ > "1" THEN mm% = CH%
  622.  : : P$(0, 0) = P$(mm%, hp% + 2): '' // [-- InMainDraw+]--[harm:h% gets > ch% !]
  623.  IF EH$ = "A" THEN P$(mm%, hp% + 2) = "000.00": '' // --[EH$:cf20040+,InMainDraw,1632,2200]
  624. RETURN
  625.  
  626.  
  627. '[Label]
  628. SUorNot:
  629.  MI$ = CHR$(13)
  630.  LOCATE 13, 68, 1: PRINT "[S] <y><CR>"; : '' // [,1?]
  631. L19812: SU$ = INKEY$: IF SU$ <> "y" AND SU$ <> CHR$(13) and SU$ <> CHR$(27) THEN GOTO L19812
  632.  IF SU$ = "y" THEN GOSUB InSuorNot: '' // [cf20080+]
  633.  '' // if SU$ = CHR$(27) then gosub WAITx: gosub TypeChoice: '' // [WAITX Redun or elsewhere]-[?]
  634. RETURN: '' // [mi$:<>NEW:cf1640+]
  635. '' // EDIT--[Diff Colored planet glyphs if SU !!]
  636. :
  637. InSuorNot:
  638.  : : LOCATE 13, 68, 1: PRINT "[M] <y><CR>"; : '' // [,1?]
  639. L19862: MI$ = INKEY$: IF MI$ <> "y" AND MI$ <> CHR$(13) and MI$ <> CHR$(27) THEN GOTO L19862
  640.  IF MI$ <> "y" THEN GOTO RETInSuorNot
  641.  '' // if in$ = CHR$(27) then gosub WAITx: goto Menu: '' // [WAITX Redun or elsewhere]-[?]
  642.  : GOSUB TempCirc: CIRCLE (x%, y%), 120: CIRCLE (x%, y%), pa%, 0: '' // [rad?][x10!]
  643.  : CIRCLE (x%, y%), 108: CIRCLE (x%, y%), pa% - 20
  644.  '' // [??: if sp$ <> "\qAMAP.BAS" then goto L2210: '[pure!]<<-< [watchRET!]
  645. RETInSuorNot:
  646. RETURN
  647.  
  648.  
  649. '#======#
  650. '[Label]
  651. CHART:
  652. '#======#
  653.  ln% = 0: '<[toggle Asp Lines]
  654.  ::: '' // GOSUB Boxes
  655.  ::: '' // IF SU$="y" THEN goto L20050: ' [EH$ ?]<-[cf19620][mi$=]:::
  656.  m% = 0
  657.  '' // if g$ = "t" or g$ = "h" then m% = 1: '' // [REDUN]-[?]
  658.  LOCATE m% + 9, 68: PRINT "Har-> "; t$;
  659.  LOCATE m% + 10, 68: PRINT "Cyc-> "; tf$; : ' [f%?]
  660.  LOCATE m% + 12, 68: PRINT "Draw: <ESC>";
  661.  LOCATE m% + 13, 68: PRINT "<1> <2> <3>";
  662.  :
  663.  locate (31 + PP%),72:
  664.  IF tt$ = "i" THEN PRINT "[i]"; : GOTO L20020: ' [cfL1636]
  665.  IF MI$ = "y" THEN PRINT "[M]"; : GOTO L20020
  666.  IF SU$ = "y" THEN PRINT "[S]";
  667.  IF SU$ <> "y" THEN PRINT "[ ]"; : '' // [=chr$(13)?]--[cf1282]
  668.  '' // [variations]-[!?]
  669.  
  670. L20020:
  671. if tt$ <> "i" then goto L20030
  672. xx$ = "": gosub STATUSx: '' // --Firstrun only -[?] -- [xx%="" -[?]
  673. locate (xloc% + 4), 3: print "Choose Chart variant";
  674. locate (xloc% + 6), 3: print "<1> <2> <3>";
  675. locate (32 + PP%), 72: print "[i]";: '' // --REDUN-[?]-[Cf. above]
  676.  
  677. L20030:
  678.  KK$ = INKEY$: '' // input$()? [blw!:in$=""/i%:cf2170+]
  679.  ::: if kk$ = CHR$(27) then gosub WAITx: goto Menu: '' // DEBUGTEMP =#-#-#=
  680.  '' // IF KK$ = CHR$(27) AND tt$ = "i" THEN in$ = "": i% = 0: GOTO L2130: ' [?][i%?]
  681.  '' // IF KK$ = CHR$(27) THEN il% = 0: GOSUB L6020: GOTO Menu: ' ^[in$:cf3550,3732]
  682.  '' // [cf6000!] <-[su$=,EH$=??]
  683.  IF KK$ <> "1" AND KK$ <> "2" AND KK$ <> "3" THEN GOTO L20030
  684.  
  685. '' // [OBS! xx$]--
  686. xx$ = "[" + KK$  + "]": GOSUB WAITx: '' // --[rpt in ChartDraw]-[!?]
  687.  
  688. '---
  689. '' // ## vague:UNFINISHED--[!]
  690. '' // if tt$ <> "i" then GOSUB Boxes: '' //--[REDUN]-[i]-[?]-##
  691. '' // if tt$ <> "i" and g$ <> "t" then goto L20050: '' // [i]-[?]--[if cg$ <> "z"...]-[?]
  692. '---
  693.  
  694. '' // ##
  695. if g$ <> "t" then goto L20050
  696. for m% = 18 to PP%
  697.  locate m%, 67:
  698.  print "             ";
  699. next m%
  700.  
  701. L20050:
  702.  : IF SU$ = CHR$(13) THEN GOSUB Blank: '' // [=""]?<-[cf mi$][BlankMain?][cf1282]
  703.  : IF SU$ = "y" THEN SU% = SU% + 1: GOSUB L6500: '' // [20080else?][coll 20087?(x88)][cf2200]
  704.  : '' // [subBlank/BlankMain? redun?]<<-<*
  705.  GOSUB PreAspectCalc
  706.  GOSUB AspectCalc: '' // [asp[(t$)switch=<>5drawing?)]-[?]
  707.  '' // [mov?]^
  708.  IF EH$ = "A" THEN GOSUB L19600: '' // [cf19307]!
  709.  IF SU$ = "y" AND g$ <> "t" THEN GOSUB InMainDraw: GOTO Menu: '' // +[g$='N']/[Mi$='y']..!?:::[sub AspLines her?]-[ No?!!]
  710.  : '' // [swap EH$/su$ ?]^^
  711. '^-----
  712.  
  713.  
  714. ChartDraw: '///
  715.  IF tt$ <> "i" THEN GOTO L20180: '' // [Cf. L20020]
  716.  locate (xloc% + 4), 3: print "                    ";
  717.  locate (xloc% + 6), 3: print "                    ";
  718.  GOSUB WAITx:  '' // [xx$ ?] --{rpt fm L20050 ?] [20162<->64 ?]::[cf2000+,20006]--[REDUN ?]
  719.  '' // GOSUB Boxes
  720. '' // ['input VAR' i scr2 ?][notmovupSCR2<-introtxt in SCREEN 0!?]
  721.  
  722. L20180: '' // [default color=15]
  723.  PSET (x%, y%)
  724.  CIRCLE (x%, y%), p2%
  725.  CIRCLE (x%, y%), p1%
  726.  PAINT (x%, y% + (p1% + ((p2% - p1%) / 2))), 11, 15: '<-[define/assign vars!]->
  727.  CIRCLE (x%, y%), P3%:                               '^^[diff color diff house system !??]<->[day/night houses?]
  728.  CIRCLE (x%, y%), pa%:                               '<-[Bordering Earth's horizon (Cyc=1)]
  729.  CIRCLE (x%, y%), P3% + 12, 3:                       '<-[define/assign color vars!]->
  730.  CIRCLE (x%, y%), 267, 3:                            '    -'-
  731.  
  732.   '' // #  '[Z=Z(1,1):?:[cf688]]
  733.   '' // #  '[ifnoASC=data("xxx"):<noaxes> ?]
  734.  
  735.   '' // [Definer v/ inputdialog har=Harmonics / cyc=Turned Houses] !!! <*
  736.  
  737. LOCATE 1, 1: PRINT "Tropical Zodiac"; : '' // <[loc ,0 <-nocurs!?]
  738. LOCATE 2, 1: PRINT "Equal Houses";
  739. LOCATE 3, 1: PRINT "Quadrants";
  740.  
  741. LOCATE 58, 1:
  742. IF tf$ = "1" THEN PRINT "2-D Radix";
  743. IF tf$ <> "1" THEN PRINT "2-D Turned";: '' // [OBS!]--[Harmonic]--[!] ##
  744. LOCATE 59, 1:
  745. IF tf$ = "1" THEN PRINT "Horizon view";
  746. IF tf$ <> "1" THEN PRINT "Derived houses";
  747. LOCATE 60, 1:
  748. IF tf$ = "1" THEN PRINT "Origo: Tropos"; : '' //      <-^^[g$='r'(adix) !??]
  749. IF tf$ <> "1" THEN PRINT "Radix Quadrants";  '' //      <-  [Center: Xxxxxx](r.[ ]Quadrants)
  750. '' // : : : '>-<why not err mising colon above ?? ^^^>-<
  751. :
  752. '' // :: if EP ! :: [etc.]
  753. :
  754. GOSUB Coordinates
  755. GOSUB MainDraw: '' // --[yz redun: ?][cf20261,20274,20288,]
  756. gosub STATUSx
  757. GOTO Menu: '' // ['ChartDraw:' mangler 'RETURN' !?] <-[cf L2150, L2170, L39240] <* <* <* ==??== <* obs! === ### === OBS-RETURN-ERR--[??] ##
  758.  
  759. '' // [Debug-Search-Here--gosub maindraw]
  760. '##
  761. '' // <-[mov20570?<->cfg$='h']
  762. '' // [delay!]
  763. '' // HERE=END CHART/ChartDraw <-[is 'ChartDraw:' RETURNed ??] <###
  764. '##
  765.  
  766.  
  767.  
  768. Coordinates:
  769.  '' // [Coord relative to QBasic's intrinsic coordinates]<->['ta0' yields DESC (Cyc 1!)]
  770.  YY = 360 - VAL(P$(CH%, hp% + 2)):
  771.  YZ = YY + 180: IF YZ > 360 THEN YZ = YZ - 360: '' // (asc)
  772.  ZY = 180 - YY: IF ZY < 0 THEN ZY = ZY + 360
  773. RETURN
  774.  
  775. : '' // # GOTO 20260:?:(see gwAmap) <-[no(equal)housepartit]:?:[blw!:float!'s] ##
  776.  
  777. '[Label]
  778. MainDraw:
  779.  '' // --['c15'=default]--
  780.  FOR x = 0 TO 360 STEP 30: '' // [float! obs!x/x%] <-(use vars!)]
  781.  PSET (x%, y%)
  782.  u$ = STR$(x): u$ = MID$(u$, 2)
  783.     '' //# ZZ=VAL(P$(H%,1))
  784.     '' //# FOR K=1 TO (360/WA%): '' // [1=asc]!
  785.     '' //# ZZ%=INT(ZZ):U$=STR$(ZZ%):U$=MID$(U$,2)
  786.     '' //# PSET(X%,Y%): '[el. circle 0]? [draw "bm240,100"]["x"+var$]
  787.  '' // DRAW "TA" + u$: DRAW "br180 c3 r41": '["BR44 R12"][use vars!] <-[check! <(alternative)]
  788.  DRAW "TA" + u$: DRAW "br181 c15 r40": '' // ["BR44 R12"][use vars!]    <-['c15' redun=default]
  789.     '' //# ZZ=ZZ+WA%:IF ZZ > 360 THEN ZZ=ZZ-360
  790.     '' //# NEXT K
  791.  NEXT x
  792.  :
  793.  ZZ% = YZ: '' // [Zodiac division]['c3']
  794.  FOR K = 1 TO (360 / WA%)
  795.  u$ = STR$(ZZ%): u$ = MID$(u$, 2)
  796.  PSET (x%, y%)
  797.  DRAW "ta" + u$: DRAW "br" + P3$: DRAW "c3 r33": '' // [+var!]
  798.     '' //# GOSUB Zodiac::->[20278!]
  799.  ZZ% = ZZ% + WA%: IF ZZ% > 360 THEN ZZ% = ZZ% - 360
  800.  NEXT K
  801.  :
  802.  ZZ% = YZ + WB%: '' // [Signs]['c3']
  803.  FOR K = 1 TO (360 / WA%)
  804.  PSET (x%, y%)
  805.  IF ZZ% > 360 THEN ZZ% = ZZ% - 360
  806.  u$ = STR$(ZZ%): u$ = MID$(u$, 2)
  807.  v = VAL(u$) - 90: v$ = STR$(v): IF v >= 0 THEN v$ = MID$(v$, 2)
  808.  DRAW "ta" + u$: DRAW "br" + P3$: DRAW "c3 r3 br4": DRAW "ta" + v$: DRAW "bu9 bl9": '' // <-([3+4]! (=7 !] <---
  809.  IF SU$ <> "y" THEN GOSUB Zodiac: '' // <------------->'if g$ <> "t"]<->[M]!
  810.   '' // ---- [Here can be inserted div. choices/options]-[Variants]
  811.   '' // ---- [zodiacal signs/divisions around circle (+subcycles etc.) --[?]-[!]
  812.  ZZ% = ZZ% + WA%: '' // <-[if > ...?]
  813.  NEXT K
  814.  :
  815.  ZZ = YZ
  816.  FOR K = 1 TO (360 / WC%)
  817.  ZZ% = INT(ZZ): u$ = STR$(ZZ%): u$ = MID$(u$, 2)
  818.  PSET (x%, y%)
  819.  DRAW "TA" + u$: DRAW "BR" + p2$: DRAW "r" + PX$: '' // [px$:cf1062:mov->here?] <*
  820.  ZZ = ZZ + WC%: IF ZZ > 360 THEN ZZ = ZZ - 360
  821.  NEXT K
  822.  '' // ['double' 5-degrees subdivs by g$='t'/[M] <-(due Trunc ?)-[!]
  823.  
  824. '##------
  825. IF KK$ <> "2" THEN GOTO InMainDraw: '[<1><2><3>]
  826. '##------
  827.  
  828.  z = (ZC / 360) * (2 * PI):                             ' <-[movup?][float,x/x%!]
  829.  FOR x = 0 TO 360 - (2 * WC%) STEP (2 * WC%)
  830.  z = z + ((2 * PI) / (360 / WC%))                       ' [IF Z > (2*PI) THEN Z=Z-(2*PI)]
  831.  FOR K = (p2% + 1) TO (P3% - 1)
  832.  CIRCLE (x%, y%), K, , z, z + ((2 * PI) / (360 / WC%))
  833.  NEXT K
  834.  z = z + ((2 * PI) / (360 / WC%))                       ' [ej v/ w%=15 ?]  <[[[ <* missing ':' <-^^ yields err?? ]]]^^ <*
  835.  NEXT x
  836.  '      '#  CIRCLE (X%,Y%),(P3%+2),,Z,Z+((2*PI)/(360)): '[PI-test !?] <<-<*
  837.  '
  838.  
  839. '--#--
  840. '[Label]
  841. InMainDraw:
  842.  IF g$ = "t" OR EH$ = "A" THEN P$(mm%, hp% + 2) = P$(0, 0): '' //[MM%=0: <-OBS!] <[cf19600+]-> w h y  mm% ?]
  843.   :
  844.   IF tt$ = "i" THEN m = 1: GOSUB TurnAngle: sv$ = v$
  845.   '' // <[Sun's pos vs. horizon (Desc <- 'ta0')]<-[cf. 'PlanetSymbols:(MO)' + cf. 'Axes:(MC)]
  846.   :
  847.   FOR m = (hp% + 2) TO (hp% + 1) STEP -1: '' // [Reverse hp%+ (Asc/Mc)]:?:[cf. 'Axes:']
  848.   GOSUB axes
  849.   NEXT m
  850.   :
  851.   FOR m = 1 TO (NP% + 1): '' //   :: [^^EH$=""/chr$(13)?]
  852.   GOSUB TurnAngle
  853.   GOSUB PlanetSymbols
  854.   '# V=(V/360)*(2*PI)::rem:[float,x/x%!]
  855.   '# FOR X=1 TO 7:CIRCLE (X%,Y%),P1%-X,,V,V+((2*PI)/360):NEXT X
  856.   '# FOR X=1 TO 5:CIRCLE (X%,Y%),PA%+X,,V,V+((2*PI)/360):NEXT X
  857.   NEXT m
  858.     '' //# [if a%<>0/=2 then ret][<=her?]<-[cf39001]!
  859. GOSUB Tropos
  860. RETURN: '>[CHART] >(goto Menu)
  861.  '' // [Debug-Search gosub maindraw]
  862.  
  863. '[Label]
  864. Tropos: '' // <-[ z% value assigned in 'DrawASC:[Outer:]' or 'InnerCircleLines:' (via 'PlusAspLines:')]
  865.  '      ' //# <-[check out a%! (if a% <> 0)??] <-[cf. SUB LegendPrgSpecs(Misc)]
  866.  :
  867. IF ln% = 1 THEN CIRCLE (x%, y%), 168, 7: '' // [,0] [,15 ?] '' // <[remove (brown) paint border]-[Ctrl-F comment 'brown']
  868.  '  ' // & <[cleanup imprecisions in aspect lines drawn (i.e. length)]
  869.  '  ' // & <[give a nice look to border between white and blue]
  870.  :
  871.  IF tf$ = "1" THEN L% = 0: '' // <['free' l% ?]
  872.  IF tf$ <> "1" THEN L% = 15
  873.  CIRCLE (x%, y%), z%, L%: '' // <[diameter inner circle (pa% or 7)]
  874.  PSET (x%, y%), 0: '' // <-^[Tropos point set'd in Origo <(color=DawnDusk-circle!)] <[use var!]
  875.  :
  876.  IF z% <> pa% THEN GOTO InTroposData: '' // <--[UNFINISHED !!]-[!]
  877.  :
  878.  IF tf$ = "1" THEN CIRCLE (x%, y%), 1, 0
  879.  :
  880. InTroposData: '' // [name>[xBoxes]?
  881.  GOSUB DataColumn
  882.  GOSUB DiffStatus
  883. RETURN: '>[InMainDraw & MinusLines]
  884.  
  885.  
  886. '[Label]
  887. TurnAngle:
  888.   v = VAL(P$(CH%, m)) - ZY: IF v < 0 THEN v = v + 360: '' //[gosub: cf 'sub' PlusAspLines+]
  889.   '# IF RIGHT$ >30 THEN V+1
  890.   b% = v: v$ = STR$(b%): v$ = MID$(v$, 2): PSET (x%, y%): DRAW "ta" + v$: '' // [pset!]
  891.   RETURN: '>[InMainDraw+ & axes]
  892.  
  893.  
  894. '[Label]
  895. DataColumn: '[MAX=60]
  896.  : IF tt$ <> "i" THEN GOTO L20520: ' <[x40?]
  897. L20520:
  898.  IF MI$ = "y" THEN cc$ = "M" ELSE cc$ = "O"
  899.  LOCATE 2, 68: PRINT f1$; : LOCATE 2, 78: IF SU% > 0 THEN PRINT cc$; : '' // [?]
  900.  LOCATE 3, 68: PRINT N1$;
  901.  :
  902.  LOCATE 5, 68: PRINT H$; " "; t$;
  903.  LOCATE 6, 68: PRINT c$; " "; tf$; : ' [f% ?]
  904. RETURN
  905. '----#
  906.  
  907.  
  908. '[Label]
  909. DiffStatus:
  910.  ' ' [PP%/vars!]
  911.  ' blw! [-> ca. Menu?][cfsub53300]
  912.  : IF a$ <> "p" THEN GOTO L20586
  913.  LOCATE (22 + PP%), 72: IF tt$ = t$ THEN PRINT "-S-";  ELSE PRINT "-D-"; : '' // <-[Same/Diff --(Cf. Help/Manual)]
  914. L20586:
  915.  : IF a$ <> "x" THEN GOTO L20594: ' >ret
  916.  LOCATE (25 + PP%), 70: IF TA$ = t$ THEN PRINT "-S-";  ELSE PRINT "-D-"; : '' // <-[print; ?]  '<-[S=Same Harmonic as drawing]
  917.  LOCATE (25 + PP%), 73: IF AT$ = t$ THEN PRINT "-S-";  ELSE PRINT "-D-"; : '' //  [or <> ]
  918. L20594:
  919. RETURN: '' // [+ [T|urned ! --###
  920.  
  921.  
  922. '-----#
  923. '[Label]
  924. Boxes: '//
  925.  '' // BEEP: '[DosBox soundless?]--[DEBUG]
  926.  '' // --[blw!:[delay/intro-txt ? (ex:tt$='i')]:<-[redun cf2000+?]
  927.  '' // if cg$ = "z" and g$ <> "t" then goto InBoxes: '' // --[='i' ?]----FIX-[!]
  928.  if g$ <> "t" and g$ <> "h" then goto InBoxes
  929.  locate 8, 67:  print "|-----------|";
  930.  for L% = 9 to 13
  931.  locate L%, 67: print "|           |";
  932.  next L%
  933.  locate 14, 67: print "|-----------|";
  934.  :
  935.  locate (19 + PP%), 68: print "           "; :'' // [<+> <=>]
  936.  '' // & [i][M][SU] etc. & -S- -D- etc.
  937.  '' // <p> <x> a.o, --[?]
  938. :
  939. InBoxes:
  940.  IF g$ = "p" OR g$ = "x" THEN GOTO L21070: '' // [mix 210x/212x=eensub?]<-[MOV?] <<-<*!
  941.  IF b$ = "p" THEN CH% = 1: HC% = 1: IF t$ <> "1" THEN CH% = 2: HC% = 1: '' // [hc%?]
  942.  '' // [if b$="x" then if?] <*
  943.  '' // IF tt$ <> "i" THEN LOCATE 14, 67: PRINT E6$;: '' // [DEBUG]
  944.  : GOTO L21082
  945. L21070:
  946. L21082: '' // [REDUN!]
  947.   '' // IF b$ = "p" THEN LOCATE 17, 67: PRINT E6$;
  948.   '' // IF b$ = "x" THEN LOCATE 18, 67: PRINT E6$;
  949. RETURN: '' // [cf1604,20511/39044,53300+]
  950. '-----#
  951.  
  952. '[Label]
  953. WAITx: '' // locate ,,0 -[?]
  954.  locate 8, 67:  print "             ";
  955.  for L% = 9 to 13
  956.  locate L%, 67: print "             ";
  957.  next L%
  958.  locate 14, 67: print "             ";
  959.  
  960.  LOCATE 1, 58: PRINT "         ";
  961.  LOCATE 2, 58: PRINT "         ";
  962.  LOCATE 3, 58: PRINT "         ";
  963.  LOCATE 4, 58: PRINT "         ";
  964.  :: LOCATE 5, 58: PRINT "         "; ; '' // [REDUN]-[?] - (plus test if err double ;) ##
  965.  '' // locate 2, 58: print; xx$;: '[; ;]-[?]
  966. InWaitx:
  967.  LOCATE 2, 58: PRINT "WAIT !   ";
  968.  LOCATE 3, 58: PRINT xx$; : '' // --[Maxlen!]
  969.  LOCATE 4, 58: PRINT "         ";
  970.  LOCATE 5, 58: PRINT "         ";
  971. RETURN
  972. '-----#
  973.  
  974. '[Label]
  975. STATUSx:
  976. LOCATE 2, 58: PRINT "         ";
  977. LOCATE 3, 58: PRINT "         ";
  978. locate 2, 58: print sp$;"  ";KK$;"  "; : '' // [MaxLen!]-[Now:Only DRAW]
  979. locate 3, 58: print cg$;: locate 3, 59: print g$;: locate 3, 61: print mid$(str$(s%),2);: '' // ---[i]
  980. locate 4, 58: print left$(PR$, 8);: '' // --[redun/rpt or variant?]
  981. RETURN
  982. '-----#
  983.  
  984. '[Label] '' --[REDUN]-[?]
  985. Blank:
  986.  IF g$ = "*" OR a% <> 0 THEN GOTO BlankMain: '' //? [i$='*'?]
  987.  FOR L% = 5 TO 6: '' // <-[fm20080][redun?]
  988.  LOCATE L%, 67: PRINT "             ";"9"; : '' // <[e6$ !?][,0 ?]
  989.  NEXT L%
  990.  '' // [LOCATE L%, 67: PRINT E4$;]
  991. '-----#
  992.  
  993. '[Label]
  994. BlankMain:
  995.   '' // evt. outercircle radius+1 ? <-[though diff. CornerTexts ?!]
  996.  LINE (528, 0)-(528, 479), 6
  997.  PAINT (x%, y%), 0, 6: '' // <--[+1=480? (leak?)]---
  998.  SU% = 0:
  999. RETURN
  1000. '-----#
  1001.  
  1002.  
  1003. '[Label]
  1004. Zodiac:
  1005.  '' // symbols '[pmap etc.? / bitmaps? / load fm file? / ...] [sprites->planets ?]
  1006.  SELECT CASE K
  1007.  CASE 1
  1008.   DRAW "c3"
  1009.   CALL ari
  1010.  CASE 2
  1011.   DRAW "c3"
  1012.   CALL tau
  1013.  CASE 3
  1014.   DRAW "c3"
  1015.   CALL gem
  1016.  CASE 4
  1017.   DRAW "c3"
  1018.   CALL can
  1019.  CASE 5
  1020.   DRAW "c3"
  1021.   CALL leo
  1022.  CASE 6
  1023.   DRAW "c3"
  1024.   CALL vir
  1025.  CASE 7
  1026.   DRAW "c3"
  1027.   CALL lib
  1028.  CASE 8
  1029.   DRAW "c3"
  1030.   CALL sco
  1031.  CASE 9
  1032.   DRAW "c3"
  1033.   CALL sag
  1034.  CASE 10
  1035.   DRAW "c3"
  1036.   CALL cap
  1037.  CASE 11
  1038.   DRAW "c3"
  1039.   CALL aqu
  1040.  CASE 12
  1041.   DRAW "c3"
  1042.   CALL psc
  1043.  END SELECT
  1044. RETURN
  1045.  
  1046.  
  1047.  
  1048. '--->
  1049. '[Label]
  1050. Menu: '' // [text/infopage (toggle)?] /// <-[g$='N'] ///
  1051.  IF a% = 2 THEN RETURN: '' // [a%<>0,a%=1,..?]<-[cf2100+]::
  1052.  IF g$ = "N" THEN LY% = 0: GOTO PrintPosNewChart: GOTO MenuInternAndExternGoto: '' // <<-<< [err goto]--[!!]
  1053. :
  1054.  tf$ = "1":
  1055.  IF tt$ = "i" THEN  tt$ = "1": LY% = 0: GOTO PrintPosNewChart: '' // [cf20460]:[1674]
  1056.  '' // (i) sub^53030-> movup->20500+!?]
  1057. :
  1058. MenuInternAndExternGoto: '' // --[cf CHART+?]
  1059.   '' // FOR L% = 8 TO 8: LOCATE L%, 80: PRINT " "; : NEXT L%: --[WHY / Redun]-[?]
  1060.   '' // LOCATE 9, 66: PRINT " ";:'[L7000]
  1061. :
  1062.  IF g$ = "N" THEN il% = 0: GOSUB L6020
  1063. :
  1064. L39030:
  1065.  GOSUB L39040: GOTO MenuInMenu:  '' // <-[g$='h'/'t'] [Sub20570  h e r e ?<-cf20462]
  1066. L39040:
  1067.  '' // LOCATE 7, 67: PRINT E4$; : LOCATE 8, 67: PRINT E6$;
  1068.  LOCATE 8, 68: PRINT "<#> "; : IF dd% = 1 THEN PRINT "<?>"; : '' // [compare L20470+]
  1069.  '' // LOCATE 9, 67: PRINT E4$;
  1070.  LOCATE 10, 68: PRINT "<h> <t> <N>";
  1071.  LOCATE 11, 68: PRINT "<a> <d> <E>";
  1072.  if CH% = 2 then locate 10,72: print "   ";
  1073.  '' // --[blankline redun/ u$/ b$ <> ''] --[-?]
  1074. :
  1075.  IF sp$ = "\qAMAP.BAS" OR sp$ = "pure" THEN GOTO L39060: '' // <-[1.bat or g$='N'][L2000+]
  1076.  LOCATE 11, 77: IF MI$ = "y" THEN GOTO L39056: '' // [L39420+]
  1077.  IF sx$ = "X" THEN PRINT "OS"
  1078.  IF sx$ = "\qAMAP.BAS" THEN PRINT "XS"
  1079.  GOTO L39060
  1080. L39056:
  1081.  IF sx$ = "\qAMAP.BAS" THEN PRINT "XO"
  1082.  IF sx$ = "X" THEN PRINT "OX"
  1083. :
  1084. L39060:
  1085.  LOCATE 14, 68: PRINT "<p> <x> <*>";
  1086.  '' // LOCATE 15, 67: PRINT E4$;
  1087.  IF a$ = "x" THEN LOCATE 18, 67: PRINT "?\|sozx>   ? "; : '' // [x:<L40036 ?]
  1088.  IF a$ = "p" THEN LOCATE (19 + PP%), 70: PRINT "<+> <=>";
  1089.  RETURN
  1090. :
  1091. MenuInMenu:
  1092. '' // BlankWAITx: '/ -- redun-temp - make own sub --
  1093.   LOCATE 9, 68, 0: PRINT "  "; " "; " "; : '' // [,0]!? -- [Note that =D before changes to =S in init run!!] -- [OBS 'SPC']-[!!] ## [?] ##
  1094. ' ' ' ' '' //  LOCATE (27 + NP%), 68, 0: PRINT " ["; xx$; "]"; : '[,0]!? <*
  1095. '' // RETURN -- redun-temp ---
  1096.  g$ = INKEY$: IF g$ = "" THEN GOTO MenuInMenu: '' // <-[fm a$='p'/'x']
  1097.  IF a$ <> "x" THEN GOTO L39160
  1098.  IF g$ = "\" THEN GOTO L40040: '' // ['+'|'-'?]
  1099.  IF g$ = "|" THEN BEEP: GOTO MenuInMenu: '' // [L40140][L39650]----[-OBSNOTE-]
  1100.  IF g$ = "s" THEN GOTO L42000: '' // aspsymb[toggle]
  1101.  IF g$ = "o" THEN GOTO L42100: '' // maxorb
  1102.  IF g$ = "z" THEN BEEP: GOTO L42150: '' // [contin/step+maxhp%][toggle]
  1103. :
  1104.  : IF g$ = "x" THEN BEEP: GOTO MenuInMenu: '' // <-[TEMP!]
  1105.      '' // ::: el. nil'e a$ if g$ <> "x" [most simple?][L39102]
  1106.      '' // ::: g$="p" or ="x" [lx% both?]::
  1107.      '' // ::: A$="": LX%=PP%:LY%=PP%:LW%=PP%:LZ%=PP%:RETURN
  1108. :
  1109. L39160:
  1110.  IF a$ <> "p" THEN GOTO L39240
  1111.  IF g$ = "+" THEN GOSUB L53030: GOTO MenuInMenu: '' // [cf53050]
  1112.  IF g$ = "=" THEN LY% = LY% - 1: K% = K% + 1: GOSUB L53030: GOTO MenuInMenu: ' '  // [NOsub53300!] --##-- WHAT IS==[??]
  1113. :
  1114. L39240: ' /// [a$=""]?
  1115.  IF g$ = "#" THEN dd% = dd% + 1: GOTO L45000: 'toggle chartinfobox
  1116.  IF g$ = "*" THEN IF u% = 2 THEN GOSUB Blank: GOTO ChartDraw
  1117.  IF g$ = "*" THEN IF u% = 1 THEN GOTO L46000: '[ChartDraw++?]
  1118.  IF g$ = "t" and CH% <> 2 THEN GOTO DERIVED: '' // [t$='1'/h%=1 ?] ' [tf$ ?]
  1119.  IF g$ = "h" THEN GOTO HARMONIC: '' // #  IFG$="h"anda$="x"ora$="p"then[subwait]:gosub53xxx:goto Menu:: --##--
  1120.  IF g$ = "?" AND dd% = 1 THEN GOSUB L45500: '' // ['<?>'='secret'] -- [3rdpage?(ID)]-[?]
  1121. L39350: : : :
  1122.  IF g$ = "x" THEN a$ = g$: GOTO FactorData
  1123.  IF g$ = "p" THEN a$ = g$: K% = 1: LY% = LY% - 1: GOTO L53000
  1124.  IF g$ = "a" AND ln% = 0 THEN ln% = 1: GOSUB AspLines: : GOTO Menu: '' // [L39050 ? <-see sub]<-[goto Menu redun?] <[MenuInMenu ?]
  1125.  IF g$ = "a" AND ln% = 1 THEN ln% = 0: GOSUB MinusLines: GOTO Menu
  1126.  IF g$ = "d" AND ln% = 0 THEN ln% = 1: GOSUB DomLines: : GOTO Menu: '' // [L39050 ? <-see sub]<-[goto Menu redun?] <[MenuInMenu ?]
  1127.  IF g$ = "d" AND ln% = 1 THEN ln% = 0: GOSUB MinusLines: GOTO Menu
  1128. :
  1129.  IF g$ = "N" THEN GOSUB L7000: GOTO GoOn
  1130. :
  1131. '=-=-=-=-=
  1132.  IF sp$ = "\qAMAP.BAS" OR sp$ = "pure" THEN GOTO L39460: '^^^[L2010?][L39050]
  1133.  IF sx$ = "\qAMAP.BAS" THEN IF g$ = "X" THEN sx$ = "X": GOTO L2200
  1134.  IF sx$ = "X" THEN IF g$ = "O" THEN sx$ = "\qAMAP.BAS": GOTO L2200
  1135.  IF sx$ = "\qAMAP.BAS" THEN IF g$ = "S" THEN sx$ = "X": GOTO L19862: '[19860 ?]
  1136.  IF sx$ = "X" THEN IF g$ = "S" THEN sx$ = "\qAMAP.BAS": GOTO L19862: '[19860 ?]
  1137.  IF MI$ = "y" THEN IF g$ = "O" THEN sx$ = "\qAMAP.BAS": GOTO L2200
  1138.  IF MI$ = "y" THEN IF g$ = "X" THEN sx$ = "X": GOTO L2200
  1139. '=-=-=-=-=
  1140. :
  1141. L39460:
  1142.   IF g$ = "E" THEN GOTO Final
  1143. '' IF g$ = "A" THEN GOTO - - - - - -##
  1144.  
  1145. GOTO Menu: '<[loop]
  1146. '#<-----
  1147.  
  1148.  
  1149. '[Label]
  1150. Final:
  1151. '-----
  1152. '<[exit to system]
  1153. ''---[kill [c:] '.swi' etc. fm here ?]
  1154. ''---[ (- eller syst: .bat-file ?    ]
  1155. '-----
  1156.  print: '' // --[?] --[clear buffer in order to get back to DOS proper-[?]
  1157.  '' CLEAR: ' <-[??]
  1158.  SYSTEM
  1159. '=====>
  1160. '<[Final]
  1161.  
  1162.  
  1163. '[Label]
  1164. GoOn:
  1165.  '----->
  1166.  ''' '#[obs! z$ <-label In+]
  1167.  ''' '#[ws$]
  1168.  OPEN "switch.sw0" FOR OUTPUT AS #3: '[subredun cf39500+]? < '' <[.\]
  1169.  PRINT #3, sw$
  1170.  PRINT #3, sx$
  1171.  PRINT #3, s%
  1172.  CLOSE #3
  1173. :
  1174. '' // '  <[ws$]-[?]
  1175. '' // '------------
  1176. '' // '  open "identity.tie" for output as #2: '' <[.\]
  1177. '' // '  print #2, f$: '[ry]?
  1178. '' // '  close #2
  1179. '' // '------------
  1180. :
  1181. cg$ = g$
  1182. OPEN "choice.sw0" FOR OUTPUT AS #1: '' <[.\]
  1183. PRINT #1, cg$
  1184. CLOSE #1
  1185. :
  1186. '-------------
  1187. '' IF g$ = "N" THEN GOTO N
  1188. '' if g$ = "A" then - - -
  1189. '-------------
  1190. :
  1191. '' N:
  1192. LOCATE 1, 52: PRINT ws$ + ": DRAW     "
  1193. LOCATE 2, 52: PRINT "-> TIE     "
  1194. LOCATE 3, 52: PRINT "  (loading)"
  1195. '' xx:
  1196. :
  1197. :
  1198. CHAIN "\aqTIE.BAS"
  1199.  
  1200. '#=#=#
  1201. '[redunexit:]>
  1202. goto Irregular
  1203. END:
  1204. '--[pgr exit (path)!?]:cls?:[scr0 ?]:[ms$ ?]--
  1205. '--[locate 10,1 -wait?]
  1206. '--['filter':sure?/Esc before exit!] ---'
  1207. '#=#=#
  1208.  
  1209.  
  1210. '---->
  1211. '''blw![x=56 if opposit not thru inner circle]? <*<--replaced by smaller circle!!
  1212. '----
  1213.  
  1214. '[Label]
  1215. AspLines:
  1216.   '' // # [xx$ = "+ALines": GOSUB WAITx] #
  1217.  GOSUB Boxes
  1218.  LOCATE 11, 68: PRINT "<2-10>"; " "; : '' // <[8,68 ?] ' [<>. ?]
  1219.  GOSUB TypeChoice: y$ = u$: IF VAL(u$) < 2 OR VAL(u$) > 10 THEN GOTO AspLines
  1220.  il% = VAL(y$)
  1221.  xx$ = "[+Alines]" + STR$(il%): GOSUB WAITx:  '' // [DO: improve text!!]
  1222. GOSUB Boxes
  1223. GOSUB TempCirc: '' // --[y$]--
  1224.  GOSUB PlusAspLines
  1225. RETURN: '[menu--]
  1226.  
  1227.  
  1228. '[Label]
  1229. DomLines:
  1230.  '' // [cf. 'AspLines:' !]
  1231.  il% = 10: '' // [input no. of planets early in prg!] --[temp!]
  1232.  xx$ = "[+DLines]": GOSUB WAITx
  1233.  GOSUB Boxes
  1234.  GOSUB TempCirc
  1235.  GOSUB PlusAspLines: '' // --[Dom!]
  1236. RETURN: '[menu]--
  1237.  
  1238.  
  1239. '[Label]
  1240. TempCirc:
  1241.  : ' ' ' if mi$ ...
  1242.  CIRCLE (x%, y%), 168, 6: '<[paint border] <[removed in 'Tropos:'!]
  1243.      '-------' [blw! cf. DawnDusk]>
  1244.     '# <[circle e. 'next m' pga unoy 110-->mc/ic]?
  1245.     '# FOR M = HP% + 2 TO HP% + 1 STEP -1: 'M=1 TO 2
  1246.     '# GOSUB TurnAngle: '[=c0= nil'es v/gosub (pset?)]
  1247.     '# DRAW "c0 bl57 l110": PSET (x%, y%): DRAW "c0 br57 r110": '[try mc=90-grad]
  1248.     '# NEXT M:
  1249.   '''# CIRCLE (x%, y%), pa%, 8: '--<[reinforcement redun]?--< [cf.'MinusLines:']
  1250.  PAINT (x%, y% + 4), 15, 6: '<[pset'd  ?][+4=dum (+1 leaks?)]
  1251. RETURN: '>[AspLines & DomLines][+ InSuorNot/L19862+]
  1252.  
  1253.  
  1254. '[Label]
  1255. PlusAspLines: ' /// [+varia!]
  1256.  ' [mayhap orb-asp overlap![ego:P->H=S->P][cint/int?]]
  1257.  :
  1258.  FOR z = 1 TO il%:  '<[NP% + 1:] '<[(9+1)][b%=val() ?!] [z?]<->[float?]
  1259.   v = VAL(P$(CH%, z)) - ZY: IF v < 0 THEN v = v + 360: '' // [sub:cfInMainDraw+]
  1260.    ' IF RIGHT$ > 30 THEN V+1: '' // [p$=p$() <-free choice of h% ?]
  1261.   b% = v: v$ = STR$(b%): v$ = MID$(v$, 2)
  1262.    ' [vz=p$() [vx=]:*?]
  1263.   :
  1264.   z$ = "168":
  1265.   IF MI$ = "y" THEN z$ = "108": ' [->CHART+ [vars!] [+swi.swi]]
  1266.   :
  1267. : IF g$ = "d" THEN z$ = "140": i$ = tf$: i% = 0: '<-(t e m p t r y !!) <*
  1268.   :
  1269.  FOR x = 1 TO il%:  '[NP% + 1:] '[obs! np%][float,x/x%!]
  1270.   dr$ = "": LOCATE 11, 69
  1271.   w$ = w$(HC%, z, x)
  1272.   : IF g$ = "a" THEN GOSUB Asp: '<[DR$]
  1273.   : IF g$ = "d" THEN GOSUB Dom: '<[DR$]
  1274.   : IF dr$ = "" THEN GOTO L23970: '<[next x]
  1275.   :
  1276.   PSET (x%, y%): DRAW "ta" + v$: DRAW "br" + z$: '[draw rpt (redun) ?]
  1277.   PZ% = POINT(0): PZ$ = STR$(PZ%): PZ$ = MID$(PZ$, 2)
  1278.   PY% = POINT(1): PY$ = STR$(PY%): PY$ = MID$(PY$, 2):
  1279.   XY$ = PZ$ + "," + PY$
  1280.   v = VAL(P$(CH%, x)) - ZY: IF v < 0 THEN v = v + 360: '' // [gosub:cfInMainDraw+]
  1281.   D% = v
  1282.   PSET (x%, y%): '[^^pz$/px$:cf1062!^^]
  1283.   :
  1284.   IF dr$ = "d" THEN GOSUB DLines: i% = 0
  1285.   IF dr$ = ":" THEN GOSUB L24100: GOTO L23970: '[nil] <next
  1286.   IF dr$ = "-" THEN GOSUB L24150: GOTO L23970: '[nil] <next
  1287.   IF dr$ = "*" THEN GOSUB L24200: i% = 2: '<[varptr$ ?]
  1288.   IF dr$ = "k" THEN GOSUB L24250: i% = 4: '<[check gwAmap for 'goto' or likes.. (all!)]
  1289.   IF dr$ = "t" THEN GOSUB L24300: i% = 2: '  -'-
  1290.   IF dr$ = "o" THEN GOSUB L24350: i% = 4
  1291.   ' <[noasp<=orb]! <-<* [?]
  1292.   :
  1293.   : : IF D% > 359 THEN D% = D% - 360: '[redun?] <*---
  1294.   : : IF D% < 0 THEN D% = D% + 360: '[redun?] <*---
  1295.   :
  1296.   D$ = STR$(D%): D$ = MID$(D$, 2)
  1297.   : : : : : ' [if g$='a'/'d' then d$=] ::::: <-no! erase! <* <*
  1298.   :
  1299.   DRAW "ta" + D$: DRAW "br" + z$
  1300.   DRAW "c" + STR$(i%): DRAW "m" + XY$: '[cmp 'LINE']
  1301. : IF g$ = "d" THEN CALL ArrowASC(i$, i%): '<-[t e m p !] <*
  1302.   '# ^^math(equilattrekant)^[radianer..]
  1303.   '# ex:for-next V$+/-1 fmbothpos->broadlines*!? [float!]
  1304.   '# IF Z=5 AND X=7 THEN STOP
  1305. L23970:
  1306.  NEXT x
  1307.  NEXT z
  1308.  GOSUB InnerCircleLines
  1309.  PAINT (x%, y% - 4), L%, 6: '<-(see comm 'DrawAsc:[Outer:'] !!) [4=dum]
  1310.  CIRCLE (x%, y%), z%, 15
  1311.  GOSUB DawnDusk
  1312.  GOSUB Tropos
  1313. RETURN: '>[menu (fm g$='a'/'d']'''# [GOTO Menu: '[L39050 ?] [vars:+swi.swi]]
  1314.  
  1315.  
  1316. '[Label]
  1317. InnerCircleLines: '<[pset reduns?]
  1318.      ' <[inner circ smaller!? (oppos<>axes)!]? [choice inner circ (switch)]?
  1319.      '# O% = pa% - 1: : : i% = pa%: IF MI$ = "y" THEN O% = (pa% - 20) - 1: i% = pa% - 20
  1320.  z% = 9: '<[7 ?] <[use vars!] <-[Resizing!]
  1321.  CIRCLE (x%, y%), z%, 6
  1322.     '# FOR l% = 0 TO O%: CIRCLE (X%, Y%), l%, 0: NEXT l%: CIRCLE (X%, Y%), i%
  1323.     '# ^[l%=1?][pset movup?][her ogsaa nil'es,cf39840+]
  1324.  ' [Hemispheres]:
  1325.  IF VAL(sv$) > 180 THEN i% = 1: il% = 9: L% = 3:      '<-blw![check v$!]
  1326.  IF VAL(sv$) < 180 THEN i% = 9: il% = 1: L% = 11
  1327.   ' ' IF VAL(sv$) > 170 AND VAL(sv$) < 190 THEN i% = 1: '[dawn]
  1328.   ' ' IF VAL(sv$) > 350 AND VAL(sv$) < 10 THEN i% = 1:  '[dusk]
  1329. RETURN: '>PlusAspLines
  1330.  
  1331.  
  1332.  
  1333. : : '  /// TEMP! (AspLines 0,30] [+ 150!] ///
  1334.  
  1335. L24100:
  1336.  RETURN: '[cf 23600 <-??] [+ 'deflect' (widen) stellium during chart draw ?!]
  1337.  
  1338. L24150:
  1339.  RETURN
  1340.  
  1341. L24200:
  1342.  ' IF B% < D% THEN D%=B%+60:REM:IF D% > 359 THEN D%=D%-360
  1343.  ' IF B% > D% THEN D%=B%-60:REM:IF D% < 0   THEN D%=D%+360
  1344.  IF b% < D% THEN IF D% - b% > 180 THEN D% = b% - 60
  1345.  IF b% < D% THEN IF D% - b% < 180 THEN D% = b% + 60
  1346.  IF b% > D% THEN IF b% - D% > 180 THEN D% = b% + 60
  1347.  IF b% > D% THEN IF b% - D% < 180 THEN D% = b% - 60
  1348. RETURN
  1349.  
  1350. L24250:
  1351.  ' IF B% > D% THEN 24280::REM*[=180?][math?]:[asp->orb!]*
  1352.  IF b% < D% THEN IF D% - b% > 180 THEN D% = b% - 90
  1353.  IF b% < D% THEN IF D% - b% < 180 THEN D% = b% + 90
  1354.  ' GOTO 24292::[return] [doesn't work-if's mustbe][try 0ari=0]?  <<-<<***
  1355.  IF b% > D% THEN IF b% - D% > 180 THEN D% = b% + 90
  1356.  IF b% > D% THEN IF b% - D% < 180 THEN D% = b% - 90
  1357.  RETURN
  1358.  
  1359. L24300:
  1360.  ' IF B% < D% THEN D%=B%+120:REM::IF D% > 359 THEN D%=D%-360
  1361.  ' IF B% > D% THEN D%=B%-120:REM:IF D% < 0   THEN D%=D%+360
  1362.  IF b% < D% THEN IF D% - b% > 180 THEN D% = b% - 120
  1363.  IF b% < D% THEN IF D% - b% < 180 THEN D% = b% + 120
  1364.  IF b% > D% THEN IF b% - D% > 180 THEN D% = b% + 120
  1365.  IF b% > D% THEN IF b% - D% < 180 THEN D% = b% - 120
  1366.  RETURN
  1367.  
  1368. L24350:
  1369.  D% = b% + 180: IF D% > 359 THEN D% = D% - 360
  1370.  RETURN
  1371.  
  1372. '-----
  1373. DLines:
  1374.  IF b% < D% THEN IF D% - b% > 180 THEN D% = b% - VAL(XL$)
  1375.  IF b% < D% THEN IF D% - b% < 180 THEN D% = b% + VAL(XL$)
  1376.  IF b% > D% THEN IF b% - D% > 180 THEN D% = b% + VAL(XL$)
  1377.  IF b% > D% THEN IF b% - D% < 180 THEN D% = b% - VAL(XL$)
  1378.  RETURN: '>[plusasplines]
  1379. '------
  1380.  
  1381. '[Label]
  1382. Asp:
  1383.  XL$ = LEFT$(w$, 3): ZL$ = RIGHT$(w$, 2): '[float?]<->[rounded!!]
  1384.  XZ$ = XL$ + "." + ZL$:
  1385.  E = VAL(XZ$): '--[w$(0,0) & (0,x)?]--
  1386.  AO% = OA%:           IF E <= 0 + AO% THEN GOTO L43100
  1387.      '' // [[IF Z=5 AND X=7 THEN STOP]] ----
  1388.  AO% = (OA% / 4):     IF E >= 30 - AO% AND E <= 30 + AO% THEN GOTO L43150
  1389.  AO% = (OA% / 4) * 3: IF E >= 60 - AO% AND E <= 60 + AO% THEN GOTO L43200
  1390.  AO% = OA%:           IF E >= 90 - AO% AND E <= 90 + AO% THEN GOTO L43250
  1391.  AO% = OA%:           IF E >= 120 - AO% AND E <= 120 + AO% THEN GOTO L43300
  1392.  AO% = OA%:           IF E >= 180 - AO% AND E <= 180 + AO% THEN GOTO L43350
  1393.  ' [^^ abs(val) & if 359-60 ++ etc.][int/cint] [only >&< (not=)]?
  1394.  ' [value-360 etc. and +/- aspect <-decide in aspcalc]!?
  1395.  ' [ownsymbol(+/-)for asp in/ex temperament]!?ex:[*+]
  1396.  ' [<- overlappende aspekter? <-kun ett blir oppdaget]!??
  1397.  RETURN: '>[plusasplines]
  1398.  
  1399. L43100: PRINT ":"; : dr$ = ":": RETURN: '[dr$: >PlusAspLines+]
  1400. L43150: PRINT "-"; : dr$ = "-": RETURN: '[TecCompu:compare 'loose' for-next]
  1401. L43200: PRINT "*"; : dr$ = "*": RETURN
  1402. L43250: PRINT "k"; : dr$ = "k": RETURN
  1403. L43300: PRINT "t"; : dr$ = "t": RETURN
  1404. L43350: PRINT "o"; : dr$ = "o": RETURN
  1405. '---
  1406.  
  1407. '[Label]
  1408. Dom:
  1409.  y$ = RIGHT$(N$(CH%, z), 3)
  1410.  XL$ = LEFT$(w$, 3)
  1411.  IF y$ = s$(1) THEN IF x = 5 THEN dr$ = "d": RETURN: '<all!? <-[CHECK QBasic CHECK] !! <*
  1412.  IF y$ = s$(2) THEN IF x = 4 THEN dr$ = "d": ' -'-
  1413.  IF y$ = s$(3) THEN IF x = 3 THEN dr$ = "d"
  1414.  IF y$ = s$(4) THEN IF x = 2 THEN dr$ = "d"
  1415.  IF y$ = s$(5) THEN IF x = 1 THEN dr$ = "d"
  1416.  IF y$ = s$(6) THEN IF x = 3 THEN dr$ = "d"
  1417.  IF y$ = s$(7) THEN IF x = 4 THEN dr$ = "d"
  1418.  IF y$ = s$(8) THEN IF x = 10 THEN dr$ = "d": '<[modern]
  1419.  IF y$ = s$(9) THEN IF x = 6 THEN dr$ = "d"
  1420.  IF y$ = s$(10) THEN IF x = 7 THEN dr$ = "d"
  1421.  IF y$ = s$(11) THEN IF x = 8 THEN dr$ = "d": '<[modern]
  1422.  IF y$ = s$(12) THEN IF x = 9 THEN dr$ = "d": '<[modern]
  1423. RETURN: '>[plusasplines]
  1424. '---
  1425.  
  1426.  
  1427. '[Label]
  1428. MinusLines:
  1429.  '' // Asp or Dom ---
  1430.  xx$ = "[-Lines]": GOSUB WAITx
  1431.  GOSUB Boxes
  1432. ' [fm rolldown]:FOR X=168 TO 155 STEP-1:CIRCLE(245,100),X,0:NEXT X
  1433.  ' if mi$='y'/chr$(13)/'' ......................
  1434.  '# [pset(x%,y%)]?
  1435.  : CIRCLE (x%, y%), 168, 6: '' // --[is kept +lines 'c6' circ ??] --[cf. TempCirc !]  [+ (168+1) cleanup fm asp&dom lines?)
  1436.  PAINT (x%, y% - 4), 1, 6: '' // --[pset'd ?][+/- 4=dum <(aspcircle=7)] --(paint color '1' ?)
  1437. ' Inner Circle Lines>
  1438.  CIRCLE (x%, y%), pa%:
  1439.  : CIRCLE (x%, y%), 168, 0:     '' // --[remove ?!]
  1440.  PAINT (x%, y% - 1), 1, 15:     '' // --[best placement of this code?] --[cmp DawnDusk !!]
  1441.  PAINT (x%, y% + 1), 0, 15:     '' //  -'-
  1442.   FOR m = (hp% + 2) TO (hp% + 1) STEP -1: '' // [Reverse hp%+ (Asc/Mc)]:?:[cf. 'Axes:']
  1443.   GOSUB axes
  1444.   NEXT m
  1445.  GOSUB Tropos
  1446. RETURN: '[menu]--
  1447.  
  1448.  
  1449. '[Label]
  1450. FactorData:
  1451.  '' // [g$='x']--[a$ ?][sub L40500 redun?][h%<-float!]
  1452.  '' // [WAITx ?]
  1453.  GOSUB Boxes: LOCATE 10, 68: PRINT "this<CR> or"; : '[c32?]
  1454.  LOCATE 11, 68: PRINT "aspects "; "<--";
  1455.  LOCATE 12, 68: PRINT ; "har "; : GOSUB TypeChoice: TA$ = u$
  1456.  : IF u$ = "" THEN TA$ = t$: AT$ = t$: GOTO InFactorData1
  1457.  IF VAL(u$) < 1 OR VAL(u$) > 300 THEN GOTO FactorData: '' // [ERRCHK!]
  1458.  LOCATE 11, 76: PRINT "<->";
  1459.  LOCATE 13, 68: PRINT ; "har "; : GOSUB TypeChoice: AT$ = u$
  1460.  IF VAL(u$) < 1 OR VAL(u$) > 300 THEN GOTO FactorData: '[errchk!<-(kunat$?]
  1461. :
  1462. InFactorData1:
  1463.  GOSUB Boxes
  1464.  GOSUB L53300: '' // [L40000?]
  1465.  : xx$ = TA$ + "&" + AT$: GOSUB WAITx: '' // --[REVORDER Box-Wait ?]
  1466.  : IF u$ = "" AND t$ = "1" THEN HC% = 1: GOSUB L40500: GOTO InFactorData2: '' // [ch%=1 ?]
  1467.  HC% = 0: '' // [print h$/c$ ?][cfHC%<-laan w$(0,..] --[check!]
  1468.  : CH% = 1: '' // --[check!]--[where's hc%=1 ?]
  1469.  v% = 1: H% = VAL(TA$): '' // (for--next errchk [ex: <1])
  1470. L40020:
  1471.  IF H% > 1 THEN CH% = 2: GOSUB SubHarmonic: '' // obs! [ch%]
  1472.  IF v% = 1 THEN O% = 1: GOSUB PreAspectCalc: '' // [o%:cf dummies:]
  1473.  v% = v% + 1: IF v% = 2 THEN H% = VAL(AT$): GOTO L40020
  1474.  GOSUB AspectCalc: CH% = 1: H% = VAL(t$): '' // --:check!][cf40012][53038][Boxes+]
  1475.  '' // [ch%=/h%= -> 39100+?]:[v%gets=3?]
  1476. :
  1477. InFactorData2:
  1478.  LX% = 1: LZ% = 0
  1479.  LOCATE 16, 68: PRINT H$; " "; TA$; "^"; AT$;
  1480.  '' // >999^999[her]->999sloyfh$(h:)!?[errmax?]
  1481.  LOCATE 17, 68: PRINT c$; "..";
  1482.  GOSUB L39040
  1483.  GOSUB DiffStatus: '' // --[cf L53038][sub DiffStatus movto ca. Menu ?]
  1484.  '' // [why L39040 her ?]
  1485.  
  1486. L40040: '' // [g$='\']--[]
  1487.  FOR v% = 1 TO LT% - 1
  1488.  LZ% = LZ% + 1
  1489.  LOCATE 18 + v%, 68: PRINT K$(LX%); " ";
  1490.  : IF OO% = 1 THEN LOCATE 15 + v% + 2, 69: w$ = w$(1, LZ%, LX%): GOSUB Asp: '[L42200]
  1491.  LOCATE 18 + v%, 70: PRINT K$(LZ%); " "; w$(HC%, LX%, LZ%); "x";
  1492.  IF LZ% = PP% THEN LX% = LX% + 1: LZ% = 0: IF LX% = PP% THEN LX% = 1
  1493.  :::NEXT v%::::stop::::
  1494.  LZ% = LZ% - (LT% - 2): IF LZ% < 0 THEN LZ% = LZ% + PP%: LX% = LX% - 1
  1495.  GOTO MenuInMenu: '' // --[obs!var, obs!goto]
  1496. '' // ---[endlabelfactordata]
  1497.  
  1498.  
  1499. L40140: ' ' [g$='|']--[-OBSNOTE-]
  1500.  FOR v% = 1 TO LT% - 1
  1501.   LZ% = LZ% + 1
  1502.   LOCATE 15 + v% + 2, 68
  1503.   PRINT K$(LX%); " "; w$(HC%, LX%, LZ%); " "; K$(LZ%); "  ";
  1504.   IF LZ% = PP% THEN LX% = LX% + 1: LZ% = 0: IF LX% = PP% THEN LX% = 1
  1505.   IF OO% = 1 THEN LOCATE 15 + v% + 2, 78: w$ = w$(1, LZ%, LX%): GOSUB Asp: '' // [L42200]
  1506.  NEXT v%
  1507.  LZ% = LZ% - (LT% - 2): IF LZ% < 0 THEN LZ% = LZ% + PP%: LX% = LX% - 1
  1508.  GOTO MenuInMenu
  1509.  '' // [lw%lx%ly%*?:y%u%e%t%st%[input$ ?]]
  1510.  
  1511.  
  1512. '###
  1513.  '' // ---STOP---whatis----
  1514. L40500: ' <CR>[sub dublett?][cf L40000+/SubFactorData+][float?]
  1515. :::: STOP ::::: FOR x = 1 TO PP%
  1516.  : FOR z = 1 TO PP%
  1517.  : w$(HC%, x, z) = w$(1, x, z): REM:tegning=1 or 0 [ch%]?
  1518.  : NEXT z
  1519.  : NEXT x
  1520.  : RETURN
  1521. ' '  // ---#
  1522. '###
  1523.  
  1524.  
  1525. '[Label]
  1526. L42000:
  1527.  '' // aspsymbol --- g$='s [a$ ?]:[toggleshoworb,..?][appl/sep,..?]
  1528.  : : IF a$ = "p" THEN STOP: '' // --[Menu]
  1529.  GOSUB Boxes: LOCATE 10, 68: PRINT "symbols"; : '' // [expand 's'!]
  1530.  IF OO% = 0 THEN LOCATE 10, 76: PRINT "ON ";
  1531.  IF OO% = 1 THEN LOCATE 10, 76: PRINT "OFF";
  1532.  LOCATE 11, 68: PRINT "maxorb:"; OA%;
  1533.  LOCATE 13, 70: GOSUB WaitLoop: '' // <[redun?]
  1534.  OO% = OO% + 1: IF OO% = 2 THEN OO% = 0
  1535.  GOTO Menu
  1536.  
  1537. L42100: ' /// [g$='x'--> a$=g$--> g$='o']
  1538.  : : IF a$ = "p" THEN STOP: : : : : ' [Menu]:?:[cf1606]
  1539.  GOSUB Boxes: LOCATE 10, 68: PRINT ; "orbis";
  1540.  LOCATE 11, 68: PRINT "max-> "; : GOSUB TypeChoice: OA% = VAL(u$): '' // [ERRCHK!]
  1541.  GOTO Menu: '' // --[MenuInMenu?]
  1542.  
  1543. L42150: '' // [g$='z'::input st% & max hp%]
  1544. 42160 GOTO Menu: '' // [return?] --UNFINISHED!
  1545.  
  1546.  
  1547.  
  1548. L45000: '' // [x,z float?]
  1549.  GOSUB L53200: '' // [+whileblankout othermenuitems]-[?]
  1550.  IF dd% = 1 THEN GOSUB L20520: GOTO Menu: '<[tt$=?] <-[NO !]
  1551.  FOR z = 1 TO 5
  1552.  LOCATE z + 1, 68: PRINT m$(1, z); : '[blank '-' ): S/W)]
  1553.  x = VAL(m$(1, z)): LOCATE z + 1, 77
  1554.  ' <-[variants?][tz$=input#'ed zone!]
  1555.  IF z = 3 AND VAL(ds$) = 0 THEN PRINT "zt";
  1556.  IF z = 3 AND VAL(ds$) <> 0 THEN PRINT "dt";
  1557.  IF z = 3 OR z = 4 AND x = 0 THEN GOTO L45070: '>nextz
  1558.  IF z = 4 AND x > 0 THEN PRINT " n";
  1559.  IF z = 4 AND x < 0 THEN PRINT " s";
  1560.  IF z = 5 AND x > 0 THEN PRINT " e";
  1561.  IF z = 5 AND x < 0 THEN PRINT " w";
  1562.  '' // simplify loop!?[..else..?][^Long1st!][nil Equat/Greenw]
  1563. L45070: NEXT z
  1564.  : dd% = 0: GOTO L39030: '' // [i]<-(dd%=1)
  1565.  
  1566. L45500: ' /// ****
  1567.  aa% = aa% + 1
  1568.  LOCATE 2, 67: PRINT "             ";"8";
  1569.  LOCATE 2, 68
  1570.  IF aa% = 1 THEN PRINT m$(1, 0); : '[(0,1)etc.?]
  1571.  IF aa% = 2 THEN PRINT f1$; : aa% = 0
  1572. RETURN
  1573.   '' // [simplify loop?(=0/1)
  1574.  
  1575. L46000: '--------
  1576.  u% = 2: '[x%=h%][ch%?]<<-<*
  1577.  z$ = "|:::::::::|:::::::::|:::::::::| "
  1578.  GOSUB Blank: b% = 0: O% = 2: 'grid loc [row,col]
  1579.  FOR z = 1 TO 12: LOCATE b% + z, O%: PRINT z$; s$(z): NEXT z
  1580. FOR L% = 1 TO 12: '[blw! &^ <-(z,d float?)]
  1581. il% = -1: FOR z = 1 TO 12
  1582. IF RIGHT$(N$(CH%, L%), 3) = s$(z) THEN il% = z: z = 12
  1583. NEXT z
  1584. FOR D = 0 TO 29
  1585. IF VAL(LEFT$(N$(CH%, L%), 2)) = D THEN D% = D: D = 29: '<[float?]
  1586. IF VAL(MID$(N$(CH%, L%), 4, 2)) > 29 THEN D% = D% + 1
  1587. NEXT D
  1588.  ' [Z%(M)=il%+D%]
  1589. IF il% <> -1 THEN LOCATE il%, (D% + 1) + O%: PRINT K$(m); : '[;]?
  1590. NEXT L%
  1591. GOTO Menu
  1592. '--------
  1593.  
  1594.  
  1595. '[Label]
  1596. TruncateRounding:
  1597.  i%  = int(val(z$))
  1598.  ii% = VAL(LEFT$(z$, 3))
  1599.  GOSUB InTrunc
  1600. RETURN
  1601. :
  1602. '[SubLabel]
  1603. InTrunc:
  1604.  s$ = ""
  1605.  FOR L% = 11 TO 0 STEP -1: '<[step redun?]
  1606.   IF ii% >= (L% * 30) THEN s$ = s$(L% + 1): L% = 0: '' // [Blw> [ii%= ii% -( ) here!?]-[whatis]-[?]
  1607.  NEXT L%
  1608.  '' // L52035: // [why double (cfSubHarmonic+)]? <--- obs! <---
  1609.  FOR L% = 0 TO 11: '' // <[L52040 ?]
  1610.   IF s$ = s$(L% + 1) THEN ii% = ii% - (L% * 30): L% = 11
  1611.  NEXT L%
  1612.  r = val(mid$(z$,4))
  1613.  r = (r*60)
  1614.  r = r + 0.5
  1615.  i% = int(r)
  1616.  if i% > 59 then i% = (i% - 60): ii% = (ii% + 1)
  1617.  i$ = STR$(ii%): i$ = MID$(i$, 2)
  1618.  IF ii% < 10 THEN i$ = "0" + i$: '' // [" " + i$-]-[?]
  1619.  r$ = str$(i%): r$ = mid$(r$,2)
  1620.  if i% < 10 then r$ = "0" + r$: '' // [" " + i$-]-[?]
  1621.  z$ = i$ + "-" + r$ + " " + s$: '' // (z$:file:L2000+) [-/r (Rx) ?]
  1622.  : : : if ii% >= 360 then stop::
  1623.  : : : if i% > 59    then stop::
  1624.  : : : if len(r$) > 2 then stop::
  1625.  '' // also ERRCHKerrchk if ii% = 0]-[?]-[!]
  1626.  '' // --[whatif  r [a.o].= 0]-[?]-[#]
  1627. RETURN
  1628. '<---
  1629.  
  1630. L53000: ' *** pos* [trop/sid ?]*
  1631.  'rem:[+this <CR> <-cf40000+]
  1632.  '' // GOSUB Boxes
  1633.  LOCATE 9, 68: PRINT "positions:";
  1634.  LOCATE 10, 68: PRINT "har "; : GOSUB TypeChoice: tt$ = u$: H% = VAL(tt$)
  1635.  IF H% < 1 OR H% > 300 THEN GOTO L53000
  1636.  
  1637. PrintPosNewChart:
  1638.  '' // [WAITx ?]
  1639.  '' // GOSUB Boxes:
  1640.  GOSUB L53300: '' //<-[x50redun='N'?<-cf2210,6032][gotox27?]
  1641.  xx$ = tt$: '' // GOSUB WAITx:::::::  'blw!:[ch%/hc%:cf1633] <-[k%!] --[REVORDER Box-Wait ?]
  1642.  IF H% = 1 THEN CH% = 1: HC% = 1: GOTO L53029: '' // [h% i draw/pos?] <-[cf6050]!
  1643.  CH% = 0: GOSUB SubHarmonic: HC% = 0: '' // [hc% mov/chng/coll?]
  1644. L53029:
  1645.  GOSUB L53030
  1646.  GOTO MenuInternAndExternGoto: '' // --[!] ### [LOOP AROUND Menu: not meta-sub, but 'goto' !!] ###
  1647. :'###
  1648. :
  1649. L53030:
  1650. '' // [ly%=0 ?]
  1651.  LOCATE 16, 68: PRINT H$; " "; tt$; " :"; : '' // [er h% nullet[tt$]]?
  1652.  GOSUB DiffStatus: '' // --[cf40036]::LOCATE 17,67:PRINT E4$;:'[^movsubx70?]
  1653.  :
  1654. L53050: '' // [GOSUB 39040] '[mov?]<-[cf39162] <<-<*
  1655.  IF K% = 3 THEN K% = 1
  1656.  FOR v% = 1 TO LT%: LY% = LY% + 1: IF LY% > PP% THEN LY% = 1
  1657.  LOCATE 17 + v%, 68: ON K% GOSUB L53410, L53430
  1658.  IF LY% = PP% THEN LY% = 0
  1659.  NEXT v%
  1660.  : LY% = LY% - (LT% - 1): IF LY% <= 0 THEN LY% = LY% + PP%
  1661. RETURN
  1662.  
  1663.  
  1664. '' // WHAT IS -[?];
  1665. '' // L53170: :::stop::: 'IF A$<>"" THEN 53045 ?::
  1666. '' // L53180: ::::stop:::: 'GOTO 39350: '[53600 ?]:k%=1::
  1667.  
  1668. L53200:
  1669.  FOR L% = 2 TO 6: '' // --[fm45020]
  1670.  LOCATE L%, 67: PRINT "             ";: '' // --[13 spc]
  1671.  NEXT L%
  1672.  LOCATE 8, 72: PRINT "   "; : '' // [if toggl e%=?]
  1673. RETURN
  1674.  
  1675. L53300: '[cfsub 20570,6000, (L7000 <-g$='N') !][cf Menu]
  1676.  FOR L% = 16 TO 24: LOCATE L%, 67: PRINT E6$; : NEXT L%: '' //[?]
  1677.  FOR L% = 70 TO 73 STEP 3: LOCATE 25, L%: PRINT " "; : NEXT L%
  1678.  LOCATE 25, 76
  1679.  IF a$ = "p" THEN PRINT "p"; : b$ = a$
  1680.  IF a$ = "x" THEN PRINT "x"; : b$ = a$
  1681. RETURN: '[->20570+?]
  1682.  
  1683.  
  1684. '' // [00-00/00r00 Xxx]!
  1685. '' // [L850/52]:[SubHarmonic+]
  1686. L53410:
  1687. PRINT K$(LY%); " "; N$(HC%, LY%);
  1688. RETURN
  1689.  
  1690. L53430:
  1691. PRINT K$(LY%); " ";
  1692. PO$ = P$(HC%, LY%)
  1693. print left$(PO$, 11);
  1694. RETURN
  1695. ' ---
  1696.  
  1697. '[Label]
  1698. TypeChoice:
  1699.  '' // <DIR> input-emul (screen2)[common] [input$() ?]:key(n)off
  1700.  u$ = ""
  1701.  '' // (input):poss writerubbish! (line input??)::arrows etc.
  1702. LocLoop: in$ = INKEY$: IF in$ = "" THEN GOTO LocLoop: '' // Blw:[cf2100+/amap]
  1703.  IF in$ = CHR$(13) OR in$ = CHR$(27) OR LEN(u$) = 8 THEN GOTO RetThis
  1704.  IF ASC(in$) > 96 AND ASC(in$) < 123 THEN in$ = CHR$(ASC(in$) - 32): '' // [ERRCHK] & [HIGH HARMONIC !]
  1705.  IF u% = 1 THEN PRINT in$; : u$ = u$ + in$: '' // [u%=0 ?]
  1706.  GOTO LocLoop: '' // [where? <-u%= ][cfL1670]
  1707. RetThis:
  1708. if in$ = CHR$(27) then gosub WAITx: goto Menu: '' // [WAITX Redun or elsewhere]-[?]
  1709. RETURN: '' // [cf'atie']
  1710.  '' // [errchk/changes/varia,..!]--[ex:del-tast,no -space-!]
  1711.  
  1712.  
  1713. '' // [WHAT IS]-[?]
  1714. '' // 57000 ::print "<key>";
  1715. '' // 57010 in$=inkey$:if in$="" then 57010
  1716. '' // 57020 return
  1717.  
  1718. WaitLoop:
  1719. '' // ['wait'?]--[cpu-depend!]-[Redun]-[?]
  1720.  FOR L% = 1 TO 99999: NEXT L%
  1721. RETURN
  1722.  
  1723. '---
  1724.  
  1725. '[Label]
  1726. axes:
  1727.  '' // '# [Unprecise axes! (trunc vals)] ###
  1728.  '' // <[Asc or MC first (hp% + ?] <[coord!] :?: [cf. 'InMainDraw:'] [asc=asc]?
  1729.  i$ = tf$: '' // <[best placement in prg ?] <--
  1730.  SELECT CASE m
  1731.   CASE hp% + 2: '[ASC]
  1732.    GOSUB TurnAngle
  1733.    GOSUB DrawASC
  1734.   CASE hp% + 1: '[MC]
  1735.    GOSUB TurnAngle
  1736.    IF tt$ = "i" THEN mcv$ = v$: '' // <[MC's pos vs. horizon (Desc <- 'ta0')] <-[cf. 'InMainDraw:'<(m=1=Sun) + cf. MO]
  1737.    GOSUB DrawMC
  1738.  END SELECT
  1739.  i$ = tf$
  1740.  IF m = (hp% + 1) THEN GOTO RETimd: '' // <[if hp%+2 ?]<->[Asc/MC +1/+2 ?] <-(which 1st ?)
  1741.  : DRAW "ta0"
  1742.  '' // IF tf$ <> "1" THEN DRAW "c" + STR$(i%): '<[color lost by Gosub, Pset, etc. (not by Call)]
  1743.  LOCATE 59, 51: PRINT "MC";: PSET (440, 465): CALL ArrowMC(i$, i%)
  1744.  LOCATE 60, 51: PRINT "ASC";: PSET (440, 475): CALL ArrowASC(i$, i%): '' // <['asc'; nocurs]^
  1745.  '' // IF tf$ <> "1" THEN DRAW "bu3": PAINT STEP(0, 0), i%, 15 --[?]
  1746.  LOCATE 59, 59: '' // ['mc =    spaces]-[??]
  1747.  IF tf$ = "1" and CH% = 1 THEN PRINT " S";
  1748.  IF tf$ <> "1" THEN PRINT "Turned  ";
  1749.  if CH% <> 1 then print "HAR     ";
  1750.  LOCATE 60, 59: '' // ['asc =      ' ?] <-[backgrcolor problem !?]
  1751.  IF tf$ = "1" and CH% = 1 THEN PRINT " E";
  1752.  IF tf$ <> "1" THEN PRINT "Turned  ";
  1753.  if CH% <> 1 then print "HAR     ";: '' // [What if SU etc]. --[?]
  1754. RETimd: RETURN: '>[InMainDraw & MinusLines]
  1755.  
  1756.  
  1757. PlanetSymbols: ' /// 'planet's
  1758.  '  node/arab..!?
  1759.  '  axes/lines..draw1stdue'luft'tilsymboler!!
  1760. '# L60030:
  1761.  : IF MI$ = CHR$(13) THEN GOTO L60050
  1762.  DRAW "br163": FOR L% = 1 TO 3: CIRCLE STEP(0, 0), L%: NEXT L%: '[br/blxx]?
  1763.  DRAW "bl49": CIRCLE STEP(0, 0), 3: '[48]?
  1764.  DRAW "br2": '<[br <-place 'planet' symb]!
  1765.  GOTO L60052
  1766. L60050: : DRAW "br" + p1$: CIRCLE STEP(0, 0), 3
  1767.  : DRAW "br56": FOR L% = 1 TO 3: CIRCLE STEP(0, 0), L%: NEXT L%: DRAW "bl56"
  1768. L60052: DRAW "br" + O$: DRAW "ta0": DRAW "bu6 bl12"
  1769.  ' IF tf$ <> "1" THEN STOP
  1770.  
  1771.  
  1772.  '' // [ON m gosub SUN,MO >- -> case 3] <[alternative]-[?]
  1773.  
  1774.  SELECT CASE m
  1775.  CASE 1
  1776.   CALL SUN(tf$)
  1777.  CASE 2
  1778.   GOSUB MO
  1779.    IF tt$ = "i" THEN mv$ = v$: '' // <[MO's pos vs. horizon (Desc <- 'ta0')] <-[cf. 'InMainDraw:'<(m=1=Sun) + cf. 'Axes:(MC)]
  1780.  CASE 3
  1781.   CALL ME
  1782.  CASE 4
  1783.   CALL VE
  1784.  CASE 5
  1785.   CALL MA
  1786.  CASE 6
  1787.   CALL JU
  1788.  CASE 7
  1789.   CALL SA
  1790.  CASE 8
  1791.   CALL UR
  1792.  CASE 9
  1793.   CALL NE
  1794.  CASE 10
  1795.   CALL PL
  1796.  END SELECT
  1797. RETURN: '>[InMainDraw] '[<=Select Case ??]
  1798. '---------
  1799.  
  1800.  
  1801. '[Label]
  1802. DrawASC: ' /// '<[56/57 ??] [cf DawnDusk!] # ['ta0'=Desc !!]  ['right'<->'left' (on screen!)]  ['up'<->'down'] <-!!!
  1803.    ' [l%=color horiz plane day/night (Tropos/inner circle): '<['free' l%/i%/il% ??] '[redun pset etc. ?]
  1804.    ' [i%/il%=sky color above/below horizon]
  1805.    '# FOR l%=1 TO 10
  1806.    '# CIRCLE (X%,Y%),P1%-l%,,V,V+((2*PI)/360)
  1807.    '# CIRCLE (X%,Y%),P1%-l%,,(V-PI),(V-PI)+((2*PI)/360) <<-<*
  1808.    '# NEXT l%
  1809.  
  1810.  '[Hemispheres]: '[cf. 'DawnDusk:'] '>[Drawasc & Innercirclelines]
  1811.  IF VAL(sv$) > 180 THEN i% = 1: il% = 9: L% = 3:      '<-blw![check v$!]
  1812.  IF VAL(sv$) < 180 THEN i% = 9: il% = 1: L% = 11
  1813.   ' IF VAL(sv$) > 170 AND VAL(sv$) < 190 THEN i% = 1: '[dawn]
  1814.   ' IF VAL(sv$) > 350 AND VAL(sv$) < 10 THEN i% = 1:  '[dusk]
  1815.  :
  1816.  IF MI$ <> CHR$(13) THEN GOTO Middle
  1817.  :
  1818. Outer:
  1819.  ' '// # [DRAW "r" + PA$: DRAW "br"+Q$:DRAW "br"+O$:DRAW "ta0":DRAW "bu6 bl12"[+mc]]
  1820.  DRAW "bl57 l110 l12": '<[where pre-pset'd ?][cf TurnAngle]<-[left/right mirrored!] <* [bl57/br57]<->[cf. PAINT 'DawnDusk']
  1821.  PSET (x%, y%): DRAW "br57 r110 r12 br41 r9": '' // [drawn axes inside main circle]
  1822.  ' ' IF tf$ <> "1" THEN DRAW "c" + STR$(i%):  '<[color as above radix horizon]
  1823.  CALL ArrowASC(i$, i%): '' // [cf. 'DrawMC:']
  1824.  PAINT STEP(0, 0), i%, 15: ' <-[use vars! <-pa%+dum] [turnangle'd ??]
  1825.  DRAW "bu20": '<[dum]<[cf. comments in 'ArrowASC:']
  1826.  PAINT STEP(0, 0), il%, 15
  1827.  PAINT (x%, y% - 10), L%, 15:  ' [,,defaultborder <(var) ?] <-[Tropos default] <[pset'd ?]
  1828.   ' [10=dum]      '[magenta/light magenta? (shades/sunrise/set?)] ^^ [init inner circle = horizon plane (symbolic!)]
  1829.   '' // [is painted (first) even if ='t' !? <(also A&D Lines!?)]
  1830.  z% = pa%
  1831.  GOSUB DawnDusk
  1832.  GOTO RETaxes
  1833.  :
  1834. Middle: '' // [UNFINISHED!]
  1835.  DRAW "bl57 l110": PSET (x%, y%): DRAW "br57 r110": '' // <[where pre-pset'd ?]
  1836.  CALL ArrowASC(i$, i%): PSET (x%, y%): '' // >pset? ::[i$=?? (tf$?)
  1837.  :
  1838. RETaxes: RETURN
  1839.  
  1840.  
  1841.  
  1842. '[Label]
  1843. DawnDusk:
  1844.  '' // <[inner circle hemispheres <(center)] '<[55/56/57]<?>[5/6/7]['t': br 1/2/3 ?]  <#['taX'/pset reduns?]#
  1845.  '' // <[spare (free) var l% ?]        ^^[cf DrawASC] ^[less black night]<?>[seasons/latitudes][dawn/dusk][moonlight?]
  1846.  '' //                                               ' [polar regions/polar Sun] <*
  1847.  IF tf$ <> "1" OR ln% = 1 THEN GOTO t: '' // --[make switch? - e.g. necessary only 1st time turned]
  1848.  GOTO RETdrawasc
  1849.  :
  1850. t:
  1851.  '' // [i$='0' redun (2x) here (Asc&MC), but 'HorizDiagonal:' may be used in later prg development!?]
  1852.  '' // l% = 11: '<[cf. 'Tropos:'] <-[remove this line ...!!]
  1853.  DRAW "ta180": '<['normal' Asc] <[pset'd ?]
  1854.  GOSUB HorizDiagonal
  1855.  PAINT (x%, y% - 4), i%, 15
  1856.  PAINT (x%, y% + 4), il%, 15
  1857.  :
  1858. IF ln% = 1 THEN GOTO IfLinesDrawn: '' // --[1st -> --??--label for MC]! <-temp!!: <-^[cf. SUB LEGENDprgSPECS]
  1859.  :
  1860.  GOSUB HorizDiagonal: '' // --[horizon=ArrowASC / paint->pset?] ' <-^&blw![where go(es) the color(s) ??] <-['pset' yields default !]
  1861.  i$ = "0": CALL ArrowASC(i$, i%): '' // --[g$ ??] [+ draw 'br2'?]
  1862.  PSET (x%, y%): DRAW "ta0": '' // --[pset=c15 !??] --['ta0'<-not 180]!
  1863.  DRAW "ta" + mcv$
  1864.  GOSUB HorizDiagonal
  1865.  i$ = "0": CALL ArrowMC(i$, i%)
  1866.  :
  1867.  CIRCLE (x%, y%), 6, 0: '' // --[radius=6 ?] --['fractal' Tropos]
  1868.  PAINT (x%, y% + 3), L%, 0
  1869.  GOSUB CenterSunMoon
  1870.  GOTO RETdrawasc
  1871.  :
  1872.  :   '' // &blw![use color-var!] <-[Resizing]
  1873.  :
  1874. '[Label]
  1875. IfLinesDrawn:
  1876.  PSET (x%, y%): DRAW "ta0": '' // --[pset=c15 !??] <-['ta0'<-not 180]!
  1877.  DRAW "ta" + mcv$
  1878.  GOSUB HorizDiagonal
  1879.  IF tf$ <> "1" THEN PSET (x%, y%): DRAW "c0": DRAW "bl3 l3": '' // --[Asc] ' --['pset' redun after 'paint' ??]
  1880.  IF tf$ <> "1" THEN PSET (x%, y%): DRAW "ta0": DRAW "ta" + mcv$: DRAW "br3 r3"
  1881.  CIRCLE (x%, y%), 2, L%
  1882.  PAINT (x%, y%), L%, L%
  1883. RETplusasplines:
  1884. RETURN
  1885. :
  1886. RETdrawasc: RETURN:
  1887. '' // Tropos: ['Tropos:' drawn last (just before Menu)]
  1888. '' // ''''''' [due to color leaks <(?)]--[cf. 'MainDraw:']
  1889. '' // ''''''''[imperfect circles <(?)]
  1890. '' // ''''''''[grad-lines]-[?]
  1891.  
  1892. HorizDiagonal:
  1893.  PSET (x%, y%): '<[redun?] <-(cf. 'DrawAsc:[Outer:]' & 'DawnDusk:[t:]')
  1894.  IF ln% = 0 THEN DRAW "l56": PSET (x%, y%): DRAW "r57": '[pa%+1 (56+1) ?] <[use vars!]
  1895.  IF ln% = 1 THEN DRAW "l" + STR$(z%): PSET (x%, y%): DRAW "r" + STR$(z%): '[(z%+1) ?]
  1896. RETURN: '>DawnDusk:[t:]
  1897.  
  1898. CenterSunMoon:
  1899.  PSET (x%, y%): DRAW "ta0":
  1900.  DRAW "ta" + sv$: DRAW "br50"
  1901.  PSET STEP(0, 0), 0
  1902.  CIRCLE STEP(0, 0), 2, 0
  1903.  PAINT STEP(0, 1), 14, 0
  1904.  :
  1905.  PSET (x%, y%): DRAW "ta0":
  1906.  DRAW "ta" + mv$: DRAW "br50"
  1907.  CIRCLE STEP(0, 0), 2, 0
  1908.  PAINT STEP(0, 1), 7, 0
  1909. RETURN: '>DawnDusk:[t:]
  1910.  
  1911. '[Label]
  1912. DrawMC: ' ///
  1913.   ' :FOR l%=1 TO 10
  1914.   ' :CIRCLE (X%,Y%),P1%-l%,,V,V+((2*PI)/360)
  1915.   ' :IF V <  PI  THEN CIRCLE (X%,Y%),P1%-l%,,(V+PI),(V+PI)+((2*PI)/360)
  1916.   ' :IF V >= PI  THEN CIRCLE (X%,Y%),P1%-l%,,(V-PI),(V-PI)+((2*PI)/360)
  1917.   ' NEXT l%
  1918.  : IF MI$ = CHR$(13) THEN GOTO L61160
  1919.  DRAW "bl57 l110": PSET (x%, y%): DRAW "br57 r110": GOTO L61190: ' >[110]?
  1920. L61160:
  1921.  DRAW "bl57 l110 l12": PSET (x%, y%): DRAW "br57 r110 r12 br41 r9"
  1922.  ' ' IF tf$ <> "1" THEN DRAW "c" + STR$(i%):  '<[i% retained fm 'DrawAsc:']
  1923. L61190:
  1924.  CALL ArrowMC(i$, i%)
  1925. RETURN: '>axes
  1926.  
  1927.  
  1928. ' SU&MO: [SUBs w/ arg sv$ ?]<->[or args & alternate colors/drawings in 'Select Case' loop in 'PlanetSymbols:' ??]
  1929. ' Memo:  [E c l i p s e s !]
  1930.  
  1931. MO: DRAW "c0": '-----------------MO-----|''''|''''|''^'|''''|''''|:rem <[phases!]
  1932.  DRAW "br10 r5 br10              bd1": '|          *****          '
  1933.  DRAW "bl6 l4 bl5 l4 bl6         bd1": '|      ****     ****      '
  1934.  DRAW "br3 r3 br4 r1 br8 r3 br3  bd1": '|   ***    *        ***   '
  1935.  DRAW "bl2 l2 bl8 l2 bl7 l2 bl2  bd1": '|  **       **        **  '
  1936.  DRAW "br1 r2 br10 r1 br8 r2 br1 bd1": '| **          *        ** '
  1937.  DRAW "l1 bl9 l1 bl13 l1         bd1": '|*             *         *'
  1938.  DRAW "r1 br14 r1 br8 r1         bd1": '-*              *        *'
  1939.  DRAW "l1 bl9 l1 bl13 l1         bd1": '|*             *         *'
  1940.  DRAW "br1 r2 br10 r1 br8 r2 br1 bd1": '| **          *        ** '
  1941.  DRAW "bl2 l2 bl8 l2 bl7 l2 bl2  bd1": '|  **       **        **  '
  1942.  DRAW "br3 r3 br4 r1 br8 r3 br3  bd1": '|   ***    *        ***   '
  1943.  DRAW "bl6 l4 bl5 l4 bl6         bd1": '|      ****     ****      '
  1944.  DRAW "br10 r5                      ": '|          *****          '<[bu 3]:?:[bl 6]
  1945.  DRAW "bu3": '---------------------------
  1946. IF tf$ <> "1" THEN GOTO TurnedMO
  1947.  i% = 14: IF VAL(sv$) < 180 THEN i% = 7: '' // <[7=daytime!] <[fading/graduated colors?]
  1948.  '' //                                   '' // [sv$ <(Sun's radix 'ta' assigned in 'InMainDraw:']
  1949.  PAINT STEP(0, 0), i%, 0: '' // <[cf SUN] -- <[cf. DrawAsc+DawnDusk]  [i% free ?]<->(SUBlocal?)]
  1950. TurnedMO:
  1951.  DRAW "bl6": PAINT STEP(0, 0), 0, 0
  1952.  RETURN
  1953.  ' [var$=phase <-[aspSU-MO]!?] <(eclipses?)
  1954.  ' ^^[MO1,MO2,MO3,MO4 ?] <-(Quarters) <- (mirror images/bitmaps ??)
  1955.  ' ^^[gibbous, 'first sight' (visual), etc. ??]
  1956.  
  1957. '-->
  1958. 'mmmmmmmm
  1959. Irregular:
  1960. locate xloc%+10,10: print "IRREGULAR": stop
  1961. : '' ---loc!?---[autoexec.bat: 'break=off' !?]
  1962. : '' ---cls!?
  1963. : LOCATE xloc%, 40: PRINT "[tie]  'A' is started with '<a> <CR>' in base directory!"
  1964. : locate xloc%, 42: print "<key>;
  1965. : in$ = INPUT$(1)
  1966. '' '' [input$(1)]
  1967. '' '' [DO UNTIL INKEY$ <> "": LOOP]
  1968. : CLEAR
  1969. : SYSTEM
  1970. :
  1971. : '[-> astrap.bat -> a.bat (erase switches, etc.) -> end]
  1972. 'mmmmmmmm
  1973. END: '<[redunexit]
  1974. '#<--
  1975.  
  1976. '---------
  1977. 'A_QB_DRAW.BAS
  1978.  
  1979. '---'
  1980. SUB aqu : ' ' DRAW "c3": '-------------aqu----|''''|''''|''^'|''''|''''|
  1981.  DRAW "br4 r2 br6 r2 br3               bd1": '|    **      **
  1982.  DRAW "bl1 l2 bl2 l2 bl2 l2 bl2 l2 bl2 bd1": '|  **  **  **  **
  1983.  DRAW "r2 br6 r2 br6 r1                bd1": '|**      **      *
  1984.  DRAW "bl17                            bd1": '|
  1985.  DRAW "br4 r2 br6 r2 br3               bd1": '-    **      **
  1986.  DRAW "bl1 l2 bl2 l2 bl2 l2 bl2 l2 bl2 bd1": '|  **  **  **  **
  1987.  DRAW "r2 br6 r2 br6 r1                   ": '|**      **      *
  1988.  : : :                                    : '|
  1989.  : : :                                    : '|
  1990. END SUB
  1991.  
  1992. SUB ari :  ' ' DRAW "c3": '------------ari----|''''|''''|''^'|''''|''''|
  1993.  DRAW "r5 br15 r5                      bd1": '|*****               *****
  1994.  DRAW "l2 bl3 l2 bl11 l2 bl3 l2        bd1": '|**   **           **   **
  1995.  DRAW "br1 r2 br3 r2 br9 r2 br3 r2 br1 bd1": '| **   **         **   **
  1996.  DRAW "bl7 l2 bl7 l2 bl7               bd1": '|       **       **
  1997.  DRAW "br8 r2 br5 r2 br8               bd1": '-       **     **
  1998.  DRAW "bl9 l2 bl3 l2 bl9               bd1": '|         **   **
  1999.  DRAW "br10 r2 br1 r2 br10             bd1": '|          ** **
  2000.  DRAW "bl11 l3 bl11                    bd1": '|           ***
  2001.  DRAW "br11 r3 br11                    bd1": '|           ***
  2002. END SUB
  2003.  
  2004. SUB ArrowASC (i$, i%) : '-------|''''|''''|''^'|''''|''''|
  2005. : : :                        : '|
  2006. : : :                        : '|
  2007. DRAW "u3                    ": '|
  2008. DRAW "r5 br3             bd1": '|     *****
  2009. DRAW "l8                 bd1": '|     ********
  2010. DRAW "r11 br4            bd1": '|     ***********
  2011. DRAW "l15                bd1": '-     ***************
  2012. DRAW "r11 br4            bd1": '|     ***********
  2013. DRAW "bl7 l8             bd1": '|     ********
  2014. DRAW "r5                    ": '|     *****
  2015. : : :                        : '|
  2016. : : :                        : '|
  2017. : : :                        : '|
  2018. '--------------------------------
  2019. DRAW "bu3"
  2020. IF VAL(i$) > 1 THEN CIRCLE STEP(0, 0), 2, i%: PAINT STEP(0, 0), i%, i%: '15: '<[no pset'd !?]
  2021. DRAW "bl5"
  2022. '' // ^[colored inside when turned!] ^
  2023. '' // ^['c15'=default]               ^
  2024. DRAW "bl150 bd10            ": '|
  2025. '' //  ^^  ^[150/10 <-dum!]^[u/bu ?]^
  2026. '' // ['step' for 'paint' hemispheres]
  2027. '' // [USE VARS! <(not dums)]       ^
  2028. '' // [^for (re)size of chartdraws]  ^
  2029. '' // [^cf. label SizeConstants:     ^
  2030. END SUB: '-----------------------
  2031.  
  2032. SUB ArrowMC (i$, i%) : '--------|''''|''''|''^'|''''|''''|
  2033. : : :                        : '|
  2034. : : :                        : '|
  2035. DRAW "u3                    ": '|
  2036. DRAW "r5 br3             bd1": '|     *****
  2037. DRAW "l3 bl4 l1          bd1": '|     *oooo***
  2038. DRAW "r1 br7 r3 br4      bd1": '|     *ooooooo***
  2039. DRAW "l5 bl9 l1          bd1": '-     *oooooooo*****
  2040. DRAW "r1 br7 r3          bd1": '|     *ooooooo***
  2041. DRAW "bl3 l3 bl4 l1      bd1": '|     *oooo***
  2042. DRAW "r5                    ": '|     *****
  2043. : : :                        : '|
  2044. : : :                        : '|
  2045. : : :                        : '|
  2046. '--------------------------------
  2047. IF VAL(i$) > 1 THEN DRAW "c" + STR$(i%): DRAW "bu1 l4 u4 r3 d3 l2 u2 r1 d2 r2 u2 r1 d2 r1 u2 d1 r1"
  2048. '' // ^[colored inside when turned!]
  2049. END SUB: '-----------------------
  2050.  
  2051. SUB can : '------------------can----|''''|''''|''^'|''''|''''|
  2052.  DRAW "r20                  bd1": '|********************
  2053.  DRAW "l2 bl10 l1 bl6 l1    bd1": '|*      *          **
  2054.  DRAW "r1 br7 r1 br8 r2 br1 bd1": '|*       *        **
  2055.  DRAW "bl11 l9              bd1": '|*********
  2056.  DRAW "br20                 bd1": '-
  2057.  DRAW "l9 bl11              bd1": '|           *********
  2058.  DRAW "br1 r2 br8 r2 br7 r1 bd1": '| **        *       *
  2059.  DRAW "l1 bl6 l1 bl10 l2    bd1": '|**          *      *
  2060.  DRAW "r20                  bd1": '|********************
  2061. END SUB
  2062.  
  2063. SUB cap : '----------------------cap----|''''|''''|''^'|''''|''''|
  2064.  DRAW "br9 r5 br3               bd1": '|          *****
  2065.  DRAW "bl2 l2 bl3 l2 bl5 l2 l1  bd1": '|  **     **   **
  2066.  DRAW "br2 r2 br5 r2 br1 r2 br3 bd1": '|   **     ** **
  2067.  DRAW "bl3 l3 bl6 l2 bl3        bd1": '|    **      ***
  2068.  DRAW "br4 r2 br4 r2 br2 r2 br1 bd1": '-     **    **  **
  2069.  DRAW "l2 bl4 l2 bl2 l2 bl5     bd1": '|      **  **    **
  2070.  DRAW "br7 r3 br3 r2               ": '|        ***   **
  2071.  : : :                             : '|
  2072.  : : :                             : '|
  2073. END SUB
  2074.  
  2075. SUB DerivedMsgText
  2076.  '' //  Use dialog-input at start of prg to decide if msg-boxes thruout is wanted by user?! <-(boxes can be ESCed)
  2077.  ' ---
  2078.  '' // [Derived-derived-derived-... must be calculated mentally. ] '<-[per now, as prg is]
  2079.  '' // [Ex: You are turned to derived House 4 (from radix=Cyc 1).] '<-[msg-box with description ?]
  2080.  '' // [--  You get to derived 7 from derived 4 by 4+7=11        ] '  [- that can be chosen/esc'd]
  2081.  '' // [--  You press 't' and give '11' in dialog                ] '
  2082.  '' // [--  As prg stands, you must remember where you are!      ] '  [etc. ...]
  2083.  '
  2084.  '' //  <[Would a choice dialog + databox have any end?     ]
  2085.  '' // [ex: derived 7 fm derived 4 from radix (Cyc 4 <- 1)]
  2086.  '' // [ex: der 11 fm der 3 fm dr 2 fm der 9 fm ...       ]
  2087. END SUB
  2088.  
  2089. SUB EKSEMPEL : '[float?]
  2090. ' FOR X=1 TO 13
  2091. ' FOR Y=1 TO 25
  2092. ' RR$ = MID$(DR$(X),Y,1)
  2093. ' IF RR$ = "*" THEN DRAW "r1" ELSE DRAW "br1"
  2094. ' NEXT Y
  2095. ' DRAW "bl25 bd1"
  2096. ' NEXT X
  2097. ' RETURN <*
  2098. ' # [diagonaler etc. ?]
  2099. '---
  2100. ' '  >?>?>?>?>?  DRAW "u7 d2 l3 r6 l3 d5 r2 e3 r2 f4 l2 g3 l3" <<-<*
  2101. '---
  2102. END SUB
  2103.  
  2104. SUB gem : '---------------gem----|''''|''''|''^'|''''|''''|
  2105.  DRAW "r25               bd1": '|*************************
  2106.  DRAW "l25               bd1": '|*************************
  2107.  DRAW "br6 r3 br7 r3 br6 bd1": '|      ***       ***
  2108.  DRAW "bl6 l3 bl7 l3 bl6 bd1": '|      ***       ***
  2109.  DRAW "br6 r3 br7 r3 br6 bd1": '-      ***       ***
  2110.  DRAW "bl6 l3 bl7 l3 bl6 bd1": '|      ***       ***
  2111.  DRAW "br6 r3 br7 r3 br6 bd1": '|      ***       ***
  2112.  DRAW "l25               bd1": '|*************************
  2113.  DRAW "r25               bd1": '|*************************
  2114. END SUB
  2115.  
  2116. SUB JU : DRAW "c0": '------JU-----|''''|''''|''^'|''''|''''|
  2117.  DRAW "br25               bd1": '|
  2118.  DRAW "bl19 l2 bl4        bd1": '|    **
  2119.  DRAW "br6 r2 br17        bd1": '|      **
  2120.  DRAW "bl15 l2 bl8        bd1": '|        **
  2121.  DRAW "br9 r2 br14        bd1": '|         **
  2122.  DRAW "bl14 l1 bl10       bd1": '|          *
  2123.  DRAW "br10 r1 br8 r1 br5 bd1": '-          *        *
  2124.  DRAW "bl5 l1 bl8 l1 bl10 bd1": '|          *        *
  2125.  DRAW "br11 r11 br3       bd1": '|           ***********
  2126.  DRAW "bl5 l1 bl19        bd1": '|                   *
  2127.  DRAW "br19 r1 br5        bd1": '|                   *
  2128.  DRAW "bl5 l1 bl19        bd1": '|                   *
  2129.  DRAW "br19 r1 br5           ": '|                   *
  2130. END SUB
  2131.  
  2132. SUB leo : '------------------leo----|''''|''''|''^'|''''|''''|
  2133.  DRAW "r17                  bd1": '|      ***
  2134.  DRAW "l17                  bd1": '|     *   **
  2135.  DRAW "r17                  bd1": '|    *     **
  2136.  DRAW "l17                  bd1": '|   *       **
  2137.  DRAW "r17                  bd1": '-***         **  *
  2138.  DRAW "l17                  bd1": '|* *          ** *
  2139.  DRAW "r17                  bd1": '|***           **
  2140.  : : :                         : '|
  2141.  : : :                         : '|
  2142. END SUB
  2143.  
  2144. SUB lib : '---------------lib----|''''|''''|''^'|''''|''''|
  2145.  DRAW "br17              bd1": '|
  2146.  DRAW "bl7 l3 bl7        bd1": '|        ***
  2147.  DRAW "br4 r2 br5 r2 br4 bd1": '|     **     **
  2148.  DRAW "l5 bl7 l5         bd1": '| *****       *****
  2149.  DRAW "br17              bd1": '-
  2150.  DRAW "l8 bl1 l8            ": '| ******** ********
  2151.  : : :                      : '|
  2152.  : : :                      : '|
  2153.  : : :                      : '|
  2154. END SUB
  2155.  
  2156. SUB LineSpaces (xloc%, L$)
  2157.  LOCATE xloc%, 1: PRINT SPC(79); L$;
  2158.  ' <-[locate again ? (xloc%,3) -?-]
  2159. END SUB
  2160.  
  2161. SUB MA : DRAW "c0": '------MA-----|''''|''''|''^'|''''|''''|
  2162.  DRAW "br12 r10 br3       bd1": '|            **********
  2163.  DRAW "bl2 l2 bl1 l1 bl19 bd1": '|                   * **
  2164.  DRAW "br17 r1 br4 r2 br1 bd1": '|                 *    **
  2165.  DRAW "l2 bl6 l1 bl16     bd1": '|                *      **
  2166.  DRAW "br14 r1 br10       bd1": '|              *
  2167.  DRAW "bl11 l1 bl13       bd1": '|             *
  2168.  DRAW "br6 r13 br6        bd1": '-      *************
  2169.  DRAW "bl5 l1 bl13 l1 bl5 bd1": '|     *             *
  2170.  DRAW "br4 r1 br15 r1 br4 bd1": '|    *               *
  2171.  DRAW "bl3 l1 bl17 l1 bl3 bd1": '|   *                 *
  2172.  DRAW "br4 r1 br15 r1 br4 bd1": '|    *               *
  2173.  DRAW "bl5 l1 bl13 l1 bl5 bd1": '|     *             *
  2174.  DRAW "br6 r13 br6           ": '|      *************
  2175.  '  [why br6 ?]^
  2176. END SUB
  2177.  
  2178. 'xx: draw "c0": '-rem-rem--xx-----|!!!!|!!!!|!!^!|!!!!|!!!!|:rem <[nil'd!]
  2179. 'DRAW "br25                bd1": '|                         '
  2180. 'DRAW "bl8 l17             bd1": '|  *****************      '
  2181. 'DRAW "br4 r1 br12 r1 br7  bd1": '|      *            *     '
  2182. 'DRAW "bl5 l1 bl13 l1 bl5  bd1": '|       *             *   '
  2183. 'DRAW "br7 r1 br13 r1 br3  bd1": '|         *             * '
  2184. 'DRAW "bl2 l1 bl12 l1 bl9  bd1": '|           *            *'
  2185. 'DRAW "br10 r1 br12 r1 br1 bd1": '-           *            *'
  2186. 'DRAW "bl2 l1 bl12 l1 bl9  bd1": '|           *            *'
  2187. 'DRAW "br7 r1 br13 r1 br3  bd1": '|         *             * '
  2188. 'DRAW "bl5 l1 bl13 l1 bl5  bd1": '|       *             *   '
  2189. 'DRAW "br4 r1 br12 r1 br7  bd1": '|      *            *     '
  2190. 'DRAW "bl8 l17            bd1":  '|  *****************      '
  2191. ': : :                         : '|                         '
  2192. 'RETURN
  2193. SUB ME : DRAW "c0": '------ME-----|''''|''''|''^'|''''|''''|
  2194.  DRAW "br4 r4 br9 r4 br4  bd1": '|    ****         ****
  2195.  DRAW "bl4 l4 bl9 l4 bl4  bd1": '|    ****         ****
  2196.  DRAW "br5 r4 br7 r4 br5  bd1": '|     ****       ****
  2197.  DRAW "bl5 l15 bl5        bd1": '|     ***************
  2198.  DRAW "br3 r4 br11 r4 br3 bd1": '|   ****           ****
  2199.  DRAW "bl2 l4 bl13 l4 l2  bd1": '|  ****             ****
  2200.  DRAW "br3 r4 br11 r4 br3 bd1": '-   ****           ****
  2201.  DRAW "bl6 l13 bl6        bd1": '|      *************
  2202.  DRAW "br11 r3 br11       bd1": '|           ***
  2203.  DRAW "bl11 l3 bl11       bd1": '|           ***
  2204.  DRAW "br8 r9 br8         bd1": '|        *********
  2205.  DRAW "bl11 l3 bl11       bd1": '|           ***
  2206.  DRAW "br11 r3 br11          ": '|           ***
  2207. END SUB
  2208.  
  2209. SUB NE : DRAW "c8": '------------NE-----|''''|''''|''^'|''''|''''|
  2210.  DRAW "br25                     bd1": '|
  2211.  DRAW "bl1 l1 bl19 l2 bl1       bd1": '| **                   **
  2212.  DRAW "br2 r2 br8 r1 br8 r2 br2 bd1": '|  **        *        **
  2213.  DRAW "bl3 l2 bl7 l1 bl7 l2 bl3 bd1": '|   **       *       **
  2214.  DRAW "br3 r2 br7 r1 br7 r2 br3 bd1": '|   **       *       **
  2215.  DRAW "bl4 l2 bl6 l1 bl6 l2 bl4 bd1": '|    **      *      **
  2216.  DRAW "br6 r13 br6              bd1": '-      *************
  2217.  DRAW "bl12 l1 bl12             bd1": '|            *
  2218.  DRAW "br12 r1 br12             bd1": '|            *
  2219.  DRAW "bl12 l1 bl12             bd1": '|            *
  2220.  DRAW "br8 r9 br8               bd1": '|        *********
  2221.  DRAW "bl12 l1 bl12             bd1": '|            *
  2222.  DRAW "br12 r1 br12                ": '|            *
  2223. END SUB
  2224.  
  2225. SUB PL : DRAW "c8": '------PL-----|''''|''''|''^'|''''|''''|
  2226.  DRAW "br25               bd1": '|
  2227.  DRAW "bl8 l12 bl5        bd1": '|     ************
  2228.  DRAW "br4 r2 br11 r2 br6 bd1": '|    **           **
  2229.  DRAW "bl5 l2 bl12 l2 bl4 bd1": '|    **            **
  2230.  DRAW "br4 r2 br12 r2 br5 bd1": '|    **            **
  2231.  DRAW "bl6 l2 bl11 l2 bl4 bd1": '|    **           **
  2232.  DRAW "br4 r13 br8        bd1": '-    *************
  2233.  DRAW "bl19 l2 bl4        bd1": '|    **
  2234.  DRAW "br4 r2 br19        bd1": '|    **
  2235.  DRAW "bl5 l2 bl12 l2 bl4 bd1": '|    **            **
  2236.  DRAW "br4 r2 br12 r2 br5 bd1": '|    **            **
  2237.  DRAW "bl6 l15 bl4        bd1": '|    ***************
  2238.  DRAW "br25               bd1": '|
  2239. END SUB
  2240.  
  2241. SUB psc : '---------------psc----|''''|''''|''^'|''''|''''|
  2242.  DRAW "r3 br11 r3        bd1": '| ***           ***
  2243.  DRAW "bl2 l2 bl9 l2 bl2 bd1": '|   **         **
  2244.  DRAW "br3 r2 br7 r2 br3 bd1": '|    **       **
  2245.  DRAW "bl4 l9 bl4        bd1": '|     *********
  2246.  DRAW "br3 r2 br7 r2 br3 bd1": '-    **       **
  2247.  DRAW "bl2 l2 bl9 l2 bl2 bd1": '|   **         **
  2248.  DRAW "r3 br11 r3           ": '| ***           ***
  2249.  : : :                      : '|
  2250.  : : :                      : '|
  2251. END SUB
  2252.  
  2253. SUB sag : '---------------sag----|''''|''''|''^'|''''|''''|
  2254.  DRAW "br4 r8 br5        bd1": '|     ********
  2255.  DRAW "bl4 l1 bl2 l2 bl8 bd1": '|         **  *
  2256.  DRAW "br7 r2 br3 r1 br4 bd1": '|        **   *
  2257.  DRAW "bl9 l2 bl6        bd1": '|       **
  2258.  DRAW "br2 r8 br7        bd1": '-   ********
  2259.  DRAW "bl11 l2 bl4       bd1": '|     **
  2260.  DRAW "br3 r2               ": '|    **
  2261.  : : :                      : '|
  2262.  : : :                      : '|
  2263. END SUB
  2264.  
  2265. SUB SA : DRAW "c0": '-----------SA-----|''''|''''|''^'|''''|''''|
  2266.  DRAW "br5 r1 br19              bd1": '|     *
  2267.  DRAW "bl19 l1 bl5              bd1": '|     *
  2268.  DRAW "br1 r9 br15              bd1": '| *********
  2269.  DRAW "bl19 l1 bl5              bd1": '|     *
  2270.  DRAW "br5 r1 br5 r4 br10       bd1": '|     *     ****
  2271.  DRAW "bl7 l2 bl5 l2 bl3 l1 bl5 bd1": '|     *   **     **
  2272.  DRAW "br5 r1 br2 r2 br8 r2 br5 bd1": '-     *  **        **
  2273.  DRAW "bl5 l2 bl10 l3 bl5       bd1": '|     ***          **
  2274.  DRAW "br17 r2 br6              bd1": '|                 **
  2275.  DRAW "bl8 l2 bl15              bd1": '|               **
  2276.  DRAW "br13 r2 br10             bd1": '|             **
  2277.  DRAW "bl12 l2 bl11             bd1": '|           **
  2278.  DRAW "br12 r2 br11                ": '|            **
  2279. END SUB
  2280.  
  2281. SUB sco : '------------------------------------sco----|''''|''''|''^'|''''|''''|
  2282.  DRAW "br2 r8 br7                             bd1": '|   ********
  2283.  DRAW "bl1 l1 bl5 l1 bl2 l1 bl2 l1 bl1 l1 bl1 bd1": '| * *  *  *    **
  2284.  DRAW "r1 br2 r1 br2 r1 br2 r1 br2 r2 br1 r2  bd1": '| *  *  *  *  ** **
  2285.  DRAW "bl3 l1 bl3 l1 bl2 l1 bl2 l1 bl2 l1     bd1": '| *  *  *  *   *
  2286.  DRAW "r1 br2 r1 br2 r1 br2 r1 br2 r1 br4     bd1": '- *  *  *  *  *
  2287.  DRAW "bl5 l1 bl1 l1 bl2 l1 bl2 l1 bl3        bd1": '|    *  *  * *
  2288.  DRAW "br3 r1 br5 r2                             ": '|    *     **
  2289.  : : :                                           : '|
  2290.  : : :                                           : '|
  2291. END SUB
  2292.  
  2293. SUB SUN (tf$) : DRAW "c0": '------|''''|''''|''^'|''''|''''|
  2294.  DRAW "br10 r5 br10       bd1": '|          *****          '
  2295.  DRAW "bl6 l4 bl5 l4 bl6  bd1": '|      ****     ****      '
  2296.  DRAW "br3 r3 br13 r3 br3 bd1": '|   ***             ***   '
  2297.  DRAW "bl2 l2 bl17 l2 bl2 bd1": '|  **                 **  '
  2298.  DRAW "br1 r2 br19 r2 br1 bd1": '| **                   ** '
  2299.  DRAW "l1 bl23 l1         bd1": '|*                       *'
  2300.  DRAW "r1 br11 r1 br11 r1 bd1": '-*           *           *'
  2301.  DRAW "l1 bl23 l1         bd1": '|*                       *'
  2302.  DRAW "br1 r2 br19 r2 br1 bd1": '| **                   ** '
  2303.  DRAW "bl2 l2 bl17 l2 bl2 bd1": '|  **                 **  '
  2304.  DRAW "br3 r3 br13 r3 br3 bd1": '|   ***             ***   '
  2305.  DRAW "bl6 l4 bl5 l4 bl6  bd1": '|      ****     ****      '
  2306.  DRAW "br10 r5               ": '|          *****          '<[bu 10?]
  2307.  DRAW "bu10": '-------------------
  2308. IF tf$ <> "1" THEN GOTO TurnedSu
  2309.  i% = 14
  2310.  '' // # [IF VAL(sv$) < 180 THEN i% = ?: '<[?=???!] <[eclipse? (colors)]
  2311.  '' // ['sv$' <(Sun's radix 'ta' assigned in 'InMainDraw:']
  2312.  PAINT STEP(0, 0), i%, 0: '<[cf. MO]
  2313. TurnedSu:
  2314. 'RETURN
  2315. END SUB
  2316.  
  2317. SUB tau : '----------------tau----|''''|''''|''^'|''''|''''|
  2318.  DRAW "br3 r3 br13 r3 br3 bd1": '|   ***             ***
  2319.  DRAW "bl4 l3 bl11 l3 bl4 bd1": '|    ***           ***
  2320.  DRAW "br5 r3 br9 r3 br5  bd1": '|     ***         ***
  2321.  DRAW "bl6 l3 bl7 l3 bl6  bd1": '|      ***       ***
  2322.  DRAW "br1 r23 br1        bd1": '-  *********************
  2323.  DRAW "bl1 l2 bl19 l2 bl1 bd1": '| **                   **
  2324.  DRAW "r2 br21 r2         bd1": '|**                     **
  2325.  DRAW "bl1 l2 bl19 l2 bl1 bd1": '| **                   **
  2326.  DRAW "br2 r21 br2        bd1": '|  *********************
  2327. END SUB
  2328.  
  2329. SUB UR : DRAW "c8": '------------UR-----|''''|''''|''^'|''''|''''|
  2330.  DRAW "br25                     bd1": '|
  2331.  DRAW "bl3 l2 bl15 l2 bl3       bd1": '|   **               **
  2332.  DRAW "br4 r2 br6 r1 br6 r2 br4 bd1": '|    **      *      **
  2333.  DRAW "bl6 l1 bl5 l1 bl5 l1 bl6 bd1": '|      *     *     *
  2334.  DRAW "br7 r11 br7              bd1": '|       ***********
  2335.  DRAW "bl6 l1 bl5 l1 bl5 l1 bl6 bd1": '|      *     *     *
  2336.  DRAW "br4 r2 br6 r1 br6 r2 br4 bd1": '-    **      *      **
  2337.  DRAW "bl3 l2 bl15 l2 bl3       bd1": '|   **       *       **
  2338.  DRAW "br12 r1 br 12            bd1": '|            *
  2339.  DRAW "bl11 l3 bl11             bd1": '|           ***
  2340.  DRAW "br10 r1 br3 r1 br10      bd1": '|          *   *
  2341.  DRAW "bl11 l3 bl11             bd1": '|           ***
  2342.  DRAW "br25                        ": '|
  2343. END SUB
  2344.  
  2345. SUB VE : DRAW "c0": '------VE-----|''''|''''|''^'|''''|''''|
  2346.  DRAW "br6 r13 br6 bd1       ": '|      *************
  2347.  DRAW "bl5 l1 bl13 l1 bl5 bd1": '|     *             *
  2348.  DRAW "br4 r1 br15 r1 br4 bd1": '|    *               *
  2349.  DRAW "bl3 l1 bl17 l1 bl3 bd1": '|   *                 *
  2350.  DRAW "br4 r1 br15 r1 br4 bd1": '|    *               *
  2351.  DRAW "bl5 l1 bl13 l1 bl5 bd1": '|     *             *
  2352.  DRAW "br6 r13 br6        bd1": '-      *************
  2353.  DRAW "bl12 l1 bl12       bd1": '|            *
  2354.  DRAW "br12 r1 br12       bd1": '|            *
  2355.  DRAW "bl12 l1 bl12       bd1": '|            *
  2356.  DRAW "br9 r7 br9         bd1": '|         *******
  2357.  DRAW "bl12 l1 bl12       bd1": '|            *
  2358.  DRAW "br12 r1 br12          ": '|            *
  2359. END SUB
  2360.  
  2361. SUB vir : '--------------------------------vir----|''''|''''|''^'|''''|''''|
  2362.  DRAW "br2 r5 br1 r9                      bd1": '|   ***** *********
  2363.  DRAW "l1 bl4 l1 bl3 l1 bl3 l1 bl1 l1 bl1 bd1": '|  * *   *   *    *
  2364.  DRAW "r1 br2 r1 br3 r1 br3 r1 br2 r1 br2 bd1": '| *  *   *   *  *
  2365.  DRAW "bl4 l2 bl3 l1 bl3 l1 bl2 l1        bd1": '| *  *   *   **
  2366.  DRAW "r1 br2 r1 br3 r1 br2 r2 br5        bd1": '- *  *   *  **
  2367.  DRAW "bl5 l1 bl1 l1 bl1 l1 bl3 l1 bl3    bd1": '|    *   * * *
  2368.  DRAW "br3 r1 br3 r1 br2 r2                  ": '|    *   *  **
  2369.  : : :                                       : '|
  2370.  : : :                                       : '|
  2371. END SUB
  2372.  
  2373. '---'
  2374. ' aqDRAW.BAS
  2375. '---'
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top