> !ZapConfig
> Allow configuration of Zap
>  Copyright James Aylett 1996 - 1998
> Version 1.38

Copyright
---------

ZapConfig is copyright (c) James Aylett. It may not be distributed without
the express and written permission of the author, except that it may be
distributed along with Zap under the distribution conditions as laid down in
the standard (public release) Zap distribution. Any such distribution must
contain the entire contents of the !ZapConfig directory, unaltered in any
way.

ZapConfig version 1.38 requires Zap version 1.39 beta 9 or later, and RiscOS
3.10 or later, to run. The directory structure of Zap changed radically in
version 1.36; if you are using an older version of Zap then you should use
ZapConfig version 1.21, which is available from my ftp site (see 'Obtaining
upgrades').

ZapConfig was written using DeskLib, the FreeWare C library for RiscOS.

###  READ THE DISCLAIMER (NEAR THE BOTTOM) BEFORE IT'S TOO LATE  ###
### I cannot be held responsible for any loss of your nice setup ###
###     It's also a good idea to read the known bugs section     ###

Contents
--------

	Introduction
	Major changes in recent versions

	Use
	Configuration Part 1   - Key bindings
	Configuration Part 2   - Window Display
	Configuration Part 3   - Miscellaneous options
	Configuration Part 4   - More miscellaneous options
	Configuration Part 5   - Edit options
	Configuration Part 6   - Filetype recognition
	Configuration Part 7   - Alternate keymaps
	Configuration Part 8   - Display options
	Configuration Part 9   - Fonts
	Configuration Part 10  - Mode-specific options
	Configuration Part 10b - Tweaking mode-specific options
	Configuration Part 11  - Menus
	Configuration Part 12  - Extensions

	Option switches to ZapConfig

	Known bugs
	The future
	Disclaimer
	Thanks
	Obtaining upgrades
	Contacting the author
	The Zap Development Team

Introduction
------------

Zap is very flexible. In many ways too flexible. Too big, too far, too deep,
and much too flexible. More than eighteen innocent users have been put off
by the automatic comment from experienced Zappers, 'Oh, just reconfigure it
if you don't like that'. The next question in the conversation is always
'How?'. Previously the answer involved menus, and getting lost (and for some
it still does). ZapConfig is the alternative, for people who don't like
getting too involved.

 This may be wrong.

Major changes in recent versions
--------------------------------

From verson 1.26, ZapConfig expects you to be using a setup similar to the
standard Zap 1.39 beta distribution. (More specifically, it expects v0.03 of
the Zap directory structure.)

For external filetype configuration, you'll need to be using the appropriate
macros in ZapUser:Config.!ZapBoot; also it will use what I currently
understand to be the standard variable definitions for ZapUser:Config.!ZapRun
(these may be replaced by macros in the future to allow more flexibility).

Use
---

Note that I've assumed throughout here that you are familiar with RiscOS and
the way RiscOS programs work.

Loading ZapConfig in the usual way, you click on the iconbar icon to get the
main configuration window. This actually contains very little by way of
configuration, but presents a pair of sections. The top bit contains twelve
icons, and allows you access to the actual configuration. Go ahead, click on
them.

The bottom part of the window allows you to specify which template set Zap
uses; the menu button at the right will give you a list of available template
sets to choose from. ZapConfig can currently cope with eighteen template sets
being available, which shouldn't be a big problem.

To save the configuration and the template set - so that Zap will use them
next time it starts up - click on the Save button at the bottom right of the
window.

Configuration Part 1 - Key bindings
-----------------------------------

It is advisable to read Sections A.1, A.2 of the Zap help file at this point,
since they explain key bindings. However you may ignore the bits which talk
specifically about the Keys file - just read the bits which explain how the
command format for each key binding works, and what key bindings are in the
first place.

Clicking on the 'Edit key bindings' button will open a dazzling window
representing your keyboard. If you have a RiscPC then this window will be
slightly different to if not, since the RPC uses a standard PC-style keyboard
layout, whereas older machines use a modified keyboard.

The window is split in two; the top displays the current key binding you are
editing, and the bottom displays the keyboard. Clicking on a 'key' on the
keyboard will select that key as the one to edit. This is then displayed in
the far left icon at the top. To the right of this are two option buttons,
showing whether you are editing the shifted and/or control-modified version
of the key (in that order - !FinalLook for RiscOS 3.1 will result in the
shifted icon being somewhat obscure because the available fonts for RiscOS
3.1 don't contain a suitable shift character). At the far right is the actual
action performed by this keypress; the command bound to the keypress.
Clicking on the shifted and control-modified icons will toggle them on and
off (as will clicking on the shift or control keys on the keyboard layout
below), and any alteration in the keypress being editing will be reflected in
the action icon, which is editable to allow you to change it. Choosing
another keypress _temporarily_ saves the key binding you have altered; the
changes aren't saved until you close the window.

The page up and page down keys can be used instead of setting shift on,
control off, and using the up and down keys.

ZapConfig now deals with the full *&xxx command used in Zap's standard
keybinding for the keypad numbers (it drops the key bindings through to
keymap 0, with the base of the range starting at &xxx. Omitting the &xxx -
having just the command '*' - drops through to keymap 0 with no renumbering,
as used in the Emacs keymaps, 1).


Note that the keys ',' '.' and '/', plus some others, don't actually do
anything in Zap when used with control or shift and control. ZapConfig deals
with this in a slightly upsetting way due to the way it's coded; the control
switch has no effect on these keys, so for instance it treats shift+ctrl+'.'
the same as shift+'.' = '>'.

Configuration Part 2 - Window Display
-------------------------------------

Clicking on the 'Window display' button will open a window allowing you to
set all sorts of groovy things associated with fine-tuning Zap's display. It
is divided into two parts.

At the top you can set various attributes of Zap's window spacing. Cursor
indent is the minimum distance Zap tries to keep between the cursor and the
edge of the editor window; left and right margins are given in OS units; end
of file gap is the number of lines Zap adds to the end of a window so you're
not typing right at the window extent. Auto-width gives the upper and lower
bounds for the auto-width width (using the auto-width option :-). Margin is
in characters, and puts a left hand border on the text.

At the bottom you can set the offset from the editor window at which dialogue
boxes (save, search etc.) are opened.

Configuration Part 3 - Miscellaneous options
--------------------------------------------

It is advisable to read Section A.3 of the Zap help file at this point, which
talks about search macros (variables &200-&20F) and the general options
(variables &300-&320 currently). In addition it is useful to understand what
a mode is :-).

Clicking on the 'Miscellaneous' button will open a window which allows you to
set various options associated with Zap.

At the very top is a section allowing you to configure what Zap does when you
click with Select or Adjust on its iconbar icon. Typically you want to use
"Newfile &xxx" where &xxx gives the filetype.

Below this are two sections; on the left you can specify the date and time
format strings Zap uses, while on the right you can see which mode Zap uses
by default (filetypes it doesn't recognise, and any filetype loaded with
Control held down use this mode). The first five modes (Text, Byte, Word,
Ascii, Code) are internal to Zap, and are listed by name. All others are
listed by number, since there is no way of knowing which mode number an
extension mode will actually be allocated.

Below this on the left is a section controlling Zap's print features, and at
the bottom right is an icon allowing you to alter the attributes given to a
new file. Clicking on it brings up a short menu, allowing you to select the
various options. If you don't understand this, it's advisable to leave it
alone.

There is also support for FilerPatch, by Jens Ovesen, in that you can
determine if a file has the 'hidden' (bit 6) and 'super hidden' (bits 6 and
7) flags set when created. This support is turned off by default; to turn it
on you'll have to edit the !Run file to add the -filerpatch switch to either
the last-but-one line, or the last-but-two. This support will likely be
removed in the future because FilerPatch only works with RiscOS 3.1 (although
hopefully by then someone will have added hidden file support for more recent
versions).

Configuration Part 4 - More miscellaneous options
-------------------------------------------------

Clicking on the 'More miscellaneous' button will open a window which allows
you to set some more miscellaneous options. (These are split from the rest of
the Miscellaneous options partly because they are less likely to be altered,
but mostly because the Miscellaneous window was getting too big.)

At the top there is a section for controlling the minibuffer. You can't yet
configure the minibuffer colours (if you need to, use Options->Mini buffer
from Zap's iconbar menu).

At the bottom are some miscellaneous options; check date on saving file,
auto-remove files on closing their last window, and trap MS-DOS (text) files.
There's also a switch for making Zap run silently. With this set, errors and
so on won't cause Zap to beep at you. The minimum backup delay determines how
long Zap will wait before moving a file down the backup queue. In other
words: with the default value of 120, and backup directories ~1, ~2, ~3, even
if you save every ten seconds, Zap will only move your file into ~1 before
saving (and move that in ~1 to ~2 and so on) every 120 seconds. The "tolerate
broken messages" option makes Zap respond to wimp messages which haven't been
constructed properly. Some programs, including Ant's Fresco, send incorrectly
constructed messages; setting this option allows them to work with Zap.
Finally, "avoid horizontal scrollbars" will make Zap do that wherever
possible.

Configuration Part 5 - Edit options
-----------------------------------

Clicking on the 'Edit options' button will open a window which allows
you to alter how Zap's edit functions work. These options affect all modes.

The window is split into two. At the top you can set various miscellaenous
edit options: whether undo is supported by default, whether the cursor should
be confined to the window (moving the cursor's position as the window
scrolls), whether selections are cleared automatically (as in Impression, for
instance), and the wrap width and width for column tabs.

At the bottom you can set various search options. These are: whether you can
use search macros, whether '\' commands are enabled (this should be turned on
if search macros are turned on), whether replace works globally by default,
whether the search window should be cleared each time, whether the search is
case sensitive, and whether it is a raw search (ie the search acts on the raw
data, rather than on the detokenised, disassembled, etc. data).
You can also configure the default direction of the search, and specify the
search macros. you can move through the list using the bumper icons. The
macro is on the left, the expansion on the right, and both are editable and
are temporarily saved as usual.

See Section E in the Zap help file for more information about searching.

Configuration Part 6 - Filetype recognition
-------------------------------------------

It is useful to read Section A.3 of the Zap help file at this point, which
talks about the filetype recognition variables (&5xx and &1000 - &2000).

Clicking on the 'Filetype recognition' button will open a window which allows
you to alter how Zap treats various filetypes. The window is split into five
sections.

It is important to realise at this point that Zap doesn't just use a single
options file to determine how it treats a file on loading. Firstly it looks
for a user-defined override; if none apply then it looks for a mode-defined
action (for instance Martin Ebourne's C mode defines suitable path checks for
loading C sources filetyped as text into C mode). If nothing else applies
then it looks for a user-defined fallback. If it can't find one there then it
uses the default mode (see Miscellaneous options, above).

ZapConfig only allows you to edit the user-defined overrides and fallbacks:
the mode definitions generally know what they're doing (and if you're having
to change them then you probably don't have difficulties doing it yourself -
the relevant files are !Zap.Modules.xxx.Types).

