home *** CD-ROM | disk | FTP | other *** search
/ ftp.xmission.com / 2014.06.ftp.xmission.com.tar / ftp.xmission.com / pub / lists / fractdev / archive / fractdev.199902 next >
Internet Message Format  |  1999-02-24  |  50KB

  1. From: Phil McRevis <legalize@xmission.com>
  2. Subject: (fractdev) flat-memory model port
  3. Date: 21 Feb 1999 22:00:14 -0700
  4.  
  5. OK, this last round of discussion about fractint and the limits of the
  6. medium memory model has jostled me out of my sloth :-).
  7.  
  8. I am willing to make a pass through fractint's code to remove all the
  9. overlay and "far ptr"isms of the medium memory model.  I have Borland
  10. C++ Builder (which can compile regular C code just fine from the
  11. command line), and I'm willing to download gcc/djgpp to make sure I'm
  12. using any Borlandisms in the effort.
  13.  
  14. What I would like from Tim and other developers here is what exactly
  15. do I need to do in order to do the port?
  16.  
  17. Here is what I had in mind:
  18.  
  19.     o remove all "near/far" isms with respect to pointers and data --
  20.     as I understand it the "far" isn't needed in a flat memory model,
  21.     because a pointer is a pointer is a pointer.
  22.  
  23.     o remove all overlay mechanisms -- these are just #pragmas in the
  24.     source code, aren't they?
  25.  
  26.     o use C code from xfractint for the assembler portions -- in other
  27.     words, I'm not attempting to rewrite the assembler code.  That may
  28.     come later, but the primary thrust is to get to a flat memory
  29.     model.
  30.  
  31.     o try to group data with its associated functions instead of
  32.     having it lurking as a global.  Its my understanding that the
  33.     reason there is so much of this in the fractint source is because
  34.     of the memory model.
  35.  
  36. Now given that I'm going to remove the assembly and use C instead,
  37. that leaves me with one hole: video I/O.  My inclination is to use the
  38. same solution that XaoS uses -- dgjpp/Allegro.  See
  39. <http://www.talula.demon.co.uk/allegro/readme.html> for information on
  40. Allegro.  What's interesting about that (and I only just learned this
  41. upon reading that URL :-) is that Allegro supports DOS, Win32 via 
  42. DirectX and the X Window System.  Rather than homebrewing our own GUI
  43. layer, perhaps we could just write to Allegro and be done with it?  Of
  44. course, that still leaves the Mac in the lurch, but perhaps someone is
  45. already working on an Allegro port for the Mac.
  46.  
  47. Please respond soon, before I lose my nerve to tackle this project :)
  48. --
  49. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  50.     ``Ain't it funny that they all fire the pistol, 
  51.       at the wrong end of the race?''--PDBT
  52.           <http://www.eden.com/~thewho>
  53.  
  54. Thanks for using Fractdev, The Fractint Developer's Discussion List
  55. Post Message:   fractdev@lists.xmission.com
  56. Get Commands:   majordomo@lists.xmission.com "help"
  57. Administrator:  twegner@phoenix.net
  58. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  59.  
  60.  
  61. -------------------------------------------------------------------------------
  62.  
  63. From: Phil McRevis <legalize@xmission.com>
  64. Subject: Re: (fractdev) flat-memory model port 
  65. Date: 21 Feb 1999 22:05:13 -0700
  66.  
  67.  
  68. In article <E10EnTc-00017v-00@xmission.xmission.com>,
  69.     Phil McRevis <legalize@xmission.com>  writes:
  70. > [...] I'm willing to download gcc/djgpp to make sure I'm
  71. > using any Borlandisms in the effort.
  72.  
  73. That should be "make sure I'm *not* using any Borlandisms"... silly me
  74. :)
  75. --
  76. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  77.     ``Ain't it funny that they all fire the pistol,     
  78.       at the wrong end of the race?''--PDBT     
  79. legalize@xmission.com    <http://www.eden.com/~thewho>
  80.  
  81. Thanks for using Fractdev, The Fractint Developer's Discussion List
  82. Post Message:   fractdev@lists.xmission.com
  83. Get Commands:   majordomo@lists.xmission.com "help"
  84. Administrator:  twegner@phoenix.net
  85. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  86.  
  87.  
  88. -------------------------------------------------------------------------------
  89.  
  90. From: kragen@pobox.com (Kragen Sitaker)
  91. Subject: Re: (fractdev) flat-memory model port
  92. Date: 22 Feb 1999 00:19:23 -0500 (EST)
  93.  
  94. On Sun, 21 Feb 1999, Phil McRevis wrote:
  95. > Here is what I had in mind:
  96. >     o remove all "near/far" isms with respect to pointers and data --
  97. >     as I understand it the "far" isn't needed in a flat memory model,
  98. >     because a pointer is a pointer is a pointer.
  99.  
  100. You could perhaps do this with #define.
  101. #define near
  102. #define far
  103.  
  104. >     o remove all overlay mechanisms -- these are just #pragmas in the
  105. >     source code, aren't they?
  106.  
  107. If so, you don't need to remove them.
  108.  
  109. > Now given that I'm going to remove the assembly and use C instead,
  110. > that leaves me with one hole: video I/O.  My inclination is to use the
  111. > same solution that XaoS uses -- dgjpp/Allegro.  See
  112. > <http://www.talula.demon.co.uk/allegro/readme.html> for information on
  113. > Allegro.  What's interesting about that (and I only just learned this
  114. > upon reading that URL :-) is that Allegro supports DOS, Win32 via 
  115. > DirectX and the X Window System.  Rather than homebrewing our own GUI
  116. > layer, perhaps we could just write to Allegro and be done with it?  Of
  117. > course, that still leaves the Mac in the lurch, but perhaps someone is
  118. > already working on an Allegro port for the Mac.
  119.  
  120. I don't think you can use Allegro with C++Builder, but I do not know.
  121.  
  122. I think there are some licensing restrictions having to do with
  123. building with djgpp; in particular, I think the C run-time library is
  124. GPLed.  This is incompatible with Fractint's license, which prohibits
  125. redistribution for profit.
  126.  
  127. I hope you can preserve the original DOS interface to some degree.
  128. It's wonderful in DOS, but terribly painful in xfractint.  (I think
  129. I've never used any program with as good a UI as DOS Fractint.)
  130.  
  131. > Please respond soon, before I lose my nerve to tackle this project :)
  132.  
  133. Thank you for your nerve :)
  134.  
  135. -- 
  136. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  137. Computers are the tools of the devil. It is as simple as that. There is no
  138. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  139. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  140.  
  141.  
  142. Thanks for using Fractdev, The Fractint Developer's Discussion List
  143. Post Message:   fractdev@lists.xmission.com
  144. Get Commands:   majordomo@lists.xmission.com "help"
  145. Administrator:  twegner@phoenix.net
  146. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  147.  
  148.  
  149. -------------------------------------------------------------------------------
  150.  
  151. From: Phil McRevis <legalize@xmission.com>
  152. Subject: Re: (fractdev) flat-memory model port 
  153. Date: 21 Feb 1999 22:50:31 -0700
  154.  
  155.  
  156. In article <Pine.SUN.3.96.990222001444.11963G-100000@picard.dnaco.net>,
  157.     kragen@pobox.com (Kragen Sitaker)  writes:
  158. > You could perhaps do this with #define.
  159. > #define near
  160. > #define far
  161.  
  162. Yes, the xfractint .h file already does this.  However, with emacs and
  163. grep, its quite simple to remove all "far" and "near" qualifiers on
  164. pointers.  (M-x grep, followed by M-x next-error is a wonderful thing
  165. for large source base modifications.)  If we are giving up the medium
  166. memory model, these qualifiers are just cruft that should be removed.
  167.  
  168. > If so, you don't need to remove them.
  169.  
  170. See above.  When stuff isn't used anymore, its best to remove it
  171. rather than leave it laying around.  For instance, do you delete
  172. unused code from your projects or do you just comment it out?  With
  173. the latter approach, you end up with all this code that isn't relevant
  174. anymore, but a new programmer can't tell that and will wonder why it
  175. is commented out instead of deleted.  On a shared-body project like
  176. fractint, this is even more important since you have no idea who
  177. commented out the code and/or why its commented out.  I've worked on
  178. commercial code where people developed this habit of #ifdef/commenting
  179. out unused code and it quickly led to a maintenance nightmare.
  180. Maintenance issues are even more critical for open-source software.
  181.  
  182. > I don't think you can use Allegro with C++Builder, but I do not know.
  183.  
  184. Me neither.  I just brought it up as a possbility for the video I/O.
  185. Fractint needs _some_ kind of abstraction to remove itself from
  186. platform dependencies with graphics I/O.  Rather than reinvent the
  187. wheel, I figure we could use something like Allegro which handles
  188. those details.  Especially since I don't have any desire to port the
  189. assembly code.  (Although since I upgraded my C++Builder I now have
  190. TASM so I can do assembly code.)
  191.  
  192. > I think there are some licensing restrictions having to do with
  193. > building with djgpp; in particular, I think the C run-time library is
  194. > GPLed.  This is incompatible with Fractint's license, which prohibits
  195. > redistribution for profit.
  196.  
  197. Hmm... as I understand it, the GPL only says that you have to provide
  198. the source code, which is completely compatible with fractint's
  199. open-source model.
  200.  
  201. > I hope you can preserve the original DOS interface to some degree.
  202.  
  203. No changes to the interface are planned; with my C++Builder upgrade, I
  204. did get a coupon to obtain Borland's 4.02 C++ compiler, which can
  205. build 16bit applications.  I may just start seeing if I can build DOS
  206. fractint with that, but then I'd have to obtain that compiler first (I
  207. haven't used the coupon yet), which would mean waiting.
  208. Alternatively, I can eliminate all the medium memory model stuff and
  209. just use xfractint.
  210.  
  211. > It's wonderful in DOS, but terribly painful in xfractint.
  212.  
  213. Yes, well that is one reason why we have been saying fractint needs a
  214. UI layer.  Under X, fractint's UI should be native (as well for the
  215. Mac, Win32, BeOS, etc.).  But, first things first.  Every time we have
  216. this discussion we come around to the conclusion "yes, but we need to
  217. remove the memory model limitations first."
  218.  
  219. > (I think I've never used any program with as good a UI as DOS Fractint.)
  220.  
  221. Ahem.  I've used plenty of programs with a better UI than DOS fractint
  222. :-).  Not to say that fractint's UI is poor; just that I find the video
  223. mode switching very annoying and it suffers from the limitation of
  224. trying to fit everything into 24x80 for some of its dialog screens.
  225.  
  226. Cut & paste into the text boxes is nearly impossible, or if it is
  227. possible it is painful. If you think about it, almost every text screen
  228. in fractint is what they call a "modal dialog" in UI terminology.
  229. Given that fractint's dialogs are all originally implemented in a
  230. text-only world, providing some simple functions to implement them in a
  231. graphically rich environment shouldn't be hard.  Xfractint tries to do
  232. it with curses, which is OK I guess, but you end up having an xterm
  233. window and the graphics window, both of them trying to control the
  234. application somewhat.  I never really liked it that much.
  235. --
  236. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  237.     ``Ain't it funny that they all fire the pistol,     
  238.       at the wrong end of the race?''--PDBT     
  239. legalize@xmission.com    <http://www.eden.com/~thewho>
  240.  
  241. Thanks for using Fractdev, The Fractint Developer's Discussion List
  242. Post Message:   fractdev@lists.xmission.com
  243. Get Commands:   majordomo@lists.xmission.com "help"
  244. Administrator:  twegner@phoenix.net
  245. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  246.  
  247.  
  248. -------------------------------------------------------------------------------
  249.  
  250. From: kragen@pobox.com (Kragen Sitaker)
  251. Subject: Re: (fractdev) flat-memory model port 
  252. Date: 22 Feb 1999 08:20:12 -0500 (EST)
  253.  
  254. On Sun, 21 Feb 1999, Phil McRevis wrote:
  255. > In article <Pine.SUN.3.96.990222001444.11963G-100000@picard.dnaco.net>,
  256. >     kragen@pobox.com (Kragen Sitaker)  writes:
  257. > > You could perhaps do this with #define.
  258. > > #define near
  259. > > #define far
  260. > Yes, the xfractint .h file already does this.  However, with emacs and
  261. > grep, its quite simple to remove all "far" and "near" qualifiers on
  262. > pointers.  (M-x grep, followed by M-x next-error is a wonderful thing
  263. > for large source base modifications.)  If we are giving up the medium
  264. > memory model, these qualifiers are just cruft that should be removed.
  265.  
  266. I was just thinking that it might be useful to be able to compile
  267. fractint either way.  Perhaps it's too much to ask.
  268.  
  269. > See above.  When stuff isn't used anymore, its best to remove it
  270. > rather than leave it laying around.
  271.  
  272. Agreed.
  273.  
  274. > Maintenance issues are even more critical for open-source software.
  275.  
  276. Fractint is not open-source software.  Don't go around saying that, or
  277. you'll get sued by the Open Source Initiative.
  278.  
  279. > > I don't think you can use Allegro with C++Builder, but I do not know.
  280. > Me neither.  I just brought it up as a possbility for the video I/O.
  281. > Fractint needs _some_ kind of abstraction to remove itself from
  282. > platform dependencies with graphics I/O.  Rather than reinvent the
  283. > wheel, I figure we could use something like Allegro which handles
  284. > those details.
  285.  
  286. Fractint has such an abstraction already -- it's just that all the
  287. video drivers are included in Fractint.  For PC video cards, the wheel
  288. has already been reinvented.
  289.  
  290. > Especially since I don't have any desire to port the
  291. > assembly code.
  292.  
  293. Heh :)  I don't blame you :)
  294.  
  295. > Hmm... as I understand it, the GPL only says that you have to provide
  296. > the source code, which is completely compatible with fractint's
  297. > open-source model.
  298.  
  299. It also says you can't impose any further restrictions, such as "no
  300. commercial distribution".  Many pieces of open-source software (notably
  301. BSD and Mozilla) are not allowed to use GPLed libraries because their
  302. licenses conflict with the GPL.   Also, the Open Source Definition
  303. requires that users be free to do commercial distribution of the
  304. software; software licenses that do not allow this, such as the
  305. Fractint license, are not in compliance with the OSD.  Open Source is a
  306. registered trademark of the OSD, which was founded by the guy who
  307. invented the term last March.
  308.  
  309. Now, I'm not saying Fractint should change its license; I'm just saying
  310. that presently, it is not open source, and should not be advertised as such.
  311.  
  312. I *would* like to allow Fractint to be commercially distributed -- I
  313. think a lot more people would use it if it came on the Red Hat CD --
  314. but then again, I didn't write it, so who am I to say?  :)
  315.  
  316. > > It's wonderful in DOS, but terribly painful in xfractint.
  317. > Yes, well that is one reason why we have been saying fractint needs a
  318. > UI layer.  Under X, fractint's UI should be native (as well for the
  319. > Mac, Win32, BeOS, etc.).
  320.  
  321. Ohhh, OK.  You weren't talking about an abstraction layer for drawing
  322. graphics -- you were talking about an abstraction layer for the
  323. commands, help, and settings parts of the UI.
  324.  
  325. > Ahem.  I've used plenty of programs with a better UI than DOS fractint
  326. > :-).  Not to say that fractint's UI is poor; just that I find the video
  327. > mode switching very annoying and it suffers from the limitation of
  328. > trying to fit everything into 24x80 for some of its dialog screens.
  329.  
  330. The video mode switching is a little annoying.
  331.  
  332. > Cut & paste into the text boxes is nearly impossible, or if it is
  333. > possible it is painful.
  334.  
  335. In MS-DOS it is simply impossible.  :)
  336.  
  337. > If you think about it, almost every text screen
  338. > in fractint is what they call a "modal dialog" in UI terminology.
  339.  
  340. Modal dialogs are a blight on the world of UIs in a GUI context.  But
  341. in a text context, they aren't nearly as bad.
  342.  
  343. > Given that fractint's dialogs are all originally implemented in a
  344. > text-only world, providing some simple functions to implement them in a
  345. > graphically rich environment shouldn't be hard.  Xfractint tries to do
  346. > it with curses, which is OK I guess, but you end up having an xterm
  347. > window and the graphics window, both of them trying to control the
  348. > application somewhat.  I never really liked it that much.
  349.  
  350. Neither did I.  (But I like it in MS-DOS.)
  351.  
  352. What I like is that (a) it was easy for me to use early on -- unlike
  353. the Unix command line -- and (b) it was fast for me to use later --
  354. unlike most GUI programs.  And I could see what was happening most of
  355. the time.
  356.  
  357. -- 
  358. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  359. Computers are the tools of the devil. It is as simple as that. There is no
  360. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  361. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  362.  
  363.  
  364. Thanks for using Fractdev, The Fractint Developer's Discussion List
  365. Post Message:   fractdev@lists.xmission.com
  366. Get Commands:   majordomo@lists.xmission.com "help"
  367. Administrator:  twegner@phoenix.net
  368. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  369.  
  370.  
  371. -------------------------------------------------------------------------------
  372.  
  373. From: Phil McRevis <legalize@xmission.com>
  374. Subject: Re: (fractdev) flat-memory model port 
  375. Date: 22 Feb 1999 09:25:38 -0700
  376.  
  377.  
  378. In article <Pine.SUN.3.96.990222080539.11963J-100000@picard.dnaco.net>,
  379.     kragen@pobox.com (Kragen Sitaker)  writes:
  380. > I was just thinking that it might be useful to be able to compile
  381. > fractint either way.  Perhaps it's too much to ask.
  382.  
  383. If you want 16bit code, then you compile older versions of fractint
  384. :-).
  385.  
  386. > Fractint is not open-source software.  Don't go around saying that, or
  387. > you'll get sued by the Open Source Initiative.
  388.  
  389. What?  Of course fractint is open-source software.  What makes you
  390. think otherwise?
  391.  
  392. > Fractint has such an abstraction already -- it's just that all the
  393. > video drivers are included in Fractint.  For PC video cards, the wheel
  394. > has already been reinvented.
  395.  
  396. Right, and those video drivers are coded in assembly.
  397.  
  398. > > Hmm... as I understand it, the GPL only says that you have to provide
  399. > > the source code, which is completely compatible with fractint's
  400. > > open-source model.
  401. > It also says you can't impose any further restrictions, such as "no
  402. > commercial distribution".  [...]
  403.  
  404. Well I'll let Tim call the shot on that one... Tim?
  405.  
  406. > Ohhh, OK.  You weren't talking about an abstraction layer for drawing
  407. > graphics -- you were talking about an abstraction layer for the
  408. > commands, help, and settings parts of the UI.
  409.  
  410. Well there are two issues here.  Handling the low-level graphics
  411. (which is currently done in assembly), and the UI portability (which
  412. currently is kludged :).  The low-level graphics can remain in
  413. assembly for the purposes of a flat-memory model port, but then the
  414. assembly will have to be ported.  Since I'd rather not do any assembly
  415. work, I was hoping to plug something else in there.  I think the
  416. assembly video drivers were coded in order to get the maximum speed
  417. from the video card.  Nowadays, these low-level details are best left
  418. to the OS if possible (i.e. DirectX), but that is a very long-term
  419. wish for fractint.  The question is what to do *now* with respect to
  420. the 16bit assembly code that does video I/O.
  421.  
  422. > Modal dialogs are a blight on the world of UIs in a GUI context.  But
  423. > in a text context, they aren't nearly as bad.
  424.  
  425. Well, like any tool sometimes its misused.  I've seen every UI
  426. component misused at one time or another.  When a GUI application
  427. *must* have more information from the user in order to continue a
  428. requested operation, just what do you propose it should do?  That's
  429. the situation modal dialogs were invented for.
  430. --
  431. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  432.     ``Ain't it funny that they all fire the pistol,     
  433.       at the wrong end of the race?''--PDBT     
  434. legalize@xmission.com    <http://www.eden.com/~thewho>
  435.  
  436. Thanks for using Fractdev, The Fractint Developer's Discussion List
  437. Post Message:   fractdev@lists.xmission.com
  438. Get Commands:   majordomo@lists.xmission.com "help"
  439. Administrator:  twegner@phoenix.net
  440. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  441.  
  442.  
  443. -------------------------------------------------------------------------------
  444.  
  445. From: kragen@pobox.com (Kragen Sitaker)
  446. Subject: Re: (fractdev) flat-memory model port 
  447. Date: 22 Feb 1999 13:29:40 -0500 (EST)
  448.  
  449. On Mon, 22 Feb 1999, Phil McRevis wrote:
  450. > In article <Pine.SUN.3.96.990222080539.11963J-100000@picard.dnaco.net>,
  451. >     kragen@pobox.com (Kragen Sitaker)  writes:
  452. > > Fractint is not open-source software.  Don't go around saying that, or
  453. > > you'll get sued by the Open Source Initiative.
  454. > What?  Of course fractint is open-source software.  What makes you
  455. > think otherwise?
  456.  
  457. I answered that down below; I assume you asked the above question
  458. before you read that part of my reply.  Let me know if I was unclear.
  459.  
  460. -- 
  461. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  462. Computers are the tools of the devil. It is as simple as that. There is no
  463. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  464. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  465.  
  466.  
  467. Thanks for using Fractdev, The Fractint Developer's Discussion List
  468. Post Message:   fractdev@lists.xmission.com
  469. Get Commands:   majordomo@lists.xmission.com "help"
  470. Administrator:  twegner@phoenix.net
  471. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  472.  
  473.  
  474. -------------------------------------------------------------------------------
  475.  
  476. From: "Damien M. Jones" <dmj@fractalus.com>
  477. Subject: Re: (fractdev) flat-memory model port 
  478. Date: 22 Feb 1999 12:50:11 -0600
  479.  
  480. Kragen,
  481.  
  482.  - [snippage re: GPL, Open Source (R), BSD, and FractInt]
  483.  
  484. Thanks for the info. It is food for thought.
  485.  
  486.  - I *would* like to allow Fractint to be commercially distributed -- I
  487.  - think a lot more people would use it if it came on the Red Hat CD --
  488.  - but then again, I didn't write it, so who am I to say?  :)
  489.  
  490. Interesting notion.
  491.  
  492.  - > Cut & paste into the text boxes is nearly impossible, or if it is
  493.  - > possible it is painful.
  494.  -
  495.  - In MS-DOS it is simply impossible.  :)
  496.  
  497. In a DOS box running inside Windows, though, it isn't; it's just highly
  498. inconvenient.
  499.  
  500.  - Modal dialogs are a blight on the world of UIs in a GUI context.
  501.  
  502. I have heard this notion advanced from time to time. While it is true that
  503. many programs use modal dialogs excessively, it is ALSO true that in many
  504. cases, designing the software so that modeless dialogs make sense
  505. contradicts the way users are expecting to use the program. And if you
  506. require users to change their work habits to fit the needs of software,
  507. aren't you missing the point? Software is a tool for people, not the other
  508. way around. When confronted with software that doesn't work as they expect,
  509. users either (a) find other software that works like they want, (b) become
  510. unproductive with the software they have, or (c) go postal and waste the
  511. sysadmins that forced such software on them. :-)
  512.  
  513. However, in support of your point, it's certainly possible for fractal
  514. software (such as a future FractInt) to be primarily focused on a modeless
  515. approach. One recent GUI-based fractal program makes extensive use of
  516. modeless property dialogs and shows one way in which modality can be
  517. reduced substantially. Prior to its release, I also examined another
  518. fractal program in development which, while oriented towards modeless
  519. dialogs, was inconvenient to use. Simply making dialogs modeless isn't in
  520. and of itself enough.
  521.  
  522. I'm not sure I would call modal dialogs a "blight". For a lot of users, it
  523. fits with their "one thing at a time" mentality. Just because you and I are
  524. able to multitask more effectively doesn't mean everybody else can. :-)
  525.  
  526. Damien M. Jones   \\
  527. dmj@fractalus.com  \\  Fractalus Galleries & Info:
  528.                     \\  http://www.fractalus.com/
  529.  
  530. Please do not post my e-mail address on a web site or
  531. in a newsgroup.  Thank you.
  532.  
  533. Thanks for using Fractdev, The Fractint Developer's Discussion List
  534. Post Message:   fractdev@lists.xmission.com
  535. Get Commands:   majordomo@lists.xmission.com "help"
  536. Administrator:  twegner@phoenix.net
  537. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  538.  
  539.  
  540. -------------------------------------------------------------------------------
  541.  
  542. From: Phil McRevis <legalize@xmission.com>
  543. Subject: (fractdev) 'open source'
  544. Date: 22 Feb 1999 13:10:00 -0700
  545.  
  546. Hmm... I just read over the definition of "open source" on
  547. <http://www.opensource.org> and I don't see how fractint conflicts
  548. with what they are requiring in order to call something 'open source'.
  549.  
  550. What specifically are you saying is the conflict?  At any rate, I will
  551. continue to use the term 'open source' in email however I want :-).
  552.  
  553. All opensource.org is saying with their trademark is that you can't
  554. "market" software under that rubric without complying with their
  555. terms.
  556. --
  557. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  558.     ``Ain't it funny that they all fire the pistol, 
  559.       at the wrong end of the race?''--PDBT
  560.           <http://www.eden.com/~thewho>
  561.  
  562. Thanks for using Fractdev, The Fractint Developer's Discussion List
  563. Post Message:   fractdev@lists.xmission.com
  564. Get Commands:   majordomo@lists.xmission.com "help"
  565. Administrator:  twegner@phoenix.net
  566. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  567.  
  568.  
  569. -------------------------------------------------------------------------------
  570.  
  571. From: kragen@pobox.com (Kragen Sitaker)
  572. Subject: Re: (fractdev) 'open source'
  573. Date: 22 Feb 1999 15:24:36 -0500 (EST)
  574.  
  575. On Mon, 22 Feb 1999, Phil McRevis wrote:
  576. > Hmm... I just read over the definition of "open source" on
  577. > <http://www.opensource.org> and I don't see how fractint conflicts
  578. > with what they are requiring in order to call something 'open source'.
  579.  
  580. Section 1, Free Redistribution, begins:
  581.     The license may not restrict any party from selling or giving
  582.     away the software as a component of an aggregate software
  583.     distribution containing programs from several different
  584.     sources.
  585.  
  586. Fractint's license prohibits most people from selling it, unless I
  587. misremember it.
  588.  
  589. > What specifically are you saying is the conflict?  At any rate, I will
  590. > continue to use the term 'open source' in email however I want :-).
  591.  
  592. Well, I don't suppose I can stop you.
  593.  
  594. > All opensource.org is saying with their trademark is that you can't
  595. > "market" software under that rubric without complying with their
  596. > terms.
  597.  
  598. That's an interesting theory about trademark law, and you might be
  599. right.  The recent Dilution Act suggests otherwise, though, at least in
  600. the US.
  601.  
  602. -- 
  603. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  604. Computers are the tools of the devil. It is as simple as that. There is no
  605. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  606. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  607.  
  608.  
  609. Thanks for using Fractdev, The Fractint Developer's Discussion List
  610. Post Message:   fractdev@lists.xmission.com
  611. Get Commands:   majordomo@lists.xmission.com "help"
  612. Administrator:  twegner@phoenix.net
  613. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  614.  
  615.  
  616. -------------------------------------------------------------------------------
  617.  
  618. From: Phil McRevis <legalize@xmission.com>
  619. Subject: Re: (fractdev) 'open source' 
  620. Date: 22 Feb 1999 13:57:20 -0700
  621.  
  622.  
  623. In article <Pine.SUN.3.96.990222152058.2394I-100000@picard.dnaco.net>,
  624.     kragen@pobox.com (Kragen Sitaker)  writes:
  625. > Fractint's license prohibits most people from selling it, unless I
  626. > misremember it.
  627.  
  628. You know, I looked through the source and I couldn't find the license
  629. specifically... Tim?  Hello, Tim?  Where are you? :-)
  630.  
  631. > > What specifically are you saying is the conflict?  At any rate, I will
  632. > > continue to use the term 'open source' in email however I want :-).
  633. > Well, I don't suppose I can stop you.
  634.  
  635. Nope, you can't.  And neither can opensource.org, because although
  636. they have trademarked the term, that doesn't give them the right to
  637. control how people use the term in conversation or in correspondence.
  638.  
  639. > > All opensource.org is saying with their trademark is that you can't
  640. > > "market" software under that rubric without complying with their
  641. > > terms.
  642. > That's an interesting theory about trademark law, and you might be
  643. > right.  The recent Dilution Act suggests otherwise, though, at least in
  644. > the US.
  645.  
  646. If they have the term trademarked, that gives them the right to
  647. control how that term is used in the marketing and distribution of
  648. software, but that's where their rights end.  For instance, "kleenex"
  649. is a trademark, but it is also used in general conversation and indeed
  650. has become synonymous with "facial tissue".  Whoever owns the
  651. trademark of "kleenex" can prevent someone else from marketing a
  652. product using that trademark, but they can't prevent anyone from
  653. saying "would you hand me a kleenex, please?" even when the product
  654. they are pointing to wasn't marketed under the name "kleenex".
  655.  
  656. Admittedly, I haven't studied the details of trademark law since the
  657. early 80s, but I think I'm on the mark here.  Do you disagree?
  658. --
  659. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  660.     ``Ain't it funny that they all fire the pistol,     
  661.       at the wrong end of the race?''--PDBT     
  662. legalize@xmission.com    <http://www.eden.com/~thewho>
  663.  
  664. Thanks for using Fractdev, The Fractint Developer's Discussion List
  665. Post Message:   fractdev@lists.xmission.com
  666. Get Commands:   majordomo@lists.xmission.com "help"
  667. Administrator:  twegner@phoenix.net
  668. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  669.  
  670.  
  671. -------------------------------------------------------------------------------
  672.  
  673. From: kragen@pobox.com (Kragen Sitaker)
  674. Subject: Re: (fractdev) 'open source' 
  675. Date: 22 Feb 1999 16:11:45 -0500 (EST)
  676.  
  677. On Mon, 22 Feb 1999, Phil McRevis wrote:
  678. > In article <Pine.SUN.3.96.990222152058.2394I-100000@picard.dnaco.net>,
  679. >     kragen@pobox.com (Kragen Sitaker)  writes:
  680. > You know, I looked through the source and I couldn't find the license
  681. > specifically... Tim?  Hello, Tim?  Where are you? :-)
  682.  
  683. It's not stated in legalese.  But there are definitely copying
  684. conditions in there.
  685.  
  686. > > Well, I don't suppose I can stop you.
  687. > Nope, you can't.  And neither can opensource.org, because although
  688. > they have trademarked the term, that doesn't give them the right to
  689. > control how people use the term in conversation or in correspondence.
  690.  
  691. Well, actually . . . 
  692.  
  693. > > That's an interesting theory about trademark law, and you might be
  694. > > right.  The recent Dilution Act suggests otherwise, though, at least in
  695. > > the US.
  696. > If they have the term trademarked, that gives them the right to
  697. > control how that term is used in the marketing and distribution of
  698. > software, but that's where their rights end.  For instance, "kleenex"
  699. > is a trademark, but it is also used in general conversation and indeed
  700. > has become synonymous with "facial tissue".  Whoever owns the
  701. > trademark of "kleenex" 
  702.  
  703. Kimberly-Clark.
  704.  
  705. > can prevent someone else from marketing a
  706. > product using that trademark, but they can't prevent anyone from
  707. > saying "would you hand me a kleenex, please?" even when the product
  708. > they are pointing to wasn't marketed under the name "kleenex".
  709. > Admittedly, I haven't studied the details of trademark law since the
  710. > early 80s, but I think I'm on the mark here.  Do you disagree?
  711.  
  712. The Dilution Act was just passed in the last couple of years; it does
  713. indeed give trademark owners broad powers to shut people up.  It is
  714. somewhat disturbing, and I hope that it is struck down in court.
  715.  
  716. What you say is correct with regard to the Lanham Act.  I think.  I am
  717. also not a lawyer.
  718.  
  719. -- 
  720. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  721. Computers are the tools of the devil. It is as simple as that. There is no
  722. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  723. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  724.  
  725.  
  726. Thanks for using Fractdev, The Fractint Developer's Discussion List
  727. Post Message:   fractdev@lists.xmission.com
  728. Get Commands:   majordomo@lists.xmission.com "help"
  729. Administrator:  twegner@phoenix.net
  730. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  731.  
  732.  
  733. -------------------------------------------------------------------------------
  734.  
  735. From: Phil McRevis <legalize@xmission.com>
  736. Subject: Re: (fractdev) 'open source' 
  737. Date: 22 Feb 1999 14:16:40 -0700
  738.  
  739.  
  740. In article <Pine.SUN.3.96.990222160907.2394L-100000@picard.dnaco.net>,
  741.     kragen@pobox.com (Kragen Sitaker)  writes:
  742. > The Dilution Act was just passed in the last couple of years; it does
  743. > indeed give trademark owners broad powers to shut people up.  It is
  744. > somewhat disturbing, and I hope that it is struck down in court.
  745.  
  746. Bummer.  Sounds like another welfare program for lawyers.
  747.  
  748. I will still say 'kleenex' and 'open source' though.  Maybe they will
  749. sue me, but I doubt it :-).
  750. --
  751. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  752.     ``Ain't it funny that they all fire the pistol,     
  753.       at the wrong end of the race?''--PDBT     
  754. legalize@xmission.com    <http://www.eden.com/~thewho>
  755.  
  756. Thanks for using Fractdev, The Fractint Developer's Discussion List
  757. Post Message:   fractdev@lists.xmission.com
  758. Get Commands:   majordomo@lists.xmission.com "help"
  759. Administrator:  twegner@phoenix.net
  760. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  761.  
  762.  
  763. -------------------------------------------------------------------------------
  764.  
  765. From: Phil McRevis <legalize@xmission.com>
  766. Subject: (fractdev) flat-memory model
  767. Date: 22 Feb 1999 16:40:31 -0700
  768.  
  769. OK, I've made my first pass through the code with the following
  770. changes:
  771.  
  772. 1. removed all near/far/huge qualifiers on pointers
  773. 2. removed the far_str* references in favor of str* (strcpy, strcmp, etc.)
  774. 3. removed the far_mem* references in favor of mem* (memcpy, memcmp, etc.)
  775.  
  776. In general.asm, there are a bunch of routines for manipulating far
  777. memory.  I could remove these, but I'm focusing on the C code right
  778. now and not the assembly.
  779.  
  780. Ther are also some routines for manipulating extended memory and
  781. expanded memory.  These need to be switched to flat-memory model
  782. routines as well, but I'm not so sure how they are used and would like
  783. a little guidance from the developers out there that are familiar with
  784. this.
  785.  
  786. Note that I haven't attempted to compile any code yet, just making
  787. systematic modifications to the source code.  I'm using CVS, so I can
  788. backup after any disastrous changes :-) as well as easily generate
  789. context diffs.
  790. --
  791. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  792.     ``Ain't it funny that they all fire the pistol, 
  793.       at the wrong end of the race?''--PDBT
  794.           <http://www.eden.com/~thewho>
  795.  
  796. Thanks for using Fractdev, The Fractint Developer's Discussion List
  797. Post Message:   fractdev@lists.xmission.com
  798. Get Commands:   majordomo@lists.xmission.com "help"
  799. Administrator:  twegner@phoenix.net
  800. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  801.  
  802.  
  803. -------------------------------------------------------------------------------
  804.  
  805. From: kragen@pobox.com (Kragen Sitaker)
  806. Subject: Re: (fractdev) 'open source' (fwd)
  807. Date: 23 Feb 1999 11:10:15 -0500 (EST)
  808.  
  809.  
  810.  
  811. -- 
  812. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  813. Computers are the tools of the devil. It is as simple as that. There is no
  814. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  815. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  816.  
  817. ---------- Forwarded message ----------
  818. Cc: board@opensource.org
  819.  
  820. Kragen Sitaker writes:
  821.  > > All opensource.org is saying with their trademark is that you can't
  822.  > > "market" software under that rubric without complying with their
  823.  > > terms.
  824.  > 
  825.  > That's an interesting theory about trademark law, and you might be
  826.  > right.  The recent Dilution Act suggests otherwise, though, at least in
  827.  > the US.
  828.  
  829. Hi, Kragen.  ESR has delegated mark misuse issues to me.  There's not
  830. much I can do about heresay.  If they have a web page, or made usenet
  831. postings claiming Open Source, I can whack them.  But on a private
  832. mailing list, there's not much I can do.
  833.  
  834. -- 
  835. -russ nelson <rn-sig@crynwr.com>  http://crynwr.com/~nelson
  836. Crynwr supports Open Source(tm) Software| PGPok |   There is good evidence
  837. 521 Pleasant Valley Rd. | +1 315 268 1925 voice |   that freedom is the
  838. Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   |   cause of world peace.
  839.  
  840.  
  841. Thanks for using Fractdev, The Fractint Developer's Discussion List
  842. Post Message:   fractdev@lists.xmission.com
  843. Get Commands:   majordomo@lists.xmission.com "help"
  844. Administrator:  twegner@phoenix.net
  845. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  846.  
  847.  
  848. -------------------------------------------------------------------------------
  849.  
  850. From: Phil McRevis <legalize@xmission.com>
  851. Subject: Re: (fractdev) 'open source' (fwd) 
  852. Date: 23 Feb 1999 10:27:41 -0700
  853.  
  854.  
  855. Gee, thanks for reporting me to the trademark police! Sheesh.
  856. --
  857. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  858.     ``Ain't it funny that they all fire the pistol,     
  859.       at the wrong end of the race?''--PDBT     
  860. legalize@xmission.com    <http://www.eden.com/~thewho>
  861.  
  862. Thanks for using Fractdev, The Fractint Developer's Discussion List
  863. Post Message:   fractdev@lists.xmission.com
  864. Get Commands:   majordomo@lists.xmission.com "help"
  865. Administrator:  twegner@phoenix.net
  866. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  867.  
  868.  
  869. -------------------------------------------------------------------------------
  870.  
  871. From: kragen@pobox.com (Kragen Sitaker)
  872. Subject: Re: (fractdev) 'open source' (fwd)
  873. Date: 23 Feb 1999 13:38:05 -0500 (EST)
  874.  
  875. You said:
  876. > Gee, thanks for reporting me to the trademark police! Sheesh.
  877.  
  878. I didn't mean it as an unfriendly gesture.  I don't think of them as
  879. police.
  880.  
  881. -- 
  882. <kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
  883. Computers are the tools of the devil. It is as simple as that. There is no
  884. monotheism strong enough that it cannot be shaken by Unix or any Microsoft
  885. product. The devil is real. He lives inside C programs. -- philg@mit.edu
  886.  
  887.  
  888. Thanks for using Fractdev, The Fractint Developer's Discussion List
  889. Post Message:   fractdev@lists.xmission.com
  890. Get Commands:   majordomo@lists.xmission.com "help"
  891. Administrator:  twegner@phoenix.net
  892. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  893.  
  894.  
  895. -------------------------------------------------------------------------------
  896.  
  897. From: Jonathan Osuch <73277.1432@compuserve.com>
  898. Subject: Re: (fractdev) flat-memory model
  899. Date: 23 Feb 1999 20:46:59 -0500
  900.  
  901. >> In general.asm, there are a bunch of routines for manipulating far
  902. memory.  I could remove these, but I'm focusing on the C code right
  903. now and not the assembly. <<
  904.  
  905. The Xfractint source code contains a file called general.c, which address=
  906. es
  907. this issue.
  908.  
  909. >> There are also some routines for manipulating extended memory and
  910. expanded memory.  These need to be switched to flat-memory model
  911. routines as well, but I'm not so sure how they are used and would like
  912. a little guidance from the developers out there that are familiar with
  913. this. <<
  914.  
  915. The extended and expanded memory routines aren't required.  The Xfractint=
  916.  
  917. code includes two defines for them which effectively turns any calls for
  918. extended and expanded into ordinary memory calls.  This statement will ma=
  919. ke
  920. (more) sense if you are working with the developer's version where the
  921. memory routines have been consolidated.  In the version 19.6 source, the
  922. expanded and extended routines are #ifdef'd out for Xfract.
  923.  
  924. Jonathan
  925.  
  926. Thanks for using Fractdev, The Fractint Developer's Discussion List
  927. Post Message:   fractdev@lists.xmission.com
  928. Get Commands:   majordomo@lists.xmission.com "help"
  929. Administrator:  twegner@phoenix.net
  930. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  931.  
  932.  
  933. -------------------------------------------------------------------------------
  934.  
  935. From: Phil McRevis <legalize@xmission.com>
  936. Subject: Re: (fractdev) flat-memory model 
  937. Date: 23 Feb 1999 19:55:41 -0700
  938.  
  939.  
  940. In article <199902232047_MC2-6B9E-3EEE@compuserve.com>,
  941.     Jonathan Osuch <73277.1432@compuserve.com>  writes:
  942. > The Xfractint source code contains a file called general.c, which address=
  943. > es
  944. > this issue.
  945.  
  946. Well not really.  That general.c file addresses the issue of video I/O
  947. for *unix*, which doesn't really help for a flat-memory model
  948. conversion for the DOS version of fractint.  Maybe I will just have to
  949. convert the assembly to 32-bit after I get all this memory model stuff
  950. removed.  I'm upgrading to BCB4 anyway and it includes TASM and
  951. Borland's C++ compiler v5.02 in the box.
  952. --
  953. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  954.     ``Ain't it funny that they all fire the pistol,     
  955.       at the wrong end of the race?''--PDBT     
  956. legalize@xmission.com    <http://www.eden.com/~thewho>
  957.  
  958. Thanks for using Fractdev, The Fractint Developer's Discussion List
  959. Post Message:   fractdev@lists.xmission.com
  960. Get Commands:   majordomo@lists.xmission.com "help"
  961. Administrator:  twegner@phoenix.net
  962. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  963.  
  964.  
  965. -------------------------------------------------------------------------------
  966.  
  967. From: "Tim Wegner" <twegner@phoenix.net>
  968. Subject: (fractdev) 32 bit port
  969. Date: 24 Feb 1999 21:05:00 -0600
  970.  
  971. Rich wrote:
  972.  
  973. > Tim?  Hello, Tim?  Where are you? :-)
  974.  
  975. I'm back, wading through my mail ... I was in Minnesota Saturday 
  976. through Tuesday night.
  977.  
  978. We should get you caught up with the later developer version 
  979. before you get too far, probably too late! I shall endeavor to upload 
  980. some sort of synch soon.
  981.  
  982. I have Borland C++ Builder 3, and am not planning to upgrade. I 
  983. think a djgpp version would give us the most bang for the effort. In 
  984. fact what I'd love for starters would be a djgpp version with the 
  985. identical interface as Fractint. 
  986.  
  987. The initial problem we need to solve is how to do menus and 
  988. graphics. Xfractint has already solved far pointers etc. with defines. 
  989.  
  990. Then we could consider making that the "official" DOS version, and 
  991. could massively rearchitect the fractint internals without diverging 
  992. from our official version.
  993.  
  994. Tim 
  995.  
  996.  
  997.  
  998.  
  999. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1000. Post Message:   fractdev@lists.xmission.com
  1001. Get Commands:   majordomo@lists.xmission.com "help"
  1002. Administrator:  twegner@phoenix.net
  1003. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1004.  
  1005.  
  1006. -------------------------------------------------------------------------------
  1007.  
  1008. From: Phil McRevis <legalize@xmission.com>
  1009. Subject: Re: (fractdev) 32 bit port 
  1010. Date: 24 Feb 1999 20:18:48 -0700
  1011.  
  1012.  
  1013. In article <199902250305.VAA22657@voyager.c-com.net>,
  1014.     "Tim Wegner" <twegner@phoenix.net>  writes:
  1015. > We should get you caught up with the later developer version 
  1016. > before you get too far, probably too late! I shall endeavor to upload 
  1017. > some sort of synch soon.
  1018.  
  1019. Yes, that would be good.  Just send me a URL where I can obtain it.  I
  1020. am using CVS/RCS so I can generate diffs and apply them to the code
  1021. and/or just use emacs again to remove all the near/far/huge
  1022. qualifiers.
  1023.  
  1024. > I have Borland C++ Builder 3, and am not planning to upgrade.
  1025.  
  1026. (There is a coupon in BCB3 for the Borland C++ 5.02 compiler; just
  1027. that its easier with BCB4 since it comes in the box and you don't have
  1028. to send away for it.  The coupon lets you obtain it for free, and I've
  1029. just been lazy.  BCB3 also has TASM support; I didn't mean to imply
  1030. that BCB4 would be required in order to obtain either of those
  1031. features.)
  1032.  
  1033. > I 
  1034. > think a djgpp version would give us the most bang for the effort. In 
  1035. > fact what I'd love for starters would be a djgpp version with the 
  1036. > identical interface as Fractint. 
  1037.  
  1038. That's what I was thinking to.
  1039.  
  1040. > The initial problem we need to solve is how to do menus and 
  1041. > graphics. Xfractint has already solved far pointers etc. with defines. 
  1042.  
  1043. See my earlier message about maintenance as to why I don't think
  1044. #defining the qualifiers away is a good idea.  Of course that's just
  1045. my personal taste, but since I'm doing the work, you'll all have to
  1046. live with that :-).  (I don't expect any objections; moving to 32-bit
  1047. is more than just removing the qualifiers and if you really want
  1048. 16bit, then you just compile the 19.x source.)
  1049.  
  1050. Here are my thoughts for the evolution:
  1051.  
  1052.     o modify code to 32-bit, flat-memory model
  1053.  
  1054.     o make a pass through the code to shuffle the data declarations
  1055.     that were done in weird ways in order to cope with limited memory
  1056.     space in 16bit mode.  (strings declared static rather than just as
  1057.     literals and so-on.)  This should make understanding the code
  1058.     easier for new developers because they can focus on the
  1059.     _algorithm_ rather than memory model straightjackets.
  1060.  
  1061.     o GUI/graphics abstraction, but keeping the same DOS UI.  This is
  1062.     largerly there, but the big change is just moving to an
  1063.     event-based architecture rather than a polling architecture.
  1064.  
  1065. After that, adding new "front ends" (graphics + GUI) to support other
  1066. platforms should be MUCH easier.  Then we can get on with ideas for
  1067. Win32/X/MacOS/DirectX methods of doing the graphics & GUI.
  1068. --
  1069. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  1070.     ``Ain't it funny that they all fire the pistol,     
  1071.       at the wrong end of the race?''--PDBT     
  1072. legalize@xmission.com    <http://www.eden.com/~thewho>
  1073.  
  1074. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1075. Post Message:   fractdev@lists.xmission.com
  1076. Get Commands:   majordomo@lists.xmission.com "help"
  1077. Administrator:  twegner@phoenix.net
  1078. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1079.  
  1080.  
  1081. -------------------------------------------------------------------------------
  1082.  
  1083. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  1084. Subject: Re: (fractdev) 32 bit port 
  1085. Date: 25 Feb 1999 15:35:29 -0300 (EST)
  1086.  
  1087. On Wed, 24 Feb 1999, Phil McRevis wrote:
  1088.  
  1089. > > I 
  1090. > > think a djgpp version would give us the most bang for the effort. In 
  1091. > > fact what I'd love for starters would be a djgpp version with the 
  1092. > > identical interface as Fractint. 
  1093. > That's what I was thinking to.
  1094.  
  1095.     Hi Everyone,
  1096.  
  1097.     I just got back from vacations and I'm getting up to date w/ the
  1098. fractdev list.
  1099.  
  1100.     By what is being dicussed I thik we should really take advantage of the
  1101. unixisms of djgpp or even a dos version of the new egcs (if both can compile the
  1102. new version of frcatint it would be great). The commercial DOS alternatives to
  1103. 32 bit aren't so nice because they have many differences in comparasion to the
  1104. traditional gcc.
  1105.  
  1106.     By what we have discussed in the past there is much of the 32 bit
  1107. porting work done in the XFractint wich only needs the adition of a graphical
  1108. interface to a 32bit DOS app. My opinion is the same of Phil: use the Allegro
  1109. library (the way it was used in XaoS really made me optimist, it compiles
  1110. in DOS (djgpp+allegro) and unix (gcc+allegro).
  1111.  
  1112.     So Just to add a practical 2cents here:
  1113.  
  1114.     What if we made the following (this means you Phil since you started it
  1115. first):
  1116.  
  1117.     - Check the solution djgpp+allegro and how it was used (lin in KaoS)
  1118.  
  1119.     - Modify only the parts needed to get a running version of fractint in
  1120. djgpp WITH all the #defines and such in place since they already comment out
  1121. what is nedded and include the C code where nedded.
  1122.  
  1123.     - After it compiles and runs ok, try the same unde Linux (for instance)
  1124. with allegro pointing to, say, SVGALib. (I can test this)
  1125.  
  1126.     - With this running we (now not only Phil) can clean up the code to
  1127. release an official (developers?) version of the 32Bit fractint. (clean up means
  1128. only taking out the #defines and comments that are useless).
  1129.  
  1130.     - Now every interested developper can check it's algorithm and i guess
  1131. Tim may give a general direction in adjusting the datastructures and such to use
  1132. better the flat memory model.
  1133.  
  1134.     Ideas? Comments?
  1135.  
  1136.     []'s
  1137.  
  1138.     Humberto R. Baptista
  1139.     humberto@insite.com.br
  1140.  
  1141. Insite - Solucoes Internet                         http://www.insite.com.br
  1142.  
  1143.  
  1144. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1145. Post Message:   fractdev@lists.xmission.com
  1146. Get Commands:   majordomo@lists.xmission.com "help"
  1147. Administrator:  twegner@phoenix.net
  1148. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1149.  
  1150.  
  1151. -------------------------------------------------------------------------------
  1152.  
  1153. From: Tim Gilman <t.gilman@apple.com>
  1154. Subject: (fractdev) Re: 32 bit port - graphics API
  1155. Date: 25 Feb 1999 10:47:17 -0800
  1156.  
  1157. >* (legalize@xmission.com) unpacked this on 2/24/99 7:18 PM:
  1158. >After that, adding new "front ends" (graphics + GUI) to support other
  1159. >platforms should be MUCH easier.  Then we can get on with ideas for
  1160. >Win32/X/MacOS/DirectX methods of doing the graphics & GUI.
  1161.  
  1162. >> "Tim Wegner" <twegner@phoenix.net>  writes:
  1163. >> The initial problem we need to solve is how to do menus and 
  1164. >> graphics. Xfractint has already solved far pointers etc. with defines. 
  1165.  
  1166. I've run across a strange bug that might open up some discussion on 
  1167. graphics.  The MacOS's graphics engine (QuickDraw) allows a programmer to 
  1168. syncronize a pixel map of values 0-255 with the index (of range 0-255) of 
  1169. a color palette, such that palette-animation/color-cycling can occur on 
  1170. devices that normally don't have such indices (such as monitors set to 
  1171. 32-bit depth).  Devices like this become a problem for users who try to 
  1172. color-cycle a fractal on a monitor set to 32-bit depth while other 
  1173. color-hungry applications (like photoshop) are open.
  1174.  
  1175. So, to allow this sort of color-cycling, I exploited a hardly documented 
  1176. feature of QuickDraw.  Doing this allowed color-cycling *while* changing 
  1177. monitor bit-depths, and at the same time preserved the way each color 
  1178. looked on the monitor.  Through beta-feedback, I've discovered that 
  1179. certain Mac OS clones contain 3rd party video cards that don't support 
  1180. QuickDraw's hardly documented feature of index-to-palette 
  1181. synchronization, and the way they don't support it is through crashing 
  1182. the machine!
  1183.  
  1184. This problem only happens on probably 5% of Mac OS running machines, but 
  1185. it's large enough to demonstrate Fractint's need for a graphic's API that 
  1186. is supported across a variety of software platforms (axing 
  1187. MacOS/QuickDraw and Win32/DirectX), and has enough hardware support to 
  1188. actually keep Fractint fast *and* color-cycling.  I'm not sure if there 
  1189. is such an API, but I'm doing some more research on OpenGL to figure out 
  1190. if it's capable of supporting indexed-on-a-direct-device color-animation.
  1191.  
  1192. Does anyone have any opinions on these sorts of issues?
  1193.  
  1194. =- Tim Gilman
  1195.  
  1196.  
  1197.   "There is no truth, in which passing through awareness, does not lie.
  1198.    Yet we chase after it all the same."           - J. Lacan
  1199.  
  1200.  
  1201. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1202. Post Message:   fractdev@lists.xmission.com
  1203. Get Commands:   majordomo@lists.xmission.com "help"
  1204. Administrator:  twegner@phoenix.net
  1205. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1206.  
  1207.