home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / graf / fract5.zip / FARMSG.ASM < prev    next >
Assembly Source File  |  1989-12-31  |  36KB  |  658 lines

  1. ;
  2. ;    HELP (and other) strings that have been moved to a FARDATA
  3. ;    segment to relieve some of the pressure on the poor little
  4. ;    overloaded 64K DATA segment.
  5.  
  6.  
  7. ;             required for compatibility if Turbo ASM
  8. IFDEF ??version
  9. MASM51
  10. QUIRKS
  11. ENDIF
  12.  
  13.  
  14. .model medium, c
  15.  
  16. .data
  17.  
  18. helpmessagemain        dw    offset  helpmessagemain1
  19.             dw    seg     helpmessagemain1
  20.             dw    offset  helpmessagemain2
  21.             dw    seg     helpmessagemain2
  22.             dw    offset  helpmessagemain3
  23.             dw    seg     helpmessagemain3
  24.             dw    0,0
  25.  
  26. helpmessagecycling    dw    offset  helpmessagecycling1
  27.             dw    seg     helpmessagecycling1
  28.             dw    offset  helpmessagecycling2
  29.             dw    seg     helpmessagecycling2
  30.             dw    0,0
  31.  
  32. helpmessagemouse    dw    offset  helpmessagemouse1
  33.             dw    seg     helpmessagemouse1
  34.             dw    0,0
  35.  
  36. helpmessagecmdline    dw    offset  helpmessagecmdline1
  37.             dw    seg     helpmessagecmdline1
  38.             dw    offset  helpmessagecmdline2
  39.             dw    seg     helpmessagecmdline2
  40.             dw    offset  helpmessagecmdline3
  41.             dw    seg     helpmessagecmdline3
  42.             dw    offset  helpmessagecmdline4
  43.             dw    seg     helpmessagecmdline4
  44.             dw    0,0
  45.  
  46. helpmessagefractals    dw    offset  helpmessagefractals1
  47.             dw    seg     helpmessagefractals1
  48.             dw    offset  helpmessagefractals2
  49.             dw    seg     helpmessagefractals2
  50.             dw    offset  helpmessagefractals3
  51.             dw    seg     helpmessagefractals3
  52.             dw    offset  helpmessagefractals4
  53.             dw    seg     helpmessagefractals4
  54.             dw    offset  helpmessagefractals5
  55.             dw    seg     helpmessagefractals5
  56.             dw    offset  helpmessagefractals6
  57.             dw    seg     helpmessagefractals6
  58.             dw    offset  helpmessagefractals7
  59.             dw    seg     helpmessagefractals7
  60.             dw    offset  helpmessagefractals8
  61.             dw    seg     helpmessagefractals8
  62.             dw    0,0
  63.  
  64. helpmessageformoreinfo    dw    offset  helpmessageformoreinfo1
  65.             dw    seg     helpmessageformoreinfo1
  66.             dw    0,0
  67.  
  68. .code
  69.  
  70.     public    helpmessagetitle
  71.     public    helpmessageauthors
  72.     public    helpmessagecredits
  73.     public    helpmessagemenu
  74.     public    helpmessagemain
  75.     public    helpmessagecycling
  76.     public    helpmessagemouse
  77.     public    helpmessagecmdline
  78.     public    helpmessagefractals
  79.     public    helpmessageformoreinfo
  80.     public    helpmessageendtext
  81.     public    helpmessagemoretext
  82.     public    helpmessagevideo
  83.  
  84.     public    runningontarga
  85.     public    plasmamessage
  86.     public    argerrormessage
  87.     public    goodbyemessage
  88.  
  89.     public    helpmessage
  90.  
  91.     public    initifs, initifs3d
  92.  
  93. helpmessagetitle    db    "FRACTINT    Version 11.0"
  94.  db 13,10,0
  95.  
  96. helpmessageauthors    db    13,10
  97.  db "------------------  Primary Authors (this changes over time)  -----------------",13,10
  98.  db "Bert Tyler      - Programmer-Type obsessed with mind-numbing speed...",13,10
  99.  db "                  Compuserve (CIS) ID: [73477,433]   BIX ID: btyler",13,10
  100.  db "Timothy Wegner  - Mathematician-Type obsessed with fractals and options...",13,10
  101.  db "                  CIS ID: [71320,675]   Internet: twegner@mwunix.mitre.org",13,10
  102.  db "Mark Peterson   - Mathematician-Type obsessed with fractal types AND speed...",13,10
  103.  db "                  CIS ID: [70441,3353]",13,10
  104.  db "---------  Contributing Authors (SPACEBAR toggles scrolling off/on)  ----------",13,10
  105.  db 13,10
  106.  db 13,10        ; room for fourteen authors here
  107.  db 13,10
  108.  db 13,10
  109.  db 13,10
  110.  db 13,10
  111.  db 13,10
  112.  db 13,10
  113.  db 13,10
  114.  db 13,10
  115.  db 13,10
  116.  db 13,10
  117.  db 13,10
  118.  db "Please press one of the Function Keys to select a video mode and begin an image",13,10
  119.  db "(or press the 'h' key now or at any other time for help)"
  120.  db 0
  121.  
  122. helpmessagecredits    db    32
  123.  db  "                 ...",13,10
  124.  db "Michael Abrash  - 360x480x256, 320x400x256 VGA video modes",13,10
  125.  db "Steve Bennett   - restore-from-disk logic",13,10
  126.  db "Rob Beyer       - [71021,2074] Barnsley IFS, Lorenz fractals",13,10
  127.  db "John Bridges    - [73307,606] superVGA support, 360x480x256 mode",13,10
  128.  db "Lee Crocker     - [73407,2030] Fast Newton, Inversion, Decomposition..",13,10
  129.  db "Monte Davis     - [71450,3542] Documentation",13,10
  130.  db "Richard Finegold- [76701,153] 8/16/../256-Way Decomposition option",13,10
  131.  db "Mike Kaufman    - mouse support, other features",13,10
  132.  db "Joe McLain      - [75066,1257] TARGA Support, color-map files",13,10
  133.  db "Bob Montgomery  - [73357,3140] (Author of VPIC) Fast text I/O routines",13,10
  134.  db "Bret Mulvey     - plasma clouds",13,10
  135.  db "Marc Reinig     - [72410,77] 3D 'Preview' option",13,10
  136.  db "Kyle Powell     - [76704,12] 8514/A Support",13,10
  137.  db "Matt Saucier    - [72371,3101] Printer Support",13,10
  138.  db "Dean Souleles   - [75115,1671] Hercules Support",13,10
  139.  db "Dave Warker     - Integer Mandelbrot Fractals concept",13,10
  140.  db "Phil Wilson     - [76247,3145] Distance Estimator, Bifurcation fractals",13,10
  141.  db "Richard Wilton  - Tweaked VGA Video modes",13,10
  142.  db "                  ...",13,10
  143.  db "Byte Magazine   - Tweaked VGA Modes",13,10
  144.  db "MS-Kermit       - Keyboard Routines",13,10
  145.  db "PC Magazine     - Sound Routines",13,10
  146.  db "PC Tech Journal - CPU, FPU Detectors",13,10
  147.  db 0
  148.  
  149. helpmessagemenu    db    13,10
  150.  db 13,10,13,10
  151.  db "The following help screens are available",13,10
  152.  db 13,10
  153.  db "1   - Commands available at the initial Credits Screen and main command level",13,10,13,10
  154.  db "2   - Commands available at the Color-Cycling command level",13,10,13,10
  155.  db "3   - Using FRACTINT with a mouse",13,10,13,10
  156.  db "4   - The SSTOOLS.INI file and Command-Line arguments",13,10,13,10
  157.  db "5   - Descriptions of currently available fractal types",13,10,13,10
  158.  db "6   - List of Available Video Modes and the keys that select them",13,10
  159.  db "      ( >>> and if you're at the initial Credits Screen, NO FRACTAL IMAGES",13,10
  160.  db "      are going to get drawn UNTIL AFTER you select a video mode <<< )",13,10,13,10
  161.  db "7   - Contacting the authors / obtaining the latest versions of FRACTINT",13,10,13,10
  162.  db "Please press one of the above keys (or press ESCAPE to exit Help Mode)"
  163.  db 0
  164.  
  165. helpmessagemain1    db    13,10
  166.  db "The useful keys you can hit while this program is running (the commands marked",13,10
  167.  db "                    with an '*' are also available at the credits screen) are:",13,10
  168.  db 13,10
  169.  db "* h or H or ?       HELP! (Enter help mode and display this screen)",13,10
  170.  db "  PageUp, PageDown  Shrink or Expand the Zoom Box",13,10
  171.  db "  Cursor Keys       Pan (Move) the Zoom Box across the screen",13,10
  172.  db "  Ctrl-Cursor Keys  Fast-Pan the Zoom Box (may require an enhanced keyboard)",13,10
  173.  db "  End or Enter      Redraw the Screen or area inside the Zoom Box",13,10
  174.  db "* F1,F2,F3,F4...    Select a new Video Mode and THEN Redraw",13,10
  175.  db "                    (see the Video-modes HELP screens for the full modes list)",13,10
  176.  db "* 1 or 2 or g       Select Single-Pass, Dual-Pass, or Solid-Guessing mode",13,10
  177.  db "  c or C or + or -  Enter Color-Cycling Mode (see Color-Cycling Help screen)",13,10
  178.  db "  s or S            Save the current screen image to disk (restart with 'r')",13,10
  179.  db "* r or R or 3 or o  Restart from a saved (or .GIF) file ('3' or 'o' for 3-D)",13,10
  180.  db "* t or T            Select a new fractal type and parameters",13,10
  181.  db 13,10
  182.  db 13,10
  183.  db "Hit any of these keys while drawing a fractal to immediately do the command.",13,10
  184.  db "   If the screen finishes before you hit a key, it will beep and wait for you."
  185.  db 0
  186.  
  187. helpmessagemain2    db    13,10
  188.  db "The useful keys you can hit while this program is running (the commands marked",13,10
  189.  db "                    with an '*' are also available at the credits screen) are:",13,10
  190.  db 13,10
  191.  db "  p or P            Print the screen (command-line options set printer type)",13,10
  192.  db "  Spacebar          Mandelbrot/Julia Set toggle (read FRACTINT.DOC first)",13,10
  193.  db "  < or >            Lower or Raise the Iteration Limit (display with Tab key)",13,10
  194.  db "* n or N or l or L  Select Normal (the default) or Logarithmic Palettes",13,10
  195.  db "  b or B            Add the current fractal description to FRABATCH.BAT",13,10
  196.  db "  o or O            toggles 'orbits' option on and off during image generation",13,10
  197.  db "  Home              Redraw Previous screen (you can 'back out' recursively)",13,10
  198.  db "  Tab               Display the current fractal image information",13,10
  199.  db "  Control-Enter     'Zoom-out' - expands the image so that your current",13,10
  200.  db "                    image is positioned inside the current zoom-box location.",13,10
  201.  db "* e or E            Edit the parameters for the Barnsley IFS fractal-types",13,10
  202.  db "                    (this option ONLY affects Barnsley IFS and IFS3D fractals)",13,10
  203.  db 13,10
  204.  db 13,10
  205.  db "Hit any of these keys while drawing a fractal to immediately do the command.",13,10
  206.  db "   If the screen finishes before you hit a key, it will beep and wait for you."
  207.  db 0
  208.  
  209. helpmessagemain3    db    13,10
  210.  db "The useful keys you can hit while this program is running (the commands marked",13,10
  211.  db "                    with an '*' are also available at the credits screen) are:",13,10
  212.  db 13,10
  213.  db "  i or I            apply inversion to the current fractal image",13,10
  214.  db "* f or F            toggle the floating-point option ON or OFF.  The",13,10
  215.  db "                    TAB key display will indicate so if it's ON.",13,10
  216.  db "                    See FRACTINT.DOC for details.",13,10
  217.  db "  q or Q            apply Decomposition (2, 4, or 8-way) to the current",13,10
  218.  db "                    fractal image.  See FRACTINT.DOC for details.",13,10
  219.  db "* Insert            Restart the program (at the credits screen)",13,10
  220.  db "* d or D            Shell to DOS (type 'exit' at the DOS prompt to return)",13,10
  221.  db "* Delete or Esc     Stop the program and return to MSDOS",13,10
  222.  db 13,10
  223.  db 13,10
  224.  db 13,10
  225.  db 13,10
  226.  db 13,10
  227.  db "Hit any of these keys while drawing a fractal to immediately do the command.",13,10
  228.  db "   If the screen finishes before you hit a key, it will beep and wait for you."
  229.  db 0
  230.  
  231. helpmessagecycling1    db    13,10
  232.  db "Command Keys that are available in Color-Cycling mode (which is the mode you",13,10
  233.  db "are in if you have hit the 'c' key and are now paused in Color-Cycling mode",13,10
  234.  db "with a white overscan (border) area, or you hit the '+' or '-' keys and",13,10
  235.  db "the the colors are now cycling on your screen).  Commands marked with an '*'",13,10
  236.  db "are available only on VGA systems (the others also work on EGA systems).",13,10
  237.  db 13,10
  238.  db "  h or H or ?      HELP! (Enter help mode and display this screen)",13,10
  239.  db "  + or -           (re)-set the direction of the color-cycling",13,10
  240.  db "  Right/Left Arrow (re)-set the direction of the color-cycling (just like +/-)",13,10
  241.  db "  Up/Down Arrow    SpeedUp/SlowDown the color cycling process",13,10
  242.  db "  F1 thru F10      Select Short--Medium--Long (randomly-generated) color bands",13,10
  243.  db "  1  thru 9        Cycle through 'nn' colors between screen updates (default=1)",13,10
  244.  db "  Enter            Randomly (re)-select all new colors  [TRY THIS ONE!]",13,10
  245.  db "  Spacebar         Pause until another key is hit (the overscan area is set",13,10
  246.  db "                   to white as a visual indicator of a Color-Cycling pause)",13,10
  247.  db "* SF1 thru AF10    Pause and re-set the Palette to one of 30 fixed sequences",13,10
  248.  db "* r or g or b or   force a pause and Lower (lower case) or Raise (upper case)",13,10
  249.  db "* R or G or B      the Red, Green, or Blue component of the fractal image",13,10
  250.  db 0
  251.  
  252. helpmessagecycling2    db    13,10
  253.  db "Command Keys that are available in Color-Cycling mode (which is the mode you",13,10
  254.  db "are in if you have hit the 'c' key and are now paused in Color-Cycling mode",13,10
  255.  db "with a white overscan (border) area, or you hit the '+' or '-' keys and",13,10
  256.  db "the the colors are now cycling on your screen).  Commands marked with an '*'",13,10
  257.  db "are available only on VGA systems (the others also work on EGA systems).",13,10
  258.  db 13,10
  259.  db "  d or D or a or A pause and load the palette from DEFAULT.MAP or ALTERN.MAP",13,10
  260.  db "  m or M           pause, prompt for a palette map filename (default",13,10
  261.  db "                   filetype is .MAP), and load the palette from that map file",13,10
  262.  db "  s or S           pause, prompt for a palette map filename (default",13,10
  263.  db "                   filetype is .MAP), and save the palette to that map file",13,10
  264.  db "  (any other key)  Exit Color-Cycling and return to main command level",13,10
  265.  db 0
  266.  
  267. helpmessagemouse1    db    13,10
  268.  db "Using FRACTINT with a Mouse",13,10,13,10
  269.  db "Left Button:   Brings up and sizes the Zoom Box.   While holding down the",13,10
  270.  db "               left button, push the mouse forward to shrink the Zoom Box,",13,10
  271.  db "               and pull it back to expand it.   Then let go of the button",13,10
  272.  db "               and move the mouse around to 'pan' the Zoom Box (with no",13,10
  273.  db "               buttons held down, you are in 'fast-pan' mode).",13,10
  274.  db 13,10
  275.  db "Right Button:  When the right button is held down, the 'panning' operation",13,10
  276.  db "               switches from 'fast-pan' to 'slow-pan' mode, giving you",13,10
  277.  db "               better control over the location of the Zoom Box.",13,10
  278.  db 13,10
  279.  db "Both Buttons:  (or the middle button, if you have three of them) Redraws",13,10
  280.  db "               the area inside the Zoom Box over your full screen.",13,10
  281.  db 13,10
  282.  db "Zoom and Pan using the mouse typically consists of pushing in the left",13,10
  283.  db "button, sizing the zoom box, letting go of the button, fast-panning to",13,10
  284.  db "the general area, pushing in the right button and slow-panning to the",13,10
  285.  db "exact area you want, and then (still holding down the right button) tapping",13,10
  286.  db "the left button to perform the Zoom.",13,10
  287.  db 0
  288.  
  289. helpmessagecmdline1    db    13,10
  290.  db "If FRACTINT locates a file called 'SSTOOLS.INI' in the DOS PATH, it reads",13,10
  291.  db "initialization variables from it.  These variables can also be initialized",13,10
  292.  db "on the command-line as arguments, or from other files referenced on the",13,10
  293.  db "command line using an '@' notation.  The variables currently available are:",13,10
  294.  db 13,10
  295.  db "@filename                  Read more cmd-line arguments from 'filename'",13,10
  296.  db "                           (this option only available on the command-line)",13,10
  297.  db "[filename=]filename        Start with this saved file (one saved by FRACTINT",13,10
  298.  db "                           or a generic GIF file [treated as a plasma cloud])",13,10
  299.  db "                           ('filename=' is mandatory inside '@' or .INI files)",13,10
  300.  db "savename=filename          Save files using this name (instead of FRACT001)",13,10
  301.  db "video=xxx                  Begin with this video mode (Example: Video=F2)",13,10
  302.  db "                           See the video-modes HELP screen for a full list",13,10
  303.  db "type=fractaltype           Perform this Fractal Type (Default = mandel)",13,10
  304.  db "                           See the fractaltypes HELP screen for a full list",13,10
  305.  db "params=xxx[/xxx[/xxx]]...  Begin with these extra Parameter values",13,10
  306.  db "                           (Examples:  params=4   params=-0.480/0.626)",13,10
  307.  db "corners=xmin/xmax/ymin/ymax  Begin with these X, Y Coordinates",13,10
  308.  db "                           (Example: corners=-0.739/-0.736/0.288/0.291)",13,10
  309.  db 0
  310.  
  311. helpmessagecmdline2    db    13,10
  312.  db "The initialization variables available, and their formats are:",13,10
  313.  db 13,10
  314.  db "passes=x (x = 1, 2, or g)  Select Single-Pass, Dual-Pass, or Solid-Guessing",13,10
  315.  db "potential=nn[/nn[/nn]]     Continuous Potential options (see FRACTINT.DOC)",13,10
  316.  db "logmap=yes                 Use a Logarithmic palette map rather than the",13,10
  317.  db "                           default (Continuous) palette map",13,10
  318.  db "maxiter=nnn                Maximum number of iterations (default = 150)",13,10
  319.  db "iterincr=nnn               Iteration inc/decrement stepsize (default = 50)",13,10
  320.  db "inside=nnn                 Mandelbrot Interior color (inside=0 for black)",13,10
  321.  db "map=filename               (VGA or TARGA) get the color map from 'filename'",13,10
  322.  db "warn=yes                   Tells FRACTINT to avoid over-writing existing files",13,10
  323.  db "batch=yes                  Batch mode run (display image, save-to-disk, exit)",13,10
  324.  db "batch=config               Batch mode run to generate a 'fractint.cfg' file",13,10
  325.  db "cyclelimit=nnn             color-cycler speed-limit (1 to 256, default = 55)",13,10
  326.  db "ifs=filename               Define an IFS map for the Barnsley IFS fractals",13,10
  327.  db "                           Read the IFS section of FRACTINT.DOC for details",13,10
  328.  db "printer=type[/res[/lpt#]]  Set the printer type (HP-Laserjet, IBM, Epson),",13,10
  329.  db "                           dots/inch, and port# (1-3 for LPTn, 11-14 for COMn)",13,10
  330.  db "sound=off                  (nobody ever plays with fractals at work, do they?)",13,10
  331.  db 0
  332.  
  333. helpmessagecmdline3    db    13,10
  334.  db "The initialization variables available, and their formats are:",13,10
  335.  db 13,10
  336.  db "3d=[nn[/nn[/nn]]]...       Generate 'filename' (above) as a 3D image using",13,10
  337.  db "                           'nn/nn...' as default answers to the 3D prompts",13,10
  338.  db "sphere=yes                 Turns on 3D sphere mode",13,10
  339.  db "longitude=nn/nn            Longitude minumim and maximum",13,10
  340.  db "latitude=nn/nn             Latitude minimum and maximum",13,10
  341.  db "radius=nn                  Radius scale factor",13,10
  342.  db "rotation=nn[/nn[/nn]]      Rotation abount x,y, and z axes",13,10
  343.  db "scalexyz=nn/nn/nn          X, Y, and Z scale facytors",13,10
  344.  db "roughness=nn               Same as Z scale factor",13,10
  345.  db "waterline=nn               Colors this number and below will be 'inside' color",13,10
  346.  db "filltype=nn                3D filltype",13,10
  347.  db "perspective=nn             Perspective viewer distance (100 is at the edge)",13,10
  348.  db "xyshift=nn/nn              Shift image in x and y directions (alters viewpoint)",13,10
  349.  db "lightsource=nn/nn/nn       The coordinates of the light source vector",13,10
  350.  db "smoothing=nn               Smooths rough images in light source mode",13,10
  351.  db "invert=nn/nn/nn            Turns on inversion - turns images 'inside out'.",13,10
  352.  db "transparent=mm/nn          Sets colors 'mm' to 'nn as transparent",13,10
  353.  db 0
  354.  
  355. helpmessagecmdline4    db    13,10
  356.  db "float=yes                  For some functions changes from integer math to fp",13,10
  357.  db "rseed=nnnnn                Forces the random-number 'seed' for Plasma",13,10
  358.  db "                           clouds (so they are reproducable).  The 'rseed='",13,10
  359.  db "                           value is listed as part of the <TAB> display",13,10
  360.  db "decomp=nn[/nnnnn]          'Binary Decomposition' toggle.  First value 2 or 4,",13,10
  361.  db "                           2nd is bailout limit.  See FRACTINT.DOC for details",13,10
  362.  db "biomorph=nnn               Turns on Biomorph Coloring (use with the mansinzexpd",13,10
  363.  db "                           and Julsinzexpd fractal types)",13,10
  364.  db "bailout=nnnn               Use this as the iteration bailout value (rather than",13,10
  365.  db "                           the default value of [for most fractal types] 4.0)",13,10
  366.  db "symmetry=xxxx              Force symmetry to None, Xaxis, Yaxis, XYaxis,",13,10
  367.  db "                           Origin, or Pi symmetry.  Useful for debugging.",13,10
  368.  db "askvideo=no                Disable 'Is This Mode OK?' prompt if you have a ",13,10
  369.  db "                           FRACTINT.CFG file restricted to legal video modes.",13,10
  370.  db "    ;                      indicates the rest of the line is a comment",13,10
  371.  db "                           (IE, 'fractint type=plasma ; use plasma clouds')",13,10
  372.  db 0
  373.  
  374. helpmessagefractals1    db    13,10
  375.  db "Fractal types supported include (see FRACTINT.DOC for full descriptions):",13,10
  376.  db 13,10
  377.  db "mandel     = 'Classic' Mandelbrot fractals using 32-bit integer math for speed.",13,10
  378.  db "             z(0) = 0; z(n+1) = z(n)**2 + C, where C = Xcoord + i * Ycoord.",13,10
  379.  db "             Two optional params: real and imaginary parts of z(0) (if not 0).",13,10
  380.  db "julia      = 'Classic' Julia set fractals using 32-bit integer math for speed.",13,10
  381.  db "             z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)**2 + C.",13,10
  382.  db "             Two params required: real and imaginary parts of C.",13,10
  383.  db "newton,    = Newton Domains-of-attraction (only the coloring schemes are",13,10
  384.  db "newtbasin    different).  First param:  the power (from 3 to 10) of the eqn.",13,10
  385.  db "             If param=4, the eqn is z(n+1) = (3*z(n)**4+1)/(4*z(n)**3).",13,10
  386.  db "             Other Parameters invoke an 'Inversion' option if selected:",13,10
  387.  db "             the Radius and X/Y location of the Inversion point",13,10
  388.  db "plasma     = plasma clouds - random, cloud-like formations.  Requires four or",13,10
  389.  db "             more colors.  One param: 'graininess' (.5 to 50, default = 2)",13,10
  390.  db "mandelsine = 'Mandelbrot-Equivalent' for the lambda-sine fractal.  Use the ",13,10
  391.  db "             Space-bar to select LambdaSine fractals a/la Mandel/Julia. ",13,10
  392.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = z(0)*sine(z(n)). No Parms.",13,10
  393.  db 0
  394.  
  395. helpmessagefractals2    db    13,10
  396.  db "Fractal types supported include (see FRACTINT.DOC for full descriptions):",13,10
  397.  db 13,10
  398.  db "lambdasine = lambda-sine fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  399.  db "             lambda * sine(z(n)).  Two params: real, imag portions of lambda.",13,10
  400.  db "mandelcos  = 'Mandelbrot-Equivalent' for the lambda-cosine fractal.  Use the ",13,10
  401.  db "             Space-bar to select LambdaSine fractals a/la Mandel/Julia. ",13,10
  402.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = z(0)*cosine(z(n)). No Parms.",13,10
  403.  db "lambdacos  = lambda-cosine  fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  404.  db "             lambda * cosine(z(n)).  Two params: real, imag portions of lambda.",13,10
  405.  db "mandelexp    'Mandelbrot-Equivalent' for the lambda-exp fractal.  Use the ",13,10
  406.  db "             Space-bar to select LambdaSine fractals a/la Mandel/Julia. ",13,10
  407.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = z(0)*exp(z(n)). No Parms.",13,10
  408.  db "lambdaexp  = lambda-exponent fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  409.  db "             lambda * exp(z(n)).  Two params: real, imag portions of lambda.",13,10
  410.  db "barnsleym1 = Michael Barnsley's alternative 'Mandelbrot'. z(0) = 0; z(n+1) =",13,10
  411.  db "             (z-1)*C if Real(z) >= 0, else = (z+1)*modulus(C)/C, where C =",13,10
  412.  db "             Xcoord + i * Ycoord.",13,10
  413.  db 0
  414.  
  415. helpmessagefractals3    db    13,10
  416.  db "Fractal types supported include (see FRACTINT.DOC for full descriptions):",13,10
  417.  db 13,10
  418.  db "barnsleyj1 = 'Julia' corresponding to barnsleym1. z(0) = Xcoord + i * Ycoord;",13,10
  419.  db "             z(n+1) = (z-1)*C if Real(z) >= 0, else = (z+1)*modulus(C)/C.",13,10
  420.  db "             Two params required: real and imaginary parts of C.",13,10       
  421.  db "barnsleym2 = Another alternative 'Mandelbrot'. z(0) = 0; z(n+1) = (z-1)*C",13,10 
  422.  db "             if Real(z)*Imag(C) + real(C)*imag(z) >= 0, else z(n+1) =",13,10
  423.  db "             (z+1)*C, where C = Xcoord + i * Ycoord.",13,10
  424.  db "barnsleyj2 = 'Julia' corresponding to barnsleym2. z(0) = Xcoord + i * Ycoord;",13,10
  425.  db "             z(n+1) = (z-1)*C if Real(z)*Imag(C) + real(C)*imag(z) >= 0,",13,10
  426.  db "             else = z(n+1) = (z+1)*C. Two params required: real and imaginary",13,10 
  427.  db "             parts of C.",13,10
  428.  db "barnsleym3 = Another alternative 'Mandelbrot' from Barnsley",13,10
  429.  db "             This one has a formula that's just too long for this puny",13,10
  430.  db "             little help file - see FRACTINT.DOC for details",13,10
  431.  db "barnsleyj3 = 'Julia' corresponding to barnsleym3.",13,10
  432.  db "             This one has a formula that's just too long for this puny",13,10
  433.  db "             little help file - see FRACTINT.DOC for details",13,10
  434.  db 0
  435.  
  436. helpmessagefractals4    db    13,10
  437.  db "Fractal types supported include (see FRACTINT.DOC for full descriptions):",13,10
  438.  db 13,10
  439.  db "sierpinski = Sierpinski gasket - a Julia set that produces a 'Swiss cheese",13,10
  440.  db "             triangle'. z(n+1) = (2*x,2*y -1) if y > .5; else (2*x-1,2*y)",13,10
  441.  db "             if (x > .5); else (2*x,2*y). No parameters.",13,10
  442.  db "mandellambda= 'Mandelbrot-Equivalent' for the lambda fractal.  Use the ",13,10
  443.  db "             Space-bar to select Lambda fractals a/la Mandel/Julia. ",13,10
  444.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = z(0)*(z(n)**2). No Parms.",13,10
  445.  db "lambda     = Classic Lambda fractal.   z(0) = Xcoord + i * Ycoord;  ",13,10
  446.  db "             z(n+1) = Lambda*(z(n)**2).  Two params required: real, imaginary",13,10
  447.  db "             parts of Lambda.",13,10       
  448.  db "marksmandel= Mark Peterson's variant of the mandel-lambda fractal.  z(0) = 0;",13,10
  449.  db "             z(n+1) = ((Xcoord+i*Ycoord)**exp)*z(n) + (Xcoord+i*Ycoord).",13,10
  450.  db "marksjulia = Mark Peterson's variant of the julia-lambda fractal. ",13,10
  451.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = (z(0)**exp)*z(n) + z(0).",13,10
  452.  db "unity      = Mark Peterson's 'Unity' fractal type.  Truly Wierd - ",13,10
  453.  db "             See FRACTINT.DOC for the description of this one!",13,10
  454.  db "ifs        = Barnsley IFS Fractal (a fern unless an alternate IFS map has ",13,10
  455.  db "             been defined using the 'ifs=' command-line option).",13,10
  456.  db 0
  457.  
  458. helpmessagefractals5    db    13,10
  459.  db "Fractal types supported include (see FRACTINT.DOC for full descriptions):",13,10
  460.  db 13,10
  461.  db "ifs3d      = Barnsley 3D IFS Fractal (a fern unless an alternate IFS map has ",13,10
  462.  db "             been defined using the 'ifs3d=' command-line option).",13,10
  463.  db "mandel4    = Fourth-power 'Mandelbrot' fractals using 32-bit integer math.",13,10
  464.  db "             z(0) = 0; z(n+1) = z(n)**4 + C, where C = Xcoord + i * Ycoord.",13,10
  465.  db "             Two optional params: real and imaginary parts of z(0) (if not 0).",13,10
  466.  db "julia4     = Fourth-power Julia set fractals using 32-bit integer math.",13,10
  467.  db "             z(0) = Xcoord + i * Ycoord; z(n+1) = z(n)**4 + C.",13,10
  468.  db "             Two params required: real and imaginary parts of C.",13,10
  469.  db "test       = 'test' point letting us (and you!) easily add fractal types.",13,10
  470.  db "             Currently, the 'Distance Estimator' M'brot/Julia Set algorithm.",13,10
  471.  db "             two optional parameters - if none given, uses the M'brot Set",13,10
  472.  db "             If given, they are the the same as the Julia Set parameters.",13,10
  473.  db "mandelsinh = 'Mandelbrot-Equivalent' for the lambda-sinh fractal.  Use the ",13,10
  474.  db "             Space-bar to select LambdaSine fractals a/la Mandel/Julia. ",13,10
  475.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = z(0)*sinh(z(n)). No Parms.",13,10
  476.  db "lambdasinh = lambda-sinh fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  477.  db "             lambda * sinh(z(n)).  Two params: real, imag portions of lambda.",13,10
  478.  db 13,10
  479.  db 0
  480.  
  481. helpmessagefractals6    db    13,10
  482.  db "Fractal types supported include (see FRACTINT.DOC for full descriptions):",13,10
  483.  db 13,10
  484.  db "mandelcosh = 'Mandelbrot-Equivalent' for the lambda-cosh fractal.  Use the ",13,10
  485.  db "             Space-bar to select LambdaCosh fractals a/la Mandel/Julia. ",13,10
  486.  db "             z(0) = Xcoord + i * Ycoord;  z(n+1) = z(0)*cosh(z(n)). No Parms.",13,10
  487.  db "lambdacosh = lambda-cosh  fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  488.  db "             lambda * cosh(z(n)).  Two params: real, imag portions of lambda.",13,10
  489.  db "mansinzsqrd= 'Mandelbrot-Equivalent' for the Julsinzsqrd fractal. Use the ",13,10
  490.  db "             Space-bar to select Julsinzexp a/la Mandel/Julia.  z(0) = 0;",13,10
  491.  db "             z(n+1) =z(n)**2 + sin(z(n)) + (Xcoord + i * Ycoord). No Parms.",13,10
  492.  db "julsinzsqrd= Julia Biomorph fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  493.  db "             z(n)**2 + sin(z(n)) + C.  Two params: real, imag portions of C.",13,10
  494.  db "manzpower  = 'Mandelbrot-Equivalent' for the julzpower fractal.  Use the ",13,10
  495.  db "             Space-bar to select julzpower fractals a/la Mandel/Julia. ",13,10
  496.  db "             z(n+1) = z(n)^m + C. Parameters are real pertubation, ",13,10
  497.  db "             imaginary pertubation, exponent m.",13,10
  498.  db "julzpower  = Juliazpower fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  499.  db "             z(n)^m + C.  Two params: real, imag portions of C.",13,10
  500.  db 0
  501.  
  502. helpmessagefractals7    db    13,10
  503.  db "manzzpwr  = 'Mandelbrot-Equivalent' for the julzzpwr fractal.  Use the ",13,10
  504.  db "             Space-bar to select julzzpwr fractals a/la Mandel/Julia. ",13,10
  505.  db "             z(n+1) = z(n)^z(n) + z(n)^m + C. Parameters are real pertubation,",13,10
  506.  db "             imaginary pertubation, and exponent m.",13,10
  507.  db "julzzpwr  =  julia*zpower fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  508.  db "             z(n)^z(n) + z(n)^m + C.  Three params: real, imag portions ",13,10
  509.  db "             C, and the exponent m.",13,10
  510.  db "mansinexp = 'Mandelbrot-Equivalent' for the julsinexp fractal.  Use the ",13,10
  511.  db "             Space-bar to select julsinexp fractals a/la Mandel/Julia. ",13,10
  512.  db "             z(n+1) = sin(z(n)) + e^z(n) + C. Parameters are real pertubation, ",13,10
  513.  db "             and imaginary pertubation of z(0).",13,10
  514.  db "julsinexp =  julia sinexp fractal.  z(0) = Xcoord + i * Ycoord;  z(n+1) = ",13,10
  515.  db "             sin(z(n)) + e^z(n) + C.  Two params: real, imag portions C.",13,10
  516.  db "popcorn   =  orbits of x(n+1) = x(n) - h*sin(y(n) + tan(3*y(n)) and",13,10
  517.  db "             y(n+1) = y(n) - h*sin(x(n) + tan(3*x(n)) plotted for EACH ",13,10
  518.  db "             screen pixel and superimposed. If symmetry=none, plots Julia",13,10
  519.  db "             set of same equation.",13,10
  520.  db 0
  521.  
  522. helpmessagefractals8    db    13,10
  523.  db "demm,     =  Mandelbrot and Julia fractal images generated using the",13,10
  524.  db "demj         'Distance Estimator' method.  Same fractal types, same ",13,10
  525.  db "             input parameters, different coloring schemes!",13,10
  526.  db "Bifurcation = 'Bifurcation' fractal. Pictoral representation of a",13,10
  527.  db "             population growth model.  The model is: Newpopulation =",13,10
  528.  db "             growthrate * oldpopulation * (1 - oldpopulation)",13,10
  529.  db "complexnewton, = Newton's fractal type extended to complex numbers. ",13,10
  530.  db "complexbasin     Newton's fractal uses (z**n + 1) - these types use",13,10
  531.  db "             (z**a + b), where both 'a' and 'b' are complex numbers.",13,10
  532.  db "lorenz    =  Lorenz attractor fractal - orbits of differential equation",13,10 
  533.  db "             x = x + (-a * x * dt) + (a * y * dt)",13,10
  534.  db "             y = y + (b * x * dt) - (y * dt) - (z * x * dt)",13,10
  535.  db "             z = z + (-c * z * dt) + (x * y * dt)",13,10
  536.  db "             Parameters are dt, a, b, and c.",13,10
  537.  db "lorenz3d  =  3D Lorenz attractor with 3D perspective.  Run this while",13,10
  538.  db "             using the transformation option of the E(dit) command",13,10
  539.  db "             to change your perspective.",13,10
  540.  db 0
  541.  
  542. helpmessageformoreinfo1    db    13,10
  543.  db 13,10
  544.  db "Virtually all of the FRACTINT authors can be found on the Compuserve",13,10
  545.  db "network in the COMART ('COMputer ART') forum in S 15 ('Fractals').",13,10
  546.  db "Several of us can also be found on BIX in the GRAPHIC.DISP/FRACTALS area.",13,10
  547.  db 13,10
  548.  db "In addition, several of the authors have agreed to the listing of their",13,10
  549.  db "home addresses at the end of the FRACTINT.DOC file.",13,10
  550.  db 13,10
  551.  db "New versions of FRACTINT are uploaded (as self-extracting archive files)",13,10
  552.  db "to the Compuserve and BIX networks, and make their way to other systems",13,10
  553.  db "from those points.  The latest version of the program can usually be found",13,10
  554.  db "in the following locations:",13,10
  555.  db 13,10
  556.  db "FRAINT.EXE - (Executable/Docs)  Compuserve: COMART DL 15 and IBMNEW DL 5",13,10
  557.  db "              BIX: GRAPHIC.DISP/LISTINGS and IBM.PC/LISTINGS",13,10
  558.  db 13,10
  559.  db "FRASRC.EXE - (Complete Source)  Compuserve: COMART DL 15 and IBMPRO DL 3",13,10
  560.  db "              BIX: GRAPHIC.DISP/LISTINGS and IBM.PC/LISTINGS",13,10
  561.  db 13,10
  562.  db "(What's the latest version?  Well, THIS one was, way back when we uploaded it!)",13,10
  563.  db 0
  564.  
  565. helpmessagemoretext    db    13,10
  566.  db ">>ANOTHER HELP PAGE IS AVAILABLE<< -- Press the ENTER key to see it."
  567.  db 0;
  568.  
  569. helpmessageendtext    db    13,10
  570.  db "Press ESCAPE to exit Help mode, or 'h' to see the help menu. ",13,10
  571.  db "Pressing any other key passes that keypress back to your program. "
  572.  db 0;
  573.  
  574. helpmessagevideo    db    " "
  575.  db "   (Notation:  F1, SF1, CF1, AF1 == Normal-, Shift-, Control- or Alt-F1) ",13,10
  576.  db "    'B' after #-of-colors means video access is via the BIOS (s-l-o-w-l-y)",13,10
  577.  db 13,10
  578.  db ">>ANOTHER HELP PAGE IS AVAILABLE<< -- Press the ENTER key to see it.",13,10
  579.  db "Press ESCAPE to exit Help mode, or 'h' to see the help menu.",13,10
  580.  db "Pressing any other key passes that keypress back to your program. "
  581.  db 0
  582.  
  583. runningontarga        db    13,10
  584.  db "                FRACTINT Running On TrueVision TARGA Card"
  585.  db 13,10,0
  586.  
  587. plasmamessage        db    13,10
  588.  db 13,10
  589.  db "I'm sorry, but because of their random-screen-access algorithms, Plasma",13,10
  590.  db "Clouds and Barnsley IFS fractal images cannot be created using an",13,10
  591.  db "Expanded-Memory or Disk-based 'Video' mode.",13,10
  592.  db 13,10
  593.  db "Also, Plasma Clouds can currently only be run in a 4-or-more-color video",13,10
  594.  db "mode (and color-cycled only on VGA adapters [or EGA adapters in their",13,10
  595.  db "640x350x16 mode]).",13,10
  596.  db 13,10,13,10,13,10
  597.  db "Either press a function key (like F1 thru F5) that selects one of",13,10
  598.  db "those modes, or press the 't' key to select a new fractal type.",13,10
  599.  db 13,10,0
  600.  
  601. argerrormessage        db    13,10
  602.  db "(see the Startup Help screens or FRACTINT.DOC for a complete"
  603.  db 13,10
  604.  db " argument list with descriptions):"
  605.  db 13,10
  606.  db 13,10,0
  607.  
  608. goodbyemessage        db    13,10
  609.  db 13,10
  610.  db 13,10
  611.  db "Thank You for using FRACTINT"
  612.  db 13,10
  613.  db 13,10,0
  614.  
  615. ;    IFS fractal of a fern
  616. ;             a     b     c     d     e     f     p 
  617.  
  618. initifs    dd 0.00, 0.00, 0.00, 0.16, 0.00, 0.00, 0.01
  619.         dd 0.85, 0.04, -.04, 0.85, 0.00, 1.60, 0.85
  620.         dd 0.20, -.26, 0.23, 0.22, 0.00, 1.60, 0.07
  621.         dd -.15, 0.28, 0.26, 0.24, 0.0,  0.44, 0.07
  622.     dd 28*7 dup(0.0)
  623.         dd 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00
  624.  
  625. ;        IFS3D fractal of a fern
  626. ;               a     b     c     d     e     f     g     h     i     j     k     l     p 
  627. initifs3d dd  0.00, 0.00, 0.00, 0.00, 0.18, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.01
  628.           dd  0.85, 0.00, 0.00, 0.00, 0.85, 0.10, 0.00,-0.10, 0.85, 0.00, 1.60, 0.00, 0.85
  629.           dd  0.20,-0.20, 0.00, 0.20, 0.20, 0.00, 0.00, 0.00, 0.30, 0.00, 0.80, 0.00, 0.07
  630.           dd -0.20, 0.20, 0.00, 0.20, 0.20, 0.00, 0.00, 0.00, 0.30, 0.00, 0.80, 0.00, 0.07
  631.           dd  28*13 dup(0.0)
  632.           dd  0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 1.00
  633.  
  634.  
  635. .code
  636.  
  637. helpmessage proc uses ds es di, message:far ptr byte
  638.         les     di, message
  639.         sub     ax, ax
  640.         mov     cx, 2050        ; max chars
  641.         cld
  642.         repnz    scasb            ; find 0 byte
  643.         mov     ax, 2049
  644.         sub     ax, cx
  645.  
  646.         mov     cx, ax            ; need cx=length for DOS
  647.         mov     ah, 40h         ; DOS write to file
  648.         mov     bx, 1            ; stdout
  649.         lds     dx, message
  650.         int     21h
  651.  
  652.         xor     ax, ax
  653.         adc     ax, 0            ; return 1 if DOS failed
  654.         ret
  655. helpmessage endp
  656.  
  657.         end
  658.