MU-01 MSX Yamaha mouse fix

ページ 1/2
| 2

By Edevaldo

Master (156)

Edevaldo さんの画像

06-01-2019, 22:58

I've been after an MSX mouse for a long while. It's probably been 28 years since I saw the first, and up to very recently, last one, in person. O bought a PS/2 mouse adapter for MSX that I was never able to make work even trying a ton of different mice with it. Lost many auctions (but didn't want to overpay). Until I finally got one from Yahoo in Japan! It seemed in very good condition and the seller made it positive that it would still work.

For my surprise, it came in the original box with the packaging (I added a couple pictures here for the curious) and looked almost new. The ball is in good condition but the mechanism was really dirty...



But I got really disappointed when connected it and it didn't really work. Buttons and Y axis worked as expected but X axis was jittery and would not move reliably.

I opened the mouse and checked for cleanliness which was ok. The mechanism was intact and the mouse circuitry used a 4MHz 4-bit microcontroller with, I believe, 1k of mask ROM in a DIP package and another SOIC chip which I determined to be an LM339 alike, with 4 comparators. I checked the waveforms reaching the MCU and for the Y axis they were the expected quadrature encoder waveforms. For the X axis the waveforms were short pulses not having the proper edge sequence that a quadrature encoder would generate.

Checking the output of the optical sensors I noticed that the the X axis sensors had slightly less amplitude than the Y ones. I only checked those with a multimeter by turning the encoder wheels.

I captured the sensor schematic in the figure bellow:

And it repeats 4 times, 2 for each axis sensors. The mouse had no markings or values, so those are my own labels. The operation is really simple, LDx1 infrared LED illuminates the DX1 photodiode. The light may be blocked by the encoder wheel as it turns, making pulses that the photodiode detects. As photons reach the photodiode they cause current to flow in the diode and a voltage drop to appear across the 1k8 resistor. When that voltage crosses the one on the other input of the comparator an edge is generated at the output of the comparator and the MCU counts those to measure displacement.

The 6k8 and 270 Ohm resistors set the comparator reference and the 100k resistor creates a small hysteresis of 10mV. The 3k3 resistors exists because the LM339 output is an open collector. All components were basically ok, just old. With no obvious defects.

I was surprised to see a photodiode here instead of a phototransistor. But I don't know what was available when this thing was designed. The way photodiodes like this work is that for each photon that reaches them there is a certain probability of causing an electron to pass through them. In some places this is called "quantum efficiency". A very similar thing goes for the LED. For every electron that goes though it there is a chance of it outputting a photon. And as LEDs age, their efficiency drops.

Considering that the LEDs have 8mA passing though them, and the efficiencies possible, and that most photons will get lost, the best you can have is a small fraction of 8mA passing through the 1k8 resistor when the sensor is fully illuminated. The voltage drop across it will be small. But it seems to me that the design of the sensor is a little marginal from the start and with LED aging and resistors drift the circuit lost sensitivity with time. Maybe it was connected to some musical instrument in some studio where it was on 24/7 for several years or something like that.

I fixed the problem by replacing the 1k8 resistors in the schematic by 3k6 ones in the 4 sensors and the mouse is now working properly. :-) Finally!

Over time it may become even less sensitive and require the LEDs to be replaced or the resistors increased again. But it would take years of continuous use... Or so I hope.

This mouse design seems to be very common in MSX mice and this problem may be very frequent. So I'm sharing my solution here.

ログイン/登録して投稿

By Manuel

Ascended (19676)

Manuel さんの画像

06-01-2019, 23:44

Hi, great story! Please replace the image links in your post with links pointing to the actual JPEG file instead of the web page. Then they'll show up. Or perhaps a moderator can help here.

By Grauw

Ascended (10818)

Grauw さんの画像

07-01-2019, 00:02




By Edevaldo

Master (156)

Edevaldo さんの画像

07-01-2019, 00:30

引用:

Hi, great story! Please replace the image links in your post with links pointing to the actual JPEG file instead of the web page. Then they'll show up. Or perhaps a moderator can help here.

Thanks a lot for the hint, Manuel! I was scratching my head about this thinking the shortened url was pointing to the JPEG.
I tried to edit the post but it was too late, I can't edit anymore. Thanks for adding the images Grauw. First post with images... Next time. ;-)

By Soft Automaton

Resident (54)

Soft Automaton さんの画像

23-03-2022, 23:35

Edevaldo wrote:

I fixed the problem by replacing the 1k8 resistors in the schematic by 3k6 ones in the 4 sensors and the mouse is now working properly. :-) Finally!

Hi Edevaldo! Thank you for sharing this information. This is super useful Can you clarify what you wrote here? You must be referring to the smd resistors on the bottom. Some are unmarked on mine. Do you know which ones need to be replaced? Also - what smd package is this? I'm used to through hole and am still figuring out how to read SMD and work out their sizes.

Thank you!

By gdx

Enlighted (6421)

gdx さんの画像

24-03-2022, 11:01

The best would be to change the sensors directly because if the mouse changes ownership someday and he encounters the same problem, he will base on wrong components.

By Soft Automaton

Resident (54)

Soft Automaton さんの画像

24-03-2022, 15:21

Not a bad idea. Do we have any resources that tell us what sort of parts we're talking about? The sensor size and solder position is critical, I would think. It has to accurately point to the wheel so even a 0.5mm offset would be problematic, no?

I'm not as concerned about the 'next owner' issue. I'm documenting any mods on my build here so any mouse that gets passed on would include a change list. I'll be inserting it under the PCB inside in this case. I'm not skilled enough to deconstruct traces and ID tiny / unmarked parts though.

So far I don't see a single Mitsumi schematic that would represent a starting point either. That would be gold.

By gdx

Enlighted (6421)

gdx さんの画像

24-03-2022, 16:26

Soft Automaton wrote:

The sensor size and solder position is critical, I would think. It has to accurately point to the wheel so even a 0.5mm offset would be problematic, no?

I don't think. This is not like optical mice. First try changing the LED.

The photo-transistor is maybe a TPS601A.

By gflorez

Resident (63)

gflorez さんの画像

24-03-2022, 20:00

All the classic MSX mice are based on the Neos chip(MB88201-201N or Mitshumi MP01A01), so they share the same schematic.

By Soft Automaton

Resident (54)

Soft Automaton さんの画像

27-03-2022, 22:29

@gflorez
Ooh lovely! Thanks for posting this!

Hopefully I can make progress with it. Need to find out what the equivalent part is for that sensor or just change the resistor values (which will be more expedient and less expensive).

@gdx - Schem shows EL23-F & ST-23F so it looks to be a different package. It's a side mounted sensor and I haven't seen the transistor yet. You sure it's a metal can with the sensor on top? The original part is nowhere to be found so I may be looking for equivalents if old stock doesn't turn up. I have my doubts about equivalents being found too but I guess we'll see.

By gflorez

Resident (63)

gflorez さんの画像

27-03-2022, 23:43

As you can see, they accept 1k5 to 3k3 range resistors for the receptor, so you was right.

I am now able to fix one of my MSX mice that has the same annoying problem. I can share here some internal pictures of them. One of them is the one with the round shape, like on the diagrams.

Thank you.

ページ 1/2
| 2