4-d Bessel Jo Set.

Don't run, just hide...

Because in 4-dimensions there are a lot of places to hide. Click here for more pictures. (Warning: lots of graphics ~ slow!)


Links to the software I have written:

AML Suspender Doc.Em Mez Sure

Aleph One

(Code) (Code)
Aleph One
Custom 

All of my programs require MFC42.DLL and MSVCRT.DLL .


This code is now hosted on Sourceforge within the "Aleph One" project, the module name is "Maths Libraries". All further releases wil be from there, also see there for bug reporting, feature requests, support, etc.

I am just finishing off a Maths DLL for the Win 32 platform. This is a Microsoft™ Foundation Class extension DLL written using MSVC++ v6.0 with SP5. It comes as a package with full un/install, help text, a fully featured (& easy to use, I hope) test utility for the Maths DLL, and a lot of files that have pre-run tests as a basis to support user confidence. See below for more details.

The Advanced Maths DLL itself has many maths mappings in it, easily over 300. Many of these maths mappings have been hand crafted in assembler (Intel™, though each "massaged" function has a standard C++ counter part in the sources) to optimise their speed.The Maths DLL directly supports:

  1. Integers and real rumbers (1-d).
  2. Complex numbers (2-d).
  3. Hyper-complex numbers (4-d).
  4. Quaternions (4-d).
  5. Any other 4-dimensional commutative ring with unity via tensor transformations.
  6. 2x2, 4x4, 5x4 and pxq Matrices (2, 4 & n-dimensions).
  7. 4- and n-Vectors (4 & n-dimensions).
  8. Spherical polars (4-d).

Although the library was primarily written for generating fractals, the wide range of functions in it vary from the most basic (raising integers to powers) to the most complex (a Gamma mapping with a domain and range of the Complex Numbers or n-dimensional matrix transformations) mean it can be applied to any application that requires high speed, accurate mathematics.

The installation package (that has a full un/install) which you can download below contains:

  1. The Advanced Maths DLL.
  2. A help document describing in all of the features, details and quirks of the Advanced Maths Library, and how to use it in your MSVC++ project.
  3. The Maths Test Utility, which is a utility that is only used to perform simple tests on the maths mappings in the Advanced Maths Library. It is also used to create a record of tests done, re-run these tests or perform speed timings on the maths mappings.
  4. A self-extracting ZIPped archive containing many tests already done on the Advanced Maths Library's maths mappings. These tests can be inspected, and re-run if required with the Maths Test Utility. This is included to instil confidence in a user that the Advanced Maths Library's maths mappings actually work correctly.
  5. C++ header files for including in your C++ source code(s).
  6. The .LIB file for linking with your compiled source code(s).

All of these files are installed into the "c:\Program Files\TwotWare\Advanced Maths Library" directory.

The MFC runtime files are needed. Please make sure you have the correct version of MFC42.DLL, as there are more than five versions! The one you need can be obtained below.
Download a ZIPped ALPHA of the software now ~ NOT FOR REDISTRIBUTION. Release date: 5/6/97. Always check out any bug fixes.

If there are any functions not supported in the library and you think they should, please let me know and I'll consider them for inclusion. Current suggestions are:

  1. Fourier transforms.
  2. Curve approximations.

I've written a powerful little SHAREWARE suspend utility for my Olivetti™ ECHOS P90S laptop because it didn't have one for Microsoft™ Windows 95®, only MS-DOS or Windows for WorkGroups.

This small (<50kb after installation) utility has a simple, but pretty user interface (using animated icons) and is fully automated. It can be used directly or with a system scheduler like System Agent (which comes with the Microsoft™ Plus! pack) to automatically, but safely suspend your laptop to RAM or disk after a specified period of inactivity. Note that it will only work with P.C.'s that have an APM compatable BIOS (such as a laptop). For one quick way to check this; look at your Start Menu. If you have a "Suspend" as well as "Shut Down..." option, then Suspender should work. It is Microsoft™ Windows 95® compliant with a full un/install.
.
The MFC runtime files are needed. Please make sure you have the correct version of MFC42.DLL, as there are more than five versions! The one you need can be obtained below.
Download a ZIPped copy of Suspender here, or here! Release date: 4/4/98. Check out bug fixes.

If you use this software, you must register it.Registering entitles you to unlimited free updates, support and excellent karma.

Doc.Em is a small SHAREWARE utility (once installed) that places up to two active areas in different corners of your desktop that can disable your screen saver, or immediately activate it. Animated icons and a screen shot of your actual desktop spice up the interface! It is fully compatable with virtual desktops. Also it consumes less than 1% processor load (measured with WinTop - a Microsoft™ Kernel Toy). A full un/install is supplied for Microsoft™ Windows 95® compatability.

The MFC runtime files are needed. Please make sure you have the correct version of MFC42.DLL, as there are more than fives versions! The one you need can be obtained below.
Download a ZIPped copy of Doc.Em here, or here! Release date: 4/4/98. Check out bug fixes.

If you use this software, you must register it. Registering entitles you to unlimited free updates, support and excellent karma.