At the top is the filetype currently being considered; you may move through
them using the bumper icons, or use the menu icon (far right) to bring up a
short menu of common filetypes (currently text, basic, HTML, data and a
writeable item for a hexadecimal number). There is a special instance, which
has apparent filetype -1 (ie it appears before filetype &000), which is for
path checks on _all_ filetypes.

Below this is section which deals with path checking (&5xx variables). You
can only have 256 of these currently, which shouldn't cause huge problems,
but is something to be aware of. (This is a ZapConfig limitation rather than
Zap. Sorry.)

The top line of the section gives a path search string (see Section E of the
Zap help file), allows you to scroll through currently defined path checks
using the bumper icons, and gives you a New button to create a new path
check. To alter a current path check, just edit the contents of the writeable
icon. It is not currently possible to delete path checks once they are
defined by using ZapConfig; if you need to, load the Keys file into Zap
itself, find the appropriate variable, and delete it.

Below this is a line telling Zap what to do with it. The override option
means that this will override all conflicting mode options. The auto option
means that Zap will load this file even when shift isn't held down, and the
icon at the far right gives the name of the mode to load it into followed by
a colon (':') separated list of commands to execute on loading. At the far
right is a menu icon, which brings up a menu of all available Zap modes (note
that if any more "base" modes are added - ie ones which load with the central
Zap program rather than separately - then these will not be present here).
Selecting one sets it as the mode to use. Normal Zap commands may be
specified after the mode, separated by colons (':').

