Lord Cheese's DirectInput8 Input Plugin
Version 0.0.1.1

***************
* Requirements
***************

- DirectX 8.1 or above
- A keyboard =P

**************
* What's new?
**************

- Much improved controller polling
- Configurable buttons
- A tiny bit of VMU support
- Correct handling of peripherals
- Can configure all 6 units on all 4 ports

*********************
* Points of interest
*********************

If you feel the emulator is a bit sluggish in accepting
input, the problem may be one of the following:
1) The emulator's Maple Bus implementation isn't great
2) The emulator is running so slowly that the polling is not preformed
   as often as it should be
3) The fact that this plugin sucks! :)

The terms Maple and Input may confuse you, so here is an
explaination:
Maple Bus is Sega's codename for the Input system in the
Dreamcast.  Some emulators may refer to the Input plugin
as Maple plugin.

****************
* Configuration
****************

Note that when you first use this plugin, it will set some
defaults that suit the needs of the average user.  A 'unit'
refers to any peripheral connected to a Dreamcast input port
or another peripheral.  A further sub-classification is made:
a peripheral connected directly to the input port is a 'main unit'
whereas a peripheral connected to a main unit is known as a 'sub unit'.
For example, a standard Dreamcast controller is usually connected as
a main unit, and a Visual Memory is usually connected as a 'sub unit'.

This plugin fully supports 4 ports, each with 6 sub-units.  Any
combination of units that is legal on the Dreamcast console is
supported by this plugin.  Combinations that are not possible on
the Dreamcast console are also allowed, provided the emulator/software
supports this.

Configuring the units attached to the ports:
---------------------------------------------

In the plugin configuration dialog, you will see 4 boxes, labeled
Port A to Port D.  These are the 4 ports.  To 'attach' a unit to the
port, simply select the peripheral you want in the respective 
combo-box.  Note that some peripherals should only be attached as
a main unit and some as a sub unit (see below for details).

To configure each unit, press the 'Config' button beside it.  There
are different configuration dialogs for different peripheral types.
A description of each type is as follows:

--- Dreamcast Controller
This is the configuration for the standard Dreamcast Controller (HKT-7700
among others).  Firstly you should configure each type of input device
you are going to use.  Different options appear depending on which
input type you choose.
  Keyboard:
	Analog x2 Multiplier key:
	When this key is held while pressing an analog control, the analog pressure will be twice as much
	Analog x3 Multiplier key:
	Same as x2 Multiplier key, but increases pressure three-fold.

Configuring buttons is easy.  Just click the button with the name of the button
you want to set and press the key you wish to assign to it.  Press OK to save changes,
Cancel to revert to previous settings.

Note: If you configure one type of peripheral attached to a certain unit
and then change the peripheral attached to that unit and configure it, if
you revert to the original peripheral type, the configuration of the original
will be lost.

************************
* Default Configuration
************************

Port A, Unit 0: Dreamcast Controller
Configuration for A0:
Up: Up Arrow
Down: Down Arrow
Left: Left Arrow
Right: Right Arrow
A: X
B: C
X: S
Y: D
Start: V
Left Trigger:  A
Right Trigger: F
Analog Up: Num Pad 8
Analog Down: Num Pad 2
Analog Left: Num Pad 4
Analog Right: Num Pad 6

***********
* Problems
***********

Q. "I get an error about a missing dinput.dll"
A. Install or re-install DirectX 8.1 or higher.

Q. "I press a button but nothing seems to happen"
A. Make sure that you have configured this button to
   do something and then read "Points of interest" 
   above.