home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -seriously_amiga- / programming / e / e-list9803 / e_list0398 next >
Text File  |  1998-04-23  |  194KB  |  5,299 lines

  1. This digest for list amigae-list has been created on Sun Mar  1 14:03:06 1998
  2.  
  3.  
  4. ------- THIS IS A RFC934 COMPLIANT DIGEST, YOU CAN BURST IT -------
  5.  
  6. Date: Sun, 01 Mar 1998 14:01:22 +0100
  7. From: gamboni@fastnet.ch (Jacques Gamboni)
  8. Subject: Attribute refreshing with MUI
  9.  
  10. I have trouble to refresh some objects in MUI:
  11. In most cases, a simple Mui_Redraw() is sufficient, but not always.
  12. Examples:
  13. * I have a group with custom layout, that can get new objects with drag
  14. 'n' drop: I have
  15. a library of available objects, the user drops one at the place he
  16. wants. Because a group mustn't
  17. be empty, when no objects are in the group I put an invisible
  18. RectangleObject, that I remove
  19. as soon as a new object is created. In this case, the number of objects
  20. (1) doesn't change, so maybe
  21. it is the reason why MUI doesn't call my custom layout hook (the first
  22. object drop in the window
  23. is always at the same place, the place where I put the rectangle at
  24. creation time). When the window is resized,
  25. the layout hook is called and the new object appears at correct place.
  26. * The objects should be moved with Drag'n'Drop: When my Group recieves a
  27. drop message, it
  28. moves the coordinates (global variables, read by my custom layout hook).
  29.  
  30. The problem is that my custom layout hook is not called, even when
  31. Mui_Redraw is called: The user
  32. must resize the window so that the custom layout hook is called and now
  33. the objects appears at the
  34. correct place. How can I call my hook from the program? Using
  35. MUIM_CallHook is probably
  36. not sufficient, because the resulting values aren't read by Mui..
  37. * I need in some cases to change the MUIA_Image_Spec of an ImageObject,
  38. but Mui doesn't react
  39. when I execute
  40. set(gad,MUIA_Image_Spec,s)..
  41. And I'm sure the command is correct because when I iconify the window
  42. and open it again, Mui reloads
  43. all images of the window, and displays the correct images, but when I
  44. redraw the window (e.g. resize
  45. or MUI_Redraw()), the image doesn't change..
  46. So I would need to ask Mui to reload the image, in this case.
  47.  
  48.  
  49. Maxime
  50.  
  51. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  52.  
  53. From: massa@earthling.net ("Matthew K. Massa")
  54. Date: Sun, 01 Mar 1998 09:58:07 -0600
  55. Subject: UNSUBSCRIBE
  56.  
  57. Hello,
  58.  
  59. Kind regards
  60.  
  61. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  62.  
  63. From: massa@earthling.net ("Matthew K. Massa")
  64. Date: Sun, 01 Mar 1998 10:05:46 -0600
  65. Subject: UNSUBSCRIBE
  66.  
  67. Hello,
  68.  
  69. Kind regards
  70.  
  71. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  72.  
  73. Date: Tue, 3 Mar 1998 13:15:05 +0100 (MET)
  74. From: rade@coli.uni-sb.de (Ralph Debusmann)
  75. Subject: EasyGUI
  76.  
  77. Hi,
  78.  
  79. I found some a little annoying limitations when using EasyGUI for my tiny
  80. moduleplayer. The problems I had have to do with the slider-gadget:
  81.  
  82. 1. There is no proc to change the min- and max values of a slider
  83. (workaround: I used Gt_SetGadgetAttrsA, this works flawlessly)
  84.  
  85. 2. The EasyGUI-slider seems to have 'GA_RelVerify' on by default, i.e. my
  86. corresponding procedure is called on every slidermove. I'd like to have
  87. the slider have 'GA_RelVerify' set to 0, since I only want to call my
  88. procedure (set and play a new subsong, e.g. with sidplayer) when the
  89. slider really has moved and the mousebutton is not pressed any more.
  90. Gt_SetGadgetAttrsA isn't able to change 'GA_Relverify', so that I would
  91. have to resort to creating my own slider from gadtools... not nice :(
  92.  
  93. Are there other workarounds?
  94.  
  95. Apart from that, EasyGUI is just a nice system, I like it very much and
  96. won't resort to MUI or BGUI, I think.
  97.  
  98. Ciao, Ralph
  99.  
  100. - --
  101.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  102.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  103.      Homepage, http://www.coli.uni-sb.de/~rade
  104.  
  105.  
  106. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  107.  
  108. Date: Wed, 4 Mar 1998 10:50:19 GMT
  109. From: jason@fsel.com (Jason Hulance)
  110. Subject: Re: Re[3]: whatis.library
  111.  
  112. Eric Sauvageau <merlin@thule.no> quoted and wrote:
  113.  
  114. > >  And of course you're taking the date from a similar datestamp on Aminet.
  115. > >  That's a good comparison...
  116. > No, I'm taking the date from my own knowledge :)
  117.  
  118. Yes, I thought as much.  The first version of NewIcons that I saw on
  119. Aminet was at the end of 1994.  That's a good six months *after* the
  120. release of FakeDefIcon...
  121.  
  122. > The FakeDefIcon on Aminet was labeled v0.1, so I assumed it was the
  123. > first (and last) version you ever released.  If you released 0.05
  124. > before that, then my apologies :)
  125.  
  126. That was the first and only version, as you suggest, but it obviously
  127. took quite a while to develop and write.  I was actually hoping someone
  128. would take the idea and develop it further (I supplied everything,
  129. including the source).  So, I wasn't upset when DefIcons came out using
  130. the same techniques, just a bit miffed that there wasn't any
  131. attribution.  I'm quite happy to assume it was a big coincidence.
  132.  
  133. Of course, in an ideal world, the Workbench would have hooks in it for
  134. programmers to add their own extensions and we wouldn't need hacks like
  135. these.  (Actually, maybe there are such things as patchable, private
  136. entries in workbench.library...  Any clues, Eric?)
  137.  
  138. Cheers!
  139.  
  140. - -- 
  141. The conundrum for today is "plstighyr".
  142. Your numbers are 100, 10, 2, 3, 5 and 1.  The target value is 834.
  143. ======================================================================
  144. Jason R. Hulance                           Email: jason@fsel.com
  145. Formal Systems (Europe) Ltd                  Tel: [+44] (0)1865 728460
  146. 3 Alfred Street, Oxford OX1 4EH, UK          Fax: [+44] (0)1865 201114
  147. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  148.  
  149. Date: Wed, 4 Mar 1998 14:19:39 +0000 (GMT)
  150. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  151. Subject: Re: Re[3]: whatis.library
  152.  
  153. On Wed, 4 Mar 1998, Jason Hulance wrote:
  154.  
  155. =>Of course, in an ideal world, the Workbench would have hooks in it for
  156. =>programmers to add their own extensions and we wouldn't need hacks like
  157. =>these.
  158.  
  159. Like RiscOS, perhaps?
  160.  
  161. kyz
  162.  
  163. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht unterkriegen 
  164. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein Lager; Er trinkt
  165. ein Cider; Er singt die Lieder, die ihn; An die guten Zeiten erinnern; Er singt
  166. die Lieder, die ihn; An die besseren Zeiten erinnern 
  167.  
  168. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  169.  
  170. From: merlin@thule.no (Eric Sauvageau)
  171. Date: Wed, 4 Mar 1998 14:07:21 +0500
  172. Subject: Workbench patching
  173.  
  174. On Wed, 4 Mar 1998, we received a letter from  about 'Re: Re[3]: whatis.library':
  175.  
  176. >  Of course, in an ideal world, the Workbench would have hooks in it for
  177. >  programmers to add their own extensions and we wouldn't need hacks like
  178. >  these.  (Actually, maybe there are such things as patchable, private
  179. >  entries in workbench.library...  Any clues, Eric?)
  180.  
  181. Sadly, Workbench is very closed.  You see, Workbench was originaly written by
  182. a guy whose name I forgot who was more used in working on large systems.  Workbench
  183. 1.x ended up being quite messy, doing a lot of private layers trick rather than
  184. calling OS functions for it, and so on.  When with 2.x CBM decided to almost
  185. rewrite half of the OS, they looked at WB, and faced a rather messy source, so
  186. WB got very few enhancements.  
  187. Heck, FULL font sensitivity was only attained with 3.1, when the Execute COmmand
  188. window also got font-sensitive.
  189.  
  190. Workbench.library has a few vectors, but not much that can be patched.  The vectors
  191. I know about (in addition of the well-known App#? ones):
  192.  
  193. - - WBInfo() (V39) opens the WB icon Information window
  194. - - A routine called by IPrefs to refresh the WB (args determine if it will refresh
  195. icons, fonts, or close the screen and reopen it.)
  196.  
  197. - - An LVO for launching WB
  198.  
  199. I think there's another LVO related to the devices shown on the WB screen, called
  200. every 2-3 secs.
  201.  
  202. But sadly, no real way to wedge in to patch any function beside the icon Information
  203. window.  That's why the way to go is with complete WB replacements, such as DOpus
  204. or Scalos (for which I betatest and write ClassAct modules).
  205.  
  206. And so, patches like NewIcon or #?DefIcon had to rely on higher-level patching.
  207.  NewIcon patches icon.library, and does some graphics.library patches to achieve
  208. the no border/font outline/transparent dragging stuff.
  209.  
  210. Ciao!
  211.  
  212.  
  213.  
  214. ... Your PC is always crashing?  Try setting BUGS=OFF in your CONFIG.SYS.
  215.  
  216. - -- 
  217.  
  218. ===--- - - -
  219.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  220.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  221.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  222. - - - - ---===
  223.  
  224. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  225.  
  226. Date: Thu, 5 Mar 1998 12:43:39 +0100 (MET)
  227. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  228. Subject: MultiUser
  229.  
  230.  Hi !
  231.  
  232.   I'm searching for AmigaE modules for multiuser.library. I have
  233. emodules:multiuser.m converted from pragma but I don't know how to convert
  234. libraries/multiuser.(i|h) -> AmigaE module. Please help.. 
  235.  
  236. - ------
  237.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  238.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  239.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  240.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  241.  
  242. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  243.  
  244. From: merlin@thule.no (Eric Sauvageau)
  245. Date: Thu, 5 Mar 1998 14:31:56 +0500
  246. Subject: Re: MultiUser
  247.  
  248. On Thu, 5 Mar 1998, we received a letter from  about 'MultiUser':
  249.  
  250. >   Hi !
  251. >  
  252. >    I'm searching for AmigaE modules for multiuser.library. I have
  253. >  emodules:multiuser.m converted from pragma but I don't know how to convert
  254. >  libraries/multiuser.(i|h) -> AmigaE module. Please help.. 
  255.  
  256. I'll probably have to convert them myself soon for a Scalos module I'm writing.
  257.  Send me what's you've got, I'll convert the remaining includes for you.
  258.  
  259. Ciao!
  260.  
  261.  
  262.  
  263. ... "Hyper 5... Embraye!" - Picard, "Star Trek:Generations" v.f.
  264.  
  265. - -- 
  266.  
  267. ===--- - - -
  268.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  269.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  270.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  271. - - - - ---===
  272.  
  273. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  274.  
  275. From: kolo8@ely.pg.gda.pl (Piotr Gapinski)
  276. Date: Fri, 06 Mar 1998 08:56:40 +0100
  277. Subject: easyGUI
  278.  
  279. Warning: This is a message in MIME format. Your mail reader does not
  280. support MIME. Some parts of this message will be readable as plain text.
  281. To see the rest, you will need to upgrade your mail reader.
  282.  
  283. This message was composed on an Amiga using the YAM mailer.
  284. YAM is available at http://bitcom.ch/~mbeck/
  285.  
  286. - --BOUNDARY.7369.2008.5943528.1
  287. Content-Type: text/plain
  288.  
  289. Two small extensions to the easyGui module.
  290. Now user CAN change window pos or size even when window is closed.
  291.  
  292.  
  293. /********** movewin() **********/
  294. EXPORT PROC movewin(gh:PTR TO guihandle,x=-1,y=-1)
  295.   DEF w:PTR TO window
  296.   IF w:=gh.wnd
  297.     MoveWindow(w, IF x=-1 THEN 0 ELSE (x-w.leftedge),
  298.                   IF y=-1 THEN 0 ELSE (y-w.topedge))
  299.   ELSE
  300.     gh.x:=x
  301.     gh.y:=y
  302.   ENDIF
  303. ENDPROC
  304.  
  305. /********** sizewin() **********/
  306. EXPORT PROC sizewin(gh:PTR TO guihandle,xs=-1,ys=-1)
  307.   DEF w:PTR TO window
  308.   IF w:=gh.wnd
  309.     SizeWindow(w, IF xs=-1 THEN 0 ELSE (xs-w.width),
  310.                   IF ys=-1 THEN 0 ELSE (ys-w.height))
  311.   ELSE
  312.     gh.xsize:=xs
  313.     gh.ysize:=ys
  314.   ENDIF
  315. ENDPROC
  316.  
  317. PS: new module (easygui.m) included
  318.  
  319.  Pozdrawiam,
  320. - -----///-----------------------
  321.  Piotr Gapinski
  322.  mailto: kolo8@ely.pg.gda.pl
  323.  
  324. - --BOUNDARY.7369.2008.5943528.1
  325. Content-Type: application/octet-stream; name="easy.lha"
  326. Content-Transfer-Encoding: base64
  327.  
  328. H5MtbGg1LVpKAABe6gAAW3IjJAAACUVhc3lHVUkuZbpjHdCEvXattuV1jjr8ARs3cxk6wy0m
  329. 5JN1Rl7hSRSR1lIrSSkmvOPFQSQSRWCAYACyj65fxu//ffd70AAlJJJJxxxyS77231t9beHc
  330. z3B9eDcy8S3h3Mvd72sjcbb8nparuR6N7M9UyNtX4YI5Is1+SNrC5HI1BCP6N0f5rDDBI0Xk
  331. 9I973WonY3v73Lz7rWLM94o6mtrWuK61wWtzjs122rVzkr27li1w1fP9jbXFbr8Vu1t17lzW
  332. 1gL7LsjUMD+gfDrUOFqTGQdffhzvQYmrzrWB3C9A7g2S1v7U9Gq9a5zb3HY57Ni7X1unE3eO
  333. zZ7NXuV9rj3tYxndxvRgvX3SNr3uRPQ5owduTKCDgGFecjdwAkGnL0IN2/jhevu1Nb9r2GAB
  334. T4j3n9Vfm2rVa3uFqp9Sg76d+ZUdxe/tdgwPYWfWkGdW2563Fxctjh3LXLpxq/ru261zUDGH
  335. +7AXWEbTg5hjvxPZT7JyOxxuYnRzxhhidacgad6L7oyxwaNpE48OGqngb6h5bLSeul0Nvtx0
  336. 2smg9or21kQUa8UkML8flYHI/FMdsH+QbtoGabDcWHcTmAxB4m9ZpP3id6Hb/lfevRDu90ZD
  337. MGOSX1ghwTZeWGKScBYonMuN6/H5YgocWYWpZiSO9EnbrMWHoo0/vewOwhVuSKF/VkO55gA9
  338. BJmeLhvygzcTsl99yMyblyHsg6r7cdfj3A4d2uhbqbLZwt5ezjhOqSN192AhO5kexODZL47Z
  339. qc0jz70mjyyOYnpHcnXk+LWnQ5mS3X1vnvEIM8MXuvOwX8flZ4sQeoADFb9KKt+TRldl2O5X
  340. 3WlEAS7LTQUCtuqRQCczWWJ73uSOwBPvSH1Kg+X9835rJmfkexuQYAzunyPLrV/XxWrd1q1t
  341. fzr7d2fTjgeN7EPmHKDMhzQSa3FbsclYmH/dwe005nJGDZ4rttq7aayZVma01ngwaspomu0e
  342. y/j1q43pj3SvcTVnDGTWlGsH+x96D3eJok7WngzmLfoVNRprjJn4XCwRzkDYQgFecv+5qSE9
  343. 4zVtYYoch4SwQXmSClTW27XDcutb2+GknD6ue1u7tyvdq7H162rkuUF/Lklml1j675XoMEOd
  344. tq49igcfa4HI/c1Sghka2npKbbViDDCnEy+Is6bAdBNvFmdncRhjgLrHyIHmt9YxyY2c1Tdo
  345. q5f7expwlwlwyXJlkc4k7RDNKMuKqBWWINeXSuy/BL3UABxIk2o9GuKELjuxNUoy6MckI5ib
  346. MONYX3MRikAwO1H3sATvbHWkNMAnL1cHIHrJP2N42L7bXI9HmcfLj9trdDKBPnnzRux86MNG
  347. 2t67zhfrnej5yTLJHp9YXRlM37zArcjkkkS8omHpe4xSBLeKQAFQABCoQBuiG1+hIjjuNQ2T
  348. 7Ibcu0NmS47Bs3iPVgLrwlFYNbnvK7aHOXK9gkxh2lga33XsWMB31n68zVpFHeIuDFc0bUMW
  349. B2IulegQbbreg/noCo7egfCgq7BmjEGk/mxPQFq8iYGVMBZHJ7UO2ZWXRgjdeiA6uSRGhEfA
  350. AyMJYohguyAI1b/gcyku36ndBLSsAHud0R+zzfX7dmtbt1gc261ZtcO92g6dj0AfWy5WI4RD
  351. ihnu21y7WpADpZUtuZcoRibz3l9x9gvnUjtu/fmdjJNXMtj1tPw3yUuGgid+9YbiXqKFISTv
  352. V2Q2fpuGiMov7rwdbNn1SeQXaDehsMUm88h5YL+KG+3A7nPr2djGo/bUG2/CHHHEWnYGA5jT
  353. KdEJKWV2tm24YL5bsCwteXqNcgj31NVMjnudNDlUUmUIc1G5hdUigT0tYRTr/w5I2ycskgPe
  354. Lj4dB0qbV9x98jTPCvhzwrjqVxSTd/dJh4SgRc+HHmkkQcgA4IxGprBt81t27n93P620+xzX
  355. x8Iby7hYKvHm1ltuEb/HiW69yx/dX9dVm9lxOZMTm07Vmwm3rVq3MLmb2YFTaEENQCa3Duc1
  356. WYEK2JnxbI63QyfjJ3UOir8UIO5cTduQux+tNHSJrBTapK+wFKDfp0bPm/w2fNp2fr4xANQY
  357. OzZr4R7xV+e2WfQFutK1qJI2ft8ZLP2uXxsJ5+Yvjzp5/Sfz9S+ra/Dx8DVu1y3G6/9D+tu1
  358. ZLzP62q/JXsp8225Q79afX2H8/wVifxP52NdrYMabHmTG2EG2wY22PqH/Le7H2azCo2uO7dt
  359. cLe3v19v1N2OG7X3q9tuzYuXeRvg9be3zbYmfeKtZr3btdu5t27Vmy3cs2Nwel223dCnLYMK
  360. YndhRI7CEj5hwR5k4H8xkn5kJHzfSrhv6pSKuKIvis8e9Y4W9qtbbucVbbr76fSfPI3bVpuC
  361. t6wypRIEcdVKlSc0U9lFyzLuT5jTVtntrI4AykmAF/MU3cJODLrXqDdmVNMvW7W2mvuBe+zX
  362. bl/mthvzN+dv6W/qb+xv+Df8W9jYb2PM3sedv6yy2tcv8zVbHm9uzt79a38x7BmyXg3YGQTb
  363. x6IN33IsWbI6aOqyS4LHDWt71xCS8zcv815wRn1AivrBLfYP5r+LbQI0sQZZf4ESf8PP61Ej
  364. rG0LUm2RChti70LJooGU4F0EBOmUErOcdKVdgpLYcuc9bbEVk2fldCFaYm5Wu1kww+BVhk88
  365. TD3LFwt7t7/qXvS8k3pePJWsq8bNfdupmoES8UCJ4aAcJprA5eSAcvFAOXjbrr8UA5eKAc8N
  366. APZuMA5eSAcvEb31tr8eZPElQFYdoaY/G5v2uVuVO1pWNt8du2mqQeF4oPDGJ8LHmoQzXB61
  367. kMXkhDF4oMj8T4WLxQNl4oGy8SDekhTz1c6c22znQeSudB4oHS8UCZeKudB4q50LDQDhXdYH
  368. LyQDl47lfiV4pxsrx5k8UDZ6cg3pKYsZBQegQUBkksUF5CmSXU8btq7ZX4kMjzRs08U7xLx7
  369. BQWMgoPQKFFmwwUDyQ0S8VDIeIWBVhhk0rxQ0S8SGWoTjF3eBYHTk0vFQ7LDUO7spyDyUOx4
  370. k2DTxUMbrDaHja5F5vacl1hyEHTRmPVIMgIyUgIZF5IMi8dq1b3Ew1GgF9l6kvJNSXimpLxV
  371. qeKzvMQUHkITptMTeNMM84EOIQAmJVfe57vNxV6oaUVz25/YDyTx4gbGsUUObKjSbpgdLEdu
  372. HPSLKprPGknt6KqPaqc2r24X+7V+nr1QC1qKfXrCxvp59TtO+92gLM1JudJ9VvEZE+qo3s2o
  373. r/eJhafW0lBRZqFDNy4RQI1OnLxhHlcvutKimenjLfcj37haCUiGcZG96pz6rk79V6erVatO
  374. WqsbvULLu/X4Vw0bVezcrta8oD5PwAfJ4APm6gGeoKOijl65oIEccTg2bjW9mkkFW6/HjbaG
  375. huZelBIcF9PdRFl36yrb6tXq1E3HNGT8+OvwAnJ8AJ18dpqaOPKWkgy48nwKa5D65xVfM3zD
  376. 5887Hwcs+92LQVCCevmkqXLNLmqrsjn7P5fspqAPrJFCxw71UAUgSnpcJum0dNVnAV52TOKF
  377. qqCmjUzyuCKvNJYwGHB6ehgMAJe8EHIlHWavHQuNZkSf602Gx9bY9OZPT61EAiqbgWTE56VG
  378. jKlMqQypZHoKawMTB9QI+lI9VQJ86EMsu7xL83oeg5456CAQ/WkzuBQF8yR2qvSbltYJkzic
  379. YQD38bonKAB49aiGw5Sax8/DaJtYI/hXvtVrljbbZmEgqv1LzNRpU+EUpVGupVih/c+6e8q8
  380. u6je06e0SD54HDX5bNq16uADu5Ps0IBNohFWRa3D2zAlp15EPVlzGCHct1t4SHMvvX4ru/vV
  381. tzeE75at6oPgvx6Xbs2rldNLOJpRIgwYFS9NratBbDgow1AKaYkvvvDnixubfBxMq6Nbc5zw
  382. Kp/POm0FI34SBc+Hx8UuDwWuO5X4LXJRz7Y3ODb4mqWd6THDmkaHLxELTn6PTe8NyqwbShO3
  383. X3QvnvpStdQqRkdc7+NF6gdj8Vjb9Uu6PkjpB9uty+o6C78QSaFPVuBJpacf4gAR1PHYugi7
  384. kxGb9bh3uoKclbhsWbNb1KoXvXyT8eRldYKz1pPL5hMHcCrf4/DDlnoDiu+hbjB43avk2Dps
  385. /P/QFpV1z3NY6Vq1hzQJ4FRT0c2zwayaXdzQUonZDf/l9+jXU/5L09Oxr6+up2AJcINaZCZt
  386. 5heacQvApSakoR41YouAI33QlD1/duj8gAuaBULMi5fdyPKKa4LmECE6SbGpsXF0bAXFj7md
  387. WE5xXikHhGrV6/Dv2Aj2jni5zXLBcohFDcLEN0AzEs2uUYlFF6KxBRZHD4nDXKJxOMul82Nb
  388. ZhgxWIJKQMAHAPmoRhPCvtgBbOzGdYuLzqPwl4SU596lZNTefPe3s2HC7FREqE1yHLCt4e9P
  389. gQ+A942GVeyKh7X3Kfo9OvTonckqacXuXzxjcjFohayPYPJlKxfLRQ4bQkdtwInT8O4HJHGq
  390. R2OTI7geKx9Pk5UCaC7QaqxciyWCvgtlV9Tr7Laq+sM6AcrtlV5uiMV7iiwxpVtleiVik4Bw
  391. ViIE+dleGvOrWFQI56ru2fALYMeeqe6bWglfq/K1mq0S7RzOTm4D8bM2eqxxmaeqwocXHtWQ
  392. 5bMA9/BHRshTBvQfz0Rp6H9JtJ7axiZa5pcWY5uK3a2x2FBznU1wU2EWhrGYnplYWFGrYuNS
  393. 5E2jTf53n3+eJKo1q2s1WrUK0ZGc5MSqT2SPEsnjvZCs1sQemm1ragtu1gsdpCCK30jvmzZS
  394. Sbd8W6T/MElXw4gY4pKsVL9NvX4OK7zK4/VspHOq2LsSs/IhztCb5QsBDapEVhrFL6PeePoj
  395. DZjR49A+qZdckMVDcU55R+0nByT/mdeKRRaYnyt7It4Gkq9W5xP96iAAepRRKhviEYA9gdge
  396. kewvCItKw/y2nxUR2thgJ0PgrbwhoP3V631bBf9JOgWLslq5XWUuvulCo3K9UffOIBi34/3f
  397. SHMGmJHLTWLtmvVl15z14dxiLdHhY4d20eCG/nCfhuh4OfgUCLpoTpbjf5BV/zn+uUuRD8kp
  398. bJCI6OmZl+vlbV4b5+BxU3UDjgl208a9bhTeb4kF52m58AEiU8I792W0kyuUK127bpFa94GU
  399. CoevspQU/bPLxnpjuqCaelZHnZdgpHiU6fpglcUWssnTrocppoLwp9VuO4aNaNUMyjWojnOA
  400. 6GwA2gRjSYDoBRviaMFJgeUITinUExzfuV90rXsTotr8A+NBs1Z8ZaspbEZno9Pk2GalCALU
  401. KIM60GTt1VEYQaHitlK51TV0bK/dCFUEvwb19pLBSSshbYqnMEnl2Pldh1VO//a0gP2aq61T
  402. 9pBnZq3bfHXXujld/tLqpWrXWg/tIdJ7CmJr1x2U6fXLq9q9Bwev7VImq0C6tkvQCnM/bRoF
  403. 09VQwVUDF65VnHlMtdbbVrlVv5hnFZ5aDOVV3V6BVlGlB66tEwnztDP2zE+qqtM0BWjOcRLq
  404. eQ0AQBTqhiBcvaJ9l63hf9qMVV3EWpWeHw2i1Z5LL6An1p3c+nDA4KzhfVx8h3mdOBEwNCJe
  405. MlqjFDj9qT1ChJ4a1YUsmRpmrXleXoVKtzEd2G+oywK/c7opSNvU5hugJPIEfZLxueD0qPf+
  406. lDClMfkoBNn9yeM2f3J4TZ/cnfNn9ycE5P9qaM2f3JoTj/tTPnz+1M5M/wTN70eNSWhNY3o0
  407. 7oYg3Og1+Ov6UGDyKEGDwelBj/20nsXPm0blz+9oZLn97QuXP72hUuf3s+5if7mdkuf3s65h
  408. /3M6ps/uZ0nn/BBqeHuEDqXabl592eHtZKAHtptHSxY2xDxUMhF5Zus+lgMolWIIpBpOYG1W
  409. XCnT0vviylMszZkgdnACIN2CtverEctbas19xWvZGgLT6KbfKP2XVZhE1yFexDqUIva0TgqJ
  410. 8TmR2pNIRpq6WfVG2Tx4yo8TXbz1Eq3L7uGRnpJDlniDs9TOUvB5F50RSrRUY7PUSVmZk3oR
  411. VxMhSBLTVt3CIJDGkanukUdLP0yEKyPQjcrsCR8vmb0eYgFcdkrcQiA2ZyBe/JujbqxZtgwN
  412. lxrE6U+JA7nZfgBCCK4lGLipJIlsncknZhbOxO0VUoEZulBSuWvZrtl/d2xLX+3ZxKpR98Sd
  413. 7KUfGciuofKtueXKVc3LfR1GTbta3vXKRi0XRAvRMn3Djq7W2kyfUKcmPSh3uVMO3BUdt4h5
  414. YgawO3s2IrBPGdMNxvRnN9itutX3HyUeeElU64HzWEUpF6MiLcKkH33cqR2yEloLMdpdDb7c
  415. Zc5s0GzV6Ptm9jo6ZtD+WJ6R3dpeL+eYpBC8VVaFGPMDTb37oPEQOidLrrnZj0lKgUnxR1Do
  416. 9dJ/0eYqckaQqw21XiiHKEQP37sGy190YByyhKAc06z7o2qU8lL+77sdMthG2/TRizY3SROQ
  417. 6etXqdjC65HoElrWHRXwYwM0Uj0j7rZSeMhIoCqc02hVVdyzXUxWxYyxOqh7NskCRRE6oxnh
  418. NPdIOIueXfsWa5x/Ouh4uPCnWY6gqSqcXnIY4mUK0ZajwPcgtdsV+FrctDEJhfANUrR23buO
  419. IMOpZGMAvu4K58IRQvOX/d/XhObV/lw5bFe+t8Pw5JpqLhEKmId1fovPYsX0GfHxAHsXOe+z
  420. xBm45/fUKkR+Jv+BLr+3ZZRD+2uWT/inz+C1brmSHtoRG6eOdZFk3pDpTNRcCo9IXtS7KXs2
  421. ZBUz7/qH57NU/peDzx3xhUjwz456xUNCLWLMLBgdwrGOoUmFB8J6vR8+e8BIMDrEQbHNZsop
  422. aMGZbLwO2j9u0SU0p9o0S9onXQEwbALwDGx+ggVzbacBelalNpmzIo7Fzus1xE+q7CEuF66X
  423. 0Bod9Df0+fYb8W3DmfwCr+ijOI4HQs2toM+i8g0pBwvGiB/Jq1E0TK8NE8juSGLR/LxMFllz
  424. QMqUkUI4eApShU8P2b13g4aLdG2UCCRYe2mk633FH5pyjfMSLKO14EUOfSIcq6/lIisueDA2
  425. skvkK/POKx0anAJV4jLUauY0yhW7IhXMsoeyfs8UqbGl9cIEjnhw4aUDca+7URxXCY6E7hgq
  426. 6bpIu+Vms7sNkzj0BHSpnEBqFjvGu8vq3vpmuqSboa3R446kTkchOOaknQkDx49hjKhAaUGN
  427. 42XrxvRMXGVzB+JcVdRB/4mDo8c2qO1vnpg5yCOog2JKUaprZCdSEe1FkcKbpLOVWsdhSq0o
  428. 2n7lZyMPTXudR0N6og0QZgrhwgzy+VM9r+Ruh00cYz78rs+H73nc5dBHaQihfBuyc2mxIHnn
  429. PzJJvWVYYwZE0MCl9acfv5nzWXDKTJmyEc7REVURkMZlVU+Rojr3Ixibko6oHO+ciW1lX7/b
  430. YEQk+ScYVBSKSjDQdR51D1oLPZqrTJAUznDoR01si+gY4g5l+2g/bRM3qoFyzAOMhM3ESZIg
  431. JRqwZkkJpGZ9DgX+NQ68ZHrU6CaNaEytHjUQyZQtLKoS0916Y0jnUuZuhWEuyRUMDzeUN/T9
  432. X1N+Irjq0Ih6SGFoYxxVAsma3IAYA9s6IZ92FmwJz90omUfDmD/aUPuB4IlGorp/r6b9Z9xn
  433. xLlhjDYR8IIPYQx9dwO4E6ev5BM/g3FSOnpqmcqRCu5C7H67aWcg+C1XSEzlVsEVvPaJ3cYO
  434. v5PHnqEwcdCRK+MlSzqpN2/kTdS6frMDm/qYGNZfp0H6aujSYHN8TAUh0ZDaGGDoMIYwYAaV
  435. qL9WpUYCpYXGswFadZf7gmcH3x1grreXqZprghEXZoO/H0s7dF+cpr3913IF8nInn9DVAIEf
  436. DiEHoL3GHYcWJOGI8g0ZYQ4hjeE3QgoSYHsvZBBKAU/wH8JkJJioxLwQ+9QALmKdbHbDOfE6
  437. gA2imvTl9CZWs3hNLpSUyxDgCIR+xCxAGGCYz31j7sZ+0fhzh+SNgruUqM/yAPN+gBRB1Zj2
  438. w/197p3DRSh08+gzTVj6FO5pFLhUsjmi8EYnMTgtz/5drslK1Scxg5Vr3KAfNdOOFcJu9JUW
  439. MybgpB6tFL7Mhu0w9mqG9HIflYGacJYGJnTDcprPhDdfwohFtQw7IRlZNE5PX38EdXih1mqV
  440. 8USiInCBAUkiGsrkRgGV/2a13IUetyWK/KUlybOrn3q91OaL/u/Y1yC4VQ7YjtooX2r5pGBp
  441. y5i/Ys2DYwFBoLeO1L8L8MQn7UOWcAUgluQ09mMuG0iKCqGDQe0bNXH7Nj2ogufst3CbMbge
  442. gpDFqCkf5REZX3xDf5HOjo8nViPQdHj2G1uGPIaUnl83kmJ/B0I8nUHdH4B3R2h3QYdU5j8m
  443. jsD2iYPMnmjMVbW5RKSkAxmNomyVvczgWFbpfWy9gtAUOmGd+RyQimOtZhQfZMbgsibr48kQ
  444. RwVGmqwYzqdaA5GQPS0pugrapKWZYKvUrHWkDCTy4bsn/qssFFtQ5oMAYweToUxiUtnKY6CD
  445. RMINBiDQr1xsAmPyaFMocfSBAQvHHLA+B94o8Dad0iuOuZ+Qn8Cihp0G6Wlq68payvLS6r+L
  446. PtJGT8dusOTG7LwovMVwytJ7v4foKIcJ6O0oub8yi7dusOTFFjnKLRM4ZYnHMUa+f1wfimO6
  447. 2hpRfIh6tmraGejVe65iK9mUiXu6XFPs5ayr9En5RD9AoS61KM9Prcvjapfz6NroPargDO/b
  448. ctjcu76txn7tDv17G9vqJDH3aE3JCgHrtm5AD+5jmLZDb0mw8RVqYNgI8bkS4RzUCd2zW3ri
  449. gSXEdiR3JS9hAndSV5bPzOYJ/WjOTBlAAUsigALx9rbS43nw5RsXbNdtj71es65o08kqS0ja
  450. nt7XIH7fHcu2uAWOuvX4W1UWru1Aq+jOlvCBQTSs6a0fHS1vWwF/+YMRAawZ/9YNDrBvk9IB
  451. 9bju2q25/McMN7HXojeFrYCZ/CAk+rz/ZPASGsMqIsauiTNyOQaCoqIl+V0TzPUDgeIpn0mt
  452. M8RkJ2FUBsaXJpaVJtmXubZ0Lql59kK1NCs0SmVbi4hlblrlmZquZxFM32IiCi2ge7NWtgwV
  453. suVGFlY7RKvVNzUedw3rSQqDIbwRbEmAqIsGOaWdPvlt0Zdzw+YiaXcl4Rkss2CuQcXPCrmm
  454. lNQltHJWqgA3CcUOLV4kx+k/TGoAYirvGzVTPXWZWUlKesqsrd2msmdhlz1l/wrkiVlYWTNz
  455. BgyB4OKwSS0fTWTpbxZB/oJP8K+wqvo5HPc6mBMCTJfTW3CSaEuAfJxJBpXowlS8qzpXyV5T
  456. mCGA8xcRR+tfNCfq7G8fuSnr714S7eilGukjjAXZjnryOyLK9G35/sp0+tZmzY2vob+vY85U
  457. NJYrIDFSyeAHu040h9HLwFyc84+VoawxQ5DOkuBF2n3t4oyY04n/tZSmg5Hy0UsYQhZHYyAe
  458. K3rGwLzSPPvSaEpNc/B/iVk1FYBsTEAuyd4mTiQxSUn4H824GMVIWGne3+Stbl7bTistR7Pa
  459. pkCty507k3NbctRQZZ9GOcxYFC+lKwZnjs9Kq94duNBJ+TY9HppdpMWOHdtFO7GFZiXRtyZM
  460. y2DVvTuw7I4ZTTpq1SrGbq1Z2WqjVzV83pJQq5tMoQ1K0p6dTW5SQg6dX0dOmOFQWcqmXHTo
  461. yhPtOiJUuGPq6R27Nq5X6RkxXfp1detw0asdGajsD59s0hJ0G5WthxSnbtd/u2uhm17m+xWB
  462. 4mPWOVv0JLout0bFTXAme2pri7mlPLZWJE0ub1FJvithTlJPYkiU1DmCW5FHH2gBIqgmk2y5
  463. /WxqmWXoZfrtdZsQHFS9mbDhlrkyje665PKw7KXFIbKXaajcwuv6DaqOYBVE34+xgevKoYIE
  464. sJJz0MFvhVOOXtgaVWtDHNNiG6y8i6WaVVeONBmgnJYJA4JzJpgnzpD8cLatsTV399+HJlfd
  465. kd/eH7+KAUVHI5H7mUdqldJyu7BHmiKhsicwamvH1NrPDF7o6lSoyuRgCLHI8uqkpaShJueX
  466. jS0765jfpbDcuoLFvPCVr/4QYHwhZ/j2sRg3nYL+Ps7XZl9PbGe9/bthkN40roP/v2o1SFt9
  467. gOsjwtIz5p/6dNJETL6dT11p5v1BB8oP3TFXau1lh/w7VT7KxFs7fTYs7emYhTA5IMCjuVkI
  468. ibWtjLTuvtc8SWtjXpiSp4dKVkb3W0xD9KN3ntMSpC9d9ilj1TvmetPMbqvnrG0p32OzDf93
  469. FmvXD39JlUX7tnpqi2xRJ4vgDtLo8OXNefevqJRqlyrTK/lTqNWBa+klIFyhFFJAUZ5PwJzN
  470. kc5wDWF1I5JJEu3v1C1nfKflDrncrFV2yWKFn1iXuJejP1PS9yrNCnSKZ3swgq74odp1caaX
  471. 7jnMLJjYXwUCLSnslqJswBePWJt0Xu43M/YSc6MqqwOnZvxRqo03Yje2rveVHdSOyGFNDGj6
  472. 8E8EEZwxP6EQqGu6yGPuf8yIXD1nq/yIsdKFFu/qRy9P2kirLmvrvgTUsaWrZfImSjI/1JY9
  473. J2kmWRVS1Zzxt5eBVE9fFWGFkah+JFHHj/qRaaXw4gCfJ5/V1wtQ2l06Q7xL20tpbI0LUqqW
  474. xbM6okVCAamBAp+WxpYoL+5pKWbX/LgRGAf6cCLYU9fAi5FTVPHM4ITpKI7atKxv1SR6/Hr3
  475. FDKVjpDrB35ukkMUmif6HSjTfrOceK+4Dl7p3Us5xztd9MxB17GhtNQ0A0l6QX+b1Beh7S56
  476. Apg3oUpqU9pnXo2VzkqfcumzKpsXvVd7yuXgziAiFproq1S6PJLfqKfbWGxtdHVtdHkZfHaf
  477. TBFCZH6F+YmL9Hz4UKV4+fCi9D3cKRnwrH/24WuAI6eFo+vheMHEllZ+HCvXtNBbRVjr6uFl
  478. 1AVnDa6gJ18QB9hdKN3dkkK9LqgG0vuopAeF0RfZRXkstZPflCuW5fGhsrmsXxoXw4SYG6GX
  479. QTN1y4j85Dv12LqpVSz+YCAEdFYTpbCk6QCu/tW8UK78+1maLwiPVU0JeWPJu+319uDkgwTf
  480. KCYpXz7nXgU/GqgC31WwIpNiB/QkfaUhQrlk4QEoXoohhx8X7PBoQoF2XA3Aa0RKbQaPm3+i
  481. d++rNFBLD7j74Cqg5E7hEjnjaVI2Rrs4Omt/pNn89uvu269zfSWKmCx1MqWstBBVYG1d+KS0
  482. bWkP1YCwolO5IwZRLtHGKKE2d6TGC8+/M7HI7EsXFQM7a8RXASwkrHVih3WvIOqACBUzHeVS
  483. mO5Y7MZdT3iwyjI9NXz/xRVBjz3ihG2dirA2St8e1x3ObitWOG7XttlMl/9LWZRZkFAPcr2a
  484. 3MgIlsmml8Z3JvZoP6pwTaT/VOIke9SbHp11sRZU/L6rsQad+xqSR/BPGhOX5Jz+j0zJ0Lsf
  485. Qcv9aEQ46gwfggWrdFf+qGa8u91Josvd7Lyr8O9NVuoLh34W11gU/MF839gWZL9hwmupKbOp
  486. fKa15s45OoWzLK/ip5/qp8lRhlT2nm1u9QJdjy76RsDz30sTctHHlZ5GoiVuoXRcioV2qxCx
  487. OyNlcXWztd09h1cyR4p7FCAQoDt9sAqoz8r68rK/mxPQIqUynv8u/Ys12iDR1n/gjxISkqnI
  488. xZQqlljUNh2wvtUrUmQEqPYJm1zrpK2FdQ+Kzx71jhazuQSFQSKkpOErKhMxqxEJLK/P3Bay
  489. yVrt23SyvokCXDjfFZ3j56mtIf8+MqocYO5y5o54/c9lX2yT+IACXjekRZLui1PW6dvssIEi
  490. nG5gd6JJUJjKdXsOtdllHfaaS8PS+6uRlXbKkLb4NhTNj0WqmY7zHsYT+Z8M1aDBm8ZC5MUf
  491. K6dYQkf0aCndD6qyQi4I9E3nopzMB7lezX27rQsFgoxLVrdaMhjHxWPES9U+t26wYBbXHdu2
  492. uFtq4vwtp4UMXaDVMHDSajNlNEajcdw6dXuVrtbqHdmxcu8n5iizc/5igtX3Ci5dt/mJhof+
  493. QmLV9ImCLSc+TtD1Mk9PmlLSFXnS+UrRfOlujs9juaB2ZGEFhMkyowDQEK8QEU2pFWXWah3t
  494. iHhOwIoN9IjXMjyUjZmqocJo2zMXCv+Od0XoUlEcofRSQmEVLQVGQqYyyZNz75GWiydmWQU2
  495. wovgbwKqB13AQgQUhkyy1Ri8oZRAFjOFcScavOYA0hegVXfiFCqqV0kP1z1S3D8rgkp9rpcC
  496. FhrZCdrby/Dgd63DFULFc+2V0OLfgAtvC64L3pYZe416s7Zq8cBWaJ3BSMIa0saKD9LmdEIf
  497. FG1iCEg7HcOxwI2BpKAvo9JXVTh47NlIQpTS8+dTH9WwPmtgwCPgOjxHQy1lEyram0Avnzb7
  498. 3H8zvlw5oD9k7kNIbeukKrF2vwc/HcEUyFGaRCLUXM4GqLlvLEdY8bdzQUiausvzqXLlXDmz
  499. V/3F9f79adMNQP6iQKusHdgVJe05ipV0SsekFGJF9fPxZxuPo3X3b8ipjlEsJ7pxQVKA7qRi
  500. IgJ0X95zBdK4leXP3QN+KT5wNs6Kkc8C+cLauBhKnw/KBmxRsyjZF9cF8SQLfTBGt/fmcfYj
  501. iBYOWZOcIVWNMET3wQ6jwWy3XczxaTwfr2C/kypodLNn+sEz2QS9EEquBKVw7zyFHyD0lgS+
  502. +A3ogNSR9hyhkRkI5wP2rxUNmHD1tAUrSJGrffcjQkC5PVhjx1ldCIfTiLGHiFzDMkSWeWE9
  503. hediZy5/i2HHTJtAD6bGTTUnZHK2FngwZ3EKcyhjPqVqO5Tu3yEsWiiEGZy2mxpGkARcIiRq
  504. 5oUsr4QlW3dpzwhvSwp1qH5tJbqrK/qyaF9fk+ZmhfiS4R85fFtb90xxEaBtT96tuJKABdPl
  505. iC/W7S8R2Kz933Y2z7mTxCrBeH3QeJs94mWMeOiVz4ooZAxiRSGOSJzQqiq8FoNU+C1yV6k/
  506. BmKNU2/H6PT1cqSq8IYeArT48jzIuXqk2pSJjxR9cCMy3aCuNNFZ7nr2aR2fd5XYsMMWSMuf
  507. Y07gIHdhEfi5B6UB1xVdHf36IAMItSOxSx2KNkF8wmjSKp9cQT1IQ6UI2XpWaY99Vfm2rVa3
  508. uSoY+p3Q1lJcCpNHnqQyqp2ZyVgrlZrDd6VAVF77nTj50f6zX3Mw9y0U5L4iOinDMEwYC7To
  509. aLW031LqQ0GgOh9UZx0l+n1EGVAxVYrPiQ4p0hW7HsoupMWkSajbO/sxHKpxOi6ROToxKsZ7
  510. mCNljQNqGWyRxH1mOVjxRNSIcgOxT2Q1Gbr8Max/pXe6zD27Nq5X1ckgBboHf6Jpn2uCMhgv
  511. kMPyZk+F77oZuZMcsGepBobaD57eiEFoRQ/s0cB18BRg9/HC9fdpR0/jxUUQFxWNv1aeANMZ
  512. i2uLP8KNkT58bb0emeGnW987uJEktZdgkfglrlyY09SQugWgMrgT/xIzCgAqgeKIEI+FQMxi
  513. IMe17l4RCHYatFt3zPyPFfePlbeZtHRETZMc8QwemSGH1kroWTGPAN3bLxQg53CkyqyHVQSg
  514. 3h2A57nS8aSsgQR+zVuY36Ww3LpixRCC0/CmvHuBM2/EIJ9lemGBpNfKGdXW59qGaQLnv5fB
  515. vUcliFePYVvx5Ll0eTH2ccNpe/BxQ3IKqZqvOJc54qOc2RfOsqLhB+JgUpQSF2SBiru2tLUS
  516. zO+LOWvpclxn3oPdT1JdCVaJqcT71OE82UkppMb0YiF4zamKZCjMXD5UKJdvHeLVx2fAYdRC
  517. IZ/RIlWl97kRRZ9EiZ38pu9GWKm1YJc48Z0NUl74uHCz0q+VPsJR3oCXsf6EorS//CUR46Uu
  518. pXJwMHXZuyMjmi86IcSHLUqLoHPSA/+JBNoXC7LjAUh6uy5QNtFJRNn3Y2GJ0esukuO5Msmh
  519. KSiRRtDpNpOl22hDitHyaeKgf1ibXCQQpJ7VVc2qSQNtJAklwiRotx7mCaVgIh9mqWiqR5r9
  520. 9TeFR1ez2pleTe3+ezY4fVz2t3duV7s0amC/2apchUj52ne1EZhkmhm53fEIEDDDmJ8AOaJL
  521. +OiMXVq0o+1e7x2+Ew721WAn458JNBSozwqDQpvxgxm4VTHmdpgqJaFDpeWJxD2zGq9KRnwA
  522. 5nsBIVFz8S0TWfG7E6susLjz5xIM3HpLaSuNY+1QUu8P1UEPSdyNhJ1NL7ckBBCLIwL7t7Be
  523. /DDl/QXHo+8WsoY8dU7fyiIo9vRrrgBwOyt9F8d1SKvgXK48bqcOE10dMpzoguuBjRwXLRpP
  524. hxpM4++Ji0OY/AxpVIDiWhsGg2BKhRCK8cD5WDFK4FVIMqom0/SSqXuKSdK2bnVr1Kd/F7So
  525. kVPPlJM7gpX0jogjOInvDM1atEz52arLlJ3m90L3mDKn+fwDSs6YNsgS9IcXcMj4+/G9YX8b
  526. t/3fr1VLpPzRxkRYfbLYKqp4V8cZbHc4RkLrQQ+8OaI7blGqHfE4ZcFGODKbXb10qqqJGr4d
  527. pJF56kkKfpq66MkfvFQiLtlU1733KI6OvI7stORtPwgiR94sZMkjYctkicsO0zo/d43/5xT2
  528. V9y+6KUYQFoIembG48LyKpwAjM4wzy2g4PCVbuS8IEKTGK6UBaFdn8BAQBt5jLIX3LQE2+qk
  529. HZybNUEscD6++V+co7Mo0k/ZnUxh79N3p7ToEzCHsqfFNHFFxqXRrSfKFhWov2RyvUzel7h/
  530. BqezQsEcyva5cTsly//pslFTf/zTQO0GbRZR0ra6UtkoqtSqSrKigOWC1cOddbuDib4M8p78
  531. 1q5cXPDSahPpjRRAxiqi4oZGvo/oLGN9CQNQ3OaJU++SZ4VdZMJFOoKYKMw6qbyWw2Ua3Wmg
  532. fZY27UwDSYSnUKWwx+LPmZinV1z6iQOIRrZsaqGKbl4UVNtGmKBooO1zC73sIZmQxAaZkTU7
  533. G0/zKtmi7Uv//zaHF2NoaFSf8mz+tLSwDtlSqVmKn60hgqTSSlaHovgc6qE+WiXAdb7gOwUH
  534. 4Qu/vdFhUJSjVafi4LOkl4EVLO5Q91sElD5AJDbmwFxKUuqKmhJpigwoio+dwVfDLppr27E6
  535. 7wKNdC9pz26hlhQ/DjcIn/PjX8UGzhFiHBWCWmk2qXksadVQrlqBCaCW0M0RqBk+xGt6NJzo
  536. O5DpazEdCUbluvSi0Kj+pbbyo84va/bbgyrqiNOhfrJrW9VOu2+DNXwJMM6ukkK2XLy9JJm0
  537. R0klLuekkEIeZtxcNG173uv6Fcq+DcRQxOrHAFx0smVjjbK3hQULpRcpFZBNcKmJSqL+aORI
  538. GUpY689gpU/LxOxZDpZ16IKLCsTFOjtMzynk4ypGuWoPs7GiqaPSNZIODNBuvwSzR4Tpwlwi
  539. wlkbFEb5Y0uCKdxwJx5TE06Flu6tttzYbHXQCK9wEQz5JpKyzbxRl3hRQaZrKRVJKcar4+Hg
  540. RIJIjCIMIBZJk5Om79//+97wAAJKaabckldrtluBttuB9h/YG429Ae5O4O9AO94e7WRxtrVV
  541. XHuqtQlt3lpdQykY2WIWxEny+tJeNZwwcuITrI2cfJgS0k1nCdLXWyNtk1+q7jdfie89LvB1
  542. nvI3975/1I26xU3QujANuJQKffGrWYom0ZGWERxKjMv/2bcgP2de7tMsziEWXxHvidODTFHm
  543. wYPe+Kb0hiRXufFZqqo2vc377xepI4OkN1VHbTPwTwZRZF4eylq9o5emID/fR2pMguC4nRM/
  544. VdfiK61Ni0yGiw+Gw8umlnhy+rqF2diXC+anyEgCrNa8/34IVRs+5QWUe/8+Cv86S1LkqODc
  545. Mfw4NEaaOGGCKfgxmP18Gd1wsu8m+N9/8aG7AtLtqcoeVSAdh3Oc4Ae1hSmUFZhPQTbJ8bYK
  546. TCXZZVitxf4E9yyLWQl76MZC+Sp9s1MxMbiqhhMGH2FgwrxPbfnsvecP8b3la1/jzEzg74cx
  547. Z1+lKeJ5wznxmGN9qQwbTdBZ5TGMoM2SGJ+SjaGU0cNTPuwPYBdH4Xl+TSXkArjN49BaGXnz
  548. v348TMSvy4nn8OKP39GlQvQQ3vVexhtbfWIXC9czYz86PYw4r1KYePJ/tKW8JbZB9H6JugJq
  549. PBuXwrqOPiDxFCByFQkzsCsoDKTPfKwgnwdoMPJTREFcwOhM+t/Hmjln8lYQwaZql+aJlJQB
  550. s9CPtloivuRKW+K0LPKYyfnQCKx8tAN/+TtqhK13PH2zU5f3Izy67yidSKFMWQeOFrrhyy6w
  551. RyFEK65etZ90iYigLtaa5YQuuk6k+lnFkurzMoNmbTzBveSpkWDtqr86FEOFMruvPL3GVdb2
  552. 9wxR38rsUeuv49b8WZ2BfLAr3/MfgriFzSZ7pdeT4NkFfudCTetHC4TepXyP4esrN4xdYqIM
  553. o96lvinsvMUlltKMEnA1m8BAC87KpRd4rufqkIXiuAb2VOnCKiHoOfN1WwhL2NZ5APfKsg+v
  554. uckrndGit7CeCuRKLgk41LyxHqQgLx7cRMVFeaiGeq8rkQyN26xDz+0ceX8bToTqE19Qmahn
  555. CIrvjZZFZTw3xl2HWV1N5GqMig7UdeUGLTGcyJjOptZFWtq7VddUnWHBIuoKX2nrX3SXbmGD
  556. 31Um/+v9PsqpEq2GFz0/daspqohIThy6SqnZWws+7lUNAjh+rf+pMWKMOnPX35NMiLpgOfjY
  557. IGeLA/GYB4/jZx+AkE9DpEsCDkcQ4MBMLaS/bCfxpUkjcXJaplkB8kLkl7i5LyfTpiLTSToG
  558. 5nIZ7LnQfFCNzfL/LDl5KYryudPFZq2uNgUwGR/U9p6oXcogA5shwqzv9PWZSE/lC9xGqKVh
  559. 3WdAn64o1M0VVZLkPC0pfejPOHglJKwCvaxJTBKXHggmJKXyR3VYFcH5OfSdIDsPJm6oH7wn
  560. bn0mgwnNrBA7hLo+J3SlyCz5TA7oB9878eI20QxADNNPSaYzY7skOkyQqYBO57HRyV+ZIMQz
  561. t8qSvU4zKAMfBxrJAv1JAJPepxJoXBc6lyP2GGj9qrzKkl+objUkAk2XXmRMY3JBunKnupfY
  562. oBiCzQwCjGqW6JW72XFElAqrslOgoXgFdnJj7JYWOYifs7gv7jevP3yMr3UhUBusph7NdUMc
  563. Y56ERUEEY0s2kzpxFPtJciV0oPAWcGUpRL54TpC+kL+V9A9yH+tgKr1unTtjyi+FFp2KAc90
  564. SvAyHDU5AIAHo3HldznLFiZXTDSanM9ns9X1ADeqnH624g9deFBnFtyvzzf3ot9NuvVu8dqq
  565. KX/x2UEizSfGOdK3kRbr/vcr8tXkc92gKxhYZFvTFXtjhKlFuk4fE2gmS/SuT0asP9a6phRb
  566. A/EKwF5Ka0n+vWBJl17rXIkl7Blwa9QE3Mg2FVtv3w4aIMcJQXRPjAP5DjeaBloQT8KImB7H
  567. hjxEDEnpr2h68TFI81Iw2ZYF1BiX2EPUB7dCTxhnuU61WI+7NkWU8DL7WK9u55jZHeJkI7To
  568. IZmyGVAqhvluPh8RnHbPvOfDTBCshrmo+iH5MIXI1uCSU6c/KdHGo96W+4VitYq0ssOTKcmm
  569. M4zxC2sSyNLI9lAc31jzdsG9F4b4ziCXjexZ5uQh61AoL0Ru4UCGG9oMKsQHQSgaM0w3UBgF
  570. BoViGH1Ec6qdoEtokTPPq4ufighziCKe+Mqbuc7Vkqzg1YTZ7O3zhLDQYvQWO3O873vSfqG3
  571. 8NS5a6HFEZZ6uJSUmrlVhCLT/PU6s2p0X9qYYqVxVQfuXOi1zFFFu1rPNcF1GJZ3q/QOknos
  572. e3G0QK2LXsqSazb4N3eJqP21SQldCBAmHXVFLrFVICJQuIyUBH0cgfsr26vFYc40faOj/uQt
  573. 6KuZE53IkqZ4Lx1pPatQawdgYYq6ooRq3Llo3LEOcl2rWue4AKTP5vgNx6ieSTWdQktIiZ3l
  574. z4ockYwRKBup74Bw2cbr8khPXbgnFh2AuyyuxXWurMIo53sJs3hn4QiCY/L7T7E2rB8NSzkj
  575. 43sEipLFVrblhytca5avnIfusn2WzPbUl4obmcu8lATq23GuLouXLPMi2r92k/sYA/bbuWkV
  576. +a45yOWl1yi6NoUg+UoGJUBxTqynHqoFk1v2ukDo76bXsVbyOVvKvXLkOHCDMUyrmjTT4k5L
  577. lbiunkHONTaA41FY75PLd81VNiD6ytMKVeIx9B6+W7tpbzZuXL517fzCen4CKBDJ/UNZ8og3
  578. BVZ9z5fOTHtfzOTbkU+SwIxknSIwxRTG29zgkQif3Vui1akmP470lpoMXTp+JLAiWUDzu8mJ
  579. SszJXitzc8O9LhTyuqVOpJVbozmvprWHP8L3W6fzXsax+S+F7//V9XurGza1qzYsMuXcd7wC
  580. 8iBI6AsjIbZUbQe2oZwt1rtyzz9qpjTS9X5KlS1465Yb3KPH5q9ttUEQ9y/kus2F1ripE2Lh
  581. Yr8bn+lvsXbDnmcse1cbFf5di0Y4Ql/6q5qy1fmb/mtqkPWtx0Zext74rhY811MUNUFLUudi
  582. 3c+S5zUztGaS4p/128tDFrhz1bDly457Fy9r5nPVEpyxZtdqzjSpVnXzBigpb6KMJxuc4fl3
  583. //HyFo4mi1T1cmWHzpp/hIxBD28U17K99eZ/Kyq6C9LSofLw+I5wrL+2Nk41qljhx7n2PZYT
  584. OAROyCKZnm1iAILfBJJII8nlknwtPUhtyhhUs4qomtoNbv46WbSnLV8rggN1xSNN9gY0ysfY
  585. F1V4qp+Dx5sdIUf0onOFp/qsaeIzqdEpQNHpbyqxRRLAfY3s9BJwvczpfWUhU9fYtgPXgqLA
  586. Ue2Y8irC0fXYHYM2NPwIHzvkHOEb4lVzUWCCcdSGOKvP2V5YTAsmiCewQ+tQr8d4iSuDjclY
  587. XTUq+3+aa1VNUtW6Q5lGjqKuB1YW6J5Kk5g7rtzsxqEukqCdE7cXRCepTsJ26CmUqVEBUvvK
  588. YU+4WpSMLbVe2XGB/dGALlhWFmj2dmrLqBPw1pWCn15nj7diLvyHJpHGGDAQPempyFwMq18c
  589. 3E+JYHOlLaO1Gtnf5b0yz4Tx3bjyltCo3qBV73R/20Cq8tnsJ1I6uV97YjC17kRlXhkRhaz/
  590. yRxTP+g4m0yRqRsVx5VdjfDUERkI/YAYXXxnWwSMy6FB3N6ECZJOQqRY38KHKYk1zmpyLscd
  591. /pY2rsNPoaVdEn0cg0aV7VWJ30T8Jz4E6+AtBUuCq90LhRXqyV5yduXj11tPDUJRJ6vubVV1
  592. SVGGTUR/QzDLp5dWFKlYl0xlIzRhjj5y4ZlCZRhlTxvoXhmTi2YaSXrMIQVjPAVds33gHov5
  593. DiNwmFfLBIjB06U5DqtmR9nhR9SWbVEOypKVqHPZDjEB53dj05Hlx4wH+n45QgpIPo+yF39Q
  594. iTs+gx76xUKQwYx0vqXqEoquwDwrxcT3re9m+yKlurFP5pkBHtylI7BVawYayRHcRH2CkDDj
  595. hTdktd673ioQivKzMZvaHff7DxPgOrLOinwIJ5iRhR6m1+G7J4lyxe4h1/lpJfZvVMJvZoCv
  596. fQa6P9ebrSL5h8YJ6pkZbCEWKHOSrX3sgW6/tHfdgHHWI9iFXeh6wXsxGRtwqBzipc37zscO
  597. VLHo2i7kdgpaEaUX2THNKWLaWinpbqb04IGsp/cAcKCoD5vm30bfEIYetHgnEW6ZTVf08NTj
  598. f9dLlzQUi2RBaqyGVyu6D9Kaoy/uX9LaP926fBvo0AXRL2l6fmQPPT/SjS3+PFA70MgdWrJe
  599. SkEnnjJ9oiO/E/jyg00OkcQ99cEgCkZGfI6PiQNXdy4YkCgvn1e8jWR7IJtNY2SKDdXsLv0q
  600. h0ehWl8NQfCra5LZnX5UMKzMofbFw1I3UlhJewakqvYCfEF9XOnncUGo0i9vh3m2rNpPz8VR
  601. Mctugw7T12WfPrpXWRZBPWJaUsAFGFb8Kkn9BYL0/fplyGFrAJRoxeYjpmI2d1Fpe233O4Aw
  602. x4agDfycfPjAtx/g6yeS3pA4XZK3LR1xfrVn6baHP3H+haPl8y/SSfvhqBIQID4j5NTv2JBx
  603. GTQxsfNwqZTkyw5sifEyUzxFekoP82l6ctnVnUI910ugUJMvDwgnY4aR5fz2+erWc7/BTyEZ
  604. 9H4umTxAzzNEsiMiiONm9e8PXk1+WDtIhnRcu3PPcbFmeh1umPslAKCW7EXoSgyF9Io4hYx2
  605. 8njJBdXA0gfEOle3dSnwy7r+udJt/fpuyoRipnpyfofyPfZ0fDTweiS0KLGDju2nCKEfOqm+
  606. Ks1n3uw547imtHVYPXRX/inxUyPwT6fC2nLDffXHc2/1bYyLdN1E3J6tv7FUUoaHW+wDvkRi
  607. TbyobFIrQyuUTJ1E+HCL+dvv4qfzN0bnrwnSWEKzBdTxbSxU9/eVWKjNmiHwTmrzcfTrFg73
  608. dyiKcLZyg6sBI6pYbyxXTakogOr0ekimkY5K0L4YHnp0y4Mo4N/WGXb0rL84m5NsQA9O+Fv5
  609. U4cfUen/lnotZkZ5va2eZBa33cSlVhf14mYLP//+J8Qg4UcUzNamlZ8GramvN9oVL7nQSq8d
  610. ik9SLxxLjofp8Upq5GvydOzyGFWzqP1B2+8hSJzJiTT0rrkoxY7LySVgeb4uJfMkvA0+0Td0
  611. mL0OWl91dSe6ndjHXvyCoSvUhKK+1nb35tKvdKdBUtbfYMQ+7pkrNns6Zm4QGAl4Qvffwg7T
  612. nSUZeVJby1h+9VqMgrkO8g1C+PCNGa7eEZu+bn5R7SAG/lHtLCp4W1R3yLUpnJ5N3uAySRzd
  613. HL8I6I3VkdGTokmaCm31Bmkq+T57MoPKaEI4NknlnF58EFlfbuRXvZY5E/lSrmp1x2n1BbJu
  614. eixXFZtcauemcDp3MfOShA+Mu3iq2p9r4EfMgeM80Z44muh98XqXwyShTQryIV0yX580+x7y
  615. N5XsPtPI7ee7aODnsdHJX5l3m1LJBK4/z2OS7Z4v2ttynsPZWMJ0FV9wQs6MYmtqDBQsR6mS
  616. DdKIUdR0GeNVRUMEhOhHpwxmd+CC6LscsevqSA74A7DtNj/EAYVnzLY14cwCypkX9haIjKdo
  617. EO1k+NrdhKsWVa4S1pJn2s1o4qtZ7LXkdpi1vXa0QIAYujSP/9hf/rA6xzWQUXcaPshB9zlH
  618. kdRLbGls5c8LZcgdk3fChPD4yYrWiAmD9tT7Syn3F9pDOpSZJI+PGLT0PP75aJBrr11Yn0O+
  619. krCiRPSG8ywHDUT+ytglV2h+3QXQAr41sijMqTPQmdCEjYQuC8w0nX/E7XpSyqbq9fm5FiUe
  620. olz0p0U7DPS3JrWinoPRVE2Hn7dFYCsfYnRPsHGDa3qR38VuI5+6kVqD4CtOk69GSodZiC4z
  621. I+Cs4PihQNknrRXnP5k+VH4fEntRVTJoi3I1VMmiJOYLqlTZuRngT8wlvjMrjOmKl9jAqoKK
  622. PWSD6toLxU0oOrb0/SWk1LSpWS90utvsm8BrONeX9KNiLYZuWmI2tT9rYGF6D04MHK0FOepf
  623. ZTX1V34Nxfyb2pOrVs3FIf44XovP0Y70OO/ST555hS6p0gBeWMKvM9P35npZVaLgIHCPIIsN
  624. 9EytNWX1QKRALgayQxPkJZRNB+1IQmg/leHuXhEgD6xM52/9WaKOgTPQW4ByANt/gDemDeMB
  625. stQMWljA+KLSYmxiLyb1VIPato4OaRbh+3RF4OCnobKWsb4CvJJpfT8dLJ8hWl6S0vSnS9K9
  626. L0xdoF6wUP/oBhJ4vBaEaCT8U/eBUS8yGKwolAjKeiYCHp6Z53A4ZoAuGxtSvF0s8SwOrjyu
  627. 5zF4uKHRVpKNCN3LkhyxypR2Fhvo5BRLV7fRVsV+bx2SMg/W/FmM064uK747VXlcIL1RxcXj
  628. FD8kEC9hanXl5KqJX1PS56NacrOW7bnGluK5V5Ltfk5rNpwUCYko+nZRMSUQitqsAXcJwqmB
  629. KoRZRcYl8t9vX7uCT3cApptcblOHGZHB5fmnpLF6tGGZL3cC/dwUDieuimZRRSdwroqFz9Cb
  630. m+gvgTUZ/Am4dESfHETXC12Bnd7NM5Li0iHT+GA6MPDHlAcmZgEPFL1wsTPnafNg7ZweNGk0
  631. T+GUUvofvq9FhJ0Ul6I1bS7CFITZcnBxUZAJcqlcm7KPk5nC4vB87U1zgjh0pdCah9YMF70M
  632. GbrxnDYKOQdIpRDPW8/3Q0vYMz5YhRb4C/EWQfi+XxEWrCP1mQloMpzMRVJmB/Q9f3M798EB
  633. EcI2tDWU/QqiKPxpyF8/ORjnehzYwSPRZC8ERVfUnm2jo8pigAbiRc+QotOTWpma5F0CE0sk
  634. qIpLrc1HvSL3i+LnifLE3UjXBRykxRF4fz68PtMfgj8KyJ+LJTpqmeUsoa/yxU40xbsuGnT2
  635. MzYBgsAwWqkCyFRqsnU34qdPannYauF78SZwLF1WuYoydzLFuYBEcvh7DvzYOinKmnuM6hxj
  636. FgbbBz49jHTL+NXUWV7644v/ud9qWLRlw7U8XiXhABWK+E+GXKH4iXGvgahxwaZGhImrwM+E
  637. tebu7uy6wXWlKlFk3N9sTTb8TfgDX5aHbxO5XlaCRXtA9G8NSJ5HA6/lg0y6IXWd8umpfGNS
  638. 3PwUDBFIoMuXkY2nZaWk8ffCQ0yaNNL22/AHlv8pb2JWltrcj2velcdOZLS+u1rS2VK9mdlz
  639. WpxqNGbhqKoOck8L8oSDe1s07hqZlaavTJnXWOqTneeyoXWdy6430twIEGg7qhpcViOBFBgI
  640. svEM4jNtwRWPUDRuN0AcSRSzsoois2r8JXSpuToARwV0jkyZzbX9peaRsuPI07G0DtUSMY88
  641. Ii7Qh+KNIFB32qWN45IwkSg25K1uOyXKs+if6hc4RvvRKLmFlxTIw3p8VTg2vafZ4pDEdhh+
  642. GmyW3hqc9gb0QUndtV+TyXF2RaZn+0q5STNCZdgSVf7WqrDPhs4Q6ZD8toy2cE5flVWML+zc
  643. 1pbGdvgdDUkzZAYYfIEWR47FV/1vLZlLFyAuSczt7Z+38q0/5Fn4QcUZnoKoDXIq18Y1+aRz
  644. 3yOxeRJY3LMZSipcZQaIp8X5vdiy5ODYk5pFV5+f6a/Nx2fpVoJM0cNRdMakvNLBtyGhOwuS
  645. UpvJcrcV0/K5xsIpEljpB/6UD31kYrR463WA6LxoM8Sal4ONxw+67ceUgT0vArQtl3+YEEeR
  646. 2qBbjYXNbOZS9a9FHoIih4FgdpfenvyLhIWVpxitiIrXrdFq03RwXY812xV4gk6JcOZKAS9D
  647. 2pZCC+aKLJ6RPCyNvyWfpb8RBFCbFQswPEvObLFiUKoWCtJyhj+v01+O55EBZZ8GeAtOVeOz
  648. zWOmZLrVkF5g0GdHNEXh8W5Mh9yzz7EGa7FU2Zflq+VwWwNfisOe3Ptfi49V4rPmcl6MncDm
  649. YzYgqm/dzFufPJ4yDBMVP5+2a+ty2aWx/dzkuQO5zlRlwxioi8SdipZheTFI+dWtcr+ZyX2G
  650. zdq7CIzvr3LDh8RSu/UGENDfKedtUaXs1ddlAoy3Uiv/b3S04mA7PwkrqfAme8k5xWTHs5yJ
  651. 1m5aJVFbaRLYP+Ock+eqHED2blsgoak7VLD2fNs59GniQXW8lW1bRyv46QXphKFJrjc22jHj
  652. wTccnP24TCYv8M0lpvczTX5rjnI5qXuvzXQTo8TlpaGjCpJoWj9jFI3/1fBHlCPAActyWQiw
  653. 5tkkI9OptphyMcgDp1Ntl7UtufjvGw4STSA3vV+gMfjgC87GKN5N1WLOeAUZbx0eNm3wbu8d
  654. YaJ850eemhLueqRvcIkSkPWb/klg9Y6Er1qtyzaTFH3/n1MCjBAMzs2ps9/ZTpTiuRqSsUVt
  655. jGYNkx9jQs/Tcq2KPXcsUNLc4bF8dpxzjs8ssBDUbthLq7hMADxJebX4fIP3+/W3PWuqjZTb
  656. 0PEtFqtoxEHf4J1yojQ0RWZ6VfUcoycFWBTzczNzBsYPsnc7BNYT+kOsa02sCCWQk/LhldMS
  657. ewD+XLVuTYLx8tz8+UaDhv/XKJp+aAWHOZH6fkxUUPijh24I/ZG/KkPYa4tH6iNO5H7GGpvy
  658. 2hZyQzZ+bl1QOSOGV7SPZRtJez5bTIGKqj/HgPfP2lpr/7SZ10X0mO2EqPylKqa/3JvHM2L2
  659. UDvlc6eKzVtcZ+4W4fDUhyRj9yVyiH5416rhjhqF8LlXipJouVCe6brPkO6aq0lYuW2fQkUM
  660. Yy16JLlc7n5gnNJvx8tyinxdR8JEvR7JLpQ4yCcLpuLvRzDuO3WFNLspte9d70rboy4XO+/F
  661. OuatHEWivbqiCP2VYR0KMmjF6eUvPHB6WAABrd2HhwtjO8gHhdaHNBfO79UUCKv52rOaMjlL
  662. re64cun9m3LzHu5onst92MGyr/4TfRvZTfk7snMdeaMcfvaL0Ga+CywXKnLV5K9Y5SeTJ9LX
  663. W7hfvNP33scb+B97Lur72Gy4+5jCchVt3FEKSV3wP5Yo4o8si+y+Q743DBLsPdsARu08OBeo
  664. AAKeGyD/y7mDLT2jdaa8o+fWQz71PNQQ53st4kQkIpT8dIZFtiCD6Regfjc7zve9OpCVuRsB
  665. iPB32fwGXMd9SCyeXwbTnn57IihJP+GYKl2lzxnrKgYgYZmAPI7S2MgPqp7wGBSjywMZInWP
  666. PJVDD6MYTM34WZaXOi1zS4pOmDGEE5s3CcXQnXoohm17mYSDt3nct7EdFcrhK+9FeaNACYTv
  667. gTIa64QjLDPlQV8XEWjT7eHtCT6/28OohwYNACYh+tJhMWvh2jhtXDM7ekjeZMsXMT2Np+Pb
  668. I2Qacdi0kCRG4Sp4VgrcnGJFmVG0LVIBW2B0HnmJ31vNOim96noCXMBVoC3cAe/yn844ciJN
  669. HGVKnXexxE/cZv8w4mLGhXYiD6J+3k7nGseJL+LgxPZ0ns3S3Z4fWYUPLEeJRAsnKb02iadm
  670. iBL/ZoemXQ9MmhzC+pXnfiqUi05aEUy3FLvEmE0qwitoLB6deDn0QvodZL4tHswy9GL54nn8
  671. OKPxadbgTHINQuN3OJ6xY03CVQH0t9RrbzKVW/1Zh14xvPsFrx2gPuWKpYUZ0StsmK/+t2DM
  672. 8iN3Cg4adTeUJu4VSgo7o3BU1IaHFVPRSBQPQWUTnlm0xQ8y0VObOjhG3p1lvhqHjJxmX+Cm
  673. a32pFRSp3sfDLbuxUmq5H0UvBM8SgsoR5UUPnt0BuiMONG85f3wjCjAXsT171K1pHVDDASBS
  674. pwzzonED1iAuvTn8YHcXmZgUP/bp48yJrrhd1jr03r0LyLt4hcnt0tPpRMCsrBUti16b0D3/
  675. GoyXZ7LsjXqWQRNBAPXmgbqw5svbqifSiW5UZcm69TivZYYIA9evNj5dupFExZcqruTvfpgN
  676. zpMuPp3agRwRLdHMuh+7VRU0v9UnKKvt26yr1InucV3NWzXIBSufmyCy4HZcAa9LKNV+elLt
  677. c12tmvSMebr/PR5LVNdqZr0koD/rOYNEvND6xdupF50TDPbBnT26pJ0f7oNz8Xu6cRrFwRBJ
  678. 7dhiegevCTb8NiU6quicohl4QaE/lDOY7zMOnzDyBV1x4OQZ7nka+7S51YZHV1s7M4Rnk7F3
  679. alRvYz+sR2ZqpXXlaHJppMkpMEiT0ieM+LUsU+bw5B+EaGTBUh/5kYXzG6iBUwfM+unRrxcm
  680. WHNkUgmZJYz087jD40XQVgdnlezD3N7m+rzgEzaFpjvlskDXHZ1b/6HVW2UlA14wZP8acIWo
  681. np2ywdAfay1saDUt6ysAAGRzAABSdCMkAAAJZWFzeWd1aS5the4d94Pd7tGm5LR/zMzMz4ww
  682. ZkcyOZTnzn0dcccZg8K9NONKU1sbbGOuMI24whpIGAMY5MY85tkgVRVfEsoVRVXTauVU5Kqq
  683. qKqKK6E57FVVOqvXiTrTropt5oQohRClKccUU4pWpr6aaVjz33333/999mZjYwJSWnXt6ru7
  684. tVS5d3gXvA7yu/ADvJ7u7WSRuNu08PX2aoCh/eArzv6FJ+hl5fKV3vBufFUq2/K8VXMM6RTE
  685. lQ+alTPfXH41NXPj3O9cv5mhzrNX/yzZwVMM1iq+Sq23ynknSKjh9jBv8fH4qot20QFxgpxB
  686. pylPsrX/nVH/v13SKqp1qGtxLn/OA52IaK/xuKpjCUqmEbapX+70AAuIzpaxW2Up/MVO0mZN
  687. ru1m42Zm65TMKI1ND9fqAWYQaXBDBxKANwlTFSA+1xFpt2vKUr1IjQGN+N5KlfW/2/Q0vyWI
  688. Nz+hT1X03f9erVq3SrdV0rDV8xXnK9BWzS3dwcx9WgFsgRDvZkAKb6uGnbzM9Wj71kyCXvUz
  689. ITd3XO4epGmHvRDfh7pU9w0z71mABkYIfYVUqp74uEPNWK5iWA70wkrD6xKVl+gBLWOuVFsd
  690. /RbHf6To7+c7/r1akBp1gDzt1eSQ93SW7uDmP0GeDXGM8OuQZy918xgvdal/Up70SW9KnuGm
  691. XeswszibPNb/9DWCgawkDWIgasIGsNA1hIGsJA1zyBrnkDXP/EGs7k6PUGbpR5f5vM/hBzNq
  692. As4qzdydU0+VSSYUpXi5YYGNQ6vz+25VZiotYrTyXKf+I6YbsxbcYaOGqlrFajh8Au6p3MN2
  693. 5/iO5lKVHHvGNvIlzce59XL1DnDupwVU4oHQufaC5+zbfliq1/55vSCzp5NgqKKC0PYmpih7
  694. fj17D2aNewVEHL3H43uhDN/iAT2HeSu+VVEQ/fVzQdndjpA0VPb9PY6LTlRiEAY0S3EqIoC4
  695. pUY47qVEQrYKiyz3y9pseqqGyPROoVonpfn0CBnoL+FCz0GBAfPngfn0HsY003Dx6+fwITGe
  696. z8TQQXh2MQ8bN6lt+XvgDXR2E3KmTQ89STIm4wfftB99TwtfNxg03yfCtpv2vC8Ob6k49spW
  697. f9wC6xBzLOkm9SWHH0Cr5TOCH2sU/EqYE75YEzeATv2ZOkm5UpXx7UeHY7PtlTeR4W1DY9qG
  698. t7WbjaziTeIeDq+SODIrN8OshoPUc5Q98rOCHV9oIZrIhDO2UCK/No15bMibxIjW3wL+/3Sl
  699. bJegtlFiKfqV4/4FMAoNUau1u7jKftKsH6LH3o+O/2qogfX48l8v647+PW8xNLoj1JyP0es/
  700. f2Cq0aZIIVbHjWzRc4xt65zja7jdX8ON1juNPrb7xJXecBl+ouxklylHnTIl9bKuPxvlXPqz
  701. ccb0NBvUwt7btAQulk6pWt8XXEHe0EyYaPkrwJdMzp1Y6a2ROKp80wqyFWiIQj1LPaYQ7T97
  702. t6ysIah3Wb0wnm45hPl9TtZ3NUUxCw8WY8kqmPBYlwBe2bQz/HvGiTMxCKG8BGPHZhDe2PRV
  703. eV9YrU23sY/Auhwa8jVXoogYXYY4Zj2u/TuNuzCkubO+IOS5L1l6Iajxbb2GrHJ4/Ad3PwOx
  704. uc3pH2vrU7ZoSfV1iyY1FWuj7skU2LFtvps0UuMoFJAbrFDK9JD26dkQT06Y/4Ax78OWf3BW
  705. /hhcnR2M3IDr/kpjbkKeQlO6o5PJ7GTqaxVzj8AEB/SCjEx+BIUvQQr3TdzFIdYLNmBeYlt7
  706. GNwPILmmI9lZ0jlmJC2uAXNMOAY9sXOAbL6/U85LNkaj3G4O0XoobKAU070j1joPGPQaReLF
  707. hrZgiiTFDazZBub8eALgIhwhpWbPSjV43D4oouw51jnX9txhHUqYKmcbhdndXubusNN1BkrZ
  708. gFuMFvcaRNxiluNIG4/Pb2+CW35DNkzqnsuF5pq7Zvktq03wq0ZjBd4x8v5k0ev5eYh9R3gq
  709. yfZFWTQyom1NYPNyDWDgoLFWDAo5vRDm5L6TBkwqBWyF8NrMp+YQOfewhSO0lQLBLJfSlf2c
  710. 0jgmKvzVirtlQLV1Avq+yi585OSNWtEX2kENbqgATu2bMO8MgVTontIEbkthMa1C1VzkY6nf
  711. wJ0w66oiP9o9962qZtE03K2wi6XZMtX9QVg4bbTnwlXVr4tt7HDBC2BHU4nyVEEu/HqDw+Db
  712. tS3t01zmjCkOBtOOPLjG5p8F3T6xT2fqNJR1HhZuo1CajkC3kt81W95La18eeE7a5C8XVt7T
  713. WrQ1+225grMP7ZaO+DpbkggjgyXxAngCsPbRQ+5m5X3C2eAGVyAysKTAcyre12pHhYq4IB/u
  714. aHIGcsTPjeWF1a8ye33rl/VLuRCOiZGgFdue61sLN3V7191LCr3W37e624jHRNqg1jyVLnWC
  715. cObkk2YrNT86diRTxzchu/JBbQvw7u0Oa4MWamY4ZCKP2kD7JkqcTnlm/HHh25atrJ6RLHnG
  716. 7Pt4HVrd48xLf/4QJthHu1fGDAbkSrh7vk97pPd+nvyU9+UnveJ7mJ7w094ie8VPe9d7p7QP
  717. t4H24D7Zh91QfdMH2QH2nD7GbZz57ET1vSPgyCHmoZfdhDiTNfZBf75CR9Mqt7mI5UvegRC7
  718. hHJlh1kD6BJjXGRtcEB44ply4RxQSH5IMr751nJ5AbODrb4Q9T4KWdqbHKFG3NiHqKUgpOz1
  719. NBqdHinQbTY3miwfzmPupFir8AW+UCI8uuU2l7uNdrHSEuvMYcy3HG9Xacb3tUtvNtt88gm6
  720. w7L+UcjY9X5fypIt67Q6v4Vh1uoblmyCd2wg4ajeAet1AIPzBQ/kVMHXknJXJZaLDxMN9Ow4
  721. pSQH34BdlUp84XZdKfugs7UWXe4c3M18V6+NwL8VzodpTg3JugIZlgXM0sy+oAyKvvJri6wr
  722. wL/r4H+v3RwJXsChepr/vFdwuzd9ArtigGKXftld57s3fuFd6Ds6n75XdJ2bvqldw6F2ZfZk
  723. 1MHalg8/3MHbi2WpTiG8Gq4JHrovFIu2ZJSQwd/SjAU04U+ZsP5dZxZuUbreBkawt10OZuoc
  724. p6Q9fefVPtbN6gsztSGBPmfl7cdb/5vPbywXytserbfSHk7lc5OTuVMmp1br07ZxCG+QVXdg
  725. NNYbgCGB6bdnFSxFwf00pVNxF4EYnemF6ZOEOhRNbblwpTK2PV1vwEAu0QBclsBfxTwF0ToC
  726. rzvHDc9tPRI2wADWrvUuX5xXtM/x+uBZt07ojginXodF99jGhb7zqOP+dF8lRHyRs/WSrrCB
  727. vWLU+ld02l80oDiMH/epturn4Hrpozva44kGgn6sLGsTP1pg77/0Bxp08j0ncyZSad0pL+6a
  728. XV784Saw6JIHdQCW0quRVCTGe/c52F/Pj9vC0jsAZ+ChAL22V+GNVcZZTF52mhidpmQFuSd6
  729. 2wC5rsTWpAFQ0FIaO648msxF/5y+k6E/OnP2PZg6N6vqq6DdIJD5SqWvbWvnpvvdfB9PKzEG
  730. qcawu+69/t8a1xo/WIOdRP3fVUd393sYXI7ECRwQUnxRWPhh92RL4SRGOIZo90Th6LjqRoda
  731. b0Hw+AsqOdhWCwsFMKjE28FgD2QxfFD0xST4mGY0/c68j1/eDrH/QHYfXB3L5tEHbV0Hbfrg
  732. 6MdFmPsbhAzybJ2Ldx/+0W7nveJ9VcN4FvygJPqbrhBEhfsZm5wkQ5vHshR9ze/sHj1mDugc
  733. YCuYta4188md0rdf5+czaTH62eOTAZtDgNYZe0N//SjRswY22BfFQSvzFsfKIi+ScVdPdUir
  734. oi6L4L5br5PyUeyZ7VfNi10gGhvWhs8a24xBn4OCpWqLLji3G3uOqAF96InRD3/ldh47un5W
  735. ORNeb2ia27WEp5cMwbt0npoPQKHpv0lDvaJQ3kP+4VfoAVlt3BcdVUTA6fsuQ8OjkZ2He52H
  736. txMr1sMTKg/29hu75N/TEsRmLYgRt9Z6iuT2S56bOLmMUzAua3Jf9Za5vRbbQcnObO7ltJui
  737. Mt7ISSLixp/RW2KvaYmxGsVoibP8EPtYrZpHy8oCB7Mo+Puw6p1gdaxF0IfPzumKoUuoovq9
  738. XJKH0lm6gndvKqdhU4AK8f5m8PSpID2Dgkc30iDnILz0k2ut7O1+ckRTyNGF7N6W2U8FmxEK
  739. 8kCo1qQ2Uacg+nOphpIj+iRxeauVkzeiMrJKXC+03LhfZdlwv23f9eXnyHbH0HbdMGAD9EAl
  740. gSlfk5iwlSzCFm/kykswDNWzS3z4W+NRxeeCzx3cXXO2/n0cWEtV/J9h3FvRh0+6UTlmJx6a
  741. eVXIvylzYxekjOsFAJxNXkXPDEktSGVTgnwT4l7ZXW5dFZfTi5qk2Ku43rrN0d05va5IvGJ3
  742. JEess2auK1xCq3rcjDCMG1CJP/ZTv3EXIBVw6NEeoSlObMXyvgidWpRqBpklMOSIemhZ8dbG
  743. Sli+6Oaxi3Vj+YNLWvZyxe/UmU8QyfiWcydmNKcu9EPLsOLzNtxnBbDnPU5jliTYCWttytnJ
  744. dKHzGyh8/9Pdt97zrImUlTAgfrr7ovv8hcCd2UTf3xx+UoLXO7q6dOAvSo9sY/6u2PHTjDGR
  745. BSPXGOUaH5qXNOPXNLnROkHyD4bkE/rGKqAP9Ue5IwrkPvNzgPjEB5s6MttA7uwQOsTHlUpn
  746. ah3XDbBJaGo8/NPLz/hPKym1n0PF+p55HTYMvO2U91Q8ZyUFzCyPrhX6Jan0UkV9RjcDMVUq
  747. +kSGUHDcNF5g9sRFcPvMBzZ5ZcM3iIi+Z+8NxQM8+SgBth+WwiUUIM3ohngKxFeeWnV1mfEl
  748. 9EKBEcuEd7yEQljjbZfYtT93G2aTc3pLlyZx3UmG/0z7Ot3Zt9q8CPZv64IP8hvV3rur6gQF
  749. lKicQ3UdZ+5Svx+4brKN7n98u9GFMhpf2F6W9nCiuLE+//6KjVpmYjcSTPvHR4Hh1NTd3k7d
  750. 6ZwpP6FLKSe2o2Egsfytm5Ym8SnuK3C0RnhdDOcp6KXc+n7aDXnuoNcpyGm5zqH6rkNHVUTo
  751. aOkg9issEkzD8ICylQbBcF7N/fLrvE7EBrC5aDHrhkp2MVcAXLLsfFAFxzvXdmxgxr2PPn/e
  752. V/eNctY1uxLNIC3/v9BJnvlC4Xn1PRS7GQgpRW1siZsvvLW2c0QpqJilwvUwzg1P6QzoRUE5
  753. sKL5e5FRaF/Nmhfw6EVl0Ksx+RrCc70frQdNyDUG08Gp2LIN3Fs2YD8ciMJLjMtDsJA/aCFK
  754. O9NM292sMjIr9EMAfmKBlaDl3N+0Sq8M2y/AT8idBjS29IRmNOpYxuAYMz3beaE3VhSwcY1w
  755. jVsvJuYsVF5oFnU8F2hM1ry2MIwAP2Z0Y5dfnfWPEzZg4klWbLYLxTHcUJ7/0Dnss3koAJ52
  756. sddR2HADFGv1ts3Cp2J8HhnZOJ28nEEITiRqdbyiRs6C0m9o4akZTShyNTFRSKyYrqtVmlBw
  757. tiSQZ+Vcs4CnPIakhVbc9+OI5qKMr0cHEbwbBYOG5g06qzfh6q6d3qqAM/1+ckMHCBz/2XCM
  758. s+VR6PsjFm4jXieLrrwDMxNHLm/XOaO/D0h1Q4kdfK/3M4P+yS0OJNAl+X7+YS+b6nbJferY
  759. Uyq5Zpi5i3gnLZaciN4tobp96ii+58h27vaKx/kN8E72fDZRxenEwehjmEKYXTmJMD0Z9rqW
  760. 6Ozow6sHPPGDivQ66pc6Lr3Nt+V8hQ5vmogxjDB8WdbY47aDOvCa3pC2zWBmglqdamZfro5f
  761. BrhQQ/fS38sizz+/aShHdOyhGhFd4WcZmJORxoenjoemcYfj9vr+uNP/iLJxwj5a3LXbt4P8
  762. X6tt6edtvT7e29NMDXt7blZu219GIDrRg+gnen6LsZL6qJl4znatnWkYlIzzl8rNjPNasKXF
  763. Y5hW9HkK/7CJmdJJxRM50QNYXEDXnRKBevzJCURJGvBbr+4VdhuvalXht17eY8XCATEP83Kc
  764. E/K6TtPyHRb5Galz5CdX8nN6v8hfBUzcuJC7Hq5XSksJrovyMRmEGBvHeg6JPwxPqBiQQb5X
  765. KJurAu5TanWzFLg9K+dbOtSx9dsAQYDymsp6fV5od1dFA35reZq/ikIt3QkIs6R66pyRpjLA
  766. RYySnArk+LoTqnKb2/Vz5He5Jk62dwFFQi+RlnWj5rm0XcgYr/lG+V0RX+kmm1KYup+Hv3rV
  767. zpeTBTE3Lap+6Hnm5xRDsna8PgM2oe4mPwEu4bd3bpdxRu3GUHvRWB07OtBs9CXA4c3TOShe
  768. 3J5h1o2MyalnsAjVPmmJICLxDnkYKBzVT0GNNSXZhbsxY4TcS0UQgEJPX8Unr8xrYJjL5aYP
  769. Utz+fJdUrrPDqRjXq3UsjgiyM2bvE3U0S68ztRr0m3urrUmeojP1rlEL/2B3s+GNj1dHxja7
  770. wj+JYs4lW9J1nSKFjH0X8x5JciVrKoTT0IxOH4PegF3fD3n1xL3v9qqMH1/Qk//W8+Qtp3tT
  771. QhgDtqgN/NI6KdW+tbMwKEZbfCa2hK0attKXTrRYgW1cjFYuuCBc8hmC4cFIVKDW+jDWjnq3
  772. NkYgJQ/IklIOyaQ5TkBnrEhboD3qs7O1mdnbGfnTgfb/dJGW3+5ZsxgFtWpIAvZDh5CpL5mz
  773. ChVnEz/9nrkkfCj+LlNrjzz9VOw/9XurZia15JfG5J/1b5HpXKXiRif76GuJ/vlORP97kzv4
  774. RPuvCPhfUV1Xv0XnkPOOFXJzP5cvX6Ic4jcADVRl+NeEFP9Gt1TTAXb4oR6IFxD4vqanR/Wc
  775. uNHpe92xZeHMfOEfR5JsRG3xWh0+ZAcva5SPmtMzCuuFjcWb1MEnM8dNVSXfCJyLg12kHKnD
  776. o3mUWx6H9mxv/37G/TYzH/vOzouoHRZKqG/gKffexrBr1IV+HwBfM8bgHs9bP2ca7ez6Utnr
  777. JkHO2eqTZ5+sz9TZHUwwL+hgW9lgnsquQWy6eYxnbLpW9ldE0FqerEpf7BFYTX/JLX+6oCKM
  778. BTzjRlAUbtpIyX/1MqsR3rMAMfy2YDaE+8kv2+ZYdhwbC4AxKOUqp9MYayvqKXKfPB3Hqs3H
  779. iHNyb/HU4ZZODRhRsH4YUXcLAcXskdBOJNtxnm1OM7jAe+veyYSX8UUkZP4YpK4M51jRQrHc
  780. QZ/0/ZEytaqQ8rnpQH8JGX/TZiVEEysE4hWGuwBgooZmnbAHTO28Imq2EcTZADw14d/KbGqb
  781. ysWcnLLOpA75SmYg7iT0npZzvvQwvfdBvC3E97dWoB0qcHUANuXr1JwpGbNLhfVoIL/Mfja5
  782. zSalvMhG1a5Rdmz6IjHu2ggvOY5cxXErrzVrSuvNM4ldeVk7+rZqtVZKvoq9N5SK4yvcVX0L
  783. 8f6D7FB7HGLqitx57tnbJZ46b72Up88OWBDkMj9Yp4+4gHcufPS5f5tz5PbudglzBzbnTpcs
  784. ZtzT9vJvZxlXzhkfORj3jHGn5ZrqxsY6MvseRCNfzJggR3jJB8+gMtPn5uD47kW/W6xxynuJ
  785. uwrkG7qs10h41F3Fi4/FFu13QxgnVWl/vcBxrfDd+Gvl2Vrnz5eryqIvS58mjbHeeHwpyNUg
  786. FhOZ0pW/3hNccUrX5jeFfyYTmXvWiwcRzBihldb28gWQMO9PEOTllDx60OatmbvKcxDTqXGN
  787. iT7SMVXxtpmIxaXMISKCNxabVQRmReGqlWpZ7OPE4fHpFse/4CmrtWG5j1fY9tfV9j2nZt7X
  788. p/aD/zHl485L2ze+2+/C/lv+rA9CDbwfTg+mrmBE4vqQvaH+rmHs4lLQS3m1oC282NCu+2Lo
  789. 1iC7F6ALxhVjsaxcnZMl5mjFDmagnLHi3FFXCzaLcxZkEqZuWsGTACLbghtNFTKV/rJTeOtw
  790. uhMe0dbfyXzbT3EgpE6Rm9+0aLSxTKmGdLgi0VwDR3tiTHJqBhnarE9N3rm933n/Hd9g0DVv
  791. n8f507f7xo+WZAC3GV5jxe/ox/pqKRnV8u9A+eMvfYOR+3fX9DA2PVqPgB/Bft4Uue/sexj/
  792. OcI6AOilBjDPt5IT6Xj6tvcfm9fcXNJqwXutqXyv/Y/NN9/ZNJ2vTsTQBEcCG8vr8Y8CG/kS
  793. ky6kyE45F1VnkA/QmYH8HEWCMDpf8iBi4nzFVaqAMm6BnCGQcSwp7LhUBNnBrVi9L48xjH+d
  794. j8WbkrObQ1Gc2H3bSz1mV27MqsP9x84Ys1Lh9fv/cWOL/q//xxEQ8dqgOrvCXPt8JQCsAjpm
  795. wjvf/PJk+A6NiNCzolllK/t9IdDrlaOxB1bhDy5HfwAeIvhKPLX/V9BYGvvwo2Su6vVoI9cq
  796. gFLsnlfsvpPavS7Gi4ChtegHc+xhUQdwFoNfZ6jYH6j9pHYWYGNcgYk+Pvswi9DhmzCX07zs
  797. KYuwRxZCDSEIL79YgiU/2dQsP3u+/aH+acmihh0M5DD7HMb1un/WhhHWUTP90CZ/V5iN0NPe
  798. zkNdj1dFB7CO3bDm3nxbP2kUrmsgYt9j8IxP7RY5kEidvlmHNTisb+N0lje8kCGYsTofYyIH
  799. 4k9A+9XxB43215VXwCszT7TOqy6bedhWXTYPbVl8bbt6n6VAvIwRFcSXosPoMP4xcUIg+MPB
  800. ZKHgggxrhgqcIAR7s3QtL+nuf5l7b/pyT21GU/ZtzxM3aeKMm/ZgJai0zrnmsY3ol2dx804V
  801. HWnCMeiXnIKE9804SGXnpF554RYXpMsSBYcY85NKIxzHiPi+UL4eDk3V1QPZpEHjuMU7jrH/
  802. w54sU5IP+eD/6DEe1wB2MH3GsFEq2b/Vi+MucM60cj0SyJMZ41SPK9cMvjjpPR2wwO8dNikj
  803. Z6LmhjeswC48wCzb6dm60cbkI1yrx+QWksjDy5vNkv593zRSbsv239mGzC4fnrRtz8SCHFm1
  804. ZakPrrijAFcvkuOOsjSAVsNbb0WkGqKjFaGUgFF8p049L2bUpLLaiCru8hkzEsr9kL+KL9HN
  805. /C2U8cHkbY9fyL1oOyeXsWiKrzyd1YBc64G6odAV3pw8+H12dUTdlAweiTXaAmh9558r/9Av
  806. 88ehAHyk+7ItQ5au8LpHIZN/9ZFq54YN8st7dNc5oHMWn0dgUV3HIxApxp+det52Kmdiz87H
  807. DIx0yMUKcVKcYolHSNxKN/nN8t6q9e9Tt/4zy3XTAdxnD9OPR0yBnzvlKe5Yj+CZXlJu8cUj
  808. IiqKPUQfJ2tjC9giU3h8A3b0W7ldcdJMpuWLzjT235YoyRnolAg92EqHCRxyRFkQBsCgVceS
  809. ff2NJJA2GnjwxODj1clZf4zZ74jIwlH+Dsx31hWmKO+sK8MTWqd/BHeYqR32McgnfaEJBP9A
  810. D3hnXnNb5x7cSOiC90TOuqnAeYxs8Z2YvTZdL+6FztXjbzOxqN/r1zGgE/kDhbo3pGOumOND
  811. MxbvN18cDeO4286+Nn6+8piJjuwKuwKeNcdtJFWEn9+Qcz1jlRpC5kjRilyVGjSuH9DWwVf/
  812. bitx2W8Qy9TJVPNCNGtII5/FdyIEpJ/35KPWShGoSxEYZv+7OxCzocoVV5CWAToo5jpTYTm7
  813. O5q/eFOCszN66T026/MgAq1J6KawmIchyX604kXq1JRjTnyWuNzX+oUF7iGnR2wsv5KKRhkI
  814. bzZOICx3vjD1BhTo/HPwbw8G7AS6tl+C/OGaZceDc3Jx/PJNiCtELXKLcYGP59aOjgq3KT37
  815. t0OYRpWyh+JRJHhgm74fzxYPS5awnVUr42T8+7cghfebr/8L/rEL+0ETSlYMI5seCQsQvYKj
  816. FOGkzepdtNpO+DwPzTeqUs5g8P58hV2BHzGnR2hjSHscvcsv/Y45KJ8lzOmtPDQfgc0EcDwz
  817. KzCJXK/x/noAsNKcUjAnstmmy2YcdX2YlZKJRhPRf7fVFIjWC5k5Bizo8GbkEgTHMxzNiC2/
  818. 0Shra2PvlN8leeXnll5Nj3CPD/b6hToWMPI8O9oT5son4Rg8FWe9dLuPIXF/a12FpvSYyzwL
  819. +sXo5sPJ04lau1BUjN5iU0XlnFUxswVls8Yzh0i8Ga3cmXU2mu1FEOHIN8K5ex6tJsathYci
  820. rhg+ytXDB9dxXDB4jn8Fc/DffdeSHts/U/un/EgXT6mgsQdmqvnYNtQiwagEmhmK6NMZuEEw
  821. a00M7lqUIJ0YIeZvMkwRbwZSv6IqMi4dc4NQjf/aut/rb+y3vMdUAZe6iouzElaKgxlS/SJ0
  822. /fKrG5pSLHblNkv5QcYeLN5VYtyXn7WQjk/U3hsh+RdC1s8wII75ySn8sfWrdlbVI/2Duyjz
  823. OViaLvBWtP/hWtPR89byrbNqeHuV4cdPbG/Sqz4XcFBv085buFeEqj+Ag9UH1kPtOi5eIsjZ
  824. S7nniZfNJLUii3BFfkeOQ4i2pgSc3yUW0ecbfPylf5tk4bd/upxt5NEjfYLOt2NojHnkFOGn
  825. vWp7+UU/tYVaOnrjThX/9nzJrBemRGbkCgvE9L70aAmkOIRiH1d0j2fPvS3etOMdztdS5363
  826. z2eyj6QhXfM6BBfrnTdzxXJ2F5ZADnpSuLz3C5vffoAPR6OyU1nSh60M7o6eo3fFFLC99Wib
  827. d/+rUaRNR0LoV0QnDUdpR1GD2dRMgsVNR7sYYaM2BokFoay9oA7R2d7m8Y3rfXOB2QDPjj3i
  828. AHTGZGK8Sv3qe/kh6iICdPmGdHqOfRWx6rHQqxa6dpRCWB8RDZyE+gJ+YILYZ6hWgAE6tAb8
  829. FPdYnutoiH4QyEV1AjT9ri6Gr+mkHB7JW6PAfPprv8X6+A6rz92or6C6nuai9DujywIvYGml
  830. /798UZheVWqWi/WqRGJ/8SOuT6/z9Bb+SCNvSixNg6s5Dq/vBFq3Ff6TqycvJqSdXX5wIE02
  831. oUeYMeFkrwdbJU5uIvobdzVukJqTR5/F+Ah9MH2lqe++RYtp02CqwS8vy8vS8qN3tm81tSzY
  832. L4l0B//n5Cx/+z0G3Icci+VSNqixfx3AppzVEh+2o+ETIvXe27AfRAGIbwTCeA8E84prrYJO
  833. 6wJyuGHq1vi65yGHswVzwsMXWC1DlNN9V73ie94jtzUDBgW4jGZ/1zaEthseiryJJTP+bzX4
  834. ri5QzfsXa0ZvzOaAW4EPESPo6VHRnUpN6WQj79Yqsxgmyu6XF8aQ5v2Df77paW05pcIp+2Lm
  835. ukOZ1NacJh5BS3GoiNCJYaTjFX0RbnXhT3atEbR2O74QMno6O3bwbbjDNFTt5CjnaLNoeRx+
  836. ELbLjcAGG/Zi+0pchk8fgt3NgvGs2leDULbexj8ABTiYQue6Y0rmGlyxhDwJEI6whxtGYoxN
  837. ubpiHHmrHEXfshD2RdL6MB5mJyJILSgZrfEeKaJt3m+/ocN9CoOG/ttwDnRHnxrtz8eMZzVg
  838. WtwbCCP1iTv8YjyUP7oOGIT38oUe7mXHE0el78352b9kX/ft4WSmF8/uYWGbXTN8juYXQjGu
  839. Qwuo7mF7o2IubS9zC94el5fS7mFpjD3L4/cwvemHuX9fuYWsMF8v5ncwufGC+hhbzuYXQJha
  840. 7uYVHD/LY7mFuTniPW507Cj3xcgYf6Mo5EPJPtifC1zQdOM3DDQYw8Lx4+tt2dXJhdnIpueU
  841. O5x6CB/NB/SID+sEH25H7EbjlrAw+8kj9WMoPcEF8pyGpzFJl2G3HuDLUrVDn50ejCC1vAQp
  842. wcbheUpVRVQnMmKgGb6g4W64Qo1W8z84bMhD4w72pX8If8Tf4mBuJcrExFeZhYflbe+3m43d
  843. dLwNvhysPfqv5W5xcLCl4jdhvcXAl4GLv26+LhTJXzK7dYW8xVM/dF4Tsur6VZ3+uCBddX0r
  844. APdOHu4D2Nvsg9xg97kPcUPcwPcQPfrB7YD394Pb8AVF0D2jSvHmB907Stp1WlbH3GlXsVpV
  845. 1jB9+oH2oaV4mwaVsK1pVvvg+24fY7Std7zSrX7gfeGH3FD7Zh9U0q0+m0qz5DSrL2g+4bSr
  846. D1Wlfx9IPv3Q+hNwNVcB9DS9VTtK+T9cPv0g++aH3dB9vQ+6sPtYH2laVqea0rUAA+naaVpu
  847. YH0N/0te0rSfeaVIAL60MfWh78KqaV4P2g+xmlVe2D7XNK8D4A+hZ+AAN9+Gps+i0rvsppX+
  848. EA7/wBtcf77SqYNHptkH2maV3noNKjekH0BzpZYfQ1PutE0rQhu+hAJ9CAB6ENvpABOk8kPu
  849. maVoAt9BctKieo0qGGfY4IfbZpULph9rw4mB7g7lpUCG0p8BW3gDurpg/AxMHey8XA3WFhyp
  850. Ycb1eDVBAEzTqxfLlYcrc7nDkYO7kX2+mYYKQdxu5W8v77zMDeYu/mXwYLvfNDGvUjJL5US/
  851. 3chy8PWb7BmYu/HTvByQwpxnF/g7sb89NwN5usIbTvfrL0smI9gNLO6Ywpl9vA1YZd1unNDv
  852. x0OGWx4G8wMUKngeeN3NyjD3EvsWXgYmL5fl4GJgbeWIIbSobFsQpDnNIC8GB0hi8TcYeFLl
  853. uYxX8m2cIS5jUvYgZGZKl32Lili9n028XSJi9xhS8LegTNgMTvN7glqPJzd/3l95ib+QV4l9
  854. Lvtxi325HBbSzzdTlbjFwPLDcId9KxN+EyEsRvIHHHDzeohF4uLgYsu+kBeyMWVf4iEJMXcX
  855. CxZUsgJ1Obra7ukIqODfYmJKvyFvwvSzDbhrc6/+bRMmJGw4CX1/fYZEb834R1iX8/D6jZof
  856. 8OVg4cTuhtInbIZ+691NH/SM8Pcbu+3HlBYDfVu3zOFIAruN/uDO3s/w9sraclS10eSvId5w
  857. nwJDkVucLzF4A+QMvCwpgVKzRUSVww6gFgBEKrmBdvw5PngaUOq+YIkTc4GJMwsS+QRfHgui
  858. KNlDMHTvo/JbJiPS07RA/JM4If3s8P4YYfFlYuKJcYIERwd8JDfS7ZDR5e4hY1W0+98Jx2L9
  859. vB6jTdc4YFyAEDE/SV2ZwrMLcG+3m9E4Ue1nhaOzhsaXqIfQ5lX19vCFvSz8aJAwvE5AgUiU
  860. HasepT5fXc0LK+5rmBib3ebeXhbjyjQyKp4mZw7nXui9vO4s4kvA3JoNeD8JJaR3sLMLExs3
  861. EncxN0HGAKwFWG82V1PPKKCczL4t9vhwH8nE+HcS54j0SLnje5uF24L43Uk8uVt76XiEDPUz
  862. cWF5iEcsOTaEH0nJokHYxMD5iXnxvvpoL2an4uPO+xJG/HYWMHC8teJq83EiMu+kCozpURz7
  863. XdAqc28rceUPUWDi/sQDxCHQuupIn9Nmqdx5It39ZMzL81W++Aig6d4Nn+pYix/j3uBinzcr
  864. bVNHTS8MDfCJpRkaMqkbZZ9vKxB4VV3ljG/5Hpj57z7I+e64ZxxEf0b3BpxvXLzrC81BeXo+
  865. e76BeeQXn1S8/TLyWp93si86cfNLlF5++Xn6peeCmy0i2edAQV43vDc7H1h8671B8/IaHzpe
  866. UXmGPmTXj50kYfOjph8+BLHzVRx8/H+AfNTIHz3/nkLNUPmIWjsaUfMLjnv4EbDmq89dTAUa
  867. qZL3t+XBB6H+IKJUqNITB0/CjF32IpdOl366b9UYePZcX97gAgf3Jp4I4NpyvHx02cYlbDwc
  868. DebUeUJaCXeZUTzMCXL2uHfFbJ+jgsBNW5tcW+DrVKTGxlRV24pHMLeKaQo8UETIcUcMNI3m
  869. 5BWXGWi9UwljHSC3sA5VzJjizt6giw7/FTE8cMGcGPO7hiHrosiOKvM3m5LiyaohCDv8TAvy
  870. S7hTYWyplcxMEyQnzXbJG8gtgDEHZZ96WzpqIn3fizB7jC3pqVAceT5zhMcA5v2D+01u1tdf
  871. c3gjCGPu7y62tnrrs6ufu7jXOVc9d2Tt3nthY3DlWFZeNZOVWPD2R1CqxLi7vHcTrrmdVsrb
  872. 5blWDrPFS7BrpsIgAzsbzxthaEQsOsVz4vhnRh+Hsk1t8IXh9TPjtN1r0u+72Fx4ut11yNUN
  873. NfBpoCBcndwNZaXtpcXSYnQBca+4uCJeAJkQOxvLFK+eIgrleERB3a5EJcrwCIWdcgVEhpVi
  874. 00iGu40iHzs6JEXK74iJnXgln9dd3l6esvAIjtb2xuEq3myvHKr4dXcqjqrdX43h2OyCH7oD
  875. 7Ajf8u08ZfAEBtbqsCNblURpbqwRGdurCAZSqHoojK5iRAt3LgBbdV+Ivt1Xlp4l1r9jdoNa
  876. nadNd7CxsrQ8L3hU7ZNr70qt6h59CB57bXWdofEOkCrZXFpY3KYt7sLjW7XX6y3PiPG1ljdH
  877. rtIA6ryegLJ6+7tE3mLeWmyvEphyvtLL5Z53Qlx3HIqDI3muvLi0TZX4lD8MePQnBfiTW6tL
  878. jZLOiXKVyvAS/8ZK79L9ZS3whnrbxBfeBtbhu3gcxzrGa0N3tfDTuXAurS712ztA2YZR28st
  879. fc2e1bsjNKdbxjwL13Ar3t6PGG82Sai9HjC5VHhu7VDe3Koim5VHhS5VDhSVQ6oja5djwpdy
  880. 4cKXKo8KSqiXOEBB7HY7C619kZF4AV/DtBgzhFjHcR6UrKGG5nWIuI7mu9DNvQzeuubXXpi7
  881. TxLLX3C+O71KY4fPjsdjsrY6ueE+uv2DZ8w6UlWKqJNwOGlUSbt1YAk3bqwhJu3VgjormXEh
  882. rdWIBU7S8vLRfBUUOtpsDAuGYM7E7uPdASq816I66W7nVYK6hZdgMvcWlqhYX4klKqXIcS+n
  883. WNHOJNbu21+xXzHEY9Zr7qzXXEZZ1cRZvbS6Xn3oi27XfGTG8uFohwG201tpdLJKONFQWJhc
  884. +Bz7hB5eD0PsbJAzeCU12qG5u1bKddiTFyqPCFyqA8lUOqI0uXYmFdy4EVcqjyTbqwRAvX3t
  885. 0vgiFUDKLE8UCY1Smu5K2Nrc68SXiOSIKRFnYbDYtqeRFtyvnyBdyvALfUrgc2CKBu2vRRqF
  886. NNXx7KPdBSd417ulmOFeHZ6yxu9dZHq8EQrsvFulgvBEnLtd+JO0rkLYE9OsN6wISpewSTwi
  887. trEdM8H3qqj32Dhbney77E1JNYMncDCc67BJjRYwMSXheYMBUJ032QErr/ZO33syYduDF3/A
  888. TuY3o8rBwL+UETgki6GYg6UGRB1IuCdbyyPge1PyJ7yLsLLvt4ve0rDTCJo2XED7wQ+hzPsP
  889. SUr+PGUrV84Pvoi1ypi9r5V9vxhnoEF1nvB9CcB2IFTsAZtf4/LDFgGHyskPvmmy9AA=
  890.  
  891. - --BOUNDARY.7369.2008.5943528.1--
  892.  
  893.  
  894. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  895.  
  896. From: sanric@ronet.it (Riccardo Santato)
  897. Date: Sat, 07 Mar 1998 17:27:59 +0100
  898. Subject: AFC problems
  899.  
  900. Hello !
  901.  
  902. I've been using Super_Picture object from AFC. After having put a backdrop
  903. picture 
  904. for my E Project Manager on an Intuition screen, I'm not able to keep it
  905. refreshed,
  906. so when it comes to move an Easygui window, the picture is deleted.
  907.  
  908. Are there workaround for this or particular screen flags that I can put ? 
  909.  
  910. - -- 
  911. ==============================================
  912. Santato Riccardo
  913.  
  914.                                sanric@ronet.it
  915. ==============================================
  916.  
  917.  
  918.  
  919.  
  920. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  921.  
  922. Date: Mon, 9 Mar 1998 10:35:39 +0100 (MET)
  923. From: rade@coli.uni-sb.de (Ralph Debusmann)
  924. Subject: Freezing a process/task
  925.  
  926. Hi #?,
  927.  
  928. for my 'EasyPlayer' (will develop to a configurable modplayer using
  929. external players like sidplay and mpega...) I'd need to know how to freeze
  930. a process/task like sysmonitors like Xoper or Scout do. I need this to
  931. freeze the external launched programs and pause them - hard method but I
  932. don't see why I shouldn't do it :)
  933.  
  934. Ciao, Ralph
  935.  
  936. - --
  937.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  938.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  939.      Homepage, http://www.coli.uni-sb.de/~rade
  940.  
  941.  
  942. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  943.  
  944. From: jj@it.kth.se (Janne Johansson)
  945. Subject: Re: Freezing a process/task 
  946. Date: Mon, 09 Mar 1998 11:08:06 +0100
  947.  
  948. > for my 'EasyPlayer' (will develop to a configurable modplayer using
  949. > external players like sidplay and mpega...) I'd need to know how to freeze
  950. > a process/task like sysmonitors like Xoper or Scout do. I need this to
  951. > freeze the external launched programs and pause them - hard method but I
  952. > don't see why I shouldn't do it :)
  953.  
  954. One easy way is to change the TaskPri to -128.
  955. Tasks with that prio never get any cpu.
  956.  
  957. - -------------
  958. "Every girl with sense, loves those dead
  959.  presidents..." -Quireboys
  960.  
  961. Mail:  jj<at>it.kth.se
  962. Phone: +46-8-7521444 (work)
  963. Cell:  +46-70-740 1440
  964. Http: //www.it.kth.se/~jj
  965.  
  966. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  967.  
  968. Date: Mon, 9 Mar 1998 10:41:38 GMT
  969. From: jason@fsel.com (Jason Hulance)
  970. Subject: Re: Freezing a process/task
  971.  
  972. Ralph Debusmann <rade@coli.uni-sb.de> wrote:
  973.  
  974. > for my 'EasyPlayer' (will develop to a configurable modplayer using
  975. > external players like sidplay and mpega...) I'd need to know how to freeze
  976. > a process/task like sysmonitors like Xoper or Scout do. I need this to
  977. > freeze the external launched programs and pause them - hard method but I
  978. > don't see why I shouldn't do it :)
  979.  
  980. AFAIK, prodding a task externally using such functions is very nasty.
  981. Your task could be in the middle of anything.  A much nicer scheme would
  982. use a semaphore to put the task to sleep until it was required again.
  983. Investigate semaphores, they're very easy to use and they let you do
  984. what you want in a *safe* and supported way.
  985.  
  986. Cheers!
  987.  
  988. - -- 
  989. The conundrum for today is "aepmrolnt".
  990. Your numbers are 100, 8, 10, 3, 9 and 5.  The target value is 725.
  991. ======================================================================
  992. Jason R. Hulance                           Email: jason@fsel.com
  993. Formal Systems (Europe) Ltd                  Tel: [+44] (0)1865 728460
  994. 3 Alfred Street, Oxford OX1 4EH, UK          Fax: [+44] (0)1865 201114
  995. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  996.  
  997. From: merlin@thule.no (Eric Sauvageau)
  998. Date: Mon, 9 Mar 1998 14:44:50 +0500
  999. Subject: Re: Freezing a process/task
  1000.  
  1001. On Mon, 9 Mar 1998, we received a letter from  about 'Freezing a process/task':
  1002.  
  1003. >  Hi #?,
  1004. >  
  1005. >  for my 'EasyPlayer' (will develop to a configurable modplayer using
  1006. >  external players like sidplay and mpega...) I'd need to know how to freeze
  1007. >  a process/task like sysmonitors like Xoper or Scout do. I need this to
  1008. >  freeze the external launched programs and pause them - hard method but I
  1009. >  don't see why I shouldn't do it :)
  1010.  
  1011. It's done in a rather dirty way.  I wouldn't recommend it for an application
  1012. you use everyday, way too much problems could appear from it.
  1013.  
  1014. You'd be better using a signal.  Have that application wait for a specific signal
  1015. in all its Wait() blocks, or check periodicaly if a given signal was set.  If
  1016. it's set, immediately Wait() for another signal that would tell it to resume.
  1017.  100% OS legal, and garanteed to work under future revisions of the OS.
  1018.  
  1019. The method we use to freeze a task can cause serious damage when in the middle
  1020. of some form of interprocess communication. Let's say Task 'A' sends to 'B',
  1021. 'B' gets freezed at the same time, and task 'A' still waits for an answer from
  1022. 'B', but 'B' no longer exists.  Result: 'A' locks (imagine if 'A' is Intuition
  1023. or input.device...), or even crashes.
  1024.  
  1025. Ciao!
  1026.  
  1027.  
  1028.  
  1029. ... There is no security between the cradle and the grave.
  1030.  
  1031. - -- 
  1032.  
  1033. ===--- - - -
  1034.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  1035.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  1036.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  1037. - - - - ---===
  1038.  
  1039. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1040.  
  1041. From: merlin@thule.no (Eric Sauvageau)
  1042. Date: Mon, 9 Mar 1998 14:50:00 +0500
  1043. Subject: Re[2]: Freezing a process/task
  1044.  
  1045. On Mon, 9 Mar 1998, we received a letter from  about 'Re: Freezing a process/task':
  1046.  
  1047. >  > for my 'EasyPlayer' (will develop to a configurable modplayer using
  1048. >  > external players like sidplay and mpega...) I'd need to know how to freeze
  1049. >  > a process/task like sysmonitors like Xoper or Scout do. I need this to
  1050. >  > freeze the external launched programs and pause them - hard method but I
  1051. >  > don't see why I shouldn't do it :)
  1052. >  
  1053. >  One easy way is to change the TaskPri to -128.
  1054. >  Tasks with that prio never get any cpu.
  1055.  
  1056. 'Never' is such a strong word :)  I saw CPU meters who measure how much CPU is
  1057. available by using such a low-priority task.  If the CPU was always 100% loaded,
  1058. then that low pri task would never get called.  But since those CPU meter do
  1059. show more than 0% available, I'd say tasks with such a low priority DO get the
  1060. CPU from time to time.
  1061.  
  1062. Would be nice if the Exec scheduler would support a special pri (pri -128 could
  1063. be it) at which it would NEVER schedule the task.  Could be nicely and cleanly
  1064. used for freezing a task. Although for real safety, the task would have to give
  1065. some form of hint that it can be safely freezed at this very moment, i.e. that
  1066. it isn't in the middle of something  time-critical such as interprocess communication.
  1067.  
  1068. Ciao!
  1069.  
  1070.  
  1071.  
  1072. ... "Counselor, may I -uh- use yer combadge?"
  1073.  
  1074. - -- 
  1075.  
  1076. ===--- - - -
  1077.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  1078.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  1079.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  1080. - - - - ---===
  1081.  
  1082. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1083.  
  1084. From: Jaco.Schoonen@topic.nl
  1085. Subject: <none>
  1086. Date: Mon, 9 Mar 1998 21:56:35 +0100
  1087.  
  1088. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1089.  
  1090. Date: Mon, 09 Mar 1998 22:33:11 +0000
  1091. From: tucks@pavilion.co.uk (Liz Tucker)
  1092. Subject: GamesMasterSystem library
  1093.  
  1094. Hi,
  1095.  
  1096. I am currently a Blitz Basic programmer but I was looking to move to C.
  1097.  
  1098. However I have had the GMS library mentioned to me and try as I may, I
  1099. can`t get any of the included sources to link correctly.
  1100.  
  1101. Then I read about the E support for the library so I decided to look at
  1102. the E language and I find that it compiles the GMS sources perfectly. :)
  1103.  
  1104. So my first two questions to the list are...
  1105.  
  1106. 1. Does anyone else use the GMS library who could offer me any advice as
  1107. a newbee to E and the lib (off of the list if necessary).
  1108.  
  1109. 2. C and E appear very similar in syntax at first glance. What
  1110. advantages (and disadvantages if any) are there to using E as opposed to
  1111. C which is of course used universally?? Apart from the OOP included in E
  1112. which I would need C++ for.
  1113.  
  1114. See you,
  1115.  
  1116. Liz.   
  1117.  
  1118. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  1119.                        tucks@pavilion.co.uk
  1120.   4437135@pager.mirabilis.com     http://wwp.mirabilis.com/4437135
  1121.  
  1122. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  1123. Desktop Corruption - Team Leader    http://deskcorruption.home.ml.org
  1124.          Email us at............    deskcorruption@thehub.u-net.com
  1125.        Current Project..........            Dafel:Bloodline 
  1126. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  1127. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1128.  
  1129. From: jj@it.kth.se (Janne Johansson)
  1130. Subject: Re: Re[2]: Freezing a process/task 
  1131. Date: Tue, 10 Mar 1998 09:16:05 +0100
  1132.  
  1133. > >  > for my 'EasyPlayer' (will develop to a configurable modplayer using
  1134. > >  > external players like sidplay and mpega...) I'd need to know how to freeze
  1135. > >  > a process/task like sysmonitors like Xoper or Scout do. I need this to
  1136. > >  > freeze the external launched programs and pause them - hard method but I
  1137. > >  > don't see why I shouldn't do it :)
  1138. > >  
  1139. > >  One easy way is to change the TaskPri to -128.
  1140. > >  Tasks with that prio never get any cpu.
  1141. > 'Never' is such a strong word :)  I saw CPU meters who measure how much CPU is
  1142. > available by using such a low-priority task.  If the CPU was always 100% loaded,
  1143.  
  1144. AFAIK those kind of meters (I've written one myself) actually use
  1145. - -127 for that particurlar reason.
  1146.  
  1147. > then that low pri task would never get called.  But since those CPU meter do
  1148. > show more than 0% available, I'd say tasks with such a low priority DO get the
  1149. > CPU from time to time.
  1150.  
  1151. If you are right, that is. =)
  1152.  
  1153. > Would be nice if the Exec scheduler would support a special pri (pri -128 could
  1154. > be it) at which it would NEVER schedule the task.  Could be nicely and cleanly
  1155. > used for freezing a task. Although for real safety, the task would have to give
  1156. > some form of hint that it can be safely freezed at this very moment, i.e. that
  1157. > it isn't in the middle of something  time-critical such as interprocess communication.
  1158.  
  1159. Then again, while fiddling with time-sensitive stuff, you are required to
  1160. take appropriate precautions anyhow, and since a pri 0 task could lose
  1161. cpu for some .5 secs in any case just by having some other task need it
  1162. for something else, you still would end up having problems if your
  1163. task didn't get CPU every so often.
  1164.  
  1165. I am not 100% sure, but I do think this is the case. A -128 task
  1166. will never get cpu, but I have no proof at this time that it
  1167. actually is that way. Guess it would say so in RKRM Libs or something
  1168. similar.
  1169.  
  1170. - -------------
  1171. "Every girl with sense, loves those dead
  1172.  presidents..." -Quireboys
  1173.  
  1174. Mail:  jj<at>it.kth.se
  1175. Phone: +46-8-7521444 (work)
  1176. Cell:  +46-70-740 1440
  1177. Http: //www.it.kth.se/~jj
  1178.  
  1179. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1180.  
  1181. From: a9660319@wlv.ac.uk
  1182. Subject: Re: GamesMasterSystem library
  1183. Date: Tue, 10 Mar 1998 09:46:22 -0500 (EST)
  1184.  
  1185. On Mon, 09 Mar 1998 22:33:11 +0000 Liz Tucker <tucks@pavilion.co.uk> 
  1186. wrote:
  1187. > Hi,
  1188.  
  1189. Hi Liz.
  1190.  
  1191. > However I have had the GMS library mentioned to me and try as I may, I
  1192. > can`t get any of the included sources to link correctly.
  1193.  
  1194. What is the GMS library? And what does it do?
  1195.  
  1196. > 1. Does anyone else use the GMS library who could offer me any advice 
  1197. > as
  1198. > a newbee to E and the lib (off of the list if necessary).
  1199. > 2. C and E appear very similar in syntax at first glance. What
  1200. > advantages (and disadvantages if any) are there to using E as opposed to
  1201. > C which is of course used universally?? Apart from the OOP included in E
  1202. > which I would need C++ for.
  1203.  
  1204. Mostly I like the clearer syntax, as it makes more sense than C, but, 
  1205. one of the big problems I think is support for other processors, and 
  1206. computers. Becasue E is a proprietry language, it`s not east to convert 
  1207. between other computers, and if you want to use different comps, then 
  1208. you need C++  - :(
  1209.  
  1210. A big advantage is the pointer system, (once you get the hang of it :), 
  1211. as all variables are pointers, you don`t need to litter your source 
  1212. with & and * and . and ->. 
  1213.  
  1214. > See you,
  1215. > Liz.   
  1216.  
  1217. Thanks.
  1218.     Andrew :)
  1219.  
  1220.  
  1221. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1222.  
  1223. Date: Tue, 10 Mar 1998 09:25:10 GMT
  1224. From: jason@fsel.com (Jason Hulance)
  1225. Subject: Re: GamesMasterSystem library
  1226.  
  1227. Liz Tucker <tucks@pavilion.co.uk> wrote:
  1228.  
  1229. > I am currently a Blitz Basic programmer but I was looking to move to C.
  1230. > However I have had the GMS library mentioned to me and try as I may, I
  1231. > can`t get any of the included sources to link correctly.
  1232.  
  1233. Isn't C fun?  I guess you weren't using the same C compiler (or the same
  1234. setup) as the programmer...
  1235.  
  1236. > Then I read about the E support for the library so I decided to look at
  1237. > the E language and I find that it compiles the GMS sources perfectly. :)
  1238.  
  1239. Of course.  There's only one implementation of E, so if it compiles for
  1240. the programmer it'll (pretty much) always work for you.
  1241.  
  1242. > 2. C and E appear very similar in syntax at first glance. What
  1243. > advantages (and disadvantages if any) are there to using E as opposed to
  1244. > C which is of course used universally?? Apart from the OOP included in E
  1245. > which I would need C++ for.
  1246.  
  1247. Disadvantages:
  1248.  
  1249.  o Amiga-specific
  1250.  o Few optimisations done by the compiler
  1251.  o Effectively no type checking
  1252.  o Doesn't split code into hunks (only an issue for large programs).
  1253.  
  1254. Advantages:
  1255.  
  1256.  o Blisteringly fast at compiling
  1257.  o Small executables usually
  1258.  o Executables run as fast as you like (if you use in-line assembly
  1259.    and/or manual optimisation)
  1260.  o Simpler syntax than C (it looks a lot like Pascal/Modula-2).
  1261.  o Decent exception handling
  1262.  o Lots and lots of other things...  (see E.guide in the Docs directory
  1263.    of the current distribution).
  1264.  
  1265. Cheers!
  1266.  
  1267. - -- 
  1268. The conundrum for today is "oupfketlc".
  1269. Your numbers are 50, 7, 2, 5, 2 and 3.  The target value is 580.
  1270. ======================================================================
  1271. Jason R. Hulance                           Email: jason@fsel.com
  1272. Formal Systems (Europe) Ltd                  Tel: [+44] (0)1865 728460
  1273. 3 Alfred Street, Oxford OX1 4EH, UK          Fax: [+44] (0)1865 201114
  1274. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1275.  
  1276. From: stv@minorisa.es ("Esteve Boix")
  1277. Date: Tue, 10 Mar 1998 12:49:52 +0000
  1278. Subject: Re: GamesMasterSystem library
  1279.  
  1280. > Disadvantages:
  1281. >  o Amiga-specific
  1282.  
  1283. True
  1284.  
  1285. >  o Few optimisations done by the compiler
  1286.  
  1287. True... For those of us who don't know ASM, this is quite a 
  1288. problem... For sure, EC v3.4 will apply heavy optimisations to the 
  1289. code, making it way faster :)
  1290.  
  1291. >  o Effectively no type checking
  1292.  
  1293. But this is a part of the language, isn't it ?
  1294.  
  1295. >  o Doesn't split code into hunks (only an issue for large programs).
  1296.  
  1297. Why is better to split code in hunks ? (this is a question, I don't 
  1298. know what a "hunk" is) 
  1299.  
  1300. Esteve
  1301. - --
  1302. Esteve Boix - stv@minorisa.es
  1303. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1304.  
  1305. From: jj@it.kth.se (Janne Johansson)
  1306. Subject: Re: GamesMasterSystem library 
  1307. Date: Tue, 10 Mar 1998 13:02:14 +0100
  1308.  
  1309. > > 2. C and E appear very similar in syntax at first glance. What
  1310. > > advantages (and disadvantages if any) are there to using E as opposed to
  1311. > > C which is of course used universally?? Apart from the OOP included in E
  1312. > > which I would need C++ for.
  1313. > Disadvantages:
  1314. >  o Amiga-specific
  1315. >  o Few optimisations done by the compiler
  1316. >  o Effectively no type checking
  1317.      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  1318.  
  1319. Hey, wait a minute. This one is at the wrong side. ;-)
  1320.  
  1321.  
  1322. >  o Doesn't split code into hunks (only an issue for large programs).
  1323. > Advantages:
  1324. >  o Blisteringly fast at compiling
  1325. >  o Small executables usually
  1326. >  o Executables run as fast as you like (if you use in-line assembly
  1327. >    and/or manual optimisation)
  1328. >  o Simpler syntax than C (it looks a lot like Pascal/Modula-2).
  1329. >  o Decent exception handling
  1330.  
  1331. 8<
  1332.  
  1333. - -------------
  1334. "Every girl with sense, loves those dead
  1335.  presidents..." -Quireboys
  1336.  
  1337. Mail:  jj<at>it.kth.se
  1338. Phone: +46-8-7521444 (work)
  1339. Cell:  +46-70-740 1440
  1340. Http: //www.it.kth.se/~jj
  1341.  
  1342. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1343.  
  1344. Date: Tue, 10 Mar 1998 13:29:32 +0100 (MET)
  1345. From: rade@coli.uni-sb.de (Ralph Debusmann)
  1346. Subject: Re: GamesMasterSystem library
  1347.  
  1348. > >  o Few optimisations done by the compiler
  1349. > True... For those of us who don't know ASM, this is quite a 
  1350. > problem... For sure, EC v3.4 will apply heavy optimisations to the 
  1351. > code, making it way faster :)
  1352.  
  1353. How do you know? Did Wouter say anything like that? And if so, is there
  1354. any timeschedule for 3.4?
  1355.  
  1356. > >  o Effectively no type checking
  1357. > But this is a part of the language, isn't it ?
  1358.  
  1359. Sure, but it makes it way easier to make big mistakes and not to find them
  1360. easily. I hate it when I made a mistake which the compiler didn't find
  1361. because of the lacking type checking and my machine goes to India. 
  1362.  
  1363. Ciao, Ralph
  1364.  
  1365. - --
  1366.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  1367.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  1368.      Homepage, http://www.coli.uni-sb.de/~rade
  1369.  
  1370.  
  1371. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1372.  
  1373. From: stv@minorisa.es ("Esteve Boix")
  1374. Date: Tue, 10 Mar 1998 13:36:30 +0000
  1375. Subject: Re: GamesMasterSystem library
  1376.  
  1377. > How do you know? Did Wouter say anything like that? And if so, is
  1378. > there any timeschedule for 3.4?
  1379.  
  1380. I was just wondering/joking :) I didn't want to start a false rumour!
  1381.  
  1382. Esteve
  1383. - --
  1384. Esteve Boix - stv@minorisa.es
  1385. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1386.  
  1387. Date: Tue, 10 Mar 1998 14:01:29 +0100 (MET)
  1388. From: rade@coli.uni-sb.de (Ralph Debusmann)
  1389. Subject: Re: GamesMasterSystem library
  1390.  
  1391. On Tue, 10 Mar 1998, Esteve Boix wrote:
  1392.  
  1393. > > How do you know? Did Wouter say anything like that? And if so, is
  1394. > > there any timeschedule for 3.4?
  1395. > I was just wondering/joking :) I didn't want to start a false rumour!
  1396.  
  1397. Ok, got it :) Would be nice to have an optimize option nevertheless...
  1398.  
  1399. Ciao, Ralph
  1400.  
  1401. - --
  1402.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  1403.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  1404.      Homepage, http://www.coli.uni-sb.de/~rade
  1405.  
  1406.  
  1407. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1408.  
  1409. Date: Tue, 10 Mar 1998 13:10:51 GMT
  1410. From: jason@fsel.com (Jason Hulance)
  1411. Subject: Re: GamesMasterSystem library
  1412.  
  1413. "Esteve Boix" <stv@minorisa.es> quoted and wrote:
  1414.  
  1415. > > Disadvantages:
  1416. > > 
  1417. > >  o Amiga-specific
  1418. > True
  1419. > >  o Few optimisations done by the compiler
  1420. > True... For those of us who don't know ASM, this is quite a 
  1421. > problem... For sure, EC v3.4 will apply heavy optimisations to the 
  1422. > code, making it way faster :)
  1423.  
  1424. I wouldn't hold your breath.  Wouter has said he thinks it *is* possible
  1425. to add some optimisations to the compiler, but not with the current
  1426. sources...  (Hmmm... reminds me of another conversation I'm having with
  1427. him at the moment...)
  1428.  
  1429. > >  o Effectively no type checking
  1430. > But this is a part of the language, isn't it ?
  1431.  
  1432. Yes, and in some ways it's a big advantage.  But people new to the
  1433. language (like the person who asked the question) are likely to fall
  1434. foul of it, especially if they've just learnt about the type safety in
  1435. C...
  1436.  
  1437. > >  o Doesn't split code into hunks (only an issue for large programs).
  1438. > Why is better to split code in hunks ? (this is a question, I don't 
  1439. > know what a "hunk" is) 
  1440.  
  1441. The Amiga can support programs with their code split into little lumps.
  1442. (Of course, the compiler has to be able to generate these lumps so that
  1443. the program still works properly -- E plays safe and makes just the one
  1444. lump.)  A large program benefits a lot from this, because smaller pieces
  1445. are more likely to fit into your Amiga's memory (since it's bound to be
  1446. fragmented to a certain degree).  Your program ends up scattered (in its
  1447. little hunk lumps) in memory in the available slots.
  1448.  
  1449. Say your program was 100Kb.  If it's in one hunk then the Amiga needs to
  1450. find a contiguous 100Kb lump of memory to load it into.  This is less
  1451. likely to be possible than finding ten 10Kb lumps of memory to fit ten
  1452. 10Kb hunks into...
  1453.  
  1454. The complexity for the compiler is to find a good strategy for dividing
  1455. the program into hunks (for E, this would probably be at module
  1456. boundaries), and to generate the correct code and information so that
  1457. references between the hunks could be relocated.  And I'm sure there are
  1458. other problems, too.
  1459.  
  1460. Cheers!
  1461.  
  1462. - -- 
  1463. The conundrum for today is "xoeimptne".
  1464. Your numbers are 100, 4, 4, 9, 9 and 1.  The target value is 906.
  1465. ======================================================================
  1466. Jason R. Hulance                           Email: jason@fsel.com
  1467. Formal Systems (Europe) Ltd                  Tel: [+44] (0)1865 728460
  1468. 3 Alfred Street, Oxford OX1 4EH, UK          Fax: [+44] (0)1865 201114
  1469. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1470.  
  1471. Date: Tue, 10 Mar 1998 15:15:02 +0100 (MET)
  1472. From: rade@coli.uni-sb.de (Ralph Debusmann)
  1473. Subject: Re: GamesMasterSystem library
  1474.  
  1475. On Tue, 10 Mar 1998, Jason Hulance wrote:
  1476.  
  1477. > > >  o Doesn't split code into hunks (only an issue for large programs).
  1478. > > 
  1479. > > Why is better to split code in hunks ? (this is a question, I don't 
  1480. > > know what a "hunk" is) 
  1481. > The Amiga can support programs with their code split into little lumps.
  1482. > (Of course, the compiler has to be able to generate these lumps so that
  1483. > the program still works properly -- E plays safe and makes just the one
  1484. > lump.)  A large program benefits a lot from this, because smaller pieces
  1485. > are more likely to fit into your Amiga's memory (since it's bound to be
  1486. > fragmented to a certain degree).  Your program ends up scattered (in its
  1487. > little hunk lumps) in memory in the available slots.
  1488.  
  1489. E's simple compiler strategy isn't that bad in my opinion, you'll have
  1490. less memory fragmentation, and with the compiler spitting out quite small
  1491. executables (I don't think there is any E-executable >300K or so) I don't
  1492. think this is so much of a drawback. Even Amiga users have around 4-8Megs
  1493. standardly by now, and I don't think memory will be ever fragmented so
  1494. badly that you don't have a 300K block left. By using an allocmem-patch
  1495. (PoolMem, FragCure...) this risk can even be diminished further.
  1496.  
  1497. Ciao, Ralph
  1498.  
  1499. - --
  1500.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  1501.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  1502.      Homepage, http://www.coli.uni-sb.de/~rade
  1503.  
  1504.  
  1505. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1506.  
  1507. Date: Tue, 10 Mar 1998 14:39:52 +0000 (GMT)
  1508. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  1509. Subject: Re: GamesMasterSystem library
  1510.  
  1511. On Tue, 10 Mar 1998, Esteve Boix wrote:
  1512.  
  1513. =>>  o Few optimisations done by the compiler
  1514. =>
  1515. =>True... For those of us who don't know ASM, this is quite a 
  1516. =>problem... For sure, EC v3.4 will apply heavy optimisations to the 
  1517. =>code, making it way faster :)
  1518.  
  1519. Well, I ought to explain that if you disassemble E output (with adis or IRA or
  1520. something) then feed it to POpt, it does make quite a good job. Obviously the
  1521. compiler itself could do a *little* better (expression simplifying,
  1522. constant-culling, more effective startup), but apart from that the compiler
  1523. should be left alone for optimisation, as it is more an amiga-specific thing
  1524. than a language thing. You'll only want backbreaking optimisation for the
  1525. finished product, IMHO.
  1526.  
  1527. =>>  o Doesn't split code into hunks (only an issue for large programs).
  1528. =>
  1529. =>Why is better to split code in hunks ? (this is a question, I don't 
  1530. =>know what a "hunk" is) 
  1531.  
  1532. Well, basically, lots of code-hunks in an executable is *not* a desired effect,
  1533. *BUT* a _reasonable_ amount of it _is_ a good thing. Mainly, it makes a
  1534. 'large' program fit in memory easier, and it gives better output for debugging
  1535. so you can see 'program bla failed, hunk 12 offset 3932' rather than 'program
  1536. bla failed, hunk 0 offset 2929293283298329832'.
  1537.  
  1538. Also, _I_ would like to see a better linker, as the current one is not very
  1539. friendly - it demands that all dependancies are resolved at creation time, and
  1540. it only allows one single code hunk. Bleeeargh. There should be code _and_ data
  1541. hunks, so the data-hunk could be write-protected by debugging tools.
  1542.  
  1543. And o2m is pants. I'd love to use E internal functions when writing 
  1544. super-optimised asm code, as the internal assembler of E is worse than useless.
  1545. CMP A0,A1 is a 'bad addressing mode', for example, which it never has been and
  1546. never will be, and then there's all the back-breaking uppercase, ... just to
  1547. get the features that are allowed to E-compiled modules linked in, but NOT to
  1548. o2m'ed modules linked in. But why should I flame o2m when it does an effective
  1549. job itself?
  1550.  
  1551. Only XDEFs allowed, no XREFs
  1552. At most one relochunk expected
  1553. Only hunk_code, hunk_ext and hunk_reloc32 allowed
  1554.  
  1555. Anyway, one can do something like so:
  1556.  
  1557. PROC main()
  1558.   DEF a4, a:PTR TO LONG
  1559.   a:=[
  1560.   'stdout',    {stdout},
  1561.   'conout',    {conout},
  1562.   'stdin',    {stdin},
  1563.  
  1564.   'arg',    {arg},
  1565.   'wbmessage',    {wbmessage},
  1566.  
  1567.   'execbase',    {execbase},
  1568.   'dosbase',    {dosbase},
  1569.   'intuibase',    {intuitionbase},
  1570.   'gfxbase',    {gfxbase},
  1571.   NIL]
  1572.  
  1573.   MOVE.L A4,a4
  1574.   WHILE a[] DO WriteF('\s=\d\n', a[]++, a[]++ - a4)
  1575. ENDPROC
  1576.  
  1577. This generates a handy include-file, so one can write
  1578.     move.l    dosbase(a4),a6
  1579. and such.
  1580.  
  1581. I shouldn't really complain, after all there were people even back in 1989 who
  1582. threw away Lattice C's startup, and wrote their own, and inserted call pragmas
  1583. in the code directly, and saved 7kb (!!!) on the size of a 9kb executable. E
  1584. isn't nearly as bad as those old C compilers. And I'd rather have E compile in
  1585. seconds and only take up <1 disk for a binary distribution...
  1586.  
  1587. kyz
  1588.  
  1589. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht unterkriegen 
  1590. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein Lager; Er trinkt
  1591. ein Cider; Er singt die Lieder, die ihn; An die guten Zeiten erinnern; Er singt
  1592. die Lieder, die ihn; An die besseren Zeiten erinnern 
  1593.  
  1594.  
  1595.  
  1596.  
  1597. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1598.  
  1599. From: merlin@thule.no (Eric Sauvageau)
  1600. Date: Tue, 10 Mar 1998 14:47:32 +0500
  1601. Subject: Re[2]: GamesMasterSystem library
  1602.  
  1603. On Tue, 10 Mar 1998, we received a letter from  about 'Re: GamesMasterSystem
  1604. library':
  1605.  
  1606. >  > Disadvantages:
  1607. >  > 
  1608. >  >  o Amiga-specific
  1609. >  
  1610. >  True
  1611. >  
  1612. >  >  o Few optimisations done by the compiler
  1613. >  
  1614. >  True... For those of us who don't know ASM, this is quite a 
  1615. >  problem... For sure, EC v3.4 will apply heavy optimisations to the 
  1616. >  code, making it way faster :)
  1617. >  
  1618. >  >  o Effectively no type checking
  1619. >  
  1620. >  But this is a part of the language, isn't it ?
  1621. >  
  1622. >  >  o Doesn't split code into hunks (only an issue for large programs).
  1623. >  
  1624. >  Why is better to split code in hunks ? (this is a question, I don't 
  1625. >  know what a "hunk" is) 
  1626.  
  1627. Amiga executables are stored on disk as a serie of "hunks".  Each hunk has a
  1628. special header stating what type of hunk it is, and where it should be loaded/relocated.
  1629.  Most compiler will support multiple hunks, but EC only generates one big hunk
  1630. containing everything.
  1631.  
  1632. Two reasons for using multiple hunks:
  1633.  
  1634. 1) Scatter-loading allow you to load a large file even though your memory might
  1635. be fragmented.  If you have 1 MB free and the largest blocks are only 200 KB
  1636. free, a single-hunked 500 KB exe won't be able to load, but an exe with 5 hunks
  1637. of 100 KB  might load just fine.
  1638.  
  1639. 2) Separating data, chipdata and code.  That way, you can have the code into
  1640. the fastest RAM available, and have any data needing ChipRAM directly loaded
  1641. in ChipRAM by the OS (LoadSeg() handles that) instead of ending up in FastRAM
  1642. and needing the programmer to manualy copy it to Chip (meaning slower, and wasting
  1643. twice the memory).  It is also cleaner to have the actual data separated from
  1644. the actual code, can't say if there's any practical advantage there beside for
  1645. the sake of clean programming techniques.
  1646.  
  1647. Ciao!
  1648.  
  1649.  
  1650.  
  1651. ... All I ask is a chance to prove than money can't make me happy.
  1652.  
  1653. - -- 
  1654.  
  1655. ===--- - - -
  1656.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  1657.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  1658.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  1659. - - - - ---===
  1660.  
  1661. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1662.  
  1663. From: merlin@thule.no (Eric Sauvageau)
  1664. Date: Wed, 11 Mar 1998 04:28:11 +0500
  1665. Subject: Re[3]: Freezing a process/task
  1666.  
  1667. On Wed, 11 Mar 1998, we received a letter from  about 'Re: Re[2]: Freezing a
  1668. process/task':
  1669.  
  1670. >  I am not 100% sure, but I do think this is the case. A -128 task
  1671. >  will never get cpu, but I have no proof at this time that it
  1672. >  actually is that way. Guess it would say so in RKRM Libs or something
  1673. >  similar.
  1674.  
  1675. - -128 is the same as -127 or -10 if you have no other tasks with a lower pri.
  1676.  The only thing Exec does with those taskpri is determine in which order it looks
  1677. for who gets the next CPU timeslice.
  1678.  
  1679. Stuff like Executive might handle them differently, but then, Executive is not
  1680. the regular Exec scheduler.
  1681.  
  1682.  
  1683.  
  1684. ... PATH=harddrive;drawer;desktop;pocket;boxincloset;boxunderdesk
  1685.  
  1686. - -- 
  1687.  
  1688. ===--- - - -
  1689.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  1690.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  1691.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  1692. - - - - ---===
  1693.  
  1694. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1695.  
  1696. Date: Wed, 11 Mar 1998 18:47:02 +0100
  1697. From: gamboni@fastnet.ch (Jacques Gamboni)
  1698. Subject: set WA_TrapRMB 'on the fly'
  1699.  
  1700. Hello,
  1701.  
  1702. they say in the RKRM that we can change the WA_TrapRMB flag when the
  1703. window is already open,
  1704. but that we must use assembly to change the flag directely. I don't know
  1705. assembly, so could someone
  1706. tell me how to do it?
  1707. Note: the window is an mui window. In fact I always want RMB to be
  1708. 'trapped' (I do not have menus),
  1709. but Mui doesn't seem to allow to change this flag when the window is
  1710. opened, so I thought to read
  1711. MUI_Window_Window and then change that flag (just after having opened
  1712. the window with set(window,
  1713. MUIA_Window_Open,MUI_TRUE) ). There is maybe another way to do it?
  1714.  
  1715.                                                                 Maxime
  1716.  
  1717. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1718.  
  1719. Date: Wed, 11 Mar 1998 19:01:08 +0000
  1720. From: tucks@pavilion.co.uk (Liz Tucker)
  1721. Subject: Re: GamesMasterSystem library
  1722.  
  1723. Hi Andrew,
  1724.  
  1725. > What is the GMS library? And what does it do?
  1726.  
  1727. It is a new library written for games programmers which in an Amiga
  1728. library so it can, in theory, be called by any language but the only
  1729. languages which are supported with includes and header files etc.
  1730. so far are Asm, C and E.
  1731.  
  1732. However I had problems compiling the C source examples as they wouldn`t 
  1733. link correctly which is why I have started to look at E.
  1734.  
  1735. Thanks everyone for your replies to my initial question about E as a
  1736. language in general.
  1737.  
  1738. Check out http://gms.ethos.co.nz/gms/ for more info on GMS. The files
  1739. are also available for download from Aminet.
  1740.  
  1741. See you,
  1742.  
  1743. Liz.   
  1744.  
  1745. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  1746.                        tucks@pavilion.co.uk
  1747.   4437135@pager.mirabilis.com     http://wwp.mirabilis.com/4437135
  1748.  
  1749. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  1750. Desktop Corruption - Team Leader    http://deskcorruption.home.ml.org
  1751.          Email us at............    deskcorruption@thehub.u-net.com
  1752.        Current Project..........            Dafel:Bloodline 
  1753. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  1754.  
  1755. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1756.  
  1757. Date: Thu, 12 Mar 1998 12:15:22 +0100 (MET)
  1758. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  1759. Subject: ListView list handling
  1760.  
  1761.  Hi !
  1762.  
  1763.   I'm writing preferences for my MultiView - it is down cutted tooltype
  1764. editor. All that I need is module for list handling with inserting node at
  1765. requested position. Now I'm using listhandling module but it doesn't have
  1766. inserting.
  1767.  
  1768.  Bye..
  1769.  
  1770. - ------
  1771.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  1772.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  1773.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  1774.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  1775.  
  1776. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1777.  
  1778. From: frosetti@hotmail.com ("Fabio Rosetti")
  1779. Subject: Re: whatis.library
  1780. Date: Thu, 12 Mar 1998 03:19:45 PST
  1781.  
  1782. >
  1783. >Did you write them a mail about this? ;)
  1784. >
  1785. >Well, thanks a lot, I'll try this out when I get home tonight.
  1786. >
  1787. >The reason why I want to use whatis.library is to determine the 
  1788. filetypes
  1789. >of music modules for my slowly evolving tiny music player :) I think it
  1790. >could be quite nice to not have to check filetypes by myself. I also 
  1791. use
  1792. >the quite ingenious but abandoned BrowserII (which in turn uses
  1793. >whatis.library) as my filemanager, so I already have proper filetypes 
  1794. for
  1795. >everything... 
  1796. >
  1797.  
  1798. Hi there!
  1799.  
  1800. Maybe you should take a look at BFBPlayer.library. It's a library for
  1801. playing modules of various formats. There is a user version 
  1802. (BFBPlayMasterU.lha) and a developer version (BFBPlayMasterD.lha) on 
  1803. aminet in mus/play.
  1804.  
  1805. Well, Happy programming!
  1806.  
  1807. Dennis
  1808.  
  1809. PS!
  1810. If this this mail looks screwed up, it's because I use Hotmail from
  1811. Micro$oft.
  1812.  
  1813.  
  1814.  
  1815. ______________________________________________________
  1816. Get Your Private, Free Email at http://www.hotmail.com
  1817. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1818.  
  1819. From: stv@minorisa.es ("Esteve Boix")
  1820. Date: Thu, 12 Mar 1998 12:34:32 +0000
  1821. Subject: Re: ListView list handling
  1822.  
  1823. >  Hi !
  1824. >   I'm writing preferences for my MultiView - it is down cutted
  1825. >   tooltype
  1826. > editor. All that I need is module for list handling with inserting
  1827. > node at requested position. Now I'm using listhandling module but it
  1828. > doesn't have inserting.
  1829.  
  1830. Try the StringNode from AFC. It handles exec-lists of strings 
  1831. flawlessly :)
  1832.  
  1833. Esteve
  1834. - --
  1835. Esteve Boix - stv@minorisa.es
  1836. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1837.  
  1838. Date: Thu, 12 Mar 1998 11:37:41 +0000 (GMT)
  1839. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  1840. Subject: Re: whatis.library
  1841.  
  1842. On Thu, 12 Mar 1998, Fabio Rosetti wrote:
  1843.  
  1844. =>PS!
  1845. =>If this this mail looks screwed up, it's because I use Hotmail from
  1846. =>Micro$oft.
  1847.  
  1848. First Hotmail started taking exceptionally long times for no reason, then it
  1849. started having bad HTML on its pages, then it started taking days for mail to
  1850. get through. It was only a few days after that, that I noticed 'from Microsoft'
  1851. on it's front page.
  1852.  
  1853. kyz
  1854.  
  1855. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht unterkriegen 
  1856. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein Lager; Er trinkt
  1857. ein Cider; Er singt die Lieder, die ihn; An die guten Zeiten erinnern; Er singt
  1858. die Lieder, die ihn; An die besseren Zeiten erinnern 
  1859.  
  1860. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1861.  
  1862. Date: Thu, 12 Mar 1998 11:42:13 +0000 (GMT)
  1863. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  1864. Subject: Re: set WA_TrapRMB 'on the fly'
  1865.  
  1866. On Wed, 11 Mar 1998, Jacques Gamboni wrote:
  1867.  
  1868. =>MUIA_Window_Open,MUI_TRUE) ). There is maybe another way to do it?
  1869.  
  1870. You may want to look up ModifyIDCMP() in intuition.
  1871.  
  1872.         Success = ModifyIDCMP( Window, newIDCMPFlags ) 
  1873.         D0 (V37)               A0      D0
  1874.  
  1875. kyz
  1876.  
  1877. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht unterkriegen 
  1878. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein Lager; Er trinkt
  1879. ein Cider; Er singt die Lieder, die ihn; An die guten Zeiten erinnern; Er singt
  1880. die Lieder, die ihn; An die besseren Zeiten erinnern 
  1881.  
  1882. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1883.  
  1884. Date: Thu, 12 Mar 1998 13:04:31 +0100 (MET)
  1885. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  1886. Subject: GoldED and AmigaE
  1887.  
  1888.  Hi !
  1889.  
  1890.   I wrote two scripts for GoldED :
  1891.    ECompile.ged - compile and run
  1892.    EDebug.ged   - compile and debug
  1893.  
  1894.   If you make an error than after compilation you will be in error line.
  1895. If somebody wants them please write. I can send it tomorrow.
  1896.  
  1897.  Bye..
  1898.  
  1899. - ------
  1900.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  1901.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  1902.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  1903.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  1904.  
  1905. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1906.  
  1907. Date: Thu, 12 Mar 98 13:20:30 GMT
  1908. From: muttley@lndn.tensor.pgs.com ("Muttley")
  1909. Subject: Re: GoldED and AmigaE
  1910.  
  1911.      Hi,
  1912.      
  1913.      Yeah!  I'd be interested in those scripts.
  1914.      
  1915.      All the best
  1916.      
  1917.      Muttley
  1918.      
  1919.      -----
  1920.      Muttley@london.pgs.com
  1921.      A1200(Towerized)/030/881, AmigaOS3.1, 2+32MB RAM, 2.6GB HDD, 24xCD-ROM
  1922.  
  1923.  
  1924. ______________________________ Reply Separator _________________________________
  1925. Subject: GoldED and AmigaE
  1926. Author:  <amigae-list@intercom.it> at Internet_London
  1927. Date:    12/03/98 13:04
  1928.  
  1929.  
  1930.  Hi !
  1931.      
  1932.   I wrote two scripts for GoldED :
  1933.    ECompile.ged - compile and run
  1934.    EDebug.ged   - compile and debug
  1935.      
  1936.   If you make an error than after compilation you will be in error line.
  1937. If somebody wants them please write. I can send it tomorrow.
  1938.      
  1939.  Bye..
  1940.      
  1941. - ------
  1942.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga* 
  1943.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/ 
  1944.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  1945.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  1946.      
  1947.      
  1948.  
  1949.  
  1950. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1951.  
  1952. Date: Thu, 12 Mar 1998 11:57:14 +0100
  1953. From: jhjelm@hem.passagen.se (Jonas Hjelm)
  1954. Subject: MuiBuilder and AmigaE
  1955.  
  1956. Is there anyone out there
  1957. who use Muibuilder and AmigaE
  1958. and makes program with locale-support?
  1959.  
  1960. How do you do it?
  1961.  
  1962. //helmet
  1963. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1964.  
  1965. From: a9660319@wlv.ac.uk
  1966. Subject: Re: GamesMasterSystem library
  1967. Date: Thu, 12 Mar 1998 14:36:01 +0000 (GMT)
  1968.  
  1969. > It is a new library written for games programmers which in an Amiga
  1970. > library so it can, in theory, be called by any language but the only
  1971. > languages which are supported with includes and header files etc.
  1972. > so far are Asm, C and E.
  1973.  
  1974. YES!
  1975. This appears to be exactly what I`m after! HA HA!!! (manic laugh!)
  1976.  
  1977. Andrew :)
  1978.  
  1979. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  1980.  
  1981. From: frank@cc86.org (Frank Weber)
  1982. Date: Fri, 13 Mar 1998 17:33:52 +0100
  1983. Subject: Re: MuiBuilder and AmigaE
  1984.  
  1985. Hi Jonas,
  1986.  
  1987. On 12-M=E4r-98 Jonas Hjelm wrote:
  1988.  
  1989. >Is there anyone out there
  1990. >who use Muibuilder and AmigaE
  1991.  
  1992. well, I am using MUI and AmigaE, and if you really want to
  1993. develop programs seriously, forget MUI-Builder and use the
  1994. macros instead. This is what makes development *really* powerful.
  1995.  
  1996. >and makes program with locale-support?
  1997.  
  1998. Yes, I'm doing so, too (together with Cataloger v1.2). If you have any
  1999. questions, just ask. :-)
  2000.  
  2001. Bye
  2002.  
  2003.    Frank
  2004. - --
  2005. Frank Weber           Email: frank@cc86.org
  2006. 74076 Heilbronn         URL: http://www.cc86.org/~frank/
  2007. PGP key available on request
  2008.  
  2009. Amiga Shareware:   =B7 CDCat    =B7 AFiloFaxPro    =B7 AmigaTrainer    =B7=
  2010.  Cheater
  2011.  
  2012. MSG online crew member
  2013.  
  2014. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2015.  
  2016. From: stv@minorisa.es ("Esteve Boix")
  2017. Date: Fri, 13 Mar 1998 17:48:19 +0000
  2018. Subject: Re: MuiBuilder and AmigaE
  2019.  
  2020. > well, I am using MUI and AmigaE, and if you really want to
  2021. > develop programs seriously, forget MUI-Builder and use the
  2022. > macros instead. This is what makes development *really* powerful.
  2023.  
  2024. Agree 100%... Use custom classes whenever possible.
  2025.  
  2026. Esteve
  2027. - --
  2028. Esteve Boix - stv@minorisa.es
  2029. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2030.  
  2031. Date: 13 Mar 98 18:06:28 +0100
  2032. From: seasons@softhome.net (Lloyd Rosen)
  2033. Subject: Programmers wanted
  2034.  
  2035. Org:      SEASONS / Lloyd Rosen
  2036. Reply To: seasons@softhome.net
  2037.  
  2038. Hi! I'll take my chance to write this in here, and I'll make it short.
  2039.  
  2040. Seasons is a new team of people determined to continue supporting the
  2041. Amiga with more quality productions. We're currently on the search of
  2042. skilled programmers and pixelers. As I program AmigaE myself, I thought
  2043. this can be an interesting place to look ;)
  2044.  
  2045. Our main interests are games (preferably with net-support) and tools.
  2046. Not many productions have found it's way out there, since we have only
  2047. 3 programmers (2 AmigaE, 1 C/C++), but we also have two graphicians and 2
  2048. musicians. (Plus some other people the cat dragged in ;)
  2049.  
  2050. Our current MAIN project is another monkeyisland clone called Z-Files (which
  2051. ofcourse is a parody of the well-known tv-series) that is programmed in E (and
  2052. some Asm) - we're working on the demo now ("Pilot" :) which is going to be
  2053. absolutely great! It will also be ported to (dare I say it) PC and Mac later.
  2054. We could use some more artists for this project.
  2055.  
  2056. In  addition,  we  have  some other projects that would involve more
  2057. programmers.
  2058.  
  2059. There is no salaries, I'm afraid - but you'll have a bit of fun anyway :)
  2060.  
  2061. You don't need to reply here, just send a mail to:
  2062.  
  2063. SEASONS@SOFTHOME.NET
  2064.  
  2065. Thanks for the attention, and sorry for any inconvenience caused by this
  2066. posting. :/
  2067.  
  2068. ·<Lloyd Rosen>·-·<§EA§ON§>·-·<0x0/E/6502>·-·<SEASONS@SOFTHOME.NET>·
  2069.  
  2070. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2071.  
  2072. Date: Sat, 14 Mar 1998 11:30:11 +0100
  2073. From: gamboni@fastnet.ch (Jacques Gamboni)
  2074. Subject: 3D-ViRGE programming
  2075.  
  2076. I want to write games using the 3D-ViRGE chip of the Cybervision64-3d.
  2077. Do someone know how to do it?
  2078. Is there a module available that do it?
  2079.  
  2080.  
  2081. Maxime
  2082.  
  2083. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2084.  
  2085. From: sanric@ronet.it (Riccardo Santato)
  2086. Date: Fri, 13 Mar 1998 17:57:22 +0100
  2087. Subject: Easygui backdrop
  2088.  
  2089. Is there someone who can tell me how to put a bitmap in the backdrop of an
  2090. easygui
  2091. window as WBPattern does ?!?
  2092.  
  2093. I've put a bitmap on an Intuition Screen. I want to keep it refreshed using
  2094. the SetMask() function, but I've no examples on how to do this. Can anyone
  2095. help me ?!?
  2096.  
  2097. Thanx a lot !
  2098.  
  2099.  
  2100. ==============================================
  2101. Santato Riccardo
  2102.  
  2103.                                sanric@ronet.it
  2104. ==============================================
  2105.  
  2106.  
  2107.  
  2108.  
  2109. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2110.  
  2111. Date: Mon, 16 Mar 1998 12:11:38 +0000 (GMT)
  2112. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  2113. Subject: Re: 3D-ViRGE programming
  2114.  
  2115. On Sat, 14 Mar 1998, Jacques Gamboni wrote:
  2116.  
  2117. =>I want to write games using the 3D-ViRGE chip of the Cybervision64-3d.
  2118. =>Do someone know how to do it?
  2119. =>Is there a module available that do it?
  2120.  
  2121. All I know is that Steffen Haeuser is adding 3D functions to his RTGMaster
  2122. project, and if you were to use RTGMaster you would allow people with different
  2123. cards still to run your programs (hopefully).
  2124.  
  2125. kyz
  2126.  
  2127. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  2128. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  2129. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  2130. erinnern.
  2131.  
  2132. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2133.  
  2134. Date: Mon, 16 Mar 1998 16:35:08 +0100 (MET)
  2135. From: s879@brems.ii.uib.no (Jan Ove Aase)
  2136. Subject: libraries
  2137.  
  2138. How can I find out more about the standard libraries included
  2139. automatically when compiling. Like the graphics library. Show Module only
  2140. tells med the name of the available functions, and how many arguments they
  2141. take. Not what kind of argument (types).
  2142.  
  2143. Still just a beginner...
  2144. ____________________________________________________ _     _
  2145.                                                       \___/
  2146.  Jan Ove Aase, Fantoft Stud.by, E-921, 5036 Fantoft   (o o)__
  2147.                   s879@ii.uib.no                       \_/\_ \
  2148.                janove@GalaxyCorp.com                    ___/) \
  2149.           http://www.GalaxyCorp.com/janove             /    ( _\
  2150. ____________________________________________________   \   _// \\_/
  2151.  
  2152. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2153.  
  2154. Date: Mon, 16 Mar 1998 15:40:54 +0000 (GMT)
  2155. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  2156. Subject: Re: libraries
  2157.  
  2158. On Mon, 16 Mar 1998, Jan Ove Aase wrote:
  2159.  
  2160. =>How can I find out more about the standard libraries
  2161.  
  2162. One word: Autodocs.
  2163.  
  2164. kyz
  2165.  
  2166. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  2167. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  2168. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  2169. erinnern.
  2170.  
  2171. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2172.  
  2173. From: stv@minorisa.es ("Esteve Boix")
  2174. Date: Mon, 16 Mar 1998 16:51:20 +0000
  2175. Subject: Re: libraries
  2176.  
  2177. > How can I find out more about the standard libraries included
  2178. > automatically when compiling. Like the graphics library. Show Module
  2179. > only tells med the name of the available functions, and how many
  2180. > arguments they take. Not what kind of argument (types).
  2181.  
  2182. I'm not sure to understand you, but if you just want to know the 
  2183. version of the lib used by your program at runtime, you can open the 
  2184. lib with a version "0" and then check the version in the libbase 
  2185. object.
  2186.  
  2187. Esteve
  2188.  
  2189. - --
  2190. Esteve Boix - stv@minorisa.es
  2191. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2192.  
  2193. Date: Mon, 16 Mar 1998 17:46:37 +0100 (MET)
  2194. From: rade@coli.uni-sb.de (Ralph Debusmann)
  2195. Subject: Re: libraries
  2196.  
  2197. On Mon, 16 Mar 1998, Jan Ove Aase wrote:
  2198.  
  2199. > How can I find out more about the standard libraries included
  2200. > automatically when compiling. Like the graphics library. Show Module only
  2201. > tells med the name of the available functions, and how many arguments they
  2202. > take. Not what kind of argument (types).
  2203.  
  2204. You'd need the 'Includes & Autodocs' from (Commodore) Amiga Inc.  The
  2205. easiest and cheapest way to get them is to buy the Developer CD 1.1 from
  2206. Schatztruhe in Germany. You'd also need the 'RKRM' manuals (at least the
  2207. one titled 'Libraries'). They haven't been updated since OS 2.0 and I
  2208. don't know whether they are still available.
  2209.  
  2210. > Still just a beginner...
  2211.  
  2212. Poses no problem, it's even tougher to be an Amiga beginner since there
  2213. isn't an overwhelming bunch of literature about our computer in any
  2214. bookstore.
  2215.  
  2216. Anyway, I still think programming the Amiga is big fun, probably more than
  2217. programming any other system, especially in E. The only OS which could
  2218. be more fun to program on is BeOS (PPC and soon on Intel), but I haven't
  2219. yet got the opportunity to check this out. 
  2220.  
  2221. Ciao, Ralph
  2222.  
  2223. - --
  2224.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  2225.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  2226.      Homepage, http://www.coli.uni-sb.de/~rade
  2227.  
  2228.  
  2229. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2230.  
  2231. Date: Mon, 16 Mar 1998 19:46:16 +0100 (MET)
  2232. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  2233. Subject: Re: libraries
  2234.  
  2235. On Mon, 16 Mar 1998, Ralph Debusmann wrote:
  2236.  
  2237. - ->
  2238. - ->You'd need the 'Includes & Autodocs' from (Commodore) Amiga Inc.  The
  2239. - ->easiest and cheapest way to get them is to buy the Developer CD 1.1 from
  2240. - ->Schatztruhe in Germany. You'd also need the 'RKRM' manuals (at least the
  2241. - ->one titled 'Libraries'). They haven't been updated since OS 2.0 and I
  2242. - ->don't know whether they are still available.
  2243.  
  2244.  Try http://www.redrobe.demon.co.uk/amiga/ - autodocs in LZX archives.
  2245.  
  2246. - ------
  2247.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  2248.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  2249.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  2250.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  2251.  
  2252. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2253.  
  2254. Date: Tue, 17 Mar 1998 11:49:59 +0100 (MET)
  2255. From: rade@coli.uni-sb.de (Ralph Debusmann)
  2256. Subject: Re: libraries
  2257.  
  2258. > ->You'd need the 'Includes & Autodocs' from (Commodore) Amiga Inc.  The
  2259. > ->easiest and cheapest way to get them is to buy the Developer CD 1.1 from
  2260. > ->Schatztruhe in Germany. You'd also need the 'RKRM' manuals (at least the
  2261. > ->one titled 'Libraries'). They haven't been updated since OS 2.0 and I
  2262. > ->don't know whether they are still available.
  2263. >  Try http://www.redrobe.demon.co.uk/amiga/ - autodocs in LZX archives.
  2264.  
  2265. Wow, dark stuff :) Is this legal? Anyway, it's important that people know
  2266. what they're hacking. I recall that the AsmOne 1.30 distribution by TFA
  2267. also has the incs and autodocs within one of its archives...
  2268.  
  2269. Ciao, Ralph
  2270.  
  2271. - --
  2272.      Fachschaft CL, Geb. 17.3, Raum 6.03 (Keller), Tel.: 0681-302-4178
  2273.      HiWi im Projekt LISA, Geb. 17.3, Raum 1.11, Tel.: 0681-302-4496
  2274.      Homepage, http://www.coli.uni-sb.de/~rade
  2275.  
  2276.  
  2277. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2278.  
  2279. Date: Wed, 18 Mar 1998 08:57:05 +0100
  2280. From: Fabio.Rotondo@deagostini.it (Fabio Rotondo)
  2281. Subject: which CPU?
  2282.  
  2283. Hi List,
  2284.  
  2285.     I am encountering problems in determining the CPU (020/030/040...)
  2286. on user's machine.
  2287. I have found a useful field in execbase (AttFlags), but I cannot work
  2288. out how to find the right CPU...
  2289. Any idea?
  2290.  
  2291. Ciao,
  2292.  
  2293.     Fabio
  2294.  
  2295.  
  2296. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2297.  
  2298. Date: Wed, 18 Mar 1998 09:55:20 +0100
  2299. From: i2683@www2.uportu.pt (Mark Marques)
  2300. Subject: How to read a binary file ?
  2301.  
  2302. Sorry for such a simple question but how can I read a binary file in E ?
  2303. I am using the old EC3.2a  and saw that particular ver has some problems
  2304. with strings ... But I can't apply the patch .. :( ...
  2305. Another dumb question is this line:
  2306.  
  2307.         DEF r,y[5]:STRING,buffer
  2308.                 
  2309.                 StrCopy(y,buffer)
  2310.                 r:='$' + y
  2311.                 a:=Val(r)          correct ?
  2312. Being "buffer" a binaryfile read into memory ... 
  2313. The above lines are call the Guru each time they are executed, but only if
  2314. the file is a binary, it works good with ASCII and Text files
  2315. I have a 68030, could that be the problem ?
  2316.  
  2317. Mark ...
  2318.  
  2319.  
  2320.  
  2321. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2322.  
  2323. Date: Wed, 18 Mar 1998 08:39:22 +0000 (GMT)
  2324. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  2325. Subject: Re: which CPU?
  2326.  
  2327. On Wed, 18 Mar 1998, Fabio Rotondo wrote:
  2328.  
  2329. =>Hi List,
  2330. =>
  2331. =>    I am encountering problems in determining the CPU (020/030/040...)
  2332. =>on user's machine.
  2333. =>I have found a useful field in execbase (AttFlags), but I cannot work
  2334. =>out how to find the right CPU...
  2335. =>Any idea?
  2336.  
  2337. PROC cpu()
  2338.   DEF flags
  2339.   flags:=execbase.attnflags  -> if only execbase was typed
  2340.   IF flags AND AFF_68040 THEN RETURN 68040 -> 010,020,030,040 set
  2341.   IF flags AND AFF_68030 THEN RETURN 68030 -> 010,020,030 set
  2342.   IF flags AND AFF_68020 THEN RETURN 68020 -> 010,020 set
  2343.   IF flags AND AFF_68010 THEN RETURN 68010 -> 010 set
  2344. ENDPROC 68000 -> none set
  2345.  
  2346. or something like that
  2347.  
  2348. kyz
  2349.  
  2350. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  2351. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  2352. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  2353. erinnern.
  2354.  
  2355. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2356.  
  2357. From: merlin@thule.no (Eric Sauvageau)
  2358. Date: Wed, 18 Mar 1998 03:48:19 +0500
  2359. Subject: Re: which CPU?
  2360.  
  2361. On Wed, 18 Mar 1998, we received a letter from  about 'which CPU?':
  2362.  
  2363. >  Hi List,
  2364. >  
  2365. >      I am encountering problems in determining the CPU (020/030/040...)
  2366. >  on user's machine.
  2367. >  I have found a useful field in execbase (AttFlags), but I cannot work
  2368. >  out how to find the right CPU...
  2369. >  Any idea?
  2370.  
  2371. >From ysInspector's code:
  2372.  
  2373.  
  2374. EXPORT PROC getCPU()
  2375. DEF cpu, flags
  2376.  
  2377.    flags := exec.attnflags
  2378.  
  2379.    IF (flags AND $80)
  2380.       cpu := 68060
  2381.    ELSEIF (flags AND AFF_68040)
  2382.       cpu := 68040
  2383.    ELSEIF (flags AND AFF_68030)
  2384.       cpu := 68030
  2385.    ELSEIF (flags AND AFF_68020)
  2386.       cpu := 68020
  2387.    ELSEIF (flags AND AFF_68010)
  2388.       cpu := 68010
  2389.    ELSE
  2390.       cpu := 68000
  2391.    ENDIF
  2392. ENDPROC cpu
  2393.  
  2394.  
  2395.  
  2396. ... I wanna die in my sleep like Daddy, not screaming like his passengers!
  2397.  
  2398. - -- 
  2399.  
  2400. ===--- - - -
  2401.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  2402.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  2403.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  2404. - - - - ---===
  2405.  
  2406. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2407.  
  2408. From: merlin@thule.no (Eric Sauvageau)
  2409. Date: Wed, 18 Mar 1998 03:59:38 +0500
  2410. Subject: Re: How to read a binary file ?
  2411.  
  2412. On Wed, 18 Mar 1998, we received a letter from  about 'How to read a binary file
  2413. ?':
  2414.  
  2415. >  Another dumb question is this line:
  2416. >  
  2417. >          DEF r,y[5]:STRING,buffer
  2418. >                  
  2419. >                  StrCopy(y,buffer)
  2420. >                  r:='$' + y
  2421. >                  a:=Val(r)          correct ?
  2422. >  Being "buffer" a binaryfile read into memory ... 
  2423. >  The above lines are call the Guru each time they are executed, but only if
  2424. >  the file is a binary, it works good with ASCII and Text files
  2425. >  I have a 68030, could that be the problem ?
  2426.  
  2427. Reread the section on strings in the docs.
  2428.  
  2429. r:='$' + y
  2430.  
  2431. r will be equal to the address of the '$' element in your code.  You will add
  2432. to it the address of the y string, resulting in r being pointing to some random
  2433. area of memory.
  2434.  
  2435. If you want to manipulate strings, you MUST use the various string functions
  2436. (StrCopy(), StrAdd(), StringF() will let you solve about any situation)
  2437.  
  2438. If buffer is pointing to binary data, you will not be able to use string functions.
  2439.  You will have to do something like this:
  2440.  
  2441.  
  2442. - - allocate a newbuffer with bufferlen +2 as an ARRAY OF CHAR
  2443. - - set newbuffer[0] to '$'
  2444.  
  2445. - - Read the binary file and store it at newbuffer+1 (will skip the first byte
  2446. where you have '$' stored)
  2447.  OR
  2448. - - Use CopyMem() to copy your binary buffer at newbuffer+1
  2449. - - Set the last char in the newbuffer to NULL
  2450.  
  2451. BTW if you shove binary data in there, then don't expect Val() to work properly.
  2452.  It will need ASCII, with a NULL-terminator.  If you know for sure that you're
  2453. reading an ASCII string, then:
  2454.  
  2455.  
  2456. PROC blah(buffer:PTR TO CHAR)
  2457. DEF result[10]:STRING
  2458.  
  2459.    StringF(result,'$\s',buffer)
  2460. ENDPROC Val(result)
  2461.  
  2462.  
  2463.  
  2464.  
  2465. ... Miracle worker, Doctor!  I'm a dammit, not a jim...  no scratch that...
  2466.  
  2467. - -- 
  2468.  
  2469. ===--- - - -
  2470.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  2471.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  2472.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  2473. - - - - ---===
  2474.  
  2475. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2476.  
  2477. Date: Wed, 18 Mar 1998 09:01:06 +0000 (GMT)
  2478. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  2479. Subject: Re: How to read a binary file ?
  2480.  
  2481. On Wed, 18 Mar 1998, Mark Marques wrote:
  2482.  
  2483. =>Sorry for such a simple question but how can I read a binary file in E ?
  2484.  
  2485. Just use Read() like anyone else:
  2486.  
  2487. - -> make a 2000-byte buffer and read up to 2000 bytes of data from 'myfile'
  2488. - -> into this buffer.
  2489. MODULE 'exec/memory'
  2490.  
  2491. PROC main()
  2492.   DEF fh, buffer
  2493.   IF buffer:=AllocMem(2000, MEMF_PUBLIC)
  2494.     IF fh:=Open('myfile', OLDFILE)
  2495.       IF Read(fh, buffer, 2000)>=0
  2496.         bla(buffer)
  2497.       ENDIF
  2498.       Close(fh)
  2499.     ENDIF
  2500.     FreeMem(buffer, 2000)
  2501.   ENDIF
  2502. ENDPROC
  2503.  
  2504. PROC bla(poo:PTR TO CHAR) IS EMPTY -> or whatever
  2505.  
  2506. The way you ask suggests you somehow want binary data held in STRING
  2507. variables.
  2508.  
  2509. If you wanted to copy those 2000 bytes into a STRING variable, something like
  2510. this would work:
  2511.  
  2512. PROC bla(poo:PTR TO CHAR)
  2513.   DEF fish:PTR TO CHAR
  2514.   IF fish:=String(2000)
  2515.     CopyMem(poo, fish, StrMax(fish)) -> copy no more than string can hold
  2516.     SetStr(fish, 2000) -> force the length of string to exactly 2000 bytes,
  2517.                        -> regardless of any NIL bytes in the string
  2518.   ENDIF
  2519. ENDPROC
  2520.  
  2521. However, I do *not* recommend using the String functions of E to work on binary
  2522. datas, as it is usually much more readable to use FOR loops and such to work on
  2523. allocated buffers. A general rule is you should only use strings to represent
  2524. strings of text!
  2525.  
  2526. =>Another dumb question is this line:
  2527. =>
  2528. =>        DEF r,y[5]:STRING,buffer
  2529. =>                
  2530. =>                StrCopy(y,buffer)
  2531. =>                r:='$' + y
  2532.  
  2533. 'r' becomes a pointer to where the text of 'y' is stored, plus the address of
  2534. where a string containing '$' is stored, eg r := $393493E + $3700321, which
  2535. makes a totally invalid address miles from anywhere, containing random and
  2536. spurious data.
  2537.  
  2538. =>                a:=Val(r)          correct ?
  2539.  
  2540. We then ask E to read what is at r. Crashcrashcrash.
  2541.  
  2542. =>Being "buffer" a binaryfile read into memory ... 
  2543.  
  2544. I can't imagine why you'd want to use Val() on binary data, it is only meant
  2545. for converting _text_ representations of numbers into actual numbers.
  2546.  
  2547. Anyway, if you really do want ASCII considered as a hex value, then the 'right'
  2548. way would be:
  2549.  
  2550. - -> for example,  buffer:='DEADFACE'
  2551.  
  2552. DEF str[10]:STRING
  2553.   StringF(str, '$\s[8]', buffer); a:=Val(str)
  2554.  
  2555. However, it looks suspiciously like you want the value of 4 bytes of memory,
  2556. which is actually just
  2557.  
  2558.     a:=Long(buffer)
  2559.  
  2560. kyz
  2561.  
  2562. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  2563. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  2564. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  2565. erinnern.
  2566.  
  2567.  
  2568. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2569.  
  2570. From: dissident@mail.telepac.pt (Roberto)
  2571. Date: Tue, 17 Mar 1998 19:24:32 -0000
  2572. Subject: Re: libraries
  2573.  
  2574. On 17-Mar-98, Ralph Debusmann wrote:
  2575. >> ->You'd need the 'Includes & Autodocs' from (Commodore) Amiga Inc.  The
  2576. >> ->easiest and cheapest way to get them is to buy the Developer CD 1.1 from
  2577. >> ->Schatztruhe in Germany. You'd also need the 'RKRM' manuals (at least the
  2578. >> ->one titled 'Libraries'). They haven't been updated since OS 2.0 and I
  2579. >> ->don't know whether they are still available.
  2580. >> 
  2581. >>  Try http://www.redrobe.demon.co.uk/amiga/ - autodocs in LZX archives.
  2582.  
  2583. >Wow, dark stuff :) Is this legal? Anyway, it's important that people know
  2584. >what they're hacking. I recall that the AsmOne 1.30 distribution by TFA
  2585. >also has the incs and autodocs within one of its archives...
  2586.  
  2587.  Actually, the RKRM's are also at the Asmone's site..
  2588.  
  2589. - -- 
  2590.  rOBERTo ->dissident@mail.telepac.pt<- !wEb pAGe uNDEr cONSTRUCTIOn!
  2591.  
  2592. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2593.  
  2594. From: r.zimmerling@link-dd.cl.sub.de (Rene Zimmerling)
  2595. Subject: Re: which CPU?
  2596. Date: 19 Mar 1998 16:13:51 +0100
  2597.  
  2598.  merlin@thule.no (Eric Sauvageau) *schrieb* *am* 17.03.1998 *zu*
  2599.  Re: which CPU? *folgende* *Worte* :
  2600.  
  2601. > On Wed, 18 Mar 1998, we received a letter from  about 'which CPU?':
  2602. >=20
  2603. > >  Hi List,
  2604. > > =20
  2605. > >      I am encountering problems in determining the CPU (020/030/040..=
  2606. .)
  2607. > >  on user's machine.
  2608. > >  I have found a useful field in execbase (AttFlags), but I cannot wor=
  2609. k
  2610. > >  out how to find the right CPU...
  2611. > >  Any idea?
  2612. >=20
  2613. > >From ysInspector's code:
  2614. >=20
  2615. >=20
  2616. > EXPORT PROC getCPU()
  2617. > DEF cpu, flags
  2618. >=20
  2619. >    flags :=3D exec.attnflags
  2620. >=20
  2621. >    IF (flags AND $80)
  2622. >       cpu :=3D 68060
  2623. >    ELSEIF (flags AND AFF_68040)
  2624. >       cpu :=3D 68040
  2625. >    ELSEIF (flags AND AFF_68030)
  2626. >       cpu :=3D 68030
  2627. >    ELSEIF (flags AND AFF_68020)
  2628. >       cpu :=3D 68020
  2629. >    ELSEIF (flags AND AFF_68010)
  2630. >       cpu :=3D 68010
  2631. >    ELSE
  2632. >       cpu :=3D 68000
  2633. >    ENDIF
  2634. > ENDPROC cpu
  2635. >=20
  2636.  
  2637. And MMU Checking ??
  2638.  
  2639. - --                                                      ____________
  2640.                                                    __  / /
  2641.  Good Byte sagt Ren=E9 Zimmerling und MicroDot       \ \/ /   Amiga
  2642.  Member of Deutsche Amiga Software Schmiede         \_\/    Rulez =20
  2643.  
  2644. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2645.  
  2646. From: merlin@thule.no (Eric Sauvageau)
  2647. Date: Thu, 19 Mar 1998 16:12:53 +0500
  2648. Subject: Re[2]: which CPU?
  2649.  
  2650. On Thu, 19 Mar 1998, we received a letter from  about 'Re: which CPU?':
  2651.  
  2652. >  And MMU Checking ??
  2653.  
  2654. Impossible to do with any reliability.  The CPU itself has no register displaying
  2655. if it has a working MMU, and just trying to use it isn't a good test either,
  2656. as some EC030 chips have a half-working MMU, but got labeled as EC because the
  2657. MMU proved defective during the production test runs.
  2658.  
  2659.  
  2660.  
  2661. ... "You're gonna kill me?  HA!  Death: been there, done that!!!" - Sherridan.
  2662.  
  2663. - -- 
  2664.  
  2665. ===--- - - -
  2666.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  2667.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  2668.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  2669. - - - - ---===
  2670.  
  2671. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2672.  
  2673. From: turrican@starbase.inka.de (Grundler Mathias)
  2674. Date: Sat, 21 Mar 1998 18:51:13 +0100
  2675. Subject: Re: Easygui backdrop
  2676.  
  2677. Am 13-M=E4r-98 schrieb Riccardo Santato:
  2678.  
  2679. >Is there someone who can tell me how to put a bitmap in the backdrop of =
  2680. an
  2681. >easygui
  2682. >window as WBPattern does ?!?
  2683.  
  2684. Try NewGUI, there`s a Option with which you can fill the Windows Backdrop=
  2685.  
  2686. AND/OR Groups with Bitmaps or Patterns...
  2687.  
  2688. >I've put a bitmap on an Intuition Screen. I want to keep it refreshed us=
  2689. ing
  2690. >the SetMask() function, but I've no examples on how to do this. Can anyo=
  2691. ne
  2692. >help me ?!?
  2693.  
  2694. It is not good to draw to the screens bitmap directly, use a window (mayb=
  2695. e
  2696. a backdropwindow [borderless] instead!).
  2697.  
  2698. You could refresh it with BlitBitMapRastPort() or so!
  2699.  
  2700. BTW: NewGUI is available via AmiNet (dev/e)
  2701.  
  2702. Hope i could help!
  2703.  
  2704. - -- =
  2705.  
  2706.  ________                     ______
  2707. /__    __\ __________()_____ _\    / /\    turrican@starbase.inka.de
  2708.    \  //\/\\  _/\  _//\\ __//_\\   \/  \       THE DARK FRONTIER
  2709.     \//____\\/   \/ /__\\_//___\\/\_____\  Softwareentwicklung PD+Share
  2710.  
  2711. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2712.  
  2713. Date: 21 Mar 98 20:32:30 +0100
  2714. From: a.milella@teseo.it ("Amedeo Milella")
  2715. Subject: Brush2E
  2716.  
  2717. Hi all,
  2718.  
  2719. I need a program like BRUSH2E (the one I have doesn't work). May anyone help
  2720. me?
  2721.  
  2722. <tsb>
  2723.  
  2724.  Amedeo Milella - Amiga Group Italy (sez. Bari)
  2725.  AG Italia -> http://www.amyresource.it/AGI
  2726.  
  2727.  mailto:a.milella@teseo.it
  2728.  
  2729. <tsb>
  2730.  
  2731. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2732.  
  2733. From: merlin@thule.no (Eric Sauvageau)
  2734. Date: Sat, 21 Mar 1998 14:58:41 +0500
  2735. Subject: Re: Brush2E
  2736.  
  2737. On Sat, 21 Mar 1998, we received a letter from  about 'Brush2E':
  2738.  
  2739. >  Hi all,
  2740. >  
  2741. >  I need a program like BRUSH2E (the one I have doesn't work). May anyone help
  2742. >  me?
  2743.  
  2744. And what does this program do exactly?
  2745.  
  2746. If it takes an IFF brush and save it as E data, then have a look at ArtPro on
  2747. Aminet.  I use it to generate chunky data for penmap.image.
  2748.  
  2749.  
  2750.  
  2751. ... Damage control is easy. Reading Klingon -- that's hard. -- Scotty
  2752.  
  2753. - -- 
  2754.  
  2755. ===--- - - -
  2756.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  2757.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  2758.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  2759. - - - - ---===
  2760.  
  2761. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2762.  
  2763. From: oeolsson@tmisnet.com (Ola Olsson)
  2764. Subject: Screen Mode Requester
  2765. Date: Sat, 21 Mar 1998 20:06:33 (-0800)
  2766.  
  2767. Can anyone point me to an example of a screen mode requester that
  2768. shows all available screens, and returns the chosen screen ID and /or
  2769. other screen info to be used to open a screen. I've looked around but
  2770. can only find routines to clone existing screens or open screens from
  2771. scratch. Sorry if this is a dumb or obvious question.
  2772.  
  2773. Thanks,
  2774. Ola
  2775.  
  2776. - -- 
  2777. /**
  2778. /** Ola Olsson                
  2779. /** oeolsson@tmisnet.com      
  2780. /** http://www.tmisnet.com/~oeolsson/  
  2781. /** --naive programmer--      
  2782. /**
  2783.  
  2784. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2785.  
  2786. Date: Sun, 22 Mar 1998 12:36:14 +0100 (MET)
  2787. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  2788. Subject: I need sound.datatype examples.
  2789.  
  2790.  Hi !
  2791.  
  2792.   Now I'm writing sample player based on datatypes. For now I have GUI
  2793. based on EasyGUI and I can set end of sample, frequency and volume but I
  2794. don't know how to set start of sample other then 0.
  2795.   I checked my player with 8SVX, AIFF and Wave samples - it was ok. 
  2796. Protracker.datatype - I must work on it. But who knows how to play RAW
  2797. samples using datatypes ? (making 8svx headers and newdtobject() from RAM ??) 
  2798.  
  2799.  
  2800.  regards..
  2801.  
  2802. - ------
  2803.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  2804.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  2805.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  2806.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  2807.  
  2808. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2809.  
  2810. Date: 22 Mar 98 09:33:21 +0100
  2811. From: a.milella@teseo.it ("Amedeo Milella")
  2812. Subject: Re: Brush2E
  2813.  
  2814. In date 21-Mar-98 10:58:41 Eric Sauvageau has wrote to amigae-list about Re:
  2815. Brush2E
  2816.  ES> On Sat, 21 Mar 1998, we received a letter from  about 'Brush2E':
  2817.  
  2818. >>  Hi all,
  2819. >>
  2820. >>  I need a program like BRUSH2E (the one I have doesn't work). May anyon
  2821. >>  me?
  2822.  
  2823.  ES> And what does this program do exactly?
  2824.  
  2825.  ES> If it takes an IFF brush and save it as E data, then have a look at ArtPr
  2826.  ES> Aminet.  I use it to generate chunky data for penmap.image.
  2827.  
  2828. It's exactly what I need!! Tnx ;)
  2829.  
  2830.  
  2831. <tsb>
  2832.  
  2833.  Amedeo Milella - Amiga Group Italy (sez. Bari)
  2834.  AG Italia -> http://www.amyresource.it/AGI
  2835.  
  2836.  mailto:a.milella@teseo.it
  2837.  
  2838. <tsb>
  2839.  
  2840. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2841.  
  2842. Date: Sun, 22 Mar 1998 18:35:07 +0100
  2843. From: gamboni@fastnet.ch (Jacques Gamboni)
  2844. Subject: confusion of AFC's MODULE and MUI
  2845.  
  2846. Hello,
  2847. I want to write a program using MUI (so I use the 'libraries/mui'
  2848. MODULE)
  2849. and also want to read a tooltype in the same program, using the
  2850. 'afc/tool_type' MODULE.
  2851. The problem is that Mui has a macro, get(), that allows reading an
  2852. attribute of an object
  2853. and the method used by tool_type to get a tool type is also get().
  2854. So when I do a
  2855.  
  2856. ttype.get('FLAG')
  2857.  
  2858. the E compiler thinks I want to use the get() macro (from mui) and says
  2859. I've a syntax error
  2860. (one argument instead of the three needed by the get() macro)
  2861.  
  2862. What should I do to get that tool type? Should I try to do it myself,
  2863. without using AFC's
  2864. module?
  2865.  
  2866.  
  2867. Maxime
  2868.  
  2869. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2870.  
  2871. Date: 22 Mar 98 21:05:12 +0100
  2872. From: fsoft@intercom.it (Fabio Rotondo)
  2873. Subject: Re: confusion of AFC's MODULE and MUI
  2874.  
  2875. On 22-Mar-98 18:35:07 Jacques Gamboni said about confusion of AFC's MODULE and MUI:
  2876. >Hello,
  2877. >I want to write a program using MUI (so I use the 'libraries/mui'
  2878. >MODULE)
  2879. >and also want to read a tooltype in the same program, using the
  2880. >'afc/tool_type' MODULE.
  2881. >The problem is that Mui has a macro, get(), that allows reading an
  2882. >attribute of an object
  2883. >and the method used by tool_type to get a tool type is also get().
  2884. >So when I do a
  2885.  
  2886. >ttype.get('FLAG')
  2887.  
  2888. >the E compiler thinks I want to use the get() macro (from mui) and says
  2889. >I've a syntax error
  2890. >(one argument instead of the three needed by the get() macro)
  2891.  
  2892. >What should I do to get that tool type? Should I try to do it myself,
  2893. >without using AFC's
  2894. >module?
  2895.  
  2896.  
  2897. >Maxime
  2898.  
  2899.  
  2900.  
  2901. Ciao,
  2902.  
  2903.     Fabio
  2904.  
  2905. - --
  2906. - ---------------------------+---------------------------------------------
  2907.    //                      | Fabio Rotondo      e-mail: fsoft@intercom.it
  2908. \\X/ Amiga. Feel The Power.| URL: (Amiga!)  http://www.intercom.it/~fsoft
  2909. +---------------+-- PGP Key avaible on demand --------------------------+
  2910. |DOOPSI-GS V1.45| FinalDT V1.00 |Locator.library V1.10|FinalTyper V2.5  |
  2911. |MIDIFilter V1.3|SafeLocks V1.00| GTBoxConvPro V1.00  |MIDIBridge V1.00 |
  2912. | ReCatIt V2.50 | ARPrefs V1.70 | MouseFlasher V1.05  |WebFX V2.00      |
  2913. +---------------+---- PIOS and pOS Developer ---------------------------+
  2914. |  ** Amiga Web Ring **   : http://www.intercom.it/~fsoft/awr.html      |
  2915. |Amiga Blast (Web Mag.!!!): http://www.intercom.it/~fsoft/ablast.html   |
  2916. |Amiga Foundation Classes : http://www.intercom.it/~fsoft/afc.html      |
  2917. +------------------ Amiga Group Italia (Novara) ------------------------+
  2918.  
  2919. "Dumber than advertised!" - Yakko Warner
  2920.  
  2921. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2922.  
  2923. From: apejakov@online.no (Antun Pejakovic)
  2924. Date: Sun, 22 Mar 1998 16:52:33 +0100
  2925. Subject: MUI List
  2926.  
  2927. Hi!
  2928.  
  2929. My name is Antun and I am new to this mailing list. I used to program in
  2930. pascal and C,
  2931. but then I discovered E. The rest is history....
  2932.  
  2933. Anyway, I'm working on a MUI prog, and I have a problem I was hoping somebody
  2934. could help me with:
  2935.   Multi column lists and displayhooks.
  2936.  
  2937. I know the basics about how it all works.
  2938.  
  2939. ex.
  2940.  
  2941. DEF lv1, dispHook:hook
  2942. ...
  2943.  
  2944. installhook(dispHook, {dispFunc})
  2945. ...
  2946.  
  2947. Child, lv1:=ListviewObject,
  2948.    MUIA_Listview_List, ListObject,
  2949.       InputListFrame,      
  2950.       MUIA_List_DisplayHook, dispHook,
  2951.       MUIA_List_Format, 'COL=0 BAR, COL=2 BAR, COL=3',
  2952.    End,
  2953. End,
  2954. ...
  2955.  
  2956. But then there is the function itself. There is an example in MUIdocs, but is
  2957. in C.
  2958. I was hoping someone could help me translate it to E.
  2959. It goes somethig like this:
  2960.  
  2961. dispFunk(_a1 char **array,_a1 struct Article *at)
  2962. {
  2963.    *array++ = at->FromName;
  2964.    *array++ = at->FromPath;
  2965.    *array++ = at->ToName;
  2966.    *array++ = at->ToPath;
  2967.    *array++ = at->Date;
  2968.    *array   = at->Subject;
  2969. }
  2970.  
  2971. The big ??? is (char **array).
  2972.  
  2973. Any help is appreciated.
  2974.  
  2975. Antun
  2976.  
  2977.  
  2978.  
  2979. Antun-Pejakovic.---------------------
  2980. apejakov@online.no                  -
  2981. http://home.sol.no/~apejakov/       -
  2982.                                     -
  2983. Amiga-Hotlist.--------------------------------
  2984. http://home.sol.no/~apejakov/amigalink.html  -
  2985.                                              -
  2986. - ----------------------------------------------------->
  2987.  
  2988. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  2989.  
  2990. From: merlin@thule.no (Eric Sauvageau)
  2991. Date: Sun, 22 Mar 1998 15:16:52 +0500
  2992. Subject: Re: I need sound.datatype examples.
  2993.  
  2994. On Sun, 22 Mar 1998, we received a letter from  about 'I need sound.datatype
  2995. examples.':
  2996.  
  2997. >   Hi !
  2998. >  
  2999. >    Now I'm writing sample player based on datatypes. For now I have GUI
  3000. >  based on EasyGUI and I can set end of sample, frequency and volume but I
  3001. >  don't know how to set start of sample other then 0.
  3002. >    I checked my player with 8SVX, AIFF and Wave samples - it was ok. 
  3003. >  Protracker.datatype - I must work on it. But who knows how to play RAW
  3004. >  samples using datatypes ? (making 8svx headers and newdtobject() from RAM ??) 
  3005.  
  3006. RAW samples are just that: raw data samples.  Meaning there's no header, so no
  3007. way for you to recognize it via datatypes.  When the user selects the "raw" option
  3008. (or if you try to play it as RAW after being unable to recognize the format),
  3009. you will probably have to deal directly with audio.device.
  3010.  
  3011.  
  3012.  
  3013. ... BREAKFAST.COM Halted... Cereal port not responding.
  3014.  
  3015. - -- 
  3016.  
  3017. ===--- - - -
  3018.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  3019.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  3020.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  3021. - - - - ---===
  3022.  
  3023. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3024.  
  3025. Date: Mon, 23 Mar 1998 09:52:26 +0000 (GMT)
  3026. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  3027. Subject: Re: Screen Mode Requester
  3028.  
  3029. On Sat, 21 Mar 1998, Ola Olsson wrote:
  3030.  
  3031. =>Can anyone point me to an example of a screen mode requester that
  3032. =>shows all available screens, and returns the chosen screen ID and /or
  3033. =>other screen info to be used to open a screen. I've looked around but
  3034. =>can only find routines to clone existing screens or open screens from
  3035. =>scratch. Sorry if this is a dumb or obvious question.
  3036.  
  3037. E:Src/Gfx/TextureMapping/screenmodereq_db.e
  3038.  
  3039. Also showmodule EModules:libraries/asl and see the fields you can access of
  3040. the screenmoderequester object.
  3041.  
  3042. kyz
  3043.  
  3044. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  3045. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  3046. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  3047. erinnern.
  3048.  
  3049. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3050.  
  3051. Date: Mon, 23 Mar 1998 09:59:15 +0000 (GMT)
  3052. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  3053. Subject: <none>
  3054.  
  3055. Recently I noticed something that is used in the official documentation and
  3056. beginner's guide, but never actually explained:
  3057.  
  3058. When writing exception handlers:
  3059.  
  3060. EXCEPT
  3061.   means the exception handler is only run if you Raise()/Throw()
  3062.  
  3063. EXCEPT DO
  3064.   means the exception handler is also run with exception=0 at the end of the
  3065.   procedure it is defined in
  3066.  
  3067. Thus, silly things like:
  3068.  
  3069. PROC main()
  3070.  ...
  3071.  Raise()
  3072. EXCEPT
  3073.  ...
  3074. ENDPROC
  3075.  
  3076. can be replaced with EXCEPT DO instead of EXCEPT, and silly things like:
  3077.  
  3078. PROC main()
  3079.   ...
  3080. EXCEPT DO
  3081.   IF exception
  3082.    ...
  3083.   ENDIF
  3084. ENDPROC
  3085.  
  3086. can be replaced with EXCEPT instead of EXCEPT DO.
  3087.  
  3088. Hopefully this unconfuses some people. It certainly unconfused me.
  3089.  
  3090. kyz
  3091.  
  3092. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  3093. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  3094. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  3095. erinnern.
  3096.  
  3097. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3098.  
  3099. From: jj@it.kth.se (Janne Johansson)
  3100. Subject: Re: <none> 
  3101. Date: Mon, 23 Mar 1998 11:08:00 +0100
  3102.  
  3103. > Recently I noticed something that is used in the official documentation and
  3104. > beginner's guide, but never actually explained:
  3105.  
  3106. > Thus, silly things like:
  3107. > PROC main()
  3108. >  ...
  3109. >  Raise()
  3110. > EXCEPT
  3111. >  ...
  3112. > ENDPROC
  3113.  
  3114. Wouldn't it be
  3115.  
  3116. PROC main() HANDLE
  3117.  
  3118. just to be extremly correct? 
  3119.  
  3120. - -------------
  3121. "Every girl with sense, loves those dead
  3122.  presidents..." -Quireboys
  3123.  
  3124. Mail:  jj<at>it.kth.se
  3125. Phone: +46-8-7521444 (work)
  3126. Cell:  +46-70-740 1440
  3127. Http: //www.it.kth.se/~jj
  3128.  
  3129. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3130.  
  3131. Date: Mon, 23 Mar 1998 10:19:23 +0000 (GMT)
  3132. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  3133. Subject: Re: <none> 
  3134.  
  3135. On Mon, 23 Mar 1998, Janne Johansson wrote:
  3136.  
  3137. =>Wouldn't it be
  3138. =>
  3139. =>PROC main() HANDLE
  3140. =>
  3141. =>just to be extremly correct? 
  3142.  
  3143. That too, the compiler would agree with you on that :)
  3144.  
  3145. kyz
  3146.  
  3147. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  3148. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  3149. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  3150. erinnern.
  3151.  
  3152. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3153.  
  3154. Date: Mon, 23 Mar 1998 11:59:53 +0100
  3155. From: ss37@irz301.inf.tu-dresden.de (Sven Steiniger)
  3156. Subject: Re: MUI List
  3157.  
  3158. > But then there is the function itself. There is an example in MUIdocs, but is
  3159. > in C.
  3160. > I was hoping someone could help me translate it to E.
  3161. > It goes somethig like this:
  3162. > dispFunk(_a1 char **array,_a1 struct Article *at)
  3163. > {
  3164. >    *array++ = at->FromName;
  3165. >    *array++ = at->FromPath;
  3166. >    *array++ = at->ToName;
  3167. >    *array++ = at->ToPath;
  3168. >    *array++ = at->Date;
  3169. >    *array   = at->Subject;
  3170. > }
  3171. > The big ??? is (char **array).
  3172.  
  3173. That is an pointer to an array that contains pointer to
  3174. strings :-)
  3175.  
  3176.  PROC dispFunk(arr:PTR TO LONG,at:PTR TO article)
  3177.     arr[]++ := at.fromName
  3178.     arr[]++ := at.fromPath
  3179.     arr[]++ := at.toName
  3180.     arr[]++ := at.toPath
  3181.     arr[]++ := at.date
  3182.     arr[]   := at.subject
  3183.  ENDPROC
  3184.  
  3185. - --
  3186. Sven Steiniger
  3187. (ss37@inf.tu-dresden.de - http://www.inf.tu-dresden.de/~ss37)
  3188.  
  3189. And always remember: Heaven is not a place, it's a feeling.
  3190. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3191.  
  3192. Date: Mon, 23 Mar 1998 12:21:34 +0100 (MET)
  3193. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  3194. Subject: Re: I need sound.datatype examples.
  3195.  
  3196. On Sun, 22 Mar 1998, Eric Sauvageau wrote:
  3197.  
  3198. - ->>    Now I'm writing sample player based on datatypes. For now I have GUI
  3199. - ->>  Protracker.datatype - I must work on it. But who knows how to play RAW
  3200. - ->>  samples using datatypes ? (making 8svx headers and newdtobject() from RAM ??) 
  3201. - ->
  3202. - ->RAW samples are just that: raw data samples.  Meaning there's no header, so no
  3203. - ->way for you to recognize it via datatypes.  When the user selects the "raw" option
  3204. - ->(or if you try to play it as RAW after being unable to recognize the format),
  3205. - ->you will probably have to deal directly with audio.device.
  3206.  
  3207.   I asked for method to change RAW -> 8SVX by adding 8svx headers in
  3208. front of RAW data and then calling NewDTObject(take object form RAM
  3209. please). Do I think correct ?? It will works or no ? This is my question.
  3210.  
  3211. - ------
  3212.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  3213.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  3214.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  3215.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  3216.  
  3217. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3218.  
  3219. From: oeolsson@tmisnet.com (Ola Olsson)
  3220. Subject: Re: Screen Mode Requester
  3221. Date: Mon, 23 Mar 1998 06:30:03 (-0800)
  3222.  
  3223. On Mon, 23 Mar 1998 09:52:26 +0000 (GMT),
  3224. "Stuart Caie \(kyz\)" <sac@csd.abdn.ac.uk> wrote about Re: Screen Mode
  3225. Requester:
  3226. > On Sat, 21 Mar 1998, Ola Olsson wrote:
  3227. > =>Can anyone point me to an example of a screen mode requester that
  3228. > =>shows all available screens, and returns the chosen screen ID and /or
  3229. > =>other screen info to be used to open a screen. I've looked around but
  3230. > =>can only find routines to clone existing screens or open screens from
  3231. > =>scratch. Sorry if this is a dumb or obvious question.
  3232. > E:Src/Gfx/TextureMapping/screenmodereq_db.e
  3233. > Also showmodule EModules:libraries/asl and see the fields you can access of
  3234. > the screenmoderequester object.
  3235.  
  3236. Thank you, I'll will look for those.
  3237.  
  3238. - -- 
  3239. /**
  3240. /** Ola Olsson                
  3241. /** oeolsson@tmisnet.com      
  3242. /** http://www.tmisnet.com/~oeolsson/  
  3243. /** --naive programmer--      
  3244. /**
  3245.  
  3246. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3247.  
  3248. Date: 23 Mar 98 09:42:58 +0100
  3249. From: seasons@softhome.net (Lloyd Rosen)
  3250. Subject: AGF8
  3251.  
  3252.                           w h a t ' s   u p   i n
  3253.  
  3254.                                S E A S O N S
  3255.  
  3256.                                   issue 8
  3257.  
  3258.  
  3259.                             HAS BEEN RENAMED TO
  3260.  
  3261.                  A H E A D   G R O O V E   F A C T O R   8
  3262.  
  3263.                            23 Mar 1998 (09:37:32)
  3264.  
  3265.  
  3266.  
  3267. Yeah!    I've   improved   this   newsletter  to  a  totally  and  uttermost
  3268. brainclashing  experience  -  all  for  you!   Just  look  at  the slick and
  3269. exclusive  design!  Have another sniff!  Rub your eyes!  Suck it in till you
  3270. can't breathe!  Digest it!  Spit it out and stuff it in another way!  Enjoy!
  3271.  
  3272.  
  3273. Lister "Love is what separates us from the animals"
  3274. Rimmer "No, Lister -- what separates us from animals is that we don't
  3275.         use our tongues to clean our genitals."
  3276.                                         -- Red Dwarf `Confidence & Paranoia'
  3277.  
  3278.  
  3279.  
  3280. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3281.  
  3282.  
  3283.                 OFFICIAL & COMFIRMED MEMBERLIST AS OF TODAY
  3284.  
  3285.  
  3286. "But, I just want to say, over the years, I have come to regard you
  3287.  as... people I met."
  3288.                     - Rimmer, making his goodbyes in Red Dwarf `Holoship'
  3289.  
  3290. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3291.  
  3292.  
  3293.  
  3294.  
  3295.        -- In Chronological Order and Dolby Surround where available -
  3296.  
  3297.  
  3298.  
  3299. Lloyd Rosen ..........NO.. Code, Music, Design, Main Organizing
  3300.                            [seasons@softhome.net] IRC "LloydROSN"
  3301.                            Asm, AmigaE, 6510, Basics, HMTL, Javascript,
  3302.                            Floydmon, THX, DBPro
  3303.  
  3304. Pluksel ..............NL.. Music, Design, Ascii, Sysop'ing
  3305.                            [jazz@lobster.demon.nl] IRC "pluksel"
  3306.                            THX, PT, Inform6, CED, /X
  3307.  
  3308. Dr. Ice ..............NO.. Code, Sysop'ing, Co-Organizing A
  3309.                            [kaarej@barentsnett.no] IRC "dRICE^SEA"
  3310.                            AmigaE, HTML, ABBS
  3311.  
  3312. Thundercat ...........NO.. Sysop'ing, Trading
  3313.                            [mos@powertech.no] IRC "[-TC-]
  3314.                            /X
  3315.  
  3316. Tsar1 ................NO.. Graphics, Design, Ascii, Co-Organizing B
  3317.                            [stamdal@online.no] IRC "Tsar1"
  3318.                            ?
  3319.  
  3320. By7ex ................NO.. Trading, Co-Sysop'ing
  3321.                            [tom-rf@online.no] IRC "By7ex"
  3322.                            Co-sys at "ParaZite" in Norway
  3323.  
  3324. Soda .................NO.. Graphics, Main editing
  3325.                            [retro@softhome.net] IRC "Soda^itc"
  3326.                            Dpaint, maineditor "Retro" (Instinct)
  3327.  
  3328. Cache ................UK.. Code
  3329.                            [cachedtl@dial.pipex.com] IRC "Cache^DTL"
  3330.                            Asm-One (?)
  3331.  
  3332. Naig .................FI.. Code
  3333.                            [jajoki@utu.fi] IRC "naig"
  3334.                            SAS C, C++, Java
  3335.  
  3336. Anakin ...............NL.. Graphics, Music, Code
  3337.                            [mjk303@xs4all.nl] IRC "Anakin"
  3338.                            SAS C, Asm, THX, Dpaint
  3339.  
  3340. Bastian Frank ........DE.. Code
  3341.                            [bhf@opf.de] IRC "Bastian"
  3342.                            AmigaE, ...?
  3343.  
  3344.  
  3345.  
  3346. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3347.  
  3348.  
  3349.                         C O M M U N I C A T I O N S
  3350.  
  3351.  
  3352. Lister "Come on, what are you, a man or a munchkin?"
  3353. Rimmer "I'm off to see the wizard, the wonderful wizard of Oz."
  3354.                                            -- Red Dwarf `Parallel Universe'
  3355.  
  3356. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3357.  
  3358.                            Seasons Spamming List
  3359.                               handled by Naig
  3360.                                 ('Sealist')
  3361.                         [seasons@ecstacy.yok.utu.fi]
  3362.  
  3363.                                    - ÷ -
  3364.  
  3365.                           Seasons Spanking Channel
  3366.                       bot 'Cornell' handled by Anakin
  3367.                           (not yet permanently up)
  3368.                              [#seasons/IRCNet]
  3369.  
  3370.                                    - ÷ -
  3371.  
  3372.                            Seasons Official Site
  3373.                         handled by Lloyd and Pluksel
  3374.                                 (not yet up)
  3375.  
  3376.                                 [http:// ?]
  3377.  
  3378.                                    - ÷ -
  3379.  
  3380. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3381.  
  3382.  
  3383.                                   N E W S
  3384.  
  3385.  
  3386. Rimmer "You? How did you get into art college?"
  3387. Lister "The same way you always get into art college.  The same old
  3388.         usual boring normal way everyone gets into art college.  I
  3389.         failed my exams and applied... they snapped me up!"
  3390.                                        -- Red Dwarf `Thanks for the Memory'
  3391.  
  3392. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3393.  
  3394. _Bastian  Frank_  has joined from Germany.  This is a guy with visions about
  3395. how  the Amiga should be.  He's very much into OS programming - and buggered
  3396. me  somewhat  to  support gfxcards for ZF (which I ofcourse will now).  He's
  3397. studying computer science and is currently busy with different projects like
  3398. a  new  taskbar  (I  know it doesn't sound cool - but it will be :), his own
  3399. aguide replacement and .  .  .  well - didn't get the info file yet.
  3400.  
  3401. Bastesen  here suggested that when we start some kind of major project, plan
  3402. it a bit, write some lines of code and post the ideas to the Sealist so that
  3403. the other members are able to come with ideas before the project is done.
  3404.  
  3405. Well -- do that!
  3406.  
  3407. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3408.  
  3409.  
  3410.                         S T A T U S   R E P O R T S
  3411.  
  3412.  
  3413. "Isn't it about this time your head goes back to the lab for re-tuning?"
  3414.                             -- Rimmer to Kryten in Red Dwarf `The Last Day'
  3415.  
  3416. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3417.  
  3418. These reports are a quite new thing, but all developers should send in these
  3419. reports  regularly,  so we know who's doing what (avoid double projects) and
  3420. who's  free  to boldly go where no man has gone before.  Whenever you start,
  3421. finish,  cancel,  release a new project - send me a note.  If you're looking
  3422. for  something meaningful to do - send me a note.  If your head aches - send
  3423. me a note.  On second thought -- do me a favour and don't do the latter.  LR
  3424.  
  3425.  
  3426.  
  3427. Who -------------- What -------------------------------------- Prog. -- Rel.
  3428.  
  3429. Lloyd Rosen        MADCAP Game System/Room Creator              60%      no
  3430.                    Zee Files Pilot (demo) 4 Rooms  script/code  70%     May
  3431.                    Seasons Official Website                     10% :)  soon
  3432.                    Taskbar ideas                                 ?%      ??
  3433.                    Zenzer - puzzle game                          0% :)   ??
  3434.                    Stockmarket '98 Preliminary MUI design        0% :)   ??
  3435.  
  3436. Pluksel            ZF Pilot - script/music                       ?      ---
  3437.                    Zenzer - music                                ?       ??
  3438.                    Intro Thing - music                           ?       ??
  3439.              (how about your inform game, plukkfisk? :)
  3440.  
  3441. Dr. Ice            Shakeratio - Status/Ratio door (ABBS)         100%   20.3
  3442.                    THX-Ripper - THX Music System ripper 3.1      100%    out
  3443.                    TTVC - TeleText announcer prog (Norway only)  ?        ?
  3444.                    StripMe/ReqMe/FindCopy (ABBS doors)           ?        ?
  3445.                    Stockmarket '98 (4.0) main code               0%       ?
  3446.  
  3447.  
  3448.  
  3449.  
  3450. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3451.  
  3452.                    S E A S O N S @ S O F T H O M E . N E T
  3453.  
  3454.            Smoke me a kipper; skipper! I'll be back for breakfast!
  3455.  
  3456. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  3457.  
  3458. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3459.  
  3460. From: apejakov@online.no (Antun Pejakovic)
  3461. Date: Mon, 23 Mar 1998 19:24:45 +0100
  3462. Subject: Re: MUI List
  3463.  
  3464. On 23-Mar-98, Sven Steiniger wrote:
  3465. >> But then there is the function itself. There is an example in MUIdocs, but
  3466. >is
  3467. >> in C.
  3468. >> I was hoping someone could help me translate it to E.
  3469. >> It goes somethig like this:
  3470. >> 
  3471. >> dispFunk(_a1 char **array,_a1 struct Article *at)
  3472. >> {
  3473. >>    *array++ = at->FromName;
  3474. >>    *array++ = at->FromPath;
  3475. >>    *array++ = at->ToName;
  3476. >>    *array++ = at->ToPath;
  3477. >>    *array++ = at->Date;
  3478. >>    *array   = at->Subject;
  3479. >> }
  3480. >> 
  3481. >> The big ??? is (char **array).
  3482.  
  3483. >That is an pointer to an array that contains pointer to
  3484. >strings :-)
  3485.  
  3486. > PROC dispFunk(arr:PTR TO LONG,at:PTR TO article)
  3487. >    arr[]++ := at.fromName
  3488. >    arr[]++ := at.fromPath
  3489. >    arr[]++ := at.toName
  3490. >    arr[]++ := at.toPath
  3491. >    arr[]++ := at.date
  3492. >    arr[]   := at.subject
  3493. > ENDPROC
  3494.  
  3495. Thanks, now I understand.
  3496. I got my first diplayhook working today based on this ex.
  3497.  
  3498. YAHOO!!!
  3499.  
  3500.  
  3501. Antun
  3502.  
  3503.  
  3504. - -- 
  3505.  
  3506. Antun-Pejakovic.---------------------
  3507. apejakov@online.no                  -
  3508. http://home.sol.no/~apejakov/       -
  3509.                                     -
  3510. Amiga-Hotlist.--------------------------------
  3511. http://home.sol.no/~apejakov/amigalink.html  -
  3512.                                              -
  3513. - ----------------------------------------------------->
  3514.  
  3515. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3516.  
  3517. Date: Mon, 23 Mar 1998 18:33:41 +0000 (GMT)
  3518. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  3519. Subject: Re: MUI List
  3520.  
  3521. =>>> The big ??? is (char **array).
  3522.  
  3523. =>>That is an pointer to an array that contains pointer to
  3524. =>>strings :-)
  3525.  
  3526. I might add a tuppence and say that (char *bla[]) is always preferable to
  3527. (char **bla) - why would anyone ever use char ** anymore?
  3528.  
  3529. kyz
  3530.  
  3531. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  3532. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  3533. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  3534. erinnern.
  3535.  
  3536. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3537.  
  3538. From: merlin@thule.no (Eric Sauvageau)
  3539. Date: Mon, 23 Mar 1998 16:34:31 +0500
  3540. Subject: Re[2]: I need sound.datatype examples.
  3541.  
  3542. On Mon, 23 Mar 1998, we received a letter from  about 'Re: I need sound.datatype
  3543. examples.':
  3544.  
  3545. >  On Sun, 22 Mar 1998, Eric Sauvageau wrote:
  3546. >  
  3547. >  ->>    Now I'm writing sample player based on datatypes. For now I have GUI
  3548. >  ->>  Protracker.datatype - I must work on it. But who knows how to play RAW
  3549. >  ->>  samples using datatypes ? (making 8svx headers and newdtobject() from RAM ??) 
  3550. >  ->
  3551. >  ->RAW samples are just that: raw data samples.  Meaning there's no header, so no
  3552. >  ->way for you to recognize it via datatypes.  When the user selects the "raw" option
  3553. >  ->(or if you try to play it as RAW after being unable to recognize the format),
  3554. >  ->you will probably have to deal directly with audio.device.
  3555. >  
  3556. >    I asked for method to change RAW -> 8SVX by adding 8svx headers in
  3557. >  front of RAW data and then calling NewDTObject(take object form RAM
  3558. >  please). Do I think correct ?? It will works or no ? This is my question.
  3559.  
  3560. You have no idea what's the right frequency as one.  Also, RAW can be 8-bits
  3561. like it can also be 16-bits.  So RAW playback will have to be done by you, with
  3562. the user-supplied parameters (you'd probably default to something like 8-bits
  3563. 10 KHz when no parameter is defined).  Not mentioning that converting to 8SVX
  3564. would probably be slow and memory-consuming, depending how different 8SVX data
  3565. is from RAW data.
  3566.  
  3567.  
  3568.  
  3569.  
  3570.  
  3571. ... "Next time, I'LL park the ship" - Picard to Riker, next to saucer's wreck.
  3572.  
  3573. - -- 
  3574.  
  3575. ===--- - - -
  3576.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  3577.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  3578.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  3579. - - - - ---===
  3580.  
  3581. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3582.  
  3583. From: misha@friko2.onet.pl (Michal Durys)
  3584. Date: Mon, 23 Mar 1998 13:42:48 +0100
  3585. Subject: Re: I need sound.datatype examples.
  3586.  
  3587. On 23-Mar-98 Marcin Juszkiewicz \(Szczepan/BlaBla\) generated such
  3588. output:
  3589. >  I asked for method to change RAW -> 8SVX by adding 8svx headers in
  3590. > front of RAW data and then calling NewDTObject(take object form RAM
  3591. > please). Do I think correct ?? It will works or no ? This is my
  3592. question.
  3593.  
  3594. It is possible to convert RAW sample to 8SVX, but there's no sense in
  3595. doing this. But if I tried to do this I would make it as follows:
  3596. =B7 input frequency from user
  3597. =B7 open file and write it to RAM: as a IFF 8SVX using iffparse.library
  3598. =B7 play the 8SVX file =
  3599.  
  3600. =B7 cleanup
  3601. It should work, but I belive that it is a very lame way to achieve
  3602. your goal. =
  3603.  
  3604.  
  3605. - -- =
  3606.  
  3607.  +-Misha/El Condor Software-------------misha@friko2.onet.pl
  3608.  | A1200T / '040 / 34 MB RAM / 850 MB HDD / 4x CD / USR 33.6 =
  3609.  
  3610.  +--------------Life starts at '030, impotence starts at '86
  3611.  
  3612. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3613.  
  3614. Date: Wed, 25 Mar 1998 09:50:57 +0100
  3615. From: i2683@www2.uportu.pt (Mark Marques)
  3616. Subject: Still binary file problem...
  3617.  
  3618. Despite the fact that with the help of the previous Emails I solved my
  3619. initial problem I still have some difficulty regarding the same problem with
  3620. a binary file...
  3621. How can I avoid the use of the Char() function to get a letter one by one
  3622. and then make an Array of Char, to "simulate" a string ?
  3623. The other problem is regarding StringF(), It works once but at the second
  3624. call it does not write in the correct Estring ...
  3625. Example: StringF(a,'\c',buffer[11])
  3626.          WriteF('\c', a)  ---> in this case should appear an "D" in the
  3627. stdout, but what appears is an "0" ...
  3628.  Of course buffer is a Binary file...
  3629. if I do something like this : 
  3630.         WriteF('\c', buffer[11]) --> it gives the expected "D" as supposed to.
  3631.  
  3632.  
  3633. By using an HexEditor (DiskMon, FileX) applied to the file, I can see all
  3634. the text in the ASCII side ...
  3635. What I am doing wrong ? 
  3636. How can I convert Hex codes to ASCII ? 
  3637.  
  3638. Do I have to use CopyMem or something instead of StringF() ?
  3639.  
  3640.  
  3641. Mark Marques  
  3642.  
  3643. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3644.  
  3645. From: kolo8@ely.pg.gda.pl (Piotr Gapinski)
  3646. Date: Wed, 25 Mar 1998 12:12:40 +0100
  3647. Subject: Re: Still binary file problem...
  3648.  
  3649. Dnia 25-Mar-98, Mark Marques napisa=EE(a):
  3650. >How can I avoid the use of the Char() function to get a letter one by on=
  3651. e
  3652. >and then make an Array of Char, to "simulate" a string ?
  3653. >The other problem is regarding StringF(), It works once but at the secon=
  3654. d
  3655. >call it does not write in the correct Estring ...
  3656. >Example: StringF(a,'\c',buffer[11])
  3657. >         WriteF('\c', a)  ---> in this case should appear an "D" in the
  3658. >stdout, but what appears is an "0" ...
  3659. try
  3660.   StringF(a,'\c',buffer+11)
  3661.   WriteF('\c',a)
  3662.  
  3663.  Pozdrawiam,
  3664. - -----///-----------------------
  3665.  Piotr Gapinski
  3666.  mailto: kolo8@ely.pg.gda.pl
  3667.  
  3668. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3669.  
  3670. Date: Wed, 25 Mar 1998 12:30:30 +0100 (MET)
  3671. From: subvcbhd@calvados.zrz.TU-Berlin.DE (Henk Jonas)
  3672. Subject: Re: Still binary file problem...
  3673.  
  3674. On Wed, 25 Mar 1998, Piotr Gapinski wrote:
  3675.  
  3676. > Dnia 25-Mar-98, Mark Marques napisa=EE(a):
  3677. > >How can I avoid the use of the Char() function to get a letter one by on=
  3678. e
  3679. > >and then make an Array of Char, to "simulate" a string ?
  3680. > >The other problem is regarding StringF(), It works once but at the secon=
  3681. d
  3682. > >call it does not write in the correct Estring ...
  3683. > >Example: StringF(a,'\c',buffer[11])
  3684. > >         WriteF('\c', a)  ---> in this case should appear an "D" in the
  3685. > >stdout, but what appears is an "0" ...
  3686. This happens cause a is not a char, but a pointer to char (or Estring).
  3687.  
  3688. > try
  3689. >   StringF(a,'\c',buffer+11)
  3690.                    ^buffer+11 its a pointer to char, buffer[11] is the
  3691. char, and for \c you need a char
  3692.  
  3693. >   WriteF('\c',a)
  3694.              ^you need a char, but "a" is a pointer to char
  3695.  
  3696. try better:
  3697.  
  3698. a:=3DString(1)
  3699. StringF(a,'\c',buffer[11])
  3700. WriteF('\s',a)
  3701.  
  3702. or
  3703.  
  3704. WriteF('\c',buffer[11])
  3705.  
  3706. - ----------------------------------------------------------------
  3707. Henk Jonas            |          subvcbhd@linux.zrz.tu-berlin.de
  3708. Student der           |
  3709. Energietechnik        |       http://www.cs.tu-berlin.de/~jonash
  3710.  
  3711. > Ich lehne Atomenergie als Energiealternative ab! niX=B3 Castor <
  3712. - ----------------------------------------------------------------
  3713.   * AmigaMetaFileFormat * MetaView * Messlabor * Voxelflight *
  3714. - ----------------------------------------------------------------
  3715. Fuer die 'Mitleser': ANARCHIEBNDAKWPKKRAFRADIKALTNTKPDPDSREVOLUT
  3716.  
  3717. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3718.  
  3719. Date: Wed, 25 Mar 1998 12:59:39 +0100
  3720. From: ss37@irz301.inf.tu-dresden.de (Sven Steiniger)
  3721. Subject: Re: Still binary file problem...
  3722.  
  3723. > By using an HexEditor (DiskMon, FileX) applied to the file, I can see all
  3724. > the text in the ASCII side ...
  3725. > What I am doing wrong ?
  3726. > How can I convert Hex codes to ASCII ?
  3727. > Do I have to use CopyMem or something instead of StringF() ?
  3728.  
  3729. I am new on this list, so I haven't read your previous
  3730. mails.
  3731. I suppose you wanna read an file an display it as an text
  3732. or string, right?
  3733. Then try the following:
  3734.  
  3735.   RAISE "MEM" IF String()=NIL,
  3736.         "OPEN" IF Open()=NIL
  3737.  
  3738.   /* Makes an estring from an file.
  3739.   ** Returns the estring or NIL on error.
  3740.   */
  3741.   PROC file2string(name:PTR TO CHAR) HANDLE
  3742.   DEF fh=NIL, stri=NIL, len
  3743.  
  3744.     len:=FileLength(name)
  3745.     IF len<=0 THEN Raise("read")                    -> Does file exists
  3746. ?
  3747.     stri:=String(len+1)                             -> Allocate new
  3748. string
  3749.     fh:=Open(name, MODE_OLDFILE)                    -> Open file
  3750.     IF Read(fh, stri, len)<>len THEN Raise("read")  -> read file into
  3751. string
  3752.     stri[len+1]:='\0'                               -> add zero byte
  3753.     SetStr(stri, len)                               -> set the new
  3754. string length
  3755.  
  3756.   EXCEPT DO
  3757.     Close(fh)
  3758.     IF exception
  3759.       -> error, clean up
  3760.       DisposeLink(stri)
  3761.       stri:=NIL
  3762.     ENDIF
  3763.   ENDPROC stri
  3764.  
  3765.  
  3766. - --
  3767. Sven Steiniger
  3768. (ss37@inf.tu-dresden.de - http://www.inf.tu-dresden.de/~ss37)
  3769.  
  3770. And always remember: Heaven is not a place, it's a feeling.
  3771. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3772.  
  3773. From: kolo8@ely.pg.gda.pl (Piotr Gapinski)
  3774. Date: Wed, 25 Mar 1998 13:16:08 +0100
  3775. Subject: Re: Still binary file problem...
  3776.  
  3777. Dnia 25-Mar-98, Henk Jonas napisa=EE(a):
  3778. >On Wed, 25 Mar 1998, Piotr Gapinski wrote:
  3779.  
  3780. >> Dnia 25-Mar-98, Mark Marques napisa=EE(a):
  3781. >> try
  3782. >>   StringF(a,'\c',buffer+11)
  3783. >                   ^buffer+11 its a pointer to char, buffer[11] is the
  3784. >char, and for \c you need a char
  3785. yes, u right
  3786.  
  3787. >>   WriteF('\c',a)
  3788. >             ^you need a char, but "a" is a pointer to char
  3789.  
  3790. look at this:
  3791. PROC main()
  3792.   DEF a[10]:STRING, buffer:PTR TO CHAR
  3793.  
  3794.   buffer:=3D'testptrtochar'
  3795.   StringF(a,'\c',buffer[4])
  3796.   ->- WriteF('a =3D \c\n',a)    this does't work!!!!
  3797.   WriteF('a =3D \c\n',a[])        this work fine (for me)
  3798. ENDPROC
  3799.  
  3800.  Pozdrawiam,
  3801. - -----///-----------------------
  3802.  Piotr Gapinski
  3803.  mailto: kolo8@ely.pg.gda.pl
  3804.  
  3805. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3806.  
  3807. From: a9660319@wlv.ac.uk
  3808. Subject: Nil terminated lists... (more pointer stuff...)
  3809. Date: Wed, 25 Mar 1998 12:33:51 -0500 (EST)
  3810.  
  3811. Hi there list!
  3812.  
  3813. Me again. This time, it`s NIL terminated lists, and OO.
  3814.  
  3815.  
  3816. Okay, this is what I`m doing:
  3817.  
  3818. OBJECT vector
  3819.   x:INT
  3820.   y:INT
  3821.   z:INT
  3822. ENDOBJECT
  3823.  
  3824. OBJECT face
  3825.   vectorlist[4]:ARRAY OF vector
  3826.   fdirec:LONG
  3827. /* This is where I think I`m going wrong, as vectorlist[] is an array 
  3828. of PTRS, but fdirec holds a value, should I put fdirec up in the vector 
  3829. object, but I`d like it down in facelist, as it makes more sense there! 
  3830. */
  3831. ENDOBJECT
  3832.  
  3833. OBJECT facelist
  3834.   next:PTR TO facelist
  3835.   face:PTR TO face
  3836. ENDOBJECT
  3837.  
  3838. OBJECT structure
  3839.   head:PTR TO facelist
  3840.   curr:PTR TO facelist
  3841. ENDOBJECT
  3842.  
  3843. DEF b[10]:ARRAY OF structure
  3844.  
  3845. PROC main()
  3846.   NEW b
  3847.   loadstruc(1)
  3848. ENDPROC
  3849.  
  3850. PROC insert(cbuild, face:PTR TO face, fdirec, ptype=3, pri=0, colour=1) OF structure
  3851. /* insert sticks an entry onto the list. */
  3852.   DEF temp:PTR TO facelist, n
  3853.  
  3854.   temp:=NewR(SIZEOF facelist)
  3855.   temp.face:=NewR(SIZEOF face)
  3856.  
  3857. /* Are these NewR()`s Okay? will they give me the right amount of 
  3858. memorey? */ 
  3859.  
  3860.   temp.face.fdirec:=fdirec
  3861.  
  3862.   FOR n:=0 TO 3 -> Copy into array.
  3863.     temp.face.vectorlist[n].x:=face.vectorlist[n].x
  3864.     temp.face.vectorlist[n].y:=face.vectorlist[n].y
  3865.     temp.face.vectorlist[n].z:=face.vectorlist[n].z
  3866.   ENDFOR
  3867.  
  3868.   IF self[cbuild].head<>NIL
  3869.     temp.next:=self[cbuild].head
  3870.   ELSE
  3871.     temp.next:=NIL
  3872.   ENDIF
  3873.  
  3874.   self[cbuild].head:=temp
  3875. ENDPROC
  3876.  
  3877. PROC loadstruc(cbuild)
  3878.   DEF face:face
  3879.  
  3880.   b.init(cbuild)
  3881.  
  3882.   face.vectorlist[0].x:=10
  3883.   face.vectorlist[0].y:=20
  3884.   face.vectorlist[0].z:=30
  3885.  
  3886.   b.insert(cbuild, face, 2)
  3887.  
  3888.   face.vectorlist[0].x:=-110
  3889.   face.vectorlist[0].y:=-120
  3890.   face.vectorlist[0].z:=-130
  3891.  
  3892.   b.insert(cbuild, face,3)
  3893.  
  3894.   face.vectorlist[0].x:=210
  3895.   face.vectorlist[0].y:=220
  3896.   face.vectorlist[0].z:=230
  3897.  
  3898.   b.insert(cbuild, face,4)
  3899. ENDPROC
  3900.  
  3901. PROC init(cbuild) OF structure
  3902.   self[cbuild].head:=NIL
  3903.   self[cbuild].curr:=NIL
  3904. ENDPROC
  3905.  
  3906. Sorry to just dump this lot on you, but I`ve already simplified it a 
  3907. lot, and the book I was using dosn`t cover this bit (it`s in C++)
  3908. But for some reason this code causes errors, it dosn`t cause an 
  3909. enforcer hit, but it is doing GBH to the memorey, as when I run the 
  3910. same routine, but with a more intensive loadstruc() as soon as I move a 
  3911. window the machine crashes, etc...
  3912.  
  3913. So, what am I doing wrong? This problem has been driving me nuts for 
  3914. several weeks now!
  3915.  
  3916. Again, sorry for making this so long.....
  3917.  
  3918. Andrew Hutchins :)
  3919.  
  3920. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3921.  
  3922. Date: Wed, 25 Mar 1998 13:49:35 +0100
  3923. From: Fabio.Rotondo@deagostini.it (Fabio Rotondo)
  3924. Subject: Re: Nil terminated lists... (more pointer stuff...)
  3925.  
  3926. a9660319@wlv.ac.uk wrote:
  3927.  
  3928. > DEF b[10]:ARRAY OF structure
  3929. >
  3930. > PROC main()
  3931. >   NEW b
  3932.  
  3933. This is wrong!!! You should not init with NEW an array... instead:
  3934.  
  3935.     DEF bb:PTR TO structure
  3936.  
  3937.     NEW bb.structure()    -> is there any constructor for this class??
  3938.  
  3939.     b[0]:=bb                    -> this is ok
  3940.  
  3941. Look, your code seems to need some OOP shakering :-)
  3942.  
  3943. > PROC insert(cbuild, face:PTR TO face, fdirec, ptype=3, pri=0, colour=1) OF structure
  3944. > /* insert sticks an entry onto the list. */
  3945. >   DEF temp:PTR TO facelist, n
  3946. >
  3947. >   temp:=NewR(SIZEOF facelist)
  3948. >   temp.face:=NewR(SIZEOF face)
  3949. >
  3950. > /* Are these NewR()`s Okay? will they give me the right amount of
  3951. > memorey? */
  3952.  
  3953. Yes, but it's better this:
  3954.  
  3955.     NEW temp
  3956.     NEW temp.face
  3957.  
  3958.  
  3959. > So, what am I doing wrong? This problem has been driving me nuts for
  3960. > several weeks now!
  3961.  
  3962. There are some problems in memory allocation, as far as I can see,
  3963. more: you should not declare an "array" of structure, a list is better.
  3964. Try the NodeMaster from the AFC distribuition.
  3965.  
  3966. Ciao,
  3967.  
  3968.     Fabio
  3969.  
  3970. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  3971.  
  3972. From: a9660319@wlv.ac.uk
  3973. Subject: re: Re: Nil terminated lists... (more pointer stuff...)
  3974. Date: Wed, 25 Mar 1998 13:43:25 -0500 (EST)
  3975.  
  3976. Fabio Rotondo wrote:
  3977. > a9660319@wlv.ac.uk wrote:
  3978. > > DEF b[10]:ARRAY OF structure
  3979. > >
  3980. > > PROC main()
  3981. > >   NEW b
  3982. > This is wrong!!! You should not init with NEW an array... instead:
  3983.  
  3984. Oops! I knoew it was going to be something stupid like this :)
  3985.  
  3986. >     DEF bb:PTR TO structure
  3987. >     NEW bb.structure()    -> is there any constructor for this class
  3988.  
  3989. Um.. No, it`s not a class per se, it`s just convenient to use the class 
  3990. system for now, and when I`m ready to move it over into a proper full 
  3991. blown class, it`s already half way there. And besides, these routines 
  3992. are not for public consumption :)
  3993.  
  3994. >     b[0]:=bb                    -> this is ok
  3995.  
  3996. Ah! I get it now! b[0] will now be a PTR TO structure, and I can access 
  3997. as before...
  3998.  
  3999. > Look, your code seems to need some OOP shakering :-)
  4000.  
  4001. Umm. Whats that? :)
  4002.  
  4003. > >   temp:=NewR(SIZEOF facelist)
  4004. > >   temp.face:=NewR(SIZEOF face)
  4005. > >
  4006. > > /* Are these NewR()`s Okay? will they give me the right amount of
  4007. > > memorey? */
  4008. > Yes, but it's better this:
  4009. >     NEW temp
  4010. >     NEW temp.face
  4011.  
  4012. Yea, but I`ve been using NewR() so that I learn exactly what it`s 
  4013. doing, NewR() has only one function, wheras NEW can have a few. Is it 
  4014. okay to continue using NewR() for mem allocation ala above? If it is, 
  4015. then I`ll use NewR() as it keeps the code clear at exactly what I`m 
  4016. doing (speed isn`t an issue in these routines).
  4017.  
  4018. > > So, what am I doing wrong? This problem has been driving me nuts for
  4019. > > several weeks now!
  4020. > There are some problems in memory allocation, as far as I can see,
  4021. > more: you should not declare an "array" of structure, a list is better.
  4022.  
  4023. So, the b[0] thing above, although it works is still probably a bad 
  4024. idea, right? I was just thinking that. Dosn`t DEF b[MAX]:ARRAY OF 
  4025. structure grab a bunch of memorey. So it dosn`t make sense to then use 
  4026. it as a bunch of Pointers. 
  4027.  
  4028. A list might be better, but I want quick, unambiguous access to a 
  4029. certain structure, 
  4030.  
  4031. eg/ b[1] contains the data for a house, and b[2] contains the 3d data 
  4032. for a fence. Then, a master array, when it wants a house just says, go 
  4033. and get b[1] when you want the house data. 
  4034.  
  4035. I suppose I could do this with pointers though... (sorry, I`m thinking 
  4036. aloud.)  
  4037.  
  4038. > Try the NodeMaster from the AFC distribuition.
  4039.  
  4040. I`m impressed by the AFC, but I need to be able to do this for myself...
  4041. Sorry to be so stubborn :)
  4042.  
  4043. > Ciao,
  4044. >     Fabio
  4045.  
  4046. Thanks a lot, you`ve helped already!
  4047.  
  4048. Andrew :)
  4049.  
  4050.  
  4051. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4052.  
  4053. Date: Wed, 25 Mar 1998 14:44:41 +0100 (MET)
  4054. From: subvcbhd@calvados.zrz.TU-Berlin.DE (Henk Jonas)
  4055. Subject: Re: Still binary file problem...
  4056.  
  4057. On Wed, 25 Mar 1998, Piotr Gapinski wrote:
  4058.  
  4059. > look at this:
  4060. > PROC main()
  4061. >   DEF a[10]:STRING, buffer:PTR TO CHAR
  4062. >=20
  4063. >   buffer:=3D'testptrtochar'
  4064. >   StringF(a,'\c',buffer[4])
  4065. >   ->- WriteF('a =3D \c\n',a)    this does't work!!!!
  4066. again, a is only the pointer and \c want the char self
  4067.  
  4068. >   WriteF('a =3D \c\n',a[])        this work fine (for me)
  4069. [] reference at the first item (char, cause it is a string) of the pointer
  4070.  
  4071. > ENDPROC
  4072.  
  4073. - ----------------------------------------------------------------
  4074. Henk Jonas            |          subvcbhd@linux.zrz.tu-berlin.de
  4075. Student der           |
  4076. Energietechnik        |       http://www.cs.tu-berlin.de/~jonash
  4077.  
  4078. > Ich lehne Atomenergie als Energiealternative ab! niX=B3 Castor <
  4079. - ----------------------------------------------------------------
  4080.   * AmigaMetaFileFormat * MetaView * Messlabor * Voxelflight *
  4081. - ----------------------------------------------------------------
  4082. Fuer die 'Mitleser': ANARCHIEBNDAKWPKKRAFRADIKALTNTKPDPDSREVOLUT
  4083.  
  4084. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4085.  
  4086. From: GIMBO@pulse-service.co.uk (Dexter's Music Lab)
  4087. Date: Wed, 25 Mar 1998 17:05:22 +0000
  4088. Subject: Dynamic String problem
  4089.  
  4090. /*This whole mail from here down should be compilable...
  4091.   
  4092.   Okay, here's a fun one. I've got two dynamically allocated estrings,
  4093.   which I'm being naughty and storing binary data in. I'm assigning
  4094.   into them as if they're arrays, and calling SetStr() to set the
  4095.   length, as advised in the Beginner's Guide.
  4096.  
  4097.   It all looks OK until I try to add the contents of 'header' into
  4098.   (the currently empty) 'message'... StrAdd() seems to only copy 2
  4099.   elements, rather than 5.
  4100.  
  4101.   So come on, what am I doing wrong? :-) The code should compile and
  4102.   run as is.
  4103.  
  4104.   Thanks!
  4105.  
  4106.   By the way, I'm using strings instead of arrays because strings keep
  4107.   track of their own length (in my app I need to pass references to
  4108.   these babies around quite a lot, so I'm trying to tidy things up a bit).
  4109.  
  4110.   Any and all advice appreciated... :-)
  4111.  
  4112.   Andy
  4113. */
  4114.  
  4115. PROC main() HANDLE
  4116.   DEF message : PTR TO CHAR
  4117.   DEF header  : PTR TO CHAR
  4118.  
  4119.   message := String(100)             -> allocate memory for 'message'
  4120.   IF (message = NIL) THEN Raise(1)   -> and check it
  4121.   StrCopy(message , '')              -> not necessary to initialise?
  4122.                      -> only did it out of desperation! :-)
  4123.   header := String(5)
  4124.   IF (header = NIL) THEN Raise(1)
  4125.  
  4126.   StrCopy(header , '')          -> again, just a desperate attempt to
  4127.                 -> initialise things nicely
  4128.  
  4129.   WriteF('Header length before: \d\n' , EstrLen(header))     -> it's 0
  4130.  
  4131.   -> Want to build header one element at a time, so treat it as an array
  4132.   -> This data relates to MIDI, but it could be anything, right?
  4133.   header[0] := $F0
  4134.   header[1] := $41
  4135.   header[2] := $00
  4136.   header[3] := $46
  4137.   header[4] := $12
  4138.  
  4139.   -> Now need SetStr() to set length properly, as advised in Beginner's
  4140.   SetStr(header , 5)
  4141.   WriteF('Header length after: \d\n' , EstrLen(header))      -> it's 5
  4142.  
  4143.   -> At this point things look good in edbg
  4144.  
  4145.   WriteF('create_header() returns length: \d\n' , EstrLen(header))   -> 5
  4146.   WriteF('message before is length:       \d\n' , EstrLen(message))  -> 0
  4147.  
  4148.   StrAdd(message , header , ALL)
  4149.   -> Only first two elements are copied across, as seen in edbg
  4150.  
  4151.   WriteF('message after is length:        \d\n' , EstrLen(message))  -> 2!!!
  4152.  
  4153.   -> WHY IS IT 2??? WHY DOESN'T IT COPY ALL 5 ELEMENTS OF HEADER???
  4154.  
  4155. EXCEPT DO
  4156.   IF (message) THEN DisposeLink(message)
  4157.   IF (header)  THEN DisposeLink(header)
  4158. ENDPROC
  4159. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4160.  
  4161. Date: Thu, 26 Mar 1998 10:00:58 +0100
  4162. From: Fabio.Rotondo@deagostini.it (Fabio Rotondo)
  4163. Subject: Re: Dynamic String problem
  4164.  
  4165. Dexter's Music Lab wrote:
  4166.  
  4167. Andy,
  4168.  
  4169.     you little guy has made a silly mistake...
  4170.  
  4171. >   -> Want to build header one element at a time, so treat it as an array
  4172. >   -> This data relates to MIDI, but it could be anything, right?
  4173. >   header[0] := $F0
  4174. >   header[1] := $41
  4175. >   header[2] := $00
  4176.  
  4177. Look: third char is 0!!!
  4178.  
  4179. >   StrAdd(message , header , ALL)
  4180. >   -> Only first two elements are copied across, as seen in edbg
  4181. >
  4182. >   WriteF('message after is length:        \d\n' , EstrLen(message))  -> 2!!!
  4183.  
  4184. Try replacing StrAdd with a cutom routine of your own which does not stop on a
  4185. "0" char,
  4186. but after all the EstrLen()
  4187.  
  4188. Ciao,
  4189.  
  4190.     Fabio
  4191.  
  4192. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4193.  
  4194. From: GIMBO@pulse-service.co.uk (Dexter's Music Lab)
  4195. Date: Thu, 26 Mar 1998 09:18:19 +0000
  4196. Subject: Re: Dynamic String problem
  4197.  
  4198. > Andy,
  4199. >     you little guy has made a silly mistake...
  4200. > >   -> Want to build header one element at a time, so treat it as an array
  4201. > >   -> This data relates to MIDI, but it could be anything, right?
  4202. > >   header[0] := $F0
  4203. > >   header[1] := $41
  4204. > >   header[2] := $00
  4205. > Look: third char is 0!!!
  4206.  
  4207. D'OH!
  4208.  
  4209. *Slaps forehead in amazement*
  4210.  
  4211. Thanks Fabio! From now on, the E community may address me as "Drongo, 
  4212. King of All Stupid Mistakes".
  4213.  
  4214. Well, not really.
  4215.  
  4216. > >   StrAdd(message , header , ALL)
  4217. > >   -> Only first two elements are copied across, as seen in edbg
  4218. > >
  4219. > >   WriteF('message after is length:        \d\n' , EstrLen(message))  -> 2!!!
  4220. > Try replacing StrAdd with a cutom routine of your own which does
  4221. > not stop on a "0" char, but after all the EstrLen()
  4222.  
  4223. Yep, I'll give that a go. Thanks!
  4224.  
  4225. Andy
  4226. - --
  4227. Nigel:
  4228.            Really they're quite fearful - that's my theory.  
  4229.            They see us on stage with tight trousers we've got, you 
  4230.            know, armadillos in our trousers, I mean it's really quite 
  4231.            frightening... 
  4232.  
  4233.                                                 -This is Spinal Tap
  4234.  
  4235. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4236.  
  4237. Date: Thu, 26 Mar 1998 10:37:30 +0100
  4238. From: Fabio.Rotondo@deagostini.it (Fabio Rotondo)
  4239. Subject: Re: Dynamic String problem
  4240.  
  4241. Dexter's Music Lab wrote:
  4242.  
  4243. > *Slaps forehead in amazement*
  4244.  
  4245. :-))
  4246.  
  4247. > Thanks Fabio! From now on, the E community may address me as "Drongo,
  4248. > King of All Stupid Mistakes".
  4249.  
  4250. Oh, well, if you are the kind, I should be consider "the Emperor".. ;)
  4251.  
  4252. > Yep, I'll give that a go. Thanks!
  4253.  
  4254. Sorry, but now I don't have the time for writing it for you...What kind of MIDI
  4255. program are you writing?
  4256. I would like to write a MIDI Sequencer, ala CuBase
  4257. and, for sure, I would be able to cover almost all parts of
  4258. the project, but I need someone who can help me
  4259. in handling those damn MIDI messages both in input and output....
  4260. are you that guy?
  4261.  
  4262. (If so, please, send me a private e-mail and not use this m/l)
  4263.  
  4264.  
  4265. Ciao,
  4266.  
  4267.     Fabio, the Emperor ;-)
  4268.  
  4269. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4270.  
  4271. From: stv@minorisa.es ("Esteve Boix")
  4272. Date: Thu, 26 Mar 1998 12:02:01 +0000
  4273. Subject: Re: Dynamic String problem
  4274.  
  4275. >   -> Want to build header one element at a time, so treat it as an
  4276. >   array -> This data relates to MIDI, but it could be anything,
  4277. >   right? header[0] := $F0 header[1] := $41 header[2] := $00
  4278. >   header[3] := $46 header[4] := $12
  4279. >   StrAdd(message , header , ALL)
  4280. >   -> Only first two elements are copied across, as seen in edbg
  4281.  
  4282. header[2]=0 !!!!
  4283.  
  4284. StrAdd will only consider strings until it finds a NIL char. You'll 
  4285. have to memcopy(). Better not use Strings, but vars allocated with 
  4286. NEW. 
  4287.  
  4288. Esteve
  4289. - --
  4290. Esteve Boix - stv@minorisa.es
  4291. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4292.  
  4293. From: GIMBO@pulse-service.co.uk (Dexter's Music Lab)
  4294. Date: Thu, 26 Mar 1998 13:55:13 +0000
  4295. Subject: Re: Dynamic String problem
  4296.  
  4297. > header[2]=0 !!!!
  4298. > StrAdd will only consider strings until it finds a NIL char. You'll 
  4299. > have to memcopy(). Better not use Strings, but vars allocated with 
  4300. > NEW. 
  4301.  
  4302. I'm using strings because I need to pass these streams of MIDI data 
  4303. (which is all CHARs, essentially) between various methods, and I need 
  4304. a way to keep track of their length. I saw three options:
  4305.  
  4306. 1. Pass arrays of chars and their lengths, as seperate parameters.
  4307. 2. Use strings, since they are essentially arrays of CHARs and keep
  4308.     track of their own size.
  4309. 3. Create a midi_data class with an array of CHAR and a size pointer,
  4310.     these can be dynamically allocated and I write my own methods for
  4311.     combining them/whatever. Just pass pointer to midi_data then. :-)
  4312.  
  4313. (1) looked yucky, (3) looked like overkill, (2) looked just right, at 
  4314. the time.
  4315.  
  4316. Having said that, if I need to write my own function in place of 
  4317. StrAdd(), maybe I might as well skip straight to (3)... This method 
  4318. will be more extensible in the future if I need to extend my 
  4319. functionality, I suppose.
  4320.  
  4321. Hmmm, things to think about...
  4322.  
  4323. Thanks!
  4324.  
  4325. Andy
  4326. - --
  4327. David:     It's such a fine line between stupid an'... 
  4328. Derek:     ...and clever. 
  4329. David:     Yeah, and clever. 
  4330.  
  4331.                                                 -This is Spinal Tap
  4332.  
  4333. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4334.  
  4335. From: stv@minorisa.es ("Esteve Boix")
  4336. Date: Thu, 26 Mar 1998 18:26:40 +0000
  4337. Subject: Re: Dynamic String problem
  4338.  
  4339. > From:          GIMBO@pulse-service.co.uk (Dexter's Music Lab)
  4340. > Organization:  Pulse Service Centre
  4341. > To:            amigae-list@intercom.it
  4342. > Date:          Thu, 26 Mar 1998 13:55:13 +0000
  4343. > Subject:       Re: Dynamic String problem
  4344. > Reply-to:      amigae-list@intercom.it
  4345.  
  4346. > > header[2]=0 !!!!
  4347. > > 
  4348. > > StrAdd will only consider strings until it finds a NIL char. You'll 
  4349. > > have to memcopy(). Better not use Strings, but vars allocated with 
  4350. > > NEW. 
  4351. > I'm using strings because I need to pass these streams of MIDI data
  4352. > (which is all CHARs, essentially) between various methods, and I
  4353. > need a way to keep track of their length. I saw three options:
  4354. > 1. Pass arrays of chars and their lengths, as seperate parameters.
  4355. > 2. Use strings, since they are essentially arrays of CHARs and keep
  4356. >     track of their own size.
  4357. > 3. Create a midi_data class with an array of CHAR and a size
  4358. > pointer,
  4359. >     these can be dynamically allocated and I write my own methods
  4360. >     for combining them/whatever. Just pass pointer to midi_data
  4361. >     then. :-)
  4362. > (1) looked yucky, (3) looked like overkill, (2) looked just right,
  4363. > at the time.
  4364. > Having said that, if I need to write my own function in place of
  4365. > StrAdd(), maybe I might as well skip straight to (3)... This method
  4366. > will be more extensible in the future if I need to extend my
  4367. > functionality, I suppose.
  4368. > Hmmm, things to think about...
  4369. > Thanks!
  4370. > Andy
  4371. > --
  4372. > David:     It's such a fine line between stupid an'... 
  4373. > Derek:     ...and clever. 
  4374. > David:     Yeah, and clever. 
  4375. >                                                 -This is Spinal Tap
  4376. - --
  4377. Esteve Boix - stv@minorisa.es
  4378. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4379.  
  4380. From: stv@minorisa.es ("Esteve Boix")
  4381. Date: Thu, 26 Mar 1998 18:26:40 +0000
  4382. Subject: Re: Dynamic String problem
  4383.  
  4384. > I'm using strings because I need to pass these streams of MIDI data
  4385. > (which is all CHARs, essentially) between various methods, and I
  4386. > need a way to keep track of their length. I saw three options:
  4387. > 3. Create a midi_data class with an array of CHAR and a size
  4388. > pointer,
  4389. >     these can be dynamically allocated and I write my own methods
  4390. >     for combining them/whatever. Just pass pointer to midi_data
  4391. >     then. :-)
  4392.  
  4393. For sure, creating a midi class is the best solution :) Using OOP 
  4394. will make future expansion far easy (IMO).
  4395.  
  4396. Esteve
  4397. - --
  4398. Esteve Boix - stv@minorisa.es
  4399. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4400.  
  4401. Date: Fri, 27 Mar 1998 11:04:53 +0100 (MET)
  4402. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  4403. Subject: amigaguide.library/OpenAmigaGuideAsyncA()
  4404.  
  4405.  Hi !
  4406.  
  4407.   I need any examples how to use function like in subject. I need it for
  4408. my MultiView (now is ver. 3.5) to async showing files via datatypes.
  4409.  
  4410. - ------
  4411.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  4412.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  4413.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  4414.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  4415.  
  4416. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4417.  
  4418. From: mofjelds@online.no (Morten Fjeldstad)
  4419. Date: Thu, 26 Mar 1998 21:27:00 +0200
  4420. Subject: Newbe question
  4421.  
  4422. Hello,
  4423.  
  4424. Any way to program TCP/IP applications in AmigaE?
  4425.  
  4426. Kind regards
  4427.  
  4428. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4429.  
  4430. Date: Sat, 28 Mar 1998 13:17:05 +0100
  4431. From: gamboni@fastnet.ch (Jacques Gamboni)
  4432. Subject: debugging
  4433.  
  4434. What tools are available to find a bug in an E prog?
  4435. I can put some WriteF() statements in some places my program to display
  4436. the current state of a variable.
  4437. I can use EDBG to see at which place my program crashes/executes a wrong
  4438. instruction and so on.
  4439. I can use Enforcer to know if my program uses uninitialised pointers or
  4440. goes out of the bounds of an array.
  4441. What else?
  4442. In fact I have a program that has no Enforcer hit but that crashes the
  4443. computer when it quits (with EDBG,
  4444. just when the last ENDPROC is stepped). So none of these above method
  4445. can help me to debug my program..
  4446.  
  4447.                                                         Maxime
  4448.  
  4449. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4450.  
  4451. Date: 28 Mar 98 14:07:06 +0100
  4452. From: kaarej@alpha.barentsnett.no ("Kaare Johansen")
  4453. Subject: Audio allocation
  4454.  
  4455. Anyone knows how to code a audio de/allocation src in E?.. I can't get
  4456. my routine to work.. This means that no sounds will interrupt with
  4457. my program, so.. No Displaybeeps will be heard while playing e.g
  4458. modules, anyone that could help me.. Or look at this small code:
  4459.  
  4460. MODULE    'dos/dos',
  4461.     'exec/io',
  4462.     'exec/memory',
  4463.     'exec/ports',
  4464.     'devices/audio'
  4465.  
  4466. DEF aureq1:PTR TO ioaudio,
  4467.     aureq2:ioaudio,
  4468.     reply1,reply2,
  4469.     ior:PTR TO io,
  4470.     dev,
  4471.     ioa:PTR TO ioaudio,
  4472.     mnode:PTR TO mn
  4473.  
  4474. PROC main()
  4475. IF reply1:=CreateMsgPort()
  4476.     IF reply2:=CreateMsgPort()
  4477.         IF aureq1:=CreateIORequest(reply1, SIZEOF ioaudio)
  4478.             /* want to allocate and use any channel with OpenDev() */
  4479.             aureq1.data:=[1,2,4,8]:CHAR
  4480.             aureq1.length:=4;
  4481.             ior:=aureq1
  4482.             ior.command:=ADCMD_ALLOCATE
  4483.             IF (dev=OpenDevice('audio.device', 0, aureq1, 0))
  4484.                 REPEAT
  4485.                 -> For testing audio alloc only 
  4486.                 UNTIL CtrlC()=TRUE
  4487.                 CloseDevice(dev)
  4488.             ENDIF
  4489.             DeleteIORequest(aureq1)
  4490.         ENDIF
  4491.     ENDIF
  4492. DeleteMsgPort(reply2)
  4493. ENDIF
  4494. DeleteMsgPort(reply1)
  4495. ENDPROC
  4496.  
  4497.  
  4498. --------------------------------------------------------------------------
  4499.                                                              _
  4500.    /\   Kaare Johansen - Dr. Ice/sEASONS - SysOp At TKS   _ // AMIGA  /\
  4501.   /  \      USR Courier 28800 V34/V34+X2 -  +47-7847-1042 \X/        /  \
  4502.   \  /    A4000/030/25MHz/10MB/730MB PC Pentium133/32EDO/1.2GHD      \  /
  4503.    \/ mailto: kaarej@barentsnett.no HTTP://www.barentsnett.no/~kaarej \/
  4504.  
  4505. ---------------------------  Software used <sb> ---------------------------
  4506.  
  4507.       Running ABBS v2.x sn: 161 - Coded by JEO, ABBS Support BBS
  4508.       Thor v2.5a sn: 1202 - Coded by Ultima Thule Software
  4509.  
  4510. If you've seen one city slum, you've seen them all. - Spiro Agnew
  4511.  
  4512. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4513.  
  4514. From: gary@empire.u-net.com (Gary Colville)
  4515. Date: 28 Mar 1998 00:59:56 0000 
  4516. Subject: Newbe question
  4517.  
  4518. Morten Fjeldstad <mofjelds@online.no> wrote to amigae-list@intercom.it about Newbe question:
  4519.  
  4520. > Hello,
  4521.  
  4522. > Any way to program TCP/IP applications in AmigaE?
  4523.  
  4524. Yes, Amiga E is great for TCP/IP stuff. I've written a complete
  4525. E-Mail/News client in E (eval copies available from my web site).
  4526.  
  4527. You'll need the AmiTCP E modules from Aminet plus a good book on TCP/IP :)
  4528.  
  4529. - --  _ 
  4530.  _ //    Gary Colville        AmigaOS Software Developer           
  4531.  \X/ gary@empire.u-net.com    http://www.empire.u-net.com 
  4532. - -- 
  4533. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4534.  
  4535. From: dissident@mail.telepac.pt (Roberto)
  4536. Date: Fri, 27 Mar 1998 20:18:02 -0000
  4537. Subject: Frequency rate
  4538.  
  4539.  I was wondering if you guys could help me. I need to find the frequency rate
  4540. (15 khz, 50hz, etc) of a screen mode using OS functions/structures. Do you
  4541. know how to find that info?
  4542.  
  4543.  
  4544. - -- 
  4545.  rOBERTo ->dissident@mail.telepac.pt<- !wEb pAGe uNDEr cONSTRUCTIOn!
  4546.  
  4547. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4548.  
  4549. Date: Sat, 28 Mar 1998 18:01:17 +0000 (GMT)
  4550. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  4551. Subject: Re: Frequency rate
  4552.  
  4553. On Fri, 27 Mar 1998, Roberto wrote:
  4554.  
  4555. => I was wondering if you guys could help me. I need to find the frequency rate
  4556. =>(15 khz, 50hz, etc) of a screen mode using OS functions/structures. Do you
  4557. =>know how to find that info?
  4558.  
  4559. With the displaymode examining functions in graphics.library?
  4560.  
  4561. kyz
  4562.  
  4563. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4564.  
  4565. Date: Sat, 28 Mar 1998 18:03:18 +0000 (GMT)
  4566. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  4567. Subject: Re: Audio allocation
  4568.  
  4569. On 28 Mar 1998, Kaare Johansen wrote:
  4570.  
  4571. =>Anyone knows how to code a audio de/allocation src in E?
  4572.  
  4573. Set your allocation priority to 127. See the aminet:dev/asm/CadOS_13.lha
  4574. for an example (in asm). If you are hitting audio registers directly, then send
  4575. a cmd_reset to the audio.device before deallocating/closing
  4576.  
  4577. kyz
  4578.  
  4579. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  4580. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  4581. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  4582. erinnern.
  4583.  
  4584. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4585.  
  4586. Date: Sat, 28 Mar 1998 18:05:28 +0000 (GMT)
  4587. From: sac@csd.abdn.ac.uk ("Stuart Caie (kyz)")
  4588. Subject: Re: debugging
  4589.  
  4590. On Sat, 28 Mar 1998, Jacques Gamboni wrote:
  4591.  
  4592. =>In fact I have a program that has no Enforcer hit but that crashes the
  4593. =>computer when it quits (with EDBG,
  4594. =>just when the last ENDPROC is stepped). So none of these above method
  4595. =>can help me to debug my program..
  4596.  
  4597. You could be overwriting your own stack (which the E startup code will choke
  4598. on). Enforcer can't tell you that. You could have left handler/hook code still
  4599. installed, the memory will free on exit and the system calls it as the handler,
  4600. .....
  4601.  
  4602. My favourite 4 tools are:
  4603.  
  4604. MUNGWALL (detects array overruns, mistakes of ^NIL vs NIL, etc)
  4605. PATCHWORK (detects bad calls to system functions)
  4606. SAFERPATCHES (makes it easier to detect problems when patching the system)
  4607. IO_TORTURE (no comment)
  4608.  
  4609. kyz
  4610.  
  4611. Ich werde umgehauen; Doch ich stehe wieder auf; Ihr werdet mich nicht
  4612. unterkriegen. Er trinkt einen Whisky; Er trinkt einen Wodka; Er trinkt ein
  4613. Lager; Er trinkt ein Cider. Er singt die Lieder, die ihn; An die guten Zeiten
  4614. erinnern.
  4615.  
  4616.  
  4617. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4618.  
  4619. From: merlin@thule.no (Eric Sauvageau)
  4620. Date: Sat, 28 Mar 1998 14:20:40 +0500
  4621. Subject: Re: debugging
  4622.  
  4623. On Sat, 28 Mar 1998, we received a letter from  about 'debugging':
  4624.  
  4625. >  What tools are available to find a bug in an E prog?
  4626. >  I can put some WriteF() statements in some places my program to display
  4627. >  the current state of a variable.
  4628. >  I can use EDBG to see at which place my program crashes/executes a wrong
  4629. >  instruction and so on.
  4630. >  I can use Enforcer to know if my program uses uninitialised pointers or
  4631. >  goes out of the bounds of an array.
  4632. >  What else?
  4633.  
  4634. EFindHit to pinpoint the place in the source code that generated the Enforcer
  4635. hit.
  4636.  
  4637. PoolWatch to track down any poolmem problems if you use pool mem (which you should
  4638. with any half-complex program these days)
  4639.  
  4640. >  In fact I have a program that has no Enforcer hit but that crashes the
  4641. >  computer when it quits (with EDBG,
  4642. >  just when the last ENDPROC is stepped). So none of these above method
  4643. >  can help me to debug my program..
  4644.  
  4645. What guru number?  If you get anything else than 80000003/4, then it's very likely
  4646. to tell you if it's about memory being freed twice and such.
  4647.  
  4648. Mungwall also helps tracking down memory management problems.
  4649.  
  4650.  
  4651.  
  4652. ... ...NO CARRIER...but I've got 2 destroyers and a frigate.
  4653.  
  4654. - -- 
  4655.  
  4656. ===--- - - -
  4657.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  4658.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  4659.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  4660. - - - - ---===
  4661.  
  4662. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4663.  
  4664. Date: 29 Mar 98 01:31:27 +0200
  4665. From: savel@kaunas.omnitel.net (Levas)
  4666. Subject: How to program PCMCIA hardware by E
  4667.  
  4668. Hi,
  4669.  
  4670. I want to hook some hardware to A1200 PCMCIA socket. The only language quick
  4671. enough for my hardware is E. Maybe some one know how to talk with PCMCIA port?
  4672. (Example in Aminet is not good because it uses feature that MEM card is mapped
  4673. to Amiga RAM)
  4674.  
  4675. Bye, Levas
  4676. - --
  4677. <tsb>Amiga? Amiga... Amiga!
  4678. - -- e-mail:savel@kaunas.omnitel.net - http://www1.omnitel.net/savel --
  4679.  
  4680. Nobody can be just like me. Even I have trouble.
  4681.  
  4682. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4683.  
  4684. Date: Sun, 29 Mar 1998 11:28:32 +0200
  4685. From: gamboni@fastnet.ch (Jacques Gamboni)
  4686. Subject: bitmap refreshing
  4687.  
  4688. Hi #?,
  4689.  
  4690. I still have problems with mui bitmaps/images:
  4691. (I already sent a mail 'attribute refreshing with MUI', dated of 1st
  4692. March)
  4693. I managed to use BitmapObjects, using the 'super_picture' AFC class to
  4694. create the bitmap
  4695. (BTW: I had to make an array 'manually' to give MUI the correct array,
  4696. because MUI needs
  4697. three LONG values fo each colour, e.g. $FFFFFFFF,$FFFFFFFF,$FFFFFFFF for
  4698. white.
  4699. How could I convert the output of .palette() into this format? The
  4700. problem with the way I do
  4701. it is that I must have the same palette for each image and stick to it).
  4702.  
  4703. So I create a BitmapObject with
  4704.  
  4705. /*...*/ MUIA_Bitmap_Bitmap,bmp,  /*...*/
  4706.  
  4707. (I got bmp using the .bitmap() method of super_picture)
  4708. Here it works perfectly, the colours are right, the bitmap is correctly
  4709. displayed.
  4710. Later I have to change the image in it, but I do not manage to do it: I
  4711. tried
  4712.  
  4713. set(gad,MUIA_Bitmap_Bitmap,newbmp) /*gad being the BitmapObject*/
  4714. Mui_Redraw(gad) /*redraw the gadget*/
  4715.  
  4716. but nothing happens. If I try to manually resize the window, the bitmap
  4717. is still like it was before
  4718. the two above lines. When the window is closed and opened again (e.g.
  4719. iconification or modification
  4720. of the preferences), the bitmaps displays correctly.
  4721. (Should I close and open the window from the program every time the
  4722. image change? :-(
  4723.  
  4724.  
  4725. Maxime
  4726.  
  4727. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4728.  
  4729. Date: 28 Mar 98 19:35:33 +0200
  4730. From: Bubu@kueste.leine.de (Friedhelm Bunk)
  4731. Subject: UNSUBSCRIBE
  4732.  
  4733. UNSUBSCRIBE bubu@kueste.leine.de
  4734. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4735.  
  4736. From: stv@minorisa.es ("Esteve Boix")
  4737. Date: Mon, 30 Mar 1998 09:28:07 +0000
  4738. Subject: Re: debugging
  4739.  
  4740. > PoolWatch to track down any poolmem problems if you use pool mem
  4741. > (which you should with any half-complex program these days)
  4742.  
  4743. Hey ! I didn't know about poolwatch :)
  4744.  
  4745. I absolutely agree about the fact that modern programs should use 
  4746. mempools.
  4747.  
  4748. Esteve
  4749. - --
  4750. Esteve Boix - stv@minorisa.es
  4751. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4752.  
  4753. Date: Mon, 30 Mar 1998 11:04:52 +0200 (MET DST)
  4754. From: s879@brems.ii.uib.no (Jan Ove Aase)
  4755. Subject: Binary problem...
  4756.  
  4757. How do you check and set/clear singel bits in a variable?
  4758.  
  4759. ____________________________________________________ _     _
  4760.                                                       \___/
  4761.  Jan Ove Aase, Fantoft Stud.by, E-921, 5036 Fantoft   (o o)__
  4762.                   s879@ii.uib.no                       \_/\_ \
  4763.                janove@GalaxyCorp.com                    ___/) \
  4764.           http://www.GalaxyCorp.com/janove             /    ( _\
  4765. ____________________________________________________   \   _// \\_/
  4766.  
  4767. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4768.  
  4769. From: GIMBO@pulse-service.co.uk (Dexter's Music Lab)
  4770. Date: Mon, 30 Mar 1998 09:31:42 +0000
  4771. Subject: Re: debugging
  4772.  
  4773. > > PoolWatch to track down any poolmem problems if you use pool mem
  4774. > > (which you should with any half-complex program these days)
  4775. > Hey ! I didn't know about poolwatch :)
  4776. > I absolutely agree about the fact that modern programs should use 
  4777. > mempools.
  4778.  
  4779. Could someone please explain this interesting sounding concept?
  4780.  
  4781. Thanks!
  4782.  
  4783. Andy
  4784. - --
  4785. Marty:
  4786.            The review you had on 'Shark Sandwich'...which was merely 
  4787.            a two word review - just said "shit sandwich." Umm.... 
  4788.  
  4789.                                                 -This is Spinal Tap
  4790.  
  4791. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4792.  
  4793. From: frosetti@hotmail.com ("Fabio Rosetti")
  4794. Subject: Re: Newbe question
  4795. Date: Mon, 30 Mar 1998 02:14:47 PST
  4796.  
  4797. >
  4798. >> Hello,
  4799. >
  4800. >> Any way to program TCP/IP applications in AmigaE?
  4801. >
  4802. >Yes, Amiga E is great for TCP/IP stuff. I've written a complete
  4803. >E-Mail/News client in E (eval copies available from my web site).
  4804. >
  4805. >You'll need the AmiTCP E modules from Aminet plus a good book on TCP/IP 
  4806. :)
  4807. >
  4808.  
  4809. Do you know where we can get example sources in E(C is so messy).
  4810. Maybe you got a few :-)
  4811.  
  4812. Dennis
  4813.  
  4814.  
  4815.  
  4816. ______________________________________________________
  4817. Get Your Private, Free Email at http://www.hotmail.com
  4818. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4819.  
  4820. From: stv@minorisa.es ("Esteve Boix")
  4821. Date: Mon, 30 Mar 1998 12:27:45 +0000
  4822. Subject: Re: debugging
  4823.  
  4824. > Could someone please explain this interesting sounding concept?
  4825.  
  4826. The idea is simple. A pool of memory is an amount of memory that you 
  4827. allocate, then, using some OS (or no-OS) functions, you allocate the 
  4828. memory you need from this proviously allocated pool of memory. The 
  4829. size of the pool will shrink or expand as necessary.
  4830.  
  4831. For example, you have a program that will allocate tons of strings. 
  4832. You could allocate a pool of say, 50k, and then allocate the memory 
  4833. needed for the strings from this pool.
  4834.  
  4835. Using pools speed up memory allocation (a lot, and specially if you 
  4836. plan to do a lot of small allocations like creating a E-linked list 
  4837. of estrings) and reduces fragmentation a lot, too.
  4838. Another nice side effect is that deleting the pool frees all the 
  4839. allocated memory, w/o having to free it yourself (something E already 
  4840. does itself :).
  4841.  
  4842. AmigaOS v39+ have built-in  pool allocation functions, but there are 
  4843. some solutions for pre39 systems. There is a module in aminet that 
  4844. allows to allocate EStrings from a pool, and work with it 
  4845. transparently.
  4846.  
  4847. Esteve
  4848. - --
  4849. Esteve Boix - stv@minorisa.es
  4850. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4851.  
  4852. Date: Mon, 30 Mar 1998 10:01:42 +0100 (BST)
  4853. From: jason@fsel.com (Jason Hulance)
  4854. Subject: Re: <none>
  4855.  
  4856. "Stuart Caie \(kyz\)" <sac@csd.abdn.ac.uk> wrote:
  4857.  
  4858. > Recently I noticed something that is used in the official documentation and
  4859. > beginner's guide, but never actually explained:
  4860. > When writing exception handlers:
  4861. > EXCEPT
  4862. >   means the exception handler is only run if you Raise()/Throw()
  4863. > EXCEPT DO
  4864. >   means the exception handler is also run with exception=0 at the end of the
  4865. >   procedure it is defined in
  4866.  
  4867. Strangely enough, "EXCEPT DO" is explained in the Exceptions chapter of
  4868. the Beginner's Guide.  You can find it by using the E Index and clicking
  4869. on the "EXCEPT DO" link...
  4870.  
  4871. Cheers!
  4872.  
  4873. - -- 
  4874. The conundrum for today is "antaleldb".
  4875. Your numbers are 100, 4, 2, 3, 5 and 9.  The target value is 813.
  4876. ======================================================================
  4877. Jason R. Hulance                           Email: jason@fsel.com
  4878. Formal Systems (Europe) Ltd                  Tel: [+44] (0)1865 728460
  4879. Keble Court, 26 Temple St, Oxford OX4 1JS    Fax: [+44] (0)1865 201114
  4880. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4881.  
  4882. Date: Mon, 30 Mar 1998 09:58:07 +0100 (BST)
  4883. From: jason@fsel.com (Jason Hulance)
  4884. Subject: Re: debugging
  4885.  
  4886. Jacques Gamboni <gamboni@fastnet.ch> wrote:
  4887.  
  4888. > What tools are available to find a bug in an E prog?
  4889.  
  4890. Lots...
  4891.  
  4892. > I can put some WriteF() statements in some places my program to display
  4893. > the current state of a variable.
  4894.  
  4895. That's one way, and usually the quickest and easiest.
  4896.  
  4897. > I can use EDBG to see at which place my program crashes/executes a wrong
  4898. > instruction and so on.
  4899.  
  4900. EDBG is extremely useful for finding difficult problems and controlling
  4901. the execution of your code.
  4902.  
  4903. > I can use Enforcer to know if my program uses uninitialised pointers or
  4904. > goes out of the bounds of an array.
  4905.  
  4906. Enforcer helps you spot silly typos/bad algorithms, but the results can
  4907. sometimes be misleading if you happen to be running nasty hacks at the
  4908. same time...
  4909.  
  4910. > What else?
  4911.  
  4912. 1) A simple 'avail flush' before and after running your program can help
  4913.    track memory losses (but is subject to nasty hacks, as above).
  4914.  
  4915. 2) The RKRMs offer some help on common crashes.
  4916.  
  4917. 3) There's also Explorer, of course.  It's easy to integrate calls to
  4918.    Explorer and you can control the execution of your program, again.
  4919.  
  4920. 4) If you're doing nasty stuff, multiple tasks, etc. then the DOS
  4921.    library can be off-limits.  In this case you can't use WriteF(), but
  4922.    you can use a separate program and a shared message port...
  4923.  
  4924. 5) There are a number of tools out there to track certain resource
  4925.    allocations (I've used one called CodeWatcher in the past).
  4926.  
  4927. 6) Cut down your code to the smallest thing you can that still exhibits
  4928.    the problem.  Remove bits, piece by piece, until you start to home in
  4929.    on the code that is really causing the problem.  (This is about the
  4930.    only way to be confident of something like a compiler bug...)
  4931.  
  4932. > In fact I have a program that has no Enforcer hit but that crashes the
  4933. > computer when it quits (with EDBG, just when the last ENDPROC is
  4934. > stepped). So none of these above method can help me to debug my
  4935. > program..
  4936.  
  4937. In any language it's easy to make subtle mistakes in your program's
  4938. logic and data usage that are near impossible to find using standard
  4939. debugging tools.  In very high-level languages you're normally spared
  4940. the system crashes, though...
  4941.  
  4942. - -- 
  4943. The conundrum for today is "paeremelh".
  4944. Your numbers are 50, 9, 6, 7, 10 and 1.  The target value is 871.
  4945. ======================================================================
  4946. Jason R. Hulance                           Email: jason@fsel.com
  4947. Formal Systems (Europe) Ltd                  Tel: [+44] (0)1865 728460
  4948. Keble Court, 26 Temple St, Oxford OX4 1JS    Fax: [+44] (0)1865 201114
  4949. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4950.  
  4951. From: agraham@hal9000.net.au (Ali Graham)
  4952. Date: Tue, 31 Mar 1998 00:17:29 +1000
  4953. Subject: Re[2]: debugging
  4954.  
  4955. On 30-Mar-98, someone (I think it was Jason Hulance) might have
  4956. written:
  4957.  
  4958. JH> 4) If you're doing nasty stuff, multiple tasks, etc. then the DOS
  4959. JH>    library can be off-limits.  In this case you can't use
  4960. WriteF(), but
  4961. JH>    you can use a separate program and a shared message port...
  4962. JH> 
  4963.  
  4964. In this case, you can always use the routines from debug.m (in dev/e)
  4965. and a program like Sushi. (i.e. kprintf() etc.)
  4966.  
  4967. A little more roundabout, but it usually works...
  4968.  
  4969. Ali.
  4970.  
  4971. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4972.  
  4973. From: mofjelds@online.no (Morten Fjeldstad)
  4974. Date: Mon, 30 Mar 1998 17:39:20 +0200
  4975. Subject: Re: Newbe question
  4976.  
  4977. Hello Gary
  4978.  
  4979. On 28-Mar-98, you wrote:
  4980.  
  4981. >> Any way to program TCP/IP applications in AmigaE?
  4982. > Yes, Amiga E is great for TCP/IP stuff. I've written a complete
  4983. > E-Mail/News client in E (eval copies available from my web site).
  4984. > You'll need the AmiTCP E modules from Aminet plus a good book on TCP/IP :)
  4985.  
  4986. No modules for MIAMI out there?
  4987.  
  4988.  
  4989. Morten.
  4990.  
  4991. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  4992.  
  4993. From: merlin@thule.no (Eric Sauvageau)
  4994. Date: Mon, 30 Mar 1998 15:32:43 +0500
  4995. Subject: Re: Binary problem...
  4996.  
  4997. On Mon, 30 Mar 1998, we received a letter from  about 'Binary problem...':
  4998.  
  4999. >  How do you check and set/clear singel bits in a variable?
  5000.  
  5001. DEF var=$20
  5002.  
  5003. /* 0010 0000 */
  5004.  
  5005.  
  5006. /* This will set the first bit.
  5007.  
  5008.    0010 0000
  5009.    0000 0001 OR
  5010.    ------------
  5011.    0010 0001
  5012. */
  5013.  
  5014. var := var OR $21
  5015.  
  5016. /* This will clear the 6th bit
  5017.  
  5018.    0010 0001
  5019.    1101 1111 AND
  5020.    -------------
  5021.    0000 0001
  5022. */
  5023.  
  5024. var := var AND $D1
  5025.  
  5026.  
  5027. You simply use hexadecimal masks with the AND and OR operator.
  5028.  
  5029.  
  5030. Ciao!
  5031.  
  5032.  
  5033.  
  5034. ... Life sucks, but Death swallows.
  5035.  
  5036. - -- 
  5037.  
  5038. ===--- - - -
  5039.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  5040.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  5041.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  5042. - - - - ---===
  5043.  
  5044. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5045.  
  5046. From: merlin@thule.no (Eric Sauvageau)
  5047. Date: Mon, 30 Mar 1998 16:39:31 +0500
  5048. Subject: Re[2]: debugging
  5049.  
  5050. On Mon, 30 Mar 1998, we received a letter from  about 'Re: debugging':
  5051.  
  5052. >  4) If you're doing nasty stuff, multiple tasks, etc. then the DOS
  5053. >     library can be off-limits.  In this case you can't use WriteF(), but
  5054. >     you can use a separate program and a shared message port...
  5055.  
  5056. In such case, debug.m, kprintf() and Sushi are your best friends. :)
  5057.  
  5058.  
  5059.  
  5060. ... Miracle worker, Doctor!  I'm a dammit, not a jim...  no scratch that...
  5061.  
  5062. - -- 
  5063.  
  5064. ===--- - - -
  5065.   Eric Sauvageau    http://www.thule.no/~merlin/    merlin@thule.no
  5066.   Amiga wizard known as Merlin, casting with E runes, resulting in:
  5067.       DevsMan - MFormat - NewIcons4 - SysInspector - XPKatana
  5068. - - - - ---===
  5069.  
  5070. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5071.  
  5072. From: LOREJ@IWC-SDT.dssd.sub.org (Jens Lorenz)
  5073. Subject: HELP
  5074. Date: Mon, 30 Mar 1998 22:58:28 +0200
  5075.  
  5076. HELP
  5077.  
  5078. .
  5079. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5080.  
  5081. From: gary@empire.u-net.com (Gary Colville)
  5082. Date: 31 Mar 1998 03:23:15 0000 
  5083. Subject: Re: Newbe question
  5084.  
  5085. Morten Fjeldstad <mofjelds@online.no> wrote to amigae-list@intercom.it about Re: Newbe question:
  5086.  
  5087. >>> Any way to program TCP/IP applications in AmigaE?
  5088. >> Yes, Amiga E is great for TCP/IP stuff. I've written a complete
  5089. >> E-Mail/News client in E (eval copies available from my web site).
  5090. >> You'll need the AmiTCP E modules from Aminet plus a good book on TCP/IP :)
  5091.  
  5092. > No modules for MIAMI out there?
  5093.  
  5094. Miami uses an API that is AmiTCP compatable so the AmiTCP modules work
  5095. just fine.
  5096.  
  5097. - --  _ 
  5098.  _ //    Gary Colville        AmigaOS Software Developer           
  5099.  \X/ gary@empire.u-net.com    http://www.empire.u-net.com 
  5100. - -- 
  5101. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5102.  
  5103. Date: Tue, 31 Mar 1998 15:44:02 +0200 (MET DST)
  5104. From: szczepan@cksr.ac.bialystok.pl ("Marcin Juszkiewicz (Szczepan/BlaBla)")
  5105. Subject: Re: Re[2]: debugging
  5106.  
  5107. On Mon, 30 Mar 1998, Eric Sauvageau wrote:
  5108.  
  5109. - ->>  4) If you're doing nasty stuff, multiple tasks, etc. then the DOS
  5110. - ->>     library can be off-limits.  In this case you can't use WriteF(), but
  5111. - ->>     you can use a separate program and a shared message port...
  5112. - ->
  5113. - ->In such case, debug.m, kprintf() and Sushi are your best friends. :)
  5114.  
  5115.   I propose you MungFriend as Sushi replacement. It create reset-proof
  5116. buffer and flashes when something going to serial port so you can't miss
  5117. hits.
  5118.  
  5119. - ------
  5120.  Marcin Juszkiewicz (Szczepan/BlaBla)   *Team Amiga*
  5121.  szczepan@cksr.ac.bialystok.pl  http://cksr.ac.bialystok.pl/szczepan/
  5122.  A1200 BlizzIv 2+8MB RAM 425MB HDD
  5123.  Author of MultiView for OS 2.0+ -> Aminet:util/sys/2b_mv_os2_x.lha
  5124.  
  5125. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5126.  
  5127. From: a9660319@wlv.ac.uk
  5128. Subject: 2D arrays
  5129. Date: Tue, 31 Mar 1998 17:10:48 -0500 (EST)
  5130.  
  5131. Hi there list!
  5132.  
  5133. E has a limitation, to do with 2D arrays, I need to use large (say, 
  5134. 400x400, LONG) chunk of memorey. 
  5135.  
  5136. How do you get around this problem? I`ve been using bitmaps, but that 
  5137. only gives me 0..256, now I need 0..LONG, (Be nice If I could use 
  5138. floats).
  5139.  
  5140. Just some pointers to good source codes, and ideas that I should be 
  5141. pursuing. 
  5142.  
  5143. Please try not to continue this thread past Friday, as I don`t have 
  5144. access to my e-mail after then.
  5145.  
  5146. Thanks!
  5147.  
  5148. Andrew Hutchins :)
  5149.  
  5150.  
  5151. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5152.  
  5153. From: Peter.Karlsson@swipnet.se (Peter Karlsson)
  5154. Date: Tue, 31 Mar 1998 17:48:40 +0100
  5155. Subject: Parsing an ASCII prefsfile
  5156.  
  5157. Hello,
  5158.  
  5159. I'm a newbie to this list and I've got a question which has probably
  5160. been asked before. If so, I'm very sorry.
  5161.  
  5162. I need to parse a preference file in pure ASCII in a program I'm
  5163. working on. And I have absolute no clue how to do this in a "smart"
  5164. way. I've asked around and one answer I got was "use ReadArgs()".
  5165. Sadly this doesn't make me say "aha". :-) Another solution was
  5166. that I should use Tooltypes. Unfortunately I've got about 300 items in
  5167. my prefs file, so using Tooltypes would be a bit messy.
  5168. So, if any of you people could help me out here, I'd be very grateful.
  5169.  
  5170. Kind regards
  5171. /Peter
  5172.  
  5173. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5174.  
  5175. Date: 31 Mar 98 20:28:01 +0100
  5176. From: seasons@softhome.net (Lloyd Rosen)
  5177. Subject: MUI
  5178.  
  5179. Somebody mentioned something about MUI macros?
  5180.  
  5181. What are these and how do I use them?
  5182.  
  5183. And where do I find them?
  5184.  
  5185.  
  5186.  
  5187. Regards,
  5188.  
  5189. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  5190.                     ____                           ____
  5191.     Lloyd Rosen    _\/\/_  680x0 ÷ AmigaE ÷ 6510  _\/\/_    `LloydROSN'
  5192.          ÷         ¯¯\/¯¯      Mus¡c ÷ Design     ¯¯\/¯¯         on
  5193.       sEASONS                                                  IRCnet
  5194.       ¯¯¯¯¯¯¯     s e a s o n s @ s o f t h o m e . n e t      ¯¯¯¯¯¯
  5195. - -÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-=-÷-
  5196.  
  5197. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5198.  
  5199. From: mofjelds@online.no (Morten Fjeldstad)
  5200. Date: Tue, 31 Mar 1998 19:37:32 +0200
  5201. Subject: IDE
  5202.  
  5203. Hello,
  5204.  
  5205. Is there a good IDE for AMiga E out there? I tried some editors etc. from
  5206. the Aminet. But nothing impessive.
  5207.  
  5208.  
  5209. Kind regards
  5210. Morten.
  5211.  
  5212. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5213.  
  5214. Date: 31 Mar 98 21:07:07 +0200
  5215. From: savel@kaunas.omnitel.net (Levas)
  5216. Subject: Re: Parsing an ASCII prefsfile
  5217.  
  5218. >I need to parse a preference file in pure ASCII in a program I'm
  5219. >working on. And I have absolute no clue how to do this in a "smart"
  5220. How about reading text file to RAM. Then you can search for keywords and use
  5221. values near keywords?
  5222.  
  5223. VERYIMPORTANTVALLUE=58758
  5224.  
  5225. Search for VERYIMPORTANTVALLUE= and EOL string. Then analize data between this
  5226. words. Add comment keyword to make you config file more cool :)
  5227. Oh yes! you've got damn windows.ini file!!
  5228.  
  5229. After analizing data, put values to some internal format like mydata.x=58758
  5230. and free allocated buffer.
  5231.  
  5232. Bye, Levas
  5233. - --
  5234. <tsb>Amiga? Amiga... Amiga!
  5235. - -- e-mail:savel@kaunas.omnitel.net - http://www1.omnitel.net/savel --
  5236.  
  5237. Don't judge a book by its mini-series.
  5238.  
  5239. ------- CUT --- CUT --- CUT --- CUT --- CUT --- CUT --- CUT -------
  5240.  
  5241.  
  5242.