MIDI implementation questions


Hans

Recommended Posts

Hi,

 

I have been experimenting with the MIDI implementation on the RetroCade Synth, and I have some questions:

 

CC 86 (SID Volume) is documented to have a range of 0-15, but it seems to be 0-127, is that right?

The SID waveform parameters (2-5) seem to be mutually exclusive.  Would it not be better to have them as one parameter instead?

Are the two "Pulse Width" parameters actually one 14 bit parameter?

 

Any pointers or thoughts would be appreciated.

 

Thanks!

Hans

Link to comment
Share on other sites

Sorry for taking so long to respond to this question, it slipped through the cracks.

 

Hi,

 

I have been experimenting with the MIDI implementation on the RetroCade Synth, and I have some questions:

 

CC 86 (SID Volume) is documented to have a range of 0-15, but it seems to be 0-127, is that right?

Yes, for all the volumes I didn't want to force people into changing the default MIDI slider or knob behavior of having 0-127 values so I do a divide by 8:

 

https://github.com/GadgetFactory/RetroCade_Synth/blob/master/RetroCade_Sketch/RetroCade_Sketch.ino

Line 213

 case 86:      retrocade.sid.setVolume(value/8);      break; 
The SID waveform parameters (2-5) seem to be mutually exclusive.  Would it not be better to have them as one parameter instead?

I read somewhere that people do "tricks" with having multiple parameters active so I figured I better let people do that.

 

Are the two "Pulse Width" parameters actually one 14 bit parameter?

According to SID datasheet PW HI is only 4 bits...

I'm shifting PW LO to the left one, I shifted the CC value for the low to the left since there are only 127 values possible with MIDI CC. Shifting it one digit to the left makes it have a bigger impact since it is affecting the most significant bits.

 

https://github.com/GadgetFactory/RetroCade_Synth/blob/master/RetroCade_Sketch/sid.cpp

line 243

    case 75:      setPWLo(value << 1);      break;    case 76:      setPWHi(value);      break; 
Any pointers or thoughts would be appreciated.

 

Thanks!

Hans

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.