[comp.sys.amiga] Continental Drift Simulator

davea@vlsi.ll.mit.edu (Dave Allen) (02/16/90)

I have just released a new version of my continental drift simulator.
The main improvements from version 1 (released 11 / 15 / 89) are:
    - Added text-only mode to support nongraphics UN*X machines.
    - Graphics ported to Sun 3 and 4 systems.
    - Ported to IBM PC by Peter Lind.
    - Parameters can come from an input file.

The source code is available from the USENET group comp.sources.misc, where
it is archived.  It consists of two shar files.  Please e-mail me with
questions, since I don't read all the groups to which this is posted.

TEC draws a map of some imaginary world and puts one big continent on it.
The program then graphically simulates the breakup of this supercontinent by
rifts and the drifting of the continents.  Mountains are built by
subsuming and by continental collision, and are reduced by erosion.  As
more time passes, the continents tend to drift back into a supercontinent
and split up again, forming what some authors call a "supercontinent cycle."

The program produces a map of an imaginary world which contains realistic
looking mountain ranges and continents which sometimes look like they fit
together (like South America and Africa on Earth).

Here's an example output file.  0's are ocean, 1's are land, 2's are
mountains.  (Graphics output has up to 256 grey scales.)

000000000000000000000000000000000000000000000000011111111111221000000000
000000000000000000000000000000000000000000000000001111111111222000000000
000000000000000000000000000011000000000000000000001111111111122100000000
000000000000000000000000011111110000000000000000000111111111111100000000
000000000000000000000000111111111100000000000000000111111111111100000000
000000000000000000000000011111111100000000000000000011111111111001100000
000000000000000000110000000011111100000000000000000011111111111011110000
000000000000000001110000000001111100000000000000000001111111211121111000
000000000000000001110110000000011110000000000000000001111111221121111000
000000000000000001111100000000000111000000000000000000111111221121111000
000000000000000001111110000000000111000001000000000000111111221121111000
000000000000000001111111110000000111000001000000000000011111221111111000
000000000000000001111111111000001111000001000000000000001111211112111000
000000000000000001211111111100011111000001000000000000001111221112111000
000000000000000001111111111110111111000001100000000000000111122112111000
000000000000000001111111111111111111000001110000000000000111122112111000
000000000000000001111111111111111111000001111000000000000011122112111000
000000000000000001111111111111111111000001111000000000000011112111210000
000000000000000000111111111111111111000001111100000000000001112211110000
000000000000000000111111111111111111000001111110000000000000112211110000
000000000000000000111111111111111111000001111110000000000000011221110000
000000000000000000111111111111111111000001111111000000000000001111100000
000000000000000000121111111111111111000001111111000000000000000111000000
000000000000000000011111111111111111000001111111000000000000000010000000
000000000000000000001111111111111111000001111111100000000000000000000000
000000000000000000000000121111111111000001111111110000000000000000000000
000000000000000000000000111111111110000001111111111000000000000000000000
000000000000000000000000121111111100000001111111111100000000000000000000
000000000000000000000000011111111000000011111111111110000000000000000000
000000000000000000000000001111111000000011111111111110000000000000000000
000000000000000011111100000111111000000011111111111111000000000000000000
000000000000000112222110000000011000000011111111111111000000000000000000
000000000001011222222210000000001000000011111111111111100000000000000000
000000000011112221112211000000000000000001111111111111110000000000000000
000000000012222111111121000000000000000001111111111111110000000000000000
000000000012211111111121110000000000000001111111111111100000000000000000
000000000011111111111112211111000000000001111111111111000000000000000000
000000000001111111111112222221110000000001111111111110000000000000000000
000000000011111111111112222222221100000000000000000000000000000000000000
000000000011111111112222222222222110000000000000000000000000000000000000
000000000011111111112222222222222210000000000000000000000000000000000000
000000000001111001111111111111111110000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000

Dave Allen: internet davea@vlsi.ll.mit.edu

ml@ecerl3.ncsu.edu (02/18/90)

In a previous article, davea@vlsi.ll.mit.edu (Dave Allen) wrote:
]
]I have just released a new version of my continental drift simulator.


Great!  Does it work in real time? 

(sorry, couldn't resist)

             ==[ ml@eceris.ncsu.edu (128.109.135.109) ]==

davea@vlsi.ll.mit.edu (Dave Allen) (02/23/90)

Last week, I wrote that I had released a new version of my continental
drift simulator.  I posted it to comp.sources.misc, and many people wrote
to me with questions.  Here are some common answers:

If you don't know what comp.sources.misc is, it's a usenet news group
just like rec.games.frp.  Use your news reader to subscribe to this group,
or ask a local expert.

If you were unable to locate the programs on comp.sources.misc the
first couple of days after I posted the announcement, please look
again.  I posted the announcement and the source at the same time, but
programs take a few days to clear the c.s.m moderator.  The archive
numbers are v10i077 and v10i078.

You can get the source code by ftp.  Several sites archive comp.sources.misc.
For example, I looked at uunet.uu.net, and found the program in the directory
comp.sources.misc/volume10/tec, with the filenames part01.Z and part02.Z.
Ask a local expert for help in finding a local archive site or using ftp.

Several people have written to me that the IBM PC version fails with a
message "PANIC: infinite loop in pfree".  This message implies that the
linked list of plates is getting munged.  Most people see the problem within
a small number of iterations, like two or three, and it shows up every time
they run the program.  I can run the Sun version 100 times for 100 iterations
each and never see the message.  I would like some help in tracking down this
machine-dependent bug.  Here is a clue provided by one reader:

From: Jeff Butterworth <butterwo@cs.unc.edu>
> Eventually I tried fiddling with the compiler options again, and found that
> setting the default character type to "unsigned" did the trick.  The program
> runs now, but it seems to be creating initial continents that are quite
> squarish, unlike the ones I saw when leaving default characters as "signed".
> Maybe some random number generator is now being messed up because it assumes
> that characters are signed.

Since I have no access to a PC here, I can't look for the bug.  However,
I would like to help somebody track it down and squish it.  Please write to
me and I will answer any questions you have about the code.

Please e-mail me directly rather than posting, since I don't read
all the groups where this message is going.

Dave Allen: internet davea@vlsi.ll.mit.edu