Controller profiles

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Controller profiles

Post by Mpk »

Hello

Are there any emulators that will
1) work with the standard xbox controller on Windows
2) Allow easy & reliable mapping of keys to controller buttons ( GUI massively preferred )
3) Allow me to save mappings on a game-by-game basis. If it could autoload the mappings automatically depending on what game I've loaded, that'd be extra ace.

Thank you!
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Controller profiles

Post by Mpk »

I'd settle for 1) and 2). Any takers?
User avatar
XTM
Manic Miner
Posts: 794
Joined: Mon Jun 22, 2020 12:09 am
Location: Cologne, Germany
Contact:

Re: Controller profiles

Post by XTM »

If there's no emulator which does 2.) then there's always software like Xpadder or Joy2Key.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Mpk wrote: Fri Nov 26, 2021 4:36 pm Hello

Are there any emulators that will
1) work with the standard xbox controller on Windows
2) Allow easy & reliable mapping of keys to controller buttons ( GUI massively preferred )
3) Allow me to save mappings on a game-by-game basis. If it could autoload the mappings automatically depending on what game I've loaded, that'd be extra ace.

Thank you!
1) and 2) OK for: Spectaculator
3) Can be done with exporting and importing registry-keys for each game:
Computer\HKEY_CURRENT_USER\SOFTWARE\spectaculator.com\Spectaculator\Plugins\Joystick\Player 1
Computer\HKEY_CURRENT_USER\SOFTWARE\spectaculator.com\Spectaculator\Plugins\Joystick\Player 2

Fuse 1) maybe OK too:
Image
but, I haven´t tried yet, and instead of the Windows-Registry, settings should be in File: fuse.cfg

