ADA Depot Too - A Forum To Support Users of ADA Amplification Gear

Please login or register.

Login with username, password and session length
Advanced search  

News:

Board added for "Routing & Patching" in Lets Get Technical

Pages: 1 ... 3 4 [5] 6 7 ... 13   Go Down

Author Topic: ADA MP-1 Digital Modification  (Read 54489 times)

0 Members and 1 Guest are viewing this topic.

rnolan

  • Administrator
  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 4998
Re: ADA MP-1 Digital Modification
« Reply #60 on: Time Format »

Maybe this will help with the 2 - complement (http://pages.cpsc.ucalgary.ca/~jacob/Courses/Fall00/CPSC231/Slides/04-BitsAndArithmetic.pdf)

Reading the MP1 manual page:
So seems humber format means sending MSBs first for values that take multiple bytes so both ends know how to treat the bytes as they are received.  From my reading of it, the first byte (byte 1) is special. So in this first byte, MSB (bit 7) is sign ? here 0 which = +ve.  Bit 6 represents 0 or 7 (0 = 0), (1 = 7) with LSBs being the multiplier of bit 6 which defines how many additional bytes make up the value so for the >= 21 bit value we need 3 bytes for the value, so control byte is |0|1|0|0|0|0|1|1| so 6th bit =1 which is 7base10, bit 0 and bit 1 are 1 = 3base10, so 7 x 3 = 21 bits, or 3 bytes coming with MSBs first.
Maybe this is all humber format??
                                                                                                                                                                               bit 7  6  5  4 3  2 1 0
( if it's only one byte then they ditch the 2 MSB just to leave 6 bits??) so this is the first example in the MP1 manual |0 |0 |  |  |  |  |  |  | so +ve value, bit 6 (start at 0) is 0 which means not 7 (the only other choice) so this is a 1 byte value, no extra byte coming and value is in bits 0 to 5.

So this is a format/scheme to slice and dice a serial bit stream (which is what is going over the wires (midi cable)). The things at either end need to know how to interpet the stream (chop it up into meaningful chunks (slice and dice I call it LoL). So this scheme uses multiples of 7 to specify how many bytes following it make up the value, after which it would expect another control byte to define how many bytes make up the next value.  There are no doubt other bytes of info in the stream, like comms stuff (REC, AK whatever to make the connection work, it will have its own scheme/protocol). The part we are getting into here is the data stream portion.
« Last Edit: Time Format by rnolan »
Logged
Studio Rig: MP2/MB1 > Eurorack UB2442FX-Pro > TC M-One XL > Behringer Truths (with Truth Sub) / QUAD ESL 63s
Live Rig: MP2/MB1 > Alesis Quadverb > Alesis Midiverb 4 > Yamaha AM802 > B200s/Carvin TS100/DCM200L > ADA Split Stacks/Mesa P112s

Griphook

  • Full Member
  • ***
  • Offline Offline
  • Posts: 214
  • Less is more? More is more!
Re: ADA MP-1 Digital Modification
« Reply #61 on: Time Format »

I tripped over something that explained Humber, but I didn't read it and now I can't seem to locate it again.

So if the MSB is the sign (which makes sense (and maybe that's what humber is about)) then wouldn't it get set for the -ve eq values or do they just represented by by a number range eg 0 through 20 and 10 = 0 (flat) >10 = -ve values and > 10 = +ve ??

According to the MP1-Manual, I created a bunch of tables, containing die Display-Value, MIDI-Value and corresponding HEX-Values.
See Attachment :)


Reading the MP1 manual page:
So seems humber format means sending MSBs first for values that take multiple bytes so both ends know how to treat the bytes as they are received.  From my reading of it, the first byte (byte 1) is special. So in this first byte, MSB (bit 7) is sign ? here 0 which = +ve.  Bit 6 represents 0 or 7 (0 = 0), (1 = 7) with LSBs being the multiplier of bit 6 which defines how many additional bytes make up the value so for the >= 21 bit value we need 3 bytes for the value, so control byte is |0|1|0|0|0|0|1|1| so 6th bit =1 which is 7base10, bit 0 and bit 1 are 1 = 3base10, so 7 x 3 = 21 bits, or 3 bytes coming with MSBs first.
Maybe this is all humber format??
This Does make Sense, BUT the "Control Bytes" do not appear in the SysEx Dump :dunno:
So we still don't know which data is taken to calculate the checksum :/

If I understand it correctly, the 2'complement is:
- Invert the Binary Number (0s will be 1s and otherwise around)
- Add 1

Imo, The binary Number(which will be inverted) consists of the sum of all the data (we don't know which bytes that are).
And the sum of the Checksum and "Data-Sum" will be 0 (discarding the overflow).

If so, when building the 2'complement of the Checksum, we should get our "Data-Sum", right? With this, we should be able to find out, which data is used to calculate the "Data-Sum" and Therefore the Checksum.

please correct me, if Im wrong ???
« Last Edit: Time Format by Griphook »
Logged

rnolan

  • Administrator
  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 4998
Re: ADA MP-1 Digital Modification
« Reply #62 on: Time Format »

Hey GH, that sounds right to me re 2 comp and makes sense.  To calculate the check sum I think you just use (add) the data values, so the first 5 LSBs and ignore the rest. Then as you say flip the bits, so when checked, the checker add the data values, adds that number to your check sum and it should = 0 or is corrupt data values.
The program editor probably sets the control bit based on your input value ?? so it doesn't display it, my guess..
Logged
Studio Rig: MP2/MB1 > Eurorack UB2442FX-Pro > TC M-One XL > Behringer Truths (with Truth Sub) / QUAD ESL 63s
Live Rig: MP2/MB1 > Alesis Quadverb > Alesis Midiverb 4 > Yamaha AM802 > B200s/Carvin TS100/DCM200L > ADA Split Stacks/Mesa P112s

Griphook

  • Full Member
  • ***
  • Offline Offline
  • Posts: 214
  • Less is more? More is more!
Re: ADA MP-1 Digital Modification
« Reply #63 on: Time Format »

But what exactly Are the Data values? Only the Parameter Values?

EDIT: So the Control Bytes would just be an non-displayed Overhead, like a header from a TCP-Frame  :banana:
« Last Edit: Time Format by Griphook »
Logged

MarshallJMP

  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 3942
    • marshalljmpmodshop.net
Re: ADA MP-1 Digital Modification
« Reply #64 on: Time Format »

Ok figured it out how to calculate the checksum.You need to take all the data except the F0 (BOX) ,F7 (EOX) and the checksum.
Then I used this tool to calculate the checksum   http://easyonlineconverter.com/converters/checksum_converter.html

Problem with this checksum calculator is that it's an 8 bit and ADA only uses 7 bits so if the hex value is 80 or higher you need to subtract 80 hex and that is the checksum.

So for the midi in (software) and out I'm using bome send SX https://www.bome.com/products/sendsx
And for midi in, out (hardware) I'm using a M-audio midisport 2x2 (on a win7 64b system)

Did some experimenting with it and it works like a charm on an mp-1.Now what I found out is that the memory protect on the mp-1 has to be set to "off" (store  bank+8). The midi channel has to be set at the same nr as you send out,so setting the midi channel to "ALL" doesn't work. (nothing happends).When you send the hex to the mp-1 the display will blink "loading".Now if the checksum is wrong it will also blink "loading" but it looks a bit different and no changes are made.

The hex for downloading the current preset is; midi channel 1 so you send this;

F0 0D 00 08 01 7F 6B F7

And the MP-1 will send the hex code of the current preset.
« Last Edit: Time Format by MarshallJMP »
Logged

MarshallJMP

  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 3942
    • marshalljmpmodshop.net
Re: ADA MP-1 Digital Modification
« Reply #65 on: Time Format »

Next is the classic,1 preset dump is 20 bytes (MP-1 is 19 bytes)

To do a preset dump you have to send this hex to the classic
F0 0D 00 0E 06 7F 60 F7 and it should return the current preset.(set midi channel to 1)
It seems that the ID nr of the classic is 06
This is what a preset dump looks like;
byte 1 ==> F0 (sysex start)
byte 2 ==> 0D (ADA ID)
byte 3 ==> midi channel
byte 4 ==> 0F send parameter command
byte 5 ==> 06 (classic ID)
byte 6 ==> 7F (all parameters)
byte 7 ==> effectloop 00=off 01 =on
byte 8 ==>Voicing
byte 9 ==>OD1
byte 10 ==>OD2
byte 11 ==>Master
byte 12 ==>Bass
byte 13 ==>Mid
byte 14 ==>Treble
byte 15 ==>Pres
byte 16 ==>Noise gate
byte 17 ==>Chorus Depth
byte 18 ==>Chorus Rate
byte 19 ==>Checksum
byte 20 ==>F7 (EOX)

I also tried the MQ-1 but I got no response from it.

Then there is the MP-2, these preset dumps are insane, it depends on the name that is entered but it's between 219 and 221 bytes long. Not easy to figure out.
Anyway to get a preset dump send this hex (midi ch 1)
F0 0D 00 08 03 7F 69 F7
Logged

Griphook

  • Full Member
  • ***
  • Offline Offline
  • Posts: 214
  • Less is more? More is more!
Re: ADA MP-1 Digital Modification
« Reply #66 on: Time Format »

 :bow: :whoohoo!:

MJMP, You Are defintely some Kind of god  :thumb-up:
Maybe i am able to Code the calculator and Customize it for ADAs 7Bit
Logged

MarshallJMP

  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 3942
    • marshalljmpmodshop.net
Re: ADA MP-1 Digital Modification
« Reply #67 on: Time Format »

nah, just got lucky.It would be great if you could do that !
Logged

Griphook

  • Full Member
  • ***
  • Offline Offline
  • Posts: 214
  • Less is more? More is more!
Re: ADA MP-1 Digital Modification
« Reply #68 on: Time Format »

Got it! My first algorithms were right... but just for a 8 bit checksum. I just didnt keep in mind, that ADA has only 7 bits :/ To get the 7bit-checksum, One needs to do a bitwise "AND"- Operation wit 0x7F. This will crop the result to 7 bits. 0xFF will be 8 bits and so on.

So in general, it should be as follows to calculate the 7bit-checksum:
- Sum up all data between F0 (BOX) and last 2 bits XX(Checksum) and 7F (EOX)
- Build the 2's complement(Checksum). Either
Code: [Select]
checksum = (~Data_sum)+1 or
Code: [Select]
checksum = -Data_sum- Crop the checksum with 0x7F:
Code: [Select]
checksum & 0x7F

What will we do next?  ;D
Logged

MarshallJMP

  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 3942
    • marshalljmpmodshop.net
Re: ADA MP-1 Digital Modification
« Reply #69 on: Time Format »

Correct an "AND 7F" will always make the 8th bit zero and leaves the rest unchanged. Very good!

So I'm going to do a write up of the parameters of the classic (midi value and hex code) and I'll try out the MB-1.So let's see how this one responds to midi.

So if we have the checksum calculation and all the parameters someone could write a pc program? Now this is not my cup of tea so any volunteers??
Logged

Griphook

  • Full Member
  • ***
  • Offline Offline
  • Posts: 214
  • Less is more? More is more!
Re: ADA MP-1 Digital Modification
« Reply #70 on: Time Format »

I will try it on the weekend. Unfortunately I can't implement any "custom" graphics. So there will be just Buttons and Sliders.
I think, I'll start with simple creating of .syx files for one preset at a time.
Since we got the most information about the MP-1 and i also got one to test, ill stick with this :)

But maybe there is a more experienced Programmer out here?

« Last Edit: Time Format by Griphook »
Logged

MarshallJMP

  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 3942
    • marshalljmpmodshop.net
Re: ADA MP-1 Digital Modification
« Reply #71 on: Time Format »

No programmers here ????

Anyway I also figured out the MB-1 except for a few bytes. The MB-1 puts out 53 bytes for one preset. I'll do a write up in the weekend.
Logged

Griphook

  • Full Member
  • ***
  • Offline Offline
  • Posts: 214
  • Less is more? More is more!
Re: ADA MP-1 Digital Modification
« Reply #72 on: Time Format »

Hey MJMP,

can you also figure out the min and max Hex Value of the Chorus Depth/Rate? That would be awesome :)

I think I can deliver "something" by tomorrow evening. I got the pure GUI, but I do have to code it in C#. Thats something new for me to learn, but I'm sure, I'll get this :)
Logged

MarshallJMP

  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 3942
    • marshalljmpmodshop.net
Re: ADA MP-1 Digital Modification
« Reply #73 on: Time Format »

Well depth goes from 0 to 100 so that 00h to 64h
Rate from 0 to 10 in 0.1 increments so that's also 00h to 64h

I also asked out bass player to help out, so I gave him some info and he would take a look at it.

The MP-2 is going to be a lot of work to figure out.So any help is welcome here (yes you MP-2 users  :lol: )

Also the only downside is that if you send a preset back it won't store it, you still have to do that manually.
« Last Edit: Time Format by MarshallJMP »
Logged

rnolan

  • Administrator
  • Superhero Member
  • ******
  • Offline Offline
  • Posts: 4998
Re: ADA MP-1 Digital Modification
« Reply #74 on: Time Format »

So I assume there is a "store" command ?  I spose then you have to tell it where to store it ??
Logged
Studio Rig: MP2/MB1 > Eurorack UB2442FX-Pro > TC M-One XL > Behringer Truths (with Truth Sub) / QUAD ESL 63s
Live Rig: MP2/MB1 > Alesis Quadverb > Alesis Midiverb 4 > Yamaha AM802 > B200s/Carvin TS100/DCM200L > ADA Split Stacks/Mesa P112s
Pages: 1 ... 3 4 [5] 6 7 ... 13   Go Up