home *** CD-ROM | disk | FTP | other *** search
/ ftp.xmission.com / 2014.06.ftp.xmission.com.tar / ftp.xmission.com / pub / lists / fractdev / archive / v01.n021 < prev    next >
Internet Message Format  |  1999-04-29  |  44KB

  1. From: owner-fractdev-digest@lists.xmission.com (fractdev-digest)
  2. To: fractdev-digest@lists.xmission.com
  3. Subject: fractdev-digest V1 #21
  4. Reply-To: fractdev-digest
  5. Sender: owner-fractdev-digest@lists.xmission.com
  6. Errors-To: owner-fractdev-digest@lists.xmission.com
  7. Precedence: bulk
  8.  
  9.  
  10. fractdev-digest        Thursday, April 29 1999        Volume 01 : Number 021
  11.  
  12.  
  13.  
  14.  
  15. ----------------------------------------------------------------------
  16.  
  17. Date: Thu, 29 Apr 1999 21:16:20 -0300 (EST)
  18. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  19. Subject: Porting Fractint (was Re: (fractdev) DOS support via allegro?)
  20.  
  21.     Hi All,
  22.  
  23.     Good to the the list moving :-)
  24.  
  25.     "Phil" I've browsed in to the XaoS code (alnd I wrote the author for
  26. more info but haven't got an answer yet). It uses a nice approach to isolate
  27. OS-specifica prats from the main program, what makes porting easy if the C style
  28. isn't plataform specific or makes assumptions on sizeof things etc.
  29.  
  30.     I have managed to compile hc (and it works) and fractint (it does not
  31. work yet) qith DJGPP and I was writing a small quick intro to those that want to
  32. experiment with DJGPP. I'll post it to the list as it is fairly small.
  33.  
  34.     If we can use a similar approach: an API to handel OS-specific stuff I
  35. guess the rest of the problem would be clean the code from plataform assumtions
  36. and we could have Fractint running in several platforms (like XaoS for
  37. instance).
  38.  
  39.     []'s
  40.  
  41.     Humberto R. Baptista
  42.     humberto@insite.com.br
  43.  
  44. - ---------------------------------------------------------------------------
  45. Insite - Solucoes Internet                         http://www.insite.com.br
  46.  
  47. - -----BEGIN GEEK CODE BLOCK-----
  48. Version: 3.1
  49. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  50. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  51. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  52. y+++*
  53. - ------END GEEK CODE BLOCK------
  54.  
  55.  
  56.  
  57. - --------------------------------------------------------------
  58. Thanks for using Fractdev, The Fractint Developer's Discussion List
  59. Post Message:   fractdev@lists.xmission.com
  60. Get Commands:   majordomo@lists.xmission.com "help"
  61. Administrator:  twegner@phoenix.net
  62. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  63.  
  64. ------------------------------
  65.  
  66. Date: Thu, 29 Apr 1999 21:18:52 -0300 (EST)
  67. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  68. Subject: (fractdev) Preliminar DJGPP howto :-))
  69.  
  70. HOWTO work with GCC in DOS - for the Fractint Devel Team
  71.  
  72. 1. Getting the Tools
  73.  
  74.     Go to DJGPP (Delorie's GCC port to DOS)
  75.  
  76.     http://www.delorie.com/djgpp/ 
  77.  
  78.     And select the /Zip Picker/ there choose your preferred SimTel
  79. mirror and pick (at least) the options:
  80.  
  81.     -Build and run programs with DJGPP
  82.     -<your operating system>
  83.     -<documentation if you do not use emacs/rhide>
  84.     -C
  85.     -RHide <recommended> or Emacs <for those used to it>
  86.     -<gdb if not using RHide>
  87.     -Allegro Toolkit
  88.     -GRX
  89.  
  90.     And download the files.
  91.  
  92. 2. Install
  93.  
  94.     From the result of /Zip Picker/:
  95. "
  96. You need to update your C:\AUTOEXEC.BAT to include the following lines: 
  97.  
  98. set PATH=C:\DJGPP\BIN;%PATH%
  99. set DJGPP=C:\DJGPP\DJGPP.ENV
  100.  
  101. Note that the PATH statement should follow any other PATH statements, or you may
  102. edit an existing PATH
  103. statement.
  104.  
  105. You'll need to restart your computer for these changes to take effect.
  106. "
  107.     
  108. 3. Build and test Allegro & GRX
  109.  
  110.     Go to the allegro directory:
  111.  
  112.     c:
  113.         cd \DJGPP\ALLEGRO
  114.  
  115.     and make all files:
  116.  
  117.     make
  118.  
  119.     This should produce all binaries using your newlyn installed
  120. DJGPP and all the examples too, do a CD EXAMPLES and experiment with all
  121. the examples: ex*.exe Some of them will give good implementations ideas
  122. besides showing what allegro can do.
  123.  
  124.     []'s
  125.  
  126.     HB
  127.  
  128.  
  129. - --------------------------------------------------------------
  130. Thanks for using Fractdev, The Fractint Developer's Discussion List
  131. Post Message:   fractdev@lists.xmission.com
  132. Get Commands:   majordomo@lists.xmission.com "help"
  133. Administrator:  twegner@phoenix.net
  134. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  135.  
  136. ------------------------------
  137.  
  138. Date: Thu, 29 Apr 1999 18:19:38 -0600
  139. From: Phil McRevis <legalize@xmission.com>
  140. Subject: Re: Porting Fractint (was Re: (fractdev) DOS support via allegro?) 
  141.  
  142. Humberto, if you're also working on DJGPP issues, that would be great
  143. to coordinate.  My primary development platform is Borland C++ tools
  144. on the PC.  I have downloaded djgpp but haven't installed it from the
  145. zips yet.
  146.  
  147. In article <Pine.LNX.4.02.9904292110030.9207-100000@tatui.insite.com.br>,
  148.     Humberto Rossetti Baptista <humberto@insite.com.br>  writes:
  149. > If we can use a similar approach: an API to handel OS-specific stuff I
  150. > guess the rest of the problem would be clean the code from plataform
  151. > assumtions
  152. > and we could have Fractint running in several platforms (like XaoS for
  153. > instance).
  154.  
  155. That's the idea exactly.  I've outlined what I see (so far) as the OS
  156. specific issues in another message.
  157. - --
  158. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  159.     ``Ain't it funny that they all fire the pistol,     
  160.       at the wrong end of the race?''--PDBT     
  161. legalize@xmission.com    <http://www.eden.com/~thewho>
  162.  
  163. - --------------------------------------------------------------
  164. Thanks for using Fractdev, The Fractint Developer's Discussion List
  165. Post Message:   fractdev@lists.xmission.com
  166. Get Commands:   majordomo@lists.xmission.com "help"
  167. Administrator:  twegner@phoenix.net
  168. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  169.  
  170. ------------------------------
  171.  
  172. Date: Thu, 29 Apr 1999 21:29:55 -0300 (EST)
  173. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  174. Subject: Re: (fractdev) portability thoughts
  175.  
  176. On Thu, 29 Apr 1999, Phil McRevis wrote:
  177.  
  178. >     memory allocation
  179. >     memory "models"
  180. >     virtual memory: mmap vs. home-brew file I/O cache
  181. > Memory models disappear completely when dealing with a DPMI extender
  182. > port.
  183.  
  184.     Yep.
  185.  
  186. > Fractint has elaborate strategies for coping with limited amounts of
  187. > memory for various situations.  Would a flat-model port eliminate the
  188. > need for this parsimony?  Do the DPMI's provide virtual memory?  If
  189. > so, then I'd suggest ditching the parsimonious behavior in favor of
  190. > the VM from the DPMI.  If the flat-model only eliminates near/far/huge
  191. > business but still leaves the need for being parsimonious, then the
  192. > disk caching logic and so-on should remain.
  193.  
  194.     The "extender" used to put a app in flat mode (32 bit) in DOS and the
  195. DPMI server should handle ALL memory stuff. Other platforms do this nicely
  196. (linux for instance) so we shoud invest as little as possible in this. As the
  197. DPMI + extender do this for uss let's not mess more with overlays, memory
  198. models and disk caching strats.
  199.  
  200. >     signals
  201. > There are differences between unices.  Some signal handlers return
  202. > void, some return int.  Autoconf can handle this.
  203.  
  204.     As of now fractint does not need to handle them except in specific
  205. platforms (unix) so we could leave them to be dealt with later.
  206.  
  207. >     compilation issues / portability / assembler
  208.  
  209.     I was converned w/ the assembly part of fractint, but is easy to avoid
  210. it completly as the Xfractint code already does. As tim pointed out this is the
  211. way we should go: Make Xfractint more portable, maybe running in DOS and Linux
  212. and then clean things up.
  213.  
  214. >     autoconf
  215.  
  216.     I've never dealt w/ autoconf in the developpers role, but I  am seing a
  217. lot of stuff here that isn't essential to put things up and running in a
  218. portable manner.
  219.  
  220. > The arbitrary precision arithmetic routines used by fractint aren't
  221. > portable to non-x86 platforms.  However, the gmp (GNU multiple
  222.  
  223.     Why not? I havent checked this myself but if I recall right it has a
  224. nice C version of everything that is MP related. Tim?
  225.  
  226. > Given the other items on the portability menu, I'd rank this as a
  227. > rather low-priority item.  (On the other hand, if you deseperately
  228. > want xfractint calculating arbitrary precision M-sets on a cray, you
  229. > might prioritize it higher. :-)
  230.  
  231.     Yesssss. And also I think gmp is C++ isnt' it?
  232.  
  233.     Humberto R. Baptista
  234.     humberto@insite.com.br
  235.  
  236. - ---------------------------------------------------------------------------
  237. Insite - Solucoes Internet                         http://www.insite.com.br
  238.  
  239. - -----BEGIN GEEK CODE BLOCK-----
  240. Version: 3.1
  241. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  242. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  243. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  244. y+++*
  245. - ------END GEEK CODE BLOCK------
  246.  
  247.  
  248.  
  249. - --------------------------------------------------------------
  250. Thanks for using Fractdev, The Fractint Developer's Discussion List
  251. Post Message:   fractdev@lists.xmission.com
  252. Get Commands:   majordomo@lists.xmission.com "help"
  253. Administrator:  twegner@phoenix.net
  254. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  255.  
  256. ------------------------------
  257.  
  258. Date: Thu, 29 Apr 1999 21:37:20 -0300 (EST)
  259. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  260. Subject: (fractdev) Porting fractint strategies (32bit flat mem. model etc.)
  261.  
  262.     List,
  263.  
  264.     I wish to help a little with some simple suggestions to all that are
  265. thinking/working with the portability issue:
  266.  
  267.     a) let's release a "last" 16 bit versino ASAP (Tim?) and feature freeze
  268. it (just correct bugs).
  269.  
  270.     b) Let's concentrate in put up a version running in DJGPP/DOS (or
  271. gcc/Linux, wichever has the larger number of developpers willing to help) with
  272. the LEAST modiffications needed. I think this should be done in the api manner
  273. XaoS does as "Phil" pointed, but without adding to much fuzz to the process and
  274. then
  275.     c) Hunt down all others platform-centric issues and remove historic code
  276. (that wont'be used any more) together with:
  277.  
  278.     d) work on the low level drivers to several platforms (using the API) to
  279. spread the Fractint development further more.
  280.  
  281.     The b) item seems like a bottleneck point to me, that's why i'm
  282. insisting in the simplicity approach :-)
  283.  
  284.     After it is done we can work in paralell, cleaning code, porting, and
  285. (of COURSE) coding new stuff for Fractint :->>> 
  286.  
  287.     []'s
  288.  
  289.     Humberto R. Baptista
  290.     humberto@insite.com.br
  291.  
  292. - ---------------------------------------------------------------------------
  293. Insite - Solucoes Internet                         http://www.insite.com.br
  294.  
  295. - -----BEGIN GEEK CODE BLOCK-----
  296. Version: 3.1
  297. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  298. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  299. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  300. y+++*
  301. - ------END GEEK CODE BLOCK------
  302.  
  303.  
  304.  
  305. - --------------------------------------------------------------
  306. Thanks for using Fractdev, The Fractint Developer's Discussion List
  307. Post Message:   fractdev@lists.xmission.com
  308. Get Commands:   majordomo@lists.xmission.com "help"
  309. Administrator:  twegner@phoenix.net
  310. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  311.  
  312. ------------------------------
  313.  
  314. Date: Thu, 29 Apr 1999 21:46:19 -0300 (EST)
  315. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  316. Subject: Re: Porting Fractint (was Re: (fractdev) DOS support via allegro?)
  317.  
  318. On Thu, 29 Apr 1999, Phil McRevis wrote:
  319.  
  320. > Humberto, if you're also working on DJGPP issues, that would be great
  321. > to coordinate.  My primary development platform is Borland C++ tools
  322. > on the PC.  I have downloaded djgpp but haven't installed it from the
  323. > zips yet.
  324.  
  325.     Frankly I've been using Borland tools anlo and just recently downloaded
  326. the djgpp (and Allegro and rhide a nice IDE for DJGPP, very similar to
  327. borland's) and it is GREAT. Works very well.
  328.  
  329.     See if my draft of DJGPP howto helps! :-))))) (it's already posted).
  330.  
  331. > That's the idea exactly.  I've outlined what I see (so far) as the OS
  332. > specific issues in another message.
  333.  
  334.     Speaking of "echo" :-)
  335.  
  336.     Right I've read it and I think I've being doing it wrong in not sharing
  337. the experiences with the list, so all of you jus cope w/ me while I compensate
  338. for that :-)
  339.  
  340.     XaoS approach to the platform-api is to put all variables and function
  341. adresess specifict to that platform in a big struct and go for it. I am thinking
  342. if we should do the same or if there would be any gain to slpit the api in
  343. several areas (for instance graphics, sound, mice/keyboard, disk related etc.)
  344. What do you think??
  345.  
  346.     []'s
  347.  
  348.     Humberto R. Baptista
  349.     humberto@insite.com.br
  350.  
  351. - ---------------------------------------------------------------------------
  352. Insite - Solucoes Internet                         http://www.insite.com.br
  353.  
  354. - -----BEGIN GEEK CODE BLOCK-----
  355. Version: 3.1
  356. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  357. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  358. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  359. y+++*
  360. - ------END GEEK CODE BLOCK------
  361.  
  362.  
  363.  
  364. - --------------------------------------------------------------
  365. Thanks for using Fractdev, The Fractint Developer's Discussion List
  366. Post Message:   fractdev@lists.xmission.com
  367. Get Commands:   majordomo@lists.xmission.com "help"
  368. Administrator:  twegner@phoenix.net
  369. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  370.  
  371. ------------------------------
  372.  
  373. Date: Thu, 29 Apr 1999 18:50:31 -0600
  374. From: Phil McRevis <legalize@xmission.com>
  375. Subject: Re: (fractdev) portability thoughts 
  376.  
  377. In article <Pine.LNX.4.02.9904292120570.9207-100000@tatui.insite.com.br>,
  378.     Humberto Rossetti Baptista <humberto@insite.com.br>  writes:
  379. >     I've never dealt w/ autoconf in the developpers role, but I  am seing a
  380. > lot of stuff here that isn't essential to put things up and running in a
  381. > portable manner.
  382.  
  383. What things are you seeing that aren't essential?  All the things I
  384. listed are portability issues.
  385.  
  386. > > The arbitrary precision arithmetic routines used by fractint aren't
  387. > > portable to non-x86 platforms.  However, the gmp (GNU multiple
  388. >     Why not? I havent checked this myself but if I recall right it has a
  389. > nice C version of everything that is MP related. Tim?
  390.  
  391. Some low-level stuff is written in assembly, see bigflta.asm and
  392. bignuma.asm.  Poking around a little more, it looks like bigfltc.c
  393. implements C versions of the assembly routines.  As I say, I consider
  394. switching to gmp to be a very low-priority item, i.e. one of
  395. optimization not one of correctness.  You want to do it eventually to
  396. get fast MP support on more than just x86 DOS platforms.  (Even x86
  397. linux can't take advantage of the x86 assembly for fractint's MP math
  398. since the assembly is 16-bit!)
  399.  
  400. >     Yesssss. And also I think gmp is C++ isnt' it?
  401.  
  402. gmp is ANSI C.
  403. - --
  404. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  405.     ``Ain't it funny that they all fire the pistol,     
  406.       at the wrong end of the race?''--PDBT     
  407. legalize@xmission.com    <http://www.eden.com/~thewho>
  408.  
  409. - --------------------------------------------------------------
  410. Thanks for using Fractdev, The Fractint Developer's Discussion List
  411. Post Message:   fractdev@lists.xmission.com
  412. Get Commands:   majordomo@lists.xmission.com "help"
  413. Administrator:  twegner@phoenix.net
  414. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  415.  
  416. ------------------------------
  417.  
  418. Date: Thu, 29 Apr 1999 18:53:51 -0600
  419. From: Phil McRevis <legalize@xmission.com>
  420. Subject: Re: (fractdev) Porting fractint strategies (32bit flat mem. model etc.) 
  421.  
  422. Humberto, what you propose is exactly inline with my thinking.  I'm
  423. already signed up for the "driver harness" a la XaoS and adjusting the
  424. existing xfract code to use the harness.  Then I'll remove all memory
  425. model stuff.  That should serve as the starting point for whoever adds
  426. display driver support back in for the DOS DJGPP side of things.
  427. There are places where parallel developers can work without bumping
  428. into each other (different display driver implementations), but its
  429. probably best to have just one person overhaul the central control
  430. logic and associated glue to the driver.  We've kinda talked about
  431. this forever so I just got sick of talking about it and I'm doing it.
  432. :-)
  433. - --
  434. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  435.     ``Ain't it funny that they all fire the pistol,     
  436.       at the wrong end of the race?''--PDBT     
  437. legalize@xmission.com    <http://www.eden.com/~thewho>
  438.  
  439. - --------------------------------------------------------------
  440. Thanks for using Fractdev, The Fractint Developer's Discussion List
  441. Post Message:   fractdev@lists.xmission.com
  442. Get Commands:   majordomo@lists.xmission.com "help"
  443. Administrator:  twegner@phoenix.net
  444. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  445.  
  446. ------------------------------
  447.  
  448. Date: Thu, 29 Apr 1999 19:03:41 -0600
  449. From: Phil McRevis <legalize@xmission.com>
  450. Subject: Re: Porting Fractint (was Re: (fractdev) DOS support via allegro?) 
  451.  
  452. In article <Pine.LNX.4.02.9904292140580.9207-100000@tatui.insite.com.br>,
  453.     Humberto Rossetti Baptista <humberto@insite.com.br>  writes:
  454. >     XaoS approach to the platform-api is to put all variables and function
  455. > adresess specifict to that platform in a big struct and go for it. I am think
  456. ing
  457. > if we should do the same or if there would be any gain to slpit the api in
  458. > several areas (for instance graphics, sound, mice/keyboard, disk related etc.
  459. )
  460. > What do you think??
  461.  
  462. I'm thinking that the driver keeps private any data that it needs only
  463. to get its job done.  Under X11, that means things like pixel lookup
  464. tables, dynamically allocated X resources (windows, pixmaps,
  465. colormaps, GCs, etc.) and so-on.  These are visible only to the
  466. driver.
  467.  
  468. Then there is a collection of stuff that is supplied to fractint for
  469. handling the video driver support.  This is basically an array of
  470. structures that define video mode characteristics.  Currently this
  471. collection of settings is couched in very PC-centric terms, right down
  472. to the interrupt call arguments!
  473.  
  474. That basic idea would remain the same with display drivers, however.
  475. What changes is the control logic that initializes the table at
  476. program startup-time (and possibly updating it during runtime).  Right
  477. now the table is created from fractint.cfg as a fixed list.  Some of
  478. the data currently stored in the table (like PC interrupt arguments)
  479. becomes private data of the driver.  The rest remains relevant as a
  480. result from a driver when its queried from fractint.
  481. - --
  482. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  483.     ``Ain't it funny that they all fire the pistol,     
  484.       at the wrong end of the race?''--PDBT     
  485. legalize@xmission.com    <http://www.eden.com/~thewho>
  486.  
  487. - --------------------------------------------------------------
  488. Thanks for using Fractdev, The Fractint Developer's Discussion List
  489. Post Message:   fractdev@lists.xmission.com
  490. Get Commands:   majordomo@lists.xmission.com "help"
  491. Administrator:  twegner@phoenix.net
  492. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  493.  
  494. ------------------------------
  495.  
  496. Date: Thu, 29 Apr 1999 22:06:12 -0300 (EST)
  497. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  498. Subject: Re: (fractdev) Porting fractint strategies (32bit flat mem. model etc.) 
  499.  
  500. On Thu, 29 Apr 1999, Phil McRevis wrote:
  501.  
  502. > Humberto, what you propose is exactly inline with my thinking.  I'm
  503.  
  504.     excelent.
  505.  
  506. > probably best to have just one person overhaul the central control
  507. > logic and associated glue to the driver.  We've kinda talked about
  508.  
  509.     This is exatcly why i called this a bottleneck.
  510.  
  511. > this forever so I just got sick of talking about it and I'm doing it.
  512. > :-)
  513.  
  514.     Cool. I do not have a lot of time spare right now, but if you need any
  515. help just say so. PS: got the DJGPP howto?
  516.  
  517.     []'s
  518.  
  519.     Humberto R. Baptista
  520.     humberto@insite.com.br
  521.  
  522. - ---------------------------------------------------------------------------
  523. Insite - Solucoes Internet                         http://www.insite.com.br
  524.  
  525. - -----BEGIN GEEK CODE BLOCK-----
  526. Version: 3.1
  527. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  528. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  529. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  530. y+++*
  531. - ------END GEEK CODE BLOCK------
  532.  
  533.  
  534.  
  535. - --------------------------------------------------------------
  536. Thanks for using Fractdev, The Fractint Developer's Discussion List
  537. Post Message:   fractdev@lists.xmission.com
  538. Get Commands:   majordomo@lists.xmission.com "help"
  539. Administrator:  twegner@phoenix.net
  540. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  541.  
  542. ------------------------------
  543.  
  544. Date: Thu, 29 Apr 1999 22:18:19 -0300 (EST)
  545. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  546. Subject: Re: (fractdev) portability thoughts 
  547.  
  548. On Thu, 29 Apr 1999, Phil McRevis wrote:
  549.  
  550. > What things are you seeing that aren't essential?  All the things I
  551. > listed are portability issues.
  552.  
  553.     Yes, but you have already pointed that some are less priority than
  554. others :-)
  555.  
  556.     Also some things are not done properly but are done like the handling of
  557. \ and / (i guess it is in port.h as several other stuff like data types are also
  558. defined).
  559.  
  560.     []'s
  561.  
  562.     Humberto R. Baptista
  563.     humberto@insite.com.br
  564.  
  565. - ---------------------------------------------------------------------------
  566. Insite - Solucoes Internet                         http://www.insite.com.br
  567.  
  568. - -----BEGIN GEEK CODE BLOCK-----
  569. Version: 3.1
  570. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  571. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  572. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  573. y+++*
  574. - ------END GEEK CODE BLOCK------
  575.  
  576.  
  577.  
  578. - --------------------------------------------------------------
  579. Thanks for using Fractdev, The Fractint Developer's Discussion List
  580. Post Message:   fractdev@lists.xmission.com
  581. Get Commands:   majordomo@lists.xmission.com "help"
  582. Administrator:  twegner@phoenix.net
  583. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  584.  
  585. ------------------------------
  586.  
  587. Date: Thu, 29 Apr 1999 20:27:53 -0500
  588. From: "Damien M. Jones" <dmj@fractalus.com>
  589. Subject: Re: (fractdev) C++ templates and generic programming and fractint! :) 
  590.  
  591. Rich,
  592.  
  593.  - Ah, but here you're using the inheritence/OOness of C++ to exploit
  594.  - reuse.  The generic programming/template model, as embodied by the STL
  595.  - for example, is really quite a different kind of reuse than that
  596.  - provided by class hierarchies.
  597.  
  598. My mistake, I thought you were referring to inheritance with different
  599. terminology, and not the STL. You're right, that IS different. And yes, I
  600. was using inheritance to exploit reuse.
  601.  
  602. Damien M. Jones   \\
  603. dmj@fractalus.com  \\  Fractalus Galleries & Info:
  604.                     \\  http://www.fractalus.com/
  605.  
  606. Please do not post my e-mail address on a web site or
  607. in a newsgroup.  Thank you.
  608.  
  609. - --------------------------------------------------------------
  610. Thanks for using Fractdev, The Fractint Developer's Discussion List
  611. Post Message:   fractdev@lists.xmission.com
  612. Get Commands:   majordomo@lists.xmission.com "help"
  613. Administrator:  twegner@phoenix.net
  614. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  615.  
  616. ------------------------------
  617.  
  618. Date: Thu, 29 Apr 1999 19:55:01 -0600
  619. From: Phil McRevis <legalize@xmission.com>
  620. Subject: (fractdev) driver characteristics
  621.  
  622. Since Humberto brought up some specifics of drivers, I'll say a little
  623. about how I'm implementing the driver harness.  Naturally we'll be
  624. able to change the harness later.  The point is not to design some
  625. end-all be-all graphics API.  The idea is just to get things going
  626. incrementally.  Feel free to kibitz, if its a big issue, something can
  627. be done now, but please consider this more of a 'status report' for
  628. your information on what I'm doing, more than a design review where
  629. I'm proposing the idea. :-)
  630.  
  631. Existing video mode glue logic in fractint is currently implemented in
  632. select_video_mode().  It walks through the table stored in memory and
  633. creates the scrollable display of available video modes.  When you
  634. select a mode from the list (or by some other means like video=), then
  635. the proper parameters are snatched out of the table and sent to the
  636. assembly routine setvideomode (video.asm), which issues the
  637. appropriate commands to the video card.
  638.  
  639. With the harness, select_video_mode() instead walks a list of drivers
  640. and queries each driver about the modes supported by the driver.  It
  641. then displays a scrolling list created from the driver responses.
  642. When the user selects an item on the list, select_video_mode() calls
  643. through the driver harness to set the video mode.
  644.  
  645. This means that when we get to the point of having all (or several) or
  646. the drivers I list below, under win98 you could have the choice of
  647. the same video modes supported by multiple drivers.  The video display
  648. list might look like this:
  649.  
  650. key...driver...name.................xdot.ydot.color.comment.............
  651. SF1   win32    GDI Surface          1024x768  5:6:5
  652. SF2   directx  Windowed             1024x768  5:6:5
  653. SF3   directx  Full Screen          1024x768  8     256 colors
  654. SF4   directx  Full Screen          1024x768  5:6:5 16-bit RGB
  655. SF5   directx  Full Screen          1024x768  5:5:5 15-bit RGB
  656. SF6   opengl   Full Screen          1024x768  8     256 color indexed
  657. SF7   opengl   Full Screen          1024x768  8:8:8 24-bit RGB
  658.  
  659. (This is an ASCII graphic mockup; not a screen dump.)
  660.  
  661. Xdot and ydot take on a subtle meaning in a windowed environment, but
  662. window systemless drivers still need to be able to report device
  663. dimensions.
  664.  
  665. The video parameter ('video=<key>') currently only specifies a function
  666. key which is bound to a video mode.  It doesn't force a particular
  667. video mode, just selects one from the key list.  If you want to write a
  668. script or parameter file that uses a particular video mode, you have to
  669. ensure the proper key assignment is setup first.  To set the function
  670. key assignment you have to get into the fractint.cfg file.  Icky!
  671.  
  672. With the harness, the video parameter is updated to specify both the
  673. driver and the desires video mode provided by the driver.  So you'd
  674. say something like "video=directx/1024x768/8".  A new method for
  675. binding the keys to video modes will have to be provided, as the old
  676. method depended on fractint.cfg which is now specific to the fractint
  677. driver.
  678.  
  679. But what about the stuff the fractint.cfg file did?  That's used by the
  680. "fractint" driver (see blow) as input to decide what video modes it
  681. lists when queried.
  682.  
  683. Some really random ideas:
  684.  
  685. should image and model formats (3D raytracing files, etc) be
  686.     supported as compile-time modules like drivers?
  687.  
  688. should drivers be allowed to invoke the engine distinct from
  689.     fractint's gui?  Is the engine a client of the driver, or is the
  690.     driver a client of the engine?  Fractint is currently architected
  691.     towards the latter.  Reversing the assumption would be difficult.
  692.  
  693. should 3D drivers subsume 2D functionality?
  694.     Is there any reason you'd want to use ogl for 3D, but x11 for 2D?
  695.     If not, then "x11" and "opengl" drivers will provide everything
  696.     you need.  Select an "x11' driver video mode for 2D stuff and an
  697.     "opengl" driver video mode for 3D stuff.  Fractint doesn't (yet)
  698.     mix 2D and 3D rendering together.
  699.  
  700. Drivers
  701. - -------
  702. display drivers I think should be done, in no particular order:
  703.     "curses"
  704.     possibly uses curses, but only has character I/O.
  705.     Displays "pixels" using characters as similar to XaoS.
  706.     Enumerate text vide modes (DOS) or screen sizes (curses?) to
  707.         form "video modes" table.
  708.     Works in DOS (pd curses) and unix (native curses).
  709.  
  710.     "fractint"
  711.     port existing fractint assembly code to 32-bit flat model.
  712.     Included is the native video and mouse support coded in
  713.     assembly.
  714.  
  715.     "allegro"
  716.     Uses Allegro library under DJGPP to enumerate video formats
  717.     and provide video/mouse/sound support.
  718.  
  719.     "disk"
  720.     Video modes contain list of standard image sizes and "custom",
  721.     letting you set the size.
  722.  
  723.     "win32"
  724.     text menus are displayed graphically somehow.
  725.     graphics display native to GDI presented as video mode.
  726.     Emulate other modes?  Only if someone desperate for it --
  727.     directx would be the preferred solution!
  728.  
  729.     "directx"
  730.     text menus are displayed using a regular win32 window on GDI
  731.         surface, or as graphic text on graphics screen (driver
  732.         option).
  733.     graphics display is done through full-screen with DirectDraw.
  734.     DirectDrawDevices enumerated by DDraw are the video modes.
  735.  
  736.     "direct3d"
  737.     Same as directx, but uses D3D for 3D effects.
  738.  
  739.     "x11"
  740.     Text menus are displayed graphically using X11.
  741.     Available visuals on the screen are the video modes.
  742.     
  743.     "opengl"
  744.     Same as X11, only OGL-capable visuals are video modes.
  745.     Uses OGL for all pixel I/O and 3D.
  746.  
  747. like XaoS, more that one driver can be available, but only one driver
  748. can be active at once in any given graphic window.
  749.  
  750. - --------------------------------------------------------------
  751. Thanks for using Fractdev, The Fractint Developer's Discussion List
  752. Post Message:   fractdev@lists.xmission.com
  753. Get Commands:   majordomo@lists.xmission.com "help"
  754. Administrator:  twegner@phoenix.net
  755. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  756.  
  757. ------------------------------
  758.  
  759. Date: Thu, 29 Apr 1999 23:44:47 -0300 (EST)
  760. From: Humberto Rossetti Baptista <humberto@insite.com.br>
  761. Subject: Re: (fractdev) driver characteristics
  762.  
  763. On Thu, 29 Apr 1999, Phil McRevis wrote:
  764.  
  765. [... description of select_video_mode]
  766.  
  767.     Just to clear things for me: are you taking for a staring point the
  768. fractint or the xfractint code (the 2 are the same, but w/ different #defines )
  769.  
  770. [... harnessing the video mode]
  771. > With the harness, the video parameter is updated to specify both the
  772. > driver and the desires video mode provided by the driver.  So you'd
  773. > say something like "video=directx/1024x768/8".  A new method for
  774. > binding the keys to video modes will have to be provided, as the old
  775. > method depended on fractint.cfg which is now specific to the fractint
  776. > driver.
  777.  
  778.     That is very nice. Seems ok, but in one given platform there will be all
  779. the drivers to all the platforms or just the ones concerning that one platform?
  780.  
  781. > should image and model formats (3D raytracing files, etc) be
  782. >     supported as compile-time modules like drivers?
  783.  
  784.     That is also a nice idea.
  785. [...]
  786.  
  787. > Drivers
  788. > -------
  789. > display drivers I think should be done, in no particular order:
  790. >     "curses"
  791. >     possibly uses curses, but only has character I/O.
  792. >     Displays "pixels" using characters as similar to XaoS.
  793.  
  794.     I guess this is aalib ?? It is not curses but i guess if could be seen
  795. as though it is.
  796.  
  797.     Wouldn't it be interesting to abandon the text mode completly and user
  798. the graphic mode for messages also? This could lead with work and time to an
  799. uniform fractint gui look all across different platforms.
  800.  
  801.     []'s
  802.  
  803.     Humberto R. Baptista
  804.     humberto@insite.com.br
  805.  
  806. - ---------------------------------------------------------------------------
  807. Insite - Solucoes Internet                         http://www.insite.com.br
  808.  
  809. - -----BEGIN GEEK CODE BLOCK-----
  810. Version: 3.1
  811. GB/C/CA/CM/CS/CC/ED/FA/H/IT/L/M/MU/P/S d?>dpu s:- a->!@ C++++$ USL+++$ P+++@ 
  812. L+++@ !E W++@ N++(+)@ o+>++++$ K? w>---$ O-@$ M--@ V-- PS@ PE@ Y+>+++$ PGP+@ 
  813. t+++ 5+@ X+ R>+++$ tv@ b+>++++$ DI++$ D++>++++$ G e+++>++++ h(---)>*$ r+++ 
  814. y+++*
  815. - ------END GEEK CODE BLOCK------
  816.  
  817.  
  818.  
  819. - --------------------------------------------------------------
  820. Thanks for using Fractdev, The Fractint Developer's Discussion List
  821. Post Message:   fractdev@lists.xmission.com
  822. Get Commands:   majordomo@lists.xmission.com "help"
  823. Administrator:  twegner@phoenix.net
  824. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  825.  
  826. ------------------------------
  827.  
  828. Date: Thu, 29 Apr 1999 21:15:56 -0600
  829. From: Phil McRevis <legalize@xmission.com>
  830. Subject: Re: (fractdev) driver characteristics 
  831.  
  832. In article <Pine.LNX.4.02.9904292335410.15005-100000@tatui.insite.com.br>,
  833.     Humberto Rossetti Baptista <humberto@insite.com.br>  writes:
  834. >     Just to clear things for me: are you taking for a staring point the
  835. > fractint or the xfractint code (the 2 are the same, but w/ different #defines
  836.  )
  837.  
  838. The answer to your question is yes and no. :-)
  839.  
  840. I'm using xfractint 19.61 pl66 code.  The differences between xfractint
  841. 19.61 pl66 and fractint 19.61 pl66 are the inclusion of assembly files
  842. on the fractint side, with corresponding .c files on the xfractint
  843. side.  For instance, here's the source in my xfractint directory
  844. (datafiles removed for clarity):
  845.  
  846.     3d.c          end1.c        hc*           lsys.h        rotate.c
  847.                   evolve.c      hc.c          lsysf.c       slideshw.c
  848.                   externs.h     hcmplx.c      makefile      soi.c
  849.     ant.c         f16.c         help.c        memory.c      soi1.c
  850.     big.h         file_id.diz   help.src      miscfrac.c    stereo.c
  851.     bigflt.c      fpu087.c      help2.src     miscovl.c     targa.c
  852.     biginit.c     frachelp.mak  help3.src     miscres.c     targa.h
  853.     biginit.h     fracsuba.c    help4.src     mpmath.h      targa_lc.h
  854.     bignum.c      fracsubr.c    help5.src     mpmath_c.c    testpt.c
  855.     bignumc.c     fractalb.c    helpcom.h     parser.c      tgaview.c
  856.     bigport.h     fractalp.c    helpdefs.h    parserfp.c    tplus.c
  857.     calcfrac.c    fractals.c    intro.c       plot3d.c      tplus.h
  858.     calcmand.c    fractint.c    jb.c          port.h        tplus_a.c
  859.     calmanfp.c    fractint.h    jiim.c        port.new      tru.c
  860.     cmdfiles.c    fractint.ifs  line3d.c      printer.c     unix.c
  861.     cmplx.h       fractype.h    loadfdos.c    prompts1.c    unix.h
  862.     decoder.c     framain2.c    loadfile.c    prompts2.c    unixscr.c
  863.     diskvid.c     frasetup.c    loadmap.c     prototyp.h    video.c
  864.     diskvidu.c                  lorenz.c      read.me       yourvid.c
  865.     editpal.c     general.c     lsys.c        realdos.c     zoom.c
  866.     encoder.c     gifview.c
  867.  
  868. And here's fractint 19.61 source:
  869.  
  870.     3d.c          calmanfp.asm  fractint.h    loadfile.c    port.h
  871.                   cmdfiles.c    fractint.mak  loadmap.c     printer.c
  872.     ant.c         cmplx.h       fractype.h    lorenz.c      prompts1.c
  873.     bcauto.bat    decoder.c     framain2.c    lsys.c        prompts2.c
  874.     bcfract.bat   diskvid.c     frasetup.c    lsys.h        prototyp.h
  875.     bcfract.cfg   editpal.c     general.asm   lsysa.asm     realdos.c
  876.     bcfract.mak   encoder.c     gifview.c     lsysaf.asm    rotate.c
  877.     bcfract2.cfg  externs.h     hc.c          lsysf.c       slideshw.c
  878.     bclinkf.bat   f16.c         hcmplx.c      lyapunov.asm  stereo.c
  879.     bcmakall.bat  fmath.h       help.c        makefrac.bat  targa.c
  880.     bigflt.c      fpu087.asm    help.src      miscfrac.c    targa.h
  881.     bigflt.h      fpu387.asm    help2.src     miscovl.c     targa_lc.h
  882.     bigflta.asm   fr8514a.asm   help3.src     miscres.c     testpt.c
  883.     bigfltc.c     frachelp.mak  help4.src     mpmath.h      tgaview.c
  884.     biginit.c     fracsuba.asm  help5.src     mpmath_a.asm  tplus.c
  885.     biginit.h     fracsubr.c    helpcom.h     mpmath_c.c    tplus.dat
  886.     bignum.c      fractalb.c    hgcfra.asm    newton.asm    tplus.h
  887.     bignum.h      fractalp.c    intro.c       parser.c      tplus_a.asm
  888.     bignuma.asm   fractals.c    jb.c          parsera.asm   video.asm
  889.     bignumc.c     fractint.c    jiim.c        parserfp.c    yourvid.c
  890.     calcfrac.c    fractint.cfg  line3d.c      plot3d.c      zoom.c
  891.     calcmand.asm  fractint.def  loadfdos.c
  892.  
  893. I think the makefiles are also different; otherwise they share
  894. all the same .h and .c source with #ifdef XFRACT in the few places
  895. where it matters.
  896.  
  897. The driver harness goes in some of the places where XFRACT is
  898. currently used.  Then fractint and xfractint will be using the same
  899. source with even fewer #ifdef XFRACT's sprinkled around the code.
  900.  
  901. >That is very nice. Seems ok, but in one given platform there will be all
  902. > the drivers to all the platforms or just the ones concerning that one
  903. >platform?
  904.  
  905. Its identical to what XaoS does.  (XaoS uses autoconf)  The configure
  906. script probes the compilation system to determine what features are
  907. available.  configure determines what drivers will be available at
  908. runtime.  Alternatively, you can set #defines in your build process to
  909. attempt to compile support for a particular driver.  Of course,
  910. someone will have to implement the driver before it can be compiled
  911. :-).
  912.  
  913. > > Drivers
  914. > > -------
  915. > > display drivers I think should be done, in no particular order:
  916. > >     "curses"
  917. > >     possibly uses curses, but only has character I/O.
  918. > >     Displays "pixels" using characters as similar to XaoS.
  919. >     I guess this is aalib ?? It is not curses but i guess if could be seen
  920. > as though it is.
  921.  
  922. Umm... oh yeah, I think I looked at aalib, which is a full-blown 2D
  923. graphics package that renders to text.  Kinda cool, but no its not
  924. necessarily to use something that fancy for a curses driver.  Fractint
  925. really doesn't need anything more fancy than getpixel and putpixel for
  926. graphics it turns out.
  927.  
  928. Amazingly modular... I'm surprised more people didn't just assume they
  929. could bcopy() indices straight onto the display.
  930.  
  931. >     Wouldn't it be interesting to abandon the text mode completly and user
  932. > the graphic mode for messages also? This could lead with work and time to an
  933. > uniform fractint gui look all across different platforms.
  934.  
  935. What I suggested for the window system drivers is that they do exactly
  936. that.  Curses may or may not be available on the system (system
  937. dependency).  But a window system driver has the capacity to draw text
  938. into its window directly.  It doesn't need curses to draw text.  In
  939. fake, it gets more complicated (to me anyway) to have curses doing
  940. text and X11 doing graphics.
  941. - --
  942. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  943.     ``Ain't it funny that they all fire the pistol,     
  944.       at the wrong end of the race?''--PDBT     
  945. legalize@xmission.com    <http://www.eden.com/~thewho>
  946.  
  947. - --------------------------------------------------------------
  948. Thanks for using Fractdev, The Fractint Developer's Discussion List
  949. Post Message:   fractdev@lists.xmission.com
  950. Get Commands:   majordomo@lists.xmission.com "help"
  951. Administrator:  twegner@phoenix.net
  952. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  953.  
  954. ------------------------------
  955.  
  956. Date: Thu, 29 Apr 1999 21:21:21 -0600
  957. From: Phil McRevis <legalize@xmission.com>
  958. Subject: (fractdev) the credits screen
  959.  
  960. Tim, the credits screen just smacked me in the face like a conceptual
  961. ton of bricks.  The stone soup tradition of fractint is more than just
  962. a concept of open source software, its the cumulative non-violent
  963. cooperative effort of all those *people* in the credits screen.
  964.  
  965. I know on some of the other fractal lists there's been heated debate
  966. about fractint's open source tradition vs. the new kids on the block.
  967. :-).  But I couldn't think of another program that starts up with a
  968. credits screen, the way a good action movie blasts the credits up
  969. quick in the beginning so that you can be on the edge of your seat for
  970. the entire ride.  Sure, lots of programs have about boxes and thanks
  971. lists and so on.  But of all the open source software I use, I
  972. couldn't think of one that embodies the stone soup tradition of mutual
  973. cooperation more than fractint.
  974. - --
  975. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  976.     ``Ain't it funny that they all fire the pistol, 
  977.       at the wrong end of the race?''--PDBT
  978.           <http://www.eden.com/~thewho>
  979.  
  980. - --------------------------------------------------------------
  981. Thanks for using Fractdev, The Fractint Developer's Discussion List
  982. Post Message:   fractdev@lists.xmission.com
  983. Get Commands:   majordomo@lists.xmission.com "help"
  984. Administrator:  twegner@phoenix.net
  985. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  986.  
  987. ------------------------------
  988.  
  989. Date: Thu, 29 Apr 1999 23:32:15 -0600
  990. From: Phil McRevis <legalize@xmission.com>
  991. Subject: (fractdev) 'xfractint makedoc' segfaults around page 220
  992.  
  993. Has anyone else seen this?  It chunks away seemingly normally for about
  994. 222 pages in Appendix H when it crashes with a seg fault.
  995.  
  996. Program received signal SIGSEGV, Segmentation fault.
  997. 0x98294 in printerc (info=0xeffff0d8, c=12, n=0) at help.c:1113
  998. (gdb) where
  999. #0  0x98294 in printerc (info=0xeffff0d8, c=12, n=0) at help.c:1113
  1000. #1  0x98acc in print_doc_output (cmd=1, pd=0xeffff008, info=0xeffff0d8)
  1001.     at help.c:1254
  1002. #2  0x944c4 in process_document (get_info=0x9848c <print_doc_get_info>, 
  1003.     output=0x98808 <print_doc_output>, info=0xeffff0d8) at helpcom.h:459
  1004. #3  0x99100 in print_document (
  1005.     outfname=0x756d6d61 <Address 0x756d6d61 out of bounds>, 
  1006.     msg_func=0x7279206f <_end+42538935>, save_extraseg=1713391218)
  1007.     at help.c:1403
  1008. #4  0x52498 in cmdarg (curarg=Cannot access memory at address 0x230044.
  1009. ) at cmdfiles.c:1158
  1010. Cannot access memory at address 0x230038.
  1011. (gdb) l help.c 1110
  1012. Junk at end of line specification.
  1013. (gdb) l "help.c":1110
  1014. No source file named "help.c".
  1015. (gdb) l help.c:1110
  1016. 1105          {
  1017. 1106          if (c==' ')
  1018. 1107             ++info->spaces;
  1019. 1108    
  1020. 1109          else if (c=='\n' || c=='\f')
  1021. 1110             {
  1022. 1111             info->start_of_line = 1;
  1023. 1112             info->spaces = 0;   /* strip spaces before a new-line */
  1024. 1113             putc(c, info->file);
  1025. 1114             }
  1026. #1  0x98acc in print_doc_output (cmd=1, pd=0xeffff008, info=0xeffff0d8)
  1027.     at help.c:1254
  1028. (gdb) l
  1029. 1249             return ( keep_going );
  1030. 1250             }
  1031. 1251    
  1032. 1252          case PD_FOOTING:
  1033. 1253             info->margin = 0;
  1034. 1254             printerc(info, '\f', 1);
  1035. 1255             info->margin = PAGE_INDENT;
  1036. 1256             return (1);
  1037. 1257    
  1038. 1258          case PD_PRINT:
  1039. #2  0x944c4 in process_document (get_info=0x9848c <print_doc_get_info>, 
  1040.     output=0x98808 <print_doc_output>, info=0xeffff0d8) at helpcom.h:459
  1041. (gdb) l
  1042. 454          if ( !output(PD_START_SECTION, &pd, info) )
  1043. 455             return (0);
  1044. 456    
  1045. 457          if ( pd.new_page && pd.lnum != 0 )
  1046. 458             {
  1047. 459             if ( !output(PD_FOOTING, &pd, info) )
  1048. 460                return (0);
  1049. 461             ++pd.pnum;
  1050. 462             pd.lnum = 0;
  1051. 463             if ( !output(PD_HEADING, &pd, info) )
  1052. #3  0x99100 in print_document (
  1053.     outfname=0x756d6d61 <Address 0x756d6d61 out of bounds>, 
  1054.     msg_func=0x7279206f <_end+42538935>, save_extraseg=1713391218)
  1055.     at help.c:1403
  1056. (gdb) l
  1057. 1398    
  1058. 1399       info.margin = PAGE_INDENT;
  1059. 1400       info.start_of_line = 1;
  1060. 1401       info.spaces = 0;
  1061. 1402    
  1062. 1403       success = process_document((PD_FUNC)print_doc_get_info,
  1063. 1404                                  (PD_FUNC)print_doc_output,   &info);
  1064. 1405       fclose(info.file);
  1065. 1406    
  1066. 1407       if ( save_extraseg )
  1067. #4  0x52498 in cmdarg (curarg=Cannot access memory at address 0x230044.
  1068. ) at cmdfiles.c:1158
  1069. (gdb) l
  1070. 1153             escape_exit = yesnoval[0];
  1071. 1154             return 3;
  1072. 1155             }
  1073. 1156    
  1074. 1157          if (far_strcmp(variable,s_makedoc) == 0) {
  1075. 1158             print_document(*value ? value : "fractint.doc", makedoc_msg_func, 0);
  1076. 1159    #ifndef WINFRACT
  1077. 1160             goodbye();
  1078. 1161    #endif
  1079. 1162             }
  1080. (gdb) q
  1081. The program is running.  Quit anyway (and kill it)? (y or n) y
  1082.  
  1083. Debugger finished
  1084. - --
  1085. <http://www.xmission.com/~legalize/>    Legalize Adulthood!
  1086.     ``Ain't it funny that they all fire the pistol, 
  1087.       at the wrong end of the race?''--PDBT
  1088.           <http://www.eden.com/~thewho>
  1089.  
  1090. - --------------------------------------------------------------
  1091. Thanks for using Fractdev, The Fractint Developer's Discussion List
  1092. Post Message:   fractdev@lists.xmission.com
  1093. Get Commands:   majordomo@lists.xmission.com "help"
  1094. Administrator:  twegner@phoenix.net
  1095. Unsubscribe:    majordomo@lists.xmission.com "unsubscribe fractdev"
  1096.  
  1097. ------------------------------
  1098.  
  1099. End of fractdev-digest V1 #21
  1100. *****************************
  1101.  
  1102.