ZesarUX (stores it´s settings in ".zesaruxrc" Config-File if I remember right.
and is highly configurable (also via commandline):
Image

UnrealSpeccy http://dlcorp.nedopc.com/viewtopic.php?f=27&t=1525 in it´s Unreal.ini reads:

Code: Select all

[INPUT]
; default/bk08/quorum
ZXKeyMap=default
; you can define own layout, naming section in this INI file [ZX.KEYS.myname]
;...
[ZX.KEYS.quorum]
Name=Quorum

;               Quorum keyboard layout:
;
; F1 F2 F3 F4 F5      [G]  NMI  INV   [< RES
; [E] 1 2 3 4 5 6 7 8 9 0 - + BS DEL                        NSLASH NSTAR NMINUS
; TAB  Q  W  E  R  T  Y  U  I  O  P  [  ]  \                  N7    N8     N9
; CAPS  A  S  D  F  G  H  J  K  L  ;  '  ~  ENT               N4    N5     N6
; RUS LAT Z X C V B N M , . /  UP                             N1    N2     N3
; CAP FIRE   SPC       SYM LT  DN  RT                         N0  NPOINT NPLUS
;
; FIRE,LT,DN,RT,UP=0,5,6,8,7
; NMI,RES=F11,F12(see main.*)
; INV,[< - NOT emulated
; KLEFT,KRIGHT,KUP,KDOWN,KFIRE        - kempston joystick
; (JLEFT,JRIGHT,JUP,JDOWN,JFIRE  reserved for joystick)
; format:
; PC_KEY=[ZX_KEY_SHIFT] ZX_KEY
1=1
2=2
3=3
;...
Can´t yet remember for a GUI for those Emulators which store/restore Game-Settings. Maybe this can do: https://docs.libretro.com/library/fuse/
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Controller profiles

Post by Mpk »

Luzie wrote: Mon Nov 29, 2021 5:35 pm
Thanks for the replies, very comprehensive. I can't get Fuse to detect the controller at all.

I'll give Joy2Key a punt, then I may have to spend actual money on Spectaculator.
User avatar
XTM
Manic Miner
Posts: 794
Joined: Mon Jun 22, 2020 12:09 am
Location: Cologne, Germany
Contact:

Re: Controller profiles

Post by XTM »

Joy2Key is just one example, there are many others:
https://rigorousthemes.com/blog/best-joy2key-alternative/
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Mpk wrote: Fri Nov 26, 2021 4:36 pm ...
2) Allow easy & reliable mapping of keys to controller buttons ( GUI massively preferred )
3) Allow me to save mappings on a game-by-game basis. If it could autoload the mappings automatically depending on what game I've loaded, that'd be extra ace.
...
Once upon a time... there where some "Spectrum Games Database/SGD"-programs for DOS or older Windows-Versions: https://worldofspectrum.net/utilities/#databases

As they are not running on actual Windows-Versions, you maybe have a look at ZXplorer: https://github.com/area51bis/zxplorer which even has config-possibility for some Emulators:
Image
I don´t know if this can be used for configuration of joystick-controls, but if not - why not ask the author about it.
User avatar
Morkin
Bugaboo
Posts: 3277
Joined: Mon Nov 13, 2017 8:50 am
Location: Bristol, UK

Re: Controller profiles

Post by Morkin »

Am also quite interested in the best way of accomplishing this.

If I can get to the stage where I'm able to play Speccy games with controller in hand while lying on the couch I'll be very happy...
My Speccy site: thirdharmoniser.com
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Morkin wrote: Tue Nov 30, 2021 4:04 pm Am also quite interested in the best way of accomplishing this.

If I can get to the stage where I'm able to play Speccy games with controller in hand while lying on the couch I'll be very happy...
Retroarch https://www.libretro.com/index.php/retr ... 3-release/ with Fuse should be the best way now. But you may only select one joystick for Retroarch-Menus and playing...

...Alternate: Retropie: How to Play ZX Spectrum Games in Retropie: https://youtu.be/_XfI3J1KogU?t=454 ...

...for more things, upcoming versions of ZXplorer viewtopic.php?p=52281#p52281 maybe a good candidate, if ZXplorers author likes.
Last edited by Luzie on Tue Nov 30, 2021 5:30 pm, edited 5 times in total.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

btw.

ZEsarUX´s Joystick can be programmed by commandline, e.g.:

Code: Select all

zesarux.exe --noconfigfile --joystickkeybt 0 113
to map Joystick Button 0 to send an "q" (113 = ASCII-Code for "q").

More form ZEsarUX --experthelp:

Code: Select all

Joystick
--------
...
--joystickevent but evt    Set a joystick button or axis to an event (changes joystick to event table)
                           If it's a button (not axis), must be specified with its number, without sign, for example: 2
                           If it's axis, must be specified with its number and sign, for example: +2 or -2
                           Event must be one of: Up Down Left Right Fire EscMenu Enter MenuTab Smartload Quicksave Osdkeyboard Osdtextkb NumSelect NumAction JoySelect Aux1 Aux2 Aux3 Aux4 Rewind FForward 
--joystickkeybt but key    Define a key pressed when a joystick button pressed (changes joystick to key table)
                           If it's a button (not axis), must be specified with its number, without sign, for example: 2
                           If it's axis, must be specified with its number and sign, for example: +2 or -2
                           Key must be an ascii character number or a character included in escaped quotes, like: 13 (for enter) or \'q\'
                           (the escaped quotes are used only in command line; on configuration file, they are normal quotes '')
                           Note: to simulate Caps shift, use key value 128, and to simulate Symbol shift, use key value 129
btw2.

ZEsarUX (Full Release Version with compiled SSL-Support, e.g. v10.0: https://github.com/chernandezba/zesarux ... s/tag/10.0) feature an Speccy Online Browser (Online File Search, Load and Run) as can be seen on:
https://www.youtube.com/watch?v=orWvStxAVAk&t=165s

Fastest way to start "Speccy Online Browser" is to use the "ZX Desktop" of ZEsarUX and the "Network Icon":

Image
Last edited by Luzie on Tue Nov 30, 2021 6:58 pm, edited 2 times in total.
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Controller profiles

Post by Magnus »

I don't actually know if my emulator works with an xbox controller as I have only tested it with a USB connected PS4 controller. However, there is some possibility to map the joystick buttons and save this in a settings file (*.ssp) with the same name and in the same folder as a tape or snapshot file. These settings will then be applied when loading the game. If you want to give it a try I am interested to know if the xbox controller works, and I will do what I can to help.
Image
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
Pobulous
Dynamite Dan
Posts: 1366
Joined: Wed Nov 15, 2017 12:51 pm

Re: Controller profiles

Post by Pobulous »

Magnus wrote: Tue Nov 30, 2021 6:54 pm I don't actually know if my emulator works with an xbox controller as I have only tested it with a USB connected PS4 controller. However, there is some possibility to map the joystick buttons and save this in a settings file (*.ssp) with the same name and in the same folder as a tape or snapshot file. These settings will then be applied when loading the game. If you want to give it a try I am interested to know if the xbox controller works, and I will do what I can to help.
Image
It works fine with an XBOX one controller.
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Controller profiles

Post by Mpk »

I've found Retroarch to be a massive pain in the arse, generally speaking. I won't have it in the house!

Based on a very short test, Joy2Key is working fine.
Magnus wrote: Tue Nov 30, 2021 6:54 pm I don't actually know if my emulator works with an xbox controller
Sort of? The buttons map, but not the d-pad.
So I can map the buttons, and either
a) Select keyboard controls in game and not be able to move or
b) Select Kempston and walk about, but the buttons don't work
I'm testing with Solomon's Key specifically, which I guess disables keyboard if you're playing with the joystick. I suspect that isn't unusual.
If I could map the d-pad inputs as well, it'd be just what I'm after.

