The MXC and MXP use a 8051 µcontroller,no eprom,the 8051 has 4kB internal memory..The MC-1 has a Z80,with eprom.
Midi is actually a serial 8 bit protocol with a baudrate of 31.25kb/s.It will send out 2 or 3 bytes.
For us guitar players only 2 things from the protocol are used,program change and control change (and some midi sysex,but that depends on the manufacturer).
Program change uses only 2 bytes,control change uses 3 bytes.
First byte is the status byte,the first nibble (or 4 bits) of the status byte is the event.In case of program change it will be 1100,control change is 1011.The second nibble is the midi channel (0000 =channel 1,1111 = channel 16).
Second and thirt byte are the data bytes.So for program change there is only one,the first bit is always 0,the other 7 bits represent the program number.So for example 00000000 will be program nr 1,altough it's actually 0 most effect will add a 1 to this number so it's actually program change nr one.0111111 will be nr 128.This is why midi only goes to 128,altough you can always do a bank select to go higher but usually this is not supported on older gear.
Control change uses 2 databytes,first byte also starts with a 0 bit ,the other 7 bits are the controller nr.There are 120 control nrs,nr 120 to 127 are reserved as channel mode messages.The last byte starts again with a 0 and the other 7 bits are the value of the controller which goes from 0 to 127.
So if you sent 11000000 00000001 that means a program change on midi channel 1 program 1
11010000 00000011 01111111 means control change mid channel 1 controller nr 3 value 127
Does this make any sense