5

Before I clarify my question, I will explain the project I'm working on, and what I've done so far so there will be a better understanding of what I'm trying to do. I'm trying to modify the UI of a Roland GR-55 guitar synthesizer so that the UI functions better. To get a view of what exactly I'm trying to do, please view this PDF Firmware layout pdf

So far, I've sent the chip to a lab to have the chip decapped, where optical images were taken of the die markings and circuitry layout. From examining the logo and how it was integrated into the layers, I was able to confirm that it was a Renesas custom SoC. After examining schematics from other products that use the same chip, I was able to find out that the chip's debugger is a Renesas e10a-usb emulator/debugger, which means that the chip belongs to the Super H family. After purchasing the emulator which came with files of all the Super H MCU's schematics, I spent months analyzing the pinouts of all the MCU's until I had a list of the ones that matched my device. From there I was able to identify that the MCU was a Renesas SH2A_custom_SoC1, and successfully connect the emulator to the GR-55 unit. So currently I've been examining the assembly code within Renesas's IDE High performance embedded workshop or (HEW) and you can probably imagine where I'm going with this question.

So from a professional point of view what would be some routes I could take to get this job completed with the desired results, and what variations of time, cost, and resources could those routes have. Here are some of the routes I took into consideration.

Learn assembly language and learn how to modify the code myself. I estimate this could take me around a year or more.

Hire a Reverse Engineering (RE) service. What would be involved with hiring a RE service? Would it even be likely for a company to take a job like this? If they did, what might be a cost and time frame? I understand that it all varies, and one might have to analyze the code themselves to give me an estimate, but I don't know much about RE and I'm trying to prevent myself from being scammed or disappointed with results.

Another option I considered is hiring an engineer to write new firmware from scratch that functions the same way as the current firmware, but has my desired variations. I've contacted many software engineering freelancers and they told me that this would be the only way they would help because modifying the existing firmware would be more difficult than writing one from scratch. I found this hard to believe because the GR-55 does some complex tasks which I wouldn't think could be easily replicated. But could this be a route I could take?

I understand why someone would think a project like this would be a waste of time and effort, but the reasons I have for doing this are specific to me. As a musician, I've owned this device for 10 years and will probably own and use it for the rest of my life, just like I'll own and use my guitar for the rest of my life. I've owned every other device and software that offers similar features and they all suck including the GR-55. I have friends who use this device too, so it wouldn't be just for myself. I've also made it a goal to learn assembly language and C because it's interesting and I believe it's a good skill to learn, so regardless of whether or not this project fails, I will be continuing to learn about RE.

8
  • 1
    I'm very impressed by your dedication, honestly. If you loved the device except for its user interface, I could relate to your motivations. However, if you say the GR-55 sucks, have you considered just pouring these resources into the creation of your own device instead? I.e., what makes you want to use the GR-55 as a basis for this project, given that you said in the last paragraph that it sucks? Jul 15 at 2:34
  • 1
    Like I said I have considered hiring engineers and trying to create a new project from scratch, but one of the GR-55's main features is a technology called COSM modeling. By clicking a button it can make my guitar emulate other stringed instruments like a banjo or an Indian sitar for example. Roland and Yamaha are the only companies that have this tech, and have been working on the algorithms for this code since the early 90s which is why I would assume it would be hard to replicate. Jul 15 at 4:18
  • 1
    If I can find a software engineer who tells me he can create software that works as good or better at modeling other stringed instruments then I will go down that road. I do love the GR-55 but it also sucks. Jul 15 at 4:23
  • 1
    Yes the modified firmware will remove some of the suckiness. To understand what would make the GR-55 operate better would be someone who uses the device regularly. To give you a better idea I'm going to insert the electronics of the GR-55 into the body of a guitar, so instead of kneeling on the floor and programing a computer I can sit on the couch and play the instrument. Jul 17 at 22:56
  • 1
    There are many other problems with this device that I plan on addressing later down the road, but I figured this would be a good start. If your interested I highly recommend visiting vguitar.com. It's an entire form dedicated to this device which goes over it problems in detail. Jul 17 at 22:58
2

Just an idea. If you run a GoFundMe crowdfunding campaign, you can get funding from other musicians interested in seeing this happen, and with the money, pay a few professional developers to work different angles on this. By virtue of your strong opinions that everything "sucks", why don't you be the amazing you that is deep inside you, and build the "amazing" or at least "pretty good" thing that everyone wants. That's how some pretty spectacular guitars, instruments, etc. have come about -- spelunk the history of some of them and encourage yourself.

My gut feel is to modify the code that's there (though it will take significant time), because the algorithms are probably custom, and no developer is going to come up with the same code, no matter how they try. (And I'm a Sr. Software Developer of 20 years, so I know that that I know that I'm right about this). That being said, if you raise enough money, diversify your portfolio of possible solutions, and throw some money at a different team doing it from scratch. There will hopefully be some cross-pollenization of some of the ideas of both how it should be done, and how the artists developed your beloved (but sucky) GR-55 wrote their code. You don't know who will come up with the best solution, and both solutions may have their pros and their cons, or yield different styles of performance. Best of luck to you. And I have half a mind to jump on board because I'm coindidentally trying to learn firmware development. (Just have to provide for my family first -- you know what I mean.)

1
  • 1
    Crowdfunding is a good idea, however I have some money saved for this project already and don't know if I can find enough people interested, and how long that might take. From what your saying it seems modifying the code is the best option, but the problem I'm having is finding a RE service and what's involved cost, time, and resource wise. Jul 17 at 22:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.