As an aside, the button labels were a fun puzzle to solve, but perhaps only once. Maybe a label selector for PS /XBOX would be good. I don't think any pad numbers their buttons 0 thru 7. These are the mappings for xbox :
0 = A
1 = B
2 = X
3 = Y
4 = LB
5 = RB
6 = Select
7 = Start
Luzie wrote: Tue Nov 30, 2021 5:13 pm ZEsarUX´s Joystick can be programmed by commandline, e.g.:
CODE: SELECT ALL

zesarux.exe --noconfigfile --joystickkeybt 0 113
How odd. I appear to have broken out in hives.
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Controller profiles

Post by Magnus »

Mpk wrote: Tue Nov 30, 2021 9:41 pm Sort of? The buttons map, but not the d-pad.
So I can map the buttons, and either
a) Select keyboard controls in game and not be able to move or
b) Select Kempston and walk about, but the buttons don't work
I'm testing with Solomon's Key specifically, which I guess disables keyboard if you're playing with the joystick. I suspect that isn't unusual.
If I could map the d-pad inputs as well, it'd be just what I'm after.
Thank you for testing this. I'll try to find some information about the d-pad and see if I can get it to work.
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
Pobulous
Dynamite Dan
Posts: 1366
Joined: Wed Nov 15, 2017 12:51 pm

Re: Controller profiles

Post by Pobulous »

The D-Pad worked fine for me, but an option to use the analog stick, and to map the directions to keyboard keys would be useful for games that don't support Kempston.
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Controller profiles

Post by Magnus »

Pobulous wrote: Wed Dec 01, 2021 9:24 am The D-Pad worked fine for me, but an option to use the analog stick, and to map the directions to keyboard keys would be useful for games that don't support Kempston.
Thanks, good suggestions! I'll see what I can do.
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Controller profiles

Post by Mpk »

Magnus wrote: Wed Dec 01, 2021 4:20 am
Thank you for testing this. I'll try to find some information about the d-pad and see if I can get it to work.
The d-pad works as Kempston, I just would Iike to be able to map it to send q,a,o,p instead. Playstation will be the same.

Overall the emulator seems nice, I'll switch over from Fuse and see how we get along.
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Controller profiles

Post by Magnus »

Mpk wrote: Wed Dec 01, 2021 10:12 am The d-pad works as Kempston, I just would Iike to be able to map it to send q,a,o,p instead. Playstation will be the same.
That should be easy to fix, I just never thought of it. I'll have a look at it over the weekend.
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Mpk wrote: Tue Nov 30, 2021 9:41 pm
Luzie wrote: Tue Nov 30, 2021 5:13 pm ZEsarUX´s Joystick can be programmed by commandline, e.g.:

zesarux.exe --noconfigfile --joystickkeybt 0 113
How odd. I appear to have broken out in hives.
OK. You asked for something with a GUI. There are many people who dislike the ZESARUX GUI at first glance. But it´s a highly and easily configurable Emulator. Configurabe via it´s build in menus via mouse/keyboard, via commandline-options (CLI), via one master config-file, via one special config-file (with self-selectable custom name) or with a custom config-file which it tries to open on starting a tape or snapshot-file.

