home *** CD-ROM | disk | FTP | other *** search
- Let's start with the caveats:
-
- 1) you need Microsoft C 5.1 or 6.0 (I use 6.0) and the Microsoft
- Windows 3.0 SDK to rebuild WINFRACT from this ZIP file.
-
- 2) There are a lot of "common modules" between Fractint-for-Windows and
- Fractint-for-DOS, but they are *not* currently in synch. By that, we
- mean that CALCFRAC.C as distributed with version 2.0 of Fractint-for-Windows
- is *not* the same file as CALCFRAC.C distributed with version 14.0 of
- Fractint-for-DOS (lots of little changes had to be made to get it to
- work in both the FFD and FFW environments), and probably won't quite
- match the one in version 15.0 of FFD. Just as soon as things settle
- down <grin>, we'll start distributing "synched" sources of both FFD and FFW.
-
- 3) The MAKEFRAC.BAT file references a program called VIDRAM, which is
- distributed with Quarterdeck's QEMM package and as such is *not*
- included with this ZIP file. VIDRAM temporarily ('VIDRAM ON') converts
- your EGA or VGA adapter's memory to DOS memory, so that you effectively
- have a 736K machine that only runs in text mode - 'VIDRAM OFF' puts
- everything back at the end. VIDRAM is not strictly required for the
- compilation process to work, but it sure speeds up the LINK step. That's
- "speeds up" in that the LINK step only takes 15 minutes on my 16MHZ PS/2
- model 80 rather than 30 minutes. The LINK step itself is pulled out
- of the "make" process and into MAKEFRAC.BAT just to give LINK as much RAM
- as possible.
-
- 4) Comments? I got this thing ported in four months of my spare time
- and you expected me to take the time to put *comments* in the source
- code?
-
- ---------
-
- How this program works:
-
- First of all, we got lucky. Fractint-for-DOS has, for some time, been
- structured such that the working modules periodically call a routine
- called 'keypressed()'. That routine both lets the calling program know if
- there is a keypress or mouse movement waiting that is of interest to the
- calling routine, and it handles the help (F1) and status (TAB) routines in a
- manner invisible to the calling routine.
-
- In the Windows environment, 'keypressed()' performs a 'peekmessage()'
- function, checking for and processing any user activity, and returns
- a value indicating that either nothing of interest has happened, or that
- the calling program should terminate and return to the main routine which
- will actually decide what to do.
-
- Aside from the routines that are taken directly from Fractint-for-DOS,
- the following routines are Windows-specific:
-
- winsrc.doc - you're reading it right now
- makefrac.bat - run this routine to make a new version of WINFRACT
- winfract - the WINFRACT "make" file
- winfract.def - the WINFRACT "def" file
- winfract.rc - the WINFRACT "resource compiler" file
- winfract.ico - the WINFRACT "icon"
- winfract.rtf - the source for the HELP text
- winfract.hpj - the project for the HELP text
- winfract.h - generic WINFRACT include file
- select.h - used by the zoom-box routines (stolen from the Windows SDK)
- winfract.lnk - the list of files required by the LINK step
- winlib.lst - used to build a LIB of FFD routines
- winfract.c - the main WINFRACT routine
- dialog.c - the first of two dialog modules
- dialog2.c - the second of two dialog modules
- windos.c - Windows routines that fake DOS routines
- (routines such as 'keypressed()' are in here)
- mainfrac.c - the main "Fractint" driver routine (called by winfract.c)
- select.c - Zoom-box routines (stolen from the Windows SDK)
- wgeneral.asm - WINFRACT assembler code
- wgeneral.obj - compiled version of same (so you won't need an assembler)
-