Firmwares
& config softwares
The main piece of code, the brain of the interface. Each firmware (*.hex) have his own MIDI config PC software (*.exe). Burn the Hex file into a PIC and use the config software to setup parameters.
Click here to know all about the last MCV876 firmware versions bug fixes and new features !
Archive file |
firmware v2.72 PIC16F876 |
firmware v3.06 PIC16F876
![](../images/updateblink.gif)
|
firmware v3.06 PIC18F2320
![](../images/updateblink.gif) |
Chan |
1 |
1,2 or 4 independants |
1,2 or 4 independants |
Mono |
Yes |
1 ,2 or 4 independant voices |
1 ,2 or 4 independant voices |
Poly |
2 or 4 voices - 1 channel |
no |
2 or 4 voices -1 channel |
Scale |
1V/Oct or 48 notes table |
1V/Oct |
1V/Oct |
Mode CC |
yes |
yes, multichannel |
yes, multichannel |
CPUspd |
20 MHz |
20 MHz |
40 MHz |
Buffer |
no, |
96 bytes |
256 bytes |
MIDI Loop |
'on the fly' |
fast ITs |
fast ITs |
Remote Control |
no |
Yes |
Yes |
PC config software |
|
|
|
The
Led
It is
a multi purpose led! At the first power on the led blink 3 times short + 2 long .
It means "All is ok" ," no config found in Flash memory" and "config by default is loaded instead". It is an easy first boot feature. When config parameters
are already set into the Flash RAM, the led blink just 3 time
at power on. Then the led will monitor all incoming recognised
MIDI status bytes.The led also blink 3 long times if
the interface receive the "Write To Flash" sysex message. When this message is received, all MCV876 parameters are writen into the flash RAM. So the MCV876 can
recall setup even after a long power off ... When
the interface is in MIDI Learn mode, the led stay on,
until a MIDI message has been received and learned by the interface.
The firmware V3.03 allow to exit the learn mode by pressing again the learn button .
"MIDI
learn" switch
The
most simple way to setup the interface MIDI channel and reference
note /controler number
Here
is how it works:
When
you push the MIDI Learn switch , the led stay on and the MCV876
is in Learn Mode waiting to receive a MIDI message containing
MIDI channel information. When a message arrive ( you play
a note on the master keyboard for example) , the MIdI channel
is extracted , compared to the actual interface MIDI channel
and set to this new value if different. If the MIDI channel
of the message is identical to the interface one, and if the
message received is a MIDI note ON message, the interface
extract the MIDI number of the note played and set this value
as the reference ( base) note. This allow to transpose the
MCV876 to any note on the keyboard. The reference note is
the Lowest note the interface can play ( digital zero).
If
the interface receive a MIDI controler message in "Learn
Mode" instead of a Note message , the controler number
is assigned to CV3 ( DAC2) output and writen to Flash RAM...
PlayMode
The firmware v2.71 PIC16F876 is mono-channel = all messages are received on an unique channel .The interface "Play-mode" define the CV/Gate 1 to
4 output setup and associated MIDI messages.
Mono |
- CV1+
Gate1 assigned to NoteOn/Off messages
- CV2
, CV3,CV4 are assignable to controllers, velocity or
PitchBend..
|
Poly2 |
- CV1
+Gate1 and CV2+Gate2 are assigned to NoteOn/Off messages
- CV3
and CV4 are assignable to controllers, velocity or PitchBend..
|
Poly4 |
- CV1
to CV4 and Gate1 to 4 are assigned to NoteOn/Off message
|
Controler |
- CV1
to CV4 are assignable to Controllers, Velocity or PitchBend
- Gate1
to Gate4 are assignable to Controllers or 4 fixed Notes
( one for each gate..
|
The firmware v3.03 PIC16F876 is Multi-channel.
The firmware v3.04 PIC18F2320 is Multi-channel and Polyphonic
Depend of the Play-mode 1 to 4 channels are available
Mono |
- CV1-Gate1 assigned to NoteOn/Off messages
- CV2, CV3,CV4 are assignable to controllers, velocity or
PitchBend..
- Gates 2,3,4 are assignable to controllers.
- One channel recognition
|
Multi2 |
- CV1/Gate1 and CV2/Gate2 are on channel N - CV1 assignable to MIDI notes
- CV3/Gate3
and CV/Gate4 are on channel N+1 - CV4 assignable to MIDI notes
|
Multi4 |
- CV1
to CV4 and Gate1 to 4 are respecxtively on channels N to N+4
- CVs or gates can be assigned to MIDI notes or controllers independantly.
|
Poly2 |
- CV1
+Gate1 and CV2+Gate2 are assigned to NoteOn/Off messages
- CV3
and CV4 are assignable to controllers, velocity or PitchBend..
PIC18F2320 only
|
Poly4 |
- CV1
to CV4 and Gate1 to 4 are assigned to NoteOn/Off message
PIC18F2320 only
|
Gate
outputs 5 & 6 are independant of the "Play"
mode :
Gate5 is the MIDI Start/Stop output ( assignable
to Controller, velocity with the firmware v2.72 only )
Gate6 is the MIDI Clock ouptut ( assignable
to Controller, velocity with the firmware v2.72 only )
![](mb_mcv876_3s.jpg)
MIDI Clock & Sequencer Start/Stop
The MCV876
receive real time MIDI clock messages (0xF8) and Sequencer
Sart/Stop/Continue messages . MIDI clock and Start/Stop
are assigned to Gate outputs 5 and 6. The MCV876 also include a MIDI clock divider
with a divide range comprised between 1 and 255. Pulses length
are tunable for compatibility
with most of analog drumboxes, sequencers ...
Pitch
Bend
The
Pitch bend is implemented :
Independantly
assignable by software and sysex message to CV2,CV3 or
CV4
Pitch
bend is centered on digital data value 0x2000 = +5V ( half
scale in 0..10V mode ).
If
Pitch Bend is assigned to a CV output , this DAC do not receive
MIDI controlers anymore
Pitch
bend and Velocity can be combined freely one CV output
Pitch
Bend DAC range is 0..10V by default.
How to use it
? To use CV output
assigned to Pitch Bend with a 1VOct source , both signals should
be mixed in analog domain with a gain of 1 for the 1V/Oct source
and attenuation ratio of 1/10 or 1/20 for the Pitch Bend output
The mixer stage can be an external module or a VCO summing stage
...It is also possible to "hard wire" the pitch bend
on the MCV876 pcb by adding just one resistor. Here is the
tip for the 3CV schematic, transposable to
the 4CV version... It use J3 input and R5 as a summing resistor
with OUT0 (J1) . Keep 100K for this value and scale the pitch
bend range by changing R13 : 1M is generaly ok . 2M will divide the range by two...Another solution is to select resitors with a (rotative) swich to choose the
range ...
Controller
or Note messages to Trigg/Gate
Gate outputs (1 to 4) are assignable independantly to any
controlers numbers or to a fixed MIDI note number when
the MCV876 is set in "Controller mode" . This allow
to trigg analog drumsynth modules with up to 10 control
sources ( 4CV+ 6Gates...)
Note for firmware v2.72 only : the parameter "level"
associated to gate1-4 output is a threshold value : if the
controller value received is under this value the gate/trigger
is not fired. Same thing if the Gate output is assigned
to a fixed Note number, the "Level " become a
Velocity threshold ...
Exclusive
System
All
MCV876 parameters are editable by MIDI exclusive system
messages. They can be send by the PC config software
or written/recorded into patterns
on your favorite sequencer/midi editor sofware ( Mac User's...) . Sysex messages are also used by the MCV876 MIDI Remote Control Unit .
Here are 'formulas' and codes charts to write them by yourself ...
MCV876 MIDI
system exclusive - firmware v2.7x (txt)
MCV876
MIDI system exclusive - firmware v3.0x (txt)
Remote Control Unit
To edit MCV876's parameters independantly of the PC software, or to avoid to send sysex codes +/-manualy,
here is
the MCV876-RC remote control Unit
![](mcv-rc_edit1s.gif)
|