Firmware modification for MIDI Controller

Thread Starter

C0ma

Joined Nov 12, 2009
2
Hi,

SHORT STORY =
I own this MIDI Foot Controller:
http://www.behringer.de/EN/Products/FCB1010.aspx

I coulnd't find full schematics for the controller, but I might make it with eagle. Besided that, which is obious, what else might it takes to make a custom firmware for it? It uses a 27C512 or 27C256 EPROM memory.

I have PC programming knowledge (php, C++) , and I did some simple electronics, thou I've never combined the two as much as this.
I just need some guidelines to get a picture of how hard would it be to write the firmware, so I know if I want to dive in or settle for one alternative.
LONG STORY = SHORT STORY +
I use it to change effects on my another MIDI device. It is capable of transmiting and receiving MIDI. But I have a problems with the LED indicators, which operates only when changes are done in the controller itself. In other words, I can't get it to show current information from the device being controlled by it.
For instance, if I turn off an effect on my amp simulator, it sends a MIDI message for this event, but there's no way I can program the Foot Controller to show this change with the current firmware.

There is a guy who changed the firmware and released to public.
http://www.ossandust.be/index.php
It changes LED behaviour and a lot of other stuff but it still doesn't do what I need.

The same guy sells a product which comes with a firmware that makes what I need but the price is prohibiting considering shipment and all.
http://www.gordius.be/

I wrote him asking to please give or sell me that custom firmware but he gently replied he couldn't do that for commercial reasons.
So, I need to acquire a small fortune to get one or maybe I might try to code one myself?
Thank you in advance.
Really sorry if I wrote this much and missed any important information, please do ask!
 

Papabravo

Joined Feb 24, 2006
21,228
Do you have any understanding of how the data in EPROM is put together and used? Is the operating code for some microprocessor which you have not yet revealed.

I'm gonna go out on a limb and say you have no chance whatsoever without some further clues as to what we are dealing with.

My educated guess is that it is an 8 bit big endian processor based on what looks like a 3 byte jump instruction to location 0x0040 at location 0x0000.

The instruction is "0x02 0x00 0x40"
 
Last edited:

GetDeviceInfo

Joined Jun 7, 2009
2,196
it will depend on if your code runs as an app within some operating system, or you do the whole shebang. If you can extra some identifiers from the rom, you may find that a reduced operating system is available from a commercial supplier.
 

Papabravo

Joined Feb 24, 2006
21,228
Unfortuneately there is no ASCII text within the binary file that I dumped from the website mentioned by the OP. I think we are outta luck on identifiers. So what processor has 0x02 as a JUMP opcode?

Answer: It is an 8051, and the opcode is an LJMP
So it would take me a while but to disassemble 16K of 8051 code and give you the source, but it could be done. Oh---you want comments, I guess those would be extra dinero.

Once the firmware is cracked, I could probably make a schematic as well.

The presence of an OS in 16K of 8051 code is most unlikely.
 
Last edited:

Thread Starter

C0ma

Joined Nov 12, 2009
2
Ok, the microcontroller is a Philips P80C32SBAA
http://octopart.com/info/Philips/P80C32SBAA

I have basic understanding of programming and compiling code to a PIC. I'm currently building a Midibox (http://midibox.org/) and there's some compiling /uploading involved. So I understand and use the (mere) basic principles.

Papabravo, English is not my native language, so I can't quite understand what you mean with that part where you can say you can disassemble it, then take it back, then mention money. I suspect there was a little irony there but couldn't get it. I'm sorry. Can you rephrase?

I opened the pedalboard when I got home and saw it's more complex than I thought. I could get the name of the microcontroller and might take a few pictures if that would be useful.

Thanks for your time reading this.
 

Papabravo

Joined Feb 24, 2006
21,228
The Philips part number is just a ROMLESS version of the plain vanila 8051; a part with which I've developed an intimate familiarity over the last 30 years since it first came out.

The process of converting assembly language source code into instuctions that may be put into an EPROM chip is called "assembling". The inverse process of taking a sting of hexadecimal numbers and recreating the assembly language source code is called disassembly. It is an arduous, difficult, and time consuming process. I have done it several times for my own purposes. It is not something I would do for free. Automated tools can help in some cases, but get confused when instructions and constant data are mixed together. It is also necessary to understand the program in order to give meaningful names to functions, routines and data items. Adding useful comments to the source code is also not something an automated software tool can do. It is equal parts art and skill. Once the source code is created it will be possible to create a schematic and you will have everything you need to improve the design and implement the features that you want.

I assume that if you really want to do this, your willingness to pay someone to help you would be a measure of that willingness. If you have no willingness to pay someone to help you then I'm afraid it is unlikely that the project will move forward at any appreciable rate.
 
Last edited:
Top