[sdiy] Can I do anything useful with this?

Andre Majorel amajorel at teaser.fr
Tue Dec 18 16:27:16 CET 2001


On 2001-12-18 10:55 -0000, THOMAS, Mervyn wrote:
> Following the recent talk about rifling through skips (dumpsters) and
> getting lucky-
> 
> I just 'found' a 'knob box' - off an old CAD system I think - it comprises 8
> pots , an 8 channel A-D converter, 8045 uC, UART + RS232 (via 8 pin mini
> DIN) interface.
> 
> It's labelled IBM 6094-010 but can find no details on line. The pots just go
> round and round - never come across these before, they're marked Japan Servo
> VP22 but they don't feature on the Japan Servo website.
> 
> So, question is: could this be used as a MIDI controller of some kind (via
> PC I guess) and if so how? bearing in mind I ain't the worlds most competent
> programmer :o)
> 
> Read serial port > write midi data?? Could this data be merged with MIDI
> from (say) a sequencer to control a keyboard??

That could probably be done. Converting an RS232 output to a
MIDI output is not hard. MIDI uses the same NRZ encoding as
RS232C, in its 1-start-bit-8-data bits-no-parity-1-stop-bit
variety. You just need to change the clock so that it runs at
31250 bps instead of 9600/19200/38400. And add a little bit of
circuitry (RS232 is voltage driven, MIDI is a current loop).

Perhaps a good starting point would be to first hook the knob
box to a computer, look at what it sends, and write a C proglet
that

- listens on the RS232 input,

- converts the knob box messages to MIDI messages (control changes ?,
  NRPN ?),

- writes the MIDI messages to the computer's MIDI output.

  for (;;)
  {
    int c = fgetc (serial_fp);
    /* (Parse c and set control_num and control_value) */
    fputc (0xb0 + channel, midi_fp);
    fputc (control_num,    midi_fp);
    fputc (control_value,  midi_fp);
    fflush (midi_fp);
  }

ONCE you got that right, start thinking about how to do it all
inside the box. You're going to have to write a new firmware for
the 8045.

MIDI merging involves more complicated software, you've got to
parse the MIDI messages, think about running status, RT vs.
non-RT messages...

If the knobs are endless, why is there a ADC in the box ?
Endless encoders usually send impulses, you don't need an ADC
for that. Quid ?

-- 
André Majorel <URL:http://www.teaser.fr/~amajorel/>
(Not speaking for my employer, etc.)



More information about the Synth-diy mailing list