Announcement

Collapse
No announcement yet.

Yamaha Electric Piano CLP550 no keyboard output

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Re: Yamaha Electric Piano CLP550 no keyboard output

    I'm glad to know this thread I kicked off is helping people get their old Yamaha pianos back into service. I personally have moved on, having donated the piano to a group of synth enthusiasts who are able to use the MIDI output to drive their experiments. But very pleased to know it appears the code is finally being recovered for those three ROM chips.

    Comment


      Re: Yamaha Electric Piano CLP550 no keyboard output

      dkneyle, welcome back to your own topic! :-)))

      PMD, thanks for your contribution.
      There are two modes I can test my CLP-550 in:
      - One is a normal operation,
      - Another one is when you put the device in a test mode (A-1 + C7 + PowerOn, refer to the last two pages of the Service Manual), and then, according to SM, you can output the continuous tone, by pressing C0 or D0 or E0 keys (F0 stops the tone).
      In my case, I prefer the latter, as it gives me a consistent behavior.
      I think, the DAC chip IC13 is not working properly, as I can see all correct supplies (+12V, -12V) and input signals (CLK=3.2 MHz, Frame signal (aka Latch Enable or LE, and input serial data SDATA coming in), but there is no analogue output on the VOUT pin of the DAC. So, I have ordered the replacement, and will in a meantime continue the investigation, as I suspect that this DAC is not the only problem in my case.

      As for the signals SH0, SH1, SH2, SH3 that you have requested: They are all present in my piano, all the time, even when there is no serial data transmitted to the DAC. I will try to draw them below using ASCII art :-)))

      The waveforms below are digital signals, negative-going pulses, in the following order (from top to bottom): SH0, SH2, SH1, SH3:

      '''U'''''''''''''''''''''U''''''''''''''''''''' ... - SH0
      '''''''''U'''''''''''''''''''''U''''''''''''''' ... - SH2
      '''''''''''''''U'''''''''''''''''''''U''''''''' ... - SH1
      '''''''''''''''''''''U'''''''''''''''''''''U''' ... - SH3

      Looking at the schematics, those are just the MUX IC15/IC16 control signals, telling which stereo channel (Left or Right) the analogue DAC output should go to.

      I have also noted one possible discrepancy: in your picture (attached to the post #88) you show the EPROMS labelled (from left to right) A, B and C.
      However, throughout the course of this thread, I think the EEPROM name A corresponds to GEW ROM1 (IC8, XE843A00), EEPROM name B corresponds to GEW ROM2 (IC9, XE844A00) and the EEPROM name C corresponds to GEW ROM3 (IC10, XE845A00).
      If I am right just above, then you have ROMs A and C swapped around, as the ICs order on the board (as shown in your picture) are (from left to right) IC10, IC9, IC8, so they should be C,B,A.
      Could that be the reason why using the correctly programmed GEW ROMs didn't work in your case?
      Just a thought.

      Comment


        Re: Yamaha Electric Piano CLP550 no keyboard output

        DS,
        Thanks for your response. dont get wrong about the chip names A, B, C. i continue the previous peoples dump naming convention as i remember. but to avoid people get messed with, i have carefully name the attached files with chip name. IC number, ect. when refer the files, there wouldn't be any doubt as name correctly says what was the chip that file meant for.

        i know you were going through the very systematic approach to fault finding. i went through same, and some other too before and we all replaced the DAC without any improvement and wasted time, money and effort. finally everything went working, once ROMs are replaced. but me too loved to follow the way my gut feel guided and what observations suggested.

        as per your timing diagram for SH0,1,2,3 now i know my suspicion was correct as one output from IC12 not coming out and some information's of the stereo signal is not properly adding into output audio envelope. that must be the case for distorted sound output of my piano, except that rest of the systems working fine after ROM replacement.

        could you be able to tell me few more things about the SH0,1,2,3 pulses when next round you looked at. i sure that some sort of continuous serial clock pulse coming to IC12 continually via pin SYW or 0G or SO0 or SO1 even key pressed or not as you mentioned. as IC12 not available, im thinking to make program one small micro controller to do the pulse out function of SH0,1,2,3. if you can give me some timing details as attached diagram, i can make mine working back with add-on module. it will emit the missing pulse in-sync with others 3 outputs.
        Attached Files

        Comment


          Re: Yamaha Electric Piano CLP550 no keyboard output

          Hi, PMD.

          I can do that, no problems, but if you are missing only one of the four signals SH0 to SH3 (btw, which one is that you are missing? Is it stuck low or high?), and three other signals are OK, you can easily figure out the missing channel timing. Here's how:

          Basically, there is one error in your hand sketch of the waveforms: The time gap between the pulse on SH3 and the SH0 is shown too long. In reality, all pulsewidths for SH0 to SH3 are exactly the same (you call them t2), and all the time gaps between the pulses (you call them t1) are also exactly the same, meaning that the time between the end of pulse at SH3 and the beginning of the next pulse at SH0 is also equal to t1.
          So if you can measure all three existing pulses, you can easily see where the missing fourth one should be located. It's a fully symmetrical and repetitive pattern.

          But, having said that, I am going to connect the 8-channel signal analyser to the DAC section, and will report the requested timings to you once I have the waveforms recorded. May not be today or tomorrow though.

          Looking at the schematics, I think SH* names stand for Sample-and-Hold, because those pulses just control the sort of S&H circuit formed by IC15/16 and the holding capacitors at their OZ and OY outputs. I haven't worked out the exact logic of its operation yet, but it is irrelevant in my case, because nothing comes out of my DAC analogue output anyway, and that's what I am going to concentrate on for now, thanks God I have an analyser and the Datasheet for the DAC chip.

          BTW, do we know what IC12 is and what it does? My search showed that it is a CPLD or FPGA of some kind. Yamaha proprietary, of course.

          -------------

          Regarding the DAC replacement (irrelevance) : I hear you, but if all input signals are coming in and no output is coming out, that fact is hard to argue with. That's why I will be analysing the digital input protocol. Not that expensive to replace either - about six bucks. Not much for surely getting one big variable out of the equations! :-)
          Last edited by ds2010; 09-12-2019, 03:33 AM.

          Comment


            Re: Yamaha Electric Piano CLP550 no keyboard output

            Hi DS,
            Thanks for your inspiring inputs. im not in a hurry and take your time to do the next testing when you got DAC. SH should be sample and hold and IC15 & IC16 used to sample and hold also to eliminate switching and DA glitches as both Left & Right Audio channels decoded from single DAC. IC12 they marked as SFD-2( sequential frame decoder ???), but cant find SFD-1 anywhere. Yamaha seems using more than one 16bit packet for generate tones as IC14 used at DAC output as level controller with two bit control output from IC12 and according to 2bit inputs(A,B) IC14 deliver full, half, quarter or 1/8th of DAC output level based on SFD-2 command.

            SFD-2(IC-12) datasheet found from old publication from SANYO but not given the exact logics programmed into the gate array. i attached it here.

            as per your inputs i had figured the way i might produce the outputs of missing SH signals with remaining signals. even same principal can execute even 2 or 3 outputs of SH signals are not working as it purely time based signal as per you and present always even without any key pressed. cant workout if all the SH outputs not present as not knowing where to sync the particular SHx signal.

            hopes your repair would be successful and waiting to hear another success story soon!
            Attached Files

            Comment


              Re: Yamaha Electric Piano CLP550 no keyboard output

              Originally posted by ds2010 View Post
              Hi, PMD.

              Regarding the DAC replacement (irrelevance) : I hear you, but if all input signals are coming in and no output is coming out, that fact is hard to argue with. That's why I will be analysing the digital input protocol. Not that expensive to replace either - about six bucks. Not much for surely getting one big variable out of the equations! :-)
              im doubt that the data stream comes to DAC might be equal or very closer to Bi-polar Zero. and no significant output generated at DAC to out from speakers. this happened to me. when im checking the my case first time, most of the keys does not produce any sound as its corresponding readings from Wave ROM are empty(or caused to generate bipolar zero output at DAC) i suppose. me too first order DAC and replace as DAC having all the valid inputs, but not giving anything out. lets see how it moves...
              sometime you may correct in this case!

              Comment


                Re: Yamaha Electric Piano CLP550 no keyboard output

                if you have an electric desoldering station i recommend you desolder and backup the roms.
                if you search this forum there are a number of yamaha threads - all relating to roms failing!!

                Comment


                  Re: Yamaha Electric Piano CLP550 no keyboard output

                  Desoldering the ROMs is not a problem - I normally use the hand-held solder suction tool, and it works a charm, it's a nobrainer. But I don't have a programmer, and have to get (or build) one, or at least to build a reader using Arduino or similar Dev tool.
                  In fact, the funny thing is that I actually do have a programmer, but it can only be connected to a DB25 parallel port of the PC, and I don't have one around! I am hearing that USB-to-Parallel dongles won't work, as the original programmer's software (and drivers, Win 98 ! :-) use the bit-bashing on the port pins. So, finding the PC with the H/W parallel port might be a fun journey!

                  Spending $50 on a programmer like TL866II below may be an option, but considering that it's most likely going to be once-off use (ok, ok... three-off :-))), I am not sure if I can justify this purchase.

                  I'll keep you blokes posted - watch this space. Going to hook up a signal analyser this weekend.

                  BTW, do you recommend to read out the main program ROM IC6 as well? Or just GEW ROMs ? The keyboard part seems to work OK in my case.
                  Has anyone dumped the main ROM? Is the ROM binary image available?

                  Comment


                    Re: Yamaha Electric Piano CLP550 no keyboard output

                    i have a parallel port programmer,
                    it runs fine on a dell optiplex755 dual-core i found in the street.
                    i use freedos with it. and it runs an ftp server to get the files from the other machines.
                    freedos usb drivers are there - but i have not worked them out yet.

                    Comment


                      Re: Yamaha Electric Piano CLP550 no keyboard output

                      Originally posted by ds2010 View Post
                      Spending $50 on a programmer like TL866II below may be an option, but considering that it's most likely going to be once-off use (ok, ok... three-off :-))), I am not sure if I can justify this purchase.


                      BTW, do you recommend to read out the main program ROM IC6 as well? Or just GEW ROMs ? The keyboard part seems to work OK in my case.
                      Has anyone dumped the main ROM? Is the ROM binary image available?
                      Spending on TL866II can be justifiable as it getting new patches continually and you may have many applications in the long run. i had consider it quite a time ago and finally ordered. it paid me off totally in another project same days later and now its asset for me like these cases. you will pay off once this piano repaired.

                      about the main ROMs, you better backup. me too will try to get it done once the multiplexer issue patch module ready. since the All ROMs belong to very older technology, main ROM too will fail at any movement.

                      Comment


                        Re: Yamaha Electric Piano CLP550 no keyboard output

                        you backup everything you can, because right now there is very little dumped.

                        Comment


                          Re: Yamaha Electric Piano CLP550 no keyboard output

                          Update.

                          First and foremost: I have removed and attempted to read out the GEW ROM ICs from my Yamaha. The results are reported further in this post.
                          In short: I can consistently read IC10 and IC9, but reading IC8 gives different results every time: I've read the IC8 about ten times and all of those ten dumps are different from each other. So, I am concluding that my IC8 readings can not be trusted, possibly for IC8 is damaged (or its internal data is lost).

                          Second: I think I confused myself (and others?) with the order of A,B,C naming in my first post in this thread (post #97). In fact, the A,B,C order refers to the order of the ROM chips (left-to-right), which is IC10, IC9, IC8.

                          Unfortunately I can not edit that post of mine anymore, so to avoid confusion, and make it consistent with the other people's naming, below is a corrected full text of that post, with my findings added - PLEASE DISREGARD MY POST #97 IN THIS TOPIC AND READ BELOW INSTEAD:

                          There are multiple versions of the dumped ROMs in here. Let me try to put them into some sort of a system:

                          Let's first settle on the naming convention: I suggest that the prefix will denote the ROM designator on the board (IC10, IC9 and IC8, which corresponds to what some ppl call A, B and C, respectively), and the suffix will show the name of the dump taker/uploader. We have four of them: TabajaraLabs (aka TL), PMD (uploaded two sets, but the latter upload is fully cumulative of the earlier one), Amii27 (aka AMI) and myself, ds2010 (aka DS). So, for example IC9_PMD is a dump of ROM IC9 (or ROM B), made and uploaded by PMD.
                          Once again, the correspondence is as follows:
                          IC10 - A - XE845A0 - GEW ROM3
                          IC9 - B - XE844B0 - GEW ROM2
                          IC8 - C - XE843A0 - GEW ROM1

                          The uploaded dumps are therefore as follows:

                          IC9_TL and IC8_TL - post #65 (Page4) - there was no IC10_TL
                          IC10_PMD, IC9_PMD and IC8_PMD - post #88 (page 5)
                          IC10_AMI and IC9_AMI - post #93 (Page5) - there was no IC8_AMI
                          IC10_DS and IC9_DS - not uploaded here yet - there was no IC8_DS

                          I have done byte-comparison of the corresponding dumps (I used the in-build comparison tool inside Total Commander, but HxD hex editor (free software) does as good of a job). Here is a brief comparison result summary:

                          GEW ROM 3 - IC10 (three versions are available):
                          IC10_PMD does NOT match the file IC10_AMI
                          IC10_PMD does NOT match the file IC10_DS
                          IC10_AMI does NOT exactly match the file IC10_DS but they are similar to each other, with just some occasional individual byte differences, so both are worth trying.
                          Note: GEW ROM3 (IC10) is marked on the schematics as 2Mbit, as opposed to GEW ROM1 (IC8) and GEW ROM2 (IC9) which are marked as 4Mbit.

                          GEW ROM 2 - IC9 (four versions are available):
                          The file IC9_TL matches the file IC9_PMD and matches the file IC9_DS, but they do NOT match the file IC9_AMI (which was allegedly corrupted)
                          So, with the very high level of confidence, we can assume that for IC9 we have found the working ROM dump, from three independent sources.

                          GEW ROM 1 - IC8 (two versions are available):
                          The file IC8_TL does NOT match the file IC8_PMD

                          Now the question is: Which combination of A_, B_, C_ binary files gives a normal operation of CLP-550? Amii27 who seems to have found the magic combo, in his post #93, wrote:
                          Quote:
                          ROM A from me
                          ROM B C from previous first post.
                          Amii27, if you still read this thread, can you pls clarify what you meant by "previous first post" and which B and C ROMs you used?

                          To me, that combo was IC10_AMI, IC9_TL, IC8_TL.
                          But the combo IC10_DS, IC9_TL, IC8_TL may also be working - I will try and report.
                          Others, please share your interpretations. Thanx.

                          I acknowledge that I haven't uploaded my ROM readings yet, for the reasons below:
                          IC8_DS is inconsistently read, and can NOT therefore be trusted - I will NOT upload it, as that IC8 ROM appears to be corrupted in my case.
                          IC9_DS is fully identical to IC9_TL and IC9_PMD - no point re-uploading the same file
                          IC10_DS: yes it is different from both IC10_* files uploaded before me, so I will upload mine, but only after I do some testing and make sure that it is a good working ROM, otherwise it's not worth uploading the non-viable dump.

                          Sorry for the longish post, but I hope it should make the things clearer for the subsequent readers who came here from the search.

                          I will keep reporting the progress in this topic.

                          Comment


                            Re: Yamaha Electric Piano CLP550 no keyboard output

                            Hi DS,

                            I can tell you the working combo is ROM-A(IC-10) from Ami(Post No.93) and ROM-B(IC-9) and ROM-C(IC-8) from post No.65, even errors in few intermittent Bytes wont harm anything much, but some minor tonal quality difference in occasional note in certain TONE. some times that might not noted even when playing. even without ROM-A, my system working(except sound distortion due to SH3 signal missing). so go ahead with above and should work just fine.

                            Comment


                              Re: Yamaha Electric Piano CLP550 no keyboard output

                              Hi all,

                              You wanted another success story? I have one for you!
                              My Clavinova CLP-550 is working as new again.

                              I have programmed the blank 27C040 chips (I used OTP versions) with the BIN images attached to this message and it's a goer! Piano works fine!

                              Thanks so much to all contributors in this thread - without you guys it would have not happened. I guess this is a good example of how the internet has totally changed the living model of the world! Thank you all!

                              Regarding the IC10 (ROM-A) image: I used my file, not Amii27's - I have all reasons to believe that it is "more correct". The interested parties - you can extract the IC10 file from the attachment to this post and compare it with AMI's (post #93) for yourself. Having said that - maybe, Ami's file will also work just fine, with the occasional non-significant glitches.

                              Anyway - for the future readers of this threads - we seem to have found the ultimate combination of GEW ROM binary images which match the original Yamaha ROMs, or at least match them closely enough to restore the normal operation of the CLP-550 device.

                              --- GOOD TESTED GEW ROM BIN IMAGES FOR YAMAHA CLAVINOVA CLP-550 ARE ATTACHED TO THIS POST ---
                              Attached Files
                              Last edited by ds2010; 09-19-2019, 07:29 PM.

                              Comment


                                Re: Yamaha Electric Piano CLP550 no keyboard output

                                PMD,

                                I will go through my captured analyzer waveforms to see if i can extract the exact timing data for those SH* pulses relative to incoming clock. If I manage to get it out, I will post them here.
                                I got an impression somehow, that the exact clock position of your missing SH pulse is not that important, as long as it is located between the other two SH pulses with enough gaps, as we discussed above.

                                What I am coming to is that it should be possible in your case to re-create that missing pulse just using two monostables (74HC4538) - the first monostable (triggered by the previous SH pulse) will determine the offset of your re-created pulse, and the second monostable (triggered by the first one) will make the required SH "active-low" pulse. That'll be not as neat as a digital implementation, but I think in this case it should do the job just fine.

                                Comment


                                  Re: Yamaha Electric Piano CLP550 no keyboard output

                                  Hey PMD,

                                  As I said, please find attached the waveforms of SH* signals relative to clock and DAC LE (Latch Enable). Some notes:

                                  The clock is 3MHz,
                                  The LE frequency is 200 KHz, pulsewidth is 0.333 uSec (1 clock period)
                                  The SH* pulse frequency is 50KHz, pulsewidth is 1.875uSec (6 clock periods)
                                  The gaps between SH* pulses are 3.125 uSec (10 clock periods).

                                  Look at the waveforms for further info.

                                  NOTE! See the correct sequence of SH* pulses in analyzer channel labels - I think I might have gotten their order wrong in my ASCII art before - the labels here are the correct ones.

                                  Once again, I don't think the exact location of the SH* pulse is critical, as long as it sits comfortably in between of two LE pulses, because the DAC analog output does not change between the LE pulses.

                                  Anyway, this should be enough to get you going. If you have any questions, I will be happy to answer.
                                  Attached Files
                                  Last edited by ds2010; 09-20-2019, 04:49 AM.

                                  Comment


                                    Re: Yamaha Electric Piano CLP550 no keyboard output

                                    Hi DS,

                                    Congratulations on your success and Thanks for contribution to the forum! we have fully workable solution to the ROM related issues now!( except main ROM, we havent backup yet!).

                                    Thanks for the inputs and nice timing details on SH signals where i had struck for some days. i found very simple design to create missing SH3 signal. i replicate SH3 with reference to SH0 with 5uS delay using small basic uController and expected program was below 50lines of Assembly( fast and accurate timing). i too think SH pulse placement not that much matters but keep it at latter half of the window will be better as it gives enough time for DAC output to settle properly and had to give enough time in pulse width(low time) for sample hold cap to stable its charging and turn off the SH signal just before the next LE pulse to avoid glitches. with all constrains SHx need to sit in right slot and haven't have much tolerance to play on. thanks a lot for your inputs!!

                                    will update the forum once test done with source codes and diagrams, of course photos too. hopes to get the main ROM backup too.

                                    PMD

                                    Comment


                                      Re: Yamaha Electric Piano CLP550 no keyboard output

                                      Hi PMD,

                                      Oops, I have already closed back the piano and returned it to the owner, so I can't read out the main ROM. Actually, we don't even know what ROM part is used, as Yamaha gives a cryptic MAIN#2067 name to the main ROM IC. We can only guess by the number of address lines (17: A0 to A16) coming to that chip and by writing on its schematics symbol that it would be 1Mbit ROM (128K x 8) perhaps 27C1001, judging by the pin layout.
                                      If that's true, then it is much smaller transistor density of the dye, and therefore is not as prone to getting corrupted over time, as the technology is not pushed to its limits (we are talking mid 80s, remember)
                                      Desoldering the chip may exacerbate or even create the data corruption problem for it, with the risk of rendering the whole piano useless, as the good dump for it is not available.
                                      So, I guess, we have to ask people with the defunct piano (killed by the reasons not related to ROM data) to take out the main ROM from the corpse and read it.

                                      PMD, wrt your SH3 restoration exercise: using micro seems a bit of an overkill to me. I think I have a better solution for you: in fact, what you need to do is delay SH0 by 16 clock cycles by fifo pipelining it. Shift register 74HC595 is your answer! (a dozen a dime). You need two of those dasychained (each one shifts by 8 clocks). Feed your good SH0 signal to the serial input of the first one and take your SH3 from the QH' output of the second one, and you are all good! (CLK should be fed to both registers). No code development time, no code maintenance required! :-) Fun's spoiled! :-)))

                                      Have a look at those HC595 registers and tell me what you think. If you elect to go down that path and need help with the design, I'll be happy to offer it.

                                      Comment


                                        Re: Yamaha Electric Piano CLP550 no keyboard output

                                        Hi DS
                                        it seems your proposal is more practical, faster and accurate except one concern. i already got parts for construct it as well, but one question arises to my mind, whether we can tap the LE and SHx signals parallel from there existing usage points??. we have to drive some extra TTL loads at our new circuit. will the IC12 output work normally with extra loads in its outputs?, we might need some extra buffers to get this done? pls advice!

                                        i here attached a proposed design sketch. your inputs are welcome!!
                                        Attached Files

                                        Comment


                                          Re: Yamaha Electric Piano CLP550 no keyboard output

                                          Hi PMD,

                                          Well done. Here are my 5c worth:

                                          1) 74HC595 is not a TTL. It is CMOS, meaning that it presents virtually no load to the outputs of the driving ICs. So, I wouldn't even bother buffering the CLK and SH0, as the CLK frequency 3MHz is so low (relative to the dynamic capabilities of those ICs). So my first suggestion is to remove your buffer inverter and connect SH0 (pin20/IC12) directly to SER (Pin14/IC98), and connect CLK0 (Pin28/IC12) directly to both SRCLK pins (Pin11/IC98 and Pin11/IC99). You should be fine with those very marginal extra loads.

                                          2) Unused inputs:

                                          /OE pins (pin13/IC98 and pin13/IC99) are pulled up - that's correct.

                                          RCLK pins (pin12/IC98 and pin12/IC99) should both be pulled down (to GND)

                                          /SRCLR pins (pin11/IC98 and pin11/IC99) should both be pulled up (to +5V). Hard pull up (with wires, rather than resistors) is acceptable.

                                          All eight parallel outputs (Qa to Qh) should be left unconnected.


                                          3) Before connecting the new SH3 output of your daughter board to Pin10/IC16, I would disconnect that pin from the driver output (pin18/IC12).
                                          This is to avoid multiple drives of that net, in case pin18/IC12 still drives hard that line permanently low (as you wrote before).
                                          I guess, you probably can cut that pin (pin10/IC16) right at the PCB level and then (carefully!) lift it to be able to then solder to it.
                                          DO NOT CUT IT NEXT TO THE BODY OF IC16 (or you will have nothing to solder to!)
                                          WHEN LIFTING, DO THAT EXTREMELY SLOWLY AND ONLY MOVE IT BY 2-3mm JUST TO DISCONNECT IT FROM THE PAD! BE CAREFUL NOT TO BREAK THAT PIN!

                                          (Note: cutting off the pin18/IC12 instead might not work, as the pulldown short/drive may be in the PCB, not necessarily coming from IC12)

                                          You may elect to do the above disconnection in a different way (for example, cutting the track) - it's up to you.

                                          I would also check first that the SH3 output of your daughter board is as expected before connecting it to Pin10/IC16. Do you have a CRO?

                                          Good luck and let us know how it goes!...

                                          Best,
                                          DS

                                          Comment

                                          Working...
                                          X