[comp.sources.amiga] v91i020: Mandel 1.0 - yet another mandelbrot, Part04/04

amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator) (02/19/91)

Submitted-by: dm@stekt.oulu.fi (Hannu Helminen ti)
Posting-number: Volume 91, Issue 020
Archive-name: applications/mandel-1.0/part04

#!/bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 4 (of 4)."
# Contents:  source/gui.asm.ad
# Wrapped by tadguy@ab20 on Mon Feb 18 17:25:40 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'source/gui.asm.ad' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'source/gui.asm.ad'\"
else
echo shar: Extracting \"'source/gui.asm.ad'\" \(34202 characters\)
sed "s/^X//" >'source/gui.asm.ad' <<'END_OF_FILE'
X         dc.w  0,11
X         dc.w  0,0
XMPLUSGadget:
X         dc.l  MMINUSGadget ; and the next one.
X         dc.w  14,40,6,11   ; place & size
X         dc.w  GADGHCOMP|GADGIMAGE
X         dc.w  RELVERIFY|GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  LEFTimage
X         dc.l  0,0,0
X         dc.l  0           ; specialinfo
X         dc.w  GAD_M       ; ID
X         dc.l  0
XMMINUSGadget:
X         dc.l  ZGadget     ; and the next one.
X         dc.w  66,40,6,11  ; place & size
X         dc.w  GADGHCOMP|GADGIMAGE
X         dc.w  RELVERIFY|GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  RIGHTimage
X         dc.l  0,0,0
X         dc.l  0           ; specialinfo
X         dc.w  GAD_M|MINUS ; ID
X         dc.l  0
XZGadget:
X         dc.l  ZPLUSGadget ; more to come...
X         dc.w  23,55,40,8  ; place & size
X         dc.w  GADGHCOMP
X         dc.w  RELVERIFY|GADGIMMEDIATE|STRINGRIGHT
X         dc.w  STRGADGET
X         dc.l  ZBorder
X         dc.l  0
X         dc.l  ZText
X         dc.l  0
X         dc.l  ZString     ; specialinfo
X         dc.w  STRING|GAD_Z ; ID
X         dc.l  0
XZString:
X         dc.l  ZBuffer
X         dc.l  0
X         dc.w  0
X         dc.w  9
X         dc.w  0
X         dc.w  0,0,0,0,0
X         dc.l  0
X         dc.l  0,0
XZText:
X         dc.b  1,2      ; pens
X         dc.b  RP_JAM1,0   ; drawmodes
X         dc.w  -18,0    ; offsets
X         dc.l  0        ; default font
X         dc.l  ZLetter  ; (yeah, just one letter)
X         dc.l  0        ; no more text
X* These are same as ZBorder. One could optimize. Why should one?
XZBorder:
X         dc.w  -2,-2 ; place
X         dc.b  1,0   ; pens
X         dc.b  RP_JAM1
X         dc.b  5     ; # of pairs
X         dc.l  ZPairs   ; the actual data
X         dc.l  0
XZPairs:
X         dc.w  0,0
X         dc.w  43,0
X         dc.w  43,11
X         dc.w  0,11
X         dc.w  0,0
XZPLUSGadget:
X         dc.l  ZMINUSGadget ; and the next one.
X         dc.w  14,53,6,11  ; place & size
X         dc.w  GADGHCOMP|GADGIMAGE
X         dc.w  RELVERIFY|GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  LEFTimage
X         dc.l  0,0,0
X         dc.l  0           ; specialinfo
X         dc.w  GAD_Z       ; ID
X         dc.l  0
XZMINUSGadget:
X         dc.l  IGadget     ; still these to go
X         dc.w  66,53,6,11  ; place & size
X         dc.w  GADGHCOMP|GADGIMAGE
X         dc.w  RELVERIFY|GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  RIGHTimage
X         dc.l  0,0,0
X         dc.l  0           ; specialinfo
X         dc.w  GAD_Z|MINUS ; ID
X         dc.l  0
XIGadget:
X         dc.l  IMINUSGadget ; more to come...
X         dc.w  27,68,32,8 ; place & size
X         dc.w  GADGHCOMP
X         dc.w  RELVERIFY|GADGIMMEDIATE|STRINGRIGHT
X         dc.w  STRGADGET
X         dc.l  IBorder
X         dc.l  0
X         dc.l  IText
X         dc.l  0
X         dc.l  IString     ; specialinfo
X         dc.w  STRING|GAD_I ; ID
X         dc.l  0
XIString:
X         dc.l  IBuffer
X         dc.l  0
X         dc.w  0
X         dc.w  6
X         dc.w  0
X         dc.w  0,0,0,0,0
X         dc.l  0
X         dc.l  0,0
XIText:
X         dc.b  1,2      ; pens
X         dc.b  RP_JAM1,0   ; drawmodes
X         dc.w  -22,0    ; offsets
X         dc.l  0        ; default font
X         dc.l  ILetter  ; (yeah, just one letter)
X         dc.l  0        ; no more text
X* This is actually same as ZBorder & ZPairs, but who cares?
XIBorder:
X         dc.w  -2,-2    ; place
X         dc.b  1,0      ; pens
X         dc.b  RP_JAM1
X         dc.b  5        ; # of pairs
X         dc.l  IPairs   ; the actual data
X         dc.l  0
XIPairs:
X         dc.w  0,0
X         dc.w  35,0
X         dc.w  35,11
X         dc.w  0,11
X         dc.w  0,0
XIMINUSGadget:
X         dc.l  IPLUSGadget ; and the next one.
X         dc.w  18,66,6,11  ; place & size
X         dc.w  GADGHCOMP|GADGIMAGE
X         dc.w  RELVERIFY|GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  LEFTimage
X         dc.l  0,0,0
X         dc.l  0           ; specialinfo
X         dc.w  GAD_I|MINUS ; ID
X         dc.l  0
XIPLUSGadget:
X         dc.l  ZOOMGadget  ; and still more.
X         dc.w  62,66,6,11  ; place & size
X         dc.w  GADGHCOMP|GADGIMAGE
X         dc.w  RELVERIFY|GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  RIGHTimage
X         dc.l  0,0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_I          ; ID
X         dc.l  0
XZOOMGadget:
X         dc.l  DRAWGadget     ; and still more.
X         dc.w  73,40,32,12    ; place & size
X         dc.w  GADGHIMAGE|GADGIMAGE
X         dc.w  GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  ZOOMimage0
X         dc.l  ZOOMimage1
X         dc.l  0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_ZOOM|ZOOMTYPE ; ID
X         dc.l  0
XDRAWGadget:
X         dc.l  RESETGadget    ; and still more.
X         dc.w  73,53,32,12    ; place & size
X         dc.w  GADGHIMAGE|GADGIMAGE
X         dc.w  GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  DRAWimage0
X         dc.l  DRAWimage1
X         dc.l  0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_DRAW|ZOOMTYPE ; ID
X         dc.l  0
XRESETGadget:
X         dc.l  MANDELGadget   ; and still more.
X         dc.w  73,66,32,12    ; place & size
X         dc.w  GADGHIMAGE|GADGIMAGE
X         dc.w  GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  RESETimage0
X         dc.l  RESETimage1
X         dc.l  0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_RESET|ZOOMTYPE ; ID
X         dc.l  0
XMANDELGadget:
X         dc.l  JULIAGadget    ; and still more.
X         dc.w  106,40,19,25   ; place & size
X         dc.w  GADGHIMAGE|GADGIMAGE
X         dc.w  GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  MANDELimage0   ; gadgetrender
X         dc.l  MANDELimage1   ; selectrender
X         dc.l  0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_MANDEL|SETTYPE ; ID
X         dc.l  0
XJULIAGadget:
X         dc.l  QUITGadget     ; and still more.
X         dc.w  126,40,19,25   ; place & size
X         dc.w  GADGHIMAGE|GADGIMAGE
X         dc.w  GADGIMMEDIATE
X         dc.w  BOOLGADGET
X         dc.l  JULIAimage0    ; gadgetrender
X         dc.l  JULIAimage1    ; selectrender
X         dc.l  0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_JULIA|SETTYPE ; ID
X         dc.l  0
XQUITGadget:
X         dc.l  0              ; This was the end (Thank Goddess) (see below)
X         dc.w  106,66,39,12   ; place & size
X         dc.w  GADGHIMAGE|GADGIMAGE
X         dc.w  GADGIMMEDIATE|RELVERIFY
X         dc.w  BOOLGADGET
X         dc.l  QUITimage0
X         dc.l  QUITimage1
X         dc.l  0,0
X         dc.l  0              ; specialinfo
X         dc.w  GAD_QUIT       ; ID
X         dc.l  0
X
X* That was God awful!!! Gadget after gadget, structure after structure...
X* Uhh... It must've been a real pain to code a program like preferences
X* with thousands of gadgets.
X
XUPimage:
X         dc.w  0,0         ; offsets
X         dc.w  11,6        ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  UParrow     ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
X* The nextimage field seems to be important. Forget it and you
X* will have to debug your program for weeks.
XDOWNimage:
X         dc.w  0,0         ; offsets
X         dc.w  11,6        ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  DOWNarrow   ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XLEFTimage:
X         dc.w  0,0         ; offsets
X         dc.w  6,11        ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  LEFTarrow   ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XRIGHTimage:
X         dc.w  0,0         ; offsets
X         dc.w  6,11        ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  RIGHTarrow  ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XZOOMimage0:
X         dc.w  0,0         ; offsets
X         dc.w  32,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  ZOOMpict    ; actual image
X         dc.b  %00001      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XZOOMimage1:
X         dc.w  0,0         ; offsets
X         dc.w  32,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  ZOOMpict    ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XDRAWimage0:
X         dc.w  0,0         ; offsets
X         dc.w  32,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  DRAWpict    ; actual image
X         dc.b  %00001      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XDRAWimage1:
X         dc.w  0,0         ; offsets
X         dc.w  32,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  DRAWpict    ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XRESETimage0:
X         dc.w  0,0         ; offsets
X         dc.w  32,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  RESETpict   ; actual image
X         dc.b  %00001      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XRESETimage1:
X         dc.w  0,0         ; offsets
X         dc.w  32,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  RESETpict   ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XJULIAimage0:
X         dc.w  0,0         ; offsets
X         dc.w  19,25       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  JULIApict   ; actual image
X         dc.b  %00001      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XJULIAimage1:
X         dc.w  0,0         ; offsets
X         dc.w  19,25       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  JULIApict   ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XMANDELimage0:
X         dc.w  0,0         ; offsets
X         dc.w  19,25       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  MANDELpict  ; actual image
X         dc.b  %00001      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XMANDELimage1:
X         dc.w  0,0         ; offsets
X         dc.w  19,25       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  MANDELpict  ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XQUITimage0:
X         dc.w  0,0         ; offsets
X         dc.w  39,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  QUITpict    ; actual image
X         dc.b  %00001      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
XQUITimage1:
X         dc.w  0,0         ; offsets
X         dc.w  39,12       ; w, h
X         dc.w  DEPTH       ; depth
X         dc.l  QUITpict    ; actual image
X         dc.b  %00011      ; planepick
X         dc.b  %00000      ; planeonoff
X         dc.l  0           ; nextimage
X
XCross:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  2           ; # of pairs
X         dc.l  CrossVPairs ; the actual data
X         dc.l  CrossH      ; next
XCrossVPairs:
X         dc.w  -10,0
X         dc.w  10,0
XCrossH:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  2           ; # of pairs
X         dc.l  CrossHPairs ; the actual data
X         dc.l  0           ; next
XCrossHPairs:
X         dc.w  0,-10
X         dc.w  0,10
X
XTopLeft:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  TopLeftPairs ; the actual data
X         dc.l  0
XTopLeftPairs:
X         dc.w  0,10
X         dc.w  0,0
X         dc.w  10,0
XTopRight:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  TopRightPairs ; the actual data
X         dc.l  0
XTopRightPairs:
X         dc.w  0,10
X         dc.w  0,0
X         dc.w  -10,0
XBottomLeft:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  BottomLeftPairs ; the actual data
X         dc.l  0
XBottomLeftPairs:
X         dc.w  0,-10
X         dc.w  0,0
X         dc.w  10,0
XBottomRight:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  BottomRightPairs ; the actual data
X         dc.l  0
XBottomRightPairs:
X         dc.w  0,-10
X         dc.w  0,0
X         dc.w  -10,0
XLeftLeft:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  LeftLeftPairs ; the actual data
X         dc.l  LeftVLine
XLeftLeftPairs:
X         dc.w  5,5
X         dc.w  0,0
X         dc.w  5,-5
XLeftVLine:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  2           ; # of pairs
X         dc.l  LeftVPairs  ; the actual data
X         dc.l  0
XLeftVPairs:
X         dc.w  1,0
X         dc.w  10,0
XRightRight:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  RightRightPairs ; the actual data
X         dc.l  RightVLine
XRightRightPairs:
X         dc.w  -5,5
X         dc.w  0,0
X         dc.w  -5,-5
XRightVLine:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  2           ; # of pairs
X         dc.l  RightVPairs  ; the actual data
X         dc.l  0
XRightVPairs:
X         dc.w  -1,0
X         dc.w  -10,0
XUpUp:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  UpUpPairs   ; the actual data
X         dc.l  UpHLine
XUpUpPairs:
X         dc.w  -5,5
X         dc.w  0,0
X         dc.w  5,5
XUpHLine:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  2           ; # of pairs
X         dc.l  UpHPairs    ; the actual data
X         dc.l  0
XUpHPairs:
X         dc.w  0,1
X         dc.w  0,10
XDownDown:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  3           ; # of pairs
X         dc.l  DownDownPairs ; the actual data
X         dc.l  DownHLine
XDownDownPairs:
X         dc.w  -5,-5
X         dc.w  0,0
X         dc.w  5,-5
XDownHLine:
X         dc.w  0,0         ; place
X         dc.b  31,0        ; pens
X         dc.b  RP_COMPLEMENT
X         dc.b  2           ; # of pairs
X         dc.l  DownHPairs    ; the actual data
X         dc.l  0
XDownHPairs:
X         dc.w  0,-1
X         dc.w  0,-10
XCoords:
X         dc.b  1,2         ; pens
X         dc.b  RP_JAM2,0      ; drawmode, (wordalign)
X         dc.w  1,1         ; offsets
X         dc.l  0           ; font (use default)
X         dc.l  CoordText   ; the actual text
X         dc.l  0           ; no more text
X
X* These options are for CLI usage.
X* Note: There are currently three synonyms in these options, namely
X* -j# -j  -x# -x  -m# -m
X* The presence of a number determines how they are interpreted.
X* It is entirely safe to add new options here.
X
Xjumptable:
X         dc.l  opt_x,opt_y,opt_m,opt_i
X         dc.l  opt_l,opt_h,opt_a
X         dc.l  opt_c,opt_w,opt_p
X         dc.l  opt_g
X         dc.l  opt_j
X         dc.l  opt_s
X
Xoptions: dc.b  'XYMILHACWPGJS',0  ; These in UPPER CASE...
X         ds.w  0
X
X* And now for WB usage. The synonyms do no longer exists, so
X* entry points are now slightly different.
X* Also, flags lhacwpgx are entered from WB with a sinle FLAGS=
X* tooltype.
X* I try to organize my program in such a way that you may
X* insert new entries here if you like.
XWBjumptable
X         dc.l  opt_x,opt_y,opt_m,opt_i,opt_jx,opt_jy
X         dc.l  opt_flags,opt_s
XWBoptions
X         dc.b  'X',0
X         dc.b  'Y',0
X         dc.b  'M',0
X         dc.b  'I',0
X         dc.b  'JX',0
X         dc.b  'JY',0
X         dc.b  'FLAGS',0   ; LHA, CWP, XG, JM
X         dc.b  'SAVE',0
X         dc.b  0           ; This means end
X         ds.w  0
X
XERROR_none     EQU   0
XERROR_nosignal EQU   1
XERROR_cmdline  EQU   2
XERROR_noscreen EQU   3
XERROR_nowindow EQU   4
XERROR_nomem    EQU   5
XERROR_noifflib EQU   6
XERROR_ifflib   EQU   7
XERROR_iconlib  EQU   8
XERROR_noicon   EQU   9
XERROR_tooltype EQU   10
X
Xerrors:
X         dc.l  msg_none,msg_nosignal,msg_cmdline,msg_noscreen,msg_nowindow
X         dc.l  msg_nomem,msg_noifflib,msg_ifflib,msg_iconlib,msg_noicon
X         dc.l  msg_tooltype
X
Xmsg_none:      dc.b  0
Xmsg_nosignal:  dc.b  ': Could not allocate signal bit',10,0
Xmsg_cmdline:   dc.b  ': Error in command line options',10,0
Xmsg_noscreen:  dc.b  ': Could not open screen',10,0
Xmsg_nowindow:  dc.b  ': Could not open window',10,0
Xmsg_nomem:     dc.b  ': Could not allocate memory',10,0
Xmsg_noifflib:  dc.b  ': You need iff.library in your libs: directory'
X               dc.b  ' to save pictures',10,0
Xmsg_ifflib:    dc.b  ': iff.library returned error on save command',10,0
Xmsg_iconlib    dc.b  ': Could not open icon.library',10,0
Xmsg_noicon     dc.b  ': Could not check icon (for tool types)',10,0
Xmsg_tooltype   dc.b  ': Error in tooltype options',10,0
X
X
XXBuffer: dc.b  '+0.000000000',0
XYBuffer: dc.b  '+0.000000000',0
XMBuffer: dc.b  '00.00000',0
XZBuffer: dc.b  '+0.00000',0
XIBuffer: dc.b  '00000',0
XXLetter: dc.b  'x',0
XYLetter: dc.b  'y',0
XMLetter: dc.b  'M',0
XZLetter: dc.b  'Z',0
XILetter: dc.b  'i',0
X
XScreenTitle:
X         dc.b  'MandelBrot',0
X
XCoordText:
X         dc.b  '+0.000000000 +0.000000000',0
X
X
X_GfxLib        dc.b  'graphics.library',0
X_IntuitionLib  dc.b  'intuition.library',0
X_DosLib        dc.b  'dos.library',0
X_IconLib       dc.b  'icon.library',0
X_IffLib        dc.b  'iff.library',0
X_TimerDev      dc.b  'timer.device',0
X
XLongUsage:
X   dc.b  10
X   dc.b  'This program draws the Mandelbrot and Julia sets'
X   dc.b                                       ' (z -> z^2 + c)',10
X   dc.b  'using a smart contour-crawling method'
X   dc.b                   ' and fast 32-bit fixed point math.',10
X   dc.b  'Author: Hannu "the DM" Helminen',10
X   dc.b  10
X   dc.b  'Freely distributable version 1.00',10
X   dc.b  10
X   dc.b  ' z =  x +  y i is the centerpoint of the set',10
X   dc.b  ' c = jx + jy i is a constant only for Julia sets',10
X   dc.b  ' m is magnification, 5 - 29 (log scale)',10
X   dc.b  ' i is the maximum number of iterations, i <= 65535',10
X   dc.b  'Save pictures to filename by CTRL-S',10
X   dc.b  10
X   dc.b  'Flags: -l low    -h high  -a auto precision',10
X   dc.b  '       -c crawl  -w walk  -p crawl if possible',10
X   dc.b  '       -x exit   -g use GUI',10
X   dc.b  '       -j julia  -m mandelbrot',10
XShortUsage:
X   dc.b  10
X   dc.b  'Usage: mandel  or  mandel ?',10
X   dc.b  '   or  mandel '
X   dc.b  '{-x',$1b,'[4mx',$1b,'[0m'
X   dc.b  ' -y',$1b,'[4my',$1b,'[0m'
X   dc.b  ' -m',$1b,'[4mm',$1b,'[0m'
X   dc.b  ' -i',$1b,'[4mi',$1b,'[0m'
X   dc.b  ' -l-h-a -c-w-p -x-g -j-m'
X   dc.b  10,'              '
X   dc.b  ' -jx',$1b,'[4mjx',$1b,'[0m'
X   dc.b  ' -jy',$1b,'[4mjy',$1b,'[0m'
X   dc.b  ' -s',$1b,'[4m<filename>',$1b,'[0m'
X   dc.b  '}'
X
X   dc.b  10
XLongLen     EQU   *-LongUsage
XShortLen    EQU   *-ShortUsage
X
Xstdout_name
X   dc.b  'con:0/50/640/100/ mandel  by DM  1990 ',0
X
XNameBuffer  dc.b  'mandel.picture'
XNull        dc.b  0
X            ds.b  256      ; enough for any filename to be stored here.
X
XNameEnd     dc.l  Null     ; pointer to end of string
X
X
X
X   SECTION  images,DATA,CHIP
XUParrow:
X         dc.w  %0000010000000000
X         dc.w  %0000101000000000
X         dc.w  %0001000100000000
X         dc.w  %0010000010000000
X         dc.w  %0100000001000000
X         dc.w  %1111111111100000
X
X         dc.w  %0000000000000000
X         dc.w  %0000010000000000
X         dc.w  %0000111000000000
X         dc.w  %0001111100000000
X         dc.w  %0011111110000000
X         dc.w  %0000000000000000
XDOWNarrow:
X         dc.w  %1111111111100000
X         dc.w  %0100101001000000
X         dc.w  %0010000010000000
X         dc.w  %0001000100000000
X         dc.w  %0000101000000000
X         dc.w  %0000010000000000
X
X         dc.w  %0000000000000000
X         dc.w  %0011111110000000
X         dc.w  %0001111100000000
X         dc.w  %0000111000000000
X         dc.w  %0000010000000000
X         dc.w  %0000000000000000
XLEFTarrow:
X         dc.w  %0000010000000000
X         dc.w  %0000110000000000
X         dc.w  %0001010000000000
X         dc.w  %0010010000000000
X         dc.w  %0100010000000000
X         dc.w  %1000010000000000
X         dc.w  %0100010000000000
X         dc.w  %0010010000000000
X         dc.w  %0001010000000000
X         dc.w  %0000110000000000
X         dc.w  %0000010000000000
X
X         dc.w  %0000000000000000
X         dc.w  %0000000000000000
X         dc.w  %0000100000000000
X         dc.w  %0001100000000000
X         dc.w  %0011100000000000
X         dc.w  %0111100000000000
X         dc.w  %0011100000000000
X         dc.w  %0001100000000000
X         dc.w  %0000100000000000
X         dc.w  %0000000000000000
X         dc.w  %0000000000000000
XRIGHTarrow:
X         dc.w  %1000000000000000
X         dc.w  %1100000000000000
X         dc.w  %1010000000000000
X         dc.w  %1001000000000000
X         dc.w  %1000100000000000
X         dc.w  %1000010000000000
X         dc.w  %1000100000000000
X         dc.w  %1001000000000000
X         dc.w  %1010000000000000
X         dc.w  %1100000000000000
X         dc.w  %1000000000000000
X
X         dc.w  %0000000000000000
X         dc.w  %0000000000000000
X         dc.w  %0100000000000000
X         dc.w  %0110000000000000
X         dc.w  %0111000000000000
X         dc.w  %0111100000000000
X         dc.w  %0111000000000000
X         dc.w  %0110000000000000
X         dc.w  %0100000000000000
X         dc.w  %0000000000000000
X         dc.w  %0000000000000000
X
XZOOMpict:
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000001111111100
X         dc.w  %0111001000100101,%0000001000000100
X         dc.w  %0001010101010111,%0000001001100100
X         dc.w  %0010010101010101,%0000011110010100
X         dc.w  %0100010101010101,%0000011110010100
X         dc.w  %0111001000100101,%0000001001100100
X         dc.w  %0000000000000000,%0000001000000100
X         dc.w  %0000000000000000,%0000001111111100
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111110000000011
X         dc.w  %1000110111011010,%1111110000000011
X         dc.w  %1110101010101000,%1111110000000011
X         dc.w  %1101101010101010,%1111100000000011
X         dc.w  %1011101010101010,%1111100000000011
X         dc.w  %1000110111011010,%1111110000000011
X         dc.w  %1111111111111111,%1111110000000011
X         dc.w  %1111111111111111,%1111110000000011
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111111111111111
X
XDRAWpict:
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000011111111100
X         dc.w  %0000000000000000,%0000010000000100
X         dc.w  %0110011001110101,%0111111010000100
X         dc.w  %0101010101010101,%0100010000000100
X         dc.w  %0101011001110101,%0100010010000100
X         dc.w  %0101010101010111,%0100010000000100
X         dc.w  %0110010101010101,%0100010010000100
X         dc.w  %0000000000000000,%0100011111111100
X         dc.w  %0000000000000000,%0100000010000000
X         dc.w  %0000000000000000,%0111111110000000
X         dc.w  %0000000000000000,%0000000000000000
X
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111100000000011
X         dc.w  %1111111111111111,%1111100000000011
X         dc.w  %1001100110001010,%1000000000000011
X         dc.w  %1010101010101010,%1000000000000011
X         dc.w  %1010100110001010,%1000000000000011
X         dc.w  %1010101010101000,%1000000000000011
X         dc.w  %1001101010101010,%1000000000000011
X         dc.w  %1111111111111111,%1000000000000011
X         dc.w  %1111111111111111,%1000000001111111
X         dc.w  %1111111111111111,%1000000001111111
X         dc.w  %1111111111111111,%1111111111111111
XRESETpict:
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000001110011100
X         dc.w  %0110011100110111,%0111001100001100
X         dc.w  %0101010001000100,%0010001010010100
X         dc.w  %0110011000100110,%0010000000000000
X         dc.w  %0101010000010100,%0010000000000000
X         dc.w  %0101011101100111,%0010001010010100
X         dc.w  %0000000000000000,%0000001100001100
X         dc.w  %0000000000000000,%0000001110011100
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111110001100011
X         dc.w  %1001100011001000,%1000110011110011
X         dc.w  %1010101110111011,%1101110101101011
X         dc.w  %1001100111011001,%1101111111111111
X         dc.w  %1010101111101011,%1101111111111111
X         dc.w  %1010100010011000,%1101110101101011
X         dc.w  %1111111111111111,%1111110011110011
X         dc.w  %1111111111111111,%1111110001100011
X         dc.w  %1111111111111111,%1111111111111111
X         dc.w  %1111111111111111,%1111111111111111
X
XMANDELpict:
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0010101110110011,%0000000000000000
X         dc.w  %0011101010101010,%1000000000000000
X         dc.w  %0010101110101010,%1000000000000000
X         dc.w  %0010101010101010,%1000000000000000
X         dc.w  %0010101010101011,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000010000,%0000000000000000
X         dc.w  %0000000001101100,%0000000000000000
X         dc.w  %0000000010000010,%0000000000000000
X         dc.w  %0000011010000010,%0000000000000000
X         dc.w  %0000100100000010,%0000000000000000
X         dc.w  %0011100000000100,%0000000000000000
X         dc.w  %0000100100000010,%0000000000000000
X         dc.w  %0000011010000010,%0000000000000000
X         dc.w  %0000000010000010,%0000000000000000
X         dc.w  %0000000001101100,%0000000000000000
X         dc.w  %0000000000010000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1101010001001100,%1110000000000000
X         dc.w  %1100010101010101,%0110000000000000
X         dc.w  %1101010001010101,%0110000000000000
X         dc.w  %1101010101010101,%0110000000000000
X         dc.w  %1101010101010100,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111101111,%1110000000000000
X         dc.w  %1111111110010011,%1110000000000000
X         dc.w  %1111111101111101,%1110000000000000
X         dc.w  %1111100101111101,%1110000000000000
X         dc.w  %1111011011111101,%1110000000000000
X         dc.w  %1100011111111011,%1110000000000000
X         dc.w  %1111011011111101,%1110000000000000
X         dc.w  %1111100101111101,%1110000000000000
X         dc.w  %1111111101111101,%1110000000000000
X         dc.w  %1111111110010011,%1110000000000000
X         dc.w  %1111111111101111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X
XJULIApict:
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0001010101000101,%1100000000000000
X         dc.w  %0001010101000101,%0100000000000000
X         dc.w  %0001010101000101,%1100000000000000
X         dc.w  %0101010101000101,%0100000000000000
X         dc.w  %0111011101110101,%0100000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000011110000000,%0000000000000000
X         dc.w  %0000100001000000,%0000000000000000
X         dc.w  %0001100000100000,%0000000000000000
X         dc.w  %0000010000100000,%0000000000000000
X         dc.w  %0000010000010000,%0000000000000000
X         dc.w  %0000001000010000,%0000000000000000
X         dc.w  %0000001000001000,%0000000000000000
X         dc.w  %0000000100000110,%0000000000000000
X         dc.w  %0000000010000100,%0000000000000000
X         dc.w  %0000000001111000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000
X
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1110101010111010,%0010000000000000
X         dc.w  %1110101010111010,%1010000000000000
X         dc.w  %1110101010111010,%0010000000000000
X         dc.w  %1010101010111010,%1010000000000000
X         dc.w  %1000100010001010,%1010000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111100001111111,%1110000000000000
X         dc.w  %1111011110111111,%1110000000000000
X         dc.w  %1110011111011111,%1110000000000000
X         dc.w  %1111101111011111,%1110000000000000
X         dc.w  %1111101111101111,%1110000000000000
X         dc.w  %1111110111101111,%1110000000000000
X         dc.w  %1111110111110111,%1110000000000000
X         dc.w  %1111111011111001,%1110000000000000
X         dc.w  %1111111101111011,%1110000000000000
X         dc.w  %1111111110000111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
X         dc.w  %1111111111111111,%1110000000000000
XQUITpict:
X         dc.w  %0000000000000000,%0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000001111,%1111000000000000
X         dc.w  %0011101010101110,%0000000000001000,%0001000000000000
X         dc.w  %0010101010100100,%0000000000001010,%0101000000000000
X         dc.w  %0010101010100100,%0000000000001001,%1001000000000000
X         dc.w  %0010101010100100,%0000000000001001,%1001000000000000
X         dc.w  %0011101110100100,%0000000000001010,%0101000000000000
X         dc.w  %0000100000000000,%0000000000001000,%0001000000000000
X         dc.w  %0000000000000000,%0000000000001111,%1111000000000000
X         dc.w  %0000000000000000,%0000000000000000,%0000000000000000
X         dc.w  %0000000000000000,%0000000000000000,%0000000000000000
X
X         dc.w  %1111111111111111,%1111111111111111,%1111111000000000
X         dc.w  %1111111111111111,%1111111111111111,%1111111000000000
X         dc.w  %1111111111111111,%1111111111110000,%0000111000000000
X         dc.w  %1100010101010001,%1111111111110000,%0000111000000000
X         dc.w  %1101010101011011,%1111111111110000,%0000111000000000
X         dc.w  %1101010101011011,%1111111111110000,%0000111000000000
X         dc.w  %1101010101011011,%1111111111110000,%0000111000000000
X         dc.w  %1100010001011011,%1111111111110000,%0000111000000000
X         dc.w  %1111011111111111,%1111111111110000,%0000111000000000
X         dc.w  %1111111111111111,%1111111111110000,%0000111000000000
X         dc.w  %1111111111111111,%1111111111111111,%1111111000000000
X         dc.w  %1111111111111111,%1111111111111111,%1111111000000000
X
X   SECTION  pointers,BSS
X
X* Nimi:                  Ja se on:
X
X_GfxBase       ds.l  1
X_IntuitionBase ds.l  1
X_DosBase       ds.l  1
X_ExecBase      EQU   $4
X_TimerBase     ds.l  1
X
XMyScreen:   ds.l  1  ; screen structure
XMyWindow1:  ds.l  1  ; window
XMyWindow2:  ds.l  1  ; another window, non-zero if valid
XUseReq:     ds.l  1  ; timer iOreq, non-zero if request pending
XMem1:       ds.l  1  ; TmpRas bitmap pointer
XMem2:       ds.l  1  ; mem for AreaInfo table
XWBmessage:  ds.l  1  ; Workbench startup message (null if from CLI)
XMyName:     ds.l  1  ; self-explanatory
X
XOldSecs:    ds.l  1  ; to test double-click
XOldMicros:  ds.l  1  ; -"-
XMagnify:    ds.l  1  ; temp storages for: magnification
XOldMagnify: ds.l  1  ;
XCurrentX:   ds.l  1  ; x-coordinate
XCurrentY:   ds.l  1  ; y-coordinate
XZoom:       ds.l  1  ; zooming
XCounter:    ds.w  1  ; identify each save-file with a number
XMyNameLen:  ds.w  1  ; works with MyName above
X
X
X* Some stuff to make RemoveGrid easier
Xcenterx     ds.w  1
Xcentery     ds.w  1
Xlowx        ds.w  1
Xlowy        ds.w  1
Xhighx       ds.w  1
Xhighy       ds.w  1
Xpic_c       ds.l  1
Xpic_tl      ds.l  1
Xpic_tr      ds.l  1
Xpic_bl      ds.l  1
Xpic_br      ds.l  1
X
Xprex        ds.l  1
Xprey        ds.l  1
X
X* We seem to need MANY temporary buffers for x/y coordinates.
END_OF_FILE
if test 34202 -ne `wc -c <'source/gui.asm.ad'`; then
    echo shar: \"'source/gui.asm.ad'\" unpacked with wrong size!
fi
# end of 'source/gui.asm.ad'
fi
echo shar: End of archive 4 \(of 4\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 4 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
Mail comments to the moderator at <amiga-request@uunet.uu.net>.
Post requests for sources, and general discussion to comp.sys.amiga.misc.