ZapConfig will temporarily save path checks as with the keymap.

When creating new path checks, ZapConfig will store path checks on filetype
-1 (all filetypes) last, preceded by other filetypes in order. Within each
filetype it will store them in whatever order they are defined (except that
for all filetype checks, they will be stored in reverse order). Note that it
is possible that this is incorrect, in which case you'll have to edit the
Keys file directly - it really is too difficult to come up with a usable way
of doing it in ZapConfig. (If anyone has ideas on this, however, please pass
them on!)

The third section is the default action; if Zap can't match the file's path
to any specified in the path checks then it will load it into the mode
specified. If no mode is given then Zap won't load it. The line works in the
same way as the bottom line in the path checking section.

At the bottom are two sections, giving if and how Zap claims this filetype
externally on being booted and run. Generally you want Text (&FFF) to be
claimed on boot and run for everything, and you probably want BASIC (&FFB) to
be claimed for OLE, and possibly External Edit. If you don't understand this,
it's best to leave it alone.

ZapConfig will temporarily save default actions as usual.

Configuration Part 7 - Alternate keymaps
----------------------------------------

It is advisable to read Section A.5 of the Zap help file before fiddling
around with the alternate keymaps.

Clicking on the 'Keymaps' button will open a window which allows you to set
up and edit up to 255 alternate keymaps to the "base keymap" (keymap 0) -
which can be altered using the 'Edit key bindings' button - and also to set
which keymap is the default one for Zap to use. You cannot yet delete
keymaps, but it's fairly trivial to do so directly in the Keys file (just
don't do it while ZapConfig is running, or you might lose you changes).

