

Introduction
------------

This program is a simple interface for setting up a hardware configuration 
file called zanzi.cfg. It will allow you to autodetect your soundcard or 
set it up manually, to select a keyboard layout, and to calibrate your 
joystick. It also provides a test system to make sure the settings you 
have chosen are working properly.
The setup program and this text is from the allegro package with some 
modifications.
The game should be running fine even if you don't has used the setup
program but if you want better sound or use a joystick can this program
help you.
 
Usage
-----

The simplest case of usage is this:

   *  run setup.exe
   *  click on autodetect
   *  test to make sure the settings work
   *  optionally choose a keyboard layout
   *  optionally calibrate your joystick
   *  save and exit

If there are any problems, use the "Digital Driver" and "MIDI Driver" menus 
to manually set your soundcard parameters. Whenever you highlight an option, 
a help message explaining what it does will scroll across the bottom of your 
screen.


Zanzi uses these standard variables from the configuration file:

gfx_card = x
   Specifies which graphics driver to use.In normal cases don't you have
   to worry about this variable. 
   The driver ID should be one of the values:
   
      1  = VGA mode 13h          2  = Mode-X
      3  = VESA 1.x              4  = VBE 2.0 (banked)
      5  = VBE 2.0 (linear)      6  = VBE/AF
      7  = Xtended mode          8  = ATI 18800/28800
      9  = ATI mach64            10 = Cirrus 64xx
      11 = Cirrus 54xx           12 = Paradise
      13 = S3                    14 = Trident
      15 = Tseng ET3000          16 = Tseng ET4000
      17 = Video-7

keyboard = x
   Specifies which keyboard layout to use.I think that the keys used in the
   game doesn't need any special keyboard layout.
   Look in the keyboard.dat file to see which mappings are available: 
   at the time of this writing there are:
 
      BE       - Belgium
      DE       - Germany
      DVORAK   - Dvorak
      ES       - Spain
      FI       - Finland
      FR       - France
      PT       - Portugal
      UK       - United Kingdom
      US       - United States

mouse = x
   Mouse type (Microsoft, Logitech, or NT). 
   Zanzi doesn't use the mouse so don't bother about this.


[sound]
   This section is interesting if you want to do something fancy as using
   an external synth.Most of this is untried with Zanzi but should work
   without problems like in any other program which is using allegro.
   If you are satisfied with the sound you got without using the setup
   program don't you have to change anything.
   Section containing sound configuration information, using the variables:

digi_card = x
   Sets the driver to use for playing samples, where x is one of the values:
      0 = none                   1 = SB (autodetect breed)
      2 = SB 1.0                 3 = SB 1.5
      4 = SB 2.0                 5 = SB Pro
      6 = SB16                   7 = GUS (unfinished)

midi_card = x
   Sets the driver to use for MIDI music, where x is one of the values:
      0 = none                   1 = Adlib (autodetect OPL version)
      2 = OPL2                   3 = Dual OPL2 (SB Pro-1)
      4 = OPL3                   5 = SB MIDI interface
      6 = MPU-401                7 = GUS (unfinished)
      8 = DIGMID                 9 = AWE32

digi_voices = x
   Specifies the minimum number of voices to reserve for use by the digital 
   sound driver. How many are possible depends on the driver.

midi_voices = x
   Specifies the minimum number of voices to reserve for use by the MIDI 
   sound driver. How many are possible depends on the driver.

flip_pan = x
   Toggling this between 0 and 1 reverses the left/right panning of samples, 
   which might be needed because some SB cards (including mine :-) get the 
   stereo image the wrong way round.

sb_port = x
   Sets the port address of the SB (this is usually 220).

sb_dma = x
   Sets the DMA channel for the SB (this is usually 1).

sb_irq = x
   Sets the IRQ for the SB (this is usually 7).

sb_freq = x
   Sets the sample frequency, which defaults to 16129. Possible values are:
   This also affects the quality of the music quality if you are using the
   DIGMID driver for midi files.
      11906 - works with any SB
      16129 - works with any SB
      22727 - on SB 2.0 and above
      45454 - only on SB 2.0 or SB16 (not the stereo SB Pro driver)

fm_port = x
   Sets the port address of the OPL synth (this is usually 388).

mpu_port = x
   Sets the port address of the MPU-401 MIDI interface (this is usually 330).

digi_volume = x
   Sets the volume for digital sample playback, from 0 to 255.

midi_volume = x
   Sets the volume for midi music playback, from 0 to 255.

ibk_file = x
   Specifies the name of a .IBK file which will be used to replace the 
   standard Adlib patch set.

ibk_drum_file = x
   Specifies the name of a .IBK file which will be used to replace the 
   standard set of Adlib percussion patches.

patches = x
   Specifies where to find the sample set for the DIGMID driver. This can 
   either be a Gravis style directory containing a collection of .pat files 
   and a default.cfg index, or an Allegro datafile produced by the pat2dat 
   utility. If this variable is not set, Zanzi will look either for a 
   default.cfg or patches.dat file in the same directory as the program, the 
   directory pointed to by the ALLEGRO environment variable, and the 
   standard GUS directory pointed to by the ULTRASND environment variable.

[midimap]
   If you are using the SB MIDI output or MPU-401 drivers with an external 
   synthesiser that is not General MIDI compatible, you can use the midimap 
   section of the config file to specify a patch mapping table for 
   converting GM patch numbers into whatever bank and program change 
   messages will select the appropriate sound on your synth. This is a real 
   piece of self-indulgence. I have a Yamaha TG500, which has some great 
   sounds but no GM patch set, and I just had to make it work somehow...

   This section consists of a set of lines in the form:

p<n> = bank0 bank1 prog pitch
   With this statement, n is the GM program change number (1-128), bank0 and 
   bank1 are the two bank change messages to send to your synth (on 
   controllers #0 and #32), prog is the program change message to send to 
   your synth, and pitch is the number of semitones to shift everything that 
   is played with that sound. Setting the bank change numbers to -1 will 
   prevent them from being sent.

   For example, the line:

      p36 = 0 34 9 12

   specifies that whenever GM program 36 (which happens to be a fretless 
   bass) is selected, Zanzi should send a bank change message #0 with a 
   parameter of 0, a bank change message #32 with a parameter of 34, a 
   program change with a parameter of 9, and then should shift everything up 
   by an octave.

[joystick]
   Section containing a set of variables used by the program if you wishes
   to use a joystick.
   Delete this section if you want to disable the joystick support.

