The Oddities Collection
xxXXXXXXXXXxx

All programs by Martin Bazley, except for elements of 'Petal', 'Show',
'Spiral' and 'Tunnel' which were done by Dan and Vicky Hayes, and elements of
'!Circles' and '!HDLBuild' which owe their existence to my brother Chris.
Thanks to him for hosting these programs on his website too.

When the '!PathVar' pseudo-application is seen by the Filer, it automatically
sets a system variable named Oddities$Dir to reference the directory that
contains it. You can also double-click upon this application with the same
effect.

Note for release 2
--==============--

Apologies for all those who tried to run 'Circley2' and found they
couldn't - I only just realised it was referring to a full pathname, rather
than a system variable!  Should work now.

Three new programs and one new screenshot have been added, and only one of
them actually generates graphics.  Shock horror... could the Oddities
Collection, that ultimate bane of usefulness, actually be degenerating into
programs which produce output files?  I'll leave it to you to decide whether
the questionable use value of these programs is too much...

Note for release 3
--==============--

Phew - MASSIVE update this time!  The collection has doubled in size, but I
couldn't leave any of these programs out.  I note that there has been a gap
of exactly the same size between this release and the last, rather minor,
one, and the two before it - obviously a good year, then!

There is now too much stuff to realistically fit in the same directory, so I
have divided it into textual programs and graphical ones.  The highlight is
a Wimp version of HDLBuild, which is superior in every way to the old
single-tasking one.

Have fun!

Graphical programs
--==============--

!Circles:   A very elderly collection of very elderly programs, all involving
            circles in some way.
!InPursuit: An even more elderly collection of curve-stitch programs, but
            with a considerably more snazzy index function.
AND3D:      Draws an AND-based pattern similar to some of the ones found in
            Shades, but in pseudo-3D.
Angles:     Produces a sort of bright flash effect.  Optimised for accuracy
            rather than speed, so very slow.  Written for a guest comic at
            http://angband.calamarain.net/ .
Angles2:    Similar, but more colourful and quite fun - if your machine's
            fast enough.
Balls:      Exercise in sphere shading and linear gradients.  If you look
            closely, you'll see that different balls are highlighted in
            different ways.
Cloth:      Demonstrates intersection of two sine waves.
Cloth2:     Demonstrates nothing in particular.
Maze:       The oldest program new to this release, which, as a temporary
            measure, has been available as a separate download for some time.
            Draws a primitive maze.  Note: Jan Vibe's programs at Drobe have
            a lot more to offer the maze addict.
Petal:      Draws petal patterns from 3 to 8 sides.
PowerGreys: Demonstrates gradients based on x^y/16^(y-1), where x is a number
            from 1 to 16.  As y increases, they get less and less linear.
Rainbow:    Arranges 256 colour gradients in a rather nice way.
RandGrad:   Rand-om Grad-ients.  A 2D version may or may not be coming soon.
RGBCube1:   Draws an RGB cube.
RGBCube2:   Draws the net of an RGB cube, so that you can make your own.
Shades:     Draws 2D mathematical patterns based on user-customisable
            equations.  Saves to Pics.ShadePics by default, so you must run
            'CSDHere' first.  If you don't, it will freeze your computer.  I
            mean that, by the way.  Also, don't try and abort halfway
            throughrunning.
Show:       Demonstrates variations of a formula to produce a spiral.
Spiral:     Produces a spiral, but not the same one.
Squigs1:    Demonstration of random squiggles.  See if you can find out what
            shape is filled when every possible square from the centre has
            been occupied.
Squigs2:    Same but with diagonal lines as well.  What shape is it now?
Texture:    Another old one.
Texture2:   Texture with a bug fixed and more than one colour allowed.
Texture3:   Early version of Balls, where the spheres are plotted randomly
            rather than mathematically.
TileDraw:   A utility to draw tiled patterns - mainly useful for producing
            tiled backdrops consisting of random circles, which are very hard
            to produce any other way.
Tunnel:     Written to show my Logo-worshipping ICT teacher that I could!

'TunPics' and 'ShowPics' contain pictures from Tunnel and Show, usually
after extensive hacking.  If you can reproduce them, you are good!

Textual programs
--============--

!Fruit:     An old and primitive fruit machine program.
!HDLBuild:  List your hard disc - the easy way!  Haven't you always wanted
            to?  Oh, you haven't.  By the way, Dir/gif in the Pics directory
            is a demonstration of directory nesting got out of hand - what
            lurks in the deepest recesses of your hard drive?
AscPat2:    A faster and generally improved version of AscPat, which was
            distributed in the previous version.
Differ:     Demonstration of differences between different powers.  Yep -
            more maths!
Factors2:   Challenge a friend to this one.  Tell him that this program takes
            the factors of a number, sums them, takes the factors of that
            number and so on.  The winner is the person to get to 1 in the
            most moves.  Restrict it to three digits, to make it fairer.  The
            trick is to enter 220 or 284, which are friendly numbers, or 496,
            which is perfect!  Incidentally, the highest number of factors I
            have found so far is 255, from 99,483,384.
Lucky:      The rule for these numbers is: Leave 1.  From two, cross out
            every second number.  From the next number (three), cross out
            every next-numberth (third) number, ignoring any you have already
            crossed out.  And so it goes on.  This program does it for you.
PrimeGen3:  Again, a faster replacement for an old program (PrimeGen).  If
            you can spare the memory, you can make it even faster - see
            below.

Customization
--=========--

Most of these programs can be easily customized in one way or another,
without having to know too much about BASIC.  The customizable variables are
usually the ones defined near the beginning of the program, sometimes with a
comment explaining what they are, although it's more fun to just guess. :-)

Contact
--===--

I can be reached at mailto:martin@bazleyfamily.co.uk .  If email is not an
option, please send me an email explaining the problem.

If you're a technophobe, then I have two things to say to you: How did you
come to read this?  And use this address: Martin Bazley, Flat 8,
349 North End Road, Fulham, London, SW6 1NN.

--=========--
Martin Bazley
R1:15/07/2006
R2:12/08/2007
R3:06/09/2008