----- Midi Merger document ----- The used components (besides the passive stuff): =>CNY17/II: Optocoupler. I used the CNY17 type optos, but feel free to plug in whatever is available in your stock (it only should be fast enough). But don't forget to adjust the pull-up resistor. =>80C31: Microcontroler. Runs at 12 MHz. Its serial port is used for the MIDI-IN 1. Remark: Due to the immense demands of the merging routine to CPU-recourses, the main programm is limited to a few amount of CPU-ticks. The 80C31-16 bears 18 MHz at which the serial clock can be derivated, too. =>COM81C17: This is a cheap, handy UART from SMC (about $4.00). Try to get one directly from the local distributor, if not available at your electronic shop should be no problem. But there is no need to use exactly this IC (except you don't want to rewrite the serial port handler of the software). The COM81C17 has some features that predistine it for this project. It's capable for bitrates up to 100.000 bps (for MIDI you meed a minimum bitrate of 31250 bps) and it has two general purpose inputs, which I use for the tree input keys. =>93C46: serial EEPROM. Into this simple-to-use EEPROM eight files of run-time parameters (as keyboard splitpoint, transpose, channel) are stored even there is no power supply. Actually this item is not neccessary but it's convenient for use. =>LM21A20: LC-Display. This is a cheap ($18, don't pay more) liquid cristal display with integrated controler. In 4-bit mode it occupies only 7 I/O-lines of the 80C31. This device is not neccassary, too, but the system will not boot, if no display is connected to it. I'm working on a simple version of the software, which does not need a LCD nor a EEPROM nor input keys. Hold on for it. The device may be powered simply by a battery. It's power consuption will not exceed 50mA! The code is ready to burn into an EPROM. I decided to make IntelHEX (which most eprom programmer can handle) format, because the assembler source code is about 100kB (!) large. I'm an extensive comment writer. But I'm willing to hand over the source, too, if it will not be used for commercial purposes. Description of the software: After booting (my signature will slide in) the device displays the MIDI-VU-meter screen. Each channel is displayed in a different line. A note is displayed for an active channel (Active Sensing) and a clock symbol for a rythm MIDI device. When you play some notes on your connected keyboard it will be displayed as a bar in the line of the arbitrary channel. Pressing the S1-Key once will bring you to the setup-screen. That is a menu where you can enter runtime parameter like: *Splitpoint for each channel *Channel assignment (for each part of each keyboard) *Transpose (for each part of each keyboard *Controller assignment (to upper or lower part of each keyboard) *System Exclusive handling (ignore System Sxclusive or not) *Active Sensing interval (off or 100 to 600 ms) *Load options (from one file in the EEPROM) *Save options (to one file in the EEPROM) *Reset expander (sends a Reset command) The keyassignment is displayed at the right end of the LCD. To return to the MIDI-VU-meter press the S1-key once again. On any questions or comments, please feel free to contact me. I'm also open for suggestion about new features. Bye... Tom e-mail : thasiba@sime.com (c) copyright 1996 by: Thomas Hasiba