home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0660.ZIP / CCE_0660 / FRACTALS.II / FARBFRAC.GFA (.txt) < prev    next >
GFA-BASIC Atari  |  1990-08-20  |  9KB  |  412 lines

  1. ' -----------------------------------------------------------------------------
  2. ' ##################  F R A C T A L S  -  P R O G R A M M  ####################
  3. ' ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  4. '                   ~  Harald  Hansen, 1/44, Weserstr.82  ~
  5. ' ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  6. ' >>>>>>>>>>>>>>>>>>>>  Tiefenwertdatei farbig auswerten  <<<<<<<<<<<<<<<<<<<<<
  7. ' -----------------------------------------------------------------------------
  8. '
  9. @screen   ! Auflösung bestimmen
  10. ' ## Bitte beachten, daß möglicherweise nur ein Teil des Bildes farbig oder in
  11. '    Graustufen dargestellt werden kann. Das Originalbild sollte also nicht
  12. '    größer als z.B. 320 * 200 Pixel sein! ##
  13. '
  14. DIM bild_info%(44)      ! Datenspeicher für Parameter-File
  15. DIM para%(250)          ! Feld-Schnittstelle für Maschinenprogramme
  16. tw_max%=400000
  17. DIM tiefen_wertfeld%(tw_max% DIV 4) ! Feld für Tiefenwerte
  18. '
  19. ' *** M A S C H I N E N P R O G R A M M ***
  20. ' Assemblerroutinen für das Fractalprogramm  "FRACTALS"
  21. ' Version 4.0, Juni 1990; (c) Martin Hansen, Steinkopfstraße 22, 6360 Friedberg
  22. ' ##########################################################################
  23. ' # Achtung: nicht mit Save.A abspeichern, da sonst die Assembler-Routinen #
  24. ' #          verlorengehen, die sich in INLINE befinden  !!!               #
  25. ' ##########################################################################
  26. ' ## INLINE:
  27. ' $0000: 2c 6f 00 04 30 2f 00 08 4a 40 66 04 4e fa 0a 76 
  28. ' $0010: 0c 40 00 01 66 04 4e fa 0b 7e 0c 40 00 02 66 04 
  29. ' $0020: 4e fa 00 36 0c 40 00 03 66 04 4e fa 01 4c 0c 40 
  30. ' $0030: 00 04 66 04 4e fa 0b de 0c 40 00 05 66 04 4e fa 
  31. ' $0040: 0d 36 0c 40 00 06 66 04 4e fa 0d 7a 0c 40 00 07 
  32. ' $0050: 66 04 4e fa 0d 74 4e 75 2a 6e 00 24 db ee 00 28 
  33. ' $0060: 20 0d d0 ae 00 58 2d 40 01 9c 4e ba 08 7e 30 2e 
  34. ' $0070: 00 4e 0c 40 00 01 66 04 4e ba 02 b2 4c ee 00 07 
  35. ' $0080: 00 c8 48 ee 00 07 00 f8 4c ee 00 07 00 ec 48 ee 
  36. ' $0090: 00 07 01 04 4e ba 02 ea 47 ee 00 f8 42 6e 01 96 
  37. ' $00a0: 42 6e 01 98 42 6e 01 94 45 ee 01 04 42 6e 01 92 
  38. ' $00b0: 4c ee 00 07 00 c8 48 d3 00 07 43 ee 01 90 32 ae 
  39. ' $00c0: 00 12 4e 94 30 11 b0 6e 00 12 67 0e 90 6e 00 12 
  40. ' $00d0: 44 40 32 80 02 40 00 01 67 06 76 01 4e ba 01 ce 
  41. ' $00e0: 4e ba 08 52 4c d3 00 07 4c ee 00 38 01 10 d4 85 
  42. ' $00f0: d3 84 d1 83 48 d3 00 07 30 2e 01 92 52 40 3d 40 
  43. ' $0100: 01 92 b0 6e 00 1e 6d b2 4e ba 08 70 4c d2 00 07 
  44. ' $0110: 4c ee 00 38 01 1c 94 85 93 84 91 83 48 d2 00 07 
  45. ' $0120: 20 2e 01 9c 22 0d b2 80 6f 04 70 02 60 3a 3f 3c 
  46. ' $0130: 00 02 3f 3c 00 01 4e 4d 58 8f 4a 40 67 16 3f 3c 
  47. ' $0140: 00 02 3f 3c 00 02 4e 4d 58 8f 0c 00 00 1b 66 de 
  48. ' $0150: 70 01 60 14 30 2e 01 94 52 40 3d 40 01 94 b0 6e 
  49. ' $0160: 00 22 6d 00 ff 44 42 80 2d 4d 00 28 32 2e 01 94 
  50. ' $0170: 52 41 3d 41 00 1a 4e 75 2a 6e 00 24 db ee 00 28 
  51. ' $0180: 20 0d d0 ae 00 58 2d 40 01 9c 4e ba 07 5e 30 2e 
  52. ' $0190: 00 66 e1 48 3d 40 01 a6 4c ee 00 07 00 ec 48 ee 
  53. ' $01a0: 00 07 01 04 47 ee 01 58 20 2e 01 40 e8 80 26 80 
  54. ' $01b0: 49 ee 01 5c 20 2e 01 4c e8 80 28 80 2e 2e 00 ec 
  55. ' $01c0: e8 87 42 6e 01 96 42 6e 01 98 42 6e 01 94 42 6e 
  56. ' $01d0: 01 92 4c ee 00 07 00 c8 48 ee 00 07 00 f8 2c 00 
  57. ' $01e0: e8 86 4e ba 06 62 30 11 b0 6e 00 12 67 10 30 11 
  58. ' $01f0: 90 6e 00 12 44 40 32 80 02 40 00 01 67 06 76 01 
  59. ' $0200: 4e ba 00 aa 4e ba 07 2e 4c ee 00 07 00 f8 4c ee 
  60. ' $0210: 00 38 01 10 d4 85 d3 84 d1 83 48 ee 00 07 00 f8 
  61. ' $0220: 2c 00 e8 86 30 2e 01 92 52 40 3d 40 01 92 b0 6e 
  62. ' $0230: 00 1e 6d ae 4e ba 07 44 4c ee 00 07 01 04 4c ee 
  63. ' $0240: 00 38 01 1c 94 85 93 84 91 83 48 ee 00 07 01 04 
  64. ' $0250: 2e 00 e8 87 20 2e 01 9c 22 0d b2 80 6f 04 70 02 
  65. ' $0260: 60 3a 3f 3c 00 02 3f 3c 00 01 4e 4d 58 8f 4a 40 
  66. ' $0270: 67 16 3f 3c 00 02 3f 3c 00 02 4e 4d 58 8f 0c 00 
  67. ' $0280: 00 1b 66 de 70 01 60 14 30 2e 01 94 52 40 3d 40 
  68. ' $0290: 01 94 b0 6e 00 22 6d 00 ff 36 42 80 2d 4d 00 28 
  69. ' $02a0: 32 2e 01 94 52 41 3d 41 00 1a 4e 75 30 2e 01 92 
  70. ' $02b0: d0 6e 00 16 32 2e 01 94 d2 6e 00 1a 20 6e 00 40 
  71. ' $02c0: c2 fc 00 50 d1 c1 32 00 e6 49 34 00 46 42 4a 03 
  72. ' $02d0: 66 06 05 b0 10 00 60 04 05 f0 10 00 4e 75 e0 00 
  73. ' $02e0: 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 
  74. ' $02f0: 00 00 00 00 00 00 ec 00 00 00 00 00 00 00 00 00 
  75. ' $0300: 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 1d 
  76. ' $0310: 41 d4 1d 41 d4 1d 41 d4 1d 41 00 1d 41 d4 1d 41 
  77. ' $0320: d4 1d 41 d4 1d 41 01 5e 01 5e 00 28 41 fa ff b0 
  78. ' $0330: 4c d8 00 07 48 ee 00 07 00 c8 4c d8 00 07 48 ee 
  79. ' $0340: 00 07 00 d4 4c d8 00 07 48 ee 00 07 00 e0 4c d8 
  80. ' $0350: 00 07 48 ee 00 07 00 ec 4c d8 00 07 48 ee 00 07 
  81. ' $0360: 01 10 4c d8 00 07 48 ee 00 07 01 1c 30 18 3d 40 
  82. ' $0370: 00 1e 30 18 3d 40 00 22 30 18 3d 40 00 12 4e 75 
  83. ' $0380: 30 2e 00 52 4a 40 67 30 0c 40 00 01 66 06 49 fa 
  84. ' $0390: 00 7e 60 78 0c 40 00 02 66 06 49 fa 00 cc 60 6c 
  85. ' $03a0: 0c 40 00 03 66 06 49 fa 01 60 60 60 0c 40 00 04 
  86. ' $03b0: 66 06 49 fa 02 a6 60 54 4c ee 00 03 01 10 4a 81 
  87. ' $03c0: 6a 02 44 81 2e 3c 00 03 00 00 b0 87 6d 0c 49 fa 
  88. ' $03d0: 00 3e 3d 7c 00 01 00 52 60 32 7e 50 b0 87 6d 0c 
  89. ' $03e0: 49 fa 00 86 3d 7c 00 02 00 52 60 20 2e 3c 00 03 
  90. ' $03f0: 00 00 b2 87 6d 0c 49 fa 01 10 3d 7c 00 03 00 52 
  91. ' $0400: 60 0a 49 fa 02 56 3d 7c 00 04 00 52 4e 75 2a 13 
  92. ' $0410: 28 12 2e 3c 04 00 00 00 53 51 2c 05 26 04 20 05 
  93. ' $0420: 48 40 c1 c0 22 04 48 41 c3 c1 24 01 d2 80 b2 87 
  94. ' $0430: 6c 34 90 82 e9 88 d0 86 42 02 48 44 4a 44 6a 04 
  95. ' $0440: 52 02 44 44 48 45 4a 45 6a 04 53 02 44 45 c8 c5 
  96. ' $0450: e9 8c 4a 02 67 02 44 84 e3 84 d8 83 2a 00 53 51 
  97. ' $0460: 66 be 32 ae 00 12 4e 75 53 51 2e 13 2c 12 2a 07 
  98. ' $0470: 28 06 26 05 4a 83 6a 02 44 83 30 03 48 43 0c 43 
  99. ' $0480: 20 00 6e 00 00 82 32 03 c6 c3 c0 c1 d0 80 42 40 
  100. ' $0490: 48 40 d6 80 24 04 4a 82 6a 02 44 82 30 02 48 42 
  101. ' $04a0: 0c 42 20 00 6e 60 32 02 c4 c2 c0 c1 d0 80 42 40 
  102. ' $04b0: 48 40 d4 80 20 02 d0 83 48 40 0c 40 04 00 6e 46 
  103. ' $04c0: 96 82 e9 8b d6 87 42 02 4a 84 6a 04 52 02 44 84 
  104. ' $04d0: 4a 85 6a 04 53 02 44 85 32 04 48 44 30 04 c0 c5 
  105. ' $04e0: 48 45 c2 c5 d0 81 42 40 48 40 c8 c5 d8 80 e9 8c 
  106. ' $04f0: 4a 02 67 02 44 84 e3 84 d8 86 2a 03 53 51 66 00 
  107. ' $0500: ff 72 32 ae 00 12 4e 75 53 51 4c d3 00 c0 4c d2 
  108. ' $0510: 00 30 41 ee 02 58 24 06 26 07 4a 82 6a 04 44 83 
  109. ' $0520: 40 82 0c 82 20 00 00 00 6c 00 01 2e 59 88 42 a0 
  110. ' $0530: 32 02 48 42 48 43 30 02 c0 c3 d0 80 21 40 00 04 
  111. ' $0540: 30 01 c0 c0 d1 a8 00 04 64 04 52 68 00 02 c2 c2 
  112. ' $0550: d2 81 d3 a8 00 02 c4 c2 d5 90 24 04 26 05 4a 82 
  113. ' $0560: 6a 04 44 83 40 82 0c 82 20 00 00 00 6c 00 00 ea 
  114. ' $0570: 59 88 42 a0 32 02 48 42 48 43 30 02 c0 c3 d0 80 
  115. ' $0580: 21 40 00 04 30 01 c0 c0 d1 a8 00 04 64 04 52 68 
  116. ' $0590: 00 02 c2 c2 d2 81 d3 a8 00 02 c4 c2 d5 90 4c d8 
  117. ' $05a0: 00 0f 21 00 d0 82 48 40 0c 40 04 00 6c 00 00 aa 
  118. ' $05b0: 20 18 96 81 95 80 e9 8a 42 03 e9 9b 84 03 4c d3 
  119. ' $05c0: 00 03 d2 83 d1 82 42 02 4a 84 6a 06 52 02 44 85 
  120. ' $05d0: 40 84 4a 86 6a 06 53 02 44 87 40 86 59 88 42 a0 
  121. ' $05e0: 48 e0 03 00 2c 00 2e 01 48 45 30 10 c0 c5 21 40 
  122. ' $05f0: 00 0c 30 28 00 02 c0 c4 d1 a8 00 0c 64 04 52 68 
  123. ' $0600: 00 0a 32 10 c2 c4 48 44 30 28 00 04 c0 c4 d1 a8 
  124. ' $0610: 00 0c 64 04 52 68 00 0a 30 28 00 02 c0 c4 d2 80 
  125. ' $0620: d3 a8 00 0a 30 10 c0 c4 d1 a8 00 08 50 48 4c d8 
  126. ' $0630: 00 03 e9 88 42 01 e9 99 80 01 4a 02 67 04 44 81 
  127. ' $0640: 40 80 e3 89 e3 90 4c d2 00 30 da 81 d9 80 53 51 
  128. ' $0650: 66 00 fe c4 32 ae 00 12 4e 75 53 51 4c d3 00 c0 
  129. ' $0660: 4c d2 00 30 41 ee 02 58 24 06 26 07 4a 82 6a 04 
  130. ' $0670: 44 83 40 82 0c 82 20 00 00 00 6c 00 01 c8 59 88 
  131. ' $0680: 42 a0 42 60 21 02 30 10 c0 c3 d0 80 21 40 00 0a 
  132. ' $0690: 30 28 00 02 48 43 c0 c3 d1 a8 00 0a 64 04 52 68 
  133. ' $06a0: 00 08 d1 a8 00 0a 64 04 52 68 00 08 30 10 c0 c3 
  134. ' $06b0: d0 80 d1 a8 00 08 30 28 00 02 c0 c2 d1 a8 00 08 
  135. ' $06c0: 64 04 52 68 00 06 30 10 c0 c2 d0 80 d1 a8 00 06 
  136. ' $06d0: 30 10 c0 c0 d1 a8 00 04 58 88 24 04 26 05 4a 82 
  137. ' $06e0: 6a 04 44 83 40 82 0c 82 20 00 00 00 6c 00 01 56 
  138. ' $06f0: 59 88 42 a0 42 60 21 02 30 10 c0 c3 d0 80 21 40 
  139. ' $0700: 00 0a 30 28 00 02 48 43 c0 c3 d1 a8 00 0a 64 04 
  140. ' $0710: 52 68 00 08 d1 a8 00 0a 64 04 52 68 00 08 30 10 
  141. ' $0720: c0 c3 d0 80 d1 a8 00 08 30 28 00 02 c0 c2 d1 a8 
  142. ' $0730: 00 08 64 04 52 68 00 06 30 10 c0 c2 d0 80 d1 a8 
  143. ' $0740: 00 06 30 10 c0 c0 d1 a8 00 04 58 88 4c d8 00 03 
  144. ' $0750: 54 88 4c d8 00 0c 54 88 21 00 d0 82 48 40 0c 40 
  145. ' $0760: 04 00 6c 00 00 e0 20 18 96 81 95 80 e9 8a 20 03 
  146. ' $0770: 42 40 e9 98 e9 8b 84 00 4c d3 00 03 d2 83 d1 82 
  147. ' $0780: 42 02 4a 84 6a 06 52 02 44 85 40 84 4a 86 6a 06 
  148. ' $0790: 53 02 44 87 40 86 59 88 42 a0 42 60 48 e0 03 00 
  149. ' $07a0: 2c 00 2e 01 30 10 c0 c5 48 45 36 04 48 44 32 28 
  150. ' $07b0: 00 06 c2 c4 d0 81 21 40 00 0e 30 28 00 02 c0 c5 
  151. ' $07c0: d1 a8 00 0e 64 04 52 68 00 0c 30 28 00 04 c0 c3 
  152. ' $07d0: d1 a8 00 0e 64 04 52 68 00 0c 30 10 c0 c5 32 28 
  153. ' $07e0: 00 04 c2 c4 d0 81 d1 a8 00 0c 30 28 00 02 c0 c3 
  154. ' $07f0: d1 a8 00 0c 64 04 52 68 00 0a 30 10 c0 c3 32 28 
  155. ' $0800: 00 02 c2 c4 d0 81 d1 a8 00 0a 30 10 c0 c4 d1 a8 
  156. ' $0810: 00 08 50 88 4c d8 00 03 54 88 e9 88 26 01 42 43 
  157. ' $0820: e9 9b e9 89 80 03 4a 02 67 04 44 81 40 80 e3 89 
  158. ' $0830: e3 90 4c d2 00 30 da 81 d9 80 53 51 66 00 fe 2a 
  159. ' $0840: 32 ae 00 12 4e 75 43 ee 01 90 32 ae 00 12 53 51 
  160. ' $0850: 2a 06 28 07 20 05 4a 80 6a 02 44 80 32 00 48 40 
  161. ' $0860: 0c 40 0b 00 6e 00 00 82 34 00 c0 c0 c2 c2 d2 81 
  162. ' $0870: e1 88 e0 89 d0 81 26 00 20 04 4a 80 6a 02 44 80 
  163. ' $0880: 32 00 48 40 0c 40 0b 00 6e 5e 34 00 c0 c0 c2 c2 
  164. ' $0890: d2 81 e1 88 e0 89 d0 81 24 00 d0 83 69 4a 48 40 
  165. ' $08a0: b0 6e 01 a6 6c 42 96 82 d6 93 42 42 4a 85 6a 04 
  166. ' $08b0: 52 02 44 85 4a 84 6a 04 53 02 44 84 32 04 48 44 
  167. ' $08c0: 30 04 c0 c5 48 45 c2 c5 d0 81 e0 88 c8 c5 e1 8c 
  168. ' $08d0: d8 80 4a 02 67 02 44 84 e3 84 d8 94 2a 03 53 51 
  169. ' $08e0: 66 00 ff 72 32 ae 00 12 4e 75 30 2e 00 12 42 41 
  170. ' $08f0: 0c 40 04 00 6c 14 3d 7c 00 0a 01 a0 3d 7c 03 ff 
  171. ' $0900: 01 a4 3d 7c 00 3f 01 a2 60 28 52 41 e2 48 66 fa 
  172. ' $0910: 3d 41 01 a0 53 41 00 3c 00 10 e3 50 51 c9 ff f8 
  173. ' $0920: 3d 40 01 a4 0a 40 ff ff e2 48 64 fc e3 50 3d 40 
  174. ' $0930: 01 a2 4e 75 20 6e 00 2c 30 11 c0 fc 00 04 52 b0 
  175. ' $0940: 00 00 38 2e 01 96 36 2e 01 98 0c 43 00 00 67 20 
  176. ' $0950: b6 51 67 20 b8 6e 01 a2 63 06 3a c4 3a c3 60 0c 
  177. ' $0960: 32 2e 01 a0 30 04 e3 68 80 43 3a c0 42 6e 01 96 
  178. ' $0970: 3d 51 01 98 52 6e 01 96 4e 75 38 2e 01 96 b8 6e 
  179. ' $0980: 01 a2 63 06 3a c4 3a d1 60 0c 32 2e 01 a0 30 04 
  180. ' $0990: e3 68 80 51 3a c0 42 6e 01 96 42 6e 01 98 4e 75 
  181. ' $09a0: 10 00 00 00 00 00 00 00 00 00 00 00 01 99 99 99 
  182. ' $09b0: 99 99 99 99 99 99 99 99 00 28 f5 c2 8f 5c 28 f5 
  183. ' $09c0: c2 8f 5c 28 00 04 18 93 74 bc 6a 7e f9 db 22 d0 
  184. ' $09d0: 00 00 68 db 8b ac 71 0c b2 95 e9 e1 00 00 0a 7c 
  185. ' $09e0: 5a c4 71 b4 78 42 30 fc 00 00 01 0c 6f 7a 0b 5e 
  186. ' $09f0: d8 d3 6b 4c 00 00 00 1a d7 f2 9a bc af 48 57 87 
  187. ' $0a00: 00 00 00 02 af 31 dc 46 11 87 3b f3 00 00 00 00 
  188. ' $0a10: 44 b8 2f a0 9b 5a 52 cb 00 00 00 00 06 df 37 f6 
  189. ' $0a20: 75 ef 6e ad 00 00 00 00 00 af eb ff 0b cb 24 aa 
  190. ' $0a30: 00 00 00 00 00 11 97 99 81 2d ea 11 00 00 00 00 
  191. ' $0a40: 00 01 c2 5c 26 84 97 68 00 00 00 00 00 00 2d 09 
  192. ' $0a50: 37 0d 42 57 00 00 00 00 00 00 04 80 eb e7 b9 d5 
  193. ' $0a60: 00 00 00 00 00 00 00 73 4a ca 5f 62 00 00 00 00 
  194. ' $0a70: 00 00 00 0b 87 7a a3 23 00 00 00 00 00 00 00 01 
  195. ' $0a80: 27 25 dd 1d 4e ba 00 08 4e ba 00 d6 4e 75 49 fa 
  196. ' $0a90: ff 10 45 ee 00 c8 26 56 4e ba 00 48 45 ee 00 d4 
  197. ' $0aa0: 26 6e 00 04 4e ba 00 3c 45 ee 00 e0 26 6e 00 08 
  198. ' $0ab0: 4e ba 00 30 45 ee 00 ec 26 6e 00 0c 4e ba 00 24 
  199. ' $0ac0: 30 2e 00 32 4a 40 67 18 45 ee 01 40 26 6e 00 5c 
  200. ' $0ad0: 4e ba 00 10 45 ee 01 4c 26 6e 00 60 4e ba 00 04 
  201. ' $0ae0: 4e 75 42 84 42 85 42 86 42 47 42 41 12 1b 0c 01 
  202. ' $0af0: 00 00 67 54 0c 01 00 2b 66 06 42 6e 01 9a 60 06 
  203. ' $0b00: 3d 7c 00 01 01 9a 12 1b 04 01 00 30 43 f4 70 00 
  204. ' $0b10: 4e ba 02 1c 4c d8 00 70 12 1b 0c 01 00 2e 67 02 
  205. ' $0b20: 60 26 42 41 12 1b 0c 01 00 00 67 1c 04 01 00 30 
  206. ' $0b30: 06 47 00 0c 43 f4 70 00 4e ba 01 f4 4c d8 00 07 
  207. ' $0b40: dc 82 db 81 d9 80 60 da 4e ba 00 08 48 d2 00 70 
  208. ' $0b50: 4e 75 4a 6e 01 9a 67 06 44 86 40 85 40 84 4e 75 
  209. ' $0b60: 4c ee 00 3f 00 c8 9a 82 99 81 97 80 3e 2e 00 1e 
  210. ' $0b70: 4e ba 01 48 48 ee 00 07 01 10 4c ee 00 3f 00 e0 
  211. ' $0b80: 9a 82 99 81 97 80 3e 2e 00 22 4e ba 01 2e 48 ee 
  212. ' $0b90: 00 07 01 1c 4e 75 43 ee 01 10 32 2e 00 16 4e ba 
  213. ' $0ba0: 01 8e 4c d0 00 07 4c ee 00 38 00 c8 da 82 d9 81 
  214. ' $0bb0: d7 80 48 ee 00 38 00 c8 32 2e 00 46 4e ba 01 70 
  215. ' $0bc0: 4c d0 00 07 da 82 d9 81 d7 80 48 ee 00 38 00 d4 
  216. ' $0bd0: 43 ee 01 1c 32 2e 00 1a 4e ba 01 54 4c d0 00 07 
  217. ' $0be0: 4c ee 00 38 00 ec 9a 82 99 81 97 80 48 ee 00 38 
  218. ' $0bf0: 00 ec 32 2e 00 4a 4e ba 01 36 4c d0 00 07 9a 82 
  219. ' $0c00: 99 81 97 80 48 ee 00 38 00 e0 4e ba ff 54 4e ba 
  220. ' $0c10: 00 04 4e 75 4b ee 00 c8 43 ee 01 34 24 56 4e ba 
  221. ' $0c20: 00 38 24 6e 00 04 4e ba 00 30 24 6e 00 08 4e ba 
  222. ' $0c30: 00 28 24 6e 00 0c 4e ba 00 20 30 2e 00 32 4a 40 
  223. ' $0c40: 67 14 4b ee 01 40 24 6e 00 5c 4e ba 00 0c 24 6e 
  224. ' $0c50: 00 60 4e ba 00 04 4e 75 4c dd 00 07 7c 11 4a 80 
  225. ' $0c60: 6a 0c 44 82 40 81 40 80 14 fc 00 2d 60 04 14 fc 
  226. ' $0c70: 00 2b 26 00 e9 9b 02 03 00 0f 06 03 00 30 14 c3 
  227. ' $0c80: 14 fc 00 2e 02 80 0f ff ff ff 48 d1 00 07 72 0a 
  228. ' $0c90: 4e ba 00 9c 4c d8 00 07 26 00 02 80 0f ff ff ff 
  229. ' $0ca0: 48 d1 00 07 e9 9b 02 03 00 0f 06 03 00 30 14 c3 
  230. ' $0cb0: 51 ce ff dc 14 fc 00 00 4e 75 42 80 30 07 48 40 
  231. ' $0cc0: 42 81 42 82 7c 0e e2 8b e2 94 e2 95 51 ce ff f8 
  232. ' $0cd0: 41 ee 01 28 42 98 42 98 42 98 91 fc 00 00 00 0c 
  233. ' $0ce0: 7e 5f 48 e7 1c 00 9a 82 99 81 97 80 65 0e df fc 
  234. ' $0cf0: 00 00 00 0c 00 3c 00 10 61 16 60 0a 4c df 00 38 
  235. ' $0d00: 02 3c 00 ef 61 0a 51 cf ff da 4c d0 00 07 60 1c 
  236. ' $0d10: e5 e8 00 0a e5 e8 00 08 e5 e8 00 06 e5 e8 00 04 
  237. ' $0d20: e5 e8 00 02 e5 d0 e3 95 e3 94 e3 93 4e 75 41 ee 
  238. ' $0d30: 01 28 42 98 42 98 42 98 91 fc 00 00 00 0c 30 29 
  239. ' $0d40: 00 0a c0 c1 d1 a8 00 08 30 29 00 08 c0 c1 d1 a8 
  240. ' $0d50: 00 06 30 29 00 06 c0 c1 d1 a8 00 04 30 29 00 04 
  241. ' $0d60: c0 c1 d1 a8 00 02 30 29 00 02 c0 c1 d1 90 30 11 
  242. ' $0d70: c0 c1 d1 50 4e 75 28 6e 00 3c 2a 6e 00 24 4e ba 
  243. ' $0d80: fb 6a 42 6e 01 94 42 6e 01 92 4e ba 00 78 30 2e 
  244. ' $0d90: 01 90 16 34 00 00 3e 2e 01 96 53 47 52 6e 01 92 
  245. ' $0da0: 4e ba f5 0a 51 cf ff f6 30 2e 01 92 b0 6e 00 1e 
  246. ' $0db0: 6d d8 30 2e 01 94 52 40 3d 40 01 94 b0 6e 00 22 
  247. ' $0dc0: 6d c4 4e 75 4e 71 4e 75 28 6e 00 54 2a 6e 00 24 
  248. ' $0dd0: db ee 00 28 4e ba fb 14 42 6e 01 92 4e ba 00 26 
  249. ' $0de0: 30 2e 01 90 3e 2e 01 96 53 47 52 6e 01 92 38 c0 
  250. ' $0df0: 51 cf ff f8 30 2e 01 92 b0 6e 00 1e 6d de 2d 4d 
  251. ' $0e00: 00 28 4e 75 30 1d 32 00 3e 2e 01 a0 ee 69 4a 41 
  252. ' $0e10: 67 0e 3d 41 01 96 c0 6e 01 a4 3d 40 01 90 60 0a 
  253. ' $0e20: 3d 40 01 96 32 1d 3d 41 01 90 4e 75 00 00 
  254. ' 3630  Bytes.
  255. INLINE m_programm%,3630
  256. '
  257. ' Bilddaten-Variablen aus dem Bild-Info-Feld
  258. adr%=V:bild_info%(0)
  259. ABSOLUTE linke_gr%,adr%
  260. ABSOLUTE obere_gr%,adr%+4
  261. ABSOLUTE rechte_gr%,adr%+8
  262. ABSOLUTE untere_gr%,adr%+12
  263. ABSOLUTE tiefe.max%,adr%+20
  264. ABSOLUTE feld_gr%,adr%+24
  265. ABSOLUTE tiefen.flag%,adr%+28
  266. '
  267. ' aktueller Ordner
  268. pfad$=CHR$(GEMDOS(25)+65)+":"+DIR$(0)+"\"
  269. '
  270. DO
  271.   fileselect("*.TW") ! Tiefenwertdatei auswählen
  272.   IF EXIST(file$)
  273.     bild.laden          ! Info-Block der Bilddatei laden
  274.     IF feld_gr%>0
  275.       tiefenwerte.laden
  276.       bild_plot
  277.     ENDIF
  278.   ELSE
  279.     EDIT                ! Programmende bei Abbruch
  280.   ENDIF
  281. LOOP UNTIL INP(2)=27    ! Tastendruck abwarten (Abbruch mit >ESC<)
  282. EDIT
  283. '
  284. ' *** Laden eines Fractal-Bildes ***
  285. PROCEDURE bild.laden
  286.   LOCAL hinweis$,name$,d%
  287.   ' Kontrolle,ob ".FRC"-Datei existiert
  288.   file$=LEFT$(file$,LEN(file$)-2)+"FRC"
  289.   IF EXIST(file$)
  290.     OPEN "I",#1,file$
  291.     ' Lade nur die Parameter-Werte
  292.     BGET #1,V:bild_info%(0),180
  293.     hoehe%=untere_gr%-obere_gr%
  294.     breite%=rechte_gr%-linke_gr%
  295.     IF bild_info%(9)>0  ! Bild noch nicht fertig
  296.       hoehe%=bild_info%(9)
  297.     ENDIF
  298.     CLOSE #1
  299.   ELSE
  300.     ALERT 1,"Keine Bild-Datei !",1,"O.K.",bnr%
  301.   ENDIF
  302. RETURN
  303. '
  304. ' Laden der Tiefenwerte
  305. PROCEDURE tiefenwerte.laden
  306.   file$=LEFT$(file$,LEN(file$)-3)+"TW "
  307.   OPEN "I",#1,file$
  308.   '
  309.   ' Feldgröße feststellen und vergleichen
  310.   feld_gr%=INP%(#1)
  311.   IF feld_gr%=bild_info%(6)
  312.     ' Überprüfung auf Speicherplatz
  313.     ERASE vert_diagramm%()
  314.     IF feld_gr%<tw_max%
  315.       DIM vert_diagramm%(tiefe.max%+4)
  316.       ' Tabellen überspringen
  317.       SEEK #1,(tiefe.max%+4)*4+516
  318.       ' Tiefenwerte laden
  319.       BGET #1,V:tiefen_wertfeld%(0),feld_gr%
  320.     ELSE
  321.       ALERT 1,"Tiefenwert-Datei ist|zu groß !! ",1,"O.K.",bnr%
  322.     ENDIF
  323.   ELSE
  324.     ALERT 1,"Tiefenwerte gehören nicht| zum aktuellen Bild !",1,"O.K.",bnr%
  325.   ENDIF
  326.   CLOSE #1
  327.   feld_gr%=bild_info%(6)
  328. RETURN
  329. '
  330. ' *** Handler zur Fileselect-Box ***
  331. PROCEDURE fileselect(wildc$)
  332.   REPEAT
  333.     FILESELECT pfad$+wildc$,"",file$
  334.     IF file$>""
  335.       pfad$=MID$(file$,1,RINSTR(file$,"\"))
  336.     ENDIF
  337.   UNTIL file$<>pfad$
  338. RETURN
  339. '
  340. PROCEDURE bild_plot
  341.   '
  342.   DIM tw_zeile&(breite%)
  343.   para%(4)=tiefe.max%
  344.   para%(7)=breite%
  345.   para%(9)=VARPTR(tiefen_wertfeld%(0))
  346.   para%(10)=0
  347.   para%(21)=V:tw_zeile&(0)
  348.   '
  349.   FOR zl%=0 TO PRED(hoehe%)
  350.     EXIT IF INKEY$=CHR$(27) OR zl%=ymax%
  351.     ' Eine Bildzeile dekomprimieren
  352.     ~C:m_programm%(L:V:para%(0),7)
  353.     SUB para%(10),para%(9)
  354.     '
  355.     FOR sp%=0 TO PRED(breite%)
  356.       EXIT IF sp%=xmax%
  357.       '
  358.       twert%=tw_zeile&(sp%)
  359.       IF twert%=tiefe.max%
  360.         farbe%=mandelbrot%      ! Farbe für maximale Tiefe
  361.       ELSE
  362.         farbe%=MOD(twert%,anz_farben%)
  363.       ENDIF
  364.       IF aufl|=2
  365.         s%=ADD(sp%,sp%)         ! schneller geht's nicht!!
  366.         z%=ADD(zl%,zl%)
  367.         SELECT farbe%
  368.         CASE 4
  369.           PSET s%,SUCC(z%),1
  370.           CONT
  371.         CASE 3
  372.           PSET SUCC(s%),z%,1
  373.           CONT
  374.         CASE 2
  375.           PSET SUCC(s%),SUCC(z%),1
  376.           CONT
  377.         CASE 1
  378.           PSET s%,z%,1
  379.         ENDSELECT
  380.       ELSE
  381.         PSET sp%,zl%,farbe%
  382.       ENDIF
  383.     NEXT sp%
  384.     '
  385.   NEXT zl%
  386.   ERASE tw_zeile&()
  387. RETURN
  388. '
  389. ' Bildschirmauflösung bestimmen
  390. PROCEDURE screen
  391.   aufl|=XBIOS(4)
  392.   SELECT aufl|
  393.   CASE 0    ! niedrige Auflösung
  394.     anz_farben%=16
  395.     mandelbrot%=15 ! Farbe der Mandelbrotmenge (sollte schwarz sein)
  396.     xmax%=320
  397.     ymax%=200
  398.     '
  399.   CASE 1    ! mittlere Auflösung
  400.     anz_farben%=4
  401.     mandelbrot%=3
  402.     xmax%=640
  403.     ymax%=200
  404.     '
  405.   CASE 2    ! hohe Auflösung (für Graustufen)
  406.     anz_farben%=5
  407.     mandelbrot%=4
  408.     xmax%=320
  409.     ymax%=200
  410.   ENDSELECT
  411. RETURN
  412.