From: owner-fractdev-digest@lists.xmission.com (fractdev-digest) To: fractdev-digest@lists.xmission.com Subject: fractdev-digest V1 #18 Reply-To: fractdev-digest Sender: owner-fractdev-digest@lists.xmission.com Errors-To: owner-fractdev-digest@lists.xmission.com Precedence: bulk fractdev-digest Wednesday, March 3 1999 Volume 01 : Number 018 ---------------------------------------------------------------------- Date: Mon, 22 Feb 1999 13:10:00 -0700 From: Phil McRevis Subject: (fractdev) 'open source' Hmm... I just read over the definition of "open source" on and I don't see how fractint conflicts with what they are requiring in order to call something 'open source'. What specifically are you saying is the conflict? At any rate, I will continue to use the term 'open source' in email however I want :-). All opensource.org is saying with their trademark is that you can't "market" software under that rubric without complying with their terms. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Mon, 22 Feb 1999 15:24:36 -0500 (EST) From: kragen@pobox.com (Kragen Sitaker) Subject: Re: (fractdev) 'open source' On Mon, 22 Feb 1999, Phil McRevis wrote: > Hmm... I just read over the definition of "open source" on > and I don't see how fractint conflicts > with what they are requiring in order to call something 'open source'. Section 1, Free Redistribution, begins: The license may not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. Fractint's license prohibits most people from selling it, unless I misremember it. > What specifically are you saying is the conflict? At any rate, I will > continue to use the term 'open source' in email however I want :-). Well, I don't suppose I can stop you. > All opensource.org is saying with their trademark is that you can't > "market" software under that rubric without complying with their > terms. That's an interesting theory about trademark law, and you might be right. The recent Dilution Act suggests otherwise, though, at least in the US. - -- Kragen Sitaker Computers are the tools of the devil. It is as simple as that. There is no monotheism strong enough that it cannot be shaken by Unix or any Microsoft product. The devil is real. He lives inside C programs. -- philg@mit.edu - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Mon, 22 Feb 1999 13:57:20 -0700 From: Phil McRevis Subject: Re: (fractdev) 'open source' In article , kragen@pobox.com (Kragen Sitaker) writes: > Fractint's license prohibits most people from selling it, unless I > misremember it. You know, I looked through the source and I couldn't find the license specifically... Tim? Hello, Tim? Where are you? :-) > > What specifically are you saying is the conflict? At any rate, I will > > continue to use the term 'open source' in email however I want :-). > > Well, I don't suppose I can stop you. Nope, you can't. And neither can opensource.org, because although they have trademarked the term, that doesn't give them the right to control how people use the term in conversation or in correspondence. > > All opensource.org is saying with their trademark is that you can't > > "market" software under that rubric without complying with their > > terms. > > That's an interesting theory about trademark law, and you might be > right. The recent Dilution Act suggests otherwise, though, at least in > the US. If they have the term trademarked, that gives them the right to control how that term is used in the marketing and distribution of software, but that's where their rights end. For instance, "kleenex" is a trademark, but it is also used in general conversation and indeed has become synonymous with "facial tissue". Whoever owns the trademark of "kleenex" can prevent someone else from marketing a product using that trademark, but they can't prevent anyone from saying "would you hand me a kleenex, please?" even when the product they are pointing to wasn't marketed under the name "kleenex". Admittedly, I haven't studied the details of trademark law since the early 80s, but I think I'm on the mark here. Do you disagree? - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Mon, 22 Feb 1999 16:11:45 -0500 (EST) From: kragen@pobox.com (Kragen Sitaker) Subject: Re: (fractdev) 'open source' On Mon, 22 Feb 1999, Phil McRevis wrote: > In article , > kragen@pobox.com (Kragen Sitaker) writes: > You know, I looked through the source and I couldn't find the license > specifically... Tim? Hello, Tim? Where are you? :-) It's not stated in legalese. But there are definitely copying conditions in there. > > Well, I don't suppose I can stop you. > > Nope, you can't. And neither can opensource.org, because although > they have trademarked the term, that doesn't give them the right to > control how people use the term in conversation or in correspondence. Well, actually . . . > > That's an interesting theory about trademark law, and you might be > > right. The recent Dilution Act suggests otherwise, though, at least in > > the US. > > If they have the term trademarked, that gives them the right to > control how that term is used in the marketing and distribution of > software, but that's where their rights end. For instance, "kleenex" > is a trademark, but it is also used in general conversation and indeed > has become synonymous with "facial tissue". Whoever owns the > trademark of "kleenex" Kimberly-Clark. > can prevent someone else from marketing a > product using that trademark, but they can't prevent anyone from > saying "would you hand me a kleenex, please?" even when the product > they are pointing to wasn't marketed under the name "kleenex". > > Admittedly, I haven't studied the details of trademark law since the > early 80s, but I think I'm on the mark here. Do you disagree? The Dilution Act was just passed in the last couple of years; it does indeed give trademark owners broad powers to shut people up. It is somewhat disturbing, and I hope that it is struck down in court. What you say is correct with regard to the Lanham Act. I think. I am also not a lawyer. - -- Kragen Sitaker Computers are the tools of the devil. It is as simple as that. There is no monotheism strong enough that it cannot be shaken by Unix or any Microsoft product. The devil is real. He lives inside C programs. -- philg@mit.edu - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Mon, 22 Feb 1999 14:16:40 -0700 From: Phil McRevis Subject: Re: (fractdev) 'open source' In article , kragen@pobox.com (Kragen Sitaker) writes: > The Dilution Act was just passed in the last couple of years; it does > indeed give trademark owners broad powers to shut people up. It is > somewhat disturbing, and I hope that it is struck down in court. Bummer. Sounds like another welfare program for lawyers. I will still say 'kleenex' and 'open source' though. Maybe they will sue me, but I doubt it :-). - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Mon, 22 Feb 1999 16:40:31 -0700 From: Phil McRevis Subject: (fractdev) flat-memory model OK, I've made my first pass through the code with the following changes: 1. removed all near/far/huge qualifiers on pointers 2. removed the far_str* references in favor of str* (strcpy, strcmp, etc.) 3. removed the far_mem* references in favor of mem* (memcpy, memcmp, etc.) In general.asm, there are a bunch of routines for manipulating far memory. I could remove these, but I'm focusing on the C code right now and not the assembly. Ther are also some routines for manipulating extended memory and expanded memory. These need to be switched to flat-memory model routines as well, but I'm not so sure how they are used and would like a little guidance from the developers out there that are familiar with this. Note that I haven't attempted to compile any code yet, just making systematic modifications to the source code. I'm using CVS, so I can backup after any disastrous changes :-) as well as easily generate context diffs. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Tue, 23 Feb 1999 11:10:15 -0500 (EST) From: kragen@pobox.com (Kragen Sitaker) Subject: Re: (fractdev) 'open source' (fwd) - -- Kragen Sitaker Computers are the tools of the devil. It is as simple as that. There is no monotheism strong enough that it cannot be shaken by Unix or any Microsoft product. The devil is real. He lives inside C programs. -- philg@mit.edu - ---------- Forwarded message ---------- Date: 23 Feb 1999 16:05:22 -0000 From: Russell Nelson To: Kragen Sitaker Cc: board@opensource.org Subject: Re: (fractdev) 'open source' Kragen Sitaker writes: > > All opensource.org is saying with their trademark is that you can't > > "market" software under that rubric without complying with their > > terms. > > That's an interesting theory about trademark law, and you might be > right. The recent Dilution Act suggests otherwise, though, at least in > the US. Hi, Kragen. ESR has delegated mark misuse issues to me. There's not much I can do about heresay. If they have a web page, or made usenet postings claiming Open Source, I can whack them. But on a private mailing list, there's not much I can do. - -- - -russ nelson http://crynwr.com/~nelson Crynwr supports Open Source(tm) Software| PGPok | There is good evidence 521 Pleasant Valley Rd. | +1 315 268 1925 voice | that freedom is the Potsdam, NY 13676-3213 | +1 315 268 9201 FAX | cause of world peace. - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Tue, 23 Feb 1999 10:27:41 -0700 From: Phil McRevis Subject: Re: (fractdev) 'open source' (fwd) Gee, thanks for reporting me to the trademark police! Sheesh. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Tue, 23 Feb 1999 13:38:05 -0500 (EST) From: kragen@pobox.com (Kragen Sitaker) Subject: Re: (fractdev) 'open source' (fwd) You said: > Gee, thanks for reporting me to the trademark police! Sheesh. I didn't mean it as an unfriendly gesture. I don't think of them as police. - -- Kragen Sitaker Computers are the tools of the devil. It is as simple as that. There is no monotheism strong enough that it cannot be shaken by Unix or any Microsoft product. The devil is real. He lives inside C programs. -- philg@mit.edu - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Tue, 23 Feb 1999 20:46:59 -0500 From: Jonathan Osuch <73277.1432@compuserve.com> Subject: Re: (fractdev) flat-memory model >> In general.asm, there are a bunch of routines for manipulating far memory. I could remove these, but I'm focusing on the C code right now and not the assembly. << The Xfractint source code contains a file called general.c, which address= es this issue. >> There are also some routines for manipulating extended memory and expanded memory. These need to be switched to flat-memory model routines as well, but I'm not so sure how they are used and would like a little guidance from the developers out there that are familiar with this. << The extended and expanded memory routines aren't required. The Xfractint= code includes two defines for them which effectively turns any calls for extended and expanded into ordinary memory calls. This statement will ma= ke (more) sense if you are working with the developer's version where the memory routines have been consolidated. In the version 19.6 source, the expanded and extended routines are #ifdef'd out for Xfract. Jonathan - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Tue, 23 Feb 1999 19:55:41 -0700 From: Phil McRevis Subject: Re: (fractdev) flat-memory model In article <199902232047_MC2-6B9E-3EEE@compuserve.com>, Jonathan Osuch <73277.1432@compuserve.com> writes: > The Xfractint source code contains a file called general.c, which address= > es > this issue. Well not really. That general.c file addresses the issue of video I/O for *unix*, which doesn't really help for a flat-memory model conversion for the DOS version of fractint. Maybe I will just have to convert the assembly to 32-bit after I get all this memory model stuff removed. I'm upgrading to BCB4 anyway and it includes TASM and Borland's C++ compiler v5.02 in the box. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 24 Feb 1999 21:05:00 -0600 From: "Tim Wegner" Subject: (fractdev) 32 bit port Rich wrote: > Tim? Hello, Tim? Where are you? :-) I'm back, wading through my mail ... I was in Minnesota Saturday through Tuesday night. We should get you caught up with the later developer version before you get too far, probably too late! I shall endeavor to upload some sort of synch soon. I have Borland C++ Builder 3, and am not planning to upgrade. I think a djgpp version would give us the most bang for the effort. In fact what I'd love for starters would be a djgpp version with the identical interface as Fractint. The initial problem we need to solve is how to do menus and graphics. Xfractint has already solved far pointers etc. with defines. Then we could consider making that the "official" DOS version, and could massively rearchitect the fractint internals without diverging from our official version. Tim - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 24 Feb 1999 20:18:48 -0700 From: Phil McRevis Subject: Re: (fractdev) 32 bit port In article <199902250305.VAA22657@voyager.c-com.net>, "Tim Wegner" writes: > We should get you caught up with the later developer version > before you get too far, probably too late! I shall endeavor to upload > some sort of synch soon. Yes, that would be good. Just send me a URL where I can obtain it. I am using CVS/RCS so I can generate diffs and apply them to the code and/or just use emacs again to remove all the near/far/huge qualifiers. > I have Borland C++ Builder 3, and am not planning to upgrade. (There is a coupon in BCB3 for the Borland C++ 5.02 compiler; just that its easier with BCB4 since it comes in the box and you don't have to send away for it. The coupon lets you obtain it for free, and I've just been lazy. BCB3 also has TASM support; I didn't mean to imply that BCB4 would be required in order to obtain either of those features.) > I > think a djgpp version would give us the most bang for the effort. In > fact what I'd love for starters would be a djgpp version with the > identical interface as Fractint. That's what I was thinking to. > The initial problem we need to solve is how to do menus and > graphics. Xfractint has already solved far pointers etc. with defines. See my earlier message about maintenance as to why I don't think #defining the qualifiers away is a good idea. Of course that's just my personal taste, but since I'm doing the work, you'll all have to live with that :-). (I don't expect any objections; moving to 32-bit is more than just removing the qualifiers and if you really want 16bit, then you just compile the 19.x source.) Here are my thoughts for the evolution: o modify code to 32-bit, flat-memory model o make a pass through the code to shuffle the data declarations that were done in weird ways in order to cope with limited memory space in 16bit mode. (strings declared static rather than just as literals and so-on.) This should make understanding the code easier for new developers because they can focus on the _algorithm_ rather than memory model straightjackets. o GUI/graphics abstraction, but keeping the same DOS UI. This is largerly there, but the big change is just moving to an event-based architecture rather than a polling architecture. After that, adding new "front ends" (graphics + GUI) to support other platforms should be MUCH easier. Then we can get on with ideas for Win32/X/MacOS/DirectX methods of doing the graphics & GUI. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Thu, 25 Feb 1999 15:35:29 -0300 (EST) From: Humberto Rossetti Baptista Subject: Re: (fractdev) 32 bit port On Wed, 24 Feb 1999, Phil McRevis wrote: > > I > > think a djgpp version would give us the most bang for the effort. In > > fact what I'd love for starters would be a djgpp version with the > > identical interface as Fractint. > > That's what I was thinking to. Hi Everyone, I just got back from vacations and I'm getting up to date w/ the fractdev list. By what is being dicussed I thik we should really take advantage of the unixisms of djgpp or even a dos version of the new egcs (if both can compile the new version of frcatint it would be great). The commercial DOS alternatives to 32 bit aren't so nice because they have many differences in comparasion to the traditional gcc. By what we have discussed in the past there is much of the 32 bit porting work done in the XFractint wich only needs the adition of a graphical interface to a 32bit DOS app. My opinion is the same of Phil: use the Allegro library (the way it was used in XaoS really made me optimist, it compiles in DOS (djgpp+allegro) and unix (gcc+allegro). So Just to add a practical 2cents here: What if we made the following (this means you Phil since you started it first): - Check the solution djgpp+allegro and how it was used (lin in KaoS) - Modify only the parts needed to get a running version of fractint in djgpp WITH all the #defines and such in place since they already comment out what is nedded and include the C code where nedded. - After it compiles and runs ok, try the same unde Linux (for instance) with allegro pointing to, say, SVGALib. (I can test this) - With this running we (now not only Phil) can clean up the code to release an official (developers?) version of the 32Bit fractint. (clean up means only taking out the #defines and comments that are useless). - Now every interested developper can check it's algorithm and i guess Tim may give a general direction in adjusting the datastructures and such to use better the flat memory model. Ideas? Comments? []'s Humberto R. Baptista humberto@insite.com.br - --------------------------------------------------------------------------- Insite - Solucoes Internet http://www.insite.com.br - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Thu, 25 Feb 99 10:47:17 -0800 From: Tim Gilman Subject: (fractdev) Re: 32 bit port - graphics API >* (legalize@xmission.com) unpacked this on 2/24/99 7:18 PM: >After that, adding new "front ends" (graphics + GUI) to support other >platforms should be MUCH easier. Then we can get on with ideas for >Win32/X/MacOS/DirectX methods of doing the graphics & GUI. >> "Tim Wegner" writes: >> The initial problem we need to solve is how to do menus and >> graphics. Xfractint has already solved far pointers etc. with defines. I've run across a strange bug that might open up some discussion on graphics. The MacOS's graphics engine (QuickDraw) allows a programmer to syncronize a pixel map of values 0-255 with the index (of range 0-255) of a color palette, such that palette-animation/color-cycling can occur on devices that normally don't have such indices (such as monitors set to 32-bit depth). Devices like this become a problem for users who try to color-cycle a fractal on a monitor set to 32-bit depth while other color-hungry applications (like photoshop) are open. So, to allow this sort of color-cycling, I exploited a hardly documented feature of QuickDraw. Doing this allowed color-cycling *while* changing monitor bit-depths, and at the same time preserved the way each color looked on the monitor. Through beta-feedback, I've discovered that certain Mac OS clones contain 3rd party video cards that don't support QuickDraw's hardly documented feature of index-to-palette synchronization, and the way they don't support it is through crashing the machine! This problem only happens on probably 5% of Mac OS running machines, but it's large enough to demonstrate Fractint's need for a graphic's API that is supported across a variety of software platforms (axing MacOS/QuickDraw and Win32/DirectX), and has enough hardware support to actually keep Fractint fast *and* color-cycling. I'm not sure if there is such an API, but I'm doing some more research on OpenGL to figure out if it's capable of supporting indexed-on-a-direct-device color-animation. Does anyone have any opinions on these sorts of issues? =- Tim Gilman "There is no truth, in which passing through awareness, does not lie. Yet we chase after it all the same." - J. Lacan - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Mon, 1 Mar 1999 21:26:42 -0300 (EST) From: Humberto Rossetti Baptista Subject: Re: (fractdev) Re: 32 bit port - graphics API On Thu, 25 Feb 1999, Tim Gilman wrote: > Does anyone have any opinions on these sorts of issues? Yes: my goes in the direction you're going while supporting a more hands-on approach (TimW style:-)): The abtractions o the grahics system is important but not essential right now and as you've pointed needs a LOT more research. Our main problem (in my opinion, of course) is to move to a flat memory model to allow people to experiment more and throw more peebles in the soup! I hate to cook in a small pan :-))) `[]'s Humberto R. Baptista humberto@insite.com.br - --------------------------------------------------------------------------- Insite - Solucoes Internet http://www.insite.com.br - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 03 Mar 1999 12:26:02 -0700 From: Phil McRevis Subject: (fractdev) 16->32 bit assembler OK, what do I need to know in order to convert the assembler to 32-bit? I've coded 6809 and 680x0 assembler before, but not x86 assembler, although I'm familiar with the architecture and instruction set. It looks like the fastest path to the 32-bit flat memory-model is to port everything in the existing fractint code base, including the assembler. Tim, weren't you going to send me the URL for the newer development version of the code (including evolver, etc.) so I can merge my changes? - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 03 Mar 1999 13:38:08 -0600 From: "Damien M. Jones" Subject: Re: (fractdev) 16->32 bit assembler Phil, - OK, what do I need to know in order to convert the assembler to - 32-bit? :-) - I've coded 6809 and 680x0 assembler before, but not x86 assembler, - although I'm familiar with the architecture and instruction set. Hmmm. First step, of course: forget most of your optimizing tricks from 680x0 code. :) Then, if you want to write fast code, check Agner Fog's guide: http://www.geocities.com/SiliconValley/9498/p5opt.html Now, your problem is that a lot of the assembly programming guides for the PC all seem to start out with real-mode DOS programming, which is a pain in the neck and far more complicated. 32-bit programming is simple. You don't ever mess with segment registers--you just treat memory as a flat address space, like you do on the 680x0. And although you'll find specialized instructions for doing specific things with specific registers, most of the time these are hold-overs from earlier generations; the general-purpose instructions that work on almost all registers are faster, and they give you more flexibility. Don't forget that x86 chips store the least significant byte in the lowest address; this is backwards from 680x0 chips. If you have a variable you want to access as both a longword and a word, on the 680x0 you'd do it like this: move.w var1+2,d0 ; access the low word move.l var1,d1 ; access the entire longword ... var1 dc.l $12345678 On an x86, you'd do it like this: mov ax,WORD PTR var1 ; access the low word mov ebx,var1 ; access the entire doubleword ... var1 dd 012345678h Note that for x86 instructions, the destination is on the left, not on the right. This caused me no end of trouble when I moved from 680x0 to x86. On the whole, I think I prefer the 680x0 syntax. I certainly prefer having more registers to work with. :-) Having only eight general-purpose registers when you're used to sixteen is a *tight* squeeze. Damien M. Jones \\ dmj@fractalus.com \\ Fractalus Galleries & Info: \\ http://www.fractalus.com/ Please do not post my e-mail address on a web site or in a newsgroup. Thank you. - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 03 Mar 1999 12:59:42 -0700 From: Phil McRevis Subject: Re: (fractdev) 16->32 bit assembler In article <3.0.5.32.19990303133808.007efdc0@mail.icd.com>, "Damien M. Jones" writes: > Phil, By the way, in case anyone didn't know (or care :-). "Phil McRevis" is a gag name. I put it on my account because some people insist on knowing your "real name" before they will take you seriously and/or answer your questions. I used to use various pithy phrases like "Legalize Adulthood!" in my real name field and people would have these reactions about knowing who I am "really". So I put the Phil McRevis there to satisfy these boneheads (say it out loud to get the gag). I did have a bad experience once with some dork who decided that he was going to use my real name to look up my phone number and leave threatening messages on my answering machine. (I still have the tape around somewhere in case he decides to run for office; yes, he was a dork from a politics mailing list.) Nowadays that is less likely to happen since I've gotten my phone number unlisted to avoid telemarketers during dinner, but still, you never know. My real name is Rich. If anyone doesn't recognize who I am from the style of my messages and is curious, email me in private and I may reveal more. Its a shame that one must resort to security through obscurity in order to protect oneself from the various boneheads out there these days, but its what I've found works best. Now back to our regular program... > - OK, what do I need to know in order to convert the assembler to > - 32-bit? > > Well we just didn't seem to be reaching any firm conclusion about what to do about the graphics. I'm not even going to attempt making the converted assembly fast or efficient, merely functional. > http://www.geocities.com/SiliconValley/9498/p5opt.html I've read this before, but as I say, I'm not looking for the minimum cycle M-set computation, just something that *works* in 32-bit mode. > Now, your problem is that a lot of the assembly programming guides for the > PC all seem to start out with real-mode DOS programming, which is a pain in > the neck and far more complicated. Yes, the book I have on x86 assembly code is like that. Fortunately I got it so cheap that I didn't feel ripped off :-). (It was like $5 or something like that.) > Note that for x86 instructions, the destination is on the left, not on the > right. This caused me no end of trouble when I moved from 680x0 to x86. Its actually been so long since I genuinely coded assembly (last time was in 1986!) that I don't expect this to be a problem for me :-). Mostly I'm just concerned about converting the 16bit assembler in such a way as to preserve its correctness. Some other assembly guru can adjust for speed if necessary. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 03 Mar 1999 13:08:38 -0700 From: Phil McRevis Subject: Re: (fractdev) 16->32 bit assembler Can someone recommend a good book on 32-bit assembler? I'd like to have a nice reference + tutorial to work with while I'm doing this. As I said, I have an x86 assembler book, but it is focused on 16bit DOS real-mode code, not 32bit protected mode stuff. Yes, I can print out the x86 PDF files from intel, but that's hardly the best way to learn assembler -- staring at a long compendium of detailed tehcnical info on each and every instruction without a tutorial-like overview. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 3 Mar 1999 17:27:22 -0300 (EST) From: Humberto Rossetti Baptista Subject: Re: (fractdev) 16->32 bit assembler Hi Phil (Rich), On Wed, 3 Mar 1999, Phil McRevis wrote: > It looks like the fastest path to the 32-bit flat memory-model is to > port everything in the existing fractint code base, including the > assembler. I think that won't be necessary as the work on xfractint has ported back all assembly to C, so as a simple path we can use this to obtain a fractint version that is compiled to 32 bit. What we lack right now is the porting of the graphic/text interface to 32 bit (in C for portability issues ??) To that we have seen the mantion of Allegro as a library that can handle both Linux and DOS 32 bit (does it work in other Unixes, and/or X?). > Tim, weren't you going to send me the URL for the newer development > version of the code (including evolver, etc.) so I can merge my > changes? Hi Tim, How are things doing? I see from the ftp that you haven't merged thelast stuff yet in the files, any ideas? []'s Humberto R. Baptista humberto@insite.com.br - --------------------------------------------------------------------------- Insite - Solucoes Internet http://www.insite.com.br - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ Date: Wed, 03 Mar 1999 13:29:45 -0700 From: Phil McRevis Subject: Re: (fractdev) 16->32 bit assembler In article , Humberto Rossetti Baptista writes: >I think that won't be necessary as the work on xfractint has ported back > all assembly to C, so as a simple path we can use this to obtain a fractint > version that is compiled to 32 bit. No, this won't work (completely) for the DOS code, because xfractint doesn't know anything about VGA cards and so-on. It uses X for graphics and input. Yes, some things can be stolen from the xfractint source code but for others it uses an X-centric replacement, not a straight "do what the DOS code does, but do it in C" replacement. - -- Legalize Adulthood! ``Ain't it funny that they all fire the pistol, at the wrong end of the race?''--PDBT legalize@xmission.com - -------------------------------------------------------------- Thanks for using Fractdev, The Fractint Developer's Discussion List Post Message: fractdev@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev" ------------------------------ End of fractdev-digest V1 #18 *****************************