The window is divided in two; at the top you can choose the default keymap,
using the bumper icons to scroll through the list of defined keymaps.
'Standard' refers to the base map, number 0. All others are referred to by
their "map comment", which is stored at the end of the map declaration in the
Keys file. In the Keys file supplied with Zap these comments are surrounded
by brackets: '(' and ')'.

At the bottom of the window you can similarly scroll through just the
alternate keymaps. The comment can be set here by changing what is in the
writeable icon, and you can add a new keymap by clicking on 'New'. You can
also edit the key bindings for this keymap by clicking on 'Edit key
bindings'. This will close the keymaps window, and open the keyboard window
(as used when editing the base keymap - only with the definitions for this
keymap). Closing this window will ask you if you want to save the changes to
the keymap, and then will return you to the keymaps window.

Configuration Part 8 - Display options
--------------------------------------

Clicking on the 'Display options' button will open a window which allows you
to alter various display-related functions. I originally had these in the
same section as Window display, but the box got too big to fit onto a mode 13
screen :-) These options affect all modes.

The window is split into three. At the top you can alter the cursors which
Zap uses, plus whether they flash or not and the flash periods. Below this
you can change the characters Zap treats as end-of-line and tab, plus the
line spacing Zap uses and whether it treats data as big or little endian
(leave it switched off if you don't understand this :-).

At the bottom you can set the start line and address Zap uses when printing
line numbers/addresses. Note that this option may be overridden; for instance
Absolute code will be set to start at address &8000 when loaded in since this
is where it will be executed if run.

Configuration Part 9 - Fonts
----------------------------

Clicking on the 'Fonts' button will open a window which allows you to alter
Zap's font handling. It is divided into three sections.

At the left you can configure Zap's anti-aliased font handling, starting with
the font name and size (in points). Below this you can configure the
character reduction (how many pixels are shaved off fonts characters).

At the top right you can set which bitmap fonts Zap will use in low and
high resolution modes.

At the bottom right you can set the default font style Zap will use. "Bitmap"
refers to the bitmap fonts configured at the top right (you probably want to
use them scaled), "Outline" refers to the anti-aliased fonts configured at
the top left, and "System font" uses the normal system font (as used, for
instance, by !Edit). You can also set whether direct screen access colours
are disabled when anti-aliasing, which can make things look nicer in modes
with few colours.

Configuration Part 10 - Mode-specific options
---------------------------------------------

Clicking on the 'Mode options' button opens a window allowing you to set some
of the options specific to individual modes. Note that it is not possible to
edit some options for each mode (for instance the indent and pause for Martin
Ebourne's 'C' mode), because they are handled directly by the mode itself
rather than by Zap; only Zap-handled options are currently editable here.

This window is currently disabled, by using the -nocos option, so that
clicking on the 'Mode options' button opens the 'tweak' window described
below. When this window becomes functional, the default will be changed to
enable it.

Configuration Part 10b - Tweaking mode-specific options
-------------------------------------------------------

Clicking on 'Tweak' in the mode options window switches to 'tweak' mode (the
old way of editing). Note that you can't switch back; to do so you have to
close the new window, and then open the mode options window again from the
main window.

The window is split into six; at the top left you can choose the mode whose
options you wish to edit, via a menu. Here you can also delete the mode's
options from the Config file (perhaps because you don't use the mode any
more, or because you suspect that the entry has become irrevocably corrupt).
Note that you can't delete Text mode's options.
You can also "sanitise" a mode's options; ZapConfig will go through each flag
and variable that it understands, attempting to ensure that it is set up
sensibly. This is mainly of use while changing between different versions of
Zap, since some settings used in older versions of Zap are sometimes now
inappropriate and can cause problems.
Note that if more options are added to Zap in the future, you will need to
upgrade ZapConfig alongside it. Wherever possible, full public releases of
Zap will be accompanied by a compatible version of ZapConfig. Using an older
version may cause the sanitise option to delete or alter valid settings.

On the left there are a series of display options, at the top right there are
a series of edit options (Line edit is in preference to Stream edit, and
Strip spaces is on saving), on the right you can configure Zap's tab
handling, at the bottom left you can configure Zap's line number handling,
and at the bottom right you can configure how mouse clicks are handled, and
which keymap the mode uses by default.

The 'Colours' and 'Mode cols' buttons at the bottom of the display options
section are currently greyed out, but will bring up menus of, respectively,
the standard colours common to all modes, and any additional colours which
the mode has defined.

If the mode does not currently have an entry in the !Config file for the open
option set, ZapConfig will not let you edit options for that mode. This is
because it has no way of knowing what the defaults should be. If you want to
edit such a mode, first ensure it has been loaded, then save options from
Zap, and then rerun ZapConfig.

Configuration Part 11 - menus
----------------------------

Clicking on the 'Menus' button will load the Menus definition file for the
option set open into a text editor (typically Zap). At the top of the file is
a brief explanation of the file format. I'd only advise fiddling with this
file if you know what you're doing :-).

Configuration Part 12 - Extensions
----------------------------------

Clicking on the 'Extensions' button will open a window which allows you to
quickly install and deinstall Zap extension modules. You can scroll through
the currently-installed extension modules; clicking on the Remove button will
deinstall the shown module. Deinstalled modules aren't deleted; they are
actually moved into the !Zap.Unused directory (which is created if it doesn't
already exist).

To install a new extension module, drag it onto the window; ZapConfig will
warn you if you try to install an older version than the currently installed
one (giving you the option of overwriting it if you really want).

Installing and deinstalling modules will update ZapConfig's list of installed
modes (as used in the filetype recognition and mode option windows).

In addition, at the bottom of the window, you can configure autoloading of
the five "internal" Zap extensions - HidePointer (hides the mouse pointer
while you're typing), Assembler and Disassembler (provides extensions to the
build-in ones for use in Code mode), IconClear, FlashCar, Keyboard Extend,
and LineEditor (used all over Zap; it's a good idea to load this
automatically unless it's already in your boot sequence).

See the Zap manual for more information about these extensions.

Option switches to ZapConfig
----------------------------

The following options are recognised by ZapConfig, and should be inserted as
appropriate in !ZapConfig.!Run or run as !ZapConfig <options>; a brief
explanation of each is given there.

-prerpc
	Runs in pre-RiscPC mode. The only effect this has is to enable the
correct keyboard layout. This is auto-detected in the !Run file, although it
is possible that it may fail on your system. If the keyboard layout shown in
ZapConfig does not match your keyboard then try changing this.

-filerpatch
	Provides support for FilerPatch extended object attributes when
specifying the attributes given to newly-created files. Support for this may
be withdrawn in the future, since (a) I personally don't use it, and (b) I
hope that Acorn will add a standard hidden-file mechanism to the Filer, which
I'd support in preference. FilerPatch is copyright (c) Jens Ovesen.

-nocos
	Turn off cascading option sets. These have yet to be implemented,
although enabling them won't cause any harm, just bring up a useless window
which you have to move through to get the window you actually need.

-strict
	Turn on strict parsing. This will complain in a couple more cases
(particularly if you have loads of modes installed). Leave it turned off
unless you're really interested; it produces warnings rather than errors.

-child
	Run as a child of Zap. Basically what should happen is that Zap saves
all files and quits before running ZapConfig; ZapConfig, in return, restarts
Zap when it quits if it was run with the -child switch.
	If ZapConfig sets off a file edit (for instance when you click on the
Menus button in the main window) it will assume that Zap is loaded to take
care of this, and will switch child behaviour off automatically.

-noconfirm
	Don't ask for confirmation when quitting and something might have
been changed by the user. This option is provided because ZapConfig uses a
loose modified system; if a child window has been opened, it is treated as
modified. This can be annoying; hence the option.

-nofiletypes
	Don't allow configuration of Zap's external filetypes. This option
is included because it may mess up your !ZapBoot and !ZapRun files if you
have strange ones. In general there shouldn't be problems.
	With this option on, the current configuration will be displayed,
but you can't alter it, and ZapConfig will leave that section of !ZapBoot
and !ZapRun alone when it writes them back into ZapUser.

Known bugs
----------

When submitting bug reports, it would be helpful if you could give the
following: version of ZapConfig, version of Zap, machine specs (memory -
especially how much free application space you had at the time - RiscOS
version, chipset) and what you were doing at the time if at all possible.
Repeatable bugs are easier to iron out :-).

Restrictions:

 * Really long lines in a configuration file (>2048 characters) will crash
   ZapConfig. If anyone has problems with this, get in touch and I'll
   increase the limit. (Ideally I'll make it auto-allocate using a paging
   system.)
 * Doesn't use FilerAction (or any error protection) for filing operations.
   In theory this causes bigger problems; if !ZapConfig and !Zap are
   located on different floppies then you've got problems. Similarly trying
   to install a module from a different floppy than !Zap is on won't work.
 * Only 256 path checks are allowed totally. The Zap distribution I have
   contains about fifty, so this shouldn't be a problem. In addition most of
   these are mode-specific ones, which ZapConfig doesn't edit in any case.
 * Doesn't edit mode-handled options. I can certainly support Byte, Word,
   Code, Taskwindow and BASIC without too much difficulty. Once I've done
   them, other modes will be supported on receiving the appropriate
   details from mode authors.
 * Loose modified system.

The future
----------

This section is now more or less prioritised.
My main priority at the moment is in working with the other Zap developers on
Zap as a whole, and consequently I won't have all that much time for looking
at ZapConfig; what there is will probably mostly be keeping up with Zap's
development.

 * Deal with (the most important) restrictions.
 * Revamp to a more consistent approach. This will involve doing most
   things within one window with a pane (a la StrongEd, Glass, etc.)
 * Bind into Zap. Not sure how sensible this is yet. If done, it would
   (a) make the + bits below unnecessary, and (b) possibly make [mdw]
   happier :-)
 * Cascading option sets (suggested by Tony Houghton).
 + Colours editing. This has been started, but isn't ready yet.
 + Other mode option things.
 + Menus for font selection.
 * Deal with (the other) restrictions.

If you have any other suggestions, please contact me (see below).

Disclaimer
----------

Neither the author nor distributor of ZapConfig can in any way accept
liability for any loss or damage arising from the use or inability to use
either ZapConfig or the information contained within the ZapConfig
documentation, even if they are previously informed of the possibility of
such a loss.

Thanks
------

 * Dominic for writing Zap in the first place, developing it up to v1.35,
   and answering my most stupid questions.
 * Tim for details of his work on Zap, ideas, the occasional bug report, and
   making it much easier for me to waste my time on this :-).
 * Martin, Darren, Matthew, Elliot and Justin for advice (sometimes
   unintentional :-), bug reports etc. (and particularly Martin for being so
   nice when he broke ZapConfig completely).
 * The Egham Hills crew for meandering assistance, company, and sidetracking.
 * Tony Houghton for WinEd, and for suggestions.
 * The team behind DeskLib (even if they overly complicated some things :-).
 * M&E, Gareth, Jenni, Dan & others for support.
 * Penny, Katie and Adrian for 'historical' reasons.

Obtaining upgrades
------------------

ZapConfig is now available from the official Zap release site,
<URL:ftp://ftp.zap.uk.eu.org/>. Each major release of Zap from v1.35 onwards
has its own directory in /pub (eg: /pub/1.35), and each of these will contain
the latest version of ZapConfig for that release.

ZapConfig version 1.21 is still available from Hensa, and is the last version
compatible with Zap 1.35, in case you need it.

Anyone may upload complete copies of ZapConfig to any other site which
doesn't charge for access/downloading; I would like to know of where these
sites are if you so do.

Contacting the author
---------------------

If you wish to contact the author, write to the following address:

James Aylett
Insigma Technologies
Norcote Barn
Norcote
Cirencester
GL7 5RH

Zap-related email: dj@zap.uk.eu.org

Normal disclaimers apply: ZapConfig has nothing to do with Insigma.

The Zap Development Team
------------------------

Zap is currently being developed by a group of people including Tim Tyler,
Darren Salt, Justin Fletcher and James Aylett. Details of Zap beta and public
releases are available from the official web site:
<URL:http://www.zap.uk.eu.org/>