ZX-Spectrum joystick configuration (lr-fuse)


As the Picade is a british product, I guess many users have tried to emulate their old Spectrum with it. I hope they were succesful.

I have problems configuring the joystick with the games which use it, e.g. Sabre Wulf. I use lr-fuse in Retropie 4.3.5.

In the default configuration, Retroarch simulates a “Cursor” joystick (i.e. 5-6-7-8 and 0). In reality, it seems to me that it simulates the real cursors of the Spectrum (i.e. SHIFT 5-6-7-8) and thus its input is ignored in the games, even when I tell them I have a “Cursor” joystick.

–> is this interpretation correct? Has anybody managed to use the default configuration for “Cursor” joystick games?

Then I tried to configure lr-fuse to simulate a “Kempston” joystick by putting "input_libretro_device_p1 = “513"” (instead of “1”) in opt/retropie/configs/zxspectrum/retroarch.cfg.

The result is now the following when I tell the games to use a “Kempston” joystick:

  • left - right - down work
  • up reacts as if I pushed briefly the joystick up, even if I hold it in that position. In Sabre Wulf for example, the little guy moves a few dozen pixels up and then stops.
  • I’m not sure about this, but it seems the button reacts the same way as up. The symptom is that in R-Type, when I keep the button depressed, it shoots immediately one bullet instead of accumulating energy for a “bomb”

–> anybody knows how to correct that?

I have installed ZEsarUX, set it as the default emulator and tested it. It works “out of the box” with the joystick but… the fire key does not work. In some games, it beeps when depressed, but it definitively does not fire.
–> any suggestions about that?



PS: there is one thing I never understand with Retropie: why are there so many retroarch.cfg and fuse.cfg at different places, which one contains which parameter and which one has priority on which? Any clue would be welcome…

UPDATE August 2018

After a clean install of RP 4.4, the problem is solved. See this post. I have no idea of the reason it didn’t work.