If you load e.g. "SOLOMON.TAP", than ZEsarUX search for "SOLOMON.TAP.config" File and use the setting from this Custom Config File.
(Help for this can be displayed from the commandline with: "zesarux.exe --helpcustomconfig".

Here´s my example solomon.tap.config:

Code: Select all

;ZEsarUX configuration file
;
;Lines beginning with ; or # are ignored
;You can specify here the same options passed on command line, for example:
;--verbose 2
;Options can be written in quotation marks, for example:
;--joystickemulated "OPQA Space"
;Options can be written on the same line or different lines, like:
;--verbose 2 --machine 128k
;Or:
;--verbose 2
;--machine 128k
;Or even like this:
;--verbose
;2
;--machine
;128k

;Run zesarux with --help or --experthelp to see all the options

--machine 48k 
--realvideo 
;--joystickemulated "Sinclair 1" 
--joystickemulated "Kempston" 
;--joystickfirekey 0 
;--realjoystickpath /dev/input/js0 
;--realjoystick-calibrate 16383 
--joystickevent -1 Up 
--joystickevent +1 Down 
--joystickevent -0 Left 
--joystickevent +0 Right 
--joystickevent 0 Fire 
;--quickexit 
Alternative is to save the running state into ZEsarUX own .ZSF-Snashot-Format. This save all these settings in the snapshot and restore it on reload into the emulator.

You see, I like this ZEsarUX. But you may prefer other Emulators. I just try to make some advertising, as I think it really deserves it und should not be judged on "only some seconds first look at it".
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Controller profiles

Post by Mpk »

Luzie wrote: Wed Dec 01, 2021 8:11 pm You see, I like this ZEsarUX. But you may prefer other Emulators. I just try to make some advertising, as I think it really deserves it and should not be judged on "only some seconds first look at it".
Sorry, I didn't mean to dismiss ZEsarUX, or indeed your very helpful post. I'm just not a config-file kind of guy, nor am I a 'remember the ASCII code' kind of guy.
Luzie wrote: If you load e.g. "SOLOMON.TAP", than ZEsarUX search for "SOLOMON.TAP.config" File and use the setting from this Custom Config File.
Sounds like it will automagically load a config when the user loads a particular .TAP, is that correct? That's essentially what I was looking for initially. If so, I will try it out this weekend.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Mpk wrote: Thu Dec 02, 2021 10:13 am
Luzie wrote: If you load e.g. "SOLOMON.TAP", than ZEsarUX search for "SOLOMON.TAP.config" File and use the setting from this Custom Config File.
Sounds like it will automagically load a config when the user loads a particular .TAP, is that correct? That's essentially what I was looking for initially. If so, I will try it out this weekend.
Yes. I only discovered this ability now after I had contact with the ZEsarUX-author about it. Worth trying.
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Controller profiles

Post by Mpk »

Luzie wrote: Thu Dec 02, 2021 1:10 pm contact with the ZEsarUX-author about it.
So how does he pronounce it?
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Mpk wrote: Thu Dec 02, 2021 3:43 pm
Luzie wrote: Thu Dec 02, 2021 1:10 pm contact with the ZEsarUX-author about it.
So how does he pronounce it?
From File: https://github.com/chernandezba/zesarux ... er/src/FAQ
Q: How is pronounced ZEsarUX?
A: Phonetically: ZEsarUX is pronounced: θe.sa.ɾ'uks
One by one, every letter:
Z like th on think
E like e on let
S like s on sing
A like a on cat
R like r on round
U like u on put
X like x on GNU/Linux
And saying the accent on the final syllable
You can also play zesarux.mp3 to hear how it sounds
:D
= https://github.com/chernandezba/zesarux ... esarux.mp3 which actually is a .aac-File?! (can be played in VLCplayer).
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Controller profiles

Post by Magnus »

Mpk wrote: Wed Dec 01, 2021 10:12 am The d-pad works as Kempston, I just would Iike to be able to map it to send q,a,o,p instead. Playstation will be the same.
Here is a test version of my emulator with the possibility to choose from Kempston, QAOP, WASD and 5678 d-pad.

https://softspectrum48.weebly.com/uploa ... d_test.zip
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Controller profiles

Post by Luzie »

Magnus wrote: Sat Dec 04, 2021 2:28 pm
Mpk wrote: Wed Dec 01, 2021 10:12 am The d-pad works as Kempston, I just would Iike to be able to map it to send q,a,o,p instead. Playstation will be the same.
Here is a test version of my emulator with the possibility to choose from Kempston, QAOP, WASD and 5678 d-pad.

https://softspectrum48.weebly.com/uploa ... d_test.zip
Thank you!

I´ve tried with this Dual Joystick Adapter:
https://web.archive.org/web/20200920081 ... o-bit.html or:
https://www.skooterblog.com/en/2013/05/ ... -joystick/
Result: Only Kempston Button working on Joystick No. 2. No Kempston-Directions working. Even when I select "Physical joystick d-pad" to QAOP instead of Kemspton. Is there a way to select a joystick if multiple USB-Joysticks are connected to the PC?

ps. I used "KeyJoyTest-v.003.025.z80" for testing (Info/Download: https://worldofspectrum.org/forums/disc ... ent_960028
Post Reply