Mez Sure is a small utility (once installed) that places a ruler on your P.C.'s screen. O.K. - hardly impressive? Ha! Place it at any angle ~ now that's stunning! With funky little custom buttons, and very customisable. Now you're talking... A full un/install is supplied for Microsoft™ Windows 95® compatability.

The MFC runtime files are needed. Please make sure you have the correct version of MFC42.DLL, as there are more than five versions! The one you need can be obtained below.
Download a ZIPped copy of Mez Sure here! Release date: 7/7/1999. Check out bug fixes.

This code is now hosted on Sourceforge within the "Aleph One" project. All further releases wil be from there, also see there for bug reporting, feature requests, support, etc.

Aleph One is a highly sophisticated program for generating fractals. It's major features are:

  1. It is highly flexible, with just about every calculation it does capable of being modified by the user with the built-in expression generator
  2. It is pretty - it supports full 32-bit colouring schemes for the fractals, so no longer are you limited to 256 colour palettes! To enable and support this feature it has a completely configurable "colour range" tool that is used to create a 32-bit "colour range" that is used to colour the fractal (which is separately saveable for redistribution).
  3. For those really lucky people out there with 2 (or more!) processors Aleph One is completely multi-threaded and capable of making use of all of the processors!
  4. A "trace" of points can be set up (by the user) in the fractal, and then "run" so that the successive orbits of these points in the trace are generated.
  5. Various number systems are natively supported: complex, hyper-complex, quaternion and many more in the "custom fractal" mode, where you can create your own fractals with the easy to use expression generator!
  6. You can create your own fractal types using the built-in expression generator, which is completely graphical. No programming or mathematical knowledge is assumed!
  7. Aleph One saves it's images in three formats: ".PNG" (image and data), ".IXI" (data only) and ".BMP" (image only).
  8. Aleph One is, and will always remain FREEWARE!

Please note: Aleph One is currently in BETA, so expect some rough edges... If you find a bug, please check to see that you have the latest build (check the "Help/About Aleph One..." dialog) before you report it. Thanks!

The current release is v1.0 BETA, build date: Mar 15 2000 19:10:43.

The MFC runtime files are needed. Please make sure you have the correct version of MFC42.DLL, as there are more than five versions! The one you need can be obtained below.
Download a ZIPped copy of Aleph One here! Release date: 7/2/2001. Check out bug fixes.

Intel™ Pentium®, Pentium Pro® and Pentium® II and AMD™ K6 processors (and possibly others) have an instruction on them called "RDTSC". What is special about this? Well the instruction accesses a 64-bit wide counter that increments on every processor clock. In short this is a counter that has the frequency of the processor core's speed!

What I have done is wrap up this interesting little op-code in a Visual C++ class. The class totally hides the mechanics of accessing the counter accurately. A counter-type object is simply created with the constructor, destroyed for you with a destructor and accessed via a few simple member functions. Checks are also performed in the constructor to ensure that the op-code exists on the target CPU and that the requested op-code does something like the RDTSC instruction. This allows for the possibility of non-Intel processors supplying the instruction.

Note that this class is written for the Microsoft™ Visual C++ v5.0 (with SP2) development environment, but with a little modification can probably be used in other environments. (Specifically the MSVC++ 64-bit number extensions to the ANSI C++ language may need to be provided.)

Download the ZIPped MSVC++ sources here! Release date: 25/10/97. Check out bug fixes.

This code is now hosted on Sourceforge within the "Custom Window API" project. All further releases wil be from there, also see there for bug reporting, feature requests, support, etc.

Possibly the most powerful custom Window API for Microsoft Visual C++ yet... This API is an extension to the Microsoft Foundation Classes that lets you create and dynamically change the user interface shape for your application. An example of a custom windowed application is Mez Sure, above. All features of the user interface furniture can be changed and re-designed to suit your needs. This can be a mammoth task, but this API will help you get there. It essentially replaces and extends CWnd to allow you to easily change the shape of the Window's window and provides placeholders and callbacks just like CWnd for painting, updating, moving, etc, etc your window(s).

Download the ZIPped MSVC++ sources here! Release date: 23/10/98. Check out bug fixes.


NOTE: There are more than five(!) versions of MFC42.DLL, the one you require is v6.00.8447.0, dated 26th April 1999 size 995,383 bytes, so please check any version you may already have. This version is available below.

Get the Microsoft™ Foundation Class runtime DLLs "MFC42.DLL" & "MSVCRT.DLL" from:

  1. Microsoft themselves in .CAB format. (You'll need cabinet file viewer such as Internet Explorer or the Power Toys.)
  2. The WinSite web at http://www.winsite.com/info/pc/win95/misc/mfc42a.zip/ in ZIP format.
  3. From my own web site here.

Once downloaded, place them in your "\WINDOWS\SYSTEM" (Windows 9X) or "\WINNT\SYSTEM32" (Windows NT) directory.


Get PKWARE Inc. to uncompress the downloaded files.



Go back to the list of pages.

Copyright © Jason M McGuiness, 1996-2000.