Right doesn't work in my joystick 1

By greenpci

Rookie (19)

greenpci's picture

10-11-2015, 03:31

Hi fellow MSXers,

I have a common problem. In Joystick 1 the Right direction is not working. All other actions on Joystick 1 and Joystick 2 are working perfectly.

I have Yamaha YIS-503II with S3527 MSX Engine. I verified that the connection from pin 4 of the joystick port to the S2527 Right 1 pin is good. The resistance between right 1 pin and VSS ground on S2537 is infinity unlike other actions. I suspect my MSX engine has been burnt. I have a few solutions in mind:

1. I am not sure if it's possible to find and replace S2537 as it has 100 pins and the work seems to be extremely hard as it is soldered in on the board.

2. Is it possible to remap Joystick 2 to Joystick 1 by hacking the ROM or somethings. Most games only support Joystick 1 and don't want to work with the other.

3. Another option is to hack all games to make them use Joystick 2 instead of 1.

4. Finally, I was thinking about wiring keyboard arrows to the joystick port.

Has anyone experienced similar problem and do you think my solutions are good or there is something else I can try?

Thanks

Login or register to post comments

By RetroTechie

Paragon (1563)

RetroTechie's picture

10-11-2015, 10:19

Welcome here, greenpci! Big smile

It's very unlikely the S3527's input is fried. In theory it's possible but I have never ever seen that. Much, much more likely is some kind of cabling / wiring / connector issue.

First, make absolutely sure the problem is not with the joystick (eg. try on other MSX - both ports). If indeed problem is with the port itself, you'd have to open the machine & check the connector pins' soldering. If that's okay also, you might have a cracked trace on the circuit board. Provided you get that far, shouldn't be too hard to locate by following that trace.

By greenpci

Rookie (19)

greenpci's picture

10-11-2015, 11:50

Thank you for your reply, RetroTechie

It is the same joystick I use for my zx specturm. I have already got very far with my investigation and even found Right 1 pin on the MSX engine chip and tested the connection from the pin to the joystick 9 pin connector. The connection is good. So I have already tested the cabling and even the trace on the circuit board. My lead ends inside S3527

By tvalenca

Paladin (728)

tvalenca's picture

10-11-2015, 21:18

I don't have YIS-503II lying around, so I can't say anything about signal path. Even if you have a good connection when the board is outside the case, I'd suspect the connector and its solder joints. Melting the joint won't do any harm.

If it still don't work, It may not be possible to fix this MSX.

By greenpci

Rookie (19)

greenpci's picture

10-11-2015, 22:18

Hi Tvalenca,

My circuit is very similar to the one here
https://content-8.foto.my.mail.ru/list/yamaha_msx/208/s-264.jpg

It is the next modification YIS-503 III but I believe the circuit from 9 pin connector to the chip is the same.

I also tested the resistance between Right 1 leg and VSS leg on S3527. It is infinity unlike all other actions and all directions on Joystick 2. So I detect a difference already. I switch my voltmeter to 20K om and it shows 7.5 on all other actions except the broken one where it goes to infinity. Does this test tell anything? What do you think?

By tvalenca

Paladin (728)

tvalenca's picture

11-11-2015, 21:27

Greenpci,

Have in mind that those pins are pulled up by a resistor from VCC. So, any of the first 4 pins from DB9 (up, down, left, right) have infinity (or ridiculously high) resistance to GND, and some kohms to VCC. If the 4th pin (right) from port 1 don't behave as the other pins, you may have a short or a break. So, check solders joints AND pull-up resistors. If a pull up resistor have its resistance lowered due to any reason, it may not allow the voltage to drop near 0V on this pin, and so the MSX-Engine will not detect its activation.

By greenpci

Rookie (19)

greenpci's picture

12-11-2015, 11:16

Thanks a lot, Tvalenca,

I switched my voltmeter to 200K and now it shows 22.2KOm on all joystick buttons including the broken one as it should.

I also measured the voltage of the Right 1 s3527 leg on a working computer and it has 5V when Right is released and near 0V when it is pressed as expected. Other buttons behave exactly the same way. So the voltage input to S3527 seems to be correct.

So looks like it's not possible to fix it. Sad

By tvalenca

Paladin (728)

tvalenca's picture

12-11-2015, 19:16

Unfortunately, this might mean that you have a bad S3527 engine, unless there's a short with VCC anywhere else on the board (not likely). too bad there weren't included buffers between joystick ports and the S3527.

wait a minute... did you said you did a continuity test between joystick 1 pin-4 and corresponding pin on MSX engine? If not, can you do that? It's not usual, but your computer may have a broken trace or a fried buffer (not likely), and since I don't have your computer schematics I can't tell.

About your options, you probably have to patch games to read from joystick port 2 instead of port 1. In MSX architecture, joystick input pins (1, 2, 3, 4, 6 and 7 of each port) are multiplexed, so you just have to make sure that bit 6 on PSG port B (register #15) is always set to 1. Hacking BIOS won't always work since some games may access directly PSG registers. (even if this means they don't follow the coding guidelines)

Wiring keyboard arrow keys to joystick ports won't work either, but the contrary (wiring joystick 1 input to keyboard arrow keys on keyboard matrix) may be possible. you have to find the keyboard matrix definitions for your MSX model, and then make a small circuit using 6 OR gates (UP,DOWN,LEFT,RIGHT,TRG1 and TRG2) combining signal from joystick connector and keyboard matrix send (Y) lines, and its outputs to keyboard matrix return (X) lines, and 6 buffers with open collector outputs to prevent the OR gates from being fried. The only problem here is not evey game uses the same keys for keyboard controls... Most games uses arrow keys, SPACE and "M" keys, but some uses different keys. ("QAOP", ENTER, etc). you will have to cut traces from joystick port 1 to prevent abnormal behavior and by doing that, you will lose mouse compatibility on port 1. (right now it should work with 2x2 precision)

By greenpci

Rookie (19)

greenpci's picture

13-11-2015, 09:49

yes, the continuity test was the first thing I did.

I will consider what you suggested about the keyboard. Alternatively I can make a circuit that allows to connect a ps/2 keyboard and use it for games instead of a joystick http://caro.su/msx/kbd4msx/y_yis503.htm

Thanks a lot for you help.

By l_oliveira

Hero (520)

l_oliveira's picture

13-11-2015, 18:54

Unfortunately you might have to source a scrap of MSX1 using S3527 to get your joystick port repaired properly.

VG8020/20/40 MSX1 will have the S3527 part in it. (/00 doesn't have S3527)