MDBC8x9
8*9 MIDI drawbar controller.
---------------------------
 by Jordan D. Petkov

This article describes a simple 8*9 MIDI Drawbar controller
similar to my previous MIDI keyboard controller for PC.

The archive file MKC.ZIP contains a set of files:

README.TXT   - this file;
MDBC.JPG     - electrical schematic of device;
MDBC1.HEX    - program file for PIC controller; 

1.About schematic.

Minimum elements are used to achieve minimal cost:  

U1:PIC16C84 - the famous single-chip controller by Microchip is 
   the core of this device;

U2:74LS138  - decoder 3-to-8, used to scan keyboard dynamically; 

Q1-4MHz,C2,C3: quartz resonator and capacitors needed for PIC's 
   internal clock generator;

R1,R2: resistors to pull up a specific IC pins to Vcc (which is +5v);

R3: protective resistor;

Diodes: generic Si diodes. One diode per drawbar is enough since there can be
only one closed contact on a single drawbar (i.e. scan matrix point crossing on
single drawbar is not possible);

Drawbars: these are 9-position sliding switches by original. Rotary
switches can also be used.

Connector DB 15 (male) - to connect to soundcard MIDI/Game port.

No need of power supply for this unit since it is powered directly by PC 
Game/MIDI port. Thus a most dangerous element in such devices (a power 
supply unit) is avoided. 

This device is intended for working with PC sound boards only. If you
wish to use it with another MIDI stuff, you should think about power
supply and buffering MIDI signals in standard way as described
in many articles I have seen in Internet.

2.About firmware.

The file MDBC1.HEX included in this archive contains the firmware. 
I have no intention to publish source code. The HEX code is enough to 
build working controller (and parts, ofcource are a must :-). Supported 
are up to 8 drawbars generating MIDI Controls as follows:

Drawbar #:		MIDI control #:
----------		---------------
1 			12 ($0C)
2			13 ($0D)
3			14 ($0E)
4			15 ($0F)
5			16 ($10)
6			17 ($11)
7			18 ($12)
8			20 ($14)

Each drawbar has 9 positions. Each MIDI control cah have value 0..127. 
Here is shown drawbar positions mapping over control values:

Drawbar position #	Control value
------------------	-------------
0			000 ($00)
1			010 ($0A)
2			030 ($1E)
3			045 ($2D)
4			060 ($3C)
5			078 ($4E)
6			099 ($63)
7			114 ($72)
8			127 ($7F)

NOTE: If you need support of another tables, e-mail me for details.

3.Future developement

Standard Drawbar controller should support 3 drawbar sets, each of 9
drawbars. For using the full capabilities of MIDI devices such controller
should generate real continuous control values (0..127). The next version
of this controller will support 3*9 drawbar sets with continuous drawbars
(potentiometer type instead of switch type).


Any question or suggestion will be appreciated.

Sorry for my bad English, this is not my mother's language :-)

j.d.petkov@mailcity.com
www.geocities.com/